3. Servicios

QGIS Server puede servir datos de acuerdo con los protocolos estándar descritos por Open Geospatial Consortium (OGC):

  • WMS 1.1.1 y 1.3.0

  • WFS 1.0.0 y 1.1.0

  • OGC API - Entidades (WFS3)

  • WCS 1.1.1

  • WMTS 1.0.0

Se admiten parámetros y solicitudes adicionales del proveedor además del estándar original que mejora enormemente las posibilidades de personalizar su comportamiento gracias al motor de renderización QGIS.

3.1. Web Map Service (WMS)

Los estándares WMS 1.1.1 y 1.3.0 implementados en QGIS Server proporcionan una interfaz HTTP para solicitar imágenes de mapas o leyendas generadas a partir de un proyecto QGIS. Una solicitud WMS típica define el proyecto QGIS que se utilizará, las capas que se renderizarán y el formato de imagen que se generará. El soporte básico también está disponible como Descriptor de capa con estilo (SLD).

Especificaciones:

Solicitudes standard proporcionadas por el servidor QGIS:

Solicitud

Descripción

GetCapabilities

Devuelve metadatos XML con información sobre el servidor

GetMap

Devuelve un mapa

GetFeatureInfo

Recupera datos (geometría y valores) para una ubicación de píxeles

GetLegendGraphics

Devuelve símbolos de leyenda

Solicitudes de proveedor proporcionadas por QGIS Server:

Solicitud

Descripción

GetPrint

Devuelve una composición de QGIS

GetProjectSettings

Devuelve información específica sobre QGIS Server

3.1.1. GetMap

Parámetros estándar para la petición GetMap de acuerdo con las especificaciones OGC WMS 1.1.1 y 1.3.0:

Parámetros

Necesario

Descripción

SERVICE

Nombre del servicio (WMS)

VERSION

Versión del servicio

REQUEST

Nombre de la petición (GetMap)

LAYERS

No

Capas a mostrar

STYLES

No

Estilo de capas

SRS / CRS

Sistema de referencia de coordenadas

BBOX

Extensión del mapa

WIDTH

Ancho de la imagen en píxeles.

HEIGHT

Altura de la imagen en píxeles

FORMAT

No

Formato de imagen

TRANSPARENT

No

fondo transparente

SLD

No

URL de una SLD que se utilizará para diseñar

SLD_BODY

No

SLD en línea (XML) que se utilizará para diseñar

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAP

especifica el archivo de proyecto de QGIS

BGCOLOR

No

Especifica el color de fondo

DPI

No

Especifica la resolución de salida

IMAGE_QUALITY

No

compresión JPEG

OPACITIES

No

Opacidad de la capa o Grupo

FILTER

No

Subconjunto de entidades

SELECTION

No

Resalta entidades

FILE_NAME

No

Nombre de archivo de la capa descargada

Solo para``FORMAT=application/dxf``

FORMAT_OPTIONS

No

Opciones del formato de archivo especificado

Solo para``FORMAT=application/dxf``

TESELADO

No

Trabajando en modo teselado

URL ejemplo:

http://localhost/qgis_server?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&MAP=/home/qgis/projects/world.qgs
&LAYERS=mylayer1,mylayer2,mylayer3
&STYLES=style1,default,style3
&OPACITIES=125,200,125
&CRS=EPSG:4326
&WIDTH=400
&HEIGHT=400
&FORMAT=image/png
&TRANSPARENT=TRUE
&DPI=300
&TILED=TRUE

SERVICIO

Este parámetro tiene que ser WMS.

Por ejemplo:

http://localhost/qgisserver?
SERVICE=WMS
&...

VERSIÓN

Este parámetro permite especificar la versión del servicio a utilizar. Los valores disponibles para el parámetro VERSIÓN son:

  • 1.1.1

  • 1.3.0

Según el número de versión, se esperan ligeras diferencias como se explica más adelante para los siguientes parámetros:

  • CRS / SRS

  • BBOX

SOLICITUD

Este parámetro es GetMap en caso de petición GetMap.

CAPAS

Este parámetro permite especificar las capas que se mostrarán en el mapa. Los nombres deben estar separados por una coma.

Además, QGIS Server introdujo algunas opciones para seleccionar capas mediante:

  • un nombre corto

  • el id de capa

El nombre corto de una capa se puede configurar mediante Propiedades -> Metadatos en el menú de capas. Si se define el nombre corto, entonces se usa por defecto en lugar del nombre de la capa:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mynickname1,mynickname2
&...

Además, hay una opción de proyecto que permite seleccionar capas por su identificación en OWS Server -> WMS Capacidades del menú Proyecto -> Propiedades …. Para activar esta opción, la casilla de verificación: guilabel: ʻUsar ID de capa como nombres` debe estar seleccionada.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayerid1,mylayerid2
&...

ESTILOS

Este parámetro se puede utilizar para especificar el estilo de una capa para el paso de renderizado. Los estilos deben estar separados por una coma. El nombre del estilo predeterminado es default.

SRS / CRS

Este parámetro permite indicar la salida del mapa Spatial Reference System en WMS 1.1.1 y tiene que ser foramdo como EPSG:XXXX. Note que SRC también es compatible si la versión actual es 1.1.1.

Para WMS 1.3.0, es preferible el parámetro SRC pero también se admite SRS.

Tenga en cuenta que si en la solicitud se indican los parámetros SRC y SRS, entonces es la versión actual indicada en el parámetro VERSIÓN la que es decisiva.

En el siguiente caso, el parámetro SRS se mantiene cualquiera que sea el parámetro VERSION porque no se indica SRC:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&SRS=EPSG:2854
&...

En el siguiente caso, el parámetro SRS se mantiene en lugar de SRC debido al parámetro VERSIÓN:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&CRS=EPSG:4326
&SRS=EPSG:2854
&...

En el siguiente caso, el parámetro SRC se mantiene en lugar de SRS debido al parámetro VERSION:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...

BBOX

Este parámetro permite especificar la extensión del mapa con unidades según el SRC actual. Las coordenadas deben estar separadas por una coma.

El parámetro BBOX se forma como min_a,min_b,max_a,max_b pero la definición de los ejes a y b es diferente según el parámetro VERSION actual:

  • en WMS 1.1.1, el orden de los ejes siempre es este/norte

  • en WMS 1.3.0, el orden de los ejes depende de la autoridad CRS

Por ejemplo, en el caso de EPSG:4326 y WMS 1.1.1, a es la longitud (este) y b la latitud (norte), lo que lleva a una solicitud como:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...

Pero en el caso de WMS 1.3.0, el orden de los ejes definido en la base de datos EPSG es norte/este, por lo que a es la latitud y b la longitud:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...

ANCHURA

Este parámetro permite especificar el ancho en píxeles de la imagen de salida.

ALTURA

Este parámetro permite especificar la altura en píxeles de la imagen de salida.

FORMATO

Este parámetro se puede utilizar para especificar el formato de la imagen del mapa. Los valores disponibles son:

  • jpg

  • jpeg

  • image/jpeg

  • image/png

  • image/png; mode=1bit

  • image/png; mode=8bit

  • image/png; mode=16bit

  • application/dxf Solo las capas que tienen acceso de lectura en el servicio WFS se exportan en formato DXF.

    URL ejemplo:

    http://localhost/qgisserver?
    SERVICE=WMS&VERSION=1.3.0
    &REQUEST=GetMap
    &FORMAT=application/dxf
    &LAYERS=Haltungen,Normschacht,Spezialbauwerke
    &STYLES=
    &CRS=EPSG%3A21781&BBOX=696136.28844801,245797.12108743,696318.91114315,245939.25832905
    &WIDTH=1042
    &HEIGHT=811
    &FORMAT_OPTIONS=MODE:SYMBOLLAYERSYMBOLOGY;SCALE:250&FILE_NAME=plan.dxf
    

TRANSPARENTE

Este parámetro booleano se puede utilizar para especificar la transparencia del fondo. Los valores disponibles son (no distinguen entre mayúsculas y minúsculas):

  • TRUE

  • FALSE

Sin embargo, este parámetro se ignora si el formato de la imagen del mapa indicada con FORMAT es diferente de PNG.

MAPA

Este parámetro permite definir el archivo de proyecto QGIS a utilizar.

Como se mencionó en tabla de parámetros de GetMap, MAP es obligatorio porque una solicitud necesita un proyecto QGIS para funcionar. Sin embargo, la variable de entorno QGIS_PROJECT_FILE se puede utilizar para definir un proyecto QGIS predeterminado. En este caso específico, MAP ya no es un parámetro obligatorio. Para obtener más información, puede consultar Canfiguración avanzada.

BGCOLOR

Este parámetro permite indicar un color de fondo para la imagen del mapa. Sin embargo, no se puede combinar con el parámetro `` TRANSPARENTE`` en el caso de imágenes PNG (la transparencia tiene prioridad). El color puede ser literal o en notación hexadecimal.

URL ejemplo con la notación literal:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=green
&...

Ejemplo URL con la notación hexadecimal:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=0x00FF00
&...

DPI

Este parámetro se puede utilizar para especificar la resolución de salida solicitada.

IMAGE_QUALITY

Este parámetro solo se utiliza para imágenes JPEG. De forma predeterminada, la compresión JPEG es -1.

Puede cambiar el valor predeterminado por proyecto QGIS en el menú OWS Server -> Capacidades WMS del Proyecto -> Propiedades…. Si desea anularlo en una solicitud GetMap puede hacerlo usando el parámetro ʻIMAGE_QUALITY`.

