Uso de la memoria caché de mapa por parte de los clientes

Este tema contiene tres partes. La primera sección describe cómo acceden y utilizan las teselas en una memoria caché de mapa las aplicaciones de ArcGIS. La segunda parte explica cómo estas aplicaciones almacenan las teselas para usar más tarde. La sección final proporciona algunas instrucciones para superponer memorias caché de mapa en aplicaciones de ArcGIS.

Cómo acceden y utilizan la caché las aplicaciones

Cuando termina de generar una memoria caché de mapa, el servicio de mapas se reinicia automáticamente y comienza a utilizar de inmediato la memoria caché. Cualquier aplicación de ArcGIS que pueda mostrar un servicio de mapas utiliza la caché, aunque la manera en la que se recuperan y utilizan las teselas varía entre las aplicaciones.

Aplicaciones Web

Cuando desarrolla con las API de ArcGIS para JavaScript, Flex y Silverlight, utiliza una clase específica para especificar que se está conectando a un servicio de mapas (en caché) teselado. Por ejemplo, con la API de JavaScript, utiliza ArcGISTiledMapServiceLayer para conectarse a un servicio en caché. Cuando utiliza el servicio en caché, las teselas se recuperan del directorio de caché mediante las llamadas REST al servicio de mapas. La solicitud de tesela toma la forma http://<URL del servicio de mapas>/tile/<nivel>/<fila>/<columna>.

Cuando utiliza el Marco de trabajo para desarrolladores de aplicaciones Web (ADF), agrega servicios de mapas en caché a sus aplicaciones de la misma manera que agrega cualquier otro servicio de mapas. El control de mapa reconoce si el servicio está almacenado en la memoria caché y trabaja con el servicio para obtener las teselas de memoria caché si están disponibles. Si está superponiendo cachés y el ADF Web no puede obtener ninguna tesela para uno de los servicios, trata a ese servicio como dinámico.

Después de una conexión inicial al servidor SIG, el ADF Web recupera las teselas directamente del directorio de caché virtual. Esta es la forma más rápida que tiene la aplicación de obtener las teselas. Las teselas sólo se pueden recuperar de esta manera para las cachés almacenadas en el formato expandido.

Si el directorio de caché virtual no está disponible o la caché está almacenada en formato compacto, la aplicación ADF Web intenta obtener las teselas del directorio de caché en el sistema de archivos. Para obtener información sobre las formas en las que la aplicación ADF Web intenta recuperar una tesela que no está inmediatamente disponible a través del directorio de caché virtual, consulte la discusión sobre el control de mapa.

Si está viendo un servicio en caché simple en cualquier aplicación Web y realiza un desplazamiento panorámico en un área donde no existen teselas, la aplicación no muestra una imagen dinámica; por lo contrario, no ve nada. Una forma de asegurarse de ver un mapa cuando realiza un desplazamiento panorámico en un área que no está en caché es habilitar la caché según demanda.

SugerenciaSugerencia:

Si el mapa aparece más lento de lo esperado, examine las direcciones URL de las imágenes de mapa para verificar que la aplicación esté recuperando las teselas. Una forma de hacer esto es abrir la aplicación en Mozilla Firefox y hacer clic en Herramientas > Información de página > Medios.

  • Si ve direcciones URL como esta, su aplicación está obteniendo las teselas correctamente de las solicitudes REST:
    http://myServer/ArcGIS/rest/services/myService/MapServer/tile/10/1723/3495.jpg
  • Si ve direcciones URL como esta, su aplicación está obteniendo las teselas correctamente del directorio de caché virtual:
    http://myServer:8399/arcgiscache/myService/Layers/_alllayers/L00/R00001019/C00000c55.png
  • i ve direcciones URL como esta, su aplicación no puede obtener las teselas del directorio de caché virtual, pero está obteniendo las teselas correctamente del sistema de archivos del servidor:
    http://myServer:8399/arcgis/services/myService/MapServer?mapname=Electric%20Solutions&level=14&column=2851&row=6544&format=PNG24&time=1191520207507
  • Si ve algún otro formato de dirección URL para sus imágenes de mapa, su aplicación está recuperando la tesela de una manera menos eficiente o la caché no se está usando.

Nunca se recomienda utilizar las cachés multicapa en aplicaciones Web. Si necesita activar y desactivar capas, puede superponer dos o más cachés combinadas para lograr el mismo efecto visual que el de una caché multicapa. Para hacer esto, utilice el siguiente flujo de trabajo:

  1. Coloque cada grupo de capas que habría participado en la caché multicapa en su propio documento de mapa. Asegúrese de que la extensión completa de los documentos de mapa sea la misma.
  2. Publique cada documento de mapa como un servicio de mapas.
  3. Cree una caché combinada para cada uno de los servicios de mapa utilizando el mismo esquema de ordenamiento en teselas (no se requiere hacer coincidir los formatos de imagen).
  4. Agregue los servicios a su mapa con el orden de capas y transparencias deseadas. Los usuarios de su mapa podrán activar y desactivar los servicios.

ArcMap

