3. Services¶
QGIS Server is in staat gegevens te verstrekken overeenkomstig standaardprotocollen zoals beschreven door het Open Geospatial Consortium (OGC):
WMS 1.1.1 en 1.3.0
WFS 1.0.0 en 1.1.0
OGC API - Features (WFS3)
WCS 1.1.1
WMTS 1.0.0
Extra parameters van de leverancier en verzoeken worden ondersteund in aanvulling op de originele standaard, wat de mogelijkheden voor het aanpassen van het gedrag aanzienlijk verbeterd, dankzij het programma voor renderen van QGIS.
3.1. Web Map Service (WMS)¶
De WMS standaarden 1.1.1 en 1.3.0, geïmplementeerd in QGIS Server, verschaffen een interface voor HTTP voor het verzoeken van kaart- of legenda-afbeeldingen gegenereerd uit een project van QGIS. Een typisch WMS-verzoek definieert het te gebruiken project van QGIS, de te renderen lagen als ook de te genereren indeling van de afbeelding. Basisondersteuning is ook beschikbaar voor de standaard Styled Layer Descriptor (SLD).
Specificaties:
Standaardverzoeken verschaft door QGIS Server:
Verzoek |
Omschrijving |
---|---|
GetCapabilities |
Geeft XML-metadata terug met informatie over de server |
Geeft een kaart terug |
|
Haal gegevens op (geometrie en waarden) voor de locatie van een pixel |
|
Geeft symbolen voor legenda terug |
Leverancier-verzoeken verschaft door QGIS Server:
Verzoek |
Omschrijving |
---|---|
Geeft een lay-out van QGIS terug |
|
Geeft specifieke informatie terug over QGIS Server |
3.1.1. GetMap¶
Standaardparameters voor het verzoek GetMap overeenkomstig de specificaties van OGC WMS 1.1.1 en 1.3.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
Ja |
Naam van de service (WMS) |
|
Ja |
Versie van de service |
|
Ja |
Naam van het verzoek (GetMap) |
|
Nee |
Weer te geven lagen |
|
Nee |
Stijl van de laag |
|
Ja |
Coördinaten referentiesysteem |
|
Ja |
Kaartbereik |
|
Ja |
Breedte van de afbeelding in pixels |
|
Ja |
Hoogte van de afbeelding in pixels |
|
Nee |
Indeling afbeelding |
|
Nee |
Transparante achtergrond |
|
SLD |
Nee |
URL of een SLD om te worden gebruikt voor de opmaak |
SLD_BODY |
Nee |
Inregelige SLD (XML) om te worden gebruikt voor de opmaak |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
Ja |
Specificeer het QGIS-projectbestand |
|
Nee |
Specificeer de achtergrondkleur |
|
Nee |
Specificeer de uitvoerresolutie |
|
Nee |
JPEG-compressie |
|
Nee |
Doorzichtbaarheid van laag of groep |
|
Nee |
Subset van objecten |
|
Nee |
Objecten accentueren |
|
FILE_NAME |
Nee |
Bestandsnaam van het gedownloade bestand Alleen voor |
Nee |
Opties van de gespecificeerde bestandsindeling Alleen voor |
|
Nee |
Werken in modus Getegeld |
Voorbeeld 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
VERSION¶
Deze parameter maakt het mogelijk de versie van de te gebruiken service te specificeren. Beschikbare waarden voor de parameter VERSION
zijn:
1.1.1
1.3.0
Overeenkomstig het versienummer kunnen kleine verschillen worden verwacht, zoals later uitgelegd, voor de volgende parameters:
CRS
/SRS
BBOX
REQUEST¶
Deze parameter is GetMap
in het geval van het verzoek GetMap.
LAYERS¶
Deze parameter maakt het mogelijk de weer te geven lagen op de kaart te specificeren. Namen moeten zijn gescheiden door een komma.
In aanvulling daarop introduceert QGIS Server enkele opties om op lagen te selecteren:
een verkorte naam
de laag-ID
De verkorte naam van een laag kan worden geconfigureerd via
in het menu Laag. Als de korte naam is gedefinieerd, dan wordt die standaard gebruikt in plaats van de naam van de laag:http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mynickname1,mynickname2
&...
Meer nog, er is een projectoptie die het mogelijk maakt lagen te selecteren op hun ID in het menu Laag-ID’s als namen gebruiken moet zijn geselecteerd om deze optie te activeren.
van het dialoogvenster . Het keuzevakhttp://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayerid1,mylayerid2
&...
STYLES¶
Deze parameter kan worden gebruikt om de stijl van een laag voor de stap renderen te specificeren. Stijlen moeten worden gescheiden door een komma. De naam van de standaard stijl is default
.
SRS / CRS¶
Deze parameter maakt het mogelijk het uitvoer Ruimtelijke ReferentieSysteem van de kaart aan te geven in WMS 1.1.1 en moet zijn weergegeven als EPSG:XXXX
. Onthoud dat CRS
ook wordt ondersteund als de huidige versie 1.1.1 is.
Voor WMS 1.3.0 heeft de parameter CRS
de voorkeur maar SRS
wordt ook ondersteund.
Onthoud dat, indien beide parameters CRS
en SRS
in het verzoek worden aangegeven, dan is het de huidige versie die wordt aangegeven met de parameter VERSION
die beslissend is.
In het volgende geval wordt de parameter SRS
behouden, ongeacht de parameter VERSION
, omdat CRS
niet wordt aangegeven:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&SRS=EPSG:2854
&...
In het volgende geval wordt de parameter SRS
behouden in plaats van CRS
vanwege de parameter VERSION
:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
In het volgende geval wordt de parameter CRS
behouden in plaats van SRS
vanwege de parameter VERSION
:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
BBOX¶
Deze parameter maakt het mogelijk het kaartbereik te specificeren in kaarteenheden overeenkomstig het huidige CRS. Coördinaten moeten worden gescheiden door een komma.
De parameter BBOX
wordt gevormd als min_a,min_b,max_a,max_b
, maar de asdefinitie voor a
en b
is verschillend, volgens de huidige parameter VERSION
:
in WMS 1.1.1 is de asvolgorde altijd Oost/Noord
in WMS 1.3.0 is de asvolgorde afhankelijk van de autoriteit voor het CRS
Bijvoorbeeld in het geval van EPSG:4326
en WMS 1.1.1, is a
de longitude (Oost) en b
fe latitude (Noord), wat ledit tot een verzoek als:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...
Maar in geval van WMS 1.3.0 is de asvolgorde, gedefinieerd in de database van EPSG, Noord/Oost, dus a
is de latitude en b
de longitude:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...
WIDTH¶
Deze parameter maakt het mogelijk de breedte van de uit te voeren afbeelding in pixels te specificeren.
HEIGHT¶
Deze parameter maakt het mogelijk de hoogte van de uit te voeren afbeelding in pixels te specificeren.
FORMAT¶
Deze parameter kan worden gebruikt om de indeling van de kaartafbeelding te specificeren. Beschikbare waarden zijn:
jpg
jpeg
image/jpeg
image/png
image/png; mode=1bit
image/png; mode=8bit
image/png; mode=16bit
application/dxf
Alleen lagen die leestoegang hebben in de WFS-service worden geëxporteerd in de indeling DXF.Voorbeeld 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¶
Deze Booleaanse parameter kan worden gebruikt om de transparantie van de achtergrond te specificeren. Beschikbare waarden zijn (niet hoofdlettergevoelig):
TRUE
FALSE
Deze parameter wordt echter genegeerd indien de indeling van de kaart, aangegeven met FORMAT
, anders is dan PNG.
MAP¶
Deze parameter maakt het mogelijk het te gebruiken projectbestand van QGIS te definiëren.
Zoals vermeld in tabel parameters GetMap, is MAP
verplicht omdat een verzoek een project van QGIS nodig heeft om feitelijk te kunnen werken. Echter, de omgevingsvariabele QGIS_PROJECT_FILE
mag worden gebruikt om een standaardproject voor QGIS te definiëren. In dit specifieke geval is MAP
niet langer een vereiste parameter. Voor meer informatie kunt u kijken naar Gevorderde configuratie.
BGCOLOR¶
Deze parameter maakt het mogelijk een kleur voor de achtergrond aan te geven voor de kaartafbeelding. Het kan echter niet worden gecombineerd met de parameter TRANSPARENT
in geval van afbeeldingen PNG (transparantie heeft prioriteit). De kleur mag letterlijk zijn of in hexadecimale notatie.
Voorbeeld URL met de letterlijke notatie:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=green
&...
Voorbeeld URL met de hexadecimale notatie:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=0x00FF00
&...
DPI¶
Deze parameter kan worden gebruikt om de resolutie voor de verzochte uitvoer te specificeren.
IMAGE_QUALITY¶
Deze parameter wordt alleen gebruikt voor afbeeldingen JPEG. Standaard is de compressie voor JPEG -1
.
U kunt de standaard per project van QGIS wijzigen in het menu GetMap
kunt u dat doen met behulp van de parameter IMAGE_QUALITY
.
OPACITIES¶
Kommagescheiden lijst van waarden voor doorzichtbaarheid. Doorzichtbaarheid kan worden ingesteld op niveau van de laag of van een groep. Toegestane waarden reiken van 0 (volledig transparant) tot en met 255 (ondoorzichtig).
FILTER¶
Een subset van lagen kan worden geselecteerd met de parameter FILTER
. De syntaxis is in principe hetzelfde als voor de tekenreeks voor de subset in QGIS. Er zijn echter enige beperkingen om injecties met SQL in databases via QGIS Server te vermijden. Als een gevaarlijke tekenreeks wordt gevonden in de parameter, zal QGIS Server de volgende fout teruggeven:
<ServiceExceptionReport>
<ServiceException code="Security">The filter string XXXXXXXXX has been rejected because of security reasons.
Note: Text strings have to be enclosed in single or double quotes. A space between each word / special character is mandatory.
Allowed Keywords and special characters are IS,NOT,NULL,AND,OR,IN,=,<,=<,>,>=,!=,',',(,),DMETAPHONE,SOUNDEX.
Not allowed are semicolons in the filter expression.</ServiceException>
</ServiceExceptionReport>
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2,mylayer3
&FILTER=mylayer1:"col1";mylayer1,mylayer2:"col2" = 'blabla'
&...
In dit voorbeeld wordt hetzelfde filter (veld col2
is gelijk aan de tekenreeks blabla
) toegepast op de lagen mylayer1
en mylayer2
, terwijl het filter op col1
alleen wordt toegepast op mylayer1
.
Notitie
Het is mogelijk zoekacties naar attributen uit te voeren via GetFeatureInfo en de parameter X/Y weg te laten als er een FILTER is. QGIS Server geeft dan informatie terug over de overeenkomende objecten en maakt een gecombineerd begrenzingsvak in de uitvoer XML.
SELECTION¶
De parameter SELECTION
kan objecten accentueren van één of meer lagen. Vectorobjecten kunnen worden geselecteerd door middel van kommagescheiden lijsten met object-ID’s.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2
&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6
&...
De volgende afbeelding laat het antwoord zien van een verzoek GetMap met behulp van de optie SELECTION
, bijv. http://myserver.com/…&SELECTION=countries:171,65
.
Omdat deze object-ID’s in de gegevensset van de bron corresponderen met Frankrijk en Roemenië zijn zij in geel geaccentueerd.
FORMAT-OPTIONS¶
Deze parameter kan worden gebruikt op opties voor de geselecteerde indeling te specificeren. Alleen voor FORMAT=application/dxf
. Een lijst van paren sleutel:waarde, gescheiden door puntkomma:
SCALE: om te worden gebruikt voor regels voor symbologie, filters en stijlen (niet een feitelijk schalen van de gegevens - gegevens blijven op de originele schaal).
MODE: correspondeert met de opties voor exporteren in het dialoogvenster van QGIS Desktop voor exporteren naar DXF. Mogelijke waarden zijn
NOSYMBOLOGY
,FEATURESYMBOLOGY
enSYMBOLLAYERSYMBOLOGY
.LAYERSATTRIBUTES: specificeer een veld dat de waarden voor de laagnamen in DXF bevat - indien niet gespecificeerd worden de originele laagnamen van QGIS gebruikt.
USE_TITLE_AS_LAYERNAME: indien ingeschakeld zal de titel van de laag als laagnaam worden gebruikt.
CODEC: specificeer een te gebruiken codec voor codering. Standaard is
ISO-8859-1
, controleer het dialoogvenster DXF exporteren van QGIS Desktop voor geldige waarden.NO_MTEXT: Gebruik TEXT in plaats van MTEXT voor labels.
FORCE_2D: 2D uitvoer forceren. Dit is vereist voor breedte van polylijn.
TILED¶
Om redenen van uitvoering kan QGIS Server gebruikt worden in de modus Getegeld. In deze modus verzoekt de cliënt verscheidene, vaste grootte, tegels, en maakt daarvan één gehele kaart. Door dit te doen zou het kunnen zijn dat symbolen op of nabij de grenzen tussen twee bestanden afgesneden zouden kunnen verschijnen, omdat zij slechts aanwezig zijn in één van de tegels.
Stel de parameter TILED
in op TRUE
om QGIS Server te vertellen om te werken in de modus getegeld, en de Tegelbuffer toe te passen die is geconfigureerd in het project van QGIS (bekijk Uw project configureren)..
Als TILED
is TRUE
en wanneer een niet-nul Tegelbuffer is geconfigureerd in het project van QGIS, worden objecten buiten het tegelbereik getekend om het afbreken van symbolen op grenzen van tegels te vermijden.
TILED
is standaard FALSE
.
3.1.2. GetFeatureInfo¶
Standaardparameters voor het verzoek GetFeatureInfo overeenkomstig de specificaties van OGC WMS 1.1.1 en 1.3.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
Ja |
Naam van de service (WMS) |
|
Nee |
Versie van de service |
|
Ja |
Naam van het verzoek (GetFeatureInfo) |
|
Ja |
Te bevragen lagen |
|
Ja |
Weer te geven lagen (identiek aan QUERY_LAYERS) |
|
Nee |
Stijl van de laag |
|
Ja |
Coördinaten referentiesysteem |
|
Nee |
Kaartbereik |
|
Ja |
Breedte van de afbeelding in pixels |
|
Ja |
Hoogte van de afbeelding in pixels |
|
Nee |
Transparante achtergrond |
|
Nee |
Indeling uitvoer |
|
Nee |
Maximale aantal terug te geven objecten |
|
Nee |
Pixelkolom van het te bevragen punt |
|
Nee |
Hetzelfde als parameter I, maar in WMS 1.1.1 |
|
Nee |
Pixelrij van het te bevragen punt |
|
Nee |
Hetzelfde als parameter J, maar in WMS 1.1.1 |
|
WMS_PRECISION |
Nee |
De precisie (aantal cijfers) dat moet worden gebruikt bij het teruggeven van geometrie (bekijk hoe geometrie toe te voegen aan feature response). De standaardwaarde is |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
Ja |
Specificeer het QGIS-projectbestand |
|
Nee |
Subset van objecten |
|
Nee |
Tolerantie in pixels voor puntlagen |
|
Nee |
Tolerantie in pixels voor lijnlagen |
|
Nee |
Tolerantie in pixels voor polygoonlagen |
|
Nee |
Filteren van geometrie |
|
Nee |
Kaarttips toevoegen aan de uitvoer |
|
Nee |
Geometrie toevoegen aan de uitvoer |
Voorbeeld 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
REQUEST¶
Deze parameter is GetFeatureInfo
in het geval van het verzoek GetFeatureInfo.
INFO_FORMAT¶
Deze parameter kan worden gebruikt om de indeling van het resultaat te specificeren. Beschikbare waarden zijn:
text/xml
text/html
text/plain
application/vnd.ogc.gml
application/json
QUERY_LAYERS¶
Deze parameter specificeert de weer te geven lagen op de kaart. Namen moeten zijn gescheiden door een komma.
In aanvulling daarop introduceert QGIS Server enkele opties om op lagen te selecteren:
verkorte naam
laag-ID
Bekijk de paramater LAYERS
gedefinieerd in GetMap voor meer informatie.
FEATURE_COUNT¶
Deze parameter specificeert het maximale aantal terug te geven objecten per laag. Als bijvoorbeeld QUERY_LAYERS
is ingesteld op laag1,laag2
en FEATURE_COUNT
is ingesteld op 3
dan zal een maximum van 3 objecten uit laag1 worden teruggegeven. Op dezelfde wijze zal een maximum van 3 objecten van laag2 worden teruggegeven.
Standaard wordt slechts 1 object per laag teruggegeven.
I¶
Deze parameter, gedefinieerd in WMS 1.3.0, stelt u in staat de pixelkolom van het te bevragen punt te specificeren.
X¶
Dezelfde parameter als I
, maar gedefinieerd in WMS 1.1.1
J¶
Deze parameter, gedefinieerd in WMS 1.3.0, stelt u in staat de pixelrij van het te bevragen punt te specificeren.
Y¶
Dezelfde parameter als J
, maar gedefinieerd in WMS 1.1.1
FI_POINT_TOLERANCE¶
Deze parameter specificeert de tolerantie in pixels voor puntlagen.
FI_LINE_TOLERANCE¶
Deze parameter specificeert de tolerantie in pixels voor lijnlagen.
FI_POLYGON_TOLERANCE¶
Deze parameter specificeert de tolerantie in pixels voor polygoonlagen.
FILTER_GEOM¶
Deze parameter specificeert een geometrie WKT waarmee objecten moeten kruisen.
WITH_MAPTIP¶
Deze parameter specificeert of kaarttips aan de uitvoer moeten worden toegevoegd.
Beschikbare waarden zijn (niet hoofdlettergevoelig):
TRUE
FALSE
WITH_GEOMETRY¶
Deze parameter specificeert of geometrieën moeten worden toegevoegd aan de uitvoer. U moet eerst de optie Geometrie aan feature response toevoegen in het project van QGIS inschakelen om deze mogelijkheid te kunnen gebruiken. Bekijk Configureer uw project.
Beschikbare waarden zijn (niet hoofdlettergevoelig):
TRUE
FALSE
3.1.3. GetPrint¶
QGIS Server heeft de mogelijkheid om uitvoer van afdruklay-outs te maken in PDF- of pixelindeling. Vensters van afdruklay-outs in het gepubliceerde project worden als sjablonen gebruikt. In het verzoek GetPrint heeft de cliënt de mogelijkheid om parameters te specificeren van de opgenomen kaarten en labels.
Parameters voor het verzoek GetPrint zijn:
Parameter |
Vereist |
Omschrijving |
---|---|---|
Ja |
Specificeer het QGIS-projectbestand |
|
Ja |
Naam van de service (WMS) |
|
Nee |
Versie van de service |
|
Ja |
Naam van het verzoek (GetPrint) |
|
Nee |
Weer te geven lagen |
|
Ja |
Te gebruiken lay-outsjabloon |
|
Ja |
Coördinaten referentiesysteem |
|
Nee |
Indeling uitvoer |
|
Nee |
Objecten van Atlas |
|
Nee |
Stijl van de laag |
|
Nee |
Transparante achtergrond |
|
Nee |
Doorzichtbaarheid van laag of groep |
|
Nee |
Objecten accentueren |
|
Nee |
Bereik van de kaart ‘X’ |
|
Nee |
Lagen van de kaart ‘X’ |
|
Nee |
Stijl van de lagen van de kaart ‘X’ |
|
Nee |
Schaal van de lagen van de kaart ‘X’ |
|
Nee |
Rotatie van de kaart ‘X’ |
|
Nee |
Raster-interval op de X-as van de kaart ‘X’ |
|
Nee |
Raster-interval op de Y-as van de kaart ‘X’ |
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetPrint
&MAP=/home/qgis/projects/world.qgs
&CRS=EPSG:4326
&FORMAT=png
&TEMPLATE=Layout%201
&map0:EXTENT=-180,-90,180,90
&map0:LAYERS=mylayer1,mylayer2,mylayer3
&map0:OPACITIES=125,200,125
&map0:ROTATION=45
Onthoud dat de sjabloon van de lay-out meer kan bevatten dan één kaart. Op deze manier dient u, als u een specifieke kaart wilt configureren, parameters mapX:
te gebruiken, waar X
een positief getal is dat u kunt ophalen met het verzoek GetProjectSettings.
Bijvoorbeeld:
<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>
REQUEST¶
Deze parameter moet GetPrint
zijn in het geval van het verzoek GetPrint.
TEMPLATE¶
Deze parameter kan worden gebruikt om de naam van een sjabloon van lay-out te specificeren voor het afdrukken.
FORMAT¶
Deze parameter specificeert de indeling van de kaartafbeelding. Beschikbare waarden zijn:
png
(standaardwaarde)image/png
jpg
jpeg
image/jpeg
svg
image/svg
image/svg+xml
pdf
application/pdf
Als de parameter FORMAT
anders is dan een van deze waarden dan zal een uitzondering worden teruggegeven.
ATLAS_PK¶
Deze parameter maakt het mogelijk het renderen als atlas te activeren door aan te geven welke objecten we willen afdrukken. Het symbool *
mag worden gebruikt (overeenkomstig het maximum aantal toegestane objecten in de configuratie van het project), om een atlas met alle objecten op te halen.
Als FORMAT
is pdf
, wordt één enkel document PDF, dat de pagina’s van objecten combineert, teruggegeven. Voor alle andere indelingen wordt één enkele pagina teruggegeven.
mapX:EXTENT¶
Deze parameter specificeert het bereik van een kaartitem van een lay-out als xmin,ymin,xmax,ymax.
mapX:ROTATION¶
Deze parameter specificeert de kaartrotatie in graden.
mapX:GRID_INTERVAL_X¶
Deze parameter specificeert de dichtheid van de rasterlijn in de richting X.
mapX:GRID_INTERVAL_Y¶
Deze parameter specificeert de dichtheid van de rasterlijn in de richting Y.
mapX:SCALE¶
Deze parameter specificeert de schaal voor de kaart voor een kaartitem van afdruklay-out. Dit is nuttig om te zorgen voor op schaal gebaseerde zichtbaarheid van de lagen en labels, zelfs als cliënt en server verschillende algoritmen hebben om de noemer voor de schaal te berekenen.
mapX:LAYERS¶
Deze parameter specificeert de lagen voor een kaartitem van lay-out. Bekijk lagen GetMap voor meer informatie over deze parameter.
mapX:STYLES¶
Deze parameter specificeert de stijlen voor de lagen voor een specifiek kaartitem van lay-out. Bekijk stijlen GetMap voor meer informatie over deze parameter.
3.1.4. GetLegendGraphics¶
Verscheidene aanvullende parameters zijn beschikbaar om de grootte van de elementen van de Legenda te wijzigen:
BOXSPACE ruimte tussen frame van Legenda en inhoud (mm)
FORMAT,
image/jpeg
,image/png
ofapplication/json
. Voor JSON worden symbolen gecodeerd met Base64 en met de meeste andere opties die zijn gerelateerd aan lay-out of lettertypen wordt geen rekening gehouden, omdat de legenda moet wordne gebouwd aan de zijde van de cliënt.LAYERSPACE verticale ruimte tussen lagen (mm)
LAYERTITLESPACE verticale ruimte tussen titel van de laag en de daarop volgende items (mm)
SYMBOLSPACE verticale ruimte tussen symbool en daarop volgende item (mm)
ICONLABELSPACE horizontale ruimte tussen symbool en tekst voor label (mm)
SYMBOLWIDTH breedte van voorbeeld van het symbool (mm)
SYMBOLHEIGHT hoogte van het voorbeeld van het symbool (mm)
Deze parameters wijzigen de eigenschappen van het lettertype voor titels van lagen en labels van items:
LAYERFONTFAMILY / ITEMFONTFAMILY familie lettertype voor titel van laag / tekst van item
LAYERFONTBOLD / ITEMFONTBOLD
TRUE
om een vet lettertype te gebruikenLAYERFONTSIZE / ITEMFONTSIZE Grootte lettertype in punten
LAYERFONTITALIC / ITEMFONTITALIC
TRUE
om cursief lettertype te gebruikenLAYERFONTCOLOR / ITEMFONTCOLOR Hexadecimale kleurcode (bijv.
#FF0000
voor rood)LAYERTITLE
FALSE
om alleen de afbeeldingen van de Legenda te verkrijgen, zonder titel van de laagRULELABEL:
FALSE
afbeeldingen van de Legenda, zonder labels voor de itemsAUTO
labels voor items verbergen voor lagen met rendering Enkel symbool
Op inhoud gebaseerde Legenda. Deze parameters laten de cliënt een legenda verzoeken die alleen de symbolen voor de objecten laat zien die binnen het verzochte gebied vallen:
BBOX het geografische gebied waarvoor de legenda zou moeten worden opgebouwd
CRS / SRS het gebruikte coördinaten referentiesysteem om de coördinaten voor de BBOX te definiëren
SRCWIDTH / SRCHEIGHT indien ingesteld zouden deze overeen moeten komen met de parameters WIDTH en HEIGHT voor het verzoek GetMap, om QGIS Server symbolen te laten schalen overeenkomstig de afbeeldingsgrootte van de kaartweergave.
Op inhoud gebaseerde objecten van de legenda zijn gebaseerd op de implementatie UMN MapServer:
SHOWFEATURECOUNT indien ingesteld op
TRUE
voegt het in de legenda het aantal objecten toe, zoals in de volgende afbeelding:RULE stel het in op een bepaalde naam voor een regel om alleen het symbool voor de genoemde regel te verkrijgen
WIDTH/HEIGHT de gemaakte grootte voor de afbeelding van de legenda als de parameter RULE is ingesteld
3.1.5. GetProjectSettings¶
Dit type verzoek werkt soortgelijk aan GetCapabilities, maar is meer specifiek voor QGIS Server en stelt een cliënt in staat om aanvullende informatie te lezen die niet beschikbaar is in de uitvoer van de GetCapabilities:
initiële zichtbaarheid van lagen
informatie over vectorattributen en hun typen bewerking
informatie over laagvolgorde en volgorde van tekenen
lijst van in WFS gepubliceerde lagen
weergeven als een groep in de boom van de lagen wederzijds exclusief is
3.2. Web Feature Service (WFS)¶
De WFS standaarden 1.0.0 en 1.1.0, geïmplementeerd in QGIS Server, verschaffen een interface voor HTTP voor het verzoeken van geografische objecten uit een project van QGIS. Een typisch WFS-verzoek definieert het te gebruiken project van QGIS, en de te bevragen laag.
Specificatiedocument overeenkomstig het versienummer van de service:
Standaardverzoeken verschaft door QGIS Server:
Verzoek |
Omschrijving |
---|---|
GetCapabilities |
Geeft XML-metadata terug met informatie over de server |
GetFeature |
Geeft een selectie van objecten terug |
DescribeFeatureType |
Geeft een beschrijving van typen objecten en eigenschappen terug |
Transaction |
Staat toe dat objecten worden ingevoegd, bijgewerkt of verwijderd |
3.2.1. GetFeature¶
Standaardparameters voor het verzoek GetFeature overeenkomstig de specificaties van OGC WFS 1.0.0 en 1.1.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
SERVICE |
Ja |
Naam van de service |
VERSION |
Nee |
Versie van de service |
REQUEST |
Ja |
Naam van het verzoek |
TYPENAME |
Nee |
Naam van de lagen |
OUTPUTFORMAT |
Nee |
Indeling uitvoer |
RESULTTYPE |
Nee |
Type resultaat |
PROPERTYNAME |
Nee |
Naam van de eigenschappen die moeten worden teruggegeven |
MAXFEATURES |
Nee |
Maximale aantal terug te geven objecten |
SRSNAME |
Nee |
Coördinaten referentiesysteem |
FEATUREID |
Nee |
Objecten filteren op ID |
FILTER |
Nee |
OGC codering filter |
BBOX |
Nee |
Kaartbereik |
SORTBY |
Nee |
Sorteer de resultaten |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
MAP |
Ja |
Specificeer het QGIS-projectbestand |
STARTINDEX |
Nee |
Paginanummer |
GEOMETRYNAME |
Nee |
Type terug te geven geometrie |
EXP_FILTER |
Nee |
Expressie filteren |
SERVICE¶
Deze parameter moet WFS
zijn in het geval van het verzoek GetFeature.
Bijvoorbeeld:
http://localhost/qgisserver?
SERVICE=WFS
&...
VERSION¶
Deze parameter maakt het mogelijk de versie van de te gebruiken service te specificeren. Beschikbare waarden voor de parameter VERSION
zijn:
1.0.0
1.1.0
Indien geen versie wordt aangegeven in het verzoek, dan wordt standaard 1.1.0
gebruikt.
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&...
REQUEST¶
Deze parameter is GetFeature
in het geval van het verzoek GetFeature.
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&...
RESULTTYPE¶
Deze parameter kan worden gebruikt om het terug te geven resultaat te specificeren. Beschikbare waarden zijn:
results
: het standaard gedraghits
: geeft alleen het aantal objecten terug
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&RESULTTYPE=hits
&...
GEOMETRYNAME¶
Deze parameter kan worden gebruikt om het terug te geven soort geometrie te specificeren. Beschikbare waarden zijn:
extent
centroid
none
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&GEOMETRYNAME=centroid
&...
STARTINDEX¶
Deze parameter is standaard in WFS 2.0, maar het is een uitbreiding voor WFS 1.0.0. In feite kan het gebruikt worden om enkele objecten in de resultaatset over te slaan en, in combinatie met MAXFEATURES
, verschaft het de mogelijkheid door de resultaten te bladeren.
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WFS
&VERSION=1.1.0
&REQUEST=GetFeature
&STARTINDEX=2
&...
3.3. Web Map Tile Service (WMTS)¶
De WMTS standaard 1.0.0, geïmplementeerd in QGIS Server, verschaft een interface voor HTTP voor het verzoeken van getegelde kaartafbeeldingen uit een project van QGIS. Een typisch WMTS-verzoek definieert het te gebruiken project van QGIS, enkele parameters voor WMS zoals te renderen lagen en ook parameters voor de tegels.
Specificatiedocument van de service:
Standaardverzoeken verschaft door QGIS Server:
Verzoek |
Omschrijving |
---|---|
GetCapabilities |
Geeft XML-metadata terug met informatie over de server |
GetTile |
Geeft een tegel terug |
GetFeatureInfo |
Haal gegevens op (geometrie en waarden) voor de locatie van een pixel |
3.3.1. GetCapabilities¶
Standaardparameters voor het verzoek GetCapabilities overeenkomstig de specificaties van OGC WMTS 1.0.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
SERVICE |
Ja |
Naam van de service (WMTS) |
REQUEST |
Ja |
Naam van het verzoek (GetCapabilities) |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
MAP |
Ja |
Specificeer het QGIS-projectbestand |
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetCapabilities
&MAP=/home/qgis/projects/world.qgs
SERVICE¶
Deze parameter moet WMTS
zijn in het geval van het verzoek GetCapabilities.
REQUEST¶
Deze parameter is GetCapabilities
in het geval van het verzoek GetCapabilities.
MAP¶
Deze parameter maakt het mogelijk het te gebruiken projectbestand van QGIS te definiëren.
3.3.2. GetTile¶
Standaardparameters voor het verzoek GetTile overeenkomstig de specificaties van OGC WMTS 1.0.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
SERVICE |
Ja |
Naam van de service (WMTS) |
REQUEST |
Ja |
Naam van het verzoek (GetTile) |
LAYER |
Ja |
Identificatie laag |
FORMAT |
Ja |
Indeling uitvoer van de tegel |
TILEMATRIXSET |
Ja |
Naam van de piramide |
TILEMATRIX |
Ja |
Mazen |
TILEROW |
Ja |
Rijcoördinaat in de mazen |
TILECOL |
Ja |
Kolomcoördinaat in de mazen |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
MAP |
Ja |
Specificeer het QGIS-projectbestand |
Voorbeeld 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¶
Deze parameter moet WMTS
zijn in het geval van het verzoek GetTile.
REQUEST¶
Deze parameter is GetTile
in het geval van het verzoek GetTile.
LAYER¶
Deze parameter maakt het mogelijk de op de tegel weer te geven laag te specificeren.
In aanvulling daarop introduceert QGIS Server enkele opties om lagen te selecteren op:
een verkorte naam
de laag-ID
De verkorte naam van een laag kan worden geconfigureerd via
in het menu Laag. Als de korte naam is gedefinieerd, dan wordt die standaard gebruikt in plaats van de naam van de laag:http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mynickname
&...
Meer nog, er is een projectoptie die het mogelijk maakt lagen te selecteren op hun ID in het menu Laag-ID’s als namen gebruiken moet zijn geselecteerd om deze optie te activeren.
van het dialoogvenster . Het keuzevakhttp://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetTile
&LAYER=mylayerid1
&...
FORMAT¶
Deze parameter kan worden gebruikt om de indeling van de tegelafbeelding te specificeren. Beschikbare waarden zijn:
jpg
jpeg
image/jpeg
image/png
Als de parameter FORMAT
anders is dan een van deze waarden dan zal in plaats daarvan de standaard indeling PNG worden gebruikt.
TILEMATRIXSET¶
Deze parameter definieert het te gebruiken CRS bij het berekenen van de onderliggende piramide. Indeling: EPSG:XXXX
.
TILEMATRIX¶
Deze parameter maakt het mogelijk de te gebruiken matrix voor het uitvoerbestand te specificeren.
TILEROW¶
Deze parameter maakt het mogelijk de rij van de op te halen tegel in de matrix te selecteren.
TILECOL¶
Deze parameter maakt het mogelijk de kolom van de op te halen tegel in de matrix te selecteren.
MAP¶
Deze parameter maakt het mogelijk het te gebruiken projectbestand van QGIS te definiëren.
Zoals vermeld in tabel parameters GetMap, is MAP
verplicht omdat een verzoek een project van QGIS nodig heeft om feitelijk te kunnen werken. Echter, de omgevingsvariabele QGIS_PROJECT_FILE
mag worden gebruikt om een standaardproject voor QGIS te definiëren. In dit specifieke geval is MAP
niet langer een vereiste parameter. Voor meer informatie kunt u kijken naar Gevorderde configuratie.
3.3.3. GetFeatureInfo¶
Standaardparameters voor het verzoek GetFeatureInfo overeenkomstig de specificaties van OGC WMTS 1.0.0:
Parameter |
Vereist |
Omschrijving |
---|---|---|
SERVICE |
Ja |
Naam van de service (WMTS) |
REQUEST |
Ja |
Naam van het verzoek (GetFeatureInfo) |
LAYER |
Ja |
Identificatie laag |
INFOFORMAT |
Nee |
Indeling uitvoer |
I |
Nee |
X-coördinaat van een pixel |
J |
Nee |
Y-coördinaat van een pixel |
TILEMATRIXSET |
Ja |
|
TILEMATRIX |
Ja |
|
TILEROW |
Ja |
|
TILECOL |
Ja |
In aanvulling op de standaard ondersteunt QGIS Server de volgende extra parameters:
Parameter |
Vereist |
Omschrijving |
---|---|---|
MAP |
Ja |
Specificeer het QGIS-projectbestand |
Voorbeeld URL:
http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&MAP=/home/qgis/projects/world.qgs
&LAYER=mylayer
&INFOFORMAT=image/html
&I=10
&J=5
SERVICE¶
Deze parameter moet WMTS
zijn in het geval van het verzoek GetFeatureInfo.
REQUEST¶
Deze parameter is GetFeatureInfo
in het geval van het verzoek GetFeatureInfo.
MAP¶
Deze parameter maakt het mogelijk het te gebruiken projectbestand van QGIS te definiëren.
Zoals vermeld in tabel parameters GetMap, is MAP
verplicht omdat een verzoek een project van QGIS nodig heeft om feitelijk te kunnen werken. Echter, de omgevingsvariabele QGIS_PROJECT_FILE
mag worden gebruikt om een standaardproject voor QGIS te definiëren. In dit specifieke geval is MAP
niet langer een vereiste parameter. Voor meer informatie kunt u kijken naar Gevorderde configuratie.
LAYER¶
Deze parameter maakt het mogelijk de op de tegel weer te geven laag te specificeren.
In aanvulling daarop introduceert QGIS Server enkele opties om lagen te selecteren op:
een verkorte naam
de laag-ID
De verkorte naam van een laag kan worden geconfigureerd via
in het menu Laag. Als de korte naam is gedefinieerd, dan wordt die standaard gebruikt in plaats van de naam van de laag:http://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mynickname
&...
Meer nog, er is een projectoptie die het mogelijk maakt lagen te selecteren op hun ID in het menu Laag-ID’s als namen gebruiken moet zijn geselecteerd om deze optie te activeren.
van het dialoogvenster . Het keuzevakhttp://localhost/qgisserver?
SERVICE=WMTS
&REQUEST=GetFeatureInfo
&LAYER=mylayerid1
&...
INFOFORMAT¶
Deze parameter kan worden gebruikt om de indeling van de uitvoer van het resultaat te definiëren. Beschikbare waarden zijn:
text/xml
text/html
text/plain
application/vnd.ogc.gml
De standaardwaarde is text/plain
.
I¶
Deze parameter maakt het mogelijk de X-coördinaat van de pixel te definiëren waarvoor we de onderliggende informatie willen ophalen.
J¶
Deze parameter maakt het mogelijk de Y-coördinaat van de pixel te definiëren waarvoor we de onderliggende informatie willen ophalen.
3.4. WFS3 (OGC API Features)¶
WFS3 is de eerste implementatie van de nieuwe generatie protocollen van OGC. Het is beschreven in het document OGC API - Features - Part 1: Core.
Hier is een snel informeel overzicht van de meest belangrijke verschillen tussen het welbekende protocol WFS en WFS3:
WFS3 is gebaseerd op een REST API
WFS3 API moet de specificaties volgen van OPENAPI
WFS3 ondersteunt meerdere indelingen voor uitvoer, maar legt er geen verplicht op (alleen GeoJSON en HTML zijn momenteel beschikbaar in QGIS WFS3) en het gebruikt content negotiation om te bepalen welke indeling aan de cliënt moet worden geserveerd
JSON en HTML zijn eerste klas burgers in WFS3
WFS3 is zelf-gedocumenteerd (via het eindpunt
/api
)WFS3 is volledig te navigeren (via links) en door te bladeren
Belangrijk
Hoewel de implementatie van WFS3 in QGIS gebruik kan maken van de parameter MAP
om het projectbestand te specificeren, zijn geen extra parameters voor query toegestaan door de specificatie van OPENAPI. Om deze reden wordt sterk aanbevolen dat MAP
niet wordt weergegeven in de URL en dat het projectbestand in de omgeving op een andere wijze wordt gespecificeerd (d.i. instellen van QGIS_PROJECT_FILE
in de omgeving met een regel rewrite voor een webserver).
Notitie
Het eindpunt API verschaft uitgebreide documentatie voor alle ondersteunde parameters en indelingen voor de uitvoer van uw service. De volgende alinea’s zullen alleen de meest belangrijke beschrijven.
3.4.1. Weergavebronnen¶
De QGIS Server WFS3 implementatie ondersteunt momenteel de volgende weergavebronnen (uitvoer) indelingen:
HTML
JSON
De indeling die feitelijk wordt geserveerd is afhankelijk van de onderhandeling van de inhoud, maar een specifieke indeling mag expliciet worden verzocht door een specificatie voor de indeling toe te voegen aan de eindpunten.
Ondersteunde extensies voor specificatie van de indeling zijn:
.json
.html
Aanvullende aliassen voor specificaties van indelingen mogen worden gedefinieerd voor specifieke eindpunten:
.openapi
: alias voor.json
ondersteund door het eindpunt API.geojson
: alias voor.json
ondersteund door de eindpunten Features en Feature
3.4.2. Eindpunten¶
De API verschaft een lijst met eindpunten die de cliënten kunnen ophalen. Het systeem is op een dusdanige manier ontworpen dat elk antwoord een set links verschaft om te navigeren door alle verschafte bronnen.
Punten voor eindpunten, verschaft door de QGIS implementatie zijn:
Naam |
Pad |
Omschrijving |
---|---|---|
Startpagina |
|
Algemene informatie over de service en verschaft links naar alle beschikbare eindpunten |
Conformance |
|
Informatie over de conformiteit van de service aan de standaarden |
API |
|
Volledige beschrijving van de eindpunten, verschaft door de service en de teruggegeven documentstructuur |
Collecties |
|
Lijst van alle collecties (d.i. ‘vectorlagen’) verschaft door de service |
Collectie |
|
Informatie over een collectie (naam, metadata, bereik etc.) |
Functionaliteit |
|
Lijst met objecten, verschaft door de collectie |
Object |
|
Informatie over één enkel object |
Startpagina¶
Het belangrijkste eindpunt is de Startpagina. Vanaf die pagina is het mogelijk om naar alle beschikbare eindpunten van de service te navigeren. De Startpagina moet links verschaffen naar
de definitie van de API (pad
/api
linkrelatiesservice-desc
enservice-doc
),de declaratie voor Conformance (pad
/conformance
, linkrelatieconformance
), ende Collecties (pad
/collections
, linkrelatiedata
).
API Definitie¶
De API Definitie is een OPENAPI-compliant beschrijving van de API die wordt verschaft door de service. In zijn weergave HTML is het een door te bladeren pagina waar alle eindpunten en hun indelingen voor antwoorden nauwgezet zijn vermeld en gedocumenteerd. Het pad van dit eindpunt is /api
.
De API definitie verschaft een uitgebreide en betrouwbare documentatie van de service, inclusief alle ondersteunde parameters en teruggegeven indelingen.
Notitie
Dit eindpunt is analoog aan WFS’s GetCapabilities
Lijst Collecties¶
Het eindpunt Collecties verschaft een lijst met alle beschikbare collecties in de service. Om dat de service één enkel project van QGIS “dient” zijn de collecties de vectorlagen uit het huidige project (indien zij werden gepubliceerd als WFS in de projecteigenschappen). Het pad van dit eindpunt is /collections/
.
Detail collectie¶
Hoewel het eindpunt Collecties geen gedetailleerde informatie verschaft over elke beschikbare collectie, is die informatie beschikbaar in de eindpunten /collections/{collectionId}
. Typische informatie omvat het bereik, een beschrijving, CRSen en andere metadata.
De weergave HTML verschaft ook een door te bladeren kaart met de beschikbare objecten.
Lijst met objecten¶
Dit eindpunt verschaft een lijst van alle objecten in een collectie, waarvan de ID voor de collectie bekend is. Het pad van dit eindpunt is /collections/{collectionId}/items
.
De weergave HTML verschaft ook een door te bladeren kaart met de beschikbare objecten.
Notitie
Dit eindpunt is analoog aan GetFeature
in WFS 1 en WFS 2.
Detail object¶
Dit eindpunt verschaft alle beschikbare informatie over één enkel object, inclusief de attributen van het object en zijn geometrie. Het pad van dit eindpunt is /collections/{collectionId}/items/{itemId}
.
De weergave HTML verschaft ook een door te bladeren kaart met de geometrie van het object.
3.4.3. Paginering¶
Paginering van een lange lijst met objecten is geïmplementeerd in de OGC API door middel van links next
en prev
, QGIS server construeert deze links door het toevoegen van limit
en offset
als parameters voor de tekenreeks van de query.
Voorbeeld URL:
http://localhost/qgisserver/wfs3/collection_one/items.json?offset=10&limit=10
Notitie
De maximale te accepteren waarde voor limit
kan worden geconfigureerd met de instelling voor de configuratie van de server QGIS_SERVER_API_WFS3_MAX_LIMIT
(zie: Omgevingsvariabelen).
3.4.4. Objecten filteren¶
De beschikbare objecten in een collectie kunnen worden gefilterd/doorzocht door één of meer filters te specificeren.
Filter Datum en tijd¶
Collecties met attributen date en/of datetime kunnen worden gefilterd door een argument datetime
te specificeren in de tekenreeks voor de query. Standaard wordt het eerste veld date/datetime gebruikt voor filteren. Dit gedrag kan worden geconfigureerd door het instellen van een dimensie “Date” of “Time” in het gedeelte van het dialoogvenster Laageigenschappen.
De syntaxis voor filteren van datum en tijd is volledig beschreven in de API Definitie en ondersteunt ook bereiken (begin- en eindwaarden inbegrepen) in aanvulling op enkele waarden.
Voorbeelden URL:
Geeft alleen de objecten terug met de dimensie date die overeenkomt met 2019-01-01
http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01
Geeft alleen de objecten terug met de dimensie datetime die overeenkomt met 2019-01-01T01:01:01
http://localhost/qgisserver/wfs3/collection_one/items.json?datetime=2019-01-01T01:01:01
Geeft alleen de objecten terug met de dimensie datetime in het bereik 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
Filter Begrenzingsvak¶
Een ruimtelijk filter voor een begrenzingsvak kan worden gespecificeerd met de parameter bbox
:
De volgorde van de door komma’s gescheiden elementen is:
Linkerbenedenhoek, WGS 84 longitude
Linkerbenedenhoek, WGS 84 latitude
Rechterbovenhoek, WGS 84 longitude
Rechterbovenhoek, WGS 84 latitude
Notitie
De specificaties van OGC staan ook een specificatie voor een 6-items begrenzingsvak toe, waarbij de derde en zesde items de componenten Z zijn, dit wordt nog niet ondersteund door QGIS server.
Voorbeeld URL:
http://localhost/qgisserver/wfs3/collection_one/items.json?bbox=-180,-90,180,90
Als het CRS van het begrenzingsvak niet WGS 84 is, kan een ander CRS worden gespecificeerd met de optionele parameter bbox-crs
. De identificatie voor de indeling van het CRS moet zijn in de indeling OGC URI:
Voorbeeld 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
Filters voor attributen¶
Filters voor attributen kunnen worden gecombineerd met het filter voor het begrenzingsvak en zij mogen in de algemene vorm: <attribute name>=<attribute value>
zijn. Meerdere filters mogen worden gecombineerd met de operator AND
.
Voorbeeld URL:
filtert alle objecten waarvan het attribuut name
gelijk is aan “my value”
http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=my%20value
Gedeeltelijke overeenkomsten worden ook ondersteund door een operator *
(“ster”):
Voorbeeld URL:
filtert alle objecten waarvan het attribuut name
eindigt op “value”
http://localhost/qgisserver/wfs3/collection_one/items.json?attribute_one=*value
3.4.5. Sorteren van objecten¶
Het is mogelijk de volgorde van de set met resultaten te sorteren op veldwaarde met de parameter voor de query sortby
.
De resultaten worden standaard in oplopende volgorde gesorteerd. Een Booleaanse vlag (sortdesc
) kan worden ingesteld om de resultaten in aflopende volgorde te sorteren:
http://localhost/qgisserver/wfs3/collection_one/items.json?sortby=name&sortdesc=1
3.4.6. Selecteren van attributen¶
De attributen van een object, die worden teruggegeven door een aanroep Lijst met objecten, kunnen worden beperkt door een kommagescheiden lijst met namen van attributen toe te voegen in het optionele argument properties
van de tekenreeks voor de query.
Voorbeeld URL:
geeft alleen het attribuut name
terug
http://localhost/qgisserver/wfs3/collection_one/items.json?properties=name
3.4.7. De HTML-pagina’s aanpassen¶
De weergave HTML gebruikt een set sjablonen voor HTML om het antwoord te maken. De sjabloon wordt geparset door een sjabloonprogramma, genaamd inja. De sjablonen kunnen worden aangepast door ze te overschrijven (zie: Overschrijven van sjabloon). De sjabloon heeft toegang tot dezelfde gegevens, als die welke beschikbaar zijn voor de weergave JSON
, en een aantal aanvullende functies zijn voor de sjabloon beschikbaar:
Aangepaste functies voor sjabloon¶
path_append( path )
: voegt een pad naar een map toe aan de huidige URLpath_chomp( n )
: verwijdert het gespecificeerde aantal “n” mapcomponenten uit het huidige pad voor de URLjson_dump( )
: drukt de gegevens voor JSON af die zijn doorgegeven aan de sjabloonstatic( path )
: geeft de volledige URL terug naar het gespecificeerde statische pad. Bijvoorbeeld: “static( “/style/black.css” )” met een bronpad “http://localhost/qgisserver/wfs3” zal teruggeven “http://localhost/qgisserver/wfs3/static/style/black.css”.links_filter( links, key, value )
: Geeft gefilterde links terug uit een lijst met linkscontent_type_name( content_type )
: Geeft een verkorte naam terug uit een type inhoud, bijvoorbeeld “text/html” zal “HTML” teruggeven
Overschrijven van sjabloon¶
Sjablonen en statische gegevens worden opgeslagen in submappen van de standaardmap voor de API-bron van de QGIS server (/usr/share/qgis/resources/server/api/
op een systeem van Linux), de basismap kan worden aangepast door de omgevingsvariabele QGIS_SERVER_API_RESOURCES_DIRECTORY
te wijzigen.
Een typische installatie voor Linux zal de volgende boom voor de mappen hebben:
/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
U kunt, om de sjablonen te overschrijven. de gehele boom kopiëren naar een andere locatie en QGIS_SERVER_API_RESOURCES_DIRECTORY
laten verwijzen naar de nieuwe locatie.
3.5. Extra parameters ondersteund door alle typen verzoeken¶
De volgende extra parameters worden ondersteund door alle protocollen
FILE_NAME: indien ingesteld, zal het antwoord van de server worden verzonden naar de cliënt als een bestandsbijlage met de gespecificeerde bestandsnaam.
Notitie
Niet beschikbaar voor WFS3.
MAP: Soortgelijk aan MapServer, mag de parameter
MAP
worden gebruikt om het pad naar het projectbestand van QGIS te specificeren. U kunt een absoluut pad of een relatief pad naar het uitvoerende programma van de server specificeren (qgis_mapserv.fcgi
). Indien niet gespecificeerd, zoekt QGIS Server naar bestanden .qgs in de map waar het uitvoerende programma van de server is geplaatst.Voorbeeld:
http://localhost/cgi-bin/qgis_mapserv.fcgi?\ REQUEST=GetMap&MAP=/home/qgis/projects/world.qgs&...
Notitie
U kunt een QGIS_PROJECT_FILE definiëren als een omgevingsvariabele om het uitvoerende programma van de server te vertellen waar het projectbestand van QGIS kan worden gevonden. Deze variabele zal de locatie zijn waar QGIS zal zoeken naar het projectbestand. Indien niet gedefinieerd zal het de parameter MAP in het verzoek gebruiken en tenslotte zoeken in de map van het uitvoerende programma van de server.
3.6. REDLINING¶
Deze mogelijkheid is beschikbaar en kan worden gebruikt met verzoeken GetMap
, GetPrint
.
De mogelijkheid Redlining kan worden gebruikt om geometrieën en labels door te geven in het verzoek die door de server worden overlapt over de standaard teruggegeven afbeelding (kaart). Dit geeft de gebruiker de mogelijkheid om nadruk te leggen of misschien enkele opmerkingen (labels) toe te voegen aan sommige gebieden, locaties etc. die niet op de standaard kaart staan.
Het verzoek GetMap
is in de indeling:
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
Het equivalent GetPrint
is in de indeling (merk op dat de parameter mapX:
is toegevoegd om aan te geven welk kaart rode markeringen heeft):
http://qgisplatform.demo/cgi-bin/qgis_mapserv.fcgi?map=/world.qgs&SERVICE=WMS&VERSION=1.3.0&
REQUEST=GetPrint
...
&map0:HIGHLIGHT_GEOM=POLYGON((590000 5647000, 590000 6110620, 2500000 6110620, 2500000 5647000, 590000 5647000))
&map0:HIGHLIGHT_SYMBOL=<StyledLayerDescriptor><UserStyle><Name>Highlight</Name><FeatureTypeStyle><Rule><Name>Symbol</Name><LineSymbolizer><Stroke><SvgParameter name="stroke">%23ea1173</SvgParameter><SvgParameter name="stroke-opacity">1</SvgParameter><SvgParameter name="stroke-width">1.6</SvgParameter></Stroke></LineSymbolizer></Rule></FeatureTypeStyle></UserStyle></StyledLayerDescriptor>
&map0:HIGHLIGHT_LABELSTRING=Write label here
&map0:HIGHLIGHT_LABELSIZE=16
&map0:HIGHLIGHT_LABELCOLOR=%23000000
&map0:HIGHLIGHT_LABELBUFFERCOLOR=%23FFFFFF
&map0:HIGHLIGHT_LABELBUFFERSIZE=1.5
Hier is de afbeelding die is uitgevoerd door het bovenstaande verzoek waarin een polygoon en een label zijn getekend bovenop de normale kaart:
U kunt zien dat er verscheidene parameters in dit verzoek staan:
HIGHLIGHT_GEOM: U kunt POINT, MULTILINESTRING, POLYGON etc. toevoegen. Het ondersteunt meerdelige geometrieën. Hier is een voorbeeld:
HIGHLIGHT_GEOM=MULTILINESTRING((0 0, 0 1, 1 1))
. De coördinaten zouden in het CRS van het verzoek GetMap/GetPrint moeten zijn.HIGHLIGHT_SYMBOL: Dit beheert hoe de omtrek van de geometrie zal zijn en u kunt de breedte van de lijn, kleur en doorzichtbaarheid wijzigen.
HIGHLIGHT_LABELSTRING: U kunt de tekst voor uw labels doorgeven met deze parameter.
HIGHLIGHT_LABELSIZE: Deze parameter beheert de grootte van het label.
HIGHLIGHT_LABELFONT: Deze parameter beheert het lettertype van het label. (bijv. Arial)
HIGHLIGHT_LABELCOLOR: Deze parameter beheert de kleur van het label.
HIGHLIGHT_LABELBUFFERCOLOR: Deze parameter beheert de kleur van de buffer van het label.
HIGHLIGHT_LABELBUFFERSIZE: Deze parameter beheert de grootte van de buffer van het label.
3.7. Externe WMS-lagen¶
QGIS Server staat het toe om lagen uit externe WMS-servers op te nemen in verzoeken WMS GetMap en WMS GetPrint. Dit is in het bijzonder nuttig als een webclient een externe achtergrondlaag in de webkaart gebruikt. Om redenen van uitvoering zouden dergelijke lagen direct moeten worden verzocht bij de webcliënt (niet gestapeld via QGIS server). Voor afdrukken echter zouden deze lagen moeten worden gestapeld via QGIS server om te kunnen verschijnen op de afgedrukte kaart.
Externe lagen kunnen worden toegevoegd aan de parameter LAYERS als EXTERNAL_WMS:<layername>. De parameters voor de externe WMS-lagen (bijv: URL, indeling, dpiMode, crs, lagen, stijlen) kunnen later worden opgegeven als parameters voor de service <layername>:<parameter>. In een verzoek GetMap zou dit er uit kunnen zien als:
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
Soortgelijk kunnen externe lagen worden gebruikt in verzoeken 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
3.8. QGIS Server-catalogus¶
De QGIS Server-catalogus is een eenvoudige catalogus die de lijst met projecten van QGIS weergeeft die worden geserveerd door de QGIS Server. Het verschaft een gebruikersvriendelijke, volledig door te bladeren website met basismogelijkheden voor in kaart brengen om snel door de gegevenssets te bladeren die worden weergegeven door deze projecten van QGIS.
De QGIS Server-catalogus gebruikt de variabelen QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES en QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS (bekijk Omgevingsvariabelen)
U kunt de metadata raadplegen die is geassocieerd aan een project en de services die het verschaft. Koppelingen naar deze services worden ook gegeven.
Door door een project te bladeren vermeldt het de gegevenssets die het bevat.
Klik met rechts om de attributentabel weer te geven die ermee is geassocieerd.
Het is mogelijk informatie over elementen in de kaart te raadplegen, zoals weergegeven in de afbeelding hieronder: