¿Cómo cambiar el nombre de los campos en un archivo shape desde la línea de comandos?


20

Necesito cambiar el nombre de los nombres de campo (atributos) en un archivo de forma. ¿Hay una manera fácil de hacer esto desde la línea de comandos?

Respuestas:


31

Puede usar la utilidad ogr2ogr que se empaqueta con las herramientas de línea de comando gdal . Use la -sqlopción de la siguiente manera:

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

Como beneficio adicional, puede convertir los datos a un formato diferente al mismo tiempo, o filtrar sus datos especificando una cláusula where. Tenga en cuenta que necesitará especificar todos los campos de salida si utiliza este método (cualquier campo que no esté incluido en la instrucción SELECT se eliminará del archivo de salida).


2
También puede enumerar los nombres de campo usandoogrinfo -so inputfile.shp inputfile
Mike T

Una nota al margen: este método solo funciona cuando se transforman archivos de forma. Por ejemplo, si usa el formato de datos GeoJSON, primero debe convertirlo a un archivo de forma, luego hacer otra transformación usando la -sqlbandera.
clhenrick

También debe agregar la opción -dialect SQLITE; de lo contrario, ogr2ogr arrojará un error 6: output_file.shp debe contener al menos un campo de atributo 1
Dmitriy Litvinov
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.