Tengo una capa con segmentos de línea y una capa de polígonos (en este caso, topes alrededor de puntos). Necesito crear un nuevo campo para cada polígono que contenga la longitud total de todos los segmentos de línea contenidos dentro de ese polígono, incluyendo las porciones de los segmentos de línea con el polígono que se extienden por los bordes.
Respuesta
¿Demasiados anuncios?
auramo
Puntos
161
Una ligera modificación del respuesta vinculado en los comentarios sería hacer un Resumen estadístico para obtener la SUMA de los Shape.Length
de la clase de rasgo de intersección, utilizando el campo FID de los polígonos un campo de caso, y luego Únase al campo que volver a la clase de característica de polígono.
En la ventana de ArcMap 10.1 Python, estos comandos me han funcionado:
intersection = arcpy.Intersect_analysis("RoadCenterline;SchoolTaxDistrict", r"in_memory\intersect")
arcpy.CalculateField_management(intersection, "SHAPE_Leng", "!shape.length!", "PYTHON_9.3")
summary = arcpy.Statistics_analysis(intersection, r"in_memory\statistics", "SHAPE_Leng SUM", "FID_SchoolTaxDistrict")
arcpy.JoinField_management("SchoolTaxDistrict", "FID", summary, "FID_SchoolTaxDistrict")
0 votos
¿Qué versión de ArcGIS utiliza, y busca una solución de apuntar y hacer clic o una solución programática?
0 votos
Estoy utilizando ArcGIS 10. Ya sea programática o de apuntar y hacer clic
3 votos
Posible respuesta: forums.arcgis.com/threads/30992-SUM-LENGTH-OF-LINES-IN-POLYGONS