GDAL / OGR kullanarak bir Shapefile alan değeri nasıl değiştirilir?


18

Bir şekil dosyasının alan değerini değiştirmeye çalışıyorum. Ancak değeri değiştirmez. Kodumdaki sorun ne?

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()

Yanıtlar:


23

Open öğesindeki ikinci argüman verinin güncellenip güncellenemeyeceğini belirtir. Deneyin:

dataSource = sürücü.Açık (fn, 1)


Bu çözüm işe yaradı! GDAL-PYTHON API'sından onaylanmıştır . Varsayılan seçenek 0'dır, yani YANLIŞ, aksi takdirde DOĞRU olay güncelleme için 1 gereklidir
Erick
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.