【问题标题】:Convert lat / lon to pixel locations将纬度/经度转换为像素位置
【发布时间】:2011-03-28 17:36:42
【问题描述】:

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

我可以使用的语言要么是 PHP,要么是 Javascript。我已经尝试了一些我在其他帖子中发现的东西,比如这个: Mercator longitude and latitude calculations to x and y on a cropped map (of the UK),但我对他们没有任何运气。

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

再次感谢您。

【问题讨论】:

  • 没有运气意味着你尝试了一些东西。告诉我们你做了什么。你需要重新计算你的数学。这种情况肯定会变得更加复杂。

标签: php javascript map mapping proj4js


【解决方案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;

}

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多