我需要将数据点从一个地理投影(Lat Long,Mercator,UTM)转换为另一个,我想知道是否有一组PHP工具或函数可以做到这一点?我尝试根据我发现的公式自己编写一个,但它不够准确,我无法在任何地方找到更好的公式,所以我想知道某处是否有某些预先打包的功能.如果不这样,那么像PROJ.4这样的东西呢?谢谢!
MapServer/MapScript发行版中有一个Proj4的PHP模块.我认为它是由DM Solutions提供的,但我在网上找不到任何文档.要检查可用的功能,我必须查看源代码.
无论如何,这是你如何转换投影之间的坐标:
<?php
//UTM zone 31N
$projDefSrc = array("proj=utm","zone=31","ellps=intl","units=m","no_defs");
$pjSrc = pj_init($projDefSrc);
//WGS84
$projDefDest = array("proj=longlat","ellps=WGS84","datum=WGS84","no_defs");
$pjDest = pj_init($projDefDest);
$x = 446423;
$y = 4610005;
$test = pj_transform($pjSrc,$pjDest,$x,$y);
//Outputs: Array ( [u] => 2.3567240656 [v] => 41.6384346565 )
print_r($test);
?>
Run Code Online (Sandbox Code Playgroud)
如果你想这样,你将需要从Mapserver源代码文件夹(mapserver-XXX/mapscript/php3)编译php_proj.c 并在PHP中加载扩展.正如我之前所说,网上没有文档,如果您发现任何问题,请告诉我.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
6009 次 |
| 最近记录: |