Cómo crear estilos SLD con QGIS para GeoServer

QGIS incluye un avanzado editor de estilos con muchas posibilidades de representación de mapas. Los estilos generados con QGIS se pueden exportar a SLD para aplicarlo a nuestras capas de GeoServer (GeoServer es una aplicación web para servir mapas como WMS, WFS, etc. Sin o sabes qué es GeoServer te recomendamos leer esta entrada: GeoServer para novatos.).

La capacidad de exportación de estilos en QGIS ha evolucionado a lo largo del tiempo:

  • En cuanto a los datos vectoriales, QGIS exporta los estilos en el formato SLD 1.1 que GeoServer es capaz de leer sin problemas. Para obtener unos resultados óptimos, es importante utilizar QGIS 3.4 o superior y GeoServer 2.13.x o superior.
  • La exportación de estilos de datos ráster es nueva en QGIS 3.4.5. Para versiones anteriores de QGIS, la funcionalidad de exportación está disponible mediante el complemento SLD4Raster.

Para la exportación, se recomienda utilizar la funcionalidad Guardar estilo… disponible en el cuadro de diálogo de Estilo, como se indica a continuación. Existen otros complementos que agilizan el proceso de exportación, pero pueden arruinar el estilo al intentar adaptarlo a versiones anteriores de GeoServer (por ejemplo, traducirlo a SLD 1.0 por medios simples de procesamiento de texto), o reescribirlo por completo.

En este artículo vamos a ver cómo exportar simbología vectorial en formato SLD utilizando QGIS 3.6 y cómo incorporarlo a GeoServer.

1.Abrimos QGIS 3.6.

2. Añadimos una capa vectorial (en este ejemplo se trata de una capa de ciudades del mundo de tipo punto).

3. Modificamos la simbología. Vamos a Propiedades de la capa > pestaña Simbología.

4. Elegimos una representación graduada, en la columna POP_MAX, y hacemos clic en el botón Clasificar. Cambie el modo a Quantile (cuenta igual) y finalmente clic en el botón “Clasificar” para generar un mapa de 3 clases, como se muestra en la imagen:

5. Los estilos SLD también admiten etiquetado, por lo que podemos ir a la página Etiquetas, seleccionar Etiquetas sencillas y escoger etiquetar por el atributo nombre de la ciudad (NAME). Podemos modificar la fuente y el tamaño según nuestras preferencias.

6. Ahora llegamos a la parte clavel del proceso, la exportación. En la parte inferior de la página hacemos clic sobre Estilo y escogemos la opción Guardar estilo…

7. Debemos seleccionar la opción Guardar estilo Como archivo de estilos SLD y una ubicación de destino:

8. El trabajo con QGIS ha finalizado. Ahora vamos a GeoServer. Después de loguearnos vamos a Estilos (dentro de la sección Datos):

9. Agregar un nuevo estilo. Le asignamos un nombre y en el apartado Archivo de estilo seleccionamos el archivo exportado y hacemos clic en el enlace de Subir

importar sld geoserver

10. Validamos y aplicamos. Ahora ya podemos asignar el estilo a nuestra capa (por el momento solo tenemos el estilo en GeoServer).

11. En la sección Datos debemos ir al apartado Capas. Seleccionamos nuestra capa de ciudades.

12. Hacemos clic sobre la pestaña Publicación para asignar el nuevo estilo.

13. Bajamos hasta el apartado Configuración WMS > Estilo por defecto para seleccionar el nuevo estilo:

14. Guardamos los cambios.

15. En la sección Datos ahora vamos al apartado Previsualización de capas y hacemos clic en el enlace OpenLayers junto a la capa cities para verificar la representación:

Se abre un visor web en el que podemos acercarnos, alejarnos, movernos por el mapa, etc. El visor muestra nuestra capa de GeoServer con la simbología que hemos creado en QGIS.

Advertencia

A pesar del progreso de los últimos años, no todas las opciones de representación de simbología de QGIS son compatibles con SLD y / o GeoServer (por ejemplo, simbología tipo shapeburst), y  falta soporte para exportar algunas partes (por ejemplo, la simbología basada en expresiones es soportado en SLD, pero QGIS no lo exportará). Si estás interesado, ambos proyectos agradecen apoyo económico para mejorar esta situación.

4 comentarios en «Cómo crear estilos SLD con QGIS para GeoServer»

  1. Buenas tardes Aurelio,
    He utilizado esta guía para importar generar los estilos en geoserver. Todo funciona perfecto y se representan tal cual están en QGIS. El único problema es que al generar la leyenda no se corresponde la representación del mapa con el de la leyenda. Únicamente me pasa en polígonos con perímetros discontinuos. A estos, en la leyenda, los representa con su color de fondo pero el perímetro no. En su lugar muestra una linea diagonal con el trazo que debería ir en el perímetro.

    Gracias

    • Hola Brais, Me alegro de que te estés utilizando QGIS para crear los estilos para GeoServer. El problema de las leyendas sucede con simbologías un poco más complejas de lo habitual, como son las líneas discontinuas, espero que en las próximas versiones de QGIS este problema quede solucionado. Saludos!

  2. Hola Aurelio,
    Estoy intentando exportar un SLD de un diagrama (gráfico de queso), pero aunque la exportación se realiza, el SLD es incorrecto. Supongo que será una de las opciones que no está disponible. ¿Alguna sugerencia para crear un SLD en geoserver de gráficos de queso (pie charts) para una capa de puntos? Querría representar valores porcentuales de 4 campos distintos.
    Gracias!

Los comentarios están cerrados.