Comment renommer les noms de champs dans un fichier de formes à partir de la ligne de commande?

20

J'ai besoin de renommer les noms de champs (attributs) dans un fichier de formes. Existe-t-il un moyen simple de le faire à partir de la ligne de commande?

rudivonstaden
la source

Réponses:

31

Vous pouvez utiliser l' utilitaire ogr2ogr fourni avec les outils de ligne de commande gdal . Utilisez l' -sqloption comme suit:

ogr2ogr outputfile.shp inputfile.shp -sql "SELECT oldfield1 AS newfield1, oldfield2 AS newfield2 from inputfile"

En prime, vous pouvez convertir les données dans un format différent en même temps ou filtrer vos données en spécifiant une clause where. Notez que vous devrez spécifier tous les champs de sortie si vous utilisez cette méthode (tous les champs non inclus dans l'instruction SELECT seront supprimés du fichier de sortie).

rudivonstaden
la source
2
Vous pouvez également répertorier les noms de champ à l'aide deogrinfo -so inputfile.shp inputfile
Mike T
Remarque: cette méthode ne fonctionne que lors de la transformation de fichiers de formes. Par exemple, si vous utilisez le format de données GeoJSON, vous devez d'abord le convertir en un fichier de formes, puis effectuer une autre transformation en utilisant l' -sqlindicateur.
clhenrick
Vous devez également ajouter l'option -dialect SQLITE, sinon ogr2ogr générera une erreur 6: output_file.shp doit contenir au moins un champ attribut 1
Dmitriy Litvinov