•MAPEDIA•
MAPEDIA BLOG
Published in
1 min readAug 21, 2019

--

การหาจุดกึ่งกลาง (Centroid) ของข้อมูล Polygon ด้วย PostGIS

ถ้าเราต้องหาจุดกึ่งกลางจากชั้นข้อมูล polygon ในโปรแกรม QGIS นั้นสามารถหาได้ไม่ยาก โดยไปที่เมนู Vector > Geometry Tools > Polygon Centroids ก็จะได้ข้อมูลจุดออกมา แต่ถ้าเราจะต้องทำใน PostgreSQL/PostGIS จะต้องใช้คำสั่งอะไร? ซึ่งคำสั่งที่ใช้ในการหาจุดกึ่งกลางใน PostGIS นั้นไม่ยากเลยครับ ให้เราใช้ ST_Centroid ส่วนจะหาพิกัดของจุดกึ่งกลางนั้นให้ใช้ ST_X และ ST_Y เพื่อ return X, Y coordinate ของข้อมูลจุดกึ่งออกมา เราลองไปดูตัวอย่างด้านล่างนี้กันเลยครับ

SELECT gid, ST_Y(ST_Centroid(geom)) as n,ST_X(ST_Centroid(geom)) as eFROM table;

แต่ถ้าอยากจะสร้างเป็นตารางหรือชั้นข้อมูลจุดออกมาให้เพิ่มคำสั่ง ST_Union เข้าไปด้วยนะครับ

DROP TABLE centroid;CREATE TABLE centroid ASSELECT gid, ST_Y(ST_Centroid(geom)) as n,ST_X(ST_Centroid(geom)) as e,st_centroid(ST_Union(geom))FROM tableGROUP BY gid, geom ;

--

--