OPACITIES

Lista de valores de opacidad separados por comas. La opacidad se puede establecer a nivel de capa o de grupo. Los valores permitidos van de 0 (totalmente transparente) a 255 (totalmente opaco).

FILTER

Se puede seleccionar un subconjunto de capas con el parámetro FILTRO La sintaxis es básicamente la misma que para la cadena del subconjunto QGIS. Sin embargo, existen algunas restricciones para evitar inyecciones de SQL en bases de datos a través de QGIS Server. Si se encuentra una cadena peligrosa en el parámetro, QGIS Server devolverá el siguiente error:

<ServiceExceptionReport>
  <ServiceException code="Security">The filter string XXXXXXXXX has been rejected because of security reasons.
  Note: Text strings have to be enclosed in single or double quotes. A space between each word / special character is mandatory.
  Allowed Keywords and special characters are IS,NOT,NULL,AND,OR,IN,=,<,=<,>,>=,!=,',',(,),DMETAPHONE,SOUNDEX.
  Not allowed are semicolons in the filter expression.</ServiceException>
</ServiceExceptionReport>

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2,mylayer3
&FILTER=mylayer1:"col1";mylayer1,mylayer2:"col2" = 'blabla'
&...

En este ejemplo, el mismo filtro (el campo col2 es igual a la cadena blabla) se aplica a las capas mylayer1 y mylayer2, mientras que el filtro en col1 es solo aplicado a mylayer1.

Nota

Es posible realizar búsquedas de atributos a través de GetFeatureInfo y omitir el parámetro X / Y si hay un FILTRO. QGIS Server luego devuelve información sobre las características coincidentes y genera un cuadro delimitador combinado en la salida XML.

SELECTION

El parámetro SELECCIÓN puede resaltar entidades de una o más capas. Las características vectoriales se pueden seleccionar pasando listas separadas por comas con identificadores de objetos.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2
&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6
&...

La siguiente imagen presenta la respuesta de una solicitud GetMap usando la opción SELECTION p.ej. http://myserver.com/...&SELECTION=countries:171,65.

Como los identificadores de esas características corresponden en el conjunto de datos de origen a Francia y Rumanía, están resaltados en amarillo.

../../_images/server_selection_parameter.png

Figura 3.1 Respuesta del servidor a una solicitud GetMap con el parámetro SELECTION

FORMAT-OPTIONS

Este parámetro se puede utilizar para especificar opciones para el formato seleccionado. Solo para FORMAT=application/dxf. Una lista de pares clave: valor separados por punto y coma:

  • ESCALA: para ser utilizado para reglas de simbología, filtros y estilos (no escala real de los datos - los datos permanecen en la escala original).

  • MODO: corresponde a las opciones de exportación que se ofrecen en el cuadro de diálogo de exportación QGIS Desktop DXF. Los valores posibles son NOSYMBOLOGY, FEATURESYMBOLOGY y SYMBOLLAYERSYMBOLOGY.

  • LAYERSATTRIBUTES: especifique un campo que contenga valores para los nombres de las capas DXF; si no se especifica, se utilizan los nombres de las capas QGIS originales.

  • USE_TITLE_AS_LAYERNAME: si está habilitado, el título de la capa se utilizará como nombre de capa.

  • CODEC: especificar un códec que se utilizará para la codificación. El valor predeterminado es ISO-8859-1. Consulte el cuadro de diálogo de exportación DXF del escritorio de QGIS para obtener valores válidos.

  • NO_MTEXT: Utilice TEXT en lugar de MTEXT para las etiquetas.

  • FORCE_2D: Forzar salida 2D. Esto es necesario para el ancho de la polilínea.

TILED

Por motivos de rendimiento, QGIS Server se puede utilizar en modo mosaico. En este modo, el cliente solicita varios mosaicos pequeños de tamaño fijo y los ensambla para formar el mapa completo. Al hacer esto, los símbolos en o cerca del límite entre dos teselas pueden aparecer cortados, porque solo están presentes en una de los teselas.

Establezca el parámetro TILED en TRUE para decirle al servidor QGIS que funcione en modo teselado y para aplicar el búfer de teselas configurado en el proyecto QGIS (consulte Configure su proyecto).

Cuando TILED es TRUE y cuando se configura un búfer de mosaico distinto de cero en el proyecto QGIS, las entidades fuera de la extensión del mosaico se dibujan para evitar símbolos de corte en los límites del mosaico.

TILED predeterminado como FALSE.

3.1.2. GetFeatureInfo

Parámetros estándar para la petición GetFeatureInfo de acuerdo con las especificaciones OGC WMS 1.1.1 y 1.3.0 :

Parámetros

Necesario

Descripción

SERVICE

Nombre del servicio (WMS)

VERSION

No

Versión del servicio

REQUEST

Nombre de la solicitud (GetFeatureInfo)

QUERY_LAYERS

Capas a consultar

LAYERS

Capas para mostrar (idénticas a QUERY_LAYERS)

STYLES

No

Estilo de capas

SRS / CRS

