3

我有一张地图(墨卡托),以及地图 4 个角的坐标。我需要想出一些东西,这样我就可以将给定的坐标转换为地图上的相应点。我不能使用谷歌或任何类似的东西,这就是为什么我首先需要这样做。

我可以使用的语言要么是 PHP,要么是 Javascript。我已经尝试了一些我在其他帖子中发现的东西,比如这个: 墨卡托经度和纬度计算到(英国)裁剪地图上的 x 和 y,但我对它们没有任何运气。

如果有人可以提供一些帮助,我将不胜感激。我的数学很糟糕,看着其中的一些方程式,我开始觉得这超出了我的水平,但我必须完成它。

再次,提前感谢。

4

2 回答 2

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;

}

这就是我一直在努力的工作。我认为这是我在这里完成的一些事情的变体,但它并没有让我得到我需要的结果。我真的很糟糕地碰到了一堵砖墙。世界上没有办法我要自己计算这里的数学,我一直在尝试,这超出了我的范围。

于 2010-08-12T13:10:08.840 回答
0

听起来您正在使用 JavaScript,在这种情况下,proj4js 开源库值得一看。

此外,假设您的位图与坐标系正交,那么您可以使用墨卡托论坛(查看 Wikipedia 或任何半像样的地图异议书)应用简单的线性变换来获得所需的变换。然后求解四个角。对于线性变换,您会发现一些变量只是在墨卡托投影中重复参数(即比例因子)

于 2010-12-24T22:29:54.707 回答