GDAL / OGR을 사용하여 Shapefile의 필드 값을 변경하는 방법은 무엇입니까?


18

shapefile의 필드 값을 변경하려고합니다. 그러나 값은 변경되지 않습니다. 내 코드에 어떤 문제가 있습니까?

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입니다. 그렇지 않으면 TRUE 인 경우 업데이트가 필요한 경우 1
Erick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.