Estoy usando ogr2ogr
para importar datos en una base de datos PostGIS. Cada conjunto de datos que necesito para importación tiene (en teoría) la misma estructura de datos exacta, pero parece que son no los mismos tipos de geometría. Ejemplo, ya importé la primera capa, y hay una capa llamada "calles". Al ejecutar este comando, importo la primera clase de entidad desde la primera base de datos (tengo GDAL configurado para leer .mdb
):
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=database port=5432" city1.mdb streets -nln streets -nlt MULTILINESTRING -lco GEOMETRY_NAME=geometry
Cuando voy a agregar (usando la -append
bandera) la misma capa de calles city2.mdb
, obtengo este error (presumiblemente debido a tipos de geometría en conflicto para las dos capas de "calles":
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)
¿Existe una forma directa ogr2ogr
de convertir geometrías al mismo tipo en la importación? ¿O una forma de manejar esto predefiniendo de antemano el esquema y las geometrías para cada tabla?
fuente