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

ओपन में दूसरा तर्क निर्दिष्ट करता है कि क्या डेटा अपडेट किया जा सकता है (को लिखा गया है)। प्रयत्न:

dataSource = driver.Open (fn, 1)


यह समाधान काम कर गया! GDAL-PYTHON API से पुष्टि की गई । डिफ़ॉल्ट विकल्प 0 यानी FALSE है, अन्यथा TRUE इनसे अपडेट के लिए 1 आवश्यक है
Erick
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.