Php 将lat/lon转换为像素位置
我有一张地图(墨卡托)和地图四个角的坐标。我需要想出一些办法,这样我就可以把给定的坐标转换成地图上的对应点。我不能使用谷歌或任何类似的东西,这就是为什么我首先需要做这件事的原因 我可以使用的语言不是PHP就是Javascript。我试过在其他帖子中发现的一些东西,比如这篇: ,但我跟他们没什么关系 如果有人能提供一些帮助,我将不胜感激。我的数学很糟糕,看看这些方程式,我开始觉得这不符合我的能力,但我必须完成它 再次感谢你Php 将lat/lon转换为像素位置,php,javascript,map,mapping,proj4js,Php,Javascript,Map,Mapping,Proj4js,我有一张地图(墨卡托)和地图四个角的坐标。我需要想出一些办法,这样我就可以把给定的坐标转换成地图上的对应点。我不能使用谷歌或任何类似的东西,这就是为什么我首先需要做这件事的原因 我可以使用的语言不是PHP就是Javascript。我试过在其他帖子中发现的一些东西,比如这篇: ,但我跟他们没什么关系 如果有人能提供一些帮助,我将不胜感激。我的数学很糟糕,看看这些方程式,我开始觉得这不符合我的能力,但我必须完成它 再次感谢你 函数转换坐标($lat,$lon) function convert
函数转换坐标($lat,$lon)
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;
}
{
$width=1281;
$height=1529;
//X和Y边界
$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.“
”;
echo$y;
}
这就是我一直在努力的工作。我想这是我在这里做的事情的一个变种,但它没有得到我需要的结果。我真的和这件事碰了一鼻子灰。在地球上,我不可能一个人算出数学,我一直在努力,这是我力所不及的 听起来您使用的是JavaScript,在这种情况下,proj4js开源库值得一看
此外,假设位图与坐标系正交,则可以使用墨卡托公式(查看Wikipedia或任何半体面的地图反对书)应用简单的线性变换来获得所需的变换。然后求解四个角。对于线性变换,您会发现一些变量只是复制了墨卡托投影中的参数(即比例因子)没有运气意味着您尝试了一些东西。让我们看看你做了什么。你需要重温你的数学。这种情况肯定会变得更加复杂。