การอัพเดพระบบพิกัดให้กับข้อมูลเชิงพื้นที่ด้วย PostGIS

หลายๆ ท่านคงพบกับปัญหาที่ว่าเมื่อเรานำเข้าด้วยการ Import ข้อมูล Shapefile เข้าสู่ฐานข้อมูลเชิงพื้นที่ PostGIS ซึ่งอาจจะใช้วิธีการที่แตกต่างกับไปตามความถนัด แต่ในบางครั้งเราอาจจะลืมไปว่าการนำเข้าข้อมูลนั้นจะต้องระบุ SRID เข้าไปด้วย

วิธีแสดงค่าพิกัดทางภูมิศาสตร์(Latitude,Longitude) และพิกัดแบบ UTM (Easting,Northing) จาก Geometry ใน PostGIS

การแสดงค่าพิกัดทางภูมิศาสตร์ (Latitude, Longitude) ซึ่งผมจะขอยกตัวอย่างในหน่วยองศาทศนิยม (Decimal Degrees: DD) ตัวอย่างเช่น 16.769519, 100.198351 และพิกัดแบบ UTM (Easting, Northing) ยกตัวอย่างเช่น 627719.103 E, 1854443.802 N  ซึ่งวิธีการได้ค่าพิกัดทั้ง 2 แบบนี้

การแสดงข้อมูลแผนที่จาก PostGIS ในรูปแบบ GeoJSON บน Leaflet

การแสดงข้อมูลแผนที่บน Leaflet นั้น ข้อมูลส่วนใหญ่จะอยู่ในรูปแบบ GeoJSON แต่ทีนี้ข้อมูลของผมเองนี้ดันอยู่ในรูปแบบของ Database ที่เป็นแบบ PostGIS ซึ่งข้อมูลจะเป็นลักษณะของตารางและเก็บค่า Geometry ไว้ อ้าวแล้วยังงี้จะต้องทำอย่างไรถึงจะแสดงบน Leaflet ได้หล่ะ ไม่ยากเลยครับเราเพียงแค่ใช้ PHP แปลงข้อมูลของเราให้อยู่ในรูปแบบ GeoJSON เท่านั้นเอง

การ Intersects โดยใช้ PostgreSQL/PostGIS

การ Intersects ด้วยคำสั่งใน PostGIS ผมได้ยกตัวอย่างโดยการใช้ข้อมูลจุด (point) กับข้อมูลพื้นที่ปิด (polygon) ซึ่งถ้าไม่คิดอะไรมากเราก็สามารถใช้เครื่องมือ