วิธีเรียกดูค่าพิกัดโดยใช้ฟังก์ชัน ST_X และ ST_Y ใน PostGIS
วันนี้ได้มีโอกาสเขียนบทความการใช้งานของ 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;