[英]GIS spatial functions in PHP?
我需要將數據點從一個地理投影(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);
?>
如果你想這樣,你將需要從Mapserver源代碼文件夾(mapserver-XXX / mapscript / php3)編譯php_proj.c並在PHP中加載擴展。 正如我之前所說,網上沒有文檔,如果您發現任何問題,請告訴我。
希望這可以幫助。
您可以使用我從proj4js翻譯的api proj4php,可以在這里找到: https ://sourceforge.net/projects/proj4php/
它從WGS84到Lambert93都很有效,但需要一些修復才能與其他預測一起使用。 我可以搭把手。
再見。
你可以運行ArcGIS Server嗎? ESRI有一項名為Geometry服務的新服務,可讓您通過各種服務接口進行幾何操作/轉換/等。
您可以在http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer上找到可以測試的示例版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.