Last active
January 9, 2018 10:06
-
-
Save gledsoncruz/3639d0891eb588d17f3e900e66e0db15 to your computer and use it in GitHub Desktop.
QGIS function
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Define new functions using @qgsfunction. feature and parent must always be the | |
last args. Use args=-1 to pass a list of values as arguments | |
""" | |
from qgis.core import * | |
from qgis.gui import * | |
@qgsfunction(args='auto', group='GCFunctions') | |
def GetIntersectGeoms(layer_name, field_name, feature, parent): | |
""" | |
<h4>Syntax</h4> | |
<p>GetIntersectGeoms(<i>layer_name,field_name</i>)</p> | |
<h4>Arguments</h4> | |
<p><i>layer_name</i> = Nome da layer que voce deseja verificar a ocorrencia de intersecao</p> | |
<p><i>field_name</i> = Nome da coluna que deseja mostrar</p> | |
<h4>Example</h4> | |
GetIntersectGeoms('myLayerName', 'myFieldName') | |
""" | |
layer_poly = None | |
try: | |
layer_poly = QgsMapLayerRegistry.instance().mapLayersByName(layer_name)[0] | |
polygons_selected = [] | |
for feat in layer_poly.getFeatures(): | |
if feature.geometry().intersects(feat.geometry()): | |
polygons_selected.append(feat[field_name]) | |
return ',\n'.join(sorted(polygons_selected)) | |
except IndexError: | |
return 'Layer nao encontrada' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment