Importante

La traduzione è uno sforzo comunitario a cui puoi unirti. Questa pagina è attualmente tradotta al 100.00%.

3.2. Web Map Service (WMS)

Gli standard 1.1.1 e 1.3.0 WMS implementati in QGIS Server forniscono un’interfaccia HTTP per richiedere immagini di mappe o legende generate da un progetto QGIS. Una tipica richiesta WMS definisce il progetto QGIS da usare, i layer da visualizzare e il formato dell’immagine da generare. Il supporto di base è disponibile anche per Styled Layer Descriptor (SLD).

Specifiche:

Richieste standard fornite dal server QGIS:

Richiesta

Descrizione

GetCapabilities

Restituisce metadati XML con informazioni sul server

GetMap

Restituisce una mappa

GetFeatureInfo

Recupera i dati (geometria e valori) per una posizione di pixel

GetLegendGraphic

Restituisce i simboli della legenda

GetStyle(s)

Restituisce un documento XML con la descrizione dello stile in SLD

DescribeLayer

Restituisce informazioni sulla disponibilità di WFS e WCS rispettivamente per i layer vettoriali e raster.

Richieste del fornitore date da QGIS Server:

Richiesta

Descrizione

GetPrint

Restituisce un layout QGIS

GetProjectSettings

Restituisce informazioni specifiche su QGIS Server

GetSchemaExtension

Restituisce metadati XML sulle capabilities estese opzionali.

3.2.1. GetCapabilities

Parametri standard per la richiesta GetCapabilities in base alle specifiche OGC WMS 1.1.1 e 1.3.0:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetCapabilities)

VERSION

No

Versione del servizio

La richiesta GetCapabilities supporta anche i seguenti parametri del fornitore:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetCapabilities

3.2.2. GetMap

Parametri standard per la richiesta GetMap secondo le specifiche OGC WMS 1.1.1 e 1.3.0:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetMap)

VERSION

Yes

Versione del servizio

LAYERS

No

Layer da visualizzare

STYLES

No

Stile del layers

SRS / CRS

Yes

Sistema di riferimento delle Coordinate

BBOX

Yes

Estensione Mappa

WIDTH

Yes

Larghezza dell’immagine in pixel

HEIGHT

Yes

Altezza dell’immagine in pixel

FORMAT

No

Formato immagine

TRANSPARENT

No

Sfondo trasparente

SLD

No

URL di un SLD da usare per lo stile

SLD_BODY

No

SLD in linea (XML) da usare per lo stile

Oltre a quelli standard, QGIS Server supporta redlining, external WMS layers e i seguenti parametri extra:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

BGCOLOR

No

Specifica del colore di sfondo

DPI

No

Specifica della risoluzione in uscita

IMAGE_QUALITY

No

Compressione JPEG

OPACITIES

No

Opacità per il layer o il gruppo

FILTER

No

Sottoinsieme di elementi

SELECTION

No

Elementi principali

FILE_NAME

No

Nome del file scaricato

Solo per FORMAT=application/dxf

FORMAT_OPTIONS

No

Opzioni del formato di file specificato

Solo per FORMAT=application/dxf

TILED

No

Lavorare in modalità tassellata

esempio URL:

http://localhost/qgisserver?
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

Questo parametro permette di specificare la versione del servizio da utilizzare. I valori disponibili per il parametro VERSION sono:

  • 1.1.1

  • 1.3.0

A seconda del numero di versione, ci si devono aspettare leggere differenze come spiegato più avanti per i prossimi parametri:

  • CRS / SRS

  • BBOX

LAYERS

Questo parametro permette di specificare i layer da visualizzare sulla mappa. I nomi devono essere separati da una virgola.

Inoltre, QGIS Server ha introdotto alcune opzioni per selezionare i layer:

  • l’id del layer: l’opzione del progetto che consente di selezionare i layer in base al loro id si trova nella scheda QGIS Server ► WMS della finestra di dialogo :menuselection: Progetto –> Proprietà…. Seleziona la casella di controllo Usa gli id del layer come nomi per attivare questa opzione.

  • un short name

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

STYLES

Questo parametro può essere usato per specificare lo stile di un layer per il processo di visualizzazione. Gli stili devono essere separati da una virgola. Il nome dello stile predefinito è default.

SRS / CRS

Questo parametro permette di indicare il sistema di riferimento spaziale in uscita dalla mappa in WMS 1.1.1 e deve essere formulato come EPSG:XXXX. Nota che SR è supportato anche se la versione corrente è 1.1.1.

Per WMS 1.3.0, il parametro SR è preferibile ma è supportato anche SRS.

Nota che se entrambi i parametri SR e SRS sono indicati nella richiesta, allora è la versione corrente indicata nel parametro VERSION che è decisiva.

Nel prossimo caso, il parametro SRS è mantenuto qualunque sia il parametro VERSION perché SR non è indicato:

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

Nel prossimo caso, il parametro SRS viene tenuto al posto di SR a causa del parametro VERSION:

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

Nel prossimo caso, il parametro SR viene tenuto al posto di SRS a causa del parametro VERSION:

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

BBOX

Questo parametro permette di specificare l’estensione della mappa con unità secondo il SR corrente. Le coordinate devono essere separate da una virgola.

Il parametro BBOX è formato come min_a,min_b,max_a,max_b ma la definizione degli assi a e b è diversa secondo il parametro corrente VERSION:

  • in WMS 1.1.1, la disposizione degli assi è sempre est/nord

  • in WMS 1.3.0, la disposizione degli assi dipende dall’autorità del SR

Per esempio nel caso di EPSG:4326 e WMS 1.1.1, a è la longitudine (est) e b` la latitudine (nord), portando a una richiesta come:

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

Ma nel caso di WMS 1.3.0, l’ordine degli assi definito nel database EPSG è nord/est quindi a è la latitudine e b` la longitudine:

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

WIDTH

Questo parametro permette di specificare la larghezza in pixel dell’immagine in uscita.

HEIGHT

Questo parametro permette di specificare l’altezza in pixel dell’immagine in uscita.

FORMAT

Questo parametro può essere usato per specificare il formato dell’immagine della mappa. I valori disponibili sono:

  • jpg

  • jpeg

  • image/jpeg

  • image/png

  • image/png; mode=1bit

  • image/png; mode=8bit

  • image/png; mode=16bit

  • image/webp

  • application/dxf: solo i layer che hanno accesso in lettura al servizio WFS vengono esportati in formato DXF.

    esempio URL:

    http://localhost/qgisserver?
    SERVICE=WMS&VERSION=1.3.0
    &REQUEST=GetMap
    &FORMAT=application/dxf
    &LAYERS=Haltungen,Normschacht,Spezialbauwerke
    &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

Questo parametro booleano può essere usato per specificare la trasparenza dello sfondo. I valori disponibili sono (non sensibili alle maiuscole):

  • TRUE

  • FALSE

Tuttavia, questo parametro viene ignorato se il formato dell’immagine indicato con ``FORMAT”” è diverso da PNG.

BGCOLOR

Questo parametro permette di indicare un colore di sfondo per l’immagine della mappa. Tuttavia non può essere combinato con il parametro TRANSPARENT in caso di immagini PNG (la trasparenza ha la priorità). Il colore può essere letterale o in notazione esadecimale.

Esempio di URL con la notazione letterale:

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

Esempio di URL con la notazione esadecimale:

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

DPI

Questo parametro può essere usato per specificare la risoluzione in uscita richiesta.

IMAGE_QUALITY

Questo parametro è usato solo per le immagini JPEG. Per impostazione predefinita, la compressione JPEG è -1.

Puoi cambiare il default per ogni progetto QGIS nel menu OWS Server ► WMS capabilities della finestra di dialogo Progetto ► Proprietà…. Se vuoi sovrascriverlo in una richiesta GetMap puoi farlo usando il parametro IMAGE_QUALITY.

OPACITIES

Elenco separato da virgole di valori di opacità. L’opacità può essere impostata a livello di layer o di gruppo. I valori consentiti vanno da 0 (completamente trasparente) a 255 (completamente opaco).

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&WIDTH=400
&HEIGHT=200
&CRS=EPSG:4326
&LAYERS=countries,places
&BBOX=42,-6,52,15
&OPACITIES=255,0
../../../_images/wms_getmap_opacities.png

Fig. 3.2 Sulla sinistra OPACITIES=255,0 e sulle destra OPACITIES=255,255

FILTER

Un sottoinsieme di layer può essere selezionato con il parametro FILTER. La sintassi è fondamentalmente la stessa della stringa del sottoinsieme di QGIS. Tuttavia, ci sono alcune restrizioni per evitare introduzioni SQL nei database tramite QGIS Server. Se viene trovata una stringa pericolosa nel parametro, QGIS Server restituirà l’errore successivo:

<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>

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&WIDTH=400
&HEIGHT=300
&CRS=EPSG:4326
&BBOX=41,-6,52,10
&LAYERS=countries_shapeburst,countries,places
&FILTER=countries_shapeburst,countries:"name" = 'France';places: "name" = 'Paris'
../../../_images/wms_getmap_filter.png

Fig. 3.3 Risposta del server a una richiesta GetMap con il parametro FILTER

In questo esempio, lo stesso filtro "name" = 'France' viene applicato ai layer countries e countries_shapeburst, mentre il filtro "name" = 'Paris' viene applicato solo a places.

Nota

È possibile fare ricerche di attributi tramite GetFeatureInfo e omettere il parametro X/Y se c’è un FILTER. QGIS Server restituisce quindi le informazioni sugli elementi corrispondenti e genera un perimetro di delimitazione combinato nell’XML in uscita.

SELECTION

Il parametro SELECTION può evidenziare elementi da uno o più layer. Gli elementi vettoriali possono essere selezionati passandogli liste separate da virgole con gli id degli elementi.

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

L’immagine seguente presenta la risposta di una richiesta GetMap utilizzando l’opzione SELECTION, ad esempio http://myserver.com/...&SELECTION=countries:171,65.

Poiché questi id degli elementi corrispondono nell’insieme dei dati di origine a France e Romania sono evidenziati in giallo.

../../../_images/server_selection_parameter.png

Fig. 3.4 Risposta del server a una richiesta GetMap con il parametro SELECTION

FORMAT_OPTIONS

Questo parametro può essere usato per specificare le opzioni per il formato selezionato. Solo per FORMAT=application/dxf nella richiesta GetMap. Prende un elenco di coppie key:value separate da un punto e virgola:

  • SCALE: da usare per le regole della simbologia, i filtri e gli stili (non la scalatura effettiva dei dati - i dati rimangono nella scala originale).

  • MODE: corrisponde alle opzioni di esportazione offerte nella finestra di dialogo di esportazione DXF di QGIS Desktop. I valori possibili sono NOSYMBOLOGY, FEATURESYMBOLOGY e SYMBOLLAYERSYMBOLOGY.

  • LAYERATTRIBUTES: specifica un campo o, nel caso di molti layer, un elenco separato da virgole di campi che contiene i valori per i nomi dei layer DXF - se non viene specificato, vengono usati i nomi originali dei layer QGIS.

  • USE_TITLE_AS_LAYERNAME: se abilitato, il titolo del layer sarà usato come nome del layer.

  • CODEC: specifica un codec da usare per la codifica. Il valore predefinito è ISO-8859-1, verificare la finestra di dialogo di esportazione DXF di QGIS desktop per i valori validi.

  • NO_MTEXT: usa TEXT invece di MTEXT per le etichette.

  • FORCE_2D: Forza il risultato in 2D. Questo è richiesto per la larghezza della polilinea.

