Come rinominare i nomi dei campi in un file di forma dalla riga di comando?


20

Devo rinominare i nomi dei campi (attributi) in uno shapefile. C'è un modo semplice per farlo dalla riga di comando?

Risposte:


31

È possibile utilizzare l' utilità ogr2ogr fornita con gli strumenti della riga di comando di gdal . Utilizzare l' -sqlopzione come segue:

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

Come bonus aggiuntivo, puoi convertire i dati in un formato diverso allo stesso tempo o filtrare i tuoi dati specificando una clausola where. Si noti che sarà necessario specificare tutti i campi di output se si utilizza questo metodo (tutti i campi non inclusi nell'istruzione SELECT verranno eliminati dal file di output).


2
Puoi anche elencare i nomi dei campi usandoogrinfo -so inputfile.shp inputfile
Mike T

Una nota a margine: questo metodo funziona solo durante la trasformazione di shapefile. Ad esempio, se si utilizza il formato dati GeoJSON è necessario prima convertirlo in un file di forma, quindi eseguire un'altra trasformazione utilizzando il -sqlflag.
clhenrick,

Inoltre dovresti aggiungere l'opzione -dialect SQLITE, altrimenti ogr2ogr genererà un errore 6: output_file.shp deve contenere almeno un campo dell'attributo 1
Dmitriy Litvinov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.