Para mejorar el rendimiento y la escalabilidad de las herramientas como Combinación e Intersecar, se usa lógica operativa llamada procesamiento adaptable de subdivisiones. El uso de esta lógica se desencadena cuando los datos no se pueden procesar dentro de la cantidad disponible de memoria física. Para permanecer dentro de los límites de la memoria física, lo que mejora mucho el rendimiento, el procesamiento se hace incrementalmente sobre subdivisiones de la extensión original. Las entidades que están a caballo sobre los bordes de estas subdivisiones (también llamadas teselas) se dividen en el borde de la tesela y se vuelven a ensamblar en una entidad única durante la última etapa del procesamiento. Los vértices introducidos en estos bordes de teselas permanecen en las entidades de salida. Los límites de las teselas también pueden quedar en la clase de entidad de salida cuando una entidad que se está procesando es tan grande que el proceso de subdivisión no puede devolver la entidad a su estado original usando la memoria disponible.
Por qué subdividir los datos
Las herramientas de análisis de la superposición ofrecen mejor rendimiento cuando el procesamiento se puede hacer dentro de la memoria disponible del equipo (memoria libre que no está siendo usada por el sistema u otras aplicaciones). Puede que esto no siempre sea posible cuando se trabaja con datasets que contienen un gran número de entidades o entidades muy complejas con interacción de entidades complejas, o entidades que contienen centenares de miles o millones de vértices (o una combinación de los tres). Sin el uso de teselas, la memoria disponible se agotaría rápidamente y el sistema operativo empezaría a paginar (usar el almacenamiento secundario como si fuera la memoria principal). La paginación deriva en una degradación del rendimiento y, en algún momento, el sistema se quedaría simplemente sin recursos y la operación fallaría. Las teselas ayudan a evitar esta situación en la medida de lo posible. En casos extremos, la administración de la memoria de procesamiento se cederá al sistema con la intención de completar el procesamiento, ya que se permite al sistema operativo usar todos los recursos a su disposición a fin de completar el proceso.
Qué aspecto tienen las teselas
Cada proceso empieza con una única tesela que abarca la extensión completa de los datos. Si los datos de la tesela única son demasiado grandes para ser procesados en memoria física, se subdividen en cuatro teselas iguales. Entonces se inicia el procesamiento en una subtesela, que a su vez se subdivide si los datos de este segundo nivel de tesela vuelven a ser demasiado grandes. Esto continúa hasta que los datos de cada tesela se pueden procesar dentro de la memoria física. Vea el ejemplo a continuación:
La superficie de todas las entidades de entrada
El proceso comienza con una tesela que abarca la extensión completa de todos los datasets. Para la referencia, esto se denomina nivel de tesela 1.
Si los datos son demasiado grandes para procesarlos en la memoria, el nivel de tesela 1 se subdivide en cuatro teselas iguales. Estas cuatro subteselas se denominan teselas de nivel 2.
Según el tamaño de los datos de cada tesela, algunas teselas se continúan subdividiendo, mientras que otras no lo hacen.
Qué herramientas utilizan subdivisiones
Las siguientes herramientas de la caja de herramientas Análisis tienen lógica de subdivisión cuando tratan con datos grandes:
- Zona de influencia (al utilizar la opción de disolución)
- Recortar
- Borrar
- Identidad
- Intersecar
- Dividir
- Diferencia simétrica
- Combinación
- Actualizar
Estas herramientas de la caja de herramientas Administración de datos también utilizan lógica de subdivisión al tratar con datasets grandes:
- Disolver
- De entidad a línea
- De entidad a polígono
- De polígono a línea
El proceso produce un error de memoria insuficiente
Es posible que el enfoque de subdivisión no ayuda a procesar entidades extremadamente grandes (entidades con muchos millones de vértices). La división y ensamblaje de entidades extremadamente grandes varias veces a lo largo de los límites de las teselas son muy costosos por lo que se refiere a la memoria y pueden producir errores de memoria insuficiente si la entidad es demasiado grande. Esto se determina en función de la cantidad de memoria disponible del equipo (memoria libre que no está siendo usada por el sistema u otras aplicaciones) que hay disponible en el equipo que ejecuta el proceso. Algunas entidades grandes pueden producir un error de memoria insuficiente en una configuración del equipo y no en otra. El error de memoria insuficiente puede producirse en el mismo equipo una vez y no otra, según los recursos que otras aplicaciones estén utilizando. Ejemplos de entidades muy grandes con muchos vértices son el trazado de las vías de una ciudad entera o un polígono que represente un estuario fluvial complejo.
El error de memoria insuficiente también podría producirse si se ejecuta una segunda aplicación o herramienta de geoprocesamiento durante el procesamiento de una herramienta. Este segundo proceso podría utilizar parte de la memoria disponible que el proceso de subdivisión creyera disponible para su uso, provocando que el proceso de subdivisión exigiera más memoria que la realmente disponible. Se recomienda que no se realicen otras operaciones en un equipo mientras se procesan grandes datasets.
Una técnica recomendada consiste en utilizar la herramienta Subdividir para dividir entidades grandes en las entidades menores antes de procesarlas.
Qué formato de datos se recomienda para trabajar con datos grandes
Las geodatabases personales y los shapefiles están limitados en tamaño a 2 gigabytes (GB). Si la salida de un proceso va a superar este tamaño, pueden producirse errores. Las geodatabases de empresa y de archivos no tienen esta limitación, así que son recomendables como espacio de trabajo de salida para procesar datasets muy grandes. Para las geodatabases corporativas, vea el administrador de bases de datos para obtener detalles sobre las directivas de carga de datos. La realización de grandes operaciones de carga de datos no planeadas o no aprobadas puede estar restringida.