TILED

Per ragioni di performance, QGIS Server può essere usato in modalità tiled. In questa modalità, il client richiede diverse piccoli tasselli di dimensioni fisse, e le assembla per formare l’intera mappa. Facendo questo, i simboli al o vicino al confine tra due tasselli possono apparire tagliati, perché sono presenti solo in uno dei tasselli.

Imposta il parametro TILED a TRUE per dire a QGIS Server di lavorare in modalità tiled, e di applicare il Tassello buffer configurato nel progetto QGIS (vedi Configura il tuo progetto).

Quando TILED è TRUE e quando un Tassello buffer non nullo è configurato nel progetto QGIS, gli elementi al di fuori dell’estensione del tassello sono disegnati per evitare simboli di taglio ai confini del tassello.

Per default, TILED è impostato su FALSE.

3.2.3. GetFeatureInfo

Parametri standard per la richiesta GetFeatureInfo secondo le specifiche OGC WMS 1.1.1 e 1.3.0:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetFeatureInfo)

VERSION

No

Versione del servizio

QUERY_LAYERS

Yes

Layer su cui fare la query

LAYERS

Yes

Layer da visualizzare (identico a QUERY_LAYERS)

STYLES

No

Stile del layers

SRS / CRS

Yes

Sistema di riferimento delle Coordinate

BBOX

No

Estensione Mappa

WIDTH

Yes

Larghezza dell’immagine in pixel

HEIGHT

Yes

Altezza dell’immagine in pixel

TRANSPARENT

No

Sfondo trasparente

INFO_FORMAT

No

Formato in uscita

FEATURE_COUNT

No

Numero massimo di elementi da restituire

I

No

Colonna pixel del punto da interrogare

X

No

Come il parametro I, ma in WMS 1.1.1

J

No

Riga pixel del punto da interrogare

Y

No

Come il parametro J, ma in WMS 1.1.1

WMS_PRECISION

No

La precisione (numero di cifre) da usare quando si restituisce la geometria (vedi how to add geometry to feature response). Il valore predefinito è -1 che significa che viene usata la precisione definita nel progetto.

Oltre a quelli standard, QGIS Server supporta i seguenti parametri aggiuntivi:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

FILTER

No

Sottoinsieme di elementi

FI_POINT_TOLERANCE

No

Tolleranza in pixel per i layer punto

FI_LINE_TOLERANCE

No

Tolleranza in pixel per i layer linea

FI_POLYGON_TOLERANCE

No

Tolleranza in pixel per i layer poligono

FILTER_GEOM

No

Filtrare geometria

WITH_DISPLAY_NAME

No

Aggiunge il nome visualizzato dell’elemento al risultato

WITH_MAPTIP

No

Aggiunge suggerimenti mappa al risultato

WITH_GEOMETRY

No

Aggiunge la geometria al risultato

esempio 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

Questo parametro può essere usato per specificare il formato del risultato. I valori disponibili sono:

  • text/xml

  • text/html

  • text/plain

  • application/vnd.ogc.gml

  • application/json

QUERY_LAYERS

Questo parametro specifica i layer da visualizzare sulla mappa. I nomi sono separati da una virgola.

Inoltre, QGIS Server introduce opzioni per selezionare i layer in base a:

  • nome breve

  • layer id

Per ulteriori informazioni, vedi il parametro LAYERS definito in GetMap.

FEATURE_COUNT

Questo parametro specifica il numero massimo di elementi per layer da restituire. Ad esempio, se QUERY_LAYERS è impostato su layer1,layer2 e FEATURE_COUNT è impostato su 3, verranno restituiti al massimo 3 elementi dal layer1. Allo stesso modo, verranno restituiti al massimo 3 elementi dal layer2.

Per impostazione predefinita, viene restituito solo 1 elemento per layer.

I

Questo parametro, definito in WMS 1.3.0, permette di specificare la colonna pixel del punto di interrogazione.

X

Stesso parametro di I, ma definito in WMS 1.1.1.

J

Questo parametro, definito in WMS 1.3.0, permette di specificare la riga pixel del punto di interrogazione.

Y

Stesso parametro di J, ma definito in WMS 1.1.1.

FI_POINT_TOLERANCE

Questo parametro specifica la tolleranza in pixel per i layer punto.

FI_LINE_TOLERANCE

Questo parametro specifica la tolleranza in pixel per i layer linea.

FI_POLYGON_TOLERANCE

Questo parametro specifica la tolleranza in pixel per i layer poligono.

FILTER_GEOM

Questo parametro specifica una geometria WKT con cui gli elementi devono intersecarsi.

WITH_DISPLAY_NAME

Questo parametro specifica se aggiungere il nome visualizzato dell’elemento al risultato.

I valori disponibili sono (non sensibili alle maiuscole):

  • TRUE

  • FALSE

WITH_MAPTIP

Questo parametro specifica se aggiungere suggerimenti mappa al risultato.

I valori disponibili sono (non sensibili alle maiuscole):

  • TRUE

  • FALSE

WITH_GEOMETRY

Questo parametro specifica se aggiungere geometrie al risultato. Per usare questa funzione devi prima abilitare l’opzione Aggiungi la geometria alla risposta dell’oggetto nel progetto QGIS. Vedi Configure your project.

I valori disponibili sono (non sensibili alle maiuscole):

  • TRUE

  • FALSE

3.2.4. GetLegendGraphic

Parametri standard per la richiesta GetLegendGraphic secondo le specifiche OGC WMS 1.1.1 e 1.3.0:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetLegendGraphic)

VERSION

No

Versione del servizio

LAYERS

Yes

Layer da visualizzare

STYLES

No

Stile del layers

SRS / CRS

No

Sistema di riferimento delle Coordinate

BBOX

No

Estensione Mappa

WIDTH

No

Larghezza dell’immagine in pixel

HEIGHT

No

Altezza dell’immagine in pixel

FORMAT

No

Formato legenda

TRANSPARENT

No

Sfondo trasparente

Oltre a quelli standard, QGIS Server supporta parametri aggiuntivi per modificare le dimensioni degli elementi della legenda o le proprietà dei caratteri per i titoli dei layer e le etichette degli elementi:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

SRCWIDTH

No

Larghezza Mappa

SRCHEIGHT

No

Altezza Mappa

SHOWFEATURECOUNT

No

Aggiunge il conteggio degli elementi

RULE

No

Regola simbolo da visualizzare

RULELABEL

No

Etichette degli elementi da visualizzare

BOXSPACE

No

Spazio tra la cornice della legenda e il contenuto (mm)

LAYERSPACE

No

Spazio verticale tra i layer (mm)

LAYERTITLESPACE

No

Spazio verticale tra il titolo del layer e gli elementi (mm)

SYMBOLSPACE

No

Spazio verticale tra simbolo e elementi (mm)

ICONLABELSPACE

No

Spazio orizzontale tra simbolo ed etichetta (mm)

SYMBOLWIDTH

No

Larghezza dell’anteprima del simbolo (mm)

SYMBOLHEIGHT

No

Altezza dell’anteprima del simbolo (mm)

LAYERTITLE

No

Visualizzazione del titolo del layer

LAYERFONTFAMILY

No

Famiglia carattere Layer

LAYERFONTBOLD

No

Visualizzaione in grassetto del titolo del layer

LAYERFONTSIZE

No

Dimensione carattere del titolo del layer (pt)

LAYERFONTITALIC

No

Titolo del layer in corsivo

LAYERFONTCOLOR

No

Colore titolo del layer

ITEMFONTFAMILY

No

Famiglia carattere elemento

ITEMFONTBOLD

No

Visualizzazione in grassetto etichetta elemento

ITEMFONTSIZE

No

Dimensione carattere etichetta elemento (pt)

ITEMFONTITALIC

No

Visualizzazione in corsivo etichetta elemento

ITEMFONTCOLOR

No

Colore etichetta elemento

ADDLAYERGROUPS

No

Aggiunge i gruppi di layer al risultato JSON

BBOX

Questo parametro può essere utilizzato per specificare l’area geografica per la quale deve essere costruita la legenda (il suo formato è descritto here), ma non può essere combinato con il parametro RULE. Il parametro SRS/CRS diventa obbligatorio quando si utilizza il parametro BBOX.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries,airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326

Nota

Quando il parametro BBOX è definito, la legenda viene definita come legenda basata sul contenuto.

WIDTH

Questo parametro non è utilizzato di default, ma diventa obbligatorio quando viene impostato il parametro RULE. In questo caso, consente di specificare la larghezza in pixel dell’immagine in uscita.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=getlegendgraphic
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30

HEIGHT

Questo parametro non è utilizzato di default, ma diventa obbligatorio quando viene impostato il parametro RULE. In questo caso, consente di specificare l’altezza in pixel dell’immagine in uscita.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30

FORMAT

Questo parametro può essere utilizzato per specificare il formato dell’immagine della legenda. I valori disponibili sono:

  • image/jpeg

  • image/png

  • application/json

Per JSON, i simboli sono codificati con Base64 e la maggior parte delle altre opzioni relative al layout o ai font non sono prese in considerazione, perché la legenda deve essere costruita sul lato client. Il parametro ``RULE”” non può essere combinato con questo formato.

Esempio di URL con l’output JSON corrispondente:

http://localhost/qgisserver?
SERVICE=WMS&
REQUEST=GetLegendGraphic&
LAYERS=airports&
FORMAT=application/json

E il corrispondente output JSON:

{
  "nodes":[
    {
      "icon":"<base64 icon>",
      "title":"airports",
      "type":"layer"
    }
  ],
  "title":""
}

SRCWIDTH

Questo parametro può essere definito quando il parametro RULE è impostato. In questo caso, il valore SRCWIDTH viene inoltrato alla richiesta GetMap sottostante come parametro WIDTH, mentre il parametro WIDTH di GetLegendGraphic viene usato per la dimensione della legenda dell’immagine.

SRCHEIGHT

Questo parametro può essere definito quando è impostato il parametro RULE. In questo caso, il valore SRCHEIGHT viene inoltrato alla richiesta GetMap sottostante come parametro HEIGHT, mentre il parametro HEIGHT di GetLegendGraphic viene usato per la dimensione della legenda dell’immagine.

SHOWFEATURECOUNT

Questo parametro può essere utilizzato per attivare il conteggio degli elementi nella legenda. I valori disponibili sono (senza distinzione tra maiuscole e minuscole):

  • TRUE

  • FALSE

Per esempio:

../../../_images/getfeaturecount_legend.png

RULE

Questo parametro è disponibile sui layer con visualizzazione Rule-based e consente di costruire una legenda con il solo simbolo della regola nominata. Non può essere combinato con il parametro BBOX né con il formato JSON. È necessario specificare HEIGHT e WIDTH.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=mylayer,
&RULE=myrulename,
&WIDTH=20,
&HEIGHT=20

RULELABEL

This parameter allows to control the item label rendering. Available values are (not case sensitive):

  • TRUE: visualizza etichetta elemento

  • FALSE: nasconde etichetta elemento

  • AUTO: nasconde l’etichetta dell’elemento per i layer con visualizzazione Singolo simbolo`.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries,airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&RULELABEL=AUTO
../../../_images/wms_getlegendgraphic_rulelabel.png

Fig. 3.5 Visualizzazione della legenda senza etichetta per i layer simbolo singolo

BOXSPACE

Questo parametro consente di specificare lo spazio tra la cornice della legenda e il contenuto in millimetri. Per impostazione predefinita, il valore dello spazio è 2 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&BOXSPACE=0
../../../_images/wms_getlegendgraphic_boxspace.png

Fig. 3.6 A sinistra BOXSPACE=0 e a destra BOXSPACE=15.

LAYERSPACE

Questo parametro consente di specificare lo spazio verticale tra i layer in millimetri. Per impostazione predefinita, il valore dello spazio è 3 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERSPACE=0
../../../_images/wms_getlegendgraphic_layerspace.png

Fig. 3.7 A sinistra LAYERSPACE=0 e a destra LAYERSPACE=10.

LAYERTITLESPACE

Questo parametro consente di specificare lo spazio verticale tra il titolo del layer e gli elementi successivi, in millimetri. Per impostazione predefinita, il valore dello spazio è 3 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERTITLESPACE=0
../../../_images/wms_getlegendgraphic_layertitlespace.png

Fig. 3.8 A sinistra LAYERTITLESPACE=0 e a destra LAYERTITLESPACE=10.

SYMBOLSPACE

Questo parametro consente di specificare lo spazio verticale in millimetri tra il simbolo e l’elemento successivo. Per impostazione predefinita, il valore dello spazio è 2 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLSPACE=0
../../../_images/wms_getlegendgraphic_symbolspace.png

Fig. 3.9 A sinistra SYMBOLSPACE=0 e a destra SYMBOLSPACE=5.

ICONLABELSPACE

Questo parametro consente di specificare lo spazio orizzontale tra il simbolo e il testo dell’etichetta in millimetri. Per impostazione predefinita, il valore dello spazio è 2 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=getlegendgraphic
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ICONLABELSPACE=0
../../../_images/wms_getlegendgraphic_iconlabelspace.png

Fig. 3.10 A sinistra ICONLABELSPACE=0 e a destra ICONLABELSPACE=10.

SYMBOLWIDTH

Questo parametro consente di specificare la larghezza dell’anteprima del simbolo in millimetri. Per impostazione predefinita, il valore della larghezza è 7 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLWIDTH=2
../../../_images/wms_getlegendgraphic_symbolwidth.png

Fig. 3.11 A sinistra SYMBOLWIDTH=2 e a destra SYMBOLWIDTH=20.

SYMBOLHEIGHT

Questo parametro consente di specificare l’altezza dell’anteprima del simbolo in millimetri. Per impostazione predefinita, il valore dell’altezza è 4 mm.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLHEIGHT=2
../../../_images/wms_getlegendgraphic_symbolheight.png

Fig. 3.12 A sinistra SYMBOLHEIGHT=2 e a destra SYMBOLHEIGHT=6.

LAYERTITLE

Questo parametro specifica se visualizzare il titolo del layer.

I valori disponibili sono (non sensibili alle maiuscole):

  • TRUE (valore predefinito)

  • FALSE

LAYERFONTFAMILY

Questo parametro specifica la famiglia di caratteri da utilizzare per visualizzare il titolo del layer.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries
&LAYERFONTFAMILY=monospace

LAYERFONTBOLD

Questo parametro specifica se il titolo del layer viene visualizzato in grassetto. I valori disponibili sono (senza distinzione tra maiuscole e minuscole):

  • TRUE

  • FALSE

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTBOLD=TRUE
../../../_images/wms_getlegendgraphic_layerfontbold.png

Fig. 3.13 Legenda con LAYERFONTBOLD=TRUE

LAYERFONTSIZE

Questo parametro specifica la dimensione carattere per visualizzare il titolo del layer in punti.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTSIZE=20
../../../_images/wms_getlegendgraphic_layerfontsize.png

Fig. 3.14 Legenda con LAYERFONTSIZE=20

LAYERFONTITALIC

Questo parametro specifica se il titolo del layer viene visualizzato in corsivo. I valori disponibili sono (senza distinzione tra maiuscole e minuscole):

  • TRUE

  • FALSE

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTITALIC=TRUE
../../../_images/wms_getlegendgraphic_layerfontitalic.png

Fig. 3.15 Legenda con LAYERFONTITALIC=TRUE

LAYERFONTCOLOR

Questo parametro specifica il colore del titolo del layer. Il colore può essere letterale (red, green, ..) o in notazione esadecimale (0xFF0000, 0x00FF00, …).

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTCOLOR=0x5f9930
../../../_images/wms_getlegendgraphic_layerfontcolor.png

Fig. 3.16 Legenda con LAYERFONTCOLOR=0x5f9930

ITEMFONTFAMILY

Questo parametro specifica la famiglia di caratteri da utilizzare per la visualizzazione dell’etichetta dell’elemento.

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries
&ITEMFONTFAMILY=monospace

ITEMFONTBOLD

Questo parametro specifica se l’etichetta dell’elemento viene visualizzata in grassetto. I valori disponibili sono (senza distinzione tra maiuscole e minuscole):

  • TRUE

  • FALSE

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTBOLD=TRUE
../../../_images/wms_getlegendgraphic_itemfontbold.png

Fig. 3.17 Legenda con ITEMFONTBOLD=TRUE

ITEMFONTSIZE

Questo parametro specifica la dimensione carattere per visualizzare il titolo del layer in punti.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTSIZE=20
../../../_images/wms_getlegendgraphic_itemfontsize.png

Fig. 3.18 Legenda con ITEMFONTSIZE=30

ITEMFONTITALIC

Questo parametro specifica se l’etichetta dell’elemento viene visualizzata in corsivo. I valori disponibili sono (senza distinzione tra maiuscole e minuscole):

  • TRUE

  • FALSE

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTITALIC=TRUE
../../../_images/wms_getlegendgraphic_itemfontitalic.png

Fig. 3.19 Legenda con ITEMFONTITALIC=TRUE

ITEMFONTCOLOR

Questo parametro specifica il colore dell’etichetta dell’elemento. Il colore può essere letterale (red, green, ..) o in notazione esadecimale (0xFF0000, 0x00FF00, …).

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTCOLOR=0x5f9930
../../../_images/wms_getlegendgraphic_itemfontcolor.png

Fig. 3.20 Legenda con ITEMFONTCOLOR=0x5f9930

ADDLAYERGROUPS

Questo parametro specifica se il risultato JSON mostrerà anche i nomi dei gruppi dei layer (e dei sottogruppi) nella voce della legenda. I valori possibili sono:

  • TRUE: visualizza le etichette dei gruppi

  • FALSE (predefinito): nasconde le etichette dei gruppi.

../../../_images/wms_getlegendgraphic_addlayergroups.png

Fig. 3.21 Legenda senza (a sinistra) e con (a destra) visualizzazione delle etichette dei gruppi di layer

Il risultato JSON corrispondente, che mostra il nome dei gruppi, è simile a quello che si ottiene con il nome del gruppo:

{ "nodes":
  [{ "nodes":
     [{ "icon":"iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAUklEQVQ4jWNgGAXDHzASUqCsrPwfmX/37l28evBKKisr/0+a7IMiNi93C15DcUpgM4wYQ5nwuZAcMIQNvHv3LuO83C0kG0hysoFZRrJNo2AYAQC87BpkGQj1fwAAAABJRU5ErkJggg==",
        "title":"layer_a", "type":"layer"
     },
     { "nodes":
       [{ "icon":"iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHUlEQVQ4jWNgGAWjYCQDxh887r8G2hGjYBQMGAAA1x0CR0FzIkYAAAAASUVORK5CYII=",
          "title":"layer_b", "type":"layer"
        },
        { "icon":"iVBORw0KGgoAAAANSUhEUgAAABMAAAAUCAYAAABvVQZ0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHUlEQVQ4jWNgGAWjYCQDxtmzZ/8aaEeMglEwYAAAaIoCzTtn5XoAAAAASUVORK5CYII=",
          "title":"layer_c", "type":"layer"
       }],
       "title":"lines", "type":"group"
     },
     { "icon":"iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAKklEQVQ4jWNUVlX/z0AlwMLAwMDAnXmQKoYxUcWUUcNGDRs1bNSwYWYYACXDAsvQaTuVAAAAAElFTkSuQmCC",
       "title":"layer_d", "type":"layer"
     }],
     "title":"top-level-group", "type":"group"
  }],
  "title":""
}

3.2.5. GetStyle(s)

Parametri standard per la richiesta GetStyle (o GetStyles) in base alle specifiche OGC WMS 1.1.1:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della request (GetStyle o GetStyles)

LAYERS

Yes

Layer su cui fare la query

La request GetStyle supporta anche i seguenti parametri del fornitore:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetStyles
&LAYERS=mylayer1,mylayer2

3.2.6. DescribeLayer

Parametri standard per la richiesta DescribeLayer secondo le specifiche OGC WMS 1.1.1 e 1.3.0:

Parametro

Richiesto

Descrizione

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della request (DescribeLayer)

LAYERS

Yes

Layer da descrivere

SLD_VERSION

Yes

Versione SLD

La richiesta DescribeLayer supporta anche i seguenti parametri del fornitore:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=DescribeLayer
&SLD_VERSION=1.1.0
&LAYERS=mylayer1

Il documento XML si presenta come:

<DescribeLayerResponse xmlns="http://www.opengis.net/sld" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://www.opengis.net/se" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/DescribeLayer.xsd">
    <Version>1.1.0</Version>
    <LayerDescription>
        <owsType>wfs</owsType>
        <se:OnlineResource xlink:href="http://localhost/qgisserver" xlink:type="simple"/>
        <TypeName>
            <se:FeatureTypeName>my_vector_layer</se:FeatureTypeName>
        </TypeName>
    </LayerDescription>
    <LayerDescription>
        <owsType>wcs</owsType>
        <se:OnlineResource xlink:href="http://localhost/qgisserver" xlink:type="simple"/>
        <TypeName>
            <se:FeatureTypeName>my_raster_layer</se:FeatureTypeName>
        </TypeName>
    </LayerDescription>
</DescribeLayerResponse>

SLD_VERSION

Questo parametro consente di specificare la versione di SLD. È disponibile solo il valore 1.1.0.

3.2.7. GetPrint

QGIS Server ha la capacità di creare output di layout di stampa in formato pdf o pixel. Le finestre di layout di stampa nel progetto pubblicato sono usate come modelli. Nella richiesta GetPrint, il client ha la possibilità di specificare i parametri delle mappe e delle etichette del layout contenuto.

La richiesta GetPrint supporta redlining, external WMS layers come pure i seguenti parametri:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetPrint)

VERSION

No

Versione del servizio

LAYERS

No

Layer da visualizzare

TEMPLATE

Yes

Modello di layout da utilizzare

SRS / CRS

Yes

Sistema di riferimento delle Coordinate

FORMAT

No

Formato in uscita

FORMAT_OPTIONS

No

Opzioni del formato di file specificato

Solo per FORMAT=application/pdf

ATLAS_PK

No

Caratteristiche dell’Atlante

STYLES

No

Stile del layers

TRANSPARENT

No

Sfondo trasparente

OPACITIES

No

Opacità per il layer o il gruppo

SELECTION

No

Elementi principali

mapX:EXTENT

No

Estensione della mappa “X”

mapX:LAYERS

No

Layer della mappa “X”

mapX:STYLES

No

Stile dei layer della mappa “X”

mapX:SCALE

No

Scala dei layer della mappa “X”

mapX:ROTATION

No

Rotazione della mappa “X”

mapX:GRID_INTERVAL_X

No

Intervallo del reticolo sull’asse x della mappa “X”

mapX:GRID_INTERVAL_Y

No

Intervallo del reticolo sull’asse y della mappa “Y”

esempio 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

Nota che il modello di layout può contenere più di una mappa. In questo modo, se vuoi configurare una mappa specifica, devi usare i parametri mappaX: dove X è un numero positivo che puoi recuperare grazie alla richiesta GetProjectSettings.

Per esempio:

<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>

TEMPLATE

Questo parametro può essere utilizzato per specificare il nome di un modello di layout da utilizzare per la stampa.

FORMAT

Questo parametro specifica il formato dell’immagine della mappa. I valori disponibili sono:

  • png (default value)

  • image/png

  • jpg

  • jpeg

  • image/jpeg

  • svg

  • image/svg

  • image/svg+xml

  • pdf

  • application/pdf

Se il parametro FORMAT è diverso da uno di questi valori, allora viene restituita una eccezione.

FORMAT_OPTIONS

Questo parametro può essere usato per specificare le opzioni per il formato selezionato. Solo per FORMAT=application/pdf nelle richieste GetPrint. Richiede un elenco di coppie key:value separate da un punto e virgola:

  • RASTERIZE_WHOLE_IMAGE: se l’intero pdf deve essere esportato come immagine. Predefinito: false.

  • FORCE_VECTOR_OUTPUT: se il pdf deve essere esportato come vettore. Predefinito: false.

  • APPEND_GEOREFERENCE: se le informazioni di georeferenziazione devono essere aggiunte al pdf. Predefinito: true.

  • EXPORT_METADATA: se i metadati devono essere aggiunti al pdf. Predefinito: true.

  • TEXT_RENDER_FORMAT: imposta il formato di visualizzazione del testo per l’esportazione in pdf. Può essere AlwaysOutlines (predefinito) o AlwaysText.

  • SIMPLIFY_GEOMETRY: se le geometrie degli elementi devono essere semplificate. Predefinito: true.

  • WRITE_GEO_PDF: se deve essere esportato un GeoPDF. Valore predefinito: false.

  • USE_ISO_32000_EXTENSION_FORMAT_GEOREFERENCING: se deve essere usata la georeferenziazione Iso32000. Valore predefinito: false.

  • USE_OGC_BEST_PRACTICE_FORMAT_GEOREFERENCING: se deve essere usata la georeferenziazione OGC best practice. Valore predefinito: false.

  • EXPORT_THEMES: un elenco separato da virgole di temi di mappe da utilizzare per l’esportazione di GeoPDF.

  • PREDEFINED_MAP_SCALES: un elenco separato da virgole di scale di mappe per visualizzare la mappa.

  • LOSSLESS_IMAGE_COMPRESSION: se le immagini incorporate nel pdf devono essere compresse con un algoritmo senza perdita. Valore predefinito: false.

  • DISABLE_TILED_RASTER_RENDERING: se i raster devono non devono essere tassellati nel pdf. Valore predefinito: false.

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetPrint
&MAP=/home/qgis/projects/world.qgs
&CRS=EPSG:4326
&FORMAT=pdf
&TEMPLATE=Layout%201
&FORMAT_OPTIONS=FORCE_VECTOR_OUTPUT:TRUE;TEXT_RENDER_FORMAT:AlwaysOutlines;PREDEFINED_MAP_SCALES:250

ATLAS_PK

Questo parametro permette di attivare la visualizzazione dell’atlante indicando quali caratteristiche vogliamo stampare. Per ottenere un atlante con tutte gli elementi, si può usare il simbolo * (secondo il numero massimo di elementi consentito nella configurazione del progetto).

Quando il FORMAT è pdf, viene restituito un singolo documento PDF che combina le pagine degli elementi. Per tutti gli altri formati, viene restituita una singola pagina.

mapX:EXTENT

Questo parametro specifica l’estensione per un oggetto della mappa di layout come xmin,ymin,xmax,ymax.

mapX:ROTATION

Questo parametro specifica la rotazione della mappa in gradi.

mapX:GRID_INTERVAL_X

Questo parametro specifica la densità delle linee del reticolo nella direzione X.

mapX:GRID_INTERVAL_Y

Questo parametro specifica la densità delle linee del reticolo nella direzione Y.

mapX:SCALE

Questo parametro specifica la scala della mappa per un oggetto mappa del layout. Questo è utile per assicurare la visibilità dei layer e delle etichette in base alla scala, anche se client e server possono avere algoritmi diversi per calcolare il denominatore della scala.

mapX:LAYERS

Questo parametro specifica i layer per un elemento layout mappa. Per ulteriori informazioni su questo parametro, vedere GetMap Layers.

mapX:STYLES

Questo parametro specifica gli stili dei layer definiti in uno specifico elemento della mappa di layout. Per ulteriori informazioni su questo parametro, vedere GetMap Styles.

3.2.8. GetProjectSettings

Questo tipo di richiesta funziona in modo simile a GetCapabilities, ma è più specifico per QGIS Server e consente a un client di leggere informazioni aggiuntive che non sono disponibili nell’output GetCapabilities:

  • visibilità iniziale dei layer

  • informazione sugli attributi vettoriali e i loro tipi di edit

  • informazione sull’ordine dei layer e l’ordine di rappresentazione

  • elenco dei layer pubblicati in WFS

  • mostra se un gruppo nell’albero dei layer è mutually exclusive

La richiesta GetProjectSettings supporta i seguenti parametri:

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetProjectSettings)

3.2.9. GetSchemaExtension

La richiesta GetSchemaExtension consente di recuperare capabilities e operazioni estese opzionali del servizio WMS, come quelle implementate da QGIS Server.

Parametro

Richiesto

Descrizione

MAP

Yes

file di progetto QGIS

SERVICE

Yes

Nome del servizio (WMS)

REQUEST

Yes

Nome della richiesta (GetSchemaExtension)

esempio URL:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetSchemaExtension

Il documento XML si presenta come:

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wms="http://www.opengis.net/wms" xmlns:qgs="http://www.qgis.org/wms" targetNamespace="http://www.qgis.org/wms" elementFormDefault="qualified" version="1.0.0">
    <import namespace="http://www.opengis.net/wms" schemaLocation="http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd"/>
    <element name="GetPrint" type="wms:OperationType" substitutionGroup="wms:_ExtendedOperation"/>
    <element name="GetStyles" type="wms:OperationType" substitutionGroup="wms:_ExtendedOperation"/>
</schema>

3.2.10. Layer WMS esterni

QGIS Server consente di includere layer da server WMS esterni nelle richieste WMS GetMap e WMS GetPrint. Ciò è particolarmente utile se un client web utilizza un layer di sfondo esterno nella mappa web. Per ragioni di prestazioni, tali layer dovrebbero essere richiesti direttamente dal client web (non in cascata tramite il server QGIS). Per la stampa, invece, questi layer devono essere collegati in cascata tramite il server QGIS per apparire nella mappa stampata.

I layer esterni possono essere aggiunti al parametro LAYERS come EXTERNAL_WMS:<layername>. I parametri per i layer WMS esterni (ad esempio url, format, dpiMode, crs, layers, styles) possono essere forniti in seguito come parametri di servizio <layername>:<parameter>. In una richiesta GetMap, questo potrebbe apparire come segue:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=EXTERNAL_WMS:basemap,layer1,layer2
&OPACITIES=100,200,255
&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

Allo stesso modo, i layer esterni possono essere utilizzati nelle richieste GetPrint:

http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetPrint
&TEMPLATE=A4
&map0:layers=EXTERNAL_WMS:basemap,layer1,layer2
&map0:EXTENT=<minx,miny,maxx,maxy>
&OPACITIES=100,200,255
&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.2.11. Redlining

Questa funzione è disponibile e può essere utilizzata con le richieste GetMap e GetPrint.

La funzione redlining può essere usata per passare geometrie ed etichette nella richiesta che vengono sovrapposte dal server sull’immagine standard restituita (mappa). Questo permette all’utente di mettere l’accento o magari aggiungere dei commenti (etichette) ad alcune aree, luoghi ecc. che non sono nella mappa standard.

La richiesta GetMap è nel formato:

http://localhost/qgisserver?
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

L’equivalente di GetPrint è nel formato (nota che il parametro mapX: è aggiunto per indicare quale mappa ha il redlining):

http://localhost/qgisserver?
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

Ecco l’immagine prodotta dalla richiesta di cui sopra in cui un poligono e un’etichetta sono disegnati sopra la mappa normale:

../../../_images/server_redlining.png

Fig. 3.22 Risposta del server a una richiesta GetMap con parametri di redlining

Puoi constatare che ci sono diversi parametri in questa richiesta per controllare la funzione di ridimensionamento. L’elenco completo comprende:

  • HIGHLIGHT_GEOM: Puoi aggiungere POINT, MULTILINESTRING, POLYGON ecc. Supporta le geometrie multiparte. Ecco un esempio: HIGHLIGHT_GEOM=MULTILINESTRING((0 0 0, 0 1, 1 1)). Le coordinate dovrebbero essere nel SR della richiesta GetMap/GetPrint.

  • HIGHLIGHT_LABELBUFFERCOLOR: Questo parametro controlla il colore del buffer dell” etichetta.

  • HIGHLIGHT_LABELBUFFERSIZE: Questo parametro controlla la dimensione del buffer dell’etichetta.

  • HIGHLIGHT_LABELCOLOR: Questo parametro controlla il colore dell’etichetta.

  • HIGHLIGHT_LABEL_DISTANCE: controlla la distanza tra l’elemento (ad esempio un punto o una linea) e l’etichetta in mm.

  • HIGHLIGHT_LABELFONT: Questo parametro controlla il carattere dell’etichetta (ad esempio Arial)

  • HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT: posiziona l’etichetta orizzontalmente su un punto utilizzando l’allineamento specificato (ad esempio, “sinistra”, “centro”, “destra”).

  • HIGHLIGHT_LABEL_ROTATION: controlla la rotazione dell’etichetta in gradi.

  • HIGHLIGHT_LABELSIZE: Questo parametro controlla la dimensione dell’etichetta.

  • HIGHLIGHT_LABELSTRING: Puoi passare il tuo testo di etichettatura a questo parametro.

  • HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT: posiziona l’etichetta verticalmente su un punto utilizzando l’allineamento specificato (ad esempio, «sopra», « in mezzo», «sotto»).

  • HIGHLIGHT_SYMBOL: Questo controlla come la geometria è evidenziata e si può cambiare la larghezza del tratto, il colore e l’opacità.