2. Servidor WMS con GeoServer

Now that we have a pl/pgsql wrapper, we will make it available as a WMS layer using GeoServer.

The installation of GeoServer is out of the scope of this workshop, but if you’re using the OSGeoLive for this workshop then you have GeoServer installed already.

2.1. Conéctese a la página de administración

In order to create the WMS layer, we need to connect to the administration interface of GeoServer. On OSGeoLive Desktop, open the Applications menu on the desktop and then Geospatial > Web Services > GeoServer > Start GeoServer.

Una vez que el servidor esté en funcionamiento, abra la página dadministrativa en su navegador, haga clic en el botón Iniciar sesión e introduzca las credenciales de administrador de GeoServer:

Nombre de usuario:

admin

Contraseña:

geoserver

2.2. Crear la capa

Ahora que ha iniciado sesión como administrador, puede crear la capa WMS. En la terminología de GeoServer, creará una Vista SQL (consulte la documentación oficial <https://docs.geoserver.org/latest/en/user/data/database/sqlview.html> _ para obtener más información).

Lo primero que hay que hacer es crear un nuevo Espacio de trabajo para pgrouting: en el menú izquierdo de la página, dentro de la sección Datos, haga clic en Espacios de trabajo y luego Agregar nuevo espacio de trabajo.

Rellene el formulario con:

Nombre:

pgrouting

URI de espacio de nombres:

https://pgrouting.org

Y pulse el botón enviar.

Siguiente paso: crear un nuevo Almacén vinculado al espacio de trabajo. En el menú de la izquierda, haga clic en Almacenes y, a continuación, en Agregar nuevo almacén Aquí puede elegir el tipo de origen de datos que desea configurar. Elija PostGIS.

Rellene el formulario con:

  • Información Básica de la Tienda:

Espacio de trabajo:

pgrouting

Fuente de Datos:

pgrouting

  • Parámetros de conexión:

anfitrión:

localhost

puerto:

5432

base de datos:

city_routing

esquema:

public

usuario:

user

contraseña:

user

El resto de los valores pueden dejarse como están.

Por último, la siguiente tarea es crear la Capa Hacer clic en el menú Capas y, a continuación, en Agregar un nuevo recurso. Seleccione el espacio de trabajo recién creado y almacene el par: pgrouting:pgrouting.

Dentro del texto, haga click en Configure new SQL view.

Nombrar la vista``pgrouting`` y llene la SQL statement con:

SELECT ST_MakeLine(route.geom) FROM (
    SELECT geom FROM wrk_fromAtoB('vehicle_net', %x1%, %y1%, %x2%, %y2%
  ) ORDER BY seq) AS route

En el SQL view parameters, haga clic en Guess parameters from SQL; la lista mostrada representa los parámetros de la anterior de SQL.

Para cada parámetro:

  • Establecer el valor predeterminado: 0

  • Cambiar la expresión regular de validación a ^-?[\d.]+$

La expresión regular sólo igualará números.

En la lista de Atributos:

  • Pulsa Actualizar, debe aparecer un atributo (llamado st_makeline)

  • Cambie el tipo a LineString y el SRID de la columna geometría de -1 a 4326

Guardar el formulario.

Por último, tenemos que configurar el resto de la capa.

Lo único que hay que hacer en esta pantalla es asegurarnos de que el sistema de referencia de coordenadas es correcto: las geometrías de la base de datos están en EPSG:4326 pero queremos mostrarlas en EPSG:3857 porque el mapa openlayers donde se desasignará la capa está en esta proyección.

Desplázate hacia abajo hasta la sección sistema de referencia de coordenadas y cambia el SRS Declarado a EPSG:3857 y el control SRS a Reproyecto nativo para declarar.

Hacer clic en el vínculo Calcular desde datos y Calcular desde límites nativos para establecer automáticamente los límites de capa. Hacer clic en Guardar en la parte inferior de la página para crear la capa.