Tutorial: Crear un servicio de mapas en memoria caché
La mejor forma de crear servicios de mapas rápidos es almacenarlos en memoria caché. Cuando almacena en caché un servicio de mapas, el servidor dibuja el mapa en un conjunto de niveles de escala que usted define y guarda las imágenes. Cuando el servidor recibe una solicitud de un mapa, es mucho más rápido devolver una de estas imágenes en caché que volver a dibujar el mapa.
El almacenamiento en caché es apropiado para mapas base y mapas que no cambian con frecuencia. Para mapas que sólo cambian ocasionalmente, están disponibles las herramientas para actualizar la caché. Para lograr un rendimiento óptimo, debe almacenar en caché la mayor cantidad de capas posible. Le puede resultar útil hacer dos mapas y separar las capas que son apropiadas para almacenar en caché de las capas que no serían posible almacenar en caché. Por ejemplo, podría crear un servicio de mapas en caché a partir de las capas del mapa base y un servicio de mapas que no está en caché a partir de las capas que se actualizan en tiempo real o las capas que cambian como resultado del análisis o modelado.
Crear una memoria caché de mapa efectiva requiere que haga algún diseño cuidadoso y cree trabajo antes de crear la caché. Este tutorial lo guía en el proceso de planificación y creación de un mapa que se guardará en la memoria caché. Luego creará un servicio de mapas y lo guardará en la memoria caché. Finalmente, probará la memoria caché en varias aplicaciones cliente.
Cuando trabaje con este tutorial, seleccione algunos datasets simples que cubran un área relativamente pequeña, como una ciudad o condado. Este tutorial está destinado como práctica para que pueda prepararse para futuros trabajos de almacenamiento en memoria caché dentro de su organización. Preste mucha atención a la discusión y a las instrucciones, pero no se preocupe por entenderlas a la perfección la primera vez. Diseñar buenas cachés requiere de práctica.
Este tutorial tiene cuatro secciones principales:
Crear el mapa
Cuando almacena en memoria caché un mapa, el servidor lo dibuja en un conjunto de escalas que selecciona. Una vez que se dibuja el mapa, no puede cambiar el aspecto a menos que vuelva a crear o actualice la caché. Esto significa dos cosas importantes:
- El mapa se debe ver bien en cada nivel de escala antes de que lo almacene en memoria caché. Un mapa en papel se diseña para que se vea bien en una escala, sin embargo, un mapa en caché se tiene que diseñar para cada escala que almacena en caché.
- Los niveles de escala que elige son muy importantes. Si elige pocas escalas, los usuarios pueden pensar que falta información o que no pueden obtener una buena vista del mapa. Si elige demasiadas escalas o elige escalas que no son necesarias, aumenta el tiempo de creación de la caché y el espacio de almacenamiento requerido.
Es probable que su organización ya haya determinado un esquema de ordenamiento en teselas para usar cuando se almacene en memoria caché. Un esquema de ordenamiento en teselas determina ciertas propiedades de su caché, incluso qué niveles de escala crear.
Elegir sus escalas
En este tutorial, se supone que está creando su propio esquema de ordenamiento en teselas y que debe elegir algunas escalas. Para comenzar a determinar escalas apropiadas para su mapa, siga los pasos a continuación:
- Abra un documento de mapa y agregue sus datasets. Establezca alguna simbología inicial para que el mapa se vea bien, pero no establezca demasiados detalles en este punto. Guarde mapa.
- Ahora, tómese unos minutos para navegar por los datos. Haga zoom y un desplazamiento panorámico por las áreas que verán los usuarios con mayor frecuencia. A medida que navegue, tenga en cuenta mentalmente las escalas que está viendo.
- Acerque a la escala más cercana que cree que necesitarán los usuarios para ver este mapa. Redondee un poco esta escala y escríbala.
- Tome la escala que actualmente está viendo y divídala por dos (recuerde que la escala realmente es una fracción, por eso al dividirla por dos duplica el denominador). Por ejemplo, si está viendo 1:40,000, acerque a 1:80,000. La forma más sencilla de hacer esto es escribir la escala directamente en la lista desplegable de escalas. Escriba la nueva escala y examine brevemente el mapa.
- Siga dividiendo la escala por dos y escriba la escala hasta que alcance un punto donde sus usuarios no necesiten alejar más. Ahora tiene su lista de escalas.
Nota: No se requiere que divida la escala por dos; puede utilizar otros números. Pero en la mayoría de los casos, dividir por dos proporciona una buena magnitud de zoom.
Configurar ArcMap para que funcione con sus escalas
Ahora que eligió algunas escalas, puede hacer que el mapa se vea bien en cada una de ellas. A medida que crea el mapa, es posible que deba alternar entre estas escalas. Para que esto sea más fácil, puede introducir las escalas en la lista desplegable en ArcMap:
- Haga clic en la lista desplegable de escalas en ArcMap.
-
Haga clic en Personalizar esta lista.
- Si sólo desea que aparezcan sus escalas en la lista, haga clic enEliminar todo.
-
Escriba una de sus escalas en la casilla y haga clic en Agregar. Siga haciendo esto hasta que haya agregado todas sus escalas y haga clic en Aceptar.
Crear el mapa
Ahora es momento de hacer el trabajo de diseño del mapa real. Un beneficio de almacenar en memoria caché su mapa es que durante la fase de diseño, puede utilizar todas las herramientas cartográficas a su disposición sin preocuparse sobre cómo afectarán el rendimiento. Tómese un tiempo para hacer que su mapa se vea bien, ya que una vez que se crea la caché, no podrá realizar cambios sin volver a crear o actualizar la caché. Los usuarios de la caché tampoco podrán cambiar la simbología, ya que sólo están viendo imágenes del mapa preexistentes que se almacenan en el servidor.
Una buena práctica es diseñar su mapa en cada escala que eligió para su caché. Esto es más sencillo para datos ráster porque ArcMap hace un remuestreo de los datos a medida que cambia las escalas. Sin embargo, los datos vectoriales se simbolizarán con puntos y líneas del mismo tamaño en cada escala y requieren un poco más de esfuerzo para evitar que el mapa luzca demasiado desordenado o demasiado disperso. Los pasos a continuación describen una estrategia de diseño que puede utilizar si su mapa contiene datos vectoriales.
- Con su mapa abierto en ArcMap, aleje hasta la escala más lejana (la más pequeña).
-
Configurar la simbología y el etiquetado de sus capas para esta escala.
Sugerencia: Es posible que desee configurar una consulta de definición para que menos entidades estén visibles en esta escala. Por ejemplo, si tiene una capa de ciudades, puede configurar una consulta de definición que limite la visualización a ciudades con una población mayor a 20,000.
- Acerque a la próxima escala más cercana.
-
Configurar la simbología y el etiquetado de sus capas para esta escala.
Sugerencia: Si desea cambiar la simbología, el etiquetado o la consulta de definición en una capa que ya simbolizó en una escala diferente, agregue otra copia de la capa al mapa. Para eso, haga clic con el botón derecho en la capa en la tabla de contenido de ArcMap y, a continuación, haga clic en Copiar. Después, haga clic con el botón derecho en el nombre del marco de datos y, a continuación, haga clic en Pegar capa(s).
Si termina con varias copias de una capa, puede utilizar una capa de grupo para rastrearlas. Es más sencillo hacer una capa de grupo para cada escala. De esa manera, sólo tiene que configurar la dependencia de la escala en el grupo en lugar de en cada capa individual. También puede incluir la escala en el nombre. Por ejemplo, puede tener esta jerarquía de capa de grupo:
Debe configurar un rango de escala en cada capa para que sólo una esté visible en cada escala de caché. Configure el rango de escala con una tolerancia alrededor de cada escala de memoria caché. Por ejemplo, con la capa de calles dibujada arriba que se almacenará en memoria caché en 1:1,500,000, puede configurar la capa para que esté visible sólo cuando se aleje más allá de 1:1,000,000 y se acerque más allá de 1:2,000,000.
- Continúe haciendo zoom en cada escala sucesiva y simbolizando de manera apropiada hasta que haya trabajado a través de todas las escalas en su lista.
- Guarde su mapa y cierre ArcMap. Está listo para publicar el mapa.
Publicar el servicio de mapas
Para crear la memoria caché, primero debe publicar su mapa como un servicio. Puede utilizar el Administrador de ArcGIS Server o la ventana Catálogo. Estas instrucciones utilizarán la ventana Catálogo, ya que la utilizará para crear la memoria caché de todos modos. Además, la capacidad de iniciar las herramientas de almacenamiento en caché sólo está disponible en ArcGIS Desktop.
Tanto en el Administrador como en ArcCatalog, hay dos formas de crear un servicio. El asistente Publicar recurso SIG le solicita la cantidad mínima de información necesaria para obtener el servicio y que funcione. Establece valores predeterminados para las demás propiedades del servicio. En cambio, el asistente Agregar nuevo Servicio le permite configurar propiedades avanzadas antes de publicar el servicio. Estas instrucciones muestran cómo utilizar el asistente Agregar nuevo Servicio para que pueda incrementar el número predeterminado de instancias que se ejecutan. Este mayor número de instancias podrá utilizar más recursos del procesador cuando cree la caché.
- Abra ArcCatalog y realice una conexión administrativa a su servidor SIG. Si necesita ayuda con este paso, consulte Realizar una conexión administrativa a ArcGIS Server en ArcCatalog.
- Haga clic con el botón derecho en la conexión y, a continuación, haga clic en Agregar nuevo Servicio.
- Escriba un Nombre para el servicio y haga clic en Siguiente.
- Complete el cuadro de texto Documento de mapa al examinar el documento de mapa que creó. La cuenta del Contenedor de objetos del servidor (SOC) necesita permisos para leer este documento y cualquier dato al que hace referencia.
- Utilice la lista desplegable Directorio de memoria caché del servidor para elegir el directorio donde desea que se cree su caché. Si la lista está vacía, debe agregar un directorio de memoria caché del servidor antes de continuar. Para obtener ayuda, consulte Crear un directorio del servidor.
- Cuando haya elegido el directorio de memoria caché del servidor, haga clic en Siguiente. Haga clic nuevamente en Siguiente para elegir las capacidades predeterminadas para el servicio.
-
Ahora está en la página del asistente donde puede elegir el modelo de agrupación y el número de instancias para el servicio. Para los servicios en caché, siempre debe elegir el valor predeterminado Agrupado. Sin embargo, puede aumentar o disminuir la cantidad máxima de instancias a un número mayor que 2.
En la mayoría de los casos, un CPU puede manejar al menos 3 instancias mientras almacena en caché. Los equipos más poderosos, o las configuraciones con varios equipos SOC, pueden manejar aún más instancias. Si desea utilizar toda la potencia de su servidor al crear la caché o si tiene una implementación de ArcGIS Server muy grande, debe aumentar la cantidad máxima predeterminada de instancias.
Es posible que se pregunte si debe aumentar el valor de tiempo de espera predeterminado a un valor mayor que el predeterminado, ya que crear la caché puede llevar mucho tiempo. En realidad, las herramientas de almacenamiento en caché restablecen el valor de tiempo de espera para que sea muy grande antes de comenzar a crear las teselas, por lo tanto no debe cambiar el valor de tiempo de espera predeterminado aquí.
- Después de cambiar la cantidad máxima de instancias, haga clic en Siguiente, después haga clic nuevamente enSiguiente para seguir aceptando los valores predeterminados a través del asistente. En la página final, elija Sí, iniciar el servicio ahora, después haga clic en Finalizar para crear el servicio.
- En ArcCatalog, utilice la pestaña Vista previa para verificar que el servicio aparezca como se espera.
Crear la memoria caché
Ahora que tiene un servicio de mapas ejecutándose, puede crear la caché. Para comenzar con el almacenamiento en caché, siga estos pasos:
- En ArcCatalog o en la ventana Catálogo en ArcMap, busque su servicio en el árbol de catálogo. Haga clic con el botón derecho en el servicio y, a continuación, haga clic en Propiedades del servicio.
- Haga clic en la pestaña Almacenamiento de memoria caché. Aquí es donde puede acceder a algunas de las propiedades de la caché. Utilizará esta pestaña para configurar el esquema de ordenamiento en teselas antes de comenzar a crear las teselas de memoria de caché.
- Elija dibujar el servicio de mapas Utilizando las teselas de una caché que definirá a continuación.
- Escriba una de sus escalas en el cuadro de texto Escalas, después haga clic en Agregar. Debe ver que la escala aparece en la lista.
- Siga ingresando las escalas y haciendo clic en Agregar para cada una hasta que haya llegado al final de su lista.
-
Cambie el Formato de tesela de la caché a JPEG. Este formato produce pequeñas teselas y reducirá el espacio en disco que se necesita para almacenar la caché. Los clientes también pueden cargar las teselas más rápido.
Nota: Este paso supone que no va a superponer esta caché en otro servicio. Para los servicios de superposición, como redes de límite y de carretera, debe elegir PNG8 o PNG32. Utilice PNG32 si su servicio de superposición tiene más de 256 colores.
- Ahora configuró su esquema de ordenamiento en teselas (utilizará los valores predeterminados para las demás propiedades). Es momento de comenzar a crear las teselas. Haga clic en Crear teselas.
- La herramienta Administrar teselas de memoria caché de servidor de mapas aparece con mucha de la información requerida ya competa. Esta es la herramienta que utilizará para crear las teselas. Tómese un momento para examinar los parámetros de la herramienta.
- Cambie la configuración Modo Actualizar a Volver a crear todas las teselas. Utilizará esta configuración con mayor frecuencia para crear y actualizar sus cachés.
-
Opcionalmente, cambie la configuración Número de instancias de MapServer. Este número es una medición del cálculo de potencia del servidor que desea dedicar a crear su caché.
Para obtener más información sobre esta configuración, consulte Asignación de recursos del servidor para crear una memoria caché de mapa.
- Completó las propiedades esenciales para la herramienta, por lo tanto haga clic en Aceptar para comenzar a generar la caché.
Según su escala más grande, la extensión sus datos y otros factores, la caché puede demorar un tiempo en generarse. Si eligió algunos datasets simples con una pequeña extensión geográfica para este ejercicio, la caché probablemente se completará en menos de una hora. La ventana de estado de geoprocesamiento muestra una barra de progreso de cuánto se completó de su caché.
En Linux/Solaris, puede crear/actualizar las memorias caché desde la línea de comandos.
Probar la memoria caché
Una vez que finaliza la caché, puede probarla en una Aplicación de representación cartográfica en la red para asegurarse de que el mapa aparezca y funcione de la manera que espera. También es una buena manera de verificar que la aplicación reconoce y utiliza las teselas correctamente.
La aplicación Web que utiliza para probarla puede ser una aplicación simple. Una buena manera de crear la aplicación de prueba es utilizar el Administrador de ArcGIS Server.
- Haga clic en la pestaña Inicio del Administrador y, a continuación, haga clic en Crear una aplicación Web.
- Escriba un Nombre para su aplicación Web y opcionalmente introduzca una Descripción. A continuación, haga clic en Siguiente.
- En este panel, haga clic en Agregar capa. Después, examine su servicio de mapas en caché y agréguelo al mapa. Si necesita ayuda con este paso, consulte Seleccionar las capas para mostrar.
- Completó la parte más importante del asistente. Haga clic en Finalizar para aceptar los valores predeterminados para la configuración de la otra aplicación.
-
Aparecerá la aplicación Web completa en una nueva ventana. Los niveles en el control deslizante de nivel de zoom corresponden a las escalas en su caché.
- Haga un desplazamiento panorámico por el mapa y acerque a los distintos niveles. Cuando haga un desplazamiento panorámico y haga zoom en el mapa, deberá ver que las teselas del mapa aparecen muy rápido.
Solución de problemas
Si no parece que la aplicación utiliza la caché, asegúrese de que
- Los niveles de su servicie pack coincidan (si tiene service packs aplicados).
- Creó una caché combinada en lugar de una caché multicapa. El valor predeterminado es combinada, y estas instrucciones, si se siguen con exactitud, crearán una caché combinada.
- La cuenta SOC tiene permisos de Lectura y Escritura para el directorio de memoria caché de su servidor.
Si utiliza Mozilla Firefox para ver su aplicación Web, hay una forma sencilla de decir si se están utilizando las teselas de su caché.
- Haga clic en Herramientas y, a continuación, haga clic en Información de página.
- Haga clic en la pestaña Medios.
-
Examine las imágenes que aparecen en la lista. Si ve imágenes del directorio de memoria caché de su servidor (o su directorio virtual asociado), sabe que se está utilizando su caché.
Lectura recomendada
- Si le interesa obtener más información sobre el diseño de mapas, los distintos parámetros de entrada de caché, y sobre cómo anticipar cuánto tiempo llevará crear su caché, lea Planificar una memoria caché de mapa.
- Sugerencias y mejores prácticas para el almacenamiento en caché de mapa contiene algunas pautas de almacenamiento en caché adicionales que no se encuentran en este tutorial.
- Para obtener más información sobre el almacenamiento en caché en 3D, consulteCómo funcionan las cachés de globo.