Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- eligibleLayer = QgsVectorLayer("/home/usr/Desktop/eligible_areas.shp", "eligible_areas", "ogr")
- if not eligibleLayer.isValid():
- print "Eligible areas layer failed to load!"
- lProvider = eligibleLayer.dataProvider()
- lProvider.addAttributes( [ QgsField("Area",QVariant.Double) ] )
- area = 0
- for gFeat in eligibleLayer.getFeatures():
- calculator = QgsDistanceArea()
- calculator.setEllipsoid('WGS84')
- calculator.setEllipsoidalMode(True)
- geom = gFeat.geometry()
- landArea = gFeat.attributes()[gProvider.fieldNameIndex('Area')].toDouble()[0]
- if geom.isMultipart() is False: # if only simple polygon, calculate only for this
- polyg = geom.asPolygon() #transform to list of points
- if len(polyg) > 0:
- area = calculator.measurePolygon(polyg[0])
- else: #is Multipart
- multi = geom.asMultiPolygon()
- for polyg in multi:
- area = area + calculator.measurePolygon(polyg[0])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement