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 la memoria antes de que el procesamiento pueda iniciar. Los límites de memoria de estas herramientas se pueden exceder fácilmente por medio de datasets grandes o por una gran cantidad de datasets de entrada. La partición es una manera de subdividir una cantidad grande de datos en conjuntos de entidades más manejables.

Cuando las herramientas se ejecutan en datos en particiones, cada partición se procesa en secuencia. Las entidades en o cerca de los límites de partición se administran estrechamente para evitar discrepancias. Los datos adicionales más allá de cada partición se cargan por medio de la herramienta y se tienen en cuenta durante el procesamiento, pero solamente las entidades dentro de la partición se modificarán en ese momento. El resultado es una salida final uniforme.

Por lo general, si hay más de unas 100.000 entidades colectivamente en todas las capas de entrada, o si las entidades son complejas con un gran número de vértices, plantéese utilizar la partición para ejecutar la herramienta. Las siguientes herramientas se pueden habilitar para la partición:

Cómo habilitar la partición

La partición está habilitada para las herramientas de geoprocesamiento enumeradas anteriormente al especificar una clase de entidad de partición en la configuración del entorno de geoprocesamiento Particiones cartográficas. Utilizar esta configuración indicará a las herramientas aplicables que procesen las entidades de entrada consecutivamente en partes en lugar de todas a la vez.

La clase de entidad de partición debe cubrir sensiblemente el área de interés y, de alguna manera, divide uniformemente las entidades de entrada. Las particiones que sean demasiado grandes seguirán excediendo los límites de memoria, pero el uso de particiones que son demasiado pequeñas disminuirá las consideraciones contextuales de la herramienta y la calidad de resultados podría verse afectada.

Qué usar como particiones

Las entidades de partición pueden provenir de orígenes diferentes. Algunos flujos de trabajo ya podrían incluir particiones lógicas, como las extensiones de datos que se muestran en un conjunto contiguo de mapas impresos. Las hojas de mapas modeladas como polígonos suelen formar particiones ideales. En este caso, puede utilizar la herramienta Entidades de índice de cuadrícula para crear una cuadrícula rectangular de entidades de polígono. Estas harán particiones razonables siempre que los datos de entrada se distribuyan relativamente de manera uniforme a través del área de interés.

En la representación cartográfica en la red, el esquema de ordenamiento en teselas puede formar un conjunto apropiado de particiones. Considere el uso de la herramienta Esquema de ordenamiento en teselas de caché del servidor de mapas para polígonos para crear una cuadrícula de polígonos que represente este esquema. De manera similar al uso de extensión de hoja de mapa, este es un flujo de trabajo válido cuando las entidades de entrada están distribuidas un tanto uniformemente.

En algunos flujos de trabajo, un dataset puede incluir una clase de entidad que forma particiones contiguas naturales, como condados o Códigos postales. Asumiendo que estas entidades cubren de manera adecuada y dividen las entidades de entrada, se pueden utilizar como particiones. Esto es un buen enfoque con distribuciones de datos que varían en densidad. Por ejemplo, los polígonos de código postal probablemente son más pequeños en donde hay una alta densidad de residencias, así que los códigos postales pueden hacer buenas particiones al resolver conflictos de edificio.

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

Requisitos de partición

  • El tamaño de cada partición debe ser tal que no incluya más datos de entrada que excederán las capacidades de la herramienta. Este umbral se determina generalmente por medio del número de entidades de todas las capas de entrada y la complejidad de esas entidades. También variará dependiendo de qué herramienta se ejecuta y de cómo se han definido los parámetros. Como pauta general, tenga en cuenta las particiones que no contengan más de unas 50.000 entidades de entrada. En caso de utilizar vértices para el método de partición, elija un valor que se base en la cantidad de memoria disponible. Aunque puede variar de una herramienta a otra, 1 millón de vértices ocuparán unos 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 como, 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.
  • Las entidades de partición deben cubrir la extensión de las entidades de entrada.
  • La geometría de la partición debe ser tan simple como sea posible. Las geometrías complejas tendrán un impacto en el rendimiento de la herramienta cuando la partición está habilitada.

Cómo funciona el procesamiento con la partición

Cuando la partición está habilitada (al especificar una clase de entidad de partición en la configuración del entorno de geoprocesamiento Particiones cartográficas), las herramientas habilitadas por la partición procesarán datos de entrada en secciones, como se define por las particiones. Las particiones se procesan en el orden de la Id. de objeto de cada partición. Para procesar solamente áreas específicas del mapa, use una capa del mapa como la variable de entorno y luego seleccione solamente las entidades de partición relevantes antes del procesamiento. Si la clase de entidad de partición no cubre por completo las entradas, solo se procesarán las áreas que queden cubiertas por la partición.

Aun cuando los datos están divididos, es posible que haya situaciones en donde la cantidad de datos de entrada delineados por una partición individual aún excederán los límites de memoria de la herramienta de procesamiento. En este caso, el procesamiento para esa partición falla y el procesamiento continúa a la siguiente partición. Los mensajes de geoprocesamiento indica qué particiones no se procesaron. Un campo denominado ESTADO se incorpora a la clase de entidad de la partición y se rellena con una de las declaraciones siguientes delineando su estado:

  • 0 - No procesado
  • 1 - Se está procesando
  • 2 - Procesado correctamente
  • 3 - Memoria insuficiente
  • 4 - Error

Sugerencia:

Si necesita preservar el actual estado de procesamiento del campo ESTADO, agregue un nuevo campo a los datos y calcule el campo con el valor del campo ESTADO antes de ejecutar la próxima herramienta con partición habilitada.

Temas relacionados