Advertisement
Guest User

Untitled

a guest
Feb 14th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. eligibleLayer = QgsVectorLayer("/home/usr/Desktop/eligible_areas.shp", "eligible_areas", "ogr")
  2.  
  3. if not eligibleLayer.isValid():
  4. print "Eligible areas layer failed to load!"
  5.  
  6. lProvider = eligibleLayer.dataProvider()
  7. lProvider.addAttributes( [ QgsField("Area",QVariant.Double) ] )
  8.  
  9. area = 0
  10. for gFeat in eligibleLayer.getFeatures():
  11. calculator = QgsDistanceArea()
  12. calculator.setEllipsoid('WGS84')
  13. calculator.setEllipsoidalMode(True)
  14. geom = gFeat.geometry()
  15. landArea = gFeat.attributes()[gProvider.fieldNameIndex('Area')].toDouble()[0]
  16. if geom.isMultipart() is False: # if only simple polygon, calculate only for this
  17. polyg = geom.asPolygon() #transform to list of points
  18. if len(polyg) > 0:
  19. area = calculator.measurePolygon(polyg[0])
  20.  
  21. else: #is Multipart
  22. multi = geom.asMultiPolygon()
  23. for polyg in multi:
  24. area = area + calculator.measurePolygon(polyg[0])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement