Jak zmienić wartość pola pliku kształtu za pomocą GDAL / OGR?


18

Próbuję zmienić wartość pola pliku kształtu. Nie zmienia to jednak wartości. Co jest nie tak z moim kodem?

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

Odpowiedzi:


23

Drugi argument w Open określa, czy dane mogą być aktualizowane (zapisywane). Próbować:

dataSource = driver.Open (fn, 1)


To rozwiązanie działało! potwierdzone przez GDAL-PYTHON API . Domyślną opcją jest 0, tj. FAŁSZ, w przeciwnym razie wymagana jest 1 dla PRAWDZIWEJ aktualizacji incase
Erick
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.