รับพิกัดจากเรขาคณิตใน PostGIS หรือไม่


60

สายนี้:

SELECT geom FROM myLayer.geom

จะคืนค่าฐานสิบหก

ฉันจะรับค่าทศนิยมได้อย่างไรซึ่งเป็นการประสานงานที่มนุษย์อ่านได้

คำตอบ:


52

นอกเหนือจาก ST_AsText (ซึ่งส่งกลับรูปทรงเรขาคณิตเป็น WKT / ข้อความที่รู้จักกันดี) ยังมีรูปแบบเอาต์พุตเพิ่มเติมหลายรูปแบบเช่น ST_AsGeoJSON ()

ลองดูที่http://postgis.net/docs/manual-2.0/reference.html#Geometry_Outputsแล้วเลือกสิ่งที่เหมาะกับความต้องการของคุณที่สุด


71

ใช้ST_AsTextเพื่อดูวัตถุจุด:

SELECT ST_AsText(the_geom) 
       FROM myTable;

ในการดูวัตถุX , Yและ geom:

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

3
ฉันเชื่อว่า ST_X & ST_Y จะใช้งานได้กับคะแนนเท่านั้น พวกเขาไม่ทำงานกับรูปหลายเหลี่ยมหรือเส้น
Devdatta Tengshe

คุณพูดถูก Devdatta มันใช้งานได้เฉพาะกับคะแนน ST_X - คืนค่าพิกัด X ของจุดหรือค่า NULL ถ้าไม่มี อินพุตต้องเป็นจุด ฉันได้ปรับปรุงคำตอบของฉัน
Aragon

7
สำหรับรูปหลายเหลี่ยม / เส้นใช้st_x(st_centroid(the_geom))
Steve Bennett

11

พร้อมโต๊ะใน 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 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.