Estou usando ogr2ogr
para importar dados para um banco de dados PostGIS. Cada conjunto de dados que preciso importar possui (teoricamente) a mesma estrutura de dados exata, mas parece que eles não são os mesmos tipos de geometria. Por exemplo, eu já importei a primeira camada e há uma camada chamada "ruas". Executando este comando, importo a primeira classe de recurso do primeiro banco de dados (tenho o GDAL configurado para ler .mdb
):
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=database port=5432" city1.mdb streets -nln streets -nlt MULTILINESTRING -lco GEOMETRY_NAME=geometry
Quando vou anexar (usando a -append
bandeira) a mesma camada de ruas city2.mdb
, recebo esse erro (provavelmente devido a tipos de geometria conflitantes para as duas camadas "ruas":
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 uma maneira simples ogr2ogr
de converter geometrias para o mesmo tipo na importação? Ou uma maneira de lidar com isso, predefinindo previamente o esquema e as geometrias para cada tabela?