Geoservidor:configurar geowebcache(1)

Servicios disponibles con GeoWebCache (GWC) en GeoServer

GeoServer, como servidor cartográfico de código abierto que cumple las normas OGC (Open Geospatial Consortium), ofrece varios tipos de servicios web para la distribución de datos geoespaciales. Uno de los componentes clave de este ecosistema es GeoWebCache (GWC), que mejora el rendimiento de la visualización mediante el almacenamiento en caché de mosaicos de mapas.

Dos puntos de entrada principales: /ows y /gwc

1-El punto de entrada /ows

La ruta /ows es una interfaz genérica multiservicio en GeoServer. Permite centralizar las peticiones a diferentes servicios OGC a través de una única URL. Esto facilita la integración en clientes web como OpenLayers o Leaflet. Los servicios accesibles a través de este punto de entrada son :

  • WMS (Web Map Service): para la producción de mapas ráster dinámicos.
  • WFS (Web Feature Service): para visualizar y editar datos vectoriales.
  • WCS (Web Coverage Service): para acceder a datos ráster multidimensionales (como series temporales o imágenes de satélite sin procesar).

2-El punto de acceso /gwc

Este punto de acceso está dedicado a los servicios de tiles, gestionados por GeoWebCache, y se utiliza principalmente para mejorar la velocidad de carga de los mapas mediante la pregeneración y almacenamiento de tiles. Hay tres servicios disponibles:

  • WMS-C (WMS-Cached): una versión de WMS optimizada mediante almacenamiento en caché.
  • TMS (Tile Map Service): un protocolo sencillo para acceder a los mosaicos mediante una estructura jerárquica de URL.
  • WMTS (Web Map Tile Service): servicio normalizado del OGC para la distribución de mosaicos cartográficos. Está activado por defecto en GeoServer y es el servicio que mejor se adapta a clientes modernos como OpenLayers 3+, QGIS o Leaflet con plug-in.

Este funcionamiento modular y optimizado permite adaptar GeoServer a una gran variedad de casos de uso, desde la representación cartográfica tradicional hasta el suministro de mosaicos rápidos para aplicaciones web interactivas.du rendu cartographique classique à la fourniture de tuiles rapides pour les applications web interactives.

¿Por qué utilizar los servicios estándar del OGC (WMS, WFS, WCS, WMTS, etc.)?

1-Interoperabilidad

Los servicios OGC (Open Geospatial Consortium) están reconocidos internacionalmente y son interoperables: esto significa que pueden utilizarse con diversos clientes, como QGIS, ArcGIS, OpenLayers, Leaflet, MapServer, etc., sin ninguna configuración específica.

Esto facilita el intercambio de datos entre organizaciones, paquetes de software o países.

2-Normalización y documentación

Los servicios OGC tienen especificaciones precisas y bien documentadas, lo que reduce las sorpresas en la integración.

Por ejemplo, un WMS versión 1.3.0 funcionará allí donde se admita este protocolo.

3-Durabilidad

Un formato estándar es más duradero en el tiempo. Aunque su herramienta cambie, podrá seguir utilizando los servicios con otras soluciones.

¿Por qué no utilizar (o complementar con) servicios no estándar?

Rendimiento

Los servicios OGC estándar suelen ser más prolijos y menos eficientes que las soluciones propias o patentadas.

Por ejemplo, algunas empresas prefieren distribuir mosaicos a través de un simple TMS (no estandarizado por OGC) o incluso a través de CDN para un rendimiento óptimo en el front-end web.

Simplicidad o necesidades específicas

Para una aplicación móvil o web muy específica, es posible que prefiera una API REST o un servicio de tiles personalizado, más fácil de manejar que WMTS o WFS.

Control sobre la estructura

Un servicio personalizado puede ofrecer más control sobre el formato de los datos (GeoJSON simplificado, formatos optimizados para dispositivos móviles, etc.) que las respuestas OGC tradicionales.

A menudo, las buenas prácticas consisten en combinar ambos: utilizar los servicios OGC para los intercambios entre aplicaciones, la publicación de datos oficiales y la integración SIG, y utilizar servicios no estándar para el front-end web, las API REST o la publicación rápida de mosaicos.