Sistema de referencia de coordenadas

BBOX

No

Extensión del mapa

WIDTH

Ancho de la imagen en píxeles.

HEIGHT

Altura de la imagen en píxeles

TRANSPARENT

No

fondo transparente

INFO_FORMAT

No

Formato de salida

FEATURE_COUNT

No

Número máximo de objetos espaciales a devolver

I

No

Columna de píxeles del punto a consultar

X

No

Igual que el parámetro I, pero en WMS 1.1.1

J

No

Fila de píxeles del punto a consultar

Y

No

Igual que el parámetro J, pero en WMS 1.1.1

WMS_PRECISION

No

La precisión (número de dígitos) que se utilizará al devolver la geometría (consulte Cómo agregar geometría a la respuesta de la función). El valor predeterminado es -1, lo que significa que se utiliza la precisión definida en el proyecto.

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAP

especifica el archivo de proyecto de QGIS

FILTER

No

Subconjunto de entidades

FI_POINT_TOLERANCE

No

Tolerancia en pixeles para capas punto

FI_LINE_TOLERANCE

No

Tolerancia en pixeles para capas línea

FI_POLYGON_TOLERANCE

No

Tolerancia en píxeles para capas polígono

FILTER_GEOM

No

Filtrado de geometría

WITH_MAPTIP

No

Agregar consejos de mapa a la salida

WITH_GEOMETRY

No

Agregar geometría a la salida

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&MAP=/home/qgis/projects/world.qgs
&LAYERS=mylayer1,mylayer2,mylayer3
&CRS=EPSG:4326
&WIDTH=400
&HEIGHT=400
&INFO_FORMAT=text/xml
&TRANSPARENT=TRUE
&QUERY_LAYERS=mylayer1
&FEATURE_COUNT=3
&I=250
&J=250

SOLICITUD

Este parámetro es GetFeatureInfo en caso de la petición GetFeatureInfo.

INFO_FORMAT

Este parámetro se puede utilizar para especificar el formato del resultado. Los valores disponibles son:

  • text/xml

  • text/html

  • text/plain

  • application/vnd.ogc.gml

  • application/json

QUERY_LAYERS

Este parámetro especifica las capas a mostrar en el mapa. Nombres son separados por comas.

Además, El servidor de QGIS presenta opciones para seleccionar las capas por:

  • nombre corto

  • id capa

Ver las LAYERS definidas por parámetro en GetMap para mas información.

FEATURE_COUNT

Este parámetro especifica el número máximo de entidades por capa que se devolverán. Por ejemplo, si QUERY_LAYERS se establece en layer1, layer2 y FEATURE_COUNT se establece en 3, se devolverán un máximo de 3 entidades de layer1. Asimismo, se devolverá un máximo de 3 entidades de layer2.

De formar predeterminada, sólo 1 objeto espacial por capa es devuelto.

I

Este parámetro, definido en WMS 1.3.0, le permite especificar la columna de pixeles del punto de consulta.

X

Igual que el parámetro I, pero definido en WMS 1.1.1.

J

Este parámetro, definido en WMS 1.3.0, le permite especificar la fila de pixeles del punto de consulta.

Y

Igual que el parámetro J, pero definido en WMS 1.1.1.

FI_POINT_TOLERANCE

Este parámetro especifica la tolerancia en pixeles para capas de puntos.

FI_LINE_TOLERANCE

Este parámetro especifica la tolerancia en pixeles para capas de líneas.

FI_POLYGON_TOLERANCE

Este parámetro especifica la tolerancia en pixeles para capas de polígonos.

FILTER_GEOM

Este parámetro especifica una gepmetría WKT con la cuál las entidades deben intersecarse.

WITH_MAPTIP

Este parámetro especifica si agregar sugerencias de mapas a la salida.

Valores disponibles son (no en caso sensitivo):

  • TRUE

  • FALSE

WITH_GEOMETRY

Este parámetro especifica si se deben agregar geometrías a la salida. Para usar esta función, primero debe habilitar la opción: guilabel:Añadir geometría a la entidad de respuesta en el proyecto QGIS. Ver: ref: Configura tu proyecto <Creatingwmsfromproject>.

Valores disponibles son (no en caso sensitivo):

  • TRUE

  • FALSE

3.1.3. GetPrint

QGIS Server tiene la capacidad de crear una salida de diseño de impresión en formato pdf o píxel. Las ventanas de diseño de impresión del proyecto publicado se utilizan como plantillas. En la solicitud GetPrint, el cliente tiene la posibilidad de especificar parámetros de las etiquetas y mapas de diseño contenidos.

Parámetro para la petición GetPrint:

Parámetros

Necesario

Descripción

MAP

especifica el archivo de proyecto de QGIS

SERVICE

Nombre del servicio (WMS)

VERSION

No

Versión del servicio

REQUEST

Nombre de la solicitud (GetPrint)

LAYERS

No

Capas a mostrar

TEMPLATE

Plantilla de diseño a usar

SRS / CRS

Sistema de referencia de coordenadas

FORMAT

No

Formato de salida

ATLAS_PK

No

Características del Atlas

STYLES

No

Estilo de capas

TRANSPARENT

No

fondo transparente

OPACITIES

No

Opacidad de la capa o Grupo

SELECTION

No

Resalta entidades

mapX:EXTENT

No

Extensión del mapa “X”

mapX:LAYERS

No

Capas del mapa “X”

mapX:STYLES

No

Estilo de capas del mapa “X”

mapX:SCALE

No

Escala de capas del mapa “X”

mapX:ROTATION

No

Rotación del mapa “X”

mapX:GRID_INTERVAL_X

No

Intervalo de cuadrícula en eje x del mapa “X”

mapX:GRID_INTERVAL_Y

No

Intervalo de cuadrícula en eje y del mapa “X”

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetPrint
&MAP=/home/qgis/projects/world.qgs
&CRS=EPSG:4326
&FORMAT=png
&TEMPLATE=Layout%201
&map0:EXTENT=-180,-90,180,90
&map0:LAYERS=mylayer1,mylayer2,mylayer3
&map0:OPACITIES=125,200,125
&map0:ROTATION=45

Tenga en cuenta que la plantilla de diseño puede contener más de un mapa. De esta forma, si quieres configurar un mapa específico, debes utilizar los parámetros mapX: donde X es un número positivo que puedes recuperar gracias a la solicitud GetProjectSettings.

Por ejemplo:

<WMS_Capabilities>
...
<ComposerTemplates xsi:type="wms:_ExtendedCapabilities">
<ComposerTemplate width="297" height="210" name="Druckzusammenstellung 1">
<ComposerMap width="171" height="133" name="map0"/>
<ComposerMap width="49" height="46" name="map1"/></ComposerTemplate>
</ComposerTemplates>
...
</WMS_Capabilities>

SOLICITUD

Este parámetro tiene que ser GetPrint para la petición GetPrint

TEMPLATE

Este parámetro puede serr usado para especificar el nombre de la plantilla de composición a usar para la impresión.

FORMATO

Este parámetro especifica el formato de la imagen de mapa. Los valores disponibles son:

  • png (valor predeterminado)

  • image/png

  • jpg

  • jpeg

  • image/jpeg

  • svg

  • image/svg

  • image/svg+xml

  • pdf

  • application/pdf

