9 votos

Configuración de tipos de geometría que importan a PostGIS con OGR

Estoy usando ogr2ogr a la importación de los datos en una base de datos PostGIS. Cada conjunto de datos necesito para importar (en teoría), exactamente la misma estructura de datos, pero parece que son no los mismos tipos de geometría. Ejemplo, ya he importado la primera capa, y hay una capa llamada "calles". La ejecución de este comando, me importación de la primera clase de entidad a partir de 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 anexar (el uso de la -append bandera) las mismas calles de la capa de city2.mdb, me sale este error (presumiblemente debido a un conflicto de tipos de geometría para los dos "calles" capas:

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)

Es allí una manera directa con ogr2ogr a emitir geometrías para el mismo tipo sobre la importación? O una manera de manejar esto por al predefinir el esquema y geometrías para cada tabla de antemano?

17voto

Todd Owen Puntos 236

Utilice la opción -nlt . En este caso desea:

 -nlt MULTILINESTRING
 

También hay PROMOTE_TO_MULTI (GDAL 1.10 y posteriores), que elige MULTILINESTRING o MULTIPOLYGON dependiendo de la capa de entrada. El caso de uso de esto es "hacer una conversión masiva de shapefiles que [mezcla] diferentes tipos de geometrías".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X