Para hacer que un mapa esté disponible en la Web, debe crear un mapa en ArcMap, publicarlo en su sitio de ArcGIS Server y, después, utilizar el servicio de mapas resultante en una aplicación de cliente. Muchas de las cosas que puede hacer con los servicios de mapas requieren cierta preparación en la fase inicial de creación. Este tema incluye preguntas que puede tener en cuenta para crear un mapa que desea publicar en su sitio.
Sugerencias generales
Las siguientes sugerencias son importantes para todos los documentos de mapa que se publican en el sitio de ArcGIS Server:
Evite el uso de caracteres no alfanuméricos (excepto los espacios) en los nombres de marco de datos o de capa. Al publicar un servicio, los nombres de marcos de datos y capas se utilizan a veces en direcciones URL, nombres de carpetas de caché y parámetros de solicitud de servicios Web. Es posible que los caracteres no alfanuméricos no se interpreten correctamente en estas situaciones. Tenga un cuidado especial a la hora de exponer el servicio a través de especificaciones OGC. Por ejemplo, consulte Propiedades del servicio WMS disponibles para obtener una lista de caracteres que no deben utilizarse con los servicios WMS.
Quite la información confidencial de las propiedades del documento. ArcGIS Server incluye el Directorio de servicios, el cual permite a los usuarios navegar por los contenidos del servidor y obtener metadatos acerca de los servicios. Aunque desee permitir que los servicios sean visibles públicamente mediante el Directorio de servicios (la configuración predeterminada), es posible que haya información confidencial en el documento de mapa que desee ocultar. Para ver qué información puede ser visible, abra el documento de mapa en ArcMap y elija Archivo > Propiedades del documento de mapa en el menú principal. Cuando publica el mapa, obtendrá una oportunidad de quitar los nombres de usuario autor, los comentarios u otra información que ustedes no quieren que sea visible mediante el Editor de servicio. Debe editar la información necesaria para reflejar el propósito y audiencia deseada de su servicio de mapas.
Quite todas las capas de servicio de mapas del documento de mapa. No se puede publicar un documento de mapa que contenga una capa de servicios integrada.
Configure explícitamente un color de fondo para el marco de datos en lugar de dejar el color de fondo nulo predeterminado. El servicio de mapas tratará el color de fondo como transparente, por lo que debe evitar elegir un color que se encuentre en otra parte del mapa. Para evitar que las áreas blancas del mapa se hagan transparentes, puede establecer el color de fondo en casi blanco (ejemplo: RVA 254, 255, 255).
Puede configurar el color de fondo en la pestaña Marco del cuadro de diálogo Propiedades del marco de datos.
Configurar el documento de mapa para conservar los Id. de capas y tablas
En versiones anteriores de ArcGIS Server, los Id. de capas y tablas de los servicios de mapas y entidades no se conservaban después de modificar el documento de mapa de origen. Esto obligaba a actualizar las aplicaciones cliente que consumían capas y tablas para que utilizaran los Id. actualizados. Para evitar tener que actualizar las aplicaciones cliente, se recomienda configurar el documento de mapa para que conserve los Id. de capas y tablas como se describe a continuación.
- Abra el documento de mapa de origen (MXD) en ArcMap.
- Haga clic con el botón derecho en el nombre del marco de datos deseado y seleccione Propiedades.
- En el cuadro de diálogo Propiedades del marco de datos, haga clic en General y active la opción Permitir asignación de Id. numéricos únicos para la publicación del servicio de mapas.
- Haga clic en Aceptar. ArcMap asigna automáticamente Id. secuenciales a cada capa y tabla del marco de datos.
- Si lo desea, asigne a las capas y tablas sus propios Id. personalizados:
- Haga clic con el botón derecho del ratón en la capa o tabla en la cual desea asignar un Id. personalizado y seleccione Propiedades.
- En el cuadro de diálogo Propiedades de capa, haga clic en General y asigne el entero deseado en el campo Id. de capa.
- Haga clic en Aceptar.
- Repita los subpasos anteriores para cada capa o tabla deseada.
- Publique el documento de mapa o sobrescriba el servicio existente.
Ahora los Id. de capa se conservarán después de publicarse. Ya no necesitará modificar ninguna aplicación cliente después de modificar el documento de mapa.
¿Se puede almacenar el mapa en caché para mejorar el rendimiento?
Si el mapa contiene datos que es muy probable que no cambien, debe considerar almacenar el mapa en caché para mejorar el rendimiento. Cuando lo hace, crea un conjunto de imágenes de mapa representadas previamente en ciertos niveles de escala. El almacenamiento en caché real tiene lugar después de que el mapa se publica como servicio. Sin embargo, si ya sabe que va a almacenar el mapa en caché, esto influye en el proceso de creación del mapa. El objetivo es crear el mapa para que se vea bien en todas las escalas que se van a almacenar. Puede usar cualquier herramienta cartográfica sin afectar el rendimiento porque las teselas almacenadas en caché son sólo ilustraciones de los datos, los motores de representación en pantalla y de etiquetado no se utilizan después de creada la caché.
Si no puede almacenar el mapa en caché, los motores de representación en pantalla y de etiquetado afectarán el rendimiento del servicio de mapas. Para obtener más información, consulte ¿Qué es el caché de mapa?
Sugerencias de rendimiento para mapas que no están en caché
Debe crear una caché de mapa cuando sea necesario. No obstante, si tiene una gran cantidad de datos que cambian frecuentemente, tal vez no sea posible crear y mantener una caché de mapa. Si este es el caso, puede utilizar las sugerencias que se ofrecen a continuación para mejorar el rendimiento del mapa. Cuando está en el proceso de publicar el documento de mapa, obtendrá una oportunidad para analizar el mapa con el Editor de servicio. Esto puede ayudar a identificar formas de mejorar el rendimiento de un documento de mapa.
Configure una representación en pantalla dependiente de la escala para las capas de datos: utilice una representación en pantalla dependiente de la escala para asegurar que las capas innecesarias no se dibujen cuando se aleja el mapa. Las capas detalladas o de datos intensivos pueden ser más adecuadas sólo cuando se acerca el mapa a una escala mayor.
Quite las capas y los marcos de datos que no se usan: revise el diseño de página y las vistas de datos y asegúrese de que el mapa no tenga marcos de datos ni capas que no estén relacionados con el propósito del mapa. Por ejemplo, si la vista del diseño de página contiene marcos de datos que no se muestran en ninguna aplicación que utiliza el servicio, quite los marcos de datos.
Utilice las consultas de definición adecuadamente: una consulta de definición puede actuar como filtro para limitar la cantidad de datos del mapa y, por lo tanto, hacer que se dibuje más rápido. Por ejemplo, si crea un mapa de un estado y la clase de entidad incluye datos de todo el país, puede utilizar una consulta de definición para mostrar sólo las entidades que están dentro de los límites del estado. Recuerde que algunas consultas complejas pueden afectar negativamente el rendimiento.
Simplificar los símbolos de capa:los símbolos complejos pueden tardar más en dibujarse que los símbolos simples. Utilice símbolos de línea y de relleno simples cuando sea posible y evite la simbología que contiene varias capas, patrones de guión, líneas de la trama de línea o contornos complejos. Los símbolos de señal de autopista también pueden reducir el rendimiento de dibujo.
Cuando utiliza un símbolo de relleno de imagen, puede mejorar el rendimiento mediante el uso de un archivo EMF en lugar de un BMP.
Una manera fácil de simplificar parte de la simbología del mapa es utilizar el estilo ESRI_Optimized. Este estilo incluye símbolos de línea y de relleno que están diseñados para lograr un mejor rendimiento mientras mantienen una apariencia visual similar a la de sus equivalentes dentro del estilo Esri predeterminado. Consulte Organizar contenido de estilo en la Ayuda de ArcGIS para obtener más información sobre cómo trabajar con este estilo.
Si crea un servicio de mapas almacenado en caché, la simplificación del mapa no afecta la velocidad de entrega del mapa terminado, sólo afecta la velocidad de creación de la caché. Si la creación de la caché ya tarda un lapso de tiempo razonable, es posible que no deba preocuparse por la simplificación de símbolos.
Utilice anotaciones en lugar de etiquetas: debido a que las etiquetas requieren que el equipo tome decisiones de ubicación, por lo general es más rápido utilizar una capa de anotaciones.
Simplifique las etiquetas: si el mapa incluye etiquetas, utilice los pesos de conflicto de etiqueta y entidad con moderación. Los halos, los desplazamientos y otros efectos de etiqueta también reducen el rendimiento.
Configure una representación en pantalla dependiente de la escala para las etiquetas: cuando se aleja un mapa se deben dibujar más etiquetas, lo que tarda algún tiempo. Examine el documento de mapa y determine si algunas etiquetas no necesitan mostrarse en escalas más pequeñas.
Utilice el mismo sistema de coordenadas para los datos y para el mapa: cuando los datos de origen y el documento de mapa tienen sistemas de coordenadas diferentes los datos se deben proyectar al vuelo, lo que reduce el rendimiento. Para obtener un rendimiento óptimo, use el mismo sistema de coordenadas tanto para los datos como para el documento de mapa. Si no es posible, asegúrese de que se aplican transformaciones geográficas adecuadas a las capas que se deben proyectar al vuelo.
Ajuste la longitud de tiempo durante el cual el navegador debe utilizar una respuesta que se encuentre en el caché. Cuando el mapa se ve en un navegador web, la respuesta del servidor en forma de imagen de mapa se guarda en el caché del navegador y se reutiliza durante cierto tiempo. Según cómo se utilicen el servicio de mapas y sus datos asociados en aplicaciones, es posible que deba ajustarse el tiempo durante el cual el navegador debe utilizar una respuesta del caché. Consulte los detalles completos en la sección Mejorar el rendimiento en la visualización de servicios de mapas en caché a continuación.
Mejorar el rendimiento en la visualización de servicios de mapas
Cuando los clientes envían peticiones a ArcGIS Server para visualizar un servicio de mapas, por lo general, la respuesta del servidor queda en caché en el servidor y se reutiliza durante cierto tiempo. Este comportamiento ayuda a ArcGIS Server a lograr el mejor rendimiento de visualización posible del servicio de mapas. No obstante, según cómo se utilicen el servicio de mapas y sus datos asociados en aplicaciones, es posible que deba ajustarse el tiempo durante el cual el navegador debe utilizar una respuesta del caché. Esto se puede lograr agregando una propiedad llamada cacheControlMaxAge a la Notación de objetos JavaScript (JSON) del servicio.
Cómo se utiliza la propiedad cacheControlMaxAge
Las respuestas de los servicios de mapas de ArcGIS Server incluyen una etiqueta de entidad (ETag) y un encabezado Cache-Control. El valor del encabezado ETag es un identificador único de la respuesta. El encabezado Cache-Control tiene un valor max-age que proporciona información al navegador en relación con el tiempo máximo durante el cual se puede reutilizar la respuesta del caché del navegador. Este valor se controla mediante la propiedad cacheControlMaxAge.
Si una solicitud se repite y no se ha superado la duración máxima del caché, el navegador utiliza la respuesta del caché sin enviar la solicitud al servidor. Si se ha superado la duración máxima del caché, el navegador debe enviar la solicitud al servidor y establecer un encabezado IF-NONE-MATCH con un valor de ETag asociado correspondiente a la respuesta en su caché. ArcGIS Server evalúa la solicitud y utiliza el valor de ETag para determinar si la respuesta ha cambiado. Si la respuesta del servidor es distinta de la copia que hay en el navegador, el servidor envía una respuesta totalmente nueva al navegador. Si la respuesta es idéntica a la copia que hay en el navegador, el servidor alerta al navegador para que continúe utilizando la respuesta que tiene en el caché.
Definición del valor de la propiedad cacheControlMaxAge
Como administrador de ArcGIS Server, puede definir la propiedad cacheControlMaxAge para especificar durante cuánto tiempo se permite al navegador utilizar una respuesta que esté en el caché. Puesto que se reduce la necesidad de que ArcGIS Server envíe respuestas completas, esto permite que el caché del navegador sea más eficiente, ayuda a optimizar las aplicaciones y ahorra ancho de banda.
El valor predeterminado para los servicios de mapa es 0. Esto significa que el navegador siempre vuelve a enviar las solicitudes y que ArcGIS Server procesará las solicitudes y enviará respuestas completas al navegador si el contenido ha cambiado. Este valor funciona correctamente para la mayoría de aplicaciones.
Para servicios de mapas cuyos datasets o simbologías cambien continuamente, se recomienda un valor del orden de 5 minutos (300 segundos). En aplicaciones con animaciones o datos dependientes del tiempo, se debe pensar en la posibilidad de aumentar el valor para que las aplicaciones puedan ofrecer animaciones más suaves.
Para agregar la propiedad cacheControlMaxAge a un servicio y especificar su valor predeterminado, se hace así:
- En un navegador web, abra el Directorio del administrador de ArcGIS Server e inicie sesión con un usuario que tenga privilegios de administración. La dirección URL tiene el formato http://gisserver.domain.com:6080/arcgis/admin.
- Haga clic en servicios y seleccione el servicio de mapas que desee modificar en la lista Servicios. Si no ve el servicio en la lista, es posible que se encuentre en un directorio debajo de la carpeta Raíz.
- En la página Service - <service name> (<service type>), desplácese a la parte inferior y haga clic en editar.
- En el cuadro de diálogo Propiedades del servicio, busque la sección "properties" del JSON del servicio.
- Agregue la propiedad cacheControlMaxAge a la sección y especifique el valor (en segundos) de la propiedad. Por ejemplo:
"properties": { "cacheControlMaxAge": "300",
- Haga clic en Guardar cambios.
- En la página Servicio - <nombre del servicio> (<tipo del servicio>), compruebe que la propiedad cacheControlMaxAge y el valor especificado aparezcan en la sección Propiedades.
¿Se realizará análisis de red en el servidor con este mapa?
Si va a utilizar este mapa para realizar análisis de red en el servidor, debe incluir una capa de análisis de red que tenga como referencia un dataset de red. Cuando publique el servicio de mapas, tendrá la opción de habilitar la capacidad Análisis de red. Esta crea un servicio Web para ejecutar las tareas de análisis de red en el mapa.