2

我正在尝试使用网络墨卡托投影将 WGS 84 坐标转换为像素。我想在给定的地图上打印位置。如果地图是整个世界的图像,我遇到了一个 PHP 函数,它可以正常工作。我一直在努力扩展此功能,因此如果地图只是一个剪辑(例如北美),它也可以工作。我已经找到了计算宽度的解决方案,但我未能调整高度计算。我该如何更改功能?

$top是地图图像的左上角[Array]$bottom右下角/$this->width是地图宽度,$this->height是地图高度)

function cor($lat = null, $lon = null, $top, $bottom) {
    // Width
    $width = ($lon-$bottom[1]) * $this->width/($top[1]-$bottom[1]);
    // Height
    $latrad = ($lat * M_PI) / 180;
    $mercN = log(tan((M_PI / 4) + ($latrad / 2)));
    $height = (($this->height / 2) - ($this->width * $mercN / (2 * M_PI)));

    return Array($width, $height);
}

首先十分感谢!:)

4

0 回答 0