2010-11-18 13 views
6

के साथ ईएसआरआई आकारफाइल में कस्टम फ़ीचर विशेषताओं को जोड़ना मैं मौजूदा ईएसआरआई आकारफाइल लेने का एक तरीका ढूंढ रहा हूं जिसमें 200 देशों का फ़ीचर सेट है। प्रत्येक देश फ़ीचर में "NAME" की विशेषता है। मेरा उद्देश्य एक पायथन स्क्रिप्ट बनाना है जो एक मनमाना (अब के लिए) अतिरिक्त विशेषता जोड़ता है, कहें, "जनसंख्या"।पायथन

बेशक मेरे पास OSGeo और GeoDjango मॉड्यूल स्थापित हैं। मैं जहाँ तक:

from osgeo import ogr 

infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above 
inlyr = infile.GetLayerByIndex(0) 

Am मैं एक OGR समारोह है कि मुझे फ़ीचर डालने के लिए अनुमति देगा लापता एक मौजूदा शेपफ़ाइल में खेतों विशेषता?

उत्तर

5

एक क्षेत्र आप एक OGRFieldDefn बनाने के लिए जोड़ने के लिए, और फिर फोन inlyr.CreateField

fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal) 
fieldDefn.SetWidth(14) 
fieldDefn.SetPrecision(6) 
inlyr.CreateField(fieldDefn) 
+0

आपको बहुत बहुत धन्यवाद। – mattdeboard

+0

इसके बाद मुझे डेटा लिखने के लिए नष्ट() को कॉल करने की आवश्यकता है? – mattdeboard

+2

फ़ाइल को बंद करने के लिए 'infile = none' –