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:
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.?