18.2.2. Servicios¶
QGIS Server puede servir datos de acuerdo con los protocolos estándar descritos por Open Geospatial Consortium (OGC):
WMS 1.1.0 y 1.3.0
WFS 1.0.0 y 1.1.0
WFS3 (OGC API - Prestaciones)
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.
18.2.2.1. Web Map Service (WMS)¶
Los estándares WMS 1.1.0 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 a utilizar, las capas a renderizar y el formato de imagen a generar. El soporte básico también está disponible para Descriptor de capa estilizada (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 |
18.2.2.1.1. GetMap¶
Parámetros estándar para la solicitud ** GetMap ** de acuerdo con las especificaciones OGC WMS 1.1.0 y 1.3.0:
Parámetros |
Necesario |
Descripción |
---|---|---|
SERVICIO |
Sí |
Nombre del servicio (WMS) |
VERSIÓN |
No |
Versión del servicio |
SOLICITUD |
Sí |
Nombre de la solicitud (GetMap) |
CAPAS |
No |
Capas a mostrar |
ESTILOS |
No |
Estilo de capas |
SRS / CRS |
Sí |
Sistema de referencia de coordenadas |
BBOX |
No |
Extensión del mapa |
ANCHURA |
Sí |
Ancho de la imagen en píxeles. |
ALTURA |
Sí |
Altura de la imagen en píxeles |
FORMATO |
No |
Formato de imagen |
TRANSPARENTE |
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 |
---|---|---|
MAPA |
Sí |
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 |
Solo para``FORMAT=application/dxf`` Nombre de archivo de la capa descargada |
FORMAT_OPTIONS |
No |
Sólo para pares key:value
|
TILED |
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
18.2.2.1.1.1. SERVICIO¶
Este parámetro tiene que ser WMS
en caso de la solicitud GetMap.
18.2.2.1.1.2. 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.0
1.3.0
Si no se indica una versión en la solicitud, entonces se usa 1.3.0
por defecto.
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
18.2.2.1.1.3. SOLICITUD¶
Este parámetro es GetMap
en caso de petición GetMap.
18.2.2.1.1.4. 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
&...
18.2.2.1.1.5. 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
.
18.2.2.1.1.6. SRS / CRS¶
Este parámetro permite indicar la salida del mapa Spatial Reference System en WMS 1.1.0 y tiene que formarse como ʻEPSG: XXXX`. Tenga en cuenta que también se admite SRC
si la versión actual es 1.1.0.
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.0
&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
&...
18.2.2.1.1.7. 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.
Sin embargo, debe notarse una ligera diferencia según el parámetro actual VERSIÓN
. En WMS 1.1.0, las coordenadas se forman como minx, miny, maxx, maxy
o minlong, minlat, maxlong, maxlat
. Por ejemplo:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.0
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...
Pero el eje está invertido en WMS 1.3.0, por lo que las coordenadas se forman como: miny,minx,maxy,maxx
or minlat,minlong,maxlat,maxlong
. Por ejemplo:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...
18.2.2.1.1.8. ANCHURA¶
Este parámetro permite especificar el ancho en píxeles de la imagen de salida.
18.2.2.1.1.9. ALTURA¶
Este parámetro permite especificar la altura en píxeles de la imagen de salida.
18.2.2.1.1.10. 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
18.2.2.1.1.11. 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.
18.2.2.1.1.12. 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.
18.2.2.1.1.13. 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
&...
18.2.2.1.1.14. DPI¶
Este parámetro se puede utilizar para especificar la resolución de salida solicitada.
18.2.2.1.1.15. 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`.
18.2.2.1.1.16. OPACITIES¶
La opacidad se puede establecer a nivel de capa o de grupo. Los valores permitidos van de 0 (totalmente transparente) a 255 (totalmente opaco).
18.2.2.1.1.17. 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:
Indeed, text strings need to be enclosed with quotes (single quotes
for strings, double quotes for attributes). A space between each
word / special character is mandatory. Allowed Keywords and special
characters are 'AND','OR','IN','=','<','>=','>','>=','!=*,'(',')'.
Semicolons in string expressions are not allowed.
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.
18.2.2.1.1.18. 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 características.
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.
18.2.2.1.1.19. TILED¶
Establezca el parámetro TILED
en TRUE
para decirle a QGIS Server que trabaje en modo teselado y que aplique el búfer de teselas configurado en el proyecto QGIS.
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
.
18.2.2.1.2. GetFeatureInfo¶
Parámetros estándar para la solicitud GetFeatureInfo de acuerdo con las especificaciones OGC WMS 1.1.0 y 1.3.0:
Parámetros |
Necesario |
Descripción |
---|---|---|
SERVICIO |
Sí |
Nombre del servicio (WMS) |
VERSIÓN |
No |
|
SOLICITUD |
Sí |
|
CAPAS |
No |
|
ESTILOS |
No |
|
SRS / CRS |
Sí |
|
BBOX |
No |
|
ANCHURA |
Sí |
|
ALTURA |
Sí |
|
TRANSPARENTE |
No |
|
INFO_FORMAT |
No |
Formato de salida |
QUERY_LAYERS |
Sí |
Capas a consultar |
FEATURE_COUNT |
No |
Número máximo de objetos espaciales a devolver |
I |
No |
Columna de píxeles del punto a consultar |
X |
No |
El mismo que el parámetro I, pero en WMS 1.1.0 |
J |
No |
Fila de píxeles del punto a consultar |
Y |
No |
El mismo que el parámetro J, pero en WMS 1.1.0 |
En adición a los estándares, QGIS Server apoya los siguientes parámetros extra:
Parámetros |
Necesario |
Descripción |
---|---|---|
MAPA |
Sí |
|
FILTER |
No |
|
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
18.2.2.1.2.1. 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
18.2.2.1.2.2. 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 el parámetro LAYERS
definido en Ver GetMap para mas información.
18.2.2.1.2.3. 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.
18.2.2.1.2.4. I¶
Este parámetro, definido en WMS 1.3.0, le permite especificar la columna de pixeles del punto de consulta.
18.2.2.1.2.5. X¶
Mismo parámetro que I
, pero definido en WMS 1.1.0
18.2.2.1.2.6. J¶
Este parámetro, definido en WMS 1.3.0, le permite especificar la fila de pixeles del punto de consulta.
18.2.2.1.2.7. Y¶
Mismo parámetro que J
, pero definido en WMS 1.1.0
18.2.2.1.2.8. FI_POINT_TOLERANCE¶
Este parámetro especifica la tolerancia en pixeles para capas de punto.
18.2.2.1.2.9. FI_LINE_TOLERANCE¶
Este parámetro especifica la tolerancia en pixeles para capas de líneas.
18.2.2.1.2.10. FI_POLYGON_TOLERANCE¶
Este parámetro especifica la tolerancia en pixeles para capas de polígonos.
18.2.2.1.2.11. FILTER_GEOM¶
Este parámetro especifica una gepmetría WKT con la cuál las entidades deben intersecarse.
18.2.2.1.2.12. WITH_MAPTIP¶
Este parámetro especifica si agregar sugerencias de mapas a la salida.
Valores disponibles son (no en caso sensitivo):
TRUE
FALSE
18.2.2.1.2.13. 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
18.2.2.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 |
---|---|---|
MAPA |
Sí |
especifica el archivo de proyecto de QGIS |
SERVICIO |
Sí |
Nombre del servicio (WMS) |
VERSIÓN |
No |
|
SOLICITUD |
Sí |
Nombre de la solicitud (GetPrint) |
CAPAS |
No |
|
TEMPLATE |
Sí |
Plantilla de diseño a usar |
SRS / CRS |
Sí |
|
FORMATO |
Sí |
Formato de salida |
ATLAS_PK |
No |
Características del Atlas |
ESTILOS |
No |
|
TRANSPARENTE |
No |
|
OPACITIES |
No |
|
SELECTION |
No |
|
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
&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>
18.2.2.1.3.1. SERVICIO¶
Este parámetro tiene que ser WMS
.
18.2.2.1.3.2. SOLICITUD¶
Este parámetro tiene que ser GetPrint
para la petición GetPrint
18.2.2.1.3.3. TEMPLATE¶
Este parámetro puede serr usado para especificar el nombre de la plantilla de composición a usar para la impresión.
18.2.2.1.3.4. FORMATO¶
Este parámetro especifica el formato de la imagen de mapa. Los valores disponibles son:
jpg
jpeg
image/jpeg
png
image/png
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.
18.2.2.1.3.5. 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.
18.2.2.1.3.6. mapX:EXTENT¶
Este parámetro especifica la extensión para un elemento del diseño de mapa como xmin,ymin,xmax,ymax.
18.2.2.1.3.7. mapX:ROTATION¶
Este parámetro especifica la rotación del mapa en grados.
18.2.2.1.3.8. mapX:GRID_INTERVAL_X¶
Este parámetro especifica la densidad de línea de cuadrícula en la dirección X.
18.2.2.1.3.9. mapX:GRID_INTERVAL_Y¶
Este parámetro especifica la densidad de línea de cuadrícula en la dirección Y.
18.2.2.1.3.10. 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.
18.2.2.1.3.11. mapX:LAYERS¶
Este parámetro especifica las capas para un elemento de mapa de diseño. Ver See GetMap para mas información de este parámetro.
18.2.2.1.3.12. mapX:STYLES¶
Este parámetro especifica los estilos de las capas definidos en un elemento de mapa de diseño específico. Consulte Ver GetMap para mas información de este parámetro.
18.2.2.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)
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 el título de la 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
WIDTH / HEIGHT si se establecen, estos deben coincidir con los definidos para 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:
18.2.2.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
18.2.2.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 |
18.2.2.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 |
18.2.2.2.1.1. SERVICIO¶
Este parámetro tiene que ser WFS
en caso de la solicitud GetFeature.
Por ejemplo:
http://localhost/qgisserver?
SERVICE=WFS
&...
18.2.2.2.1.2. 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
&...
18.2.2.2.1.3. 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
&...
18.2.2.2.1.4. 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 características
URL ejemplo:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&RESULTTYPE=hits
&...
18.2.2.2.1.5. 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
&...
18.2.2.2.1.6. 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
&...
18.2.2.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 |
18.2.2.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
18.2.2.3.1.1. SERVICIO¶
Este parámetro tiene que ser WMTS
en caso de la solicitud ** GetCapabilities **.
18.2.2.3.1.2. SOLICITUD¶
Este parámetro es GetCapabilities
en el caso de la solicitud GetCapabilities.
18.2.2.3.1.3. MAPA¶
Este parámetro permite definir el archivo de proyecto QGIS a utilizar.
18.2.2.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 el mesh |
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
18.2.2.3.2.2. SOLICITUD¶
Este parámetro es GetTile
en caso de petición GetTile.
18.2.2.3.2.3. 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
&...
18.2.2.3.2.4. 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.
18.2.2.3.2.5. TILEMATRIXSET¶
Este parámetro define el SRC que se utilizará al calcular la pirámide subyacente. Formato: EPSG: XXXX
.
18.2.2.3.2.6. TILEMATRIX¶
Este parámetro permite definir la matriz a utilizar para el mosaico de salida.
18.2.2.3.2.7. TILEROW¶
Este parámetro permite seleccionar la fila del mosaico para entrar en la matriz.
18.2.2.3.2.8. TILECOL¶
Este parámetro permite seleccionar la columna del mosaico para entrar en la matriz.
18.2.2.3.2.9. 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.
18.2.2.3.3. GetFeatureInfo¶
Parámetros estándar para la solicitud ** GetFeatureInfo ** 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 (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
18.2.2.3.3.1. SERVICIO¶
Este parámetro tiene que ser WMTS
en el caso de la solicitud GetFeatureInfo.
18.2.2.3.3.2. SOLICITUD¶
Este parámetro es GetFeatureInfo
en caso de la petición GetFeatureInfo.
18.2.2.3.3.3. 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.
18.2.2.3.3.4. 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
&...
18.2.2.3.3.5. 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
.
18.2.2.3.3.6. I¶
Este parámetro permite definir la coordenada X del píxel para el que queremos recuperar la información subyacente.
18.2.2.3.3.7. J¶
Este parámetro permite definir la coordenada Y del píxel para el que queremos recuperar información subyacente.
18.2.2.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
Información acerca de un objeto espacial solo
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.
18.2.2.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 punto final.geojson
: alias para.json
soportado por los puntos finales Features y Feature
18.2.2.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.) |
Características |
|
Lista de los objetos espaciales provistos por la colección |
Objeto espacial |
|
Información acerca de un objeto espacial solo |
18.2.2.4.2.1. 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
).
18.2.2.4.2.2. 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
18.2.2.4.2.3. 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/
.
18.2.2.4.2.4. 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.
18.2.2.4.2.5. 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.
18.2.2.4.2.6. 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.
18.2.2.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).
18.2.2.4.4. Filtrado de objetos espaciales¶
Las funciones disponibles en una colección se pueden filtrar/buscar especificando uno o más filtros.
18.2.2.4.4.1. 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
18.2.2.4.4.2. 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 WGS84 (http://www.opengis.net/def/crs/OGC/1.3/CRS84), se puede especificar un SRC diferente utilizando el parámetro opcional bbox-crs
. El identificador de formato CRS debe tener el formato`OGC URI <http://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
18.2.2.4.4.3. 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
18.2.2.4.5. 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
18.2.2.4.6. El lenguaje de plantilla 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 <https://github.com/pantor/inja#tutorial>`_. Las plantillas se pueden personalizar reemplazándolas (ver: 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:
18.2.2.4.6.1. 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»
18.2.2.4.6.2. 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.
18.2.2.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.
18.2.2.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 están 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
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_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.
18.2.2.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