コマンドラインからシェープファイルのフィールド名を変更するにはどうすればよいですか?


回答:


31

gdalコマンドラインツールに同梱されているogr2ogrユーティリティを使用できます-sql次のようにオプションを使用します。

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

追加のボーナスとして、データを同時に別の形式に変換したり、where句を指定してデータをフィルター処理したりできます。このメソッドを使用する場合は、すべての出力フィールドを指定する必要があることに注意してください(SELECTステートメントに含まれていないフィールドは出力ファイルから削除されます)。


2
を使用してフィールド名を一覧表示することもできますogrinfo -so inputfile.shp inputfile
Mike T

補足:この方法は、シェープファイルを変換する場合にのみ機能します。たとえば、GeoJSONデータ形式を使用する場合、まずシェープファイルに変換してから、-sqlフラグを使用して別の変換を行う必要があります。
-clhenrick

output_file.shpは、少なくとも一つの属性1つのフィールド含まれている必要があります。また、あなたはそうogr2ogrがエラー6がスローされます-dialect SQLiteのオプションを追加する必要があります
ドミトリLitvinov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.