21 votos

¿Cómo cambiar el valor de campo de un Shapefile usando GDAL/OGR?

Estoy tratando de cambiar el valor de campo de un archivo de forma. Sin embargo, no cambia el valor. ¿Qué tiene de malo mi código?

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

27voto

Nate Puntos 220

El segundo argumento en Open especifica si los datos se pueden actualizar (escribir en). Prueba:

dataSource = driver.Open(fn,1)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X