2011-10-03 6 views
3

플로팅 나는이 유사한 데이터 시각화를 만들려면 :자바 스크립트 캔버스 위도 LNG는

enter image description here

...하지만 전체 글로브. 캔버스 크기는 임의적이지만 브라우저로 크기를 조정할 필요는 없습니다 (포인트를 그리기 시작하기 전에 너비와 높이를 설정합니다). 위도와 경도 좌표를 캔버스의 점으로 변환하는 방법을 찾아야합니다. 아무도 그것을하는 방법을 알고 있습니까?

답변

2

우선 프로젝션을 선택해야합니다. 그런 다음 적절한 공식을 사용할 수 있습니다. 또는 예를 들어 proj4js과 같은 기존 솔루션을 사용할 수도 있습니다. 이것은 다양한 프로젝션 작업을위한 잘 알려진 proj 유틸리티의 JS 포트입니다.

전 세계의 시각화를 위해 Miller Projection을 사용하는 것이 좋습니다. 수식 here을 찾을 수 있습니다.

+0

투영을 필요로하지 않고 캔버스 뷰포트에 렌더링 된 구체의 위/아래 점을 렌더링 할 수 있습니다. – TreyA

+0

이해가 안됩니다. "프로젝션 필요 없음"이란 무엇을 의미합니까? 어쨌든 3d에서 극좌표에서 직교 좌표로 좌표를 변환하는 수식이 필요합니다. – bjornd

+1

구의 점을 렌더링 한 다음 해당 3D 구를 렌더링하면 투영 할 필요가 없습니다. 평평한 2 차원 표면에 위도/경도를 렌더링하는 경우 투영이 필요합니다. 예, 캔버스 그래픽 렌더링의 경우 위도/경도를 데카르트로 변환해야합니다 (ECEF의 측지 참조). http://www.webglearth.org/ – TreyA

관련 문제