Como antecedentes, esta pregunta surgió al tratar de responder una pregunta sobre ¿Cómo generar polígonos superpuestos a partir de las líneas de salida de la herramienta Tabla a elipse?
Usando la GUI de ArcMap 10.1, es muy fácil digitalizar polígonos de curva verdadera en una clase de entidad de geodatabase de archivos usando la Herramienta de construcción Ellipse, pero ...
¿Es posible escribir polígonos elípticos de curva verdadera al leer filas (arcpy.da.SearchCursor) desde una tabla que contiene un punto central, un eje mayor, un eje menor y un acimut para cada uno?
Tenía la esperanza de que podría haber un token disponible con arcpy.da.InsertCursor para hacer esto, pero SHAPE@
parece estar limitado por lo que admite el objeto Geometry , y eso no parece incluir curvas verdaderas.
fuente
Respuestas:
Si bien los objetos de geometría arcpy no admiten curvas verdaderas, en 10.3, Esri implementó Curvas verdaderas en la API REST y, por lo tanto, tuvo que implementar el soporte JSON para ellos en FeatureSets. Por lo tanto, puede "engañar" a Arcpy para que haga esto por usted si crea una curva en una estructura JSON .
Aquí hay un ejemplo: cree un archivo JSON con curvas verdaderas (esto usa un arco circular y una curva de Bezier), algo como esto:
Luego, cárguelo en un conjunto de características y guárdelo en una clase de entidad.
Y boom, tienes curvas verdaderas! Esto es lo que creó en ArcMap:
Entonces, en su caso, tal vez pueda construir una estructura json al convertir las características originales en un conjunto de características y jugar con el JSON, o al iterar a través de filas en un cursor de búsqueda. Las matemáticas pueden ser un poco complicadas para obtener lo que quieres, pero definitivamente es factible.
También debo mencionar que no tiene que formar un conjunto completo de características, simplemente puede pasar la geometría JSON directamente al
arcpy.AsShape(geojson, True)
también para recuperar un objeto de geometría.fuente
Nos encontramos con el mismo problema cuando tuvimos que dibujar cientos de parcelas de descripciones legales en una geodatabase. Las herramientas COGO eran lo único que nos permitiría dibujar y retener curvas verdaderas. Desafortunadamente, las herramientas COGO no son programables.
Sin embargo, pudimos convertir las descripciones legales a formato txt, por lo que pudimos cargarlas en la ventana transversal para crear nuestras formas. Dependiendo del formato de la tabla, podría (usando Python) convertir sus tablas a txt y luego cargarlas en la ventana transversal.
Hoy he estado tratando de importar contornos de curvas verdaderas en un FGDB y me encontré con el complemento de conversión de curvas . No estoy seguro de si ayuda, pero lo consideró útil para manipular curvas verdaderas.
fuente