Configuración de los servicios de GeoWebCache

Paragraphe GWC provided services des Paramètres de GeoWebCache

La sección Servicios proporcionados por GWC permite activar/configurar los distintos servicios de caché.

1-Activar la integración directa con WMS

¿Sabía que puede interceptar peticiones WMS directamente con GWC, sin siquiera llamar al motor WMS de GeoServer? Esto es posible gracias a la opción «Habilitar integración directa con WMS». He aquí por qué (y cuándo) utilizarla.

¿Qué es la integración directa con el SGA?

Cuando esta opción está activada, GeoWebCache captura las peticiones WMS (como el clásico GetMap) antes de que lleguen a GeoServer. GWC responde directamente con los mosaicos almacenados en caché, sin utilizar el motor de renderizado WMS. El resultado: ¡una ganancia neta de rendimiento!

Es como poner un guardia de seguridad a la entrada de GeoServer para decir: «No hace falta que molestes al jefe, ya tengo lo que necesitas en stock».

¿Por qué activarlo?

  • Mayor rendimiento: no es necesario generar cada imagen WMS sobre la marcha. Los mosaicos se sirven instantáneamente desde la caché.
  • Alivio del servidor: útil para entornos de alta carga con muchas conexiones o solicitudes simultáneas.
  • Compatibilidad total: los clientes tradicionales (QGIS, Leaflet, OpenLayers, etc.) siguen utilizando el WMS como siempre, sin notar la diferencia.

¿Cuándo no activarla?

Hay casos en los que esta optimización se convierte en un obstáculo:

  • Si utilizas parámetros dinámicos en tus peticiones (por ejemplo, CQL_FILTER, viewparams u otros filtros del lado del cliente), la caché no puede anticiparse a ellos.
  • Si la capa se actualiza con mucha frecuencia, y necesitas datos actualizados para cada petición, la caché se convierte en un lastre.
  • Si necesita desactivar la caché para determinados usuarios o contextos específicos.

En resumen

Opción activada Opción desactivada
WMS se ejecuta a través de GWC WMS se ejecuta a través de GeoServer
Más rápido Más flexible
Para capas estables Para datos dinámicos

Pruebe el rendimiento con y sin esta opción, en función de sus casos de uso. En bases estables, esta simple casilla puede revolucionar los tiempos de respuesta de sus servicios WMS.

2-Requerir explícitamente el uso del parámetro TILED

En las configuraciones avanzadas de GeoServer, existe una opción a menudo pasada por alto pero muy útil: «Requerir explícitamente el uso del parámetro TILED». Esto proporciona un control más preciso sobre cuándo GeoWebCache (GWC) debe intervenir para proporcionar mosaicos pregenerados en las respuestas WMS. He aquí por qué (y cómo) utilizarlo eficazmente.

El problema: ¿mosaicos o imagen dinámica?

Algunas aplicaciones cliente (como QGIS, OpenLayers o visores personalizados) realizan peticiones WMS de la forma tradicional, sin el parámetro TILED=true. En este caso, GeoServer duda: ¿debe servir una imagen dinámica generada sobre la marcha, o devolver un tile de la caché que ya está disponible?

Esto puede provocar :

  • Incoherencias en la visualización (estilos mezclados, niveles de zoom imprecisos),
  • Problemas de rendimiento si la imagen dinámica se calcula innecesariamente,
  • Resultados visuales inesperados, especialmente cuando se superponen con otras capas.

La solución: forzar el uso explícito de TILED=truetrue

Marcando esta opción en la configuración de su capa en GeoServer :

  • GeoServer sólo utilizará GeoWebCache si la solicitud contiene TILED=true.
  • De lo contrario, generará una imagen WMS estándar sobre la marcha, como si la caché no existiera.

Esto proporciona:

  • Mayor coherencia visual: no se mezclan el renderizado en mosaico y el rasterizado dinámico.
  • Mejor control por parte del cliente: sólo los clientes que saben gestionar mosaicos reciben mosaicos.
  • Lógica del servidor más predecible.

¿Cuándo utilizar esta opción?

