Как изменить значение поля 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()

Ответы:


23

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

dataSource = driver.Open (fn, 1)


Это решение сработало! подтверждено GDAL-PYTHON API . Значение по умолчанию 0, т.е. ЛОЖЬ, в противном случае 1 для ИСТИНА требуется обновление, если это необходимо
Erick
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.