Skip to main content

Generalizar datasets grandes usando particiones

Las herramientas de geoprocesamiento que consideran múltiples temas de datos contextualmente deben cargar todos los datos de entrada en memoria antes de que el procesamiento pueda comenzar. Las limitaciones de memoria de estas herramientas pueden superarse fácilmente con grandes conjuntos de datos o numerosos datasets de entrada. La partición es una forma de subdividir una gran cantidad de datos en conjuntos más pequeños y manejables de entidades.

Cuando las herramientas se ejecutan sobre datos particionados, cada partición se procesa secuencialmente. Las entidades en o cerca de los límites de la partición se gestionan estrechamente para evitar discrepancias. La herramienta carga datos adicionales más allá de cada partición y se considera durante el procesamiento, pero solo se modifican las entidades dentro de la partición en ese momento. El resultado es una salida final sin interrupciones.

Generalmente, si hay más de unas 100.000 entidades en conjunto en todas las capas de entrada, o si las entidades son complejas con un gran número de vértices, considere usar la partición para ejecutar la herramienta. Se pueden habilitar las siguientes herramientas para la partición:

Cómo habilitar la partición

La partición está habilitada para las herramientas de geoprocesamiento mencionadas anteriormente especificando una clase de entidad de partición en el entorno de geoprocesamiento de Particiones cartográficas. Usar esta configuración solicita que las herramientas aplicables procesen las entidades de entrada secuencialmente en porciones en lugar de todas de golpe.

La clase de entidad de partición debería cubrir sensatamente el área de interés y dividir de forma más o menos equitativa las entidades de entrada. Las particiones demasiado grandes seguirán superando las limitaciones de memoria, pero usar particiones demasiado pequeñas disminuirá las consideraciones contextuales de la herramienta y la calidad de los resultados puede verse afectada.

Qué usar como particiones

Las entidades de partición pueden provenir de diferentes fuentes. Algunos flujos de trabajo pueden incluir ya particiones lógicas inherentes, como las extensiones de datos mostradas en un conjunto contiguo de mapas impresos. Las hojas de mapas modeladas como polígonos suelen formar particiones ideales. En este caso, podría usar la herramienta Entidades de índice de cuadrícula para crear una cuadrícula de entidades de polígono rectangulares. Estos serán particiones razonables siempre que los datos de entrada estén distribuidos de manera relativamente uniforme en el área de interés.

En el mapeo web, el esquema de ordenamiento en teselas de la caché puede crear un conjunto adecuado de particiones. Considere usar la herramienta Esquema de ordenamiento en teselas del caché del servidor de mapas a polígonos para crear una cuadrícula de polígonos que representen este esquema. Al igual que cuando se utilizan los límites de las hojas de mapa, este es un procedimiento válido cuando los elementos de entrada están distribuidos de forma más o menos uniforme.

En algunos flujos de trabajo, un dataset puede incluir una clase de entidades que forma particiones naturales contiguas, como condados o códigos postales. Suponiendo que estas entidades cubran y dividan adecuadamente las entidades de entrada, pueden usarse como particiones. Este es un buen enfoque con distribuciones de datos que varían en densidad. Por ejemplo, los polígonos de los códigos postales probablemente sean más pequeños donde hay mayor densidad de viviendas, por lo que los códigos postales pueden ser buenos para resolver conflictos de edificios.

Si no hay polígonos adecuados disponibles, también puede crear algunos específicamente para particionar. Utilice la herramienta Crear particiones cartográficas para crear un conjunto contiguo de polígonos que encierren un número aproximadamente igual de entidades de entrada o vértices.

Requisitos de partición

  • El tamaño de cada partición debe ser tal que no encierre más datos de entrada de los que excedan las capacidades de la herramienta. Este umbral se determina generalmente por el número de entidades de todas las capas de entrada y la complejidad de esas entidades. También variará dependiendo de la herramienta que se ejecute y de cómo se hayan definido los parámetros. Como guía general, consideremos particiones que contienen no más de unas 50.000 entidades de entrada. Si se utilizan vértices para el método de partición, elige un valor basado en la cantidad de memoria disponible. Aunque varía según la herramienta, 1 millón de vértices usarán alrededor de 0,5 GB de memoria.

  • Las entidades de partición deben representar una subdivisión lógica de las entidades de entrada que se procesarán por medio de las herramientas que observan este entorno. Las entidades de entrada de alguna manera se deben distribuir de manera uniforme entre las entidades de partición. Estas pueden ser un conjunto de entidades relacionadas espacialmente, por ejemplo: condados u otros límites administrativos; polígonos que representan hojas de mapa individuales, como aquellas creadas con la herramienta Entidades de índice de cuadrícula o particiones de polígono creadas específicamente para esta finalidad por la herramienta Crear particiones cartográficas.

  • Las entidades de partición deben ser correctas topológicamente. Los bordes de polígono adyacentes deben coincidir y no debe haber superposiciones. Los agujeros entre las entidades de partición son aceptables, pero las entidades de partición no pueden ser polígonos multipartes o polígonos con agujeros. Los polígonos deben tener geometría simple no superpuesta.

  • Cada polígono de partición debe tener un área mayor que cero. Las particiones nulas o vacías no se procesarán y provocarán una advertencia. Estas particiones serán ignoradas en el procesamiento.

  • Las entidades de partición deben representar una subdivisión lógica de las entidades de entrada que se procesarán por medio de las herramientas que observan este entorno. Las entidades de entrada de alguna manera se deben distribuir de manera uniforme entre las entidades de partición.

  • La extensión de las entidades de entrada debe estar cubierta por las entidades de la partición.

  • La geometría de la partición debe ser lo más sencilla posible. Las geometrías complejas afectarán al rendimiento de la herramienta cuando la partición esté activada.

Cómo funciona el procesamiento con la partición

Cuando se habilita la partición (especificando una clase de entidad de partición en el entorno de geoprocesamiento de Particiones cartográficas), las herramientas habilitadas para particiones procesan los datos de entrada en secciones, tal y como se definen por las particiones. Las particiones se procesan en orden del Id. del objeto de cada partición. Para procesar solo áreas específicas del mapa, utilice una capa en el mapa como variable de entorno y luego selecciona solo las entidades de partición relevantes antes de procesar. Si la clase de entidad de partición no cubre completamente las entradas, solo se procesarán aquellas áreas cubiertas por las particiones.

Incluso cuando los datos están particionados, puede haber situaciones en las que la cantidad de datos de entrada delimitada por una sola partición supere las limitaciones de memoria de la herramienta de procesamiento. En este caso, el procesamiento de esa partición falla y el procesamiento pasa a la siguiente partición. La mensajería de geoprocesamiento indica qué particiones no se procesaron. Un campo llamado STATUS se agrega a la clase de entidad de partición y se rellena con una de las siguientes sentencias que describen su estado:

  • 0 - No procesado

  • 1 - En procesamiento

  • 2 - Procesado correctamente

  • 3 - Memoria insuficiente

  • 4 - Error

Sugerencia:

Si necesitas conservar el estado de procesamiento que figura en el campo STATUS, agregue un nuevo campo a los datos y asigne el valor de ese campo al campo STATUS antes de ejecutar la siguiente herramienta habilitada para particiones.