Tôi đang sử dụng ogr2ogr
để nhập dữ liệu vào cơ sở dữ liệu PostGIS. Mỗi tập dữ liệu tôi cần nhập có (về mặt lý thuyết) cấu trúc dữ liệu chính xác giống nhau, nhưng có vẻ như chúng không phải là cùng loại hình học. Ví dụ, tôi đã nhập lớp đầu tiên và có một lớp gọi là "đường phố". Chạy lệnh này, tôi nhập lớp tính năng đầu tiên từ cơ sở dữ liệu đầu tiên (tôi đã cấu hình GDAL để đọc .mdb
):
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=database port=5432" city1.mdb streets -nln streets -nlt MULTILINESTRING -lco GEOMETRY_NAME=geometry
Khi tôi thêm vào (sử dụng -append
cờ) cùng một lớp đường phố city2.mdb
, tôi gặp lỗi này (có lẽ là do các loại hình học xung đột cho hai lớp "đường phố":
Warning 1: Geometry to be inserted is of type 3D Line String, whereas the layer geometry type is 3D Multi Line String.
Insertion is likely to fail
ERROR 1: INSERT command for new feature failed.
ERROR: Geometry type (LineString) does not match column type (MultiLineString)
Có cách nào đơn giản ogr2ogr
để đúc hình học cùng loại khi nhập không? Hoặc một cách để xử lý điều này bằng cách xác định trước lược đồ và hình học cho mỗi bảng trước?