วันศุกร์ที่ 1 พฤศจิกายน พ.ศ. 2556

Load Shapefile (SHP) into PostGIS from Command-line (Terminal) on Ubuntu

_______การนำเอาข้อมูล Shapefile เข้าสู่ฐานข้อมูล database โดยใช้โปรแกรม PostgreSQL/PostGIS ผ่าน Terminal ซึ่งทำในระบบปฏิบัติการ Ubuntu ครับ โดยการใช้งานก็คล้ายๆ กับที่เราติดตั้งใน windows นั่นแหละครับ ซึ่งข้อมูล shapefile ที่อยู่ใน postgis แล้วนั้นจะอยู่ในรูปแบบของตาราง table โดยจะมี column หนึ่งที่เก็บ Geometry ไว้ครับ วันนี้ผมก็จะอธิบายอย่างคร่าวๆ ก่อนล่ะกันครับ (เอาไว้วันหลังบ้างฮ่าๆ) เรามาดูวิธีทำกันครับ

1. เริ่มจากการเปลี่ยน shapefile เป็น sql โดยใช้ shp2psql ซึ่งผลลัพธ์เราจะได้ไฟล์ sql ออกมาครับ ดังภาพ


2. เมื่อพิมพ์เสร็จแล้วก็ให้ Enter ก็จะได้ดังภาพ ซึ่งก็จะบอกประเภทของข้อมูล shapefile นั้นๆ


3. จากนั้นเราจะได้ไฟล์ sql ออกมาดังภาพ


4. จากนั้นเราก็นำเอาไฟล์ sql นั้นเข้าสู่ database ได้เลยครับ


5. จากนั้นก็ run ได้เลยครับ สำเร็จแล้ว


6. เมื่อทำได้แล้วก็จะมีตารางข้อมูลปรากฏขึ้นมาใหม่ ดังภาพ


7. ลองเปิดตารางดู ว่ามีฟิลด์เหมือนกับ shapefile หรือไม่


8. เชื่อมต่อฐานข้อมูลกับ PostGIS โดยใช้ QGIS ดังภาพครับ


9. ผลลัพธ์ที่ได้จากการเรียกชั้นข้อมูลจาก PostGIS ครับ