Tải nội dung Geopackage lên PostgreSQL


13

Là một chút nền tảng, chúng tôi đang tìm cách chuyển từ việc sử dụng shapefiles. Chúng tôi đã bắt đầu sử dụng Geopackages cho công việc máy tính để bàn (QGIS / ArcGIS) nhưng thường có yêu cầu tải dữ liệu lên cơ sở dữ liệu PostgreQuery của chúng tôi.

Tôi biết rằng bạn có thể tải lên nội dung Công cụ địa lý lên Postgres bằng cách sử dụng QGIS nhưng tự hỏi liệu có bất kỳ tiện ích dòng lệnh nào tương tự như shp2pgsql để tải lên địa lý hoặc bảng trong công cụ địa lý lên Postgres không? Tôi giả sử có thể ogr2ogr nhưng không thể tìm thấy tài liệu.

Câu trả lời:


8

Hướng dẫn này chỉ ra cách nhập geopackges vào postgres với ogr2ogr như:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg

Lưu ý nhập vào PostgreSQL như thế này sẽ chuyển đổi trường hợp tên trường trong dữ liệu GeoPackage của bạn thành chữ thường trong bảng PostgreQuery. Để duy trì trường hợp, bạn sẽ cần sử dụng lcotùy chọn như:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO

Điều đó thật tuyệt. Tôi đã có ogr2ogr làm việc với .gpkg. Bây giờ tôi cần xử lý hậu kỳ trên mỗi bảng được tạo từ gpkg trong postgres trong tập lệnh của tôi và cần trích xuất từng tên bảng từ gpkg. Tôi có thể thấy ogrinfo liệt kê các bảng nhưng có ý tưởng nào về cách tôi có thể biến chúng thành một biến không?
James Norris

4

Có một công việc đang diễn ra trong chủ nhân của QGIS (ví dụ ở đâyở đây để 'sửa chữa' công cụ trong QGIS (Nhập vectơ vào cơ sở dữ liệu Postgis - ...) để tạo các tham số dòng lệnh cho OGR2OGR để bạn sử dụng, đặc biệt cho Postgis, có vẻ như đã bị hỏng với QGIS 3. Tôi cũng có một yêu cầu kéo khác được lên kế hoạch cho nhiều sửa chữa và tùy chọn bổ sung. Nếu bạn có thể đợi một tuần hoặc sử dụng chính, hoặc 3 tháng hoặc lâu hơn và sử dụng 3,4 thì điều đó sẽ tránh cho bạn phải nhập lệnh tham số dòng thủ công và nên hoạt động cho nhiều định dạng tệp khác nhau, bao gồm cả địa lý.


1

Sử dụng hướng dẫn trên liên kết này, nó tốt hơn nên thêm vào dòng lệnh GDAL (ogr2ogr) các tùy chọn tiếp theo.

ogr2ogr -f PostgreSQL "PG:user=youruser password=yourpassword dbname=yourdbname" yourgeopackage.gpkg

Nó làm việc cho tôi.

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.