[GIS] Query Postgis Table with PHP

coordinatesopenlayers-2PHPpostgis

Would you be so kind as to help me with the following in OpenLayers. I need to be able to use the coordinates from a user click in a postgis query. To catch the coordinates of a click I built a click handler to use the function map.getLonLatFromViewPort(ext.xy), which delivers me the coordinates of my click in the following format: lon = 568417.33622114, lat = 681985.1902844. These are sent to a php-script using a GET request.

I then want to query my postgis db using ST_GeometryFromText, which requires that I put my coordinates in the following syntax ((568417.33622114 681985.1902844)).

Any help on how to get my coordinates in the correct format would be appreciated!

Best Answer

if you dont want to write your php bridge with postgis, you can use PostGIS to GeoJSON file from postgis_geojson.php github from Bryan McBride.

/**

* PostGIS to GeoJSON

* Query a PostGIS table or view and return the results in GeoJSON format, suitable for
  use in OpenLayers, Leaflet, etc.

*

* @param string $geotable The PostGIS layer name *REQUIRED*

* @param string $geomfield The PostGIS geometry field *REQUIRED*

* @param string $srid The SRID of the returned GeoJSON *OPTIONAL (If omitted, 
         EPSG: 4326 will be used)*

* @param string $fields Fields to be returned *OPTIONAL (If omitted, all fields will 
         be returned)* NOTE- Uppercase field names should be wrapped in double quotes

* @param string $parameters SQL WHERE clause parameters *OPTIONAL*

* @param string $orderby SQL ORDER BY constraint *OPTIONAL*

* @param string $sort SQL ORDER BY sort order (ASC or DESC) *OPTIONAL*

* @param string $limit Limit number of results returned *OPTIONAL*

* @param string $offset Offset used in conjunction with limit *OPTIONAL*

* @return string resulting geojson string

*/

i hope it helps you...