El objetivo de esta publicación es ofrecer una solución integral para nuestros proyectos desde la base hasta la visualización final de los datos en un visor webmapping. Un proceso estandarizado se pondría componer de 1) Visualización de datos en un software GIS de escritorio como ArcGIS o GIS; 2) Almacenamiento de información limpia y estructurada en una Base de Datos como Postgre-SQL; 3) Importar BD postgis a un Servidor Web de Mapas como Geoserver; y 4) Programar mediante Leaflet u OpenLayer y conectar con el servidor.
Explicaremos paso a paso la metodología y el funcionamiento de todos los procesos que se deben llevar a cabo hasta la visualización de la capa en un visor web de mapas. Empecemos…
Tabla de contenidos
- 1 1. Visualización de datos en un software GIS de escritorio como ArcGIS o GIS
- 2 2. Almacenamiento de información en una Base de Datos (Postgre-SQL).
- 3 3. Importar Base de Datos PostGIS a un servidor Web de Mapas (Geoserver).
- 4 4. Utilizar la librería de Leaflet u OpenLayers para visualizar nuestra capa.
- 5 Compártelo:
1. Visualización de datos en un software GIS de escritorio como ArcGIS o GIS
La base de todo proyecto cartográfico es la puesta en marcha de un proyecto GIS en el que se almacenan, gestionan, analizan y visualizan datos espaciales, generalmente en un software GIS de escritorio. Este sería el punto de partida de la información, en la que se elimina aquella innecesaria y se crean nuevos datos.
2. Almacenamiento de información en una Base de Datos (Postgre-SQL).
Una vez esas capas que hemos descargado o creado se encuentran estructuradas, ordenadas y poseen información valiosa llega el momento de escoger el directorio dónde almacenar esos datos. En muchas ocasiones os he hablado de los inconvenientes y la problemática de tener guardada esta información en carpetas locales, ya que dificulta el tratamiento de las capas y casi con toda seguridad que induzca a errores.
En este sentido yo apuesto por el almacenamiento de la información en una Base de Datos Georreferenciada como Postgre-SQL. Las ventajas son infinitas, ya que trabaja a la perfección con programas como QGIS y nos permite tener los datos y estilos almacenados dando muchas facilidades para la actualización continua de las capas y el análisis de los datos. Aquí os dejo una publicación sobre cómo importar una capa Shapefile a Postgre-sql.
3. Importar Base de Datos PostGIS a un servidor Web de Mapas (Geoserver).
El siguiente paso será usar un Servidor Web de Mapas que haga de pasarela entre la información almacenada en nuestra Base de Datos PostGIS y la proyecte en nuestro visor webmapping que finalmente programaremos.
El proceso es bien sencillo, deberemos crear en Geoserver nuestro espacio de trabajo y almacenar la información importando nuestra capa de Postgis, posteriormente importaremos un estilo SLD desde QGIS y lo asociaremos a la capa postgis. Puedes pinchar aquí para conocer todo el procedimiento detalladamente.
4. Utilizar la librería de Leaflet u OpenLayers para visualizar nuestra capa.
Visto lo anterior ya solamente nos quedaría servir nuestra conexión WMS desde Geoserver en nuestro código de la librería con la que estemos trabajando, en mi caso Leaflet. Para ello utilizaremos el siguiente código:
<!-- Añadiendo Capa WMS Geoserver --> var wmsLayer = L.tileLayer.wms('http://localhost:8080/geoserver/ZoneGIS/wms', { layers: 'Distritos', style: 'Symbol_Dystritos', format: 'image/png', transparent: true }).addTo(map);
Simplemente se trata de añadir la variable “wmsLayer” y pegar la dirección web desde Geoserver. Después le pasaremos los parámetros para cambiar el estilo (formato, transparencia, simbología, etc) y lo añadiremos al mapa mediante addTo(map). El resultado os lo muestro a continuación.
Después de esto, ¿te queda alguna pregunta? Háznoslo saber, ¡te leemos!
Hola ZoneGIS,
tengo una pregunta, como puedo implementar el bindpopup de leaflet para cargar datos que contiene mi capa shapefile a traves del WMS?
gracias.
Buenas tardes, ya tengo las capas raster cargados en postgis y enlazados en geoserver, mi geoportal lo hice con openlayers, tengo el proyecto terminado ahora quiero publicarlo, como puedo publicarlo que servidor web es recomendable o que incluya geoserver, postgres me ayudan por favor
Hola y saludos, tengo una duda: Esposible añadir una capa de postgres sin usar geoserver y leer directamente a leaflet? gracias