Jak zmienić nazwy pól w pliku shapefile z wiersza poleceń?


Odpowiedzi:


31

Możesz użyć narzędzia ogr2ogr , które jest spakowane z narzędziami wiersza poleceń gdal . Użyj -sqlopcji w następujący sposób:

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

Jako dodatkowy bonus możesz jednocześnie konwertować dane do innego formatu lub filtrować dane, określając klauzulę where. Zauważ, że będziesz musiał określić wszystkie pola wyjściowe, jeśli użyjesz tej metody (wszelkie pola nie zawarte w instrukcji SELECT zostaną usunięte z pliku wyjściowego).


2
Możesz także wymienić nazwy pól, używającogrinfo -so inputfile.shp inputfile
Mike T

Uwaga dodatkowa: ta metoda działa tylko podczas przekształcania plików kształtów. Na przykład, jeśli używasz formatu danych GeoJSON, musisz najpierw przekonwertować go na plik shapefile, a następnie wykonać inną transformację przy użyciu -sqlflagi.
clhenrick

Powinieneś także dodać opcję -dialect SQLITE, w przeciwnym razie ogr2ogr wyrzuci błąd 6: plik_wyjściowy.shp musi zawierać co najmniej jedno pole atrybutu 1
Dmitriy Litvinov
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.