Як змінити значення поля 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 тобто FALSE, в іншому випадку 1 для ІСТИНИ поновлення упаковує потрібно
Erick
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.