Si el parámetro FORMAT es diferente de uno de estos valores, entonces se devuelve una excepción.

ATLAS_PK

Este parámetro permite la activación del renderizado Atlas indicando qué características queremos imprimir. Para recuperar un atlas con todas las características, se puede usar el símbolo * (según el número máximo de características permitidas en la configuración del proyecto).

Cuando FORMATO es pdf, se devuelve un solo documento PDF que combina las páginas de funciones. Para todos los demás formatos, se devuelve una sola página.

mapX:EXTENT

Este parámetro especifica la extensión para un elemento del diseño de mapa como xmin,ymin,xmax,ymax.

mapX:ROTATION

Este parámetro especifica la rotación del mapa en grados.

mapX:GRID_INTERVAL_X

Este parámetro especifica la densidad de línea de cuadrícula en la dirección X.

mapX:GRID_INTERVAL_Y

Este parámetro especifica la densidad de línea de cuadrícula en la dirección Y.

mapX:SCALE

Este parámetro especifica la escala de mapa para un elemento de la composición de mapa. Es útil para asegurar la visibilidad basada en escala de capas y etiquetas incluso si el cliente y servidor puedan tener diferentes algoritmos para calcular el denominador de escala.

mapX:LAYERS

Este parámetro especifica las capas para un elemento de composición de mapa. Ver GetMap Capas para mas información en este parámetro.

mapX:STYLES

Este parámetro especifica los estilos de las capas definidos en un elemento de mapa de diseño específico. Ver GetMap Estilos para mas información en este parámetro.

3.1.4. GetLegendGraphics

Varios parámetros adicionales están disponibles para cambiar el tamaño de los elementos de leyenda:

  • BOXSPACE espacio entre el marco de la leyenda y el contenido (mm)

  • FORMAT, image/jpeg, image/png o application/json. Para JSON, los símbolos se codifican con Base64 y la mayoría de las demás opciones relacionadas con el diseño o las fuentes no se tienen en cuenta porque la leyenda debe construirse en el lado del cliente.

  • LAYERSPACE espacio vertical entre capas (mm)

  • LAYERTITLESPACE espacio vertical entre el título de la capa y los elementos siguientes (mm)

  • SYMBOLSPACE espacio vertical entre símbolo y artículo siguiente (mm)

  • ICONLABELSPACE espacio horizontal entre el símbolo y el texto de la etiqueta (mm)

  • SYMBOLWIDTH ancho de la previsualización de símbolo (mm)

  • SYMBOLHEIGHT alto de la previsualización de símbolo (mm)

