Almacenamiento en caché de mapa basado en los límites de la entidad

Las herramientas de almacenamiento en caché de mapa de ArcGIS Server le permiten restringir espacialmente la creación de teselas a los límites de una clase de entidad. Para hacer esto, utilice la opción Actualizar áreas específicas mediante una clase de entidad en la parte inferior de la herramienta Administrar teselas de memoria caché de servidor de mapas.

El almacenamiento en caché por límite de clase de entidad le permite crear teselas sólo en los lugares donde las necesita, evitando así áreas vacías o poco interesantes. Por ejemplo, si pone en caché un país, puede suministrar una clase de entidad de áreas urbanas principales. Al hacerlo, solicita que el servidor sólo cree previamente teselas que cubran aquellas áreas urbanas. El resto de las áreas se pueden almacenar en memoria caché según demanda, cuando lo soliciten los clientes. Esto permite ahorrar el tiempo y espacio en disco que se consumiría al crear teselas innecesarias en áreas rurales.

La imagen a continuación muestra una cuadrícula teórica de teselas que se crearían si la clase de entidad tuviera el estado de California. Utilizar Actualizar áreas específicas mediante una clase de entidad evita la creación de teselas innecesarias en el océano y en estados adyacentes. Estas teselas innecesarias se hubiesen incluido si se utilizara la extensión rectangular predeterminada.

Ilustración de la creación de teselas basado en los límites de la entidad.

Seguimiento del estado de su caché

Almacenar en caché por clase de entidad no sólo le ahorra espacio sino además lo ayuda a rastrear el estado de su caché. Puede utilizar la herramienta Administrar teselas de memoria caché de servidor de mapas para marcar qué entidades han tenido teselas creadas sobre sus áreas. Si elige utilizar el rastreo del estado, se agrega un campo En caché a la clase de entidad en contra de la que está almacenando en caché. Cuando se hayan creado teselas para la extensión de una entidad, el campo en caché de esa entidad se marca como .

Si ejecuta la herramienta para volver a Actualizar áreas específicas mediante una clase de entidad en la misma clase de entidad, la herramienta sólo crea teselas para registros cuyo campo en caché no haya sido marcado como Sí. Esto puede ser útil si su trabajo de almacenamiento en caché anterior se interrumpió y es generalmente más rápido que elegir la opción Volver a crear teselas vacías (que comprueba cada tesela de la memoria caché). Si no desea que la herramienta comience donde se había quedado, debe quitar el campo En caché, cambiar sus valores a otro que no sea Sí o marcar la casilla para ignorar el rastreo del estado.

SugerenciaSugerencia:

Habilitar el rastreo del estado le permite recuperarse de fallos de trabajos de almacenamiento en caché mucho más rápido que con la opción Volver a crear teselas vacías.

Mejores prácticas

Las siguientes sugerencias le ayudarán a crear de manera eficiente cachés basado en una clase de entidad:

Sólo almacenar en caché por clase de entidad en grandes escalas

En pequeñas escalas, crea relativamente pocas teselas, por eso no hace mucha diferencia su almacena en caché por clase de entidad o no. Crear todas las teselas en escalas pequeñas y medias asegura que a medida que los usuarios abran su mapa y comiencen a acercar, no pierdan ninguna tesela o tengan que crear ninguna tesela según demanda.

Para minimizar las etiquetas duplicadas, las herramientas de almacenamiento en caché dibujan una imagen de una gran área o supertesela antes de recortar la imagen en teselas del tamaño que solicitó. Cuando está habilitado el antialiasing, la supertesela tiene 2048 x 2048 píxeles; de lo contrario, tiene 4096 x 4096. Cuando su entidad interseca el límite de una supertesela, se debe crear esa supertesela completa. Esto significa que realiza un acercamiento antes de que el almacenamiento en caché por clase de entidad comience a tener un efecto real al ahorrar tiempo y espacio en disco. Si sus entidades son numerosas y están todas sobre el mapa, es posible que no obtenga mucho beneficio del almacenamiento en caché por clase de entidad porque la mayoría de sus entidades intersecarán una supertesela.

