2013-09-07 3 views
1

간단한 웹 서비스 API를 사용하여 Google지도에서 정적지도 타일 세트를 검색하려고합니다.일반지도 타일 중심 좌표

줌 레벨이 0 인 경우 하나의 타일 만있는 경우 간단히 중심을 (0,0)으로 지정하면 간단합니다. (그리고 그래, 나는 남북의 범위는 [-85.05113 °, 85.05113 °] 것을, 알고, 즉 I)은 약 Mercator projection (뿐만 아니라 위키 피 디아 기사를 읽었습니다. 그래서

을 줌 레벨 1 with 2 × 2 타일 나는 타일의 중심 좌표가 (& 90, & 45)라고 생각하는 것이 순진 할 것이라는 것을 알고있다. 위의 기사의 "Derivation of the Mercator projection"섹션에 나열된 함수 중 하나를 적용했다 .PHP에서는 이것은 실제로, 45를 전달 나는 같은 결과 모든 :-) 대체 표현의 여러 시도 할 때 항상 50.498987을 반환

function mercor($aLat) { 
    return rad2deg(asinh(tan(deg2rad($aLat)))); 
} 

처럼 보이고, 심지어 전용 계산기로 그 값을 확인했습니다. 당신이 여기에서 볼 수 있듯이 어쨌든

, 값은 분명히 정확하지 않은 ( image source)을 ( 지구지도의 북쪽 서쪽 사분면을 표시했는데, 그러나 여기 적도 가 북쪽으로를 이동하는) : 시행 착오

enter image description here

나는 66.65에 근접 할 수있는 올바른 값을 찾았지만, 내가 어떻게을 계산하는 방법 아무 생각이 없습니다. 필자는 요소의 여러 조작을 "Mercator 투영법 유도"섹션에서 설명한 식에 표시하고 동일한 문서에 설명 된 "배율 인수"로 둘러 보았습니다. 그러나 무엇을하더라도 필자는 가까이 가지 않습니다. 66.65. 여기

는 66.65가 (가까운) 정확한 값, 하단 가장자리 적도 (image source)임을 알 수있다 : 예 (image source) 용

enter image description here

와 같은 그림을 고려 :

하고 66.65을해야한다는 kruler 같은 도구, 또한 분명해진다.

그래서 어떤 아이디어라도 크게 기뻐할 것입니다. 미리 감사드립니다 ...

(현재는 HTML 문서를 사용하고 있습니다. 비교적 간단하기 때문에 나중에 자바 스크립트를 호출 할 수있는 환경에서 처리하고 싶습니다. JavaScript API는 옵션이 아닙니다.)

답변

0

Google지도, OSM 및 이와 유사한지도에서 널리 사용되는 타일링 시스템을 설명하는 웹 사이트를 준비했습니다. (측지도) 당신이 (미터) 메카 토르 좌표를 모두 계산 경계를받는지도에 클릭으로

http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

뿐만 아니라 WGS84 위도/경도 : (A)에서 보라.

아래로 내려 가면 오픈 소스 파이썬 코드 (다른 사람이 다른 프로그래밍 언어로 포팅 한 코드)가 있습니다. 여기에는 필요한 모든 수학에 대한 문서화 된 설명이 들어 있습니다.

실제로 GDAL2Tiles/MapTiler 프로젝트에서 Google SoC로 작업 한 후에이 자원을 만들었습니다.이 프로젝트는 C/C++로 다시 구현되어 크게 개선되었으며 현재 http://www.maptiler.com/을 통해 사용할 수 있습니다. 당신은 내가 준비 유용한 또 다른 온라인 도구를 찾을 수 있습니다 Google지도 정적 API 요청을 사용하려면 : http://www.maptiler.org/photoshop-google-maps-overlay-tiles/

UPDATE

. 자바 스크립트 소스 코드를 검토하십시오.

관련 문제