¿Por qué Intersect da ERROR 999999: Error al ejecutar la función Topología no válida [Demasiados puntos finales lineseg]?

9

Estoy tratando de ejecutar un proceso de Intersect en arcgis 10 sp 3 con 2 conjuntos de archivos (aspecto y pendiente) desde un DEM de 1m en un área de 65,000sq km. El aspecto tiene 9,930,384 registros y la pendiente tiene 31,435,462 registros (aproximadamente 12 GB en total en 2 bases de datos geográficas de archivos).

He ejecutado la geometría de reparación aproximadamente 3 veces y ahora los conjuntos de datos no informan ningún error (cada vez tomó más de 30 horas).

Ahora consigo

Ejecución (Intersect): Intersect "D: \ SCRATCH \ Projects \ 106 \ data \ 7_asp_Merge.gdb \ asp_HghstRez_M_rep #" D: \ SCRATCH \ Projects \ 106 \ data \ working \ working.gdb \ AsSl_Int ALL # INPUT Hora de inicio: Sun 23 de octubre 02:19:10 Funciones de lectura de 2011 ...

Procesando Azulejos ...

ERROR 999999: Error al ejecutar la función.

Topología no válida [Demasiados puntos finales de lineseg.]

Error al ejecutar (Intersecar).

Falló el dom 23 de octubre 04:09:12 2011 (Tiempo transcurrido: 1 hora 50 minutos 2 segundos)

¿Es realmente un problema de topología o un problema de tamaño de archivo?

He intentado usar la herramienta ArcINFO SPLIT, pero falla incluso con más de 1 TB de espacio libre en la unidad y en un conjunto de archivos más pequeño causa bordes irregulares. No puedo usar DICE ya que las áreas que se cruzan entre el asp y la pendiente deben ser exactamente las mismas. Entiendo que en grandes conjuntos de datos, las grietas de ESRI (mosaicos automáticos) los conjuntos de datos, ¿esto puede presentar problemas? ¿Hay más información que pueda proporcionar para resolver problemas?

La especificación de las máquinas es superior al mínimo de ESRI: tenemos 16 GB de RAM, Intel Xeon, Windows 7, discos de 64 bits, 2 x One TB y más de 1.2 TB libres en las unidades. Todos los archivos utilizados en el proceso están en las unidades locales.


acabo de encontrar esta explicación (2 de julio de 2012) que ofrece muchas sugerencias útiles para resolver los problemas.

http://blogs.esri.com/esri/arcgis/2010/07/23/dicing-godzillas-features-with-too-many-vertices/

GeorgeC
fuente
1
El límite de tamaño de archivo para el sistema operativo Windows es de 2 GB. (3GB con / 3GB en XP). Pruebe la herramienta DERRAME en ArcGIS con grandes conjuntos de datos 'Tiling' resources.esri.com/help/9.3/arcgisdesktop/com/gp_toolref/…
Mapperz
1
Una información importante del enlace que Mapperz envió: "Las geodatabases
RyanKDalton
1
¿Tiene ráster de pendiente y aspecto? Si es así, ¿tiene analista espacial?
Kirk Kuykendall
@Mapperz, depende del sistema de archivos. FAT está limitado a 2GB, FAT32 es 4GB y NTFS es ilimitado según: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
blah238
1
Para un cálculo ráster, George, puede volver a muestrear a un tamaño de celda común (como 1 m) o procesar los diferentes parches por separado. Merece un poco de reflexión, porque una pendiente o aspecto calculada a una resolución de 30 m no es exactamente comparable a una calculada a una resolución de 1 m. Es difícil dar consejos generales en ausencia de información sobre el propósito de este cálculo.
whuber

Respuestas:

9

Muy pocas celdas contiguas en un DEM detallado tendrán valores idénticos de pendiente y aspecto. Por lo tanto, si las características de entrada representan áreas contiguas de pendiente común y aspecto común, deberíamos esperar que el resultado de este procedimiento de intersección tenga, en promedio, casi una característica por celda.

Originalmente había 65,000 * 1000 ^ 2 = 6.5 celdas E10 en el DEM. Para representar cada uno de estos requiere al menos cuatro pares ordenados de números enteros de 4 bytes o coordenadas flotantes de 8 bytes, o 32-64 bytes. Es un requisito de 1.3 E12 - 2.6 E12 byte (1.3 - 2.5 TB). Ni siquiera hemos comenzado a dar cuenta de la sobrecarga del archivo (una característica se almacena como algo más que sus coordenadas), índices o los valores de los atributos, que podrían necesitar 0.6 TB (si se almacenan con doble precisión) o más (si se almacenan como texto), más almacenamiento para identificadores. Ah, sí, a ArcGIS le gusta guardar dos copias de cada intersección, duplicando así todo. Es posible que necesite 7-8 TB solo para almacenar la salida.

Incluso si tuviera el almacenamiento necesario, (a) podría usar el doble (o más) si ArcGIS está almacenando en caché archivos intermedios y (b) es dudoso que la operación se complete en un tiempo razonable, de todos modos.

La solución es realizar operaciones de cuadrícula utilizando estructuras de datos de cuadrícula, no estructuras de datos vectoriales. Si se necesita absolutamente la salida del vector, realice la vectorización después de que se completen todas las operaciones de la cuadrícula.

whuber
fuente
Aceptado con mucha tristeza. En lugar de combinar los conjuntos de datos de 30m, 10m y 1m, estoy ejecutando las intersecciones / puntuación asp + slp + veg en cada conjunto de datos por separado y luego fusionándolos.
GeorgeC
El uso de la estrategia de división espacial nos permitió completar el proyecto. Un conjunto de datos que tardó 7 horas en procesarse (y se bloqueó a veces), procesado en aproximadamente 100 minutos cuando se dividió en 6 partes y luego tardó 10 minutos en fusionarse. A esto agregue aproximadamente 40 minutos para modificar los modelos para procesar eficientemente las múltiples partes con entradas mínimas (para cada iteración) y, básicamente, es un ahorro de la mitad del tiempo de procesamiento (al menos). Entonces, un proceso que de otra manera tomó cerca de 200 h tomó menos de 50 h y con solo 15 h de trabajo "real" (al decidir cómo dividir los datos, ingresar las variables en los modelos, etc.)
GeorgeC
1

Mi experiencia con el uso de herramientas divididas y reparación de geometría. Funciona para mí porque en el que trabajé estaba usando la capa vectorial que hice la conversión de ráster a vector. Traté de dividir la herramienta primero y me dio el error. Entonces, tuve que usar la geometría de reparación y depende de cuánto tiempo esté funcionando. Tuve que hacer esto dos veces porque cada vez que hiciste algún cambio o edición, aún tienes que volver a ejecutar repaire geomtry antes de hacer la división. Funcionó para mí.

Por cierto, ejecuté la geometría de reparación en ambas capas: shapefile y geodatabase de archivos. Le sugiero que ejecute la reparación de la geometría durante la noche.

PROBERT
fuente
1
Una cosa más que olvidé. ¿Puedo sugerir que cuando haga algo como esto, le recomiendo que intente abrir un nuevo ArcMap y ejecutar estas herramientas? Para borrar los archivos temporales que ya abrió y lo cerró y abrió ArcMap. Limpia la temperatura. Esa es mi sugerencia de un centavo.
PROBERT
Gracias. Ejecuté Repair Geom 3-4 veces y ahora los conjuntos de datos no informan ningún error. Esto generalmente funciona, pero creo que los conjuntos de datos son demasiado grandes según la explicación de Whuber ...
GeorgeC
George, me alegro de que funcione para ti. Sí, leí la explicación de Whuber, pero mi pregunta fue ¿fusionaste pendiente y aspecto? Si es así, cuando usó la herramienta de división, ¿qué capa de entidades usó para dividir estas capas con las que se fusionó? Por ejemplo, tuve que usar 24 quad (aproximadamente 24 de ellos, que no es tan grande) para dividir con mi pendiente una capa combinada de elevación. ¿Quizás podría intentar reducir a una capa más pequeña que puede dividirse con su capa fusionada?
PROBERT
Fusioné la pendiente y el aspecto y funcionó, pero no fue el proceso correcto ... necesitábamos cruzarnos y eso no funciona. Para dividir, obtuve una copia de la cuadrícula del mapa topográfico nacional de 100k y la usé en el asp y la pendiente por separado. La zona está cubierta por 30 hojas de mapas.
GeorgeC
¿Ejecutó la cuadrícula de mapa topográfico de 100k para limpiar la geometría? Como pregunté, el mío detectó algunos errores y tuve que hacer una reparación limpia. Entonces funcionó en el mío. Si todavía tiene más problemas, ¿puede intentar dividir los 100 mil nacionales en otros más pequeños? ¿Como dividirlos en tres?
PROBERT