直接上代码
1、db_config.php
<?php /* * All database connection variables */ $host = "host=127.0.0.1"; $port = "port=5432"; $dbname = "dbname=soil"; $credentials = "user=postgres password=123456"; ?>
2、getGeojson.php
<?php header("Access-Control-Allow-Origin: *"); require_once __DIR__ . '/db_config.php'; $dbconn = pg_connect("$host $port $dbname $credentials") or die('connection failed'); $result = pg_query($dbconn, "select id,name, ST_AsGeoJSON(geom) from nj_polygon"); if (!$result) { echo "An error occurred. "; exit; } # Build GeoJSON $output = ''; $rowOutput = ''; // check for empty result if (pg_num_rows($result) > 0) { // looping through all results while ($row = pg_fetch_row($result)) { $rowOutput = (strlen($rowOutput) > 0 ? ',' : '') . '{"type": "Feature", "geometry": ' . $row[2] . ', "properties": {"id":"' .$row[0] .'","name":"' . $row[1] .'"}'; $rowOutput .= '}'; $output .= $rowOutput; } #echo json_encode($geojson, JSON_NUMERIC_CHECK); $output = '{ "type": "FeatureCollection", "features": [ ' . $output . ' ]}'; echo $output; } else { echo "no data"; } pg_close($dbconn); ?>
访问链接即可返回geojson数据