Agrega servicios de mapas en caché a ArcMap mediante el botón Agregar datos de la misma manera que agrega cualquier otro servicio de mapas. Hay dos formas en las que puede ver una caché en ArcMap:

  • Acceder a la caché a través de un servicio de mapas. Para ver una caché de esta forma, examine el servidor SIG y el servicio de mapas que se utilizó para crear la caché. En este escenario, ArcMap realiza una conexión inicial al servidor SIG para determinar si el servicio tiene una caché. A continuación, ArcMap recupera las teselas del directorio de caché en el sistema de archivos del servidor.
  • Acceder a la caché como un dataset ráster. Para ver una caché de esta forma, examine el directorio que contiene las teselas de memoria caché y elija agregar el dataset a ArcMap. La caché se representa con el mismo icono que se utilizó para agregar todos los otros rásteres mediante el botón Agregar datos. Una caché a la que se accede como ráster es para visualizar solamente y no se puede consultar. La ventaja con este tipo de caché es que no está vinculada a un servicio de mapas y se puede visualizar cuando está desconectada del servidor, siempre y cuando pueda acceder al directorio de caché.

Cuando se realiza una solicitud de una tesela en una escala que coincide exactamente con un nivel de escala en la caché, el servicio de mapas devuelve la tesela directamente. Con mayor frecuencia, las solicitudes no coinciden exactamente con los niveles de escala en la caché. En esta situación, ArcMap por lo general solicita la tesela del nivel de escala más cercano y la remuestrea para que coincida con la escala solicitada. Este remuestreo es aún más rápido que generar una tesela dinámicamente; sin embargo, da como resultado una imagen que tiene un aspecto diferente de la tesela original. Las etiquetas de mapa que se almacenaron en caché pueden ser difíciles de leer en ciertas escalas en ArcMap debido a este remuestreo. Para obtener mejores resultados, visualice el mapa en o cerca de las escalas a partir de las cuales se creó la caché.

ArcMap es el cliente más práctico para consumir cachés multicapa. Esto es porque ArcMap tiene la capacidad de combinar y etiquetar teselas de la caché multicapa en el cliente (a diferencia de las aplicaciones ADF Web).

ArcGlobe y ArcGIS Explorer

ArcGlobe y ArcGIS Explorer pueden leer cachés 2D y desplegarlas sobre la superficie del globo. Obtendrá un mejor rendimiento si crea una caché con uno de los esquemas de ordenamiento en teselas integrados que utilizan ArcGIS Online, Google Maps y Bing Maps. Si no puede utilizar uno de estos esquemas de ordenamiento en teselas, su mejor rendimiento resultará de utilizar losServicios de globo de ArcGIS Server.

Un escenario donde es posible que desee agregar un servicio de mapas en ArcGlobe es cuando creó una memoria caché de mapa 2D y desea crear una memoria caché de globo 3D idéntica a partir de la memoria caché 2D. En este escenario, sólo le preocupará generar la caché y no navegar por el globo.

Almacenamiento en caché local de capas en el cliente

ArcMap, ArcGIS Explorer y ArcGlobe mantienen cachés locales de las teselas que visitó. Cuando hace zoom y se desplaza panorámicamente sobre estas áreas, la aplicación utiliza la memoria caché local y no tiene que volver a recuperar las teselas del servidor.

Puede elegir si desea guardar la memoria caché local en el disco para utilizarla en sesiones futuras o utilizar la memoria caché local para la sesión actual solamente.

También puede elegir no guardar las teselas en la memoria caché local. Aunque esto hace que pierda el beneficio de rendimiento del almacenamiento en caché local, siempre puede asegurarse de que obtiene la última tesela del servidor.

Es posible que el administrador del servidor haya deshabilitado el almacenamiento en caché local de la capa, lo que también significa que siempre obtiene la tesela más actualizada. Si este es el caso, las otras opciones para guardar la caché localmente no están disponibles.

Si el administrador del servidor actualiza un área de la memoria caché del servidor que ya observó, debe borrar la memoria caché local para ver los cambios. ArcMap, ArcGIS Explorer y ArcGlobe no pueden detectar si se actualizó una caché. Si es administrador del servidor, debe alertar a los usuarios cuando estén disponibles los datos actualizados para que sepan que deben borrar sus memorias caché.

Superponer cachés

Al diseñar cachés de mapa que se superpondrán con otras cachés de mapa, hay algunos factores de diseño de caché importantes a considerar según qué aplicación se utilizará para ver las cachés.

Superponer memorias caché de mapa en aplicaciones Web

Las aplicaciones Web como las que se crean con las API de ArcGIS para JavaScript requieren que haga coincidir el sistema de coordenadas y el tamaño de teselas cuando superponga las cachés. También es una buena práctica hacer coincidir la mayor cantidad de escalas posible.

La forma más sencilla de hacer esto es hacer coincidir los esquemas de ordenamiento en teselas para las dos cachés y, a continuación, crear solamente las teselas en las escalas que tienen sentido para cada caché. De esta manera, puede asegurarse de que hizo coincidir el sistema de coordenadas y el tamaño de teselas y de que el software reconoce que las dos cachés tienen escalas en común.

Cuando diseñe cachés de mapa que se superpondrán con otras cachés de mapa en una aplicación ADF Web, hay ciertas reglas que debe seguir para asegurarse de que las cachés se superpongan correctamente. Para obtener más información sobre estas condiciones, consulte Superponer cachés de mapa en Java ADF Web.

Superponer cachés de mapa en ArcMap

Puede superponer cualquier cantidad de cachés de mapa en ArcMap. Las cachés no necesitan tener los mismos esquemas de ordenamiento en teselas o proyecciones; sin embargo, debido al remuestreo o reproyección que realiza ArcMap, utilizar esquemas de ordenamiento en teselas y proyecciones equivalentes puede mejorar la calidad de rendimiento y estética de su mapa.


3/6/2012