Generalizar los límites de la entidad

Demasiados vértices en la clase de entidad pueden retrasar las herramientas de almacenamiento en caché, pero afortunadamente no necesita tener muchos vértices. El hecho de que las herramientas de almacenamiento en caché dibujen áreas cuadradas tiende a suavizar cualquier entidad detallada que estuviese en la clase de entidad. Su clase de entidad no debe incluir cada isla, muelle y entrada.

Puede utilizar la herramienta Simplificar polígono para quitar sistemáticamente los vértices de la clase de entidad sin cambiar la forma general. Si su clase de entidad deriva de un modelo, puede poner Simplificar polígono como el paso final en el modelo. Algunas herramientas, como Zona de influencia, pueden agregar una cantidad excesiva de vértices a su clase de entidad.

Las imágenes a continuación muestran cómo se crean conjuntos de teselas muy similares ya sea que utilice una clase de entidad detallada o generalizada. A la segunda clase de entidad se le han quitado la mayoría de los vértices con la herramienta Simplificar polígono. Los cuadrados grises representan una supertesela de 4096 x 4096 a aproximadamente 1:4500.

Evitar entidades pequeñas

Para obtener la utilización de CPU más eficiente, evite utilizar entidades muy pequeñas para definir su trabajo de almacenamiento en caché. En cualquier momento dado, cada instancia de servicio (proceso ArcSOC.exe) es asignada para trabajar en la creación de un área de 128 teselas de ancho por 128 teselas de alto. Ningún otro proceso ArcSOC.exe puede crear teselas en esa área. Si su entidad es más pequeña, es posible que solo tenga un proceso ArcSOC.exe trabajando en el almacenamiento en caché. Si sucede que un límite de una de las regiones de 128 x 128 cruza su entidad, puede obtener dos o más procesos ArcSOC.exe trabajando en la memoria caché; sin embargo, el límite se basa en el origen del ordenamiento en teselas y no siempre resulta posible calcular donde quedará.

Lo mejor es crear entidades grandes para definir su trabajo de almacenamiento en caché. Las entidades grandes abarcan muchas de estas áreas de 128 x 128 teselas, por lo que sus procesos ArcSOC.exe estarán ocupados la mayor parte del tiempo.

Disolver varias entidades a unas pocas

Una manera de obtener entidades grandes a partir de entidades pequeñas es utilizar la herramienta Disolver. Esta herramienta toma varias entidades individuales y las convierte en una entidad multiparte. Otra herramienta útil con un efecto similar es la de Agregar polígonos, que quita los polígonos pequeños o los combina con la forma de un polígono más grande. Ambas herramientas le ayudarán a utilizar de modo más eficiente sus instancias de servicio durante el almacenamiento en memoria caché.

Usar regiones para rastrear estado

Después de que disuelve su clase de entidad como se describió más arriba, considere recortarla en algunas regiones grandes para que aún pueda rastrear el estado. Encontrar el mejor tamaño para las regiones puede ser un desafío. Quiere que las regiones sean lo suficientemente grandes como para obtener el uso más eficiente de sus procesos ArcSOC.exe, según se describe arriba; sin embargo, también quiere que las regiones sean lo suficientemente pequeñas como para no perder demasiado trabajo si la creación de teselas falla.

Una forma efectiva de crear regiones para almacenamiento en memoria caché es crear una cuadrícula con la herramienta Crear red y recortarla al límite de su clase de entidad. Puede mantener abierta una copia de la cuadrícula recortada en ArcMap y seguirla a medida que las herramientas de almacenamiento en caché informan "Procesando entidad con OID =8", Procesando entidad con OID =9", y así sucesivamente.

Es posible que desee hacer algún procesamiento posterior manual en su clase de entidad cuadriculada para combinar algunas de las entidades más pequeñas con sus vecinos más grandes. En el gráfico anterior, observe cómo las islas pequeñas se disolvieron en sus regiones adyacentes para evitar la inclusión de entidades muy pequeñas.

Temas relacionados


3/6/2012