วิธีเรียกดูค่าพิกัดโดยใช้ฟังก์ชัน ST_X และ ST_Y ใน PostGIS

Chingchai Hoomhong
MAPEDIA BLOG
Published in
Nov 14, 2020
PgAdmin4 GUI

วันนี้ได้มีโอกาสเขียนบทความการใช้งานของ PostGIS บ้างครับ โดยเริ่มจากเอาแบบง่ายๆ ก่อน อีกอย่างผมเอาไว้ดูเองด้วยครับฮ่าๆ ถึงเป็นการบันทึกความทรงจำอย่างนึงและสามารถเผยแพร่ให้คนอื่นๆ ด้วยครับ
โดยในบทความนี้ผมยกตัวอย่างการแสดงค่าพิกัดจากข้อมูลจุดโรงพยาบาล ซึ่งทุกคนน่าจะพอทราบวิธีการนำเข้าข้อมูล Shapefile ใส่ใน PostGIS แล้วสามารถอ่านได้ที่นี่ การแสดงค่าพิกัดนั้นจะใช้ฟังก์ชัน ST_X และ ST_Y ใน PostGIS ครับ และผมเสริมอีกสักหน่อยถ้าต้องการแปลงค่าพิกัดนั้นจะต้องทำอย่างไรบ้าง มาดูกันเลยครับ

แสดงค่าพิกัดของข้อมูลโรงพยาบาลในตาราง PosGIS (ชื่อตาราง hotpital)

SELECT name, ST_Y(geom) , ST_X(geom) FROM hospital;

อีกแบบถ้าต้องการเปลี่ยนชื่อคอลัมน์ st_y และ st_x เป็น lat กับ lon ดังนี้

SELECT name, ST_Y(geom) AS lat , ST_X(geom) AS lon FROM hospital;

การแปลงค่าพิกัดจากพิกัดภูมิศาสตร์ (EPSG:4326)เป็น พิกัดกริด UTM (EPSG:32647)

SELECT 
name,
ST_X(ST_Transform (geom, 32647)) AS utm_e,
ST_Y(ST_Transform (geom, 32647)) AS utm_n
FROM hospital;

แสดงทั้ง 2 พิกัด โดยเพิ่มคอลัมน์ lat และ lon

SELECT 
name,
ST_Y(geom) AS lat ,
ST_X(geom) AS lon,
ST_X(ST_Transform (geom, 32647)) AS utm_e,
ST_Y(ST_Transform (geom, 32647)) AS utm_n
FROM hospital;

--

--