Acerca de las capas operacionales
Cada aplicación de SIG Web requiere un conjunto de capas operacionales para la utilización por parte de un grupo particular de usuarios. Habitualmente, los datos de capa operacional están limitados a pocas capas enfocadas y solamente se muestra cuando los usuarios hacen zoom a cierto nivel. Los datos se transmiten al cliente y luego el cliente los renderiza y administra.
Hay varias razones detrás de este patrón. Primero, las capas operacionales con frecuencia son dinámicas y por lo tanto generalmente no se pueden colocar en caché por anticipado. Segundo, los usuarios esperan que las capas operacionales tengan reacción, que se tracen rápidamente que informen detalles con el clic del ratón y que muestren vínculos a ciertas funciones. Tercero, las capas operacionales deben estar en el mismo sistema de coordenadas que su servicio de mapa base. Esto es especialmente relevante ya que las discrepancias del sistema de coordenadas puede resultar en problemas de superposición, rendimiento deficiente y errores en la aplicación SIG Web.
La renderización dinámica y la interacción del usuario que corresponde al cliente se puede implementar con una API del navegador, como la API de asignación Web de ArcGIS para JavaScript, Flex y Silverlight. Sin embargo, los datos de capa operacional ocasionalmente pueden ser demasiado grandes para renderizarlos efectivamente por medio del navegador. En este caso, los datos de la capa operacional deben ser renderizados por el servidor.
Tres métodos para publicar capas de mapas operacionales
Tiene pocas opciones al considerar como pulbicará sus capas de mapa operacional en el servidor:
- Utilizar consultas para seleccionar un subconjunto de entidades que cumplan con criterios en particular, y después visualizar los resultados de las consultas a través de gráficos de mapas y texto.
- Como un servicio de mapas dinámico
- Como un servicio de mapas en memoria caché
Mostrar los resultados de las consultas como gráficos y texto de mapas
Uno de los mecanismos más eficientes para visualizar información operacional consiste en utilizar los resultados de una consulta. Debe consultar el servidor SIG, que devuelve un conjunto de resultados de entidades como un pequeño conjunto de registros. Los resultados de la consulta que se devuelven desde el servidor incluyen un conjunto de entidades, sus coordenadas y un conjunto de atributos de cada entidad. Estos resultados se muestran en el mapa como gráficos interactivos e información descriptiva con la que se puede trabajar, realizar gráficos, resumir y utilizar como hipervínculos en los que se puede hacer clic para acceder a información más detallada acerca de cada entidad.
Este enfoque requiere una programación de la aplicación para crear la capa de mapa de resultados. Cada API de representación cartográfica Web de ArcGIS contiene la ayuda sobre cómo hacer las consultas y la visualización de resultados en el mapa como gráficos del cliente.
Como un servicio de mapas dinámico
Uno de los tipos de servicios de mapas que puede publicar es un servicio de mapas dinámico. Tal y como su nombre indica, la visualización de la capa de mapa se genera dinámicamente. Es decir, la visualización se calcula y se sirve cada vez que un cliente hace una solicitud al servidor para mostrar el servicio de mapas. La imagen del mapa resultante se envía a la aplicación que hace la solicitud y se superpone sobre el mapa base.
Para crear un servicio de mapas dinámicos, primero debe crear un documento ArcMap que contenga una capa sencilla o varias capas enfocadas. Luego puede publicarlo como un servicio de mapas. El servicio de mapas resultante se consumirá en su aplicación SIG Web, permitiendo que los usuarios trabajen con la información operacional.
Los servicios de mapas dinámicos tienen la ventaja de proporcionar un estado actualizado y preciso para la capa operacional. Sin embargo, las capas de mapa dinámico son, por lo general, la forma más lenta de dibujar un mapa en la Web.
Como un servicio de mapas en memoria caché
Otra forma alternativa para proporcionar capas de mapa operacional es utilizar un servicio de mapas en caché en el que la visualización del mapa se calcule previamente y se almacene en una memoria caché de mapa con anterioridad. En estos casos, no es necesario volver a calcular la vista de la capa de mapa operacional cada vez que un cliente solicita un mapa desde un servidor. En cambio, se recuperan las teselas del mapa adecuado desde el servidor, lo que incrementa considerablemente el rendimiento y la escalabilidad.
En algunos casos, las capas de mapa operacional son más estáticas y cambian con menos frecuencia. Esto significa que puede actualizarlas periódicamente, calculando previamente el mapa en lugar de calcular un nuevo mapa cada vez que se solicita uno desde el servidor. De esta forma, todas las personas pueden acceder a un servicio de mapas más rápido y eficaz con el que trabajar.
Los servicios de mapas en caché son también muy escalables, lo que significa que responden bien a muchos accesos simultáneos en su servidor. Si espera una gran cantidad de tráfico de usuarios, podría merecer la pena el almacenamiento en memoria caché de su capa, incluso si va a necesitar hacer actualizaciones frecuentes para la memoria caché.
Si no dispone del tiempo o del espacio de disco necesarios para crear todas las teselas para sus memorias caché, puede elegir crear previamente algunas teselas y crear el resto según demanda. Cuando el primer cliente accede a la aplicación SIG Web, se calcula la memoria caché de mapa para el área solicitada (para un conjunto de teselas de mapa) y se crea la memoria caché. Cualquiera que visite las mismas teselas de mapa utiliza simplemente la nueva memoria caché de mapa. Cada vez que un usuario realiza una solicitud, recupera esa tesela del mapa almacenado en caché, si existe. En caso contrario, calcula la tesela y la almacena en la memoria caché en el disco. Solamente es necesario que el primer usuario calcule la visualización del mapa y, a continuación, los demás usuarios pueden acceder al mapa en caché de la capa operacional.
Vea el tema ¿Qué es el caché de mapa?para obtener más información sobre cómo crear servicios de mapa en caché.