Как изменить значение поля Shapefile, используя GDAL / OGR?

18

Я пытаюсь изменить значение поля шейп-файла. Однако это не меняет значение. Что не так с моим кодом?

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()
ustroetz
источник

Ответы:

23

Второй аргумент в Open указывает, могут ли данные быть обновлены (записаны). Пытаться:

dataSource = driver.Open (fn, 1)

Мэтью Снейп
источник
Это решение сработало! подтверждено GDAL-PYTHON API . Значение по умолчанию 0, т.е. ЛОЖЬ, в противном случае 1 для ИСТИНА требуется обновление, если это необходимо
Erick