J'utilise ogr2ogr
pour importer des données dans une base de données PostGIS. Chaque jeu de données que je dois importer a (théoriquement) la même structure de données exacte, mais il semble que ce ne soient pas les mêmes types de géométrie. Par exemple, j'ai déjà importé la première couche, et il y a une couche appelée "rues". En exécutant cette commande, j'importe la première classe d'entités de la première base de données (j'ai configuré GDAL pour lire .mdb
):
ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres dbname=database port=5432" city1.mdb streets -nln streets -nlt MULTILINESTRING -lco GEOMETRY_NAME=geometry
Lorsque je vais ajouter (à l'aide du -append
drapeau) la même couche de rues city2.mdb
, j'obtiens cette erreur (probablement en raison de conflits de types de géométrie pour les deux couches "rues":
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-t-il un moyen simple ogr2ogr
de convertir des géométries du même type lors de l'importation? Ou un moyen de gérer cela en prédéfinissant le schéma et les géométries de chaque table au préalable?
la source