Lagi

Hitung bidang baru dari bidang yang ada menggunakan ekspresi di gdal/ogr dan tambahkan ke shapefile


Saya mencoba menghitung bidang baru dari bidang yang ada berdasarkan ekspresi sederhana untuk satu set poligon di GDAL/OGR.

Ekspresi pada dasarnya adalah:

bidang baru = (bidang 1 / bidang 2) * bidang 3

Setelah menghitung, saya perlu menambahkan bidang baru ke kumpulan poligon yang ada dan menjumlahkan semua nilai di bidang baru itu.

Ini sangat mudah di ArcGIS atau menggunakan ArcPy, tetapi saya tidak dapat menemukan solusi untuk GDAL/OGR.


Berikut adalah satu baris untuk Anda, silakan periksa untuk bidang/nama file dll.

Tambahkan bidang baru:

ogrinfo input.shp -sql "ALTER TABLE input ADD COLUMN field3 integer(5)"

Lakukan perhitungan (Anda akan membutuhkan driver SQLite Anda untuk dikompilasi dengan dialek SQLite SQL):

ogrinfo input.shp -dialek SQLite -sql "PERBARUI input SET field3 = field1/field2"

Saya tidak melihat di mana Anda perlu Gabung dalam kasus ini, tetapi di sini sebuah contoh untuk Anda:

ogr2ogr -sql "pilih input.*, table.* dari input LEFT JOIN 'table.dbf'.table ON input.id = table.IDINT" output.shp input.shp

Saya tidak menyertakan menyimpulkan karena tampaknya terlalu sepele.


Tonton videonya: CSV File to Point Shapefile - Python GDALOGR (Oktober 2021).