Guest User

Untitled

a guest
Dec 15th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. from qgis.core import *
  2. from qgis.gui import *
  3. from qgis.utils import iface
  4.  
  5. @qgsfunction(args="auto", group='Custom')
  6. def getAttributeIntersectFeature(intersectLayername, intersectFieldname, geom, feature, parent):
  7. # If geom is empty, return empty string
  8. if (geom is None):
  9. return ''
  10.  
  11. # Get layer reference from layername
  12. intersectLayer = QgsProject.instance().mapLayersByName(intersectLayername)[0]
  13.  
  14. # Raise if layer not found
  15. if intersectLayer is None:
  16. raise Exception("Layer not found: " + intersectLayername)
  17.  
  18. # Count point within current Atlas feature
  19. attributename = ''
  20. for ft in intersectLayer.getFeatures():
  21. intersectGeom = ft.geometry()
  22. if (intersectGeom is None):
  23. continue
  24. if intersectGeom.intersects(geom):
  25. attributename += ft[intersectFieldname] + ','
  26.  
  27. return attributename[:-1]
Add Comment
Please, Sign In to add comment