5 votos

Polígono irreparable característica - no puede reparar un polígono con arcos

Tengo una forma muy divertida de entidad poligonal aparecido como resultado de la unión de muchos buffers y no se puede reparar sin la manipulación de su verdadera forma. Sin corregirlo, no puedo ejecutar la posterior superposición de las operaciones. Creo que la reparación de la geometría de la herramienta de revisiones de auto-aristas de intersección de forma iterativa y consecutivas de arco borde procedimiento de fijación reproduce el mismo error de nuevo. No importa cuántas veces lo intente, se informa de que es fijo (es decir, 10 veces ADVERTENCIA 000461: Reparado característica 1 debido a la auto intersecciones), pero devuelve el mismo no fijadas de forma.

ACTUALIZACIÓN

Habiendo oído que otros han tenido ningún problema en la reparación de esta geometría (una adecuada cola adjunta a la parte principal con un 0.03 m de ancho), he decidido añadir un poco más de cómo llegué a este punto. Tengo una clase de entidad de punto con 40.000 características que necesito de búfer basado en un campo y que están bastante cerca en algunos lugares. Estas cerca de características tienden a producir una gran cantidad de astillas. Mis anteriores intentos me llevó a Salir de la memoria o Topoengine errores, y me he decidido a establecer la resolución de una copia de esta clase de entidad de punto a 1m (es decir, mover los puntos a la más cercana de metro de resolución, que podría ser el origen del problema). Luego he cambiado la resolución y los valores de la tolerancia a sus valores predeterminados antes de emprender cualquier análisis de Superposición.

La característica se ve como sigue:

enter image description here

Para reproducir el problema en ArcMap, el de abajo es el fragmento de código incluyendo el JSON de esta función teniendo en cuenta que es un formato sin pérdidas aproximación a la geometría original, que he probado y confirmar que se produce de la misma forma. Una palabra de consejo, arcpy.AsShape's segundo argumento para procesar esri_json presentó a esta función después de la versión 10.3, las versiones anteriores se pueden quejar.

CÓDIGO PARA LA REPRODUCCIÓN

import arcpy

esri_json='{"curveRings":[[[529148.74270000029,6944432.6705999998],{"c":[[529028.58660000004,6943589.9435000001],[529263.99277247302,6943986.3085154826]]},{"c":[[528910,6943597],[528969.39818470867,6943595.2343159467]]},{"c":[[528746.50389999989,6943583.5437000003],[528827.97553651361,6943593.6302468004]]},{"c":[[528172.48149999976,6944406.3706999999],[528570.14691326348,6944072.1521290326]]},{"c":[[528667.5120000001,6944670.9944000002],[528387.14309098024,6944600.1415246446]]},{"c":[[528553.22709999979,6945125.6616000002],[528548.82282015553,6944975.0661100438]]},{"c":[[529145.82980000041,6944433.0010000002],[528546.0329174581,6945033.0851077382]]},{"c":[[529148.74270000029,6944432.6705999998],[529147.28603573283,6944432.8339088196]]}]],"spatialReference":{"wkid":28356,"latestWkid":28356}}'

shape=arcpy.AsShape(esri_json,True)
arcpy.CopyFeatures_management(shape,'in_memory\\repair_me')

Por favor, siéntase libre de proponer alguna sugerencia aparte de la manipulación de la forma, por ejemplo, la eliminación de vértices, cortar en trozos, la generalización -densificación, etc.?

3voto

Amy Puntos 46

Voy a suponer que la parte que se quiere corregir es la "cola" en la parte superior. Yo también voy a suponer que usted tiene solo una de estas características y no requieren de una solución automatizada para la fijación de varios polígonos.

Para quitar de la cola, editar la capa y dibuja otro polígono que se cruza con el original polígono en la base de la cola. Seleccione este polígono.

enter image description here

En la barra de herramientas del editor, seleccione Clip.

enter image description here

Seleccione Descartar el área que se cruza. enter image description here

Borrar el polígono se utiliza para el clip.

Resultado:

enter image description here

1voto

FelixIP Puntos 4035

Esta no es una solución, sólo una actualización en mis experimentos con la forma en cuestión. Corrí el script y tengo perfectamente válido polígono. No es de 0,03 m de la brecha, donde la cola se adjunta al cuerpo principal:

enter image description here

Reparación de geometría funcionó a la perfección y no dio ningún mensaje de advertencia. Sospecho que hay algo más. Tolerancia XY en la base de datos, tal vez. Sigo Resolución XY y XY Tolerancia en blanco en mi mesa de trabajo mxd, porque he tenido una muy mala experiencia en el pasado de experimentar con ellos.

También traté de aplicar mis 3-herramientas de solución, se explica en los comentarios y el resultado fue el mismo "repair_me de forma". Rompecabezas sin resolverse...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X