Utilícela si…Evítela si…Tiene una caché en producción pero una variedad de clientes WMS (algunos sin TILED=true)Desea maximizar el rendimiento sin preocuparse de TILED=trueHa observado errores de renderizado relacionados con la mezcla de raster y mosaicoTodos sus clientes utilizan la caché con TILED=trueNecesita mantener el renderizado WMS clásico para ciertos usos dinámicosPrioriza el rendimiento sobre la flexibilidad.

Utilícela si… Evítela si…
Tiene un cache en producción pero una variedad de clientes WMS (algunos sin TILED=true) Desea maximizar el rendimiento sin preocuparse de TILED=true
Ha observado errores de renderizado relacionados con la mezcla de raster y mosaico Todos sus clientes utilizan el cache con TILED=true
Necesita mantener el renderizado WMS clásico para ciertos usos dinámicos Prioriza el rendimiento sobre la flexibilidad.

En pocas palabras

Activar «Requiere TILED=true» en GeoServer significa elegir claridad y control en lugar de «todo automático». Es una opción muy útil en entornos mixtos, donde no todos los clientes tienen el mismo nivel de sofisticación en la gestión de la caché de mosaicos.

3-Encender el servicio WMS-C

GeoServer ofrece varias formas de distribuir mapas a través de la web. Una de las más eficaces es el servicio WMS-C (Web Map Service – Cached). Se trata de una extensión del WMS clásico que utiliza GeoWebCache para distribuir rápidamente mosaicos pregenerados. El resultado: renderización más rápida, menor carga del servidor y mejor experiencia del usuario.

Ventajas de WMS-C

  • Rapidez: como los mosaicos ya están generados, el mapa se muestra inmediatamente.
  • Optimización multinivel: cada nivel de zoom está precalculado.
  • Ahorro de recursos: menos carga en el motor WMS de GeoServer.

¿Cómo funciona?

Solicitud clásica de WMS :

/geoserver/ows?service=WMS&request=GetMap&layers=layer_name...

Solicitud WMS-C con caché :

/geoserver/gwc/service/wms?service=WMS&request=GetMap&layers=nombre_capa…&TILED=true

Son el parámetro TILED=true y la URL GWC los que activan el uso de mosaicos.

¿Cuándo debe activarse WMS-C?

  • Si utiliza clientes compatibles con tiles (Leaflet, OpenLayers, etc.).
  • Si ha activado GeoWebCache.
  • Para mejorar el rendimiento en capas mínimamente modificadas.
  • Si utiliza clientes compatibles con mosaicos (Leaflet, OpenLayers, etc.).
  • Si ha activado GeoWebCache.
  • Para mejorar el rendimiento en capas mínimamente modificadas.

¿Qué ocurre con la «integración directa con WMS»?

A primera vista, «Activar integración directa WMS» y «Activar servicio WMS-C» pueden parecer redundantes, pero tienen papeles muy distintos en GeoWebCache.

OpciónRol¿Cuándo usarla? Habilitar integración directa WMSGeoWebCache intercepta las peticiones WMS estándar (GetMap) y las sirve a través de la caché, incluso si no son explícitas.Si quieres acelerar tus servicios WMS existentes sin modificar los clientes.Habilitar servicio WMS-CActiva un servicio WMS-C independiente, que requiere peticiones explícitas con TILED=true.Si estás usando un cliente GIS que soporta WMS-C y envía las peticiones adecuadas.

Opción Rol ¿Cuándo usarla?
Habilitar integración directa WMS GeoWebCache intercepta las peticiones WMS estándar (GetMap) y las sirve a través de la caché, incluso si no son explícitas Si quieres acelerar tus servicios WMS existentes sin modificar los clientes.
Habilitar servicio WMS-C Activa un servicio WMS-C independiente, que requiere peticiones explícitas con TILED=true Si estás usando un cliente GIS que soporta WMS-C y envía las peticiones adecuadas.

En pocas palabras:

  • La integración directa de WMS es transparente para los clientes.
  • El servicio WMS-C es útil si controla las solicitudes del lado del cliente.

Para un rendimiento óptimo, considere la posibilidad de activar ambas opciones si sus casos de uso lo permiten. Esto garantiza la compatibilidad con los clientes SIG recientes a la vez que se aprovecha la caché existente del lado del cliente sin ningún cambio.

4-Activar el servicio TMS

TMS (Tile Map Service) es un protocolo de mosaico ráster ampliamente utilizado para la distribución de mapas en aplicaciones cliente como OpenLayers, Leaflet y otros visores de mapas. Permite dividir una imagen ráster en pequeños mosaicos para una visualización rápida y fluida, lo que resulta especialmente útil para aplicaciones web. Si utiliza GeoServer para gestionar sus datos geoespaciales, la activación de este servicio TMS le permite poner sus mosaicos a disposición de este tipo de aplicaciones.

¿Qué es el servicio TMS?

El servicio TMS se basa en un sencillo protocolo que define cómo deben organizarse los mosaicos y cómo acceder a ellos a través de una URL estructurada. Por ejemplo, una solicitud TMS en GeoServer podría tener este aspecto:

http://localhost:8080/geoserver/gwc/service/tms/1.0.0/{workspace}:{layer}@EPSG:4326@png/{z}/{x}/{y}.png

Aquí, las variables {workspace}, {layer}, {z}, {x} y {y} representan respectivamente el espacio de trabajo, la capa de datos y las coordenadas del mosaico en diferentes niveles de zoom (z), longitud (x) y latitud (y). Este tipo de solicitud se utiliza generalmente para cargar mosaicos ráster (a menudo en formato PNG) desde una caché generada a través de GeoWebCache, una extensión de GeoServer que permite gestionar mosaicos de forma eficiente.

¿Por qué activar el servicio TMS?

Hay varias razones por las que puede querer activar el servicio TMS en su instancia de GeoServer:

  1. Para servir mosaicos a una aplicación web compatible con TMS: Si utiliza una biblioteca como OpenLayers o Leaflet, que soporta el protocolo TMS, activar este servicio simplifica la integración y visualización de mapas.
  2. Un servicio más sencillo que WMTS: A diferencia de WMTS (Web Map Tile Service), que requiere cierto formalismo (como definir la estructura del mapa en un archivo GetCapabilities y gestionar las capas), el servicio TMS es mucho más sencillo de configurar y utilizar. No es necesario especificar información compleja; una simple petición HTTP es todo lo que se necesita.
  3. Utilizar GeoWebCache para almacenar mosaicos en caché: Si ya ha generado una caché de mosaicos utilizando GeoWebCache, habilitar el servicio TMS le permite hacer accesible esta caché a través del protocolo TMS, optimizando el rendimiento de la visualización.

¿Cuándo debe activarse el servicio TMS?

Activar el servicio TMS puede tener sentido en varios casos concretos:

  • Si desea distribuir mosaicos a aplicaciones web utilizando TMS: Esto es ideal si trabaja con visores de mapas sencillos como OpenLayers que aceptan este formato de mosaico.
  • Si prefiere una solución más ligera y rápida: Si su objetivo es simplificar el servicio cartográfico sin la complejidad de las especificaciones WMTS, TMS es la solución ideal.
  • Si ya ha generado una caché a través de GeoWebCache: Si se ha tomado el tiempo de crear una caché de azulejos, la activación del servicio TMS le permitirá aprovechar esta caché y hacerla fácilmente accesible.

Diferencia entre TMS, WMTS y WMS-C

TMS, WMTS y WMS-C (Web Map Service-Cached) son métodos de distribución de mapas en forma de mosaicos, pero cada uno tiene sus características específicas:

  • TMS: es una solución sencilla para distribuir mosaicos a través de una URL bien estructurada. Se utiliza principalmente con bibliotecas como OpenLayers y Leaflet. TMS es más flexible pero menos formal que WMTS. No requiere un archivo de especificación complejo como WMTS, lo que puede simplificar su uso para proyectos más pequeños o menos complejos.
  • WMTS: A diferencia de TMS, WMTS es una norma más estructurada que define con precisión los mosaicos y su organización. Requiere un archivo GetCapabilities para describir la estructura del mapa, los formatos y las resoluciones disponibles. WMTS es ideal para aplicaciones en las que se requiere un servicio más robusto y conforme a los estándares.
  • WMS-C: es la versión en caché del Web Map Service (WMS). Aunque ofrece representación dinámica de mapas, WMS-C puede servir imágenes almacenadas en caché en respuesta a solicitudes, como TMS. Sin embargo, a diferencia de TMS, sigue basándose en el protocolo WMS, que puede ser más engorroso en términos de gestión de solicitudes y renderización.

Activar el servicio TMS en GeoServer es una solución práctica para los usuarios que desean integrar fácilmente mosaicos ráster en sus aplicaciones web utilizando protocolos como OpenLayers o Leaflet. Es especialmente útil si se busca una solución ligera y rápida, o si ya se ha configurado una caché de mosaicos con GeoWebCache. En comparación con WMTS y WMS-C, el servicio TMS ofrece una mayor flexibilidad y una configuración simplificada, ideal para proyectos menos complejos.

5-Habilitar la seguridad de los datos

La seguridad de los datos es un aspecto crucial de cualquier aplicación geoespacial. En GeoServer, sobre todo a partir de la versión 2.26, la opción «Habilitar seguridad de datos» en la configuración de GeoWebCache permite reforzar la protección de los mosaicos almacenados en caché aplicando filtros de seguridad basados en permisos de usuario. De este modo se garantiza que sólo las personas autorizadas puedan acceder a determinados datos geoespaciales, aunque se hayan almacenado en caché para un acceso rápido.

¿Qué hace exactamente esta opción?

Cuando está activada, esta opción permite a GeoWebCache respetar las reglas de seguridad definidas en GeoServer. En términos prácticos, esto significa que :

  1. Respetar las reglas de seguridad de las capas: GeoWebCache aplicará las reglas de seguridad de las capas configuradas en GeoServer. Por ejemplo, si una capa tiene restricciones de acceso basadas en roles o grupos, GeoWebCache sólo enviará mosaicos a los usuarios autorizados para ver esa capa.
  2. Filtrado de mosaicos en caché: GeoWebCache sólo servirá mosaicos en caché a los usuarios que tengan los derechos necesarios para acceder a la capa correspondiente. Así, aunque se hayan generado mosaicos para una capa, no estarán disponibles para usuarios no autorizados.

¿Por qué es importante esta opción?

Por defecto, sin esta seguridad activada, los mosaicos generados por GeoWebCache son accesibles a cualquiera, lo que puede plantear problemas de confidencialidad. Por ejemplo, un usuario no autorizado podría adivinar la URL de un mosaico y acceder a él, saltándose así las restricciones aplicadas a nivel de GeoServer.eviner l’URL d’une tuile et y accéder, contournant ainsi les restrictions appliquées au niveau de GeoServer.

Al activar la opción «Activar la seguridad de los datos», obtienes una serie de ventajas clave:

  • Protección de datos sensibles: impide que se acceda a información sensible o restringida a través de los mosaicos almacenados en caché. Esto evita, por ejemplo, que un usuario no autorizado adivine la URL de un mosaico y lo consulte a pesar de las restricciones de la capa en GeoServer.
  • Respeto de los permisos WMS/WFS: Al activar esta seguridad, se garantiza que se respeten los permisos definidos a través del Gestor de Seguridad de GeoServer (grupos, roles, etc.). Esto garantiza que sólo las personas con los derechos adecuados puedan ver los mosaicos de las capas protegidas.

En pocas palabras

La opción «Habilitar seguridad de datos» de GeoWebCache es una función esencial para garantizar que los usuarios no autorizados no puedan acceder a los mosaicos almacenados en caché. Protege los datos sensibles respetando la configuración de seguridad definida en GeoServer y garantizando que sólo las personas con los permisos adecuados puedan acceder a los mosaicos. Esto añade una importante capa de seguridad, especialmente cuando los datos geoespaciales sensibles están disponibles en la web.osant des bonnes autorisations puissent accéder aux tuiles. Cela ajoute une couche de sécurité importante, surtout lorsque des données géospatiales sensibles sont mises à disposition sur le web.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *