get("mb_user_gui"); $con = db_connect($DBSERVER,$OWNER,$PW); db_select_db(DB,$con); foreach($json as $feat) { if(preg_match('/point/i', $feat->geometry->type)) { $sql = "SELECT st_asgeojson(st_transform(st_setsrid(st_geomfromtext($1), 4326), $2::INT)) as geom"; $v = array('POINT(' . $feat->geometry->coordinates[0] . ' ' . $feat->geometry->coordinates[1] . ')', $epsg); $t = array('s', 'i'); $res = db_prep_query($sql,$v,$t); db_fetch_row($res); $geom = json_decode(db_result($res, 0, 'geom')); $feat->geometry = $geom; } if(preg_match('/linestring/i', $feat->geometry->type)) { $sql = "SELECT st_asgeojson(st_transform(st_setsrid(st_geomfromtext($1), 4326), $2::INT)) as geom"; $geom = 'LINESTRING('; $coords = array(); foreach($feat->geometry->coordinates as $coord) { $coords[] = $coord[0] . ' ' . $coord[1]; } $geom = $geom . implode(',', $coords) . ')'; $v = array($geom, $epsg); $t = array('s', 'i'); $res = db_prep_query($sql,$v,$t); db_fetch_row($res); $geom = json_decode(db_result($res, 0, 'geom')); $feat->geometry = $geom; } if(preg_match('/polygon/i', $feat->geometry->type)) { $sql = "SELECT st_asgeojson(st_transform(st_setsrid(st_geomfromtext($1), 4326), $2::INT)) as geom"; $geom = 'POLYGON(('; $coords = array(); foreach($feat->geometry->coordinates[0] as $coord) { $coords[] = $coord[0] . ' ' . $coord[1]; } $geom = $geom . implode(',', $coords) . '))'; $v = array($geom, $epsg); $t = array('s', 'i'); $res = db_prep_query($sql,$v,$t); db_fetch_row($res); $geom = json_decode(db_result($res, 0, 'geom')); $feat->geometry = $geom; } } $json = json_encode($json); echo($json); } catch (Exception $e) { echo($e); die; } ?>