แสดงบทความที่มีป้ายกำกับ shp2pgsql แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ shp2pgsql แสดงบทความทั้งหมด

วันอังคารที่ 3 กุมภาพันธ์ พ.ศ. 2558

การนำเข้าข้อมูล Shape Files สู่ฐานข้อมูล PostgreSQL/PostGIS โดยใช้เครื่องมือ shp2pgsql

1. เข้าไปที่โฟลเดอร์ bin ==> CD C:\Program Files\PostgreSQL\9.4\bin



2. ทดสอบเครื่องมือ shp2pgsql โดยพิมพ์ shp2pgsql.exe ลงไป แล้ว Enter


3. นำเข้าข้อมูล Shapfile เข้าไปดังภาพ
shp2pgsql -I -s 32647 -W "TIS-620" province.shp public.province| psql -h myserver -d mydb -U myuser

4. นำเข้าสำเร็จ


5. ผลที่ได้




วันศุกร์ที่ 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 ครับ




วันอังคารที่ 9 ตุลาคม พ.ศ. 2555

upload shapefile เข้า postgis


วิธีการเอา shp ยัดเข้า postgis นั้นมีหลากหลายวิธีมากครับ
วิธีแรกใช้ shp2pgsql โดยเปลี่ยนข้อมูล shp ให้อยู่ในรูป sql  ก่อน แบบนี้
C:\Program Files\PostgreSQL\9.2\bin> shp2pgsql.exe  -s 32647 -W “TIS-620” pratanbat.shp pratanbat > pratanbat.sql
โดยที่ หลัง -s ให้ระบบพิกัด -W ให้ระบุ encoding ของข้อมูล แล้วก็เอาไป run  ใน pgAdmin (ถ้าเรามี shp จำนวนมากคงต้องปาดเหงื่อกันบ้าง)


วิธีที่ 2 ใช้ PostGIS 2.0 Shapefile and DBF Loader Exporter ของ postgis
-ใส่ username password ฐานข้อมูลที่ต้องการติดต่อที่ปุ่ม View connection details..
- upload ไฟล์ของเราที่ปุ่ม Add Files
- ช่อง SRID ให้ระบุระบบพิกัด
- ระบุ encoding ของข้อมูลเรา เช่น UTF-8, TIS-620, WINDOWS-874 (กรณีที่ไม่รู้ให้ลองใส่ TIS-620 ดู ถ้าไม่ได้ก็เปลี่ยนใหม่ เอ่อ..)
-กด Import


เพียงเท่านี้ท่านก็จะได้ shp ไปนอนรออยู่ใน database รอให้ท่านเรียกใช้งานแล้วครับ


วิธีที่ 3 ใช้เครื่อง spit ของ qgis
-คลิ๊ก New เพื่อใส่ username password ฐานข้อมูลที่ต้องการติดต่อ
-คลิ๊ก Connect เพื่อต่อฐานข้อมูล
-คลิ๊ก Add เพื่อเลือก shp มาใส่
-และคลิ๊ก Ok เพื่อ upload เข้าฐานข้อมูลครับ



* วิธีที่สองผมว่าง่ายและไม่ค่อยมีปัญหาชอบสุดครับ เป็นความเชื่อส่วนบุคคลครับ ;)