Services¶
QGIS Server est capable de servir des données selon des protocoles standard tels que décrits par l”Open Geospatial Consortium (OGC):
WMS 1.1.0 et 1.3.0
WFS 1.0.0 et 1.1.0
WFS3 (OGC API - Features)
WCS 1.1.1
WMTS 1.0.0
Des paramètres et des demandes supplémentaires du fournisseur sont pris en charge en plus de la norme d’origine qui améliorent considérablement les possibilités de personnalisation de son comportement grâce au moteur de rendu QGIS.
Web Map Service (WMS)¶
Les normes 1.1.0 et 1.3.0 WMS implémentées dans QGIS Server fournissent une interface HTTP pour demander des images de carte ou de légende générées à partir d’un projet QGIS. Une requête WMS typique définit le projet QGIS à utiliser, les couches à restituer ainsi que le format d’image à générer. Une prise en charge de base est également disponible pour la norme Styled Layer Descriptor (SLD).
Document de spécifications en fonction du numéro de version du service:
Requêtes standard fournies par QGIS Server:
Requête |
Description |
---|---|
GetCapabilities |
Renvoie des métadonnées XML avec des informations sur le serveur |
GetMap |
Renvoie une carte |
GetFeatureInfo |
Récupère les données (géométrie et valeurs) pour un emplacement de pixel |
GetLegendGraphics |
Renvoie les symboles de légende |
Demandes des fournisseurs fournies par QGIS Server:
Requête |
Description |
---|---|
GetPrint |
Renvoie une composition QGIS |
GetProjectSettings |
Renvoie des informations spécifiques sur QGIS Server |
GetMap¶
Paramètres standard pour la demande GetMap selon les spécifications OGC WMS 1.1.0 et 1.3.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service (WMS) |
VERSION |
Non |
Version du service |
REQUEST |
Oui |
Nom de la requête (GetMap) |
LAYERS |
Non |
Couches à afficher |
STYLES |
Non |
Style des couches |
SRS / CRS |
Oui |
Système de coordonnées de référence |
BBOX |
Non |
Emprise de la carte |
WIDTH |
Oui |
Largeur de l’image en pixels |
HEIGHT |
Oui |
Hauteur de l’image en pixels |
FORMAT |
Non |
Format de l’image |
TRANSPARENT |
Non |
Arrière-plan transparent |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
BGCOLOR |
Non |
Spécifiez la couleur d’arrière-plan |
DPI |
Non |
Spécifiez la résolution de sortie |
IMAGE_QUALITY |
Non |
Compression JPEG |
OPACITIES |
Non |
Opacité pour une couche ou un groupe |
FILTER |
Non |
Sous-ensemble d’entités |
SELECTION |
Non |
Mettre en évidence d’entités |
FILE_NAME |
Non |
Seulement pour Nom du fichier téléchargé |
FORMAT_OPTIONS |
Non |
Uniquement pour la clé
|
TILED |
Non |
Travailler en mode tuile |
Exemple d’URL :
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
SERVICE¶
Ce paramètre doit être WMS
en cas de requête GetMap.
VERSION¶
Ce paramètre permet de spécifier la version du service à utiliser. Les valeurs disponibles pour le paramètre VERSION
sont:
1.1.0
1.3.0
Si aucune version n’est indiquée dans la requête, alors 1.3.0
est utilisée par défaut.
Selon le numéro de version, de légères différences sont à prévoir comme expliqué plus loin pour les paramètres suivants:
CRS
/SRS
BBOX
REQUEST¶
Ce paramètre est GetMap
en cas de requête GetMap.
LAYERS¶
Ce paramètre permet de spécifier les couches à afficher sur la carte. Les noms doivent être séparés par une virgule.
De plus, QGIS Server a introduit certaines options pour sélectionner des couches en:
un nom court
l’identifiant de la couche
Le nom court d’une couche peut être configuré via
dans le menu des couches. Si le nom court est défini, il est utilisé par défaut au lieu du nom de la couche:http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mynickname1,mynickname2
&...
De plus, il existe une option de projet permettant de sélectionner les couches par leur identifiant dans
du doit être cochée.http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayerid1,mylayerid2
&...
STYLES¶
Ce paramètre peut être utilisé pour spécifier le style d’une couche pour l’étape de rendu. Les styles doivent être séparés par une virgule. Le nom du style par défaut est par défaut
.
SRS / CRS¶
Ce paramètre permet d’indiquer la sortie de la carte Système de référence spatiale dans WMS 1.1.0 et doit être formé comme EPSG:XXXX
. Notez que CRS
est également pris en charge si la version actuelle est 1.1.0.
Pour WMS 1.3.0, le paramètre CRS
est préférable mais SRS
est également pris en charge.
Notez que si les paramètres CRS
et SRS
sont indiqués dans la demande, c’est la version actuelle indiquée dans le paramètre VERSION
qui est déterminante.
Dans le cas suivant, le paramètre SRS
est conservé quel que soit le paramètre VERSION
car CRS
n’est pas indiqué:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&SRS=EPSG:2854
&...
Dans le cas suivant, le paramètre SRS
est conservé au lieu de CRS
à cause du paramètre VERSION
:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
Dans le cas suivant, le paramètre CRS
est conservé au lieu de SRS
à cause du paramètre VERSION
:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
BBOX¶
Ce paramètre permet de spécifier l’étendue de la carte avec des unités en fonction du SCR actuel. Les coordonnées doivent être séparées par une virgule.
Cependant, une légère différence doit être notée selon le paramètre actuel VERSION
. Dans WMS 1.1.0, les coordonnées sont formées comme minx, miny, maxx, maxy
ou minlong, minlat, maxlong, maxlat
. Par exemple:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.0
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...
Mais l’axe est inversé dans WMS 1.3.0, donc les coordonnées sont formées comme:miny, minx, maxy, maxx
ou minlat, minlong, maxlat, maxlong
. Par exemple:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...
WIDTH¶
Ce paramètre permet de spécifier la largeur en pixels de l’image de sortie.
HEIGHT¶
Ce paramètre permet de spécifier la hauteur en pixels de l’image de sortie.
FORMAT¶
Ce paramètre peut être utilisé pour spécifier le format de l’image de la carte. Les valeurs disponibles sont:
jpg
jpeg
image/jpeg
image/png
image/png; mode=1bit
image/png; mode=8bit
image/png; mode=16bit
application/dxf
Seules les couches qui ont un accès en lecture dans le service WFS sont exportées au format DXF.Exemple d’URL :
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
TRANSPARENT¶
Ce paramètre booléen peut être utilisé pour spécifier la transparence d’arrière-plan. Les valeurs disponibles sont (non sensibles à la casse):
TRUE
FALSE
Cependant, ce paramètre est ignoré si le format de l’image de la carte indiqué par FORMAT
est différent de PNG.
MAP¶
Ce paramètre permet de définir le fichier projet QGIS à utiliser.
Comme mentionné dans GetMap parameters table 1, MAP
est obligatoire car une requête a besoin d’un projet QGIS pour fonctionner. Cependant, la variable d’environnement QGIS_PROJECT_FILE
peut être utilisée pour définir un projet QGIS par défaut. Dans ce cas spécifique, MAP
n’est plus un paramètre obligatoire. Pour plus d’informations, vous pouvez vous référer à Configuration avancée.
BGCOLOR¶
Ce paramètre permet d’indiquer une couleur de fond pour l’image de la carte. Cependant, il ne peut pas être combiné avec le paramètre TRANSPARENT
dans le cas d’images PNG (la transparence est prioritaire). La couleur peut être littérale ou en notation hexadécimale.
Exemple d’URL avec la notation littérale:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=green
&...
Exemple d’URL avec la notation hexadécimale:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=0x00FF00
&...
DPI¶
Ce paramètre peut être utilisé pour spécifier la résolution de sortie demandée.
IMAGE_QUALITY¶
Ce paramètre n’est utilisé que pour les images JPEG. Par défaut, la compression JPEG est -1
.
Vous pouvez modifier la valeur par défaut par projet QGIS dans le menu IMAGE_QUALITY
.
OPACITIES¶
L’opacité peut être définie au niveau de la couche ou du groupe. Les valeurs autorisées vont de 0 (entièrement transparent) à 255 (entièrement opaque).
FILTER¶
Un sous-ensemble de couches peut être sélectionné avec le paramètre FILTER
. La syntaxe est fondamentalement la même que pour la chaîne de sous-ensemble QGIS. Cependant, il existe certaines restrictions pour éviter les injections SQL dans les bases de données via QGIS Server. Si une chaîne dangereuse est trouvée dans le paramètre, QGIS Server renverra l’erreur suivante:
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.
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2,mylayer3
&FILTER=mylayer1:"col1";mylayer1,mylayer2:"col2" = 'blabla'
&...
Dans cet exemple, le même filtre (le champ col2
est égal à la chaîne blabla
) est appliqué aux couches mylayer1
et mylayer2
, tandis que le filtre sur col1
est uniquement appliqué à mylayer1
.
Note
Il est possible d’effectuer des recherches d’attributs via GetFeatureInfo et d’omettre le paramètre X / Y si un FILTRE est là. QGIS Server renvoie ensuite des informations sur les entités correspondantes et génère un cadre de délimitation combiné dans la sortie XML.
SELECTION¶
Le paramètre SELECTION
peut mettre en évidence les entités d’une ou plusieurs couches. Les entités vectorielles peuvent être sélectionnées en passant des listes séparées par des virgules avec des identifiants d’entités.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2
&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6
&...
L’image suivante présente la réponse d’une demande GetMap en utilisant l’option SELECTION
par ex. http: //myserver.com/...&SELECTION=countries: 171,65
.
Comme ces identifiants d’entités correspondent dans l’ensemble de données source à France et Roumanie, ils sont surlignés en jaune.
TILED¶
Réglez le paramètre TILED
sur TRUE
pour dire à QGIS Server de fonctionner en mode tuile et d’appliquer le tampon tuile configuré dans le projet QGIS.
Lorsque TILED
est VRAI
et lorsqu’un tampon de tuile différent de zéro est configuré dans le projet QGIS, les entités en dehors de l’étendue de tuile sont dessinées pour éviter les symboles coupés aux limites des tuiles.
TILED
est par défaut FALSE
.
GetFeatureInfo¶
Paramètres standard pour la demande GetFeatureInfo selon les spécifications OGC WMS 1.1.0 et 1.3.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service (WMS) |
VERSION |
Non |
|
REQUEST |
Oui |
|
LAYERS |
Non |
|
STYLES |
Non |
|
SRS / CRS |
Oui |
|
BBOX |
Non |
|
WIDTH |
Oui |
|
HEIGHT |
Oui |
|
TRANSPARENT |
Non |
|
INFO_FORMAT |
Non |
Format de sortie |
QUERY_LAYERS |
Oui |
Couches à interroger |
FEATURE_COUNT |
Non |
Nombre maximum d’entités à renvoyer |
I |
Non |
Colonne de pixels du point à interroger |
X |
Non |
Identique au paramètre «I», mais dans WMS 1.1.0 |
J |
Non |
Ligne de pixels du point à interroger |
Y |
Non |
Identique au paramètre J, mais dans WMS 1.1.0 |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
|
FILTER |
Non |
|
FI_POINT_TOLERANCE |
Non |
Tolérance en pixels pour les couches de points |
FI_LINE_TOLERANCE |
Non |
Tolérance en pixels pour les couches de lignes |
FI_POLYGON_TOLERANCE |
Non |
Tolérance en pixels pour les couches de polygones |
FILTER_GEOM |
Non |
Filtrage géométrique |
WITH_MAPTIP |
Non |
Ajouter des conseils de carte à la sortie |
WITH_GEOMETRY |
Non |
Ajouter une géométrie à la sortie |
Exemple d’URL :
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
INFO_FORMAT¶
Ce paramètre peut être utilisé pour spécifier le format du résultat. Les valeurs disponibles sont:
text/xml
text/html
text/plain
application/vnd.ogc.gml
application/json
QUERY_LAYERS¶
Ce paramètre spécifie les couches à afficher sur la carte. Les noms sont séparés par une virgule.
De plus, QGIS Server introduit des options pour sélectionner des couches en:
nom court
identifiant de couche
Voir le paramètre LAYERS
défini dans See GetMap 1 pour plus d’informations.
FEATURE_COUNT¶
Ce paramètre spécifie le nombre maximal d’entités par couche à renvoyer. Par exemple, si QUERY_LAYERS
est défini sur layer1, layer2
et que FEATURE_COUNT
est défini sur 3
, un maximum de 3 entités de layer1 seront renvoyées. De même, un maximum de 3 entités de la couche 2 sera retourné.
Par défaut, une seule entité par couche est renvoyée.
I¶
Ce paramètre, défini dans WMS 1.3.0, vous permet de spécifier la colonne de pixels du point de requête.
X¶
Même paramètre que I
, mais défini dans WMS 1.1.0.
J¶
Ce paramètre, défini dans WMS 1.3.0, vous permet de spécifier la ligne de pixels du point de requête.
Y¶
Même paramètre que J
, mais défini dans WMS 1.1.0.
FI_POINT_TOLERANCE¶
Ce paramètre spécifie la tolérance en pixels pour les couches de points.
FI_LINE_TOLERANCE¶
Ce paramètre spécifie la tolérance en pixels pour les couches de lignes.
FI_POLYGON_TOLERANCE¶
Ce paramètre spécifie la tolérance en pixels pour les couches de polygones.
FILTER_GEOM¶
Ce paramètre spécifie une géométrie WKT avec laquelle les entités doivent se croiser.
WITH_MAPTIP¶
Ce paramètre spécifie s’il faut ajouter des conseils de mappage à la sortie.
Les valeurs disponibles sont (non sensibles à la casse):
TRUE
FALSE
WITH_GEOMETRY¶
Ce paramètre spécifie s’il faut ajouter des géométries à la sortie.
Les valeurs disponibles sont (non sensibles à la casse):
TRUE
FALSE
GetPrint¶
QGIS Server a la capacité de créer une sortie de mise en page d’impression au format pdf ou pixel. Les fenêtres de mise en page d’impression dans le projet publié sont utilisées comme modèles. Dans la demande GetPrint, le client a la possibilité de spécifier les paramètres des mises en page et des étiquettes contenues.
Paramètres de la demande GetPrint:
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
SERVICE |
Oui |
Nom du service (WMS) |
VERSION |
Non |
|
REQUEST |
Oui |
Nom de la demande (GetPrint) |
LAYERS |
Non |
|
TEMPLATE |
Oui |
Modèle de mise en page à utiliser |
SRS / CRS |
Oui |
|
FORMAT |
Oui |
Format de sortie |
ATLAS_PK |
Non |
Entité atlas |
STYLES |
Non |
|
TRANSPARENT |
Non |
|
OPACITIES |
Non |
|
SELECTION |
Non |
|
mapX:EXTENT |
Non |
Étendue de la carte “X” |
mapX:LAYERS |
Non |
Couches de la carte “X” |
mapX:STYLES |
Non |
Style de couche de la carte “X” |
mapX:SCALE |
Non |
Échelle des couches de la carte “X” |
mapX:ROTATION |
Non |
Rotation de la carte “X” |
mapX:GRID_INTERVAL_X |
Non |
Intervalle de grille sur l’axe x de la carte “X” |
mapX:GRID_INTERVAL_Y |
Non |
Intervalle de grille sur l’axe y de la carte “X” |
Exemple d’URL :
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
Notez que le modèle de mise en page peut contenir plusieurs cartes. De cette façon, si vous souhaitez configurer une carte spécifique, vous devez utiliser les paramètres mapX:
où X
est un nombre positif que vous pouvez récupérer grâce à la requête GetProjectSettings.
Par exemple:
<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>
SERVICE¶
Ce paramètre doit être WMS
.
REQUEST¶
Ce paramètre doit être GetPrint
pour la demande GetPrint.
TEMPLATE¶
Ce paramètre peut être utilisé pour spécifier le nom d’un modèle de mise en page à utiliser pour l’impression.
FORMAT¶
Ce paramètre spécifie le format de l’image de la carte. Les valeurs disponibles sont:
jpg
jpeg
image/jpeg
png
image/png
svg
image/svg
image/svg+xml
pdf
application/pdf
Si le paramètre FORMAT
est différent de l’une de ces valeurs, une exception est renvoyée.
ATLAS_PK¶
Ce paramètre permet d’activer le rendu Atlas en indiquant quelles entites nous voulons imprimer. Afin de récupérer un atlas avec toutes les fonctionnalités, le symbole *
peut être utilisé (selon le nombre maximum d entités autorisé dans la configuration du projet).
Lorsque FORMAT
est pdf
, un seul document PDF combinant les pages d’entites est renvoyé. Pour tous les autres formats, une seule page est renvoyée.
mapX:EXTENT¶
Ce paramètre spécifie l’étendue d’un élément de mise en page sous la forme xmin, ymin, xmax, ymax.
mapX:ROTATION¶
Ce paramètre spécifie la rotation de la carte en degrés.
mapX:GRID_INTERVAL_X¶
Ce paramètre spécifie la densité du quadrillage dans la direction X.
mapX:GRID_INTERVAL_Y¶
Ce paramètre spécifie la densité de la ligne de grille dans la direction Y.
mapX:SCALE¶
Ce paramètre spécifie l’échelle de la carte pour un élément de la mise en page. Ceci est utile pour assurer une visibilité basée sur l’échelle des couches et des étiquettes même si le client et le serveur peuvent avoir des algorithmes différents pour calculer le dénominateur d’échelle.
mapX:LAYERS¶
Ce paramètre spécifie les couches pour un élément de mise en page. Voir See GetMap 1 pour plus d’informations sur ce paramètre.
mapX:STYLES¶
Ce paramètre spécifie les styles des couches définis dans un élément de mise en page spécifique. Voir See GetMap 1 pour plus d’informations sur ce paramètre.
GetLegendGraphics¶
Plusieurs paramètres supplémentaires sont disponibles pour modifier la taille des éléments de légende:
BOXSPACE espace entre le cadre de légende et le contenu (mm)
LAYERSPACE espace vertical entre les couches (mm)
LAYERTITLESPACE espace vertical entre le titre de la couche et les éléments suivants (mm)
SYMBOLSPACE espace vertical entre le symbole et l’élément suivant (mm)
ICONLABELSPACE espace horizontal entre le symbole et le texte de l’étiquette (mm)
SYMBOLWIDTH largeur de l’aperçu du symbole (mm)
SYMBOLHEIGHT hauteur de l’aperçu du symbole (mm)
Ces paramètres modifient les propriétés de police des titres la couche et des éléments étiquettes :
LAYERFONTFAMILY/ITEMFONTFAMILY famille de polices pour le titre de la couche / le texte de l’élément
LAYERFONTBOLD/ITEMFONTBOLD
TRUE
pour utiliser une police en grasLAYERFONTSIZE/ITEMFONTSIZE Taille de police en point
LAYERFONTITALIC/ITEMFONTITALIC
TRUE
pour utiliser la police italiqueLAYERFONTCOLOR/ITEMFONTCOLOR Code couleur hexadécimal (par exemple
#FF0000
pour le rouge)LAYERTITLE/RULELABEL réglez-les sur
FALSE
pour obtenir uniquement les graphiques de légende sans étiquettes
Légende basée sur le contenu. Ces paramètres permettent au client de demander une légende affichant uniquement les symboles des entités se trouvant dans la zone demandée:
BBOX la zone géographique pour laquelle la légende doit être construite
CRS / SRS le référentiel de coordonnées adopté pour définir les coordonnées BBOX
WIDTH/HEIGHT s’ils sont définis, ils doivent correspondre à ceux définis pour la demande GetMap, pour permettre à QGIS Server de mettre à l’échelle les symboles en fonction de la taille de l’image de la carte.
Les fonctionnalités de légende basées sur le contenu sont basées sur l’implémentation de UMN MapServer: <https://www.mapserver.org/development/rfc/ms-rfc-101.html> `_
SHOWFEATURECOUNT s’il est défini sur
TRUE
ajoute dans la légende le nombre d’entites comme dans l’image suivante:
GetProjectSettings¶
Ce type de demande fonctionne de manière similaire à GetCapabilities, mais il est plus spécifique à QGIS Server et permet à un client de lire des informations supplémentaires qui ne sont pas disponibles dans la sortie GetCapabilities:
visibilité initiale des couches
information sur les attributs des vecteurs et leur type d’éditeur
information sur l’ordre des couches et de leur rendu
liste des couches publiées en WFS
Web Feature Service (WFS)¶
Les normes 1.0.0 et 1.1.0 WFS implémentées dans QGIS Server fournissent une interface HTTP pour interroger les entités géographiques d’un projet QGIS. Une demande WFS typique définit le projet QGIS à utiliser et la couche à interroger.
Document de spécifications en fonction du numéro de version du service:
Requêtes standard fournies par QGIS Server:
Requête |
Description |
---|---|
GetCapabilities |
Renvoie des métadonnées XML avec des informations sur le serveur |
GetFeature |
Renvoie une sélection d’entite |
DescribeFeatureType |
Renvoie une description des types d’entités et des propriétés |
Transaction |
Permet aux entités d’être insérées, mises à jour ou supprimées |
GetFeature¶
Paramètres standard pour la demande GetFeature selon les spécifications OGC WFS 1.0.0 et 1.1.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service |
VERSION |
Non |
Version du service |
REQUEST |
Oui |
Nom de la requête |
TYPENAME |
Non |
Nom des couches |
OUTPUTFORMAT |
Non |
Format de sortie |
RESULTTYPE |
Non |
Type de résultat |
PROPERTYNAME |
Non |
Nom des propriétés à renvoyer |
MAXFEATURES |
Non |
Nombre maximum d’entités à renvoyer |
SRSNAME |
Non |
Système de coordonnées de référence |
FEATUREID |
Non |
Filtre les entités par leur identifiant |
FILTER |
Non |
Encodage du filtre OGC |
BBOX |
Non |
Emprise de la carte |
SORTBY |
Non |
Trie les résultats |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
STARTINDEX |
Non |
Pagination |
GEOMETRYNAME |
Non |
Type de géométrie à renvoyer |
EXP_FILTER |
Non |
Expression de filtrage |
SERVICE¶
Ce paramètre doit être WFS
en cas de requête GetFeature.
Par exemple:
http://localhost/qgisserver?
SERVICE=WFS
&...
VERSION¶
Ce paramètre permet de spécifier la version du service à utiliser. Les valeurs disponibles pour le paramètre VERSION
sont:
1.0.0
1.1.0
Si aucune version n’est indiquée dans la requête, alors 1.1.0
est utilisée par défaut.
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&...
REQUEST¶
Ce paramètre est GetFeature
en cas de requête GetFeature.
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&...
RESULTTYPE¶
Ce paramètre peut être utilisé pour indiquer le genre de résultat attendu. Les valeurs possibles sont :
results
: le comportement par défauthits
: renvoie seulement le décompte des entités
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&RESULTTYPE=hits
&...
GEOMETRYNAME¶
Ce paramètre peut être utilisé pour indiquer le type de géométrie attendu pour les entités. Les valeurs possibles sont :
extent
centroid
none
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&GEOMETRYNAME=centroid
&...
STARTINDEX¶
Ce paramètre est standard dans WFS 2.0, mais c’est une extension pour WFS 1.0.0. En fait, il peut être utilisé pour ignorer certaines entités de l’ensemble de résultats et en combinaison avec MAXFEATURES
, il offre la possibilité de parcourir les résultats.
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&STARTINDEX=2
&...
Web Map Tile Service (WMTS)¶
La norme 1.0.0 WMTS implémentée dans QGIS Server fournit une interface HTTP pour demander des images de carte tuilées générées à partir d’un projet QGIS. Une demande WMTS typique a défini le projet QGIS à utiliser, certains paramètres WMS comme les couches à rendre, ainsi que les paramètres de tuile.
Document de spécifications du service:
Requêtes standard fournies par QGIS Server:
Requête |
Description |
---|---|
GetCapabilities |
Renvoie des métadonnées XML avec des informations sur le serveur |
GetTile |
Renvoie une tuile |
GetFeatureInfo |
Récupère les données (géométrie et valeurs) pour un emplacement de pixel |
GetCapabilities¶
Paramètres standard pour la demande GetCapabilities selon les spécifications OGC WMTS 1.0.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service (WMTS) |
REQUEST |
Oui |
Nom de la requête (GetCapabilities) |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetCapabilities
&MAP=/home/qgis/projects/world.qgs
SERVICE¶
Ce paramètre doit être WMTS
en cas de requête GetCapabilities.
REQUEST¶
Ce paramètre est GetCapabilities
en cas de requête GetCapabilities.
MAP¶
Ce paramètre permet de définir le fichier projet QGIS à utiliser.
GetTile¶
Paramètres standard pour la demande GetTile selon les spécifications OGC WMTS 1.0.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service (WMTS) |
REQUEST |
Oui |
Nom de la requête (GetTile) |
LAYER |
Oui |
Identifiant de la couche |
FORMAT |
Oui |
Format de sortie de la tuile |
TILEMATRIXSET |
Oui |
Nom de la pyramide |
TILEMATRIX |
Oui |
Maillage |
TILEROW |
Oui |
Coordonnées de ligne dans le maillage |
TILECOL |
Oui |
Coordonnées de colonne dans le maillage |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
Exemple d’URL :
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
SERVICE¶
Ce paramètre doit être WMTS
en cas de requête GetTile.
REQUEST¶
Ce paramètre est GetTile
en cas de requête GetTile.
LAYER¶
Ce paramètre permet de spécifier la couche à afficher sur la tuile.
De plus, QGIS Server a introduit quelques options pour sélectionner une couche en:
un nom court
l’identifiant de la couche
Le nom court d’une couche peut être configuré via
dans le menu des couches. Si le nom court est défini, il est utilisé par défaut au lieu du nom de la couche:http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mynickname
&...
De plus, il y a une option de projet permettant de sélectionner les couches par leur identifiant dans Utiliser les identifiants des couches comme noms doit être cochée.
. Pour activer cette option, la case à cocherhttp://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mylayerid1
&...
FORMAT¶
Ce paramètre peut être utilisé pour spécifier le format de l’image de tuile. Les valeurs disponibles sont:
jpg
jpeg
image/jpeg
image/png
Si le paramètre FORMAT
est différent de l’une de ces valeurs, le format par défaut PNG est utilisé à la place.
TILEMATRIXSET¶
Ce paramètre permet de définir le SCR à utiliser pour calculer la pyramide sous-jacente et doit être formé comme EPSG:XXXX
.
TILEMATRIX¶
Ce paramètre permet de définir la matrice à utiliser pour la tuile de sortie.
TILEROW¶
Ce paramètre permet de sélectionner la ligne de la tuile pour entrer dans la matrice.
TILECOL¶
Ce paramètre permet de sélectionner la colonne de la tuile pour entrer dans la matrice.
MAP¶
Ce paramètre permet de définir le fichier projet QGIS à utiliser.
Comme mentionné dans GetMap parameters table 1, MAP
est obligatoire car une requête a besoin d’un projet QGIS pour fonctionner. Cependant, la variable d’environnement QGIS_PROJECT_FILE
peut être utilisée pour définir un projet QGIS par défaut. Dans ce cas spécifique, MAP
n’est plus un paramètre obligatoire. Pour plus d’informations, vous pouvez vous référer à Configuration avancée.
GetFeatureInfo¶
Paramètres standard pour la demande GetFeatureInfo selon les spécifications OGC WMTS 1.0.0:
Paramètre |
Requis |
Description |
---|---|---|
SERVICE |
Oui |
Nom du service (WMTS) |
REQUEST |
Oui |
Nom de la requête (GetFeatureInfo) |
LAYER |
Oui |
Identifiant de la couche |
INFOFORMAT |
Non |
Format de sortie |
I |
Non |
Coordonnée X d’un pixel |
J |
Non |
Coordonnée Y d’un pixel |
TILEMATRIXSET |
Oui |
|
TILEMATRIX |
Oui |
|
TILEROW |
Oui |
|
TILECOL |
Oui |
Outre les paramètres standard, QGIS prend en charge les paramètres suivants :
Paramètre |
Requis |
Description |
---|---|---|
MAP |
Oui |
Spécifiez le fichier de projet QGIS |
Exemple d’URL :
http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&MAP=/home/qgis/projects/world.qgs
&LAYER=mylayer
&INFOFORMAT=image/html
&I=10
&J=5
SERVICE¶
Ce paramètre doit être WMTS
en cas de requête GetFeatureInfo.
REQUEST¶
Ce paramètre est GetFeatureInfo
en cas de requête GetFeatureInfo.
MAP¶
Ce paramètre permet de définir le fichier projet QGIS à utiliser.
Comme mentionné dans GetMap parameters table 1, MAP
est obligatoire car une requête a besoin d’un projet QGIS pour fonctionner. Cependant, la variable d’environnement QGIS_PROJECT_FILE
peut être utilisée pour définir un projet QGIS par défaut. Dans ce cas spécifique, MAP
n’est plus un paramètre obligatoire. Pour plus d’informations, vous pouvez vous référer à Configuration avancée.
LAYER¶
Ce paramètre permet de spécifier la couche à afficher sur la tuile.
De plus, QGIS Server a introduit quelques options pour sélectionner une couche en:
un nom court
l’identifiant de la couche
Le nom court d’une couche peut être configuré via
dans le menu des couches. Si le nom court est défini, il est utilisé par défaut au lieu du nom de la couche:http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mynickname
&...
De plus, il y a une option de projet permettant de sélectionner les couches par leur identifiant dans Utiliser les identifiants des couches comme noms doit être cochée.
. Pour activer cette option, la case à cocherhttp://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mylayerid1
&...
INFOFORMAT¶
Ce paramètre permet de définir le format de sortie du résultat. Les valeurs disponibles sont:
text/xml
text/html
text/plain
application/vnd.ogc.gml
La valeur par défaut est text/plain
.
I¶
Ce paramètre permet de définir la coordonnée X du pixel pour lequel nous voulons récupérer les informations sous-jacentes.
J¶
Ce paramètre permet de définir la coordonnée Y du pixel pour lequel nous voulons récupérer les informations sous-jacentes.
WFS3 (OGC API Features)¶
WFS3 est la première implémentation de la nouvelle génération de protocoles OGC. Il est décrit par le document OGC API - Features - Part 1: Core <http://docs.opengeospatial.org/is/17-069r3/17-069r3.html> _ document.
Voici un résumé informel rapide des différences les plus importantes entre le protocole WFS bien connu et WFS3:
WFS3 est basé sur une API REST <https://en.wikipedia.org/wiki/Representational_state_transfer> `_ _
L’API WFS3 doit suivre les spécifications OPENAPI <https://en.wikipedia.org/wiki/OpenAPI_Specification> _
WFS3 prend en charge plusieurs formats de sortie, mais il n’en dicte aucun (seuls GeoJSON et HTML sont actuellement disponibles dans QGIS WFS3) et il utilise la négociation de contenu <https://en.wikipedia.org/wiki/Content_negotiation> _ pour déterminer le format doit être servi au client
JSON et HTML sont des citoyens de première classe dans WFS3
WFS3 est auto-documenté (via le point de terminaison
/api
)WFS3 est entièrement navigable (via des liens) et navigable
Important
Alors que l’implémentation WFS3 dans QGIS peut utiliser le paramètre MAP
pour spécifier le fichier de projet, aucun paramètre de requête supplémentaire n’est autorisé par la spécification OPENAPI. Pour cette raison, il est fortement recommandé que MAP
ne soit pas exposé dans l’URL et que le fichier de projet soit spécifié dans l’environnement par d’autres moyens (c’est-à-dire en définissant QGIS_PROJECT_FILE
dans l’environnement via une règle de réécriture de serveur Web).
Note
Le point de terminaison API fournit une documentation complète de tous les paramètres et formats de sortie pris en charge de votre service. Les paragraphes suivants ne décrivent que les plus importants.
Représentation des ressources¶
L’implémentation de QGIS Server WFS3 prend actuellement en charge les formats de représentation (sortie) de ressources suivants:
HTML
JSON
Le format réellement servi dépendra de la négociation de contenu, mais un format spécifique peut être explicitement demandé en ajoutant un spécificateur de format aux points de terminaison.
Les extensions de spécificateur de format prises en charge sont:
.json
.html
Des alias de spécificateur de format supplémentaires peuvent être définis par des points de terminaison spécifiques:
.openapi
: alias pour.json
pris en charge par le point de terminaison API.geojson
: alias pour.json
pris en charge par les points de terminaison Features et Feature
Points de terminaison¶
L’API fournit une liste de points de terminaison que les clients peuvent récupérer. Le système est conçu de telle manière que chaque réponse fournit un ensemble de liens pour naviguer à travers toutes les ressources fournies.
Les points de terminaison fournis par l’implémentation de QGIS sont:
Nom |
Chemin |
Description |
---|---|---|
Page de destination |
|
Informations générales sur le service et fournit des liens vers tous les points de terminaison disponibles |
Conformité |
|
Informations sur la conformité du service aux normes |
API |
|
Description complète des noeuds finaux fournis par le service et de la structure des documents retournés |
Les collections |
|
Liste de toutes les collections (c’est-à-dire |
Collection |
|
Informations sur une collection (nom, métadonnées, étendue, etc.) |
Fonctionnalités |
|
Liste des entites fournies par la collection |
Entite |
|
Informations sur une seule entité |
Page de destination¶
Le critère d’évaluation principal est la page destination. À partir de cette page, il est possible de naviguer vers tous les points de terminaison de service disponibles. La page de destination doit fournir des liens vers
la définition de l’API (chemin d’accès
/api
relations de liaisonservice-desc
etservice-doc
),la déclaration de conformité (chemin
/conformance
, relation de liaisonconformance
), etles Collections (chemin
/collections
, relation de liendata
).
Définition de l’API¶
La Définition API est une description conforme à OPENAPI de l’API fournie par le service. Dans sa représentation HTML, il s’agit d’une page consultable où tous les points de terminaison et leurs formats de réponse sont répertoriés et documentés avec précision. Le chemin de ce point de terminaison est /api
.
La définition de l’API fournit une documentation complète et faisant autorité du service, y compris tous les paramètres pris en charge et les formats renvoyés.
Note
Ce point de terminaison est analogue aux GetCapabilities
de WFS
Liste des collections¶
Le point de terminaison des collections fournit une liste de toutes les collections disponibles dans le service. Étant donné que le service « serves » un seul projet QGIS, les collections sont les couches vectorielles du projet en cours (si elles ont été publiées en tant que WFS dans les propriétés du projet). Le chemin de ce point de terminaison est /collections/
.
Détail de la collection¶
Bien que le point de terminaison des collections ne fournisse pas d’informations détaillées sur chaque collection disponible, ces informations sont disponibles dans les points de terminaison /collections/{collectionId}
. Les informations typiques incluent l’étendue, une description, les SCR et autres métadonnées.
La représentation HTML fournit également une carte consultable avec les entites disponibles.
Liste des entites¶
Ce point de terminaison fournit une liste de toutes les entites d’une collection connaissant l’ID de la collection. Le chemin de ce noeud final est /collections/{collectionId}/items
.
La représentation HTML fournit également une carte consultable avec les entites disponibles.
Note
Ce point de terminaison est analogue à GetFeature
dans WFS 1 et WFS 2.
Détail des entités¶
Ce point de terminaison fournit toutes les informations disponibles sur une seule entité, y compris les attributs de l’entité et sa géométrie. Le chemin de ce point de terminaison est /collections/{collectionId}/items/{itemId}
.
La représentation HTML fournit également une carte consultable avec la géométrie de l’entité.
Pagination¶
La pagination d’une longue liste d” entités est implémentée dans l’API OGC via des liens suivant
et précédent
, QGIS serveur construit ces liens en ajoutant limite
et décalage
comme paramètres de chaîne de requête.
Exemple d’URL :
http://localhost/qgisserver/wfs3/collection_one/items.json?offset=10&limit=10
Note
La valeur maximale acceptable pour limit
peut être configurée avec le paramètre de configuration du serveur QGIS_SERVER_API_WFS3_MAX_LIMIT
(voir Configuration et paramètres).
Filtrage des entités¶
Les entites disponibles dans une collection peuvent être filtrées / recherchées en spécifiant un ou plusieurs filtres.
Filtre date et heure¶
Les collections avec des attributs date et / ou datetime peuvent être filtrées en spécifiant un argument datetime
dans la chaîne de requête. Par défaut, le premier champ date / datetime est utilisé pour le filtrage. Ce comportement peut être configuré en définissant une dimension « Date » ou « Heure » dans de la boîte de dialogue des propriétés de la couche.
La syntaxe de filtrage de la date et de l’heure est entièrement décrite dans Définition de l’API et prend également en charge les plages (les valeurs de début et de fin sont incluses) en plus des valeurs uniques.
Exemples d’URL:
Renvoie uniquement les entités dont la dimension de date correspond à 2019-01-01
http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01
Renvoie uniquement les entités dont la dimension datetime correspond à 2019-01-01T01: 01: 01
http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01T01:01:01
Renvoie uniquement les entités dont la dimension datetime se situe dans la plage 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
Filtre de boîte englobante¶
Un filtre spatial de boîte englobante peut être spécifié avec le paramètre bbox
:
L’ordre des éléments séparés par des virgules est le suivant:
Coin inférieur gauche, longitude WGS 84
Coin inférieur gauche, latitude WGS 84
Coin supérieur droit, longitude WGS 84
Coin supérieur droit, latitude WGS 84
Note
Les spécifications OGC autorisent également un spécificateur bbox à 6 éléments où les troisième et sixième éléments sont les composants Z, ce qui n’est pas encore pris en charge par le serveur QGIS.
Exemple d’URL :
http://localhost/qgisserver/wfs3/collection_one/items.json?bbox=-180,-90,180,90
Si le SCR de la boîte englobante n’est pas WGS84 (http://www.opengis.net/def/crs/OGC/1.3/CRS84), un SCR différent peut être spécifié en utilisant le paramètre facultatif bbox -crs
. L’identifiant du SCR doit être au format OGC URI <http://www.opengis.net/def/crs/> _:
Exemple d’URL :
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
Filtres d’attributs¶
Les filtres d’attribut peuvent être combinés avec le filtre de boîte englobante et ils se présentent sous la forme générale: 1=2
. Plusieurs filtres peuvent être combinés à l’aide de l’opérateur AND
.
Exemple d’URL :
filtre toutes les entites où l’attribut ``name` est égal à « ma valeur »
http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=my%20value
Les correspondances partielles sont également prises en charge en utilisant un opérateur *
(« etoile »):
Exemple d’URL :
filtre toutes les entitesoù l’attribut nom
se termine par « value »
http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=*value
Sélection d’attribut¶
Les attributs d’entite renvoyés par un appel Liste des entites peuvent être limités en ajoutant une liste de noms d’attributs séparés par des virgules dans l’argument de chaîne de requête facultatif propriétés
.
Exemple d’URL :
renvoie uniquement l’attribut name
http://localhost/qgisserver/wfs3/collection_one/items.json?properties=name
Configuration et paramètres¶
Les paramètres du serveur reconnus par l’implémentation de QGIS WFS3 sont:
Nom |
Description |
Default |
---|---|---|
|
Répertoire de base pour toutes les ressources statiques WFS3 (modèles HTML, CSS, JS, etc.) |
dépend du package l |
|
Valeur maximale pour |
10000 |
Le langage du modèle HTML¶
La représentation HTML utilise un ensemble de modèles HTML pour générer la réponse. Le modèle est analysé par un moteur de modèle appelé inja <https://github.com/pantor/inja#tutorial> _. Les modèles peuvent être personnalisés en les remplaçant (voir: Remplacements de modèle). Le modèle a accès aux mêmes données disponibles pour la représentation JSON
et quelques fonctions supplémentaires sont disponibles pour le modèle:
Fonctions de modèle personnalisées¶
path_append(path)
: ajoute un chemin de répertoire à l’url actuellepath_chomp(n)
: supprime le nombre spécifié « n » de composants de répertoire du chemin d’URL actueljson_dump()
: affiche les données JSON transmises au modèlestatic(path)
: renvoie l’URL complète du chemin statique spécifié. Par exemple: « static(« /style/black.css ») » avec un chemin racine « http://localhost/qgisserver/wfs3 » renverra « http://localhost/qgisserver/wfs3/static/style/black.css ».links_filter(links, key, value)
: retourne les liens filtrés d’une liste de lienscontent_type_name(content_type)
: renvoie un nom court à partir d’un type de contenu, par exemple « text / html » renverra « HTML »
Remplacements de modèle¶
Les modèles et les actifs statiques sont stockés dans des sous-répertoires du répertoire de ressources de l’API par défaut du serveur QGIS ( /usr/share/qgis/resources/server/api/
sur un système Linux), le répertoire de base peut être personnalisé en modifiant le variable d’environnement QGIS_SERVER_API_RESOURCES_DIRECTORY
.
Une installation Linux typique aura l’arborescence de répertoires suivante:
/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
Pour remplacer les modèles, vous pouvez copier l’arborescence entière vers un autre emplacement et pointer vers le nouvel emplacement. QGIS_SERVER_API_RESOURCES_DIRECTORY
Paramètres supplémentaires pris en charge par tous les types de demande¶
Les paramètres supplémentaires suivants sont pris en charge par tous les protocoles.
FILE_NAME: si défini, la réponse du serveur sera envoyée au client sous forme de pièce jointe avec le nom de fichier spécifié.
Note
Non disponible pour WFS3.
MAP: similaire à MapServer, le paramètre
MAP
peut être utilisé pour spécifier le chemin d’accès au fichier de projet QGIS. Vous pouvez spécifier un chemin absolu ou un chemin relatif à l’emplacement de l’exécutable du serveur (qgis_mapserv.fcgi
). S’il n’est pas spécifié, QGIS Server recherche les fichiers .qgs dans le répertoire où se trouve l’exécutable du serveur.Exemple:
http://localhost/cgi-bin/qgis_mapserv.fcgi?\ REQUEST=GetMap&MAP=/home/qgis/projects/world.qgs&...
Note
Vous pouvez définir un QGIS_PROJECT_FILE en tant que variable d’environnement pour indiquer à l’exécutable du serveur où trouver le fichier de projet QGIS. Cette variable sera l’emplacement où QGIS recherchera le fichier de projet. S’il n’est pas défini, il utilisera le paramètre MAP dans la demande et examinera enfin le répertoire exécutable du serveur.
REDLINING¶
Cette fonctionnalité est disponible et peut être utilisée avec les requêtes GetMap
et GetPrint
.
La fonction de mise en évidence peut être utilisée pour transmettre des géométries et des étiquettes dans la demande qui se chevauchent par le serveur sur l’image retournée standard (carte). Cela permet à l’utilisateur de mettre l’accent ou peut-être d’ajouter des commentaires (étiquettes) à certaines zones, emplacements, etc. qui ne figurent pas sur la carte standard.
La demande est au format
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
Voici l’image produite par la demande ci-dessus dans laquelle un polygone et une étiquette sont dessinés au-dessus de la carte normale:
Vous pouvez voir qu’il y a plusieurs paramètres dans cette demande:
HIGHLIGHT_GEOM: Vous pouvez ajouter POINT, MULTILINESTRING, POLYGON etc. Il prend en charge les géométries en plusieurs parties. Voici un exemple:
HIGHLIGHT_GEOM = MULTILINESTRING((0 0, 0 1, 1 1))
. Les coordonnées doivent être dans le CRS de la demande GetMap / GetPrint.HIGHLIGHT_SYMBOL: cela contrôle la manière dont la géométrie est définie et vous pouvez modifier la largeur, la couleur et l’opacité du trait.
HIGHLIGHT_LABELSTRING: vous pouvez transmettre votre texte d’étiquetage à ce paramètre.
HIGHLIGHT_LABELSIZE: ce paramètre contrôle la taille de l’étiquette.
HIGHLIGHT_LABELCOLOR: ce paramètre contrôle la couleur de l’étiquette.
HIGHLIGHT_LABELBUFFERCOLOR: ce paramètre contrôle la couleur du tampon d’étiquette.
HIGHLIGHT_LABELBUFFERSIZE: ce paramètre contrôle la taille du tampon d’étiquette.
Couches WMS externes¶
QGIS Server permet d’inclure des couches de serveurs WMS externes dans les requêtes WMS GetMap et WMS GetPrint. Cela est particulièrement utile si un client Web utilise une couche d’arrière-plan externe dans la carte Web. Pour des raisons de performances, ces couches doivent être demandées directement par le client Web (et non en cascade via QGIS Server). Cependant, pour l’impression, ces couches doivent être mises en cascade via le serveur QGIS afin d’apparaître sur la carte imprimée.
Des couches externes peuvent être ajoutées au paramètre LAYERS sous la forme EXTERNAL_WMS:1. Les paramètres des couches WMS externes (par exemple, url, format, dpiMode, crs, couches, styles) peuvent être donnés ultérieurement comme paramètres de service 2: 3. Dans une demande GetMap, cela pourrait ressembler à ceci:
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
De même, des couches externes peuvent être utilisées dans les demandes GetPrint:
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