PHP CBS mekansal fonksiyonlar?

4 Cevap php

Ben başka bir coğrafi projeksiyon (Lat Long, Mercator, UTM) veri noktaları dönüştürmek gerekiyor ve bunu yapabilirsiniz PHP araçları veya fonksiyonları bir dizi var acaba? Kendimi buldum formüllere dayalı birini yazmaya çalıştım, ama yeterince doğru değildi ve ben her yerde iyi formülleri bulamazsanız, bir yere kadar bazı paketlenmiş fonksiyonlar olabilir merak ediyordum. Bu başarısız, ne PROJ.4 gibi bir şey hakkında? Teşekkürler!

4 Cevap

MapServer / MapScript dağıtımda mevcut Proj4 bir PHP modülü var. Ben DM Solutions tarafından mantanied olduğunu düşünüyorum, ama online herhangi bir belge bulamadı. Mevcut fonksiyonlarını kontrol etmek, ben kaynak koduna bakmak zorunda kaldı.

Her neyse, bu projeksiyonlar arasındaki koordinatları Dönüşümü nasıl olduğunu:

<?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);

?>

Bu şekilde gitmek isterseniz, Mapserver source kod klasörüne (mapserver-XXX/mapscript/php3) dan php_proj.c derlemek ve PHP uzantısı yüklemek zorunda olacak. Daha önce söylediğim gibi, hiçbir belgeler çevrimiçi durumdadır, bu nedenle herhangi bir sorun bulursanız bana bildirin.

Umarım bu yardımcı olur.

Ben proj4js çevrilmiş ve burada mevcut olan API proj4php kullanabilirsiniz: https://sourceforge.net/projects/proj4php/

Bu WGS84 gelen Lambert93 için harika çalışıyor, ama diğerleri projeksiyonlar ile çalışmak için bazı düzeltme gerekir. Ben yardımcı olabilir.

Hoşçakal.

Eğer ArcGIS Server çalıştırabilir miyim? ESRI Servis arayüzleri çeşitli aracılığıyla manipülasyon / dönüşüm / etc geometri yapmak sağlayan bir hizmet Geometri adlı yeni bir hizmeti vardır.

Sen ile test edebilirsiniz http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer bir örnek sürümünü bulabilirsiniz.

Ben aynı zamanda Yukarıdaki komut kullanarak projeyi dönüştürmek istiyorum. Ancak, ben pj_init ($ projDefDest) nasıl uygulanacağı sorun var; Bu konuda biraz açıklama sağlamaktır sakıncası.