Ich verwende ogr2ogr
zum Importieren von Daten in eine PostGIS-Datenbank. Jeder Datensatz, den ich importieren muss, hat (theoretisch) dieselbe exakte Datenstruktur, aber es scheint, dass es sich nicht um dieselben Geometrietypen handelt. Beispiel: Ich habe bereits die erste Ebene importiert und es gibt eine Ebene namens "Straßen". Wenn ich diesen Befehl ausführe, importiere ich die erste Feature-Class aus der ersten Datenbank (ich habe GDAL zum Lesen konfiguriert .mdb
):
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=database port=5432" city1.mdb streets -nln streets -nlt MULTILINESTRING -lco GEOMETRY_NAME=geometry
Wenn ich -append
dieselbe Straßenebene anhänge (mit der Flagge) anhänge, wird der folgende city2.mdb
Fehler angezeigt (vermutlich aufgrund widersprüchlicher Geometrietypen für die beiden "Straßen" -Ebenen:
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)
Gibt es eine einfache Möglichkeit, beim ogr2ogr
Importieren Geometrien auf den gleichen Typ zu übertragen? Oder eine Möglichkeit, dies zu handhaben, indem Sie das Schema und die Geometrien für jede Tabelle im Voraus vordefinieren?
quelle