Instrução
No ArcGIS Pro, posicionar pontos dentro de polígonos contendo atributos semelhantes é importante para uma variedade de análises espaciais, como agregação espacial e integração de dados. Um atributo comum normalmente se refere a um campo ou propriedade compartilhado por feições dentro de um conjunto de dados.

Este artigo apresenta o fluxo de trabalho para inserir um ponto em um polígono com um atributo comum usando ArcPy no ArcGIS Pro.
Note: This workflow requires a full script to run in the ArcGIS Pro Python window. All the indents are to be kept as portrayed in the code block.
Note: This workflow creates a new point feature in the geodatabase that is not added into the map.
import arcpy import os def place_points_inside_polygons(input_polygon_fc, output_point_fc, common_attribute_field): arcpy.management.CreateFeatureclass( out_path=os.path.dirname(output_point_fc), out_name=os.path.basename(output_point_fc), geometry_type="POINT", spatial_reference=input_polygon_fc )
arcpy.management.AddField(output_point_fc, common_attribute_field, "TEXT")
with arcpy.da.InsertCursor(output_point_fc, ["SHAPE@", common_attribute_field]) as cursor: with arcpy.da.SearchCursor(input_polygon_fc, ["SHAPE@", common_attribute_field]) as search_cursor: for row in search_cursor: polygon_geom = row[0] common_attribute_value = row[1] point_inside_polygon = polygon_geom.centroid cursor.insertRow([point_inside_polygon, common_attribute_value])
input_polygon_fc = r"<pathToPolygonFc>" output_point_fc = r"<pathToOriginalPointFc>" common_attribute_field = "<fieldName>"
place_points_inside_polygons(input_polygon_fc, output_point_fc, common_attribute_field)
O bloco de código abaixo demonstra o script completo.
import arcpy import os def place_points_inside_polygons(input_polygon_fc, output_point_fc, common_attribute_field): arcpy.management.CreateFeatureclass( out_path=os.path.dirname(output_point_fc), out_name=os.path.basename(output_point_fc), geometry_type="POINT", spatial_reference=input_polygon_fc ) arcpy.management.AddField(output_point_fc, common_attribute_field, "TEXT") with arcpy.da.InsertCursor(output_point_fc, ["SHAPE@", common_attribute_field]) as cursor: with arcpy.da.SearchCursor(input_polygon_fc, ["SHAPE@", common_attribute_field]) as search_cursor: for row in search_cursor: polygon_geom = row[0] common_attribute_value = row[1] point_inside_polygon = polygon_geom.centroid cursor.insertRow([point_inside_polygon, common_attribute_value]) input_polygon_fc = r"C:\Users\Documents\ArcGIS\Projects\MyProject40\MyProject40.gdb\Polygon" output_point_fc = r"C:\Users\Documents\ArcGIS\Projects\MyProject40\MyProject40.gdb\Pointsss" common_attribute_field = "Distance" place_points_inside_polygons(input_polygon_fc, output_point_fc, common_attribute_field)
A imagem abaixo mostra o ponto posicionado no polígono com um atributo comum usando ArcPy.

ID do Artigo: 000032318
Obtenha ajuda de especialistas do ArcGIS
Comece a conversar agora