วิธีการนำเข้ารูปแบบฐานข้อมูล ESRI Geodatabase .gdb ลงใน PostGIS


17

ฉันพบปัญหาเมื่อโหลดรูปแบบ ESRI Geodatabase .gdb ลงใน PostGIS ฉันมีไฟล์ข้อมูล 2.5GB GDB ฉันติดตามบทเรียนบางอย่างบนอินเทอร์เน็ต แต่ดูเหมือนว่าไม่ได้ผล

  1. ฉันสร้างฐานข้อมูล "SampleNY"
  2. ฉันทำสิ่งนี้จากคอนโซล:

    ogr2ogr -f "PostgreSQL" PG: "dbname = SampleNY user = postgres" NYPluto / Pluto.gdb

แต่ไม่มีอะไรเกิดขึ้นฉันไม่ได้มีข้อผิดพลาดหรือการดำเนินการที่ประสบความสำเร็จ ฉันพลาดขั้นตอนใดบ้าง


คุณ จำกัด การใช้ ogr2ogr หรือไม่ หรือคุณเปิดให้โซลูชั่นอื่น ๆ ? FME ควรทำสิ่งนี้ได้อย่างง่ายดาย
Fezter

ฉันเปิดให้มีวิธีแก้ไขปัญหาที่สามารถแก้ไขปัญหานี้ได้หรือไม่ คุณสามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนั้นได้หรือไม่
user3001937

ลองดาวน์โหลดFME สร้าง workbench ใหม่และเพิ่ม Geodatabase Reader และ PostGIS writer
Fezter

1
มันเป็นทางออกเชิงพาณิชย์ คุณไม่ได้ระบุว่าคุณกำลังมองหาวิธีแก้ปัญหาฟรีเท่านั้น ฉันคิดว่า FME มีช่วงทดลองใช้ฟรี
Fezter

1
ฉันพบในคำตอบอื่น ๆ Spatial Data Manager mapet.altervista.org นี่เป็นเครื่องมือ windows ฟรีสำหรับการโหลด shapefile และไฟล์ฐานข้อมูลภูมิศาสตร์ใน Postgis และฐานข้อมูลเชิงพื้นที่อื่น ๆ
lele3p

คำตอบ:


19

ลองเพิ่มความเหมาะสมhostและportข้อโต้แย้ง
และ BTW เมื่อฉันนำเข้าไฟล์ GDB ขนาดใหญ่ฉันยังเพิ่มการตั้งค่าเหล่านี้:

-overwrite (ลบความยุ่งเหยิงที่คุณใส่ไว้แล้ว) และ

-progress (แสดงจุดหรือตัวเลขสำหรับทุก ๆ 10,000 หรือ 10% บันทึกเพิ่ม):

--config PG_USE_COPY YES (ปรับปรุงความเร็วอย่างมาก)

ดังนั้นคำสั่ง (ซึ่งควรเป็นหนึ่งซับ แต่ฉันจัดรูปแบบที่นี่เพื่อความชัดเจน) กลายเป็น

ogr2ogr 
    -f "PostgreSQL" 
    PG:"host=localhost port=5432 dbname=SampleNY user=postgres" 
    NYPluto/Pluto.gdb 
    -overwrite -progress --config PG_USE_COPY YES

ใช้ URL แทน "localhost" หากจำเป็น


6

หากมีคุณสมบัติหลายอย่างใน gdb และคุณต้องการระบุ Postgres schema และชื่อตารางให้ทำตาม:

#First get the featurenames from the gdb:
ogrinfo geodbname.gdb

#then import a feature into a table:
ogr2ogr -f "PostgreSQL" PG:"host=hostname port=5432 dbname=dbname user=postgres"
geodbname.gdb -nlt PROMOTE_TO_MULTI -nln schemaname.tablename featurename -overwrite
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.