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 |
Devuelve un mapa |
|
Recupera datos (geometría y valores) para una ubicación de píxeles |
|
Devuelve símbolos de leyenda |
Solicitudes de proveedor proporcionadas por QGIS Server:
Solicitud |
Descripción |
---|---|
Devuelve una composición de QGIS |
|
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 |
---|---|---|
Sí |
Nombre del servicio (WMS) |
|
Sí |
Versión del servicio |
|
Sí |
Nombre de la petición (GetMap) |
|
No |
Capas a mostrar |
|
No |
Estilo de capas |
|
Sí |
Sistema de referencia de coordenadas |
|
Sí |
Extensión del mapa |
|
Sí |
Ancho de la imagen en píxeles. |
|
Sí |
Altura de la imagen en píxeles |
|
No |
Formato de imagen |
|
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 |
---|---|---|
Sí |
especifica el archivo de proyecto de QGIS |
|
No |
Especifica el color de fondo |
|
No |
Especifica la resolución de salida |
|
No |
compresión JPEG |
|
No |
Opacidad de la capa o Grupo |
|
No |
Subconjunto de entidades |
|
No |
Resalta entidades |
|
FILE_NAME |
No |
Nombre de archivo de la capa descargada Solo para``FORMAT=application/dxf`` |
No |
Opciones del formato de archivo especificado Solo para``FORMAT=application/dxf`` |
|
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
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
del menú . 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ú 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.
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
ySYMBOLLAYERSYMBOLOGY
.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 |
---|---|---|
Sí |
Nombre del servicio (WMS) |
|
No |
Versión del servicio |
|
Sí |
Nombre de la solicitud (GetFeatureInfo) |
|
Sí |
Capas a consultar |
|
Sí |
Capas para mostrar (idénticas a QUERY_LAYERS) |
|
No |
Estilo de capas |
|
Sí |
Sistema de referencia de coordenadas |
|
No |
Extensión del mapa |
|
Sí |
Ancho de la imagen en píxeles. |
|
Sí |
Altura de la imagen en píxeles |
|
No |
fondo transparente |
|
No |
Formato de salida |
|
No |
Número máximo de objetos espaciales a devolver |
|
No |
Columna de píxeles del punto a consultar |
|
No |
Igual que el parámetro I, pero en WMS 1.1.1 |
|
No |
Fila de píxeles del punto a consultar |
|
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 |
En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:
Parámetros |
Necesario |
Descripción |
---|---|---|
Sí |
especifica el archivo de proyecto de QGIS |
|
No |
Subconjunto de entidades |
|
No |
Tolerancia en pixeles para capas punto |
|
No |
Tolerancia en pixeles para capas línea |
|
No |
Tolerancia en píxeles para capas polígono |
|
No |
Filtrado de geometría |
|
No |
Agregar consejos de mapa a la salida |
|
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 |
---|---|---|
Sí |
especifica el archivo de proyecto de QGIS |
|
Sí |
Nombre del servicio (WMS) |
|
No |
Versión del servicio |
|
Sí |
Nombre de la solicitud (GetPrint) |
|
No |
Capas a mostrar |
|
Sí |
Plantilla de diseño a usar |
|
Sí |
Sistema de referencia de coordenadas |
|
No |
Formato de salida |
|
No |
Características del Atlas |
|
No |
Estilo de capas |
|
No |
fondo transparente |
|
No |
Opacidad de la capa o Grupo |
|
No |
Resalta entidades |
|
No |
Extensión del mapa “X” |
|
No |
Capas del mapa “X” |
|
No |
Estilo de capas del mapa “X” |
|
No |
Escala de capas del mapa “X” |
|
No |
Rotación del mapa “X” |
|
No |
Intervalo de cuadrícula en eje x del mapa “X” |
|
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
oapplication/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 negritaLAYERFONTSIZE / ITEMFONTSIZE Tamaño de fuente en puntos
LAYERFONTITALIC / ITEMFONTITALIC
TRUE
para usar fuente itálicaLAYERFONTCOLOR / 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 capaRULELABEL:
FALSE
gráficos de leyenda sin etiquetas de artículoAUTO
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: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 |
Sí |
Nombre del servicio |
VERSIÓN |
No |
Versión del servicio |
SOLICITUD |
Sí |
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 |
Sí |
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 predeterminadohits
: 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 |
Sí |
Nombre del servicio (WMTS) |
SOLICITUD |
Sí |
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 |
Sí |
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 |
Sí |
Nombre del servicio (WMTS) |
SOLICITUD |
Sí |
Nombre de la solicitud (GetTile) |
LAYER |
Sí |
Identificador de capa |
FORMATO |
Sí |
Formato de salida de la tesela |
TILEMATRIXSET |
Sí |
Nombre de la pirámide |
TILEMATRIX |
Sí |
Enmallado |
TILEROW |
Sí |
Coordenada de fila en la malla |
TILECOL |
Sí |
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 |
Sí |
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
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 Usar ID de capa como nombres debe estar seleccionada.
. Para activar esta opción, la casilla de verificaciónhttp://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 |
Sí |
Nombre del servicio (WMTS) |
SOLICITUD |
Sí |
Nombre de la solicitud (GetFeatureInfo) |
LAYER |
Sí |
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 |
Sí |
|
TILEMATRIX |
Sí |
|
TILEROW |
Sí |
|
TILECOL |
Sí |
En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:
Parámetros |
Necesario |
Descripción |
---|---|---|
MAPA |
Sí |
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
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 Usar ID de capa como nombres debe estar seleccionada.
. Para activar esta opción, la casilla de verificaciónhttp://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 |
|
Información sobre la conformidad del servicio con los estándares. |
API |
|
Descripción completa de los puntos finales proporcionados por el servicio y la estructura de los documentos devueltos |
Colecciones |
|
Lista de todas las colecciones (es decir, “capas vectoriales”) proporcionadas por el servicio |
Colección |
|
Información sobre una colección (nombre, metadatos, extensión, etc.) |
Prestaciones |
|
Lista de los objetos espaciales provistos por la colección |
Objeto espacial |
|
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 enlaceservice-desc
yservice-doc
),la declaración de conformidad (ruta
/conformidad
, relación de enlaceconformidad
), ylas Colecciones (ruta
/colecciones
, relación de enlacedatos
).
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/
.
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.
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.
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.
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 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 urlpath_chomp( n )
: borra el número especificado «n» de componentes del directorio de la ruta url actualjson_dump( )
: imprime los datos JSON pasados a la plantillastatic( 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 enlacescontent_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:
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)
Puedes consultar los metadatos asociados a un proyecto y los servicios que presta. También se proporcionan enlaces a esos servicios.
Al navegar por un proyecto, se enumera el conjunto de datos que sirve.
Utilice el botón derecho del ratón en una capa para mostrar la tabla de atributos asociada a ella.
Es posible consultar información de los elementos en el mapa como se muestra en la siguiente imagen: