Suite

Itérer sur toutes les entités de la classe d'entités pour les croiser individuellement avec un polygone à l'aide d'ArcPy ?


J'ai une classe d'entités ponctuelles et j'essaie d'intersecter individuellement chaque entité avec une classe d'entités surfaciques pour obtenir des informations sur le polygone dans lequel se trouve chaque entité. simple, mais je ne saisis pas le modèle pour faire les intersections individuelles. Premier essai ci-dessous :

# -*- codage : utf-8 *-* # Nom : IntersectingPolygon.py # Description : Trouver un polygone d'intersection sur une entité par entité # Importer arcpy et définir le chemin d'accès aux données import arcpy import csv arcpy.env.workspace = "C :/dev/FGDBs/test.gdb" intersecting_polygon_layer = 'pg_lyr' feature_layer = 'feature_lyr' test_feature = 'some_feature' # Faire une couche des polygones arcpy.MakeFeatureLayer_management('polygons', intersecting_polygon_layer) feature_rows = arcpyorfeC count_features = 0 pour feature_row dans feature_rows: # Cette ligne échoue, je pense parce que vous ne pouvez pas créer une couche de cette façon arcpy.MakeFeatureLayer_management(feature_row, feature_layer) arcpy.SelectLayerByLocation_management(intersecting_polygon_layer, 'intersect', feature_row) polygon_rows = arcpy.Search (intersecting_polygon_layer) print 'Feature Globalid:',feature_row.getValue('globalid') pour polygon_row dans polygon_rows: print '	Polygon objectid:',polygon_row.getValue('objectid') if count_features > 5: break count_features = count_features + 1

Pour ce faire, j'utiliserais l'outil Intersection (analyse).

Le code ArcPy sera :

importer arcpy homesFC =  quartiersFC =  maisonsAvecDistrictFC =  arcpy.Intersect_analysis ([homesFC, districtsFC], homesWithDistrictFC)


Voir la vidéo: PYTHON IN ARC GIS #8 Save all polygons separately from a shape file with multiple polygon. ARCPY (Octobre 2021).