Estos parámetros cambian las propiedades de fuente para títulos de capa y etiquetas de elementos:

  • LAYERFONTFAMILY / ITEMFONTFAMILY familia de fuentes para el título de la capa / texto del elemento

  • LAYERFONTBOLD / ITEMFONTBOLD TRUE usar una fuente en negrita

  • LAYERFONTSIZE / ITEMFONTSIZE Tamaño de fuente en puntos

  • LAYERFONTITALIC / ITEMFONTITALIC TRUE para usar fuente itálica

  • LAYERFONTCOLOR / ITEMFONTCOLOR código de color Hexadecimal (p.ej. #FF0000 para rojo)

  • LAYERTITLE FALSE para obtener solo los gráficos de leyenda sin título de capa

  • RULELABEL:

    • FALSE gráficos de leyenda sin etiquetas de artículo

    • AUTO ocultar la etiqueta del elemento para las capas con representación de símbolo único

Leyenda basada en contenido. Estos parámetros permiten que el cliente solicite una leyenda que muestre solo los símbolos de las características que caen en el área solicitada:

  • BBOX el área geográfica para la que se debe construir la leyenda

  • CRS / SRS el sistema de referencia de coordenadas adoptado para definir las coordenadas BBOX

  • **SRCWIDTH / SRCHEIGHT**si se establecen, estos deben coincidir con los parámetros WIDTH y HEIGHT de la solicitud GetMap, para permitir que QGIS Server escale los símbolos de acuerdo con el tamaño de la imagen de la vista del mapa.

Las características de leyenda basadas en contenido se basan en la implementación de UMN MapServer:

  • SHOWFEATURECOUNT si se establece en TRUE, agrega en la leyenda el recuento de características de las características como en la siguiente imagen:

    ../../_images/getfeaturecount_legend.png
  • RULE configúrelo en un nombre de regla dado para obtener solo el símbolo de regla nombrado

  • WIDTH/HEIGHT el tamaño de la imagen de leyenda generada si el parámetro RULE es establecido

3.1.5. GetProjectSettings

Este tipo de solicitud funciona de manera similar a GetCapabilities, pero es más específico para QGIS Server y permite que un cliente lea información adicional que no está disponible en la salida de GetCapabilities:

  • visibilidad inicial de las capas

  • información acerca de atributos vectoriales y sus tipos de edición

  • información acerca de orden de capa y orden de dibujado

  • lista de capas publicadas en WFS

  • mostrar si un grupo en el árbol de capas es mutuamente exclusivo

3.2. Web Feature Service (WFS)

Los estándares WFS 1.0.0 y 1.1.0 implementados en QGIS Server proporcionan una interfaz HTTP para consultar características geográficas de un proyecto QGIS. Una solicitud WFS típica define el proyecto QGIS a usar y la capa a consultar.

Documento de especificaciones según el número de versión del servicio:

Solicitudes standard proporcionadas por el servidor QGIS:

Solicitud

Descripción

GetCapabilities

Devuelve metadatos XML con información sobre el servidor

GetFeature

Devuelve una selección de objetos espaciales

DescribeFeatureType

Devuelve una descripción de los tipos de entidades y propiedades.

Transacción

Permite insertar, actualizar o eliminar objetos

3.2.1. GetFeature

Parámetros estándar para la solicitud GetFeature de acuerdo con las especificaciones OGC WFS 1.0.0 y 1.1.0:

Parámetros

Necesario

Descripción

SERVICIO

Nombre del servicio

VERSIÓN

No

Versión del servicio

SOLICITUD

Nombre de la petición

TYPENAME

No

Nombre de las capas

OUTPUTFORMAT

No

Formato de Salida

RESULTTYPE

No

Tipo de resultado

PROPERTYNAME

No

Nombre de las propiedades a regresar

MAXFEATURES

No

Número máximo de objetos espaciales a devolver

SRSNAME

No

Sistema de referencia de coordenadas

FEATUREID

No

Filtrar los objetos espaciales por ids

FILTER

No

OGC Codificación de Filtro

BBOX

No

Extensión del Mapa

SORTBY

No

Ordena los resultados

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAPA

especifica el archivo de proyecto de QGIS

STARTINDEX

No

Paginamiento

GEOMETRYNAME

No

Tipo de geometría para regresar

EXP_FILTER

No

Filtrado de expresión

SERVICIO

Este parámetro tiene que ser WFS en caso de la solicitud GetFeature.

Por ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&...

VERSIÓN

Este parámetro permite especificar la versión del servicio a utilizar. Los valores disponibles para el parámetro VERSIÓN son:

  • 1.0.0

  • 1.1.0

Si no se indica una versión en la solicitud, entonces se usa 1.1.0 por defecto.

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&...

SOLICITUD

Este parámetro es GetFeature en el caso de la solicitud GetFeature.

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&...

RESULTTYPE

Este parámetro se puede utilizar para especificar el tipo de resultado que se devolverá. Los valores disponibles son:

  • results: el comportamiento predeterminado

  • hits: devuelve solo un recuento de objetos

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&RESULTTYPE=hits
&...

GEOMETRYNAME

Este parámetro se puede utilizar para especificar el tipo de geometría que se devolverá para las entidades. Los valores disponibles son:

  • extent

  • centroid

  • none

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&GEOMETRYNAME=centroid
&...

STARTINDEX

Este parámetro es estándar en WFS 2.0, pero es una extensión para WFS 1.0.0. En realidad, se puede usar para omitir algunas funciones en el conjunto de resultados y, en combinación con MAXFEATURES, brinda la capacidad de revisar los resultados.

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&STARTINDEX=2
&...

3.3. Web Map Tile Service (WMTS)

El estándar WMTS 1.0.0 implementado en QGIS Server proporciona una interfaz HTTP para solicitar imágenes de mapas en mosaico generadas a partir de un proyecto QGIS. Una solicitud WMTS típica definió el proyecto QGIS a usar, algunos parámetros WMS como capas para renderizar, así como parámetros de mosaico.

Documento de especificaciones del servicio:

Solicitudes standard proporcionadas por el servidor QGIS:

Solicitud

Descripción

GetCapabilities

Devuelve metadatos XML con información sobre el servidor

GetTile

Devuelve una tesela

GetFeatureInfo

Recupera datos (geometría y valores) para una ubicación de píxeles

3.3.1. GetCapabilities

Parámetros estándar para la solicitud GetCapabilities de acuerdo con las especificaciones OGC WMTS 1.0.0:

Parámetros

Necesario

Descripción

SERVICIO

Nombre del servicio (WMTS)

SOLICITUD

Nombre de la solicitud (GetCapabilities)

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAPA

especifica el archivo de proyecto de QGIS

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetCapabilities
&MAP=/home/qgis/projects/world.qgs

SERVICIO

Este parámetro tiene que ser WMTS en caso de la solicitud ** GetCapabilities **.

SOLICITUD

Este parámetro es GetCapabilities en el caso de la solicitud GetCapabilities.

MAPA

Este parámetro permite definir el archivo de proyecto QGIS a utilizar.

3.3.2. GetTile

Parámetros estándar para la solicitud ** GetTile ** de acuerdo con las especificaciones OGC WMTS 1.0.0:

Parámetros

Necesario

Descripción

SERVICIO

Nombre del servicio (WMTS)

SOLICITUD

Nombre de la solicitud (GetTile)

LAYER

Identificador de capa

FORMATO

Formato de salida de la tesela

TILEMATRIXSET

Nombre de la pirámide

TILEMATRIX

Enmallado

TILEROW

Coordenada de fila en la malla

TILECOL

Coordenada de columna en la malla

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAPA

especifica el archivo de proyecto de QGIS

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&MAP=/home/qgis/projects/world.qgs
&LAYER=mylayer
&FORMAT=image/png
&TILEMATRIXSET=EPSG:4326
&TILEROW=0
&TILECOL=0

SERVICIO

Este parámetro tiene que ser WMTS en el caso de la solicitud ** GetTile **.

SOLICITUD

Este parámetro es GetTile en caso de petición GetTile.

LAYER

Este parámetro permite especificar la capa que se mostrará en el mosaico.

Además, QGIS Server introdujo algunas opciones para seleccionar una capa mediante:

  • un nombre corto

  • el id de capa

El nombre corto de una capa se puede configurar mediante Propiedades -> Metadatos en el menú de capas. Si se define el nombre corto, entonces se usa por defecto en lugar del nombre de la capa:

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mynickname
&...

Además, hay una opción de proyecto que permite seleccionar capas por su identificación en:menuselection:OWS Server –> WMS capabilities menú del diálogo Proyecto ► Propiedades de Proyecto. Para activar esta opción, la casilla de verificación Usar ID de capa como nombres debe estar seleccionada.

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mylayerid1
&...

FORMATO

Este parámetro se puede utilizar para especificar el formato de la imagen del mosaico. Los valores disponibles son:

  • jpg

  • jpeg

  • image/jpeg

  • image/png

Si el parámetro FORMATO es diferente de uno de estos valores, entonces se usa el formato predeterminado PNG en su lugar.

TILEMATRIXSET

Este parámetro define el SRC que se utilizará al calcular la pirámide subyacente. Formato: EPSG: XXXX.

TILEMATRIX

Este parámetro permite definir la matriz a utilizar para el mosaico de salida.

TILEROW

Este parámetro permite seleccionar la fila del mosaico para entrar en la matriz.

TILECOL

Este parámetro permite seleccionar la columna del mosaico para entrar en la matriz.

MAPA

Este parámetro permite definir el archivo de proyecto QGIS a utilizar.

Como se mencionó en tabla de parámetros de GetMap, MAP es obligatorio porque una solicitud necesita un proyecto QGIS para funcionar. Sin embargo, la variable de entorno QGIS_PROJECT_FILE se puede utilizar para definir un proyecto QGIS predeterminado. En este caso específico, MAP ya no es un parámetro obligatorio. Para obtener más información, puede consultar Canfiguración avanzada.

3.3.3. GetFeatureInfo

Parámetros estándar para la solicitud GetFeatureInfo de acuerdo con la especificación OGC WMTS 1.0.0:

Parámetros

Necesario

Descripción

SERVICIO

Nombre del servicio (WMTS)

SOLICITUD

Nombre de la solicitud (GetFeatureInfo)

LAYER

Identificador de capa

INFOFORMAT

No

Formato de salida

I

No

coordenada X de un píxel

J

No

coordenada Y de un píxel

TILEMATRIXSET

See GetTile

TILEMATRIX

See GetTile

TILEROW

See GetTile

TILECOL

See GetTile

En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:

Parámetros

Necesario

Descripción

MAPA

especifica el archivo de proyecto de QGIS

URL ejemplo:

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&MAP=/home/qgis/projects/world.qgs
&LAYER=mylayer
&INFOFORMAT=image/html
&I=10
&J=5

SERVICIO

Este parámetro tiene que ser WMTS en el caso de la solicitud GetFeatureInfo.

SOLICITUD

Este parámetro es GetFeatureInfo en caso de la petición GetFeatureInfo.

MAPA

Este parámetro permite definir el archivo de proyecto QGIS a utilizar.

Como se mencionó en tabla de parámetros de GetMap, MAP es obligatorio porque una solicitud necesita un proyecto QGIS para funcionar. Sin embargo, la variable de entorno QGIS_PROJECT_FILE se puede utilizar para definir un proyecto QGIS predeterminado. En este caso específico, MAP ya no es un parámetro obligatorio. Para obtener más información, puede consultar Canfiguración avanzada.

LAYER

Este parámetro permite especificar la capa que se mostrará en el mosaico.

Además, QGIS Server introdujo algunas opciones para seleccionar una capa mediante:

  • un nombre corto

  • el id de capa

El nombre corto de una capa se puede configurar mediante Propiedades -> Metadatos en el menú de capas. Si se define el nombre corto, entonces se usa por defecto en lugar del nombre de la capa:

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mynickname
&...

Además, hay una opción de proyecto que permite seleccionar capas por su identificación en:menuselection:OWS Server –> WMS capabilities menú del diálogo Proyecto ► Propiedades de Proyecto. Para activar esta opción, la casilla de verificación Usar ID de capa como nombres debe estar seleccionada.

http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mylayerid1
&...

INFOFORMAT

Este parámetro permite definir el formato de salida del resultado. Los valores disponibles son:

  • text/xml

  • text/html

  • text/plain

  • application/vnd.ogc.gml

El valor predeterminado es text/plain.

I

Este parámetro permite definir la coordenada X del píxel para el que queremos recuperar la información subyacente.

J

Este parámetro permite definir la coordenada Y del píxel para el que queremos recuperar información subyacente.

3.4. WFS3 (Objetos API OGC)

WFS3 es la primera implementación de la nueva generación de protocolos OGC. Es descrito por el OGC API - Features - Part 1: Core documento.

Aquí hay un resumen informal rápido de las diferencias más importantes entre el conocido protocolo WFS y WFS3:

  • WFS3 está basada en una API REST

  • API WFS3 debe seguir las especificaciones OPENAPI

  • WFS3 admite múltiples formatos de salida, pero no dicta ninguno (solo GeoJSON y HTML están disponibles actualmente en QGIS WFS3) y usa negociación de contenido para determinar qué formato se servirá al cliente

  • JSON y HTML son ciudadanos de primera clase en WFS3

  • WFS3 se autodocumenta (a través del punto final /api)

  • WFS3 es totalmente navegable (a través de enlaces) y navegable

Importante

Si bien la implementación de WFS3 en QGIS puede hacer uso del parámetro MAP para especificar el archivo del proyecto, la especificación OPENAPI no permite parámetros de consulta adicionales. Por esta razón, se recomienda encarecidamente que MAP no esté expuesto en la URL y que el archivo del proyecto se especifique en el entorno por otros medios (es decir, estableciendo QGIS_PROJECT_FILE en el entorno a través de una regla de reescritura del servidor web).

Nota

La API punto final proporciona documentación completa de todos los parámetros y formatos de salida admitidos de su servicio. Los siguientes párrafos solo describirán los más importantes.

3.4.1. Representación de recurso

La implementación de QGIS Server WFS3 actualmente admite los siguientes formatos de representación de recursos (salida):

  • HTML

  • JSON

El formato que se sirve realmente dependerá de la negociación de contenido, pero se puede solicitar explícitamente un formato específico agregando un especificador de formato a los puntos finales.

Las extensiones de especificador de formato admitidas son:

  • .json

  • .html

Los alias de especificador de formato adicionales se pueden definir por puntos finales específicos:

  • .openapi: alias para .json soportado por la API endpoint

  • .geojson: alias para .json soportado por los endpoints Features y Feature

3.4.2. Puntos finales

La API proporciona una lista de puntos finales que los clientes pueden recuperar. El sistema está diseñado de tal manera que cada respuesta proporciona un conjunto de enlaces para navegar a través de todos los recursos proporcionados.

Los puntos finales proporcionados por la implementación de QGIS son:

Nombre

Ruta

Descripción

Página de Aterrizaje

/

Información general sobre el servicio y proporciona enlaces a todos los puntos finales disponibles.

Conformidad

/conformance

Información sobre la conformidad del servicio con los estándares.

API

/api

Descripción completa de los puntos finales proporcionados por el servicio y la estructura de los documentos devueltos

Colecciones

/collections

Lista de todas las colecciones (es decir, “capas vectoriales”) proporcionadas por el servicio

Colección

/collections/{collectionId}

Información sobre una colección (nombre, metadatos, extensión, etc.)

Prestaciones

/collections/{collectionId}/items

Lista de los objetos espaciales provistos por la colección

Objeto espacial

/collections/{collectionId}/items/{featureId}

Información acerca de un objeto espacial solo

Página de Aterrizaje

El punto final principal es la Página de destino. Desde esa página es posible navegar a todos los puntos finales de servicio disponibles. La página de destino debe proporcionar enlaces a

  • la definición de API (ruta /api relaciones de enlace service-desc y service-doc),

  • la declaración de conformidad (ruta /conformidad, relación de enlace conformidad), y

  • las Colecciones (ruta /colecciones, relación de enlace datos).

../../_images/server_wfs3_landing_page.png

Figura 3.2 Página de aterrizaje de Servidor WFS3

Definición API

La Definición de API es una descripción compatible con OPENAPI de la API proporcionada por el servicio. En su representación HTML, es una página navegable donde todos los puntos finales y sus formatos de respuesta se enumeran y documentan con precisión. La ruta de este punto final es /api.

La definición de API proporciona una documentación completa y autorizada del servicio, incluidos todos los parámetros admitidos y los formatos devueltos.

Nota

Este punto final es análogo a GetCapabilities de WFS’s

Lista de colecciones

El punto final de colecciones proporciona una lista de todas las colecciones disponibles en el servicio. Dado que el servicio «sirve» a un solo proyecto QGIS, las colecciones son las capas vectoriales del proyecto actual (si se publicaron como WFS en las propiedades del proyecto). La ruta de este punto final es /collections/.

../../_images/server_wfs3_collections.png

Figura 3.3 Página de lista de colecciones de servidor WFS3

Detalle de colección

Si bien el punto final de las colecciones no proporciona información detallada sobre cada colección disponible, esa información está disponible en los puntos finales /collections/{collectionId}. La información típica incluye la extensión, una descripción, SRC y otros metadatos.

La representación HTML también proporciona un mapa navegable con las funciones disponibles.

../../_images/server_wfs3_collection.png

Figura 3.4 Página de detalles de la colección del servidor WFS3

Lista de objetos espaciales

Este punto final proporciona una lista de todas las funciones de una colección que conocen el ID de la colección. La ruta de este punto final es /collections/{collectionId}/items.

La representación HTML también proporciona un mapa navegable con las funciones disponibles.

Nota

Este punto final es análogo a GetFeature en WFS 1 y WFS 2.

../../_images/server_wfs3_features.png

Figura 3.5 Página de lista de características del servidor WFS3

Detalle de objeto espacial

Este punto final proporciona toda la información disponible sobre una única entidad, incluidos los atributos de la entidad y su geometría. La ruta de este punto final es /collections/{collectionId}/items/{itemId}.

La representación HTML también proporciona un mapa navegable con la geometría de la entidad.

../../_images/server_wfs3_feature.png

Figura 3.6 Página de detalles de la entidad del servidor WFS3

3.4.3. Paginación

La paginación de una larga lista de características se implementa en la API de OGC a través de enlaces siguiente y anterior, el servidor QGIS construye estos enlaces agregando límite y compensación como parámetros de cadena de consulta.

URL ejemplo:

http://localhost/qgisserver/wfs3/collection_one/items.json?offset=10&limit=10

Nota

El valor máximo aceptable para límite se puede configurar con el ajuste de configuración del servidor QGIS_SERVER_API_WFS3_MAX_LIMIT (ver: Variables de entorno).

3.4.4. Filtrado de objetos espaciales

Las funciones disponibles en una colección se pueden filtrar/buscar especificando uno o más filtros.

Filtro de fecha y hora

Las colecciones con atributos de fecha y / o fecha y hora se pueden filtrar especificando un argumento fecha y hora en la cadena de consulta. De forma predeterminada, el primer campo de fecha / fecha y hora se utiliza para el filtrado. Este comportamiento se puede configurar estableciendo una dimensión de «Fecha» u «Hora» en Servidor QGIS -> Dimensión del cuadro de diálogo de propiedades de la capa.

La sintaxis de filtrado de fecha y hora se describe completamente en Definición API y también admite rangos (se incluyen los valores de inicio y finalización) además de valores únicos.

URL ejemplos:

Devuelve solo las funciones con coincidencia de dimensión de fecha 2019-01-01

http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01

Devuelve solo las funciones con coincidencia de dimensión de fecha y hora 2019-01-01T01:01:01

http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01T01:01:01

Devuelve solo las entidades con dimensión de fecha y hora en el rango 2019-01-01T01:01:01 - 2019-01-01T12:00:00

http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01T01:01:01/2019-01-01T12:00:00

Filtro de recuadro delimitador

Se puede especificar un filtro espacial de cuadro delimitador con el parámetro bbox:

El orden de los elementos separados por comas es:

  • Esquina inferior izquierda, longitud WGS 84

  • Esquina inferior izquierda, latitud WGS 84

  • Esquina superior derecha, longitud WGS 84

  • Esquina superior derecha, latitud WGS 84

Nota

Las especificaciones OGC también permiten un especificador bbox de 6 elementos donde el tercer y sexto elemento son los componentes Z, esto aún no es compatible con el servidor QGIS.

URL ejemplo:

http://localhost/qgisserver/wfs3/collection_one/items.json?bbox=-180,-90,180,90

Si el SRC del cuadro delimitador no es WGS 84, se puede especificar un SRC diferente utilizando el parámetro opcional bbox-crs. El identificador de formato SRC debe estar en el formato ʻOGC URI <https://www.opengis.net/def/crs/>`_:

URL ejemplo:

http://localhost/qgisserver/wfs3/collection_one/items.json?bbox=913191,5606014,913234,5606029&bbox-crs=http://www.opengis.net/def/crs/EPSG/9.6.2/3857

Filtros de Atributos

Los filtros de atributos se pueden combinar con el filtro de cuadro delimitador y están en la forma general: <attribute name>=<attribute value>. Se pueden combinar varios filtros usando el operador «Y».

URL ejemplo:

filtra todas las entidades donde nombre es igual a «mi valor»

http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=my%20value

Coincidencias parciales también son soportads usando el operador * («estrella»)

URL ejemplo:

filtra todas las entidades donde el atributo nombre finaliza con «valor»

http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=*value

3.4.5. Ordenar Entidad

Es posible ordenar el conjunto de resultados por valor de campo utilizando el parámetro de consulta sortby.

Los resultados se ordenan en orden ascendente de forma predeterminada. Para ordenar los resultados en orden descendente, una bandera booleana (sortdesc) puede establecerse:

http://localhost/qgisserver/wfs3/collection_one/items.json?sortby=name&sortdesc=1

3.4.6. Selección de atributos

Los atributos de características devueltos por una llamada :ref:ʻogc_api_features_features_list` se pueden limitar agregando una lista de nombres de atributos separados por comas en el argumento opcional de cadena de consulta propiedades.

URL ejemplo:

devuelve solo el atributo nombre

http://localhost/qgisserver/wfs3/collection_one/items.json?properties=name

3.4.7. Personaliza las páginas HTML

La representación HTML utiliza un conjunto de plantillas HTML para generar la respuesta. La plantilla es analizada por un motor de plantillas llamado inja. Las plantillas se pueden personalizar reemplazándolas (consulte: Sobreescritura de Plantilla). La plantilla tiene acceso a los mismos datos que están disponibles para la representación JSON y algunas funciones adicionales están disponibles para la plantilla:

Funciones personalizadas de plantilla

  • path_append( path ): adjunta una ruta de directorio a la actual url

  • path_chomp( n ): borra el número especificado «n» de componentes del directorio de la ruta url actual

  • json_dump( ): imprime los datos JSON pasados a la plantilla

  • static( path ): devuelve la URL completa a la ruta estática especificada. Por ejemplo: «static( «/style/black.css» )» con una ruta raiz «http://localhost/qgisserver/wfs3» devolverá «http://localhost/qgisserver/wfs3/static/style/black.css».

  • links_filter( links, key, value ): Devuelve enlaces filtrados de una lista de enlaces

  • content_type_name( content_type ): Devuelve un nombre corto de un tipo de contenido, por ejemplo «text/html» devolverá «HTML»

Sobreescritura de Plantilla

Las plantillas y los activos estáticos se almacenan en subdirectorios del directorio de recursos de API predeterminado del servidor QGIS (/usr/share/qgis/resources/server/api/ en un sistema Linux), el directorio base se puede personalizar cambiando la variable de entorno QGIS_SERVER_API_RESOURCES_DIRECTORY.

Una instalación típica de Linux tendrá el siguiente árbol de directorios:

/usr/share/qgis/resources/server/api/
└── ogc
    ├── schema.json
    ├── static
    │   ├── jsonFormatter.min.css
    │   ├── jsonFormatter.min.js
    │   └── style.css
    └── templates
        └── wfs3
            ├── describeCollection.html
            ├── describeCollections.html
            ├── footer.html
            ├── getApiDescription.html
            ├── getFeature.html
            ├── getFeatures.html
            ├── getLandingPage.html
            ├── getRequirementClasses.html
            ├── header.html
            ├── leaflet_map.html
            └── links.html

Para anular las plantillas, puede copiar todo el árbol a otra ubicación y señalar QGIS_SERVER_API_RESOURCES_DIRECTORY a la nueva ubicación.

3.5. Parámetros extra soportados por todos los tipos de solicitudes

Los siguientes parámetros adicionales son compatibles con todos los protocolos.

  • FILE_NAME: si se establece, la respuesta del servidor se enviará al cliente como un archivo adjunto con el nombre de archivo especificado.

Nota

No disponible para WFS3.

  • MAP: De manera similar a MapServer, el parámetro MAP se puede usar para especificar la ruta al archivo del proyecto QGIS. Puede especificar una ruta absoluta o una ruta relativa a la ubicación del ejecutable del servidor (qgis_mapserv.fcgi). Si no se especifica, QGIS Server busca archivos .qgs en el directorio donde se encuentra el ejecutable del servidor.

    Ejemplo:

    http://localhost/cgi-bin/qgis_mapserv.fcgi?\
      REQUEST=GetMap&MAP=/home/qgis/projects/world.qgs&...
    

Nota

Puede definir un QGIS_PROJECT_FILE como una variable de entorno para decirle al ejecutable del servidor dónde encontrar el archivo del proyecto QGIS. Esta variable será la ubicación donde QGIS buscará el archivo del proyecto. Si no está definido, usará el parámetro MAP en la solicitud y finalmente buscará en el directorio ejecutable del servidor.

3.6. REDLINING

Esta función está disponible y se puede utilizar con las solicitudes GetMap y GetPrint.

La función de marcación roja se puede utilizar para pasar geometrías y etiquetas en la solicitud que el servidor superpone sobre la imagen devuelta estándar (mapa). Esto permite al usuario poner énfasis o quizás agregar algunos comentarios (etiquetas) a algunas áreas, ubicaciones, etc. que no están en el mapa estándar.

La petición GetMap está en el formato:

http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi?map=/world.qgs&SERVICE=WMS&VERSION=1.3.0&
REQUEST=GetMap
...
&HIGHLIGHT_GEOM=POLYGON((590000 5647000, 590000 6110620, 2500000 6110620, 2500000 5647000, 590000 5647000))
&HIGHLIGHT_SYMBOL=<StyledLayerDescriptor><UserStyle><Name>Highlight</Name><FeatureTypeStyle><Rule><Name>Symbol</Name><LineSymbolizer><Stroke><SvgParameter name="stroke">%23ea1173</SvgParameter><SvgParameter name="stroke-opacity">1</SvgParameter><SvgParameter name="stroke-width">1.6</SvgParameter></Stroke></LineSymbolizer></Rule></FeatureTypeStyle></UserStyle></StyledLayerDescriptor>
&HIGHLIGHT_LABELSTRING=Write label here
&HIGHLIGHT_LABELSIZE=16
&HIGHLIGHT_LABELCOLOR=%23000000
&HIGHLIGHT_LABELBUFFERCOLOR=%23FFFFFF
&HIGHLIGHT_LABELBUFFERSIZE=1.5

El equivalente GetPrint está en el formato (note que el parámetro mapX: se agrega para decir qué mapa tiene líneas rojas):

http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi?map=/world.qgs&SERVICE=WMS&VERSION=1.3.0&
REQUEST=GetPrint
...
&map0:HIGHLIGHT_GEOM=POLYGON((590000 5647000, 590000 6110620, 2500000 6110620, 2500000 5647000, 590000 5647000))
&map0:HIGHLIGHT_SYMBOL=<StyledLayerDescriptor><UserStyle><Name>Highlight</Name><FeatureTypeStyle><Rule><Name>Symbol</Name><LineSymbolizer><Stroke><SvgParameter name="stroke">%23ea1173</SvgParameter><SvgParameter name="stroke-opacity">1</SvgParameter><SvgParameter name="stroke-width">1.6</SvgParameter></Stroke></LineSymbolizer></Rule></FeatureTypeStyle></UserStyle></StyledLayerDescriptor>
&map0:HIGHLIGHT_LABELSTRING=Write label here
&map0:HIGHLIGHT_LABELSIZE=16
&map0:HIGHLIGHT_LABELCOLOR=%23000000
&map0:HIGHLIGHT_LABELBUFFERCOLOR=%23FFFFFF
&map0:HIGHLIGHT_LABELBUFFERSIZE=1.5

Aquí está la imagen obtenida por la solicitud anterior en la que se dibujan un polígono y una etiqueta sobre el mapa normal:

../../_images/server_redlining.png

Figura 3.7 Respuesta del servidor a una solicitud GetMap con parámetros de marcado

Puede ver que hay varios parámetros en esta solicitud:

  • HIGHLIGHT_GEOM: Puede añadir POINT, MULTILINESTRING, POLYGON etc. Admite geometrías multiparte. Aquí hay un ejemplo: HIGHLIGHT_GEOM=MULTILINESTRING((0 0, 0 1, 1 1)). Las coordenadas deben estar en el SRC de la solicitud GetMap/GetPrint.

  • HIGHLIGHT_SYMBOL: Esto controla cómo se perfila la geometría y puede cambiar el ancho, el color y la opacidad del trazo.

  • HIGHLIGHT_LABELSTRING: Puede pasar su texto de etiquetado a este parámetro.

  • HIGHLIGHT_LABELSIZE: Este parámetro controla el tamaño de la etiqueta.

  • HIGHLIGHT_LABELFONT: Este parámetro controla la fuente de la etiqueta (por ejemplo, Arial)

  • HIGHLIGHT_LABELCOLOR: Este parámetro controla el color de la etiqueta.

  • HIGHLIGHT_LABELBUFFERCOLOR: Este parámetro controla el color del búfer de etiquetas.

  • HIGHLIGHT_LABELBUFFERSIZE: Este parámetro controla el tamaño del búfer de etiquetas.

3.7. Capas WMS Externas

QGIS Server permite incluir capas de servidores WMS externos en las solicitudes WMS GetMap y WMS GetPrint. Esto es especialmente útil si un cliente web utiliza una capa de fondo externa en el mapa web. Por razones de rendimiento, dichas capas deben ser solicitadas directamente por el cliente web (no en cascada a través del servidor QGIS). Sin embargo, para imprimir, estas capas deben conectarse en cascada a través del servidor QGIS para que aparezcan en el mapa impreso.

Las capas externas se pueden agregar al parámetro LAYERS como EXTERNAL_WMS:<layername>. Los parámetros para las capas WMS externas (por ejemplo, url, formato, dpiMode, crs, capas, estilos) se pueden proporcionar posteriormente como parámetros de servicio. <layername>:<parameter>. En una solicitud GetMap, esto podría verse así:

http://localhost/qgisserver?
SERVICE=WMS&REQUEST=GetMap
...
&LAYERS=EXTERNAL_WMS:basemap,layer1,layer2
&STYLES=,,
&basemap:url=http://externalserver.com/wms.fcgi
&basemap:format=image/jpeg
&basemap:dpiMode=7
&basemap:crs=EPSG:2056
&basemap:layers=orthofoto
&basemap:styles=default

En una solicitud GetMap, esto podría verse así:

http://localhost/qgisserver?
SERVICE=WMS
...
&REQUEST=GetPrint&TEMPLATE=A4
&map0:layers=EXTERNAL_WMS:basemap,layer1,layer2
&map0:EXTENT=<minx,miny,maxx,maxy>
&basemap:url=http://externalserver.com/wms.fcgi
&basemap:format=image/jpeg
&basemap:dpiMode=7
&basemap:crs=EPSG:2056
&basemap:layers=orthofoto
&basemap:styles=default

3.8. Catálogo del servidor QGIS

El QGIS Server Catalog es un catálogo simple que muestra la lista de proyectos QGIS atendidos por el QGIS Server. Proporciona un sitio web totalmente navegable y fácil de usar con capacidades básicas de mapeo para explorar rápidamente los conjuntos de datos expuestos a través de esos proyectos QGIS.

El QGIS Server catalog usa las variables QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES y QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS (ver Variables de entorno)

../../_images/server_project_list.png

Figura 3.8 Página de lista de proyectos del catálogo de servidores

Puedes consultar los metadatos asociados a un proyecto y los servicios que presta. También se proporcionan enlaces a esos servicios.

../../_images/server_project_metadata_services.png

Figura 3.9 Server Catalog, metadatos asociados a un proyecto y servicios (links to) que proporciona.

Al navegar por un proyecto, se enumera el conjunto de datos que sirve.

../../_images/server_browse_dataset.png

Figura 3.10 Examinar un conjunto de datos servido por un proyecto en el Server Catalog

Utilice el botón derecho del ratón en una capa para mostrar la tabla de atributos asociada a ella.

../../_images/server_attribute_table.png

Figura 3.11 Tabla de atributos asociada a una capa

Es posible consultar información de los elementos en el mapa como se muestra en la siguiente imagen:

../../_images/server_info_results.png

Figura 3.12 Consulta de información de un elemento del mapa