¿Al mirar Buffering con barrera física usando ArcGIS for Desktop? , se me ocurrió que no estoy seguro de cómo usar las herramientas de geoprocesamiento en ArcGIS para dividir un polígono con una línea mediante programación.
Manualmente, usaría la herramienta Cortar polígonos o la herramienta Dividir polígonos en la barra de herramientas de Topología , pero ¿cómo realizaría la misma tarea utilizando las herramientas de creación de scripts de modelador de Python o de modelbuilder?
De buenas a primeras pienso en todas las herramientas en el cuadro de análisis también como Unión, Identidad, etc., pero esas son todas las herramientas Polígono-Polígono, NO herramientas de Línea Poligonal. Incluso la herramienta Dividir es Polígono-Polígono.
¿Algunas ideas?
fuente
aPolygon.Split (aPolyLine)
:-).Respuestas:
Usando ET Geowizard puede acceder al código para la herramienta Dividir polígonos con polilíneas:
Aquí está el enlace al guión .
Alternativamente, puede usar ArcObjects para hacer esto:
Cortar fragmento de polígono
También puede usar el método de un lado del búfer descrito aquí .
fuente
Después del hecho, terminé creando mi propia herramienta ModelBuilder. Me había olvidado de esta pregunta y publiqué mi solución a otra pregunta similar . Para completar, este es un reenvío de la respuesta:
fuente
Si desea salir de ArcGIS, use geom.splitpolysbylines .
Personalmente, nunca lo he usado en un programa, pero creo que puede acceder a este commondline con python, consulte la ayuda para obtener más detalles.
fuente
si no tiene problemas de alta precisión, debería tamponar la línea con la distancia mínima, por ejemplo (0.002, creo que debería ser superior a la precisión de su clase de entidad), luego aplicar una herramienta de borrado al polígono por la línea tamponada.
fuente
Código de arcpy actualizado para dividir polígonos en dirección horizontal o vertical utilizando valores de porcentaje
fuente