1
我有一張Winkel Tripel地圖,需要將標記放在上面。我給定了緯度/經度標記的位置。所以我需要一種方法將它轉換爲X,Y。在Winkel Tripel投影上將經度/緯度轉換爲笛卡爾
我發現了一些代碼(下面),但是當我試用它時,45º對角線的曲線有一個適中的s曲線。所以顯然是不正確的。
任何幫助將是偉大的。我在PHP中這樣做,但我應該能夠轉換任何語言。
private function sinc($x){
if($x == 0) return 1;
return sin($x)/$x;
}
private function winkelTripelToCartesian($lat, $lng){
$lat = deg2rad($lat);
$lng = deg2rad($lng);
$alpha = acos(cos($lat) * cos($lng/2));
$x = ($lng * M_2_PI + (2 * cos($lat) * sin($lng/2))/$this->sinc($alpha))/2;
$y = ($lat + (sin($lat)/$this->sinc($alpha)))/2;
return array('x'=> strval($x), 'y' => strval($y));
}