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の2番目の引数は、データを更新(書き込み)できるかどうかを指定します。試してください:

dataSource = driver.Open(fn、1)


このソリューションはうまくいきました!GDAL-PYTHON APIから確認済み。デフォルトのオプションは0(つまりFALSE)です。それ以外の場合、TRUEの場合は更新が必要な場合は1
Erick
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.