Mes données se composent de deux classes de fonctionnalités:
- Points = points représentant des arbres
- Polygones = Polygones représentant le% de la surface du couvert par zone. Chaque polygone dans le FC a une mesure de% de canopée dans les attributs.
J'essaie d'accomplir ce qui suit:
- Sélectionner des points sous les entités surfaciques
- Pour les points sous chaque polygone, supprimez X% des points en fonction de l'attribut polygone
La capture d'écran (Figure 1) montre uniquement un outil ModelBuilder appelé Itérer la sélection des fonctionnalités. Quelle est la méthode de script Python correcte pour parcourir les fonctionnalités d'une classe d'entités afin de transmettre la fonctionnalité à la commande SelectLayerByLocation_management?
La figure 2 montre la sortie de la sélection par emplacement. Les 4 couches sont identiques, ce qui sera un problème lorsque j'essaierai de supprimer des points par la mesure du% de la verrière.
Voici ce que j'ai essayé jusqu'à présent:
import arcpy
from arcpy import env
env.overwriteOutput = True
env.workspace = r'C:\temp_model_data\OutputData'
outWorkspace = env.workspace
# The polygons have canopy % data in attributes
polygons = r'C:\temp_model_data\CanopyPercentages.shp'
points = r'C:\temp_model_data\points_20_2012.shp'
if arcpy.Exists("pointsLayer"):
print "pointsLayer exists already"
else:
arcpy.MakeFeatureLayer_management (points, "pointsLayer")
print "pointsLayer created"
count = 1
#Create a search cursor to step through the polygon features
polys = arcpy.da.SearchCursor(polygons, ["OID@", "SHAPE@"])
for poly in polys:
# Create a name for the polygon features
count = count + 1
featureName = "polygon_" + str(count)
print featureName
# Select points that lie under polygons
arcpy.SelectLayerByLocation_management('pointsLayer', 'intersect', polygons)
arcpy.SaveToLayerFile_management('pointsLayer', outWorkspace + featureName + ".lyr", "ABSOLUTE")
# Add the random point selection script here...
# Delete selected points within each polygon based on the % canopy cover...
Figure 1
Figure 2