Bagaimana cara mengubah nilai bidang Shapefile menggunakan GDAL / OGR?


18

Saya mencoba mengubah nilai bidang shapefile. Namun itu tidak mengubah nilainya. Apa yang salah dengan kode saya?

import ogr

driver = ogr.GetDriverByName('ESRI Shapefile')
fn = 'dist.shp'
dataSource = driver.Open(fn, 0)

layer = dataSource.GetLayer()
feature = layer.GetNextFeature()

dist = 233

while feature:
    feature.SetField("dist", dist)
    layer.SetFeature(feature)
    feature = layer.GetNextFeature()

dataSource.Destroy()

Jawaban:


23

Argumen kedua di Open menentukan apakah data dapat diperbarui (ditulis ke). Mencoba:

dataSource = driver.Open (fn, 1)


Solusi ini berhasil! dikonfirmasi dari GDAL-PYTHON API . Opsi default adalah 0 yaitu SALAH, jika tidak diperlukan 1 untuk memperbarui dalam TRUE memetikan
Erick
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.