2010-08-12 3 views
3

지도 (Mercator)와지도의 네 구석의 좌표가 있습니다. 주어진 좌표를지도의 해당 점으로 변환 할 수 있도록 무언가를 찾아야합니다. 나는 Google이나 어떤 종류의 것을 사용할 수 없다. 그래서 나는 이것을 처음부터 할 필요가있다.위도/경도를 픽셀 위치로 변환합니다.

내가 사용할 수있는 언어는 PHP 또는 Javascript가 될 것입니다. 나는이 게시물과 같은 다른 게시물에서 발견 한 것들을 시도했다 : Mercator longitude and latitude calculations to x and y on a cropped map (of the UK),하지만 나는 그들과 행운이 없었다.

누군가가 도움을 줄 수 있다면 정말 감사 할 것입니다. 나는 수학에 대해 끔찍하며이 방정식 중 일부를보고 내 리그에서 느껴지기 시작했다. 그러나 나는 그것을 끝내야한다.

다시 감사드립니다.

+0

u는 무언가를 시도한 것을 의미합니다. 우리가 한 일을 보여줘. 당신의 수학을 재촉해야합니다. 이런 상황이 반드시 더 복잡해질 것입니다. – stillstanding

답변

1
function convert_coords($lat, $lon) 
    { 
    $width = 1281; 
    $height = 1529; 
// X and Y boundaries 
$westLong = -75.196438; 
$eastLong = -74.674072; 
$northLat = 41.377581; 
$southLat = 40.909232; 

$lat = $lat; 
$lon = $lon; 

$x = $width * (($westLong-$lon)/($westLong-$eastLong)); 
$y = ($height * (($northLat-$lat)/($northLat-$southLat))); 

    echo $x."<br />"; 
    echo $y; 

} 

이것이 내가 일하려고 노력한 것입니다. 그것은 제가 여기에서 벗어난 어떤 것의 변종입니다, 그렇다고 생각합니다. 그러나 그것은 제가 필요한 결과를 얻지 못합니다. 나는 정말로이 하나와 함께 벽돌 벽에 심하게 빠져 나갔다. 그리고 지구상에 나는 내 자신의 수학을 이해할 방법이 없습니다. 나는 노력해 왔고 그것은 나의 리그에서 벗어났습니다.

0

JavaScript로 작업하는 것처럼 들리지만,이 경우에는 proj4js 오픈 소스 라이브러리를 살펴볼 필요가 있습니다.

또한 비트 맵이 좌표계와 직각이라고 가정하면 Mercator 포럼 (위키 피 디아 또는 반쯤 괜찮은지도 이의 표에서 볼 수 있음)을 사용하여 간단한 선형 변환을 적용하여 필요한 변환을 얻을 수 있습니다. 네 모서리를 풀어 라. 선형 변환의 경우, 일부 변수는 Mercator 투영법의 매개 변수를 복제하는 것입니다 (즉, 배율 인수)

관련 문제