Koordinaten aus Geometrie in PostGIS holen?


Antworten:



71

Verwenden Sie ST_AsText , um das Punktobjekt anzuzeigen:

SELECT ST_AsText(the_geom) 
       FROM myTable;

So zeigen Sie X , Y und das Geom-Objekt an:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;

3
Ich glaube, dass ST_X & ST_Y nur mit Punkten funktionieren wird. Sie funktionieren nicht mit Polygonen oder Linien.
Devdatta Tengshe

Sie haben Recht Devdatta. es funktioniert nur für punkte. ST_X - Gibt die X-Koordinate des Punkts zurück oder NULL, falls nicht verfügbar. Die Eingabe muss ein Punkt sein. Ich habe meine Antwort aktualisiert.
Aragonien

7
Verwenden Sie für Polygone / Linienst_x(st_centroid(the_geom))
Steve Bennett

11

Mit einer Tabelle in UTM

SELECT 
ST_X(table.geometry) AS X1, --point x
ST_Y(table.geometry) AS Y1, --point y
ST_X(ST_TRANSFORM(table.geometry,4674)) AS LONG, -- longitude point x SIRGAS 2000
ST_Y(ST_TRANSFORM(table.geometry,4674)) AS LAT, --latitude point y SIRGAS 2000
ST_ASTEXT(table.geometry) AS XY, --wkt point xy
ST_ASTEXT(ST_TRANSFORM(table.geometry,4674)) AS LongLat --using st_transform to get wkt with longitude and latitude (4674 is the SIRGAS 2000 SRC by south america)
FROM
table 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.