Cách nhập định dạng ESRI Geodatabase .gdb vào PostGIS


16

Tôi gặp phải sự cố khi tải định dạng ESRI Geodatabase .gdb vào PostGIS. Tôi có dữ liệu tệp GDB 2,5GB. Tôi đã làm theo một số hướng dẫn trên internet, nhưng có vẻ như nó không hoạt động.

  1. Tôi đã tạo một cơ sở dữ liệu "SampleNY"
  2. Tôi đã thực hiện điều này từ bàn điều khiển:

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

Nhưng không có gì xảy ra, tôi không có lỗi hay hoạt động thành công. Tôi đã bỏ lỡ bất kỳ bước nào?


Bạn có giới hạn sử dụng ogr2ogr? Hay bạn đang mở cho các giải pháp khác? FME có thể làm điều này một cách dễ dàng.
Fezter

Tôi đang mở cho bất kỳ giải pháp có thể giải quyết vấn đề này? Bạn có thể cung cấp thêm chi tiết về cách làm điều đó?
dùng3001937

Hãy thử tải xuống FME . Tạo một bàn làm việc mới và thêm Trình đọc cơ sở dữ liệu địa lý và trình soạn thảo PostGIS.
Fezter

1
Đó là một giải pháp thương mại. Bạn đã không xác định rằng bạn chỉ tìm kiếm giải pháp miễn phí. Tôi nghĩ FME có thời gian dùng thử miễn phí.
Fezter

1
Tôi tìm thấy trong các câu trả lời khác Trình quản lý dữ liệu không gian. mapet.altervista.org Đây là một công cụ windows miễn phí để tải shapefile và tập tin geodatabase trong Postgis và db không gian khác.
lele3p

Câu trả lời:


18

Hãy thử thêm thích hợp hostportlập luận.
Và BTW, khi tôi nhập một tệp GDB lớn, tôi cũng thêm các cờ này:

-overwrite (xóa bất kỳ mớ hỗn độn nào bạn có thể đã chèn) và

-progress (hiển thị một dấu chấm hoặc số cho mỗi 10.000 hoặc 10% hồ sơ được thêm vào):

--config PG_USE_COPY YES (cải thiện đáng kể tốc độ)

Vì vậy, lệnh (nên là một lớp lót nhưng tôi được định dạng ở đây cho rõ ràng) trở thành

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

Sử dụng URL thay cho "localhost" nếu cần.


6

Nếu có nhiều tính năng trong gdb và bạn muốn chỉ định tên bảng và lược đồ Postgres thì hãy làm theo:

#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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.