servicios WMS
La especificación de servicios de mapas Web (WMS) del Consorcio geoespacial abierto (OGC) es una especificación internacional para ofrecer y consumir mapas dinámicos en la web. Puede utilizar ArcGIS Server para crear un servicio WMS. Esto se lleva a cabo habilitando el recurso WMS en un servicio de mapas o de imágenes.
Los servicios WMS son útiles si desea que sus mapas estén disponibles en línea de forma abierta y reconocida a través de diferentes plataformas y clientes. Cualquier cliente generado para ser compatible con la especificación WMS puede ver y trabajar con su servicio. Hasta ahora, se han publicado cuatro versiones de la especificación WMS. Son v1.0.0, v1.1.0, v1.1.1 y v1.3.0 (la más reciente).
Las aplicaciones de cliente funcionan con un servicio WMS mediante la incorporación de parámetros a la dirección URL del servicio. Los servicios WMS publicados con ArcGIS Server admiten las siguientes operaciones:
- Solicitar metadatos acerca del servicio (GetCapabilities)
- Solicitar una imagen de mapa (GetMap)
- Solicitar información acerca de las entidades del mapa (GetFeatureInfo [opcional])
- Solicitar estilos definidos por el usuario (GetStyles)
- Solicitar símbolos de leyenda (GetLegendGraphic)
El servicio WMS no tiene que ser compatible con todas las operaciones, pero al menos debe ser compatible con las operaciones GetCapabilities y GetMap para poder considerarlo un servicio WMS básico, y ser compatible con la operación GetFeatureInfo opcional para poder considerarlo un servicio WMS que se puede consultar. Las operaciones GetStyles y GetLegendGraphic se pueden aplicar únicamente en un servicio WMS de Descriptores de capa con estilo (SLD).
Los mapas devueltos por un servicio WMS son únicamente imágenes (con la excepción de SVG). No contienen datos. Para exponer los datos como entidades vectoriales a través de las especificaciones de OGC, deberá publicar un servicio WFS. Para exponer los datos como capas ráster, deberá publicar un servicio WCS. Con ArcGIS Server puede publicar tanto servicios WFS como WCS.
Puede obtener más información acerca de los servicios WMS en el sitio Web del Consorcio Geoespacial abierto. ESRI también incluye una página Web de Interoperabilidad y Estándares que detalla su compatibilidad con los servicios OGC en ArcGIS.
Publicar un servicio WMS en ArcGIS Server
Existen dos formas de publicar un servicio WMS utilizando ArcGIS Server:
- Publicar un servicio de mapas con el recurso WMS habilitado. Para publicar un servicio de mapas, en primer lugar tendrá que crear un documento de mapa.
- Publicar un servicio de imágenes con el recurso WMS habilitado. Para publicar un servicio de imágenes, es necesario contar con un dataset ráster, un dataset de mosaico o un archivo de capa que haga referencia a un dataset ráster o a un dataset de mosaico.
Puede utilizar el Administrador de ArcGIS Server o ArcCatalog para publicar el servicio. Si necesita ayuda con este paso, consulte Más información acerca de publicar recursos SIG en el servidor.
Cuando publique el mapa o el servicio de imágenes, deberá habilitar el recurso WMS marcando la casilla de verificación de la lista Recursos.
Notas:
- El número de capas en el mapa afecta directamente a la cantidad de tiempo que se necesita para crear inicialmente el servicio WMS o iniciarlo después de haberlo detenido. Puede reducir el tiempo de inicio eliminando o consolidando capas en el servicio.
- Los servicios WMS aprovechan la memoria caché de mapa si hay alguna disponible. La memoria caché de mapa se utiliza únicamente cuando se requiere la proyección original, el orden de la capa y la visibilidad de la capa del servicio. Las teselas almacenadas en la memoria caché se vuelven a muestrear para ajustarse a la escala solicitada por el cliente, lo que puede consumir cierto tiempo de procesamiento y reducir la calidad de la imagen. Podrá comprobar las ventajas del uso de una memoria caché si su servicio WMS tiene muchas capas o una simbología sofisticada que de otra forma podría necesitar mucho tiempo para dibujarse de forma dinámica. Si únicamente tiene unas cuantas capas y una simbología sencilla, puede obtener un rendimiento mejor sin utilizar una memoria caché.
- Visualizar un servicio WMS desde un servicio de mapas de almacenamiento en memoria caché según demanda creará teselas en la memoria caché si el usuario navega a las áreas no almacenadas en la memoria caché.
- Después de publicar el servicio, puede establecer otras propiedades para el servicio WMS en la ficha Recursos del cuadro de diálogo Propiedades del servicio.
Para ver en detalle el proceso de creación de un servicio WMS, consulte el Tutorial: Publicar un servicio de WMS.
Configurar propiedades del servicio WMS
Las propiedades del servicio WMS se reflejan en sus archivos de recursos de modo que cualquier usuario que utilice el servicio puede obtener un mejor entendimiento de las acciones del responsable de publicación del servicio. Al publicar un servicio WMS con archivos de recursos generados por el sistema (predeterminado), se recomienda que rellene las propiedades del servicio WMS salvo el Nombre, Tesela y OnlineResource. Las propiedades del servicio Nombre y Tesela ya vienen incluidas con el servicio WMS y el nombre del servicio de mapas o servicio de imágenes y OnlineResource viene incluido con la dirección URL del servicio WMS. En la mayoría de los casos, no debe cambiar esas tres propiedades.
Para rellenar o modificar las propiedades del servicio WMS, haga lo siguiente:
- Detenga el mapa principal o el servicio de imágenes.
- Abra las Propiedades del servicio y haga clic en la ficha Recursos.
- En la lista de recursos, busque WMS. Asegúrese de que la casilla de verificación está marcada y, a continuación, haga clic sobre las letras WMS (tenga cuidado en no desmarcar la casilla). Aparecerán algunas propiedades.
- Seleccione Introducir propiedades del servicio a continuación. Esto significa que el servicio utilizará un archivo de recursos generado por el sistema.
- Modifique las propiedades del servicio según corresponda.
- Guarde y reinicie el mapa principal o el servicio de imágenes.
El campo OnlineResource es necesario para que un cliente WMS se comunique correctamente con el servicio WMS. Generalmente, su valor es una dirección URL, y se debe mostrar en el cuadro Acceso Web de la ficha Recursos.
Configurar la ruta SLD o la dirección URL
SLD le permite publicar varios estilos para cada capa WMS. Si está vinculando un archivo SLD con el servicio WMS actual, tendrá que establecer la ruta SLD o la propiedad de la dirección URL en la dirección URL, la ruta UNC o la ubicación física de un archivo XML de SLD. Más información acerca de trabajar con SLD.
La ruta UNC y la ubicación física deben ser accesibles mediante la cuenta SOC para que ArcGIS Server pueda leer correctamente el archivo XML de SLD.
Configurar el parámetro ListSupportedCRS
El parámetro ListSupportedCRS se puede utilizar para agregar sistemas de referencia espacial adicionales (como EPSG:4267) a los servicios WMS. Por defecto, los servicios WMS solo enumeran dos sistemas de referencia espacial; EPSG:4326 (o CSR:84 para WMS 1.3.0) y la referencia espacial del servicio de mapas en el que está habilitado WMS. Al utilizar el parámetro ListSupportedCRS, puede ofrecer más opciones de reproyección a los clientes de WMS especificando referencias espaciales adicionales.
El parámetro ListSupportedCRS no se enumera como una propiedad de servicio cuando se configuran los servicios WMS en ArcCatalog o en el Administrador de ArcGIS Server. Para agregar el parámetro ListSupportedCRS a un servicio WMS, debe editar el archivo de configuración de servicios (.cfg) del servicio de mapas en el que habilitó WMS.
Edite el archivo de configuración:
- Detenga el proceso del Administrador de objetos de servidor (SOM) de ArcGIS
- Abra el archivo de configuración de servicios (.cfg) del servicio de mapas en un editor de texto
- Ubique la sección de WMS específica
- Agregue el parámetro ListSupportedCRS dentro del elemento <Properties>:
... <Extension> <TypeName>WMSServer</TypeName> <Enabled>true</Enabled> <Properties> <!-- other properties and metadata items --> <CustomGetCapabilities>false</CustomGetCapabilities> <ListSupportedCRS>EPSG:4267</ListSupportedCRS> </Properties> <Info> <WebEnabled>true</WebEnabled> <WebCapabilities></WebCapabilities> </Info> </Extension> ...
- Guarde los cambios y cierre el archivo de configuración de servicios (.cfg)
- Reinicie el proceso del Administrador de objetos de servidor (SOM) de ArcGIS
Para enumerar varios sistemas de referencia espacial dentro del parámetro ListSupportedCRS, separe los sistemas de referencia espacial con una coma (,). Por ejemplo:
<ListSupportedCRS>EPSG:4267,EPSG:4269,EPSG:102113</ListSupportedCRS>
Cuando configure el parámetro ListSupportedCRS, debe especificar el espacio de nombre EPSG (por ejemplo, EPSG) y el Id. de EPSG (por ejemplo, 4267) separados por dos puntos (:), de lo contrario, el servidor ignorará la referencia espacial.
Caracteres especiales en las propiedades de servicio
Los siguientes caracteres no pueden incluirse en ninguna de las propiedades de servicio: &, <, >, ", '. Si necesita utilizar uno de estos caracteres, debe sustituir la secuencia de escape adecuada en el siguiente cuadro:
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
Representar nombres de capa
Al modificar las propiedades del servicio, puede marchar la casilla de verificación Utilizar nombres de capa desde el documento de mapa. Al hacerlo, los nombres de capa se representarán con las mismas cadenas de caracteres que se utilizan en la tabla de contenido del documento de mapa. La casilla predeterminada sin marcar significa que las capas se representarán con números enteros basados en cero, lo que indicará su posición en la tabla de contenido de arriba a abajo.
Para utilizar nombres de capa desde el documento de mapa, todos los nombres de capa en el mapa deben ser únicos. Los nombres de capa no deben contener ninguno de los caracteres &, <, >, " o '.
Asegurar servicios WMS
La seguridad de un servicio WMS de ArcGIS server se administra mediante el control de la seguridad de su mapa, geodatos o servicio de imágenes principales Si a un rol en particular, por ejemplo, Urbanistas, se les deniega el acceso a un mapa, no podrán tener acceso al mapa, independientemente de si intentan utilizarlo a través de SOAP, transferencia de estado representacional (REST) o interfaces OGC (por ejemplo, WMS). ArcGIS Server es compatible con varios esquemas de autenticación distintos, incluidos la autentificación basada en HTTP (Básico y Digest), Autenticación de Windows integrada y ArcGIS Server gestionado por autenticación basada en token.
Autenticación HTTP y Autentificación de Windows integrada
Los servicios que se espera que se puedan acceder a través de las interfaces WMS se deben asegurar con HTTP Basic, HTTP Digest o Autenticación de Windows integrada. La mayoría de clientes WMS (tanto los de ESRI y los que no lo son) entenderán y trabajarán con estos esquemas de autenticación estándar generalizados.
ArcGIS Server gestionado por autenticación basada en token
Aunque no se recomienda, un servicio WMS se puede continuar siendo seguro con ArcGIS Server gestionado por autenticación basada en token utilizando este tipo de autenticación en su mapa principal o servicio de imágenes. Para realizar solicitudes originales en los servicios WMS protegidos por un token, puede obtener un token válido desde el servicio de token y adjuntar la cadena de caracteres token como un parámetro extra a las solicitudes que envíe. Es decir, las solicitudes en un servicio WMS seguro con token debe utilizar el siguiente formato: http://<WMS_service_url>?<standard WMS parameters>&token=<valid_tokenString>. La mayoría de los clientes WMS de escritorio de terceros no podrán conectarse a los servicios WMS asegurados de esta forma, pero esta técnica se puede utilizar con clientes WMS creados con la API de ArcGIS para JavaScript, Flex y Silverlight.
Consumir servicios WMS
Para conectar con un servicio WMS tiene que conocer la dirección URL. Los servicios WMS publicados con ArcGIS Server tienen este formato de dirección URL:
http://<Web server machine name>/<ArcGIS Server instance name>/services/<folder name (if applicable)>/<service name>/<service type (can be MapServer or ImageServer)>/WMSServer?
Recuerde que este recurso WMS está disponible tanto para servicios de mapa como para servicios de imágenes. Esta es la razón por la que existen dos opciones para el tipo de servicio.
Por ejemplo, si tiene una carpeta llamada Japón que contenga el servicio de mapas de Tokio ejecutándose en myServer con la instancia predeterminada arcgis, la dirección URL del servicio WMS sería así:
http://myServer/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Si tiene un servicio de imágenes IdahoImages ejecutándose en myServer con el nombre de instancia PublicLands, la dirección URL para el servicio WMS sería así:
http://myServer/PublicLands/services/IdahoImages/ImageServer/WMSServer?
Clientes WMS habituales
Un navegador Web es el cliente más sencillo de un servicio WMS. Las solicitudes WMS pueden realizarse mediante HTTP, y las respuestas o excepciones se devuelven a través del navegador. Los servicios WMS pueden admitir distintas operaciones: GetCapabilities, GetMap, GetFeatureInfo, GetStyles y GetLegendGraphic. A través de los parámetros de la dirección URL, un cliente puede utilizar estas operaciones para obtener metadatos, mapas, información de la entidad, simbologías y símbolos de leyenda a partir de un servicio WMS. Estas operaciones y parámetros se detallan en las especificaciones WMS del OGC.
Entre los clientes WMS de ESRI se incluyen ArcGIS Desktop (ArcCatalog y ArcMap), ArcGIS Explorer, marco de trabajo para desarrolladores de aplicaciones en red (ADF) de ArcGIS Server para .NET, ADF Web de ArcGIS Server para Java y Visor de mapas de ArcGIS Server Geoportal de ESRI.
Visualizar información de leyenda de un servicio WMS
Los servicios WMS se pueden configurar para que devuelvan información acerca de la simbología de las capas en el servicio. Los clientes pueden utilizar esta información para crear una leyenda. Por defecto, los servicios WMS que publica con ArcGIS Server se habilitan para devolver información de la leyenda. Puede cambiar esto a través de los archivos de recursos del servicio WMS.
Tanto ArcMap como la Aplicación de representación cartográfica en la red que crea con Administrador pueden mostrar la información de la leyenda para las capas WMS.
- En ArcMap, haga clic con el botón derecho del ratón en la capa de la tabla de contenido y, a continuación, haga clic en Agregar leyenda WMS al Mapa. La información de la leyenda aparece en el mapa.
- En la Aplicación de representación cartográfica en la red, puede ver muestras de leyenda para capas individuales expandiendo las capas en la tabla de contenido.