[Php-it] PHP e OGC

ubik ubik at ubiks.it
Wed Feb 7 11:45:17 CET 2007


> Qualcuno conosce una libreria (free) PHP che consenta il parsing di 
> dati OGC?
>
> Fondamentalmente, quello che mi serve e' una funzione che, ad esempio, 
> data una stringa WKT, ne estragga tutte le informazioni (tipo di 
> oggetto, coordinate dei punti, numero dei punti, ecc.).

Nell'attesa di qualche prezioso suggerimento da qualche iscritto alla 
lista, mi son fatto due funzioncine che, per ora, sono sufficienti per i 
miei scopi.
Le posto nel caso possano tornare utili a qualcun altro:

<?php
function wkt_linestring_toarray($wktstring) {
   $wktstring = str_replace('LINESTRING(','',$wktstring);
   $wktstring = str_replace(')','',$wktstring);
   $points = explode(',',trim($wktstring));
   $array = array();
   foreach($points as $point) {
      $pointarr = explode(' ',trim($point)); 
      $array[] = array('lat'=>$pointarr[0],'lon'=>$pointarr[1]);
   }
   return ($array);
}

function wkt_point_toarray($wktstring) {
   $wktstring = str_replace('POINT(','',$wktstring);
   $wktstring = str_replace(')','',$wktstring);
   $array = explode(',',trim($wktstring));
   return (array('lat'=>$array[0],'lon'=>$array[1]));
}

//
// mini-esempio
//
$wktpoint       = 'POINT(1,2)';
$wktlinestring  = 'LINESTRING(0 0, 10 10, 20 25, 50 60)';

echo '<pre>';
echo '<hr>'.$wktpoint.'<br>';
print_r(wkt_point_toarray($wktpoint));
echo '<hr>'.$wktlinestring.'<br>';
print_r(wkt_linestring_toarray($wktlinestring));
echo '</pre>';

?>




Ciao
    ubik


More information about the Php-it mailing list