3.2. Web Map Service (WMS) Serviço de mapa de web
Os padrões WMS 1.1.1 e 1.3.0 implementados no servidor do QGIS fornecem uma interface HTTP para solicitar imagens de mapas ou legendas geradas a partir de um projeto QGIS. Uma solicitação WMS típica define o projeto QGIS a ser usado, as camadas a serem renderizadas, bem como o formato de imagem a ser gerado. O suporte básico também está disponível para Styled Layer Descriptor (SLD)
Specifications:
Standard requests provided by QGIS Server:
Request |
Descrição |
---|---|
Retorna metadados XML com informações sobre o servidor |
|
Retorna um mapa |
|
Recupera dados (geometria e valores) para uma localização de pixel |
|
Retorna os símbolos das legendas |
|
Retorna documento XML com descrição de estilo no SLD |
|
Retorna informações sobre a disponibilidade de WFS e WCS, respectivamente, para camadas vetoriais e raster |
Pedidos vendor fornecidos pelo QGIS Server:
Request |
Descrição |
---|---|
Retorna um layout QGIS |
|
Retorna informação específica sobre o servidor do QGIS |
|
Retorna metadados XML sobre recursos estendidos opcionais |
3.2.1. GetCapabilities
Parâmetros padrões para o pedido GetCapabilities de acordo com as especificações OGC WMS 1.1.1 e 1.3.0:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Name of the request (GetCapabilities) |
|
No |
Version of the service |
O pedido do GetCapabilities também suporta os seguintes parâmetro:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetCapabilities
3.2.2. GetMap
Parâmetros padrões para o pedido de **GetMap* que esteja consoante às especificações OGC WMS 1.1.1 e 1.3.0
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (** GetMap**) |
|
Yes |
Version of the service |
|
No |
Camadas para mostrar |
|
No |
Estilo das camadas |
|
Yes |
Sistema de referência de coordenadas |
|
Yes |
Extensão do mapa |
|
Yes |
Largura da imagem em pixels |
|
Yes |
Altura da imagem em pixels |
|
No |
Formato de imagem |
|
No |
Plano de fundo transparente |
|
SLD |
No |
URL do SLD para ser usado para estilização |
SLD_BODY |
No |
SLD em linha (XML) para ser usado para estilização |
Em adição àqueles que são padrões, o servidor do QGIS suporta redlining, external WMS layers como também as os seguintes parâmetros extras:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
No |
Especificar a cor de fundo |
|
No |
Especificar a resolução de saída |
|
No |
Compressão JPEG |
|
No |
Opacidade para camada ou grupo |
|
No |
Subconjunto de características |
|
No |
Recursos de destaque |
|
FILE_NAME |
No |
File name of the downloaded file Somente para o FORMAT=application/dxf` |
No |
Opções do formato de arquivo especificado Somente para o FORMAT=application/dxf` |
|
No |
Trabalhando no tiled mode |
URL example:
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
Este parâmetro permite especificar a versão do serviço a ser utilizada. Os valores disponíveis para o parâmetro VERSÃO
são:
1.1.1
1.3.0
De acordo com o número da versão, diferenças sutis têm de ser esperadas como explicado depois para os próximos parâmetros:
CRS
/SRS
BBOX
LAYERS
Este parâmetro permite especificar as camadas a serem exibidas no mapa. Os nomes devem ser separados por vírgula.
Em adição, o servidor do QGIS introduziu algumas opções para selecionar camadas por:
o ID da camada
A opção de projeto permitindo selecionar camadas pelo seu id está no
tab of the diálogo. Marque a caixa de verificação guilabel:Use layer ids as names para ativar essa opção.http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayerid1,mylayerid2
&...
STYLES
Este parâmetro pode ser usado para especificar o estilo de uma camada para a etapa de renderização. Os estilos devem ser separados por vírgula. O nome do estilo padrão é padrão
.
SRS / CRS
Esse parâmetro permite indicar a saída do sistema de referência espacial do mapa no WMS 1.1.1 e tem que ser formado cmo EPSG:XXXX
. Note que CRS
é também suportado se versão atual é 1.1.1
Para o WMS 1.3.0, o parâmetro CRS
é preferível, mas SRS
é também suportado.
Note que se ambos os parâmetros CRS´´ e ``SRS
são indicados no pedidos, então é a versão atual que é indicada no parâmetro VERSION
, o qual é decisivo.
No próximo caso, o parâmetro ``SRS´´ é mantido independente de qual seja o parâmetro ``VERSION´´, porque o ``CRS´´ não é indicado.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&SRS=EPSG:2854
&...
No próximo caso, o parâmetro SRS´´ é mantido ao invés do ``CRS
, devido ao parâmetro VERSION
.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
No próximo caso, o parâmetro CRS
é mantido ao invés do SRS
devido ao VERSION
.
Parêmetro:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
BBOX
Este parâmetro permite especificar a extensão do mapa com unidades de acordo com o SRC atual. As coordenadas devem ser separadas por vírgula.
O parâmetro BBOX
é formado como min_a,min_b,max_a,max_b
e a definição do eixo b
é diferente de acordo com a versão atual do parâmetro VERSION
.
No WMS 1.1.1, a ordenação do eixo é sempre leste/norte.
no WMS 1.3.0, a ordenação do eixo depende da autoridade do CRS.
Por exemplo, no caso do EPSG:4326
e WMS 1.1.1, a
é a longitude (leste) e b
é a latitude (norte), levando a um pedido como:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...
Mas no do WMS 1.3.0, a ordenação do eixo definida no banco de dados do EPSG é norte/leste, então a
é a latitude e b
é a longitude.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...
WIDTH
Este parâmetro permite especificar a largura em pixels da imagem de saída.
HEIGHT
Este parâmetro permite especificar a altura em pixels da imagem de saída.
FORMAT
Este parâmetro pode ser usado para especificar o formato da imagem do mapa. Os valores disponíveis são:
jpg
jpeg
image/jpeg
image/png
image/png; mode=1bit
image/png; mode=8bit
image/png; mode=16bit
image/webp
application/dxf
: somente camadas que possuem acesso no serviço WFS são exportadas no formato DXFURL example:
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
Este parâmetro booleano pode ser usado para especificar a transparência do plano de fundo. Os valores disponíveis são (não diferenciam maiúsculas de minúsculas):
TRUE
FALSE
No entanto, este parâmetro é ignorado se o formato da imagem indicado com FORMATO
for diferente de PNG.
BGCOLOR
Esse parâmetro permite indicar uma cor de fundo para a imagem do mapa. De qualquer forma, não pode ser combinado com o parâmetro TRANSPARENTE
no caso de imagens PNG (a transparência ganha prioridade). A cor pode ser literal ou na notação hexadecimal.
Exemplo de URL com a notação literal:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=green
&...
Exemplo de URL com a notação hexadecimal:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=0x00FF00
&...
DPI
Este parâmetro pode ser usado para especificar a resolução de saída solicitada.
IMAGE_QUALITY
Este parâmetro é usado apenas para imagens JPEG. Por padrão, a compressão JPEG é -1
.
Você pode mudar o padrão para cada projeto de QGIS no menu GetMap
, você pode faze-lo usando o parâmetro IMAGE_QUALITY
.
OPACITIES
A vírgula separa a lista de valores de opacidade. A opacidade pode ser configurada na camada ou a nível de grupo. Permitindo valores que vão desde de 0
(completamente transparente) para 255
(completamente opaco)
URL example:
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
FILTER
Um subconjunto de camadas pode ser selecionado com o parâmetro FILTRO
. A sintaxe é basicamente a mesma para a linha de subconjuntos do QGIS. No entanto, há algumas restrições para evitar injeções de SQL no banco de dados via servidor SQL. Se uma linha de código perigosa é achada no parâmetro, o servidor do QGIS retornará o seguinte erro:
<ServiceExceptionReport>
<ServiceException code="Security">The filter string XXXXXXXXX has been rejected because of security reasons.
Note: Text strings have to be enclosed in single or double quotes. A space between each word / special character is mandatory.
Allowed Keywords and special characters are IS,NOT,NULL,AND,OR,IN,=,<,=<,>,>=,!=,',',(,),DMETAPHONE,SOUNDEX.
Not allowed are semicolons in the filter expression.</ServiceException>
</ServiceExceptionReport>
URL example:
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'
Neste exemplo, o mesmo filtro "name" = 'Paris'
é aplicado para camadas countries
e countries_shapeburst
, enquanto o filtro "name" = 'Paris'
é somente aplicável para ``places`.
Nota
É possível fazer pesquisas de atributos vi GetFeatureInfo e omitir o parâmetro X/Y se um FILTER está lá. O servidor do QGIS então retorna informações sobre características correspondentes e gera uma caixa limitadora combinada na saída do XML
SELECTION
O parâmetro SELECTION
pode destacar características de uma ou mais camadas. Atributos de vetor podem ser selecionados por uma vírgula separando listas com o atributo ids
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2
&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6
&...
A seguinte imagem apresenta a resposta para um pedido GetMap usando a opção SELECTION
e.g. http://myserver.com/...&SELECTION=countries:171,65
.
Como esses id’s de recurso correspondem no banco de dados fonte para France e Romania eles são destacados em amarelo
FORMAT_OPTIONS
Esse parâmetro pode ser usado para especificar opções para o formato selecionado. Somente para ``FORMAT=application/dxf`. Uma lista de pares chave:valor separador por uma semi coluna.
SCALE: para ser usada para regras de simbologia, filtros e estilos (Não é a escala real dos dados - o dado continua na escala original)
MODE: corresponde as opções de exportação oferecidas na caixa de diálogo QGIS Desktop DXF. Possíveis valores são
NOSYMBOLOGY`, ``FEATURESYMBOLOGY
e SYMBOLLAYERSYMBOLOGY`.LAYERSATTRIBUTES: especifique um campo que contem valores para camadas chamadas DXF - se não especificada, os nomes das camadas originais do QGIS são usadas.
USE_TITLE_AS_LAYERNAME: se habilitado, o título da camada será usa como o nome da camada.
CODE: especifique um codec para ser usado para codificação. O padrão é
ISO-8859-1
. Marque a caixa de diálogo QGIS desktop DXF para valores válidos.NO_MTEXT: Usa texto em vez de MTEXT para rótulos.
FORCE_2D: Saída Force 2D. Isso é requerido para a largura do polyline.
TILED
Por motivos de performance, o servidor do QGIS pode ser usado em modo lado a lado (tiled). Nesse modo, o cliente pedi vários pequenos ladrilhos fixos e então junta-os para formar o mapa inteiro. Fazendo isso, símbolos em cima ou perto do limite entre dois ladrilhos talvez apareçam cortados porque eles estão presentes somente em um dos ladrilhos
Configure o parâmetro TILED
para ``TRUE``para dizer ao servidor do QGIS para trabalhar em modo tiled e para aplicar o Tile bufer configurado no projeto do QGIS (veja ref:Creatingwmsfromproject).
Quando TILED` ` é `TRUE
e quando um não zeri Tile buffer é configurado no projeto do QGIS, características fora do ladrilho estendido são desenhadas para evitar simbologias cortadas nos limites do ladrilho.
TILED
padronizado em``FALSE``.
3.2.3. GetFeatureInfo
Parâmetros padrão para o pedido GetFeatureInfo de acordo com as especificações do OGC WMS 1.1.1 e 1.3.0:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (GetFeatureInfo) |
|
No |
Version of the service |
|
Yes |
Camadas para consulta |
|
Yes |
Camadas para mostrar (idênticas ao QUERY_LAYERS) |
|
No |
Estilo das camadas |
|
Yes |
Sistema de referência de coordenadas |
|
No |
Extensão do mapa |
|
Yes |
Largura da imagem em pixels |
|
Yes |
Altura da imagem em pixels |
|
No |
Plano de fundo transparente |
|
No |
Formato de saída |
|
No |
Número máximo de feições a serem retornadas |
|
No |
Coluna de pixels do ponto para consultar |
|
No |
Igual ao parâmetro I, mas em WMS 1.1.1 |
|
No |
Linhas de pixels do ponto para consultar. |
|
No |
Igual ao parâmetro J, mas em WMS 1.1.1 |
|
WMS_PRECISION |
No |
A precisão (números de dígitos) para ser usado quando retornando uma geometria (veja how para adicionar geometria à resposta do do recurso). O valor padrão é |
In addition to the standard ones, QGIS Server supports the following extra parameters:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
No |
Subconjunto de características |
|
No |
Tolerância em pixels para camadas de ponto |
|
No |
Tolerância em pixels para camadas de linha |
|
No |
Tolerância em pixels para camadas de polígono |
|
No |
Filtragem de geometria |
|
No |
Adicione dicas de mapa na saída. |
|
No |
Adicionar geometria à saída |
URL example:
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
Este parâmetro pode ser usado para especificar o formato do resultado. Os valores disponíveis são:
text/xml
text/html
text/plain
application/vnd.ogc.gml
application/json
QUERY_LAYERS
Este parâmetro especifica as camadas a serem exibidas no mapa. Os nomes são separados por uma vírgula.
Em adição, o servidor do QGIS introduz opções para selecionar camadas por:
nome curto
camada id
Veja o parâmetro LAYERS
definido no GetMap para mais informações.
FEATURE_COUNT
This parameter specifies the maximum number of features per layer to
return.
For example if QUERY_LAYERS
is set to layer1,layer2
and
FEATURE_COUNT
is set to 3
then a maximum of 3 features from
layer1 will be returned.
Likewise a maximum of 3 features from layer2 will be returned.
Por padrão, apenas 1 feição por camada é retornada.
I
Este parâmetro, definido no WMS 1.3.0, permite especificar a coluna de pixel do ponto de consulta.
X
Mesmo parâmetro que I
, mas definido no WMS 1.1.1.
J
Este parâmetro, definido no WMS 1.3.0, permite especificar a linha de pixel do ponto de consulta.
Y
Mesmo parâmetro que J
, mas definido no WMS 1.1.1.
FI_POINT_TOLERANCE
Este parâmetro especifica a tolerância em pixels para camadas de pontos.
FI_LINE_TOLERANCE
Este parâmetro especifica a tolerância em pixels para camadas de linha.
FI_POLYGON_TOLERANCE
Este parâmetro especifica a tolerância em pixels para camadas de polígono.
FILTER_GEOM
Esse parâmetro específica uma geometria WKT na qual cada característica tem quer se intersectar
WITH_MAPTIP
Esse parâmetro específica se será ou não adicionadas dicas de mapa na saída.
Valores disponíveis são (não em caso sensíveis):
TRUE
FALSE
WITH_GEOMETRY
Esse parâmetro especifica se adiciona-se ou não as geometrias na saída. Para usar esse recurso você deve primeiro habilitar a seguinte opção no projeto do QGIS :guilabel: Adicionar geometria para a resposta do recurso para adicionar a geometria à resposta do recurso. Veja Configure your project.
Valores disponíveis são (não em caso sensíveis):
TRUE
FALSE
3.2.4. GetLegendGraphic
Standard parameters for the GetLegendGraphic request according to the OGC WMS 1.1.1 and 1.3.0 specifications:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Name of the request (GetLegendGraphic) |
|
No |
Version of the service |
|
Yes |
Camadas para mostrar |
|
No |
Estilo das camadas |
|
No |
Sistema de referência de coordenadas |
|
No |
Extensão do mapa |
|
No |
Largura da imagem em pixels |
|
No |
Altura da imagem em pixels |
|
No |
Formato da legenda |
|
No |
Plano de fundo transparente |
Em adição aos padrões, o servidor do QGIS suporta parâmetros extras para alterar o tamanho dos elementos da legenda ou a propriedade das fontes por título de camada e rótulos de itens:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
No |
Largura do mapa |
|
No |
Altura do mapa |
|
No |
Adicionar recurso de contador de recursos |
|
No |
Regra símbolo para renderizar. |
|
No |
Renderização do item “rótulos” |
|
No |
Espaço entre o quadro da legenda e o conteúdo (mm) |
|
No |
Espaço vertical entre camadas (mm) |
|
No |
Espaço vertical entre o título da camada e os itens (mm) |
|
No |
Espaço vertical entre o símbolo e os itens (mm) |
|
No |
Espaço horizontal entre o símbolo e o rótulo (mm) |
|
No |
Largura da pré-visualização do símbolo (mm) |
|
No |
Altura da visualização do símbolo (mm) |
|
No |
Renderização da camada “título” |
|
No |
Família de fontes da camada |
|
No |
Renderização em negrito do título da camada |
|
No |
Tamanho da fonte do título da camada (pt) |
|
No |
Renderização em itálico do título da camada |
|
No |
Cor do título da camada |
|
No |
Família de fontes do item |
|
No |
Renderização em negrito do rótulo do item |
|
No |
Tamanho da fonte do rótulo do item (pt) |
|
No |
Renderização em itálico do item “rótulo” |
|
No |
Cor do rótulo do item |
BBOX
Esse parâmetro pode ser usado para especificar a área geográfica para qual a legenda deve construir (seu formato é descrito como here) mas não pode ser combinado com o parâmetro REGRA
. Os parâmetros SRS
/CRS
se tornam mandatórios quando usando o parâmetro BBOX
.
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries,airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
Nota
Quando o parâmetro BBOX
é definido, a legenda é referida como Legenda baseada em conteúdo
WIDTH
Esse parâmetro não é usado por padrão, mas se torna mandatório quando o parâmetro RULE
é definido. Nesse caso, permite especificar a largura em pixels da saída da imagem
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=getlegendgraphic
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30
HEIGHT
Esse parâmetro não é usado por padrão, mas se torna mandatório quando o parâmetro RULE
é definido. Nesse caso, permite especificar a altura em pixels da saída da imagem
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30
FORMAT
Este parâmetro pode ser usado para especificar o formato da imagem da legenda. Os valores disponíveis são:
image/jpeg
image/png
application/json
Para JSON, símbolos são encodados com Base64 e a maioria das outras opções relacionadas ao layout ou fontes não são levadas em consideração porque a legenda deve ser construída do lado do cliente. O parâmetro REGRA
não pode ser combinado com esse formato.
Exemplo de URL com a saída JSON correspondente:
http://localhost/qgisserver?
SERVICE=WMS&
REQUEST=GetLegendGraphic&
LAYERS=airports&
FORMAT=application/json
E a saída JSON correspondente:
{
"nodes":[
{
"icon":"<base64 icon>",
"title":"airports",
"type":"layer"
}
],
"title":""
}
SRCWIDTH
This parameter may de defined when the RULE
parameter is set. In this case,
the SRCWIDTH
value is forwarded to the underlying GetMap
request as the
WIDTH
parameter while the WIDTH
parameter of GetLegendGraphic
is
used for the image legend size.
SRCHEIGHT
This parameter may de defined when the RULE
parameter is set. In this case,
the SRCHEIGHT
value is forwarded to the underlying GetMap
request as
the HEIGHT
parameter while the HEIGHT
parameter of GetLegendGraphic
is used for the image legend size.
SHOWFEATURECOUNT
Esse parâmetro pode ser usado para ativar o recurso de contagem na legenda. Valores disponíveis são (não são case sensitives):
TRUE
FALSE
Por exemplo:
RULE
Esse parâmetro é disponível em camadas com renderização Baseada-em-regra e permite construir uma legenda com somente o símbolo de regra nomeado. Não pode ser combinado com o parâmetro BBOX
, nem com o formato JSON.
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=mylayer,
&RULE=myrulename
RULELABEL
Esse parâmetro permite controlar a renderização do rótulo do item. Valores disponíveis são (não case sensitives):
VERDADEIRO
: exibe o rótulo do itemFALSO`: oculta o rótulo do item
AUTO
: esconde o rótulo do item para camadas com renderização Simbolo único
URL example:
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
BOXSPACE
Este parâmetro permite especificar o espaço entre o quadro da legenda e o conteúdo em milímetros. Por padrão, o valor do espaço é 2
mm.
URL example:
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
LAYERSPACE
Este parâmetro permite especificar o espaço vertical entre as camadas em milímetros. Por padrão, o valor do espaço é 3
mm.
URL example:
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
LAYERTITLESPACE
Este parâmetro permite especificar o espaço vertical entre o título da camada e os itens seguintes em milímetros. Por padrão, o valor do espaço é 3
mm.
URL example:
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
SYMBOLSPACE
Este parâmetro permite especificar o espaço vertical entre o símbolo e o item seguinte em milímetros. Por padrão, o valor do espaço é 2
mm.
URL example:
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
ICONLABELSPACE
Este parâmetro permite especificar o espaço horizontal entre o símbolo e o texto do rótulo em milímetros. Por padrão, o valor do espaço é 2
mm.
URL example:
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
SYMBOLWIDTH
Este parâmetro permite especificar a largura da visualização do símbolo em milímetros. Por padrão, o valor da largura é 7
mm.
URL example:
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
SYMBOLHEIGHT
Este parâmetro permite especificar a altura da visualização do símbolo em milímetros. Por padrão, o valor da altura é 4
mm.
URL example:
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
LAYERTITLE
Esse parâmetro especifica se renderiza ou não o título da camada
Valores disponíveis são (não em caso sensíveis):
VERDADEIRO
(valor padrão)FALSE
LAYERFONTFAMILY
Esse parâmetro especifica a família da fonte para a ser usada para renderizar o titulo da camada
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries
&LAYERFONTFAMILY=monospace
LAYERFONTBOLD
Esse parâmetro específica se o titulo da camada será renderizado em negrito. Valores disponíveis são (não case sensitives):
TRUE
FALSE
URL example:
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
LAYERFONTSIZE
Esse parâmetro especifica o tamanho da fonte para renderizar o titulo da camada em ponto
URL example:
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
LAYERFONTITALIC
Esse parâmetro específica se o titulo da camada é renderizado em itálico. Valores disponíveis são (não case sensitives):
TRUE
FALSE
URL example:
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
LAYERFONTCOLOR
Esse parâmetro específica a cor do titulo da camada. A cor pode ser literal (red
, green
, …) ou in notação hexadecimal (0xFF0000
, 0x00FF00
, …).
URL example:
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
ITEMFONTFAMILY
Esse parâmetro específica a família da fonte a ser usada para renderizar o rótulo do item
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphic
&LAYERS=countries
&ITEMFONTFAMILY=monospace
ITEMFONTBOLD
Esse parâmetro específica se o rótulo do item é renderizado em negrito. Valores disponíveis são (não case sensitive):
TRUE
FALSE
URL example:
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
ITEMFONTSIZE
Esse parâmetro especifica o tamanho da fonte para renderizar o titulo da camada em ponto
URL example:
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
ITEMFONTITALIC
Esse parâmetro especifica se o rótulo do item é renderizado em itálico. Valores disponíveis são (não case sensitives):
TRUE
FALSE
URL example:
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
ITEMFONTCOLOR
Esse parâmetro específica a cor do rótulo do item. A cor pode ser literal (red
, green
, ..) oi em notação hexadecimal (0xFF0000
, 0x00FF00
, …).
URL example:
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
3.2.5. GetStyle(s)
Parâmetros padrão para o pedido GetStyle (ou GetStyles) de acordo com as especificações do OGC WMS 1.1.1:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (GetStyle ou GetStyles) |
|
Yes |
Camadas para consulta |
O pedido GetStyle também suporta os seguintes parâmetros de fornecimento:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetStyles
&LAYERS=mylayer1,mylayer2
3.2.6. DescribeLayer
Parâmetros padrão para o pedido DescribeLayer de acordo com as especificações OGC WMS 1.1.1 e 1.3.0:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (DescribeLayer) |
|
Yes |
Camadas para descrever |
|
Yes |
Versão SLD |
O pedido DescribeLayer também suporta o seguinte parâmetros fornecidos:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=DescribeLayer
&SLD_VERSION=1.1.0
&LAYERS=mylayer1
O documento XML parece assim:
<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
Este parâmetro permite especificar a versão do SLD. Apenas o valor 1.1.0
está disponível.
3.2.7. GetPrint
O servidor do QGIS tem a capacidade de criar uma saída de impressão de layout em formato PDF ou pixel. Janelas de layout de impressão no projeto publicado são usados como templates. No pedido GetPrint, o cliente tem a possibilidade de especificar os parâmetros dos rótulos e mapas contidos no layout.
O pedido GetPrint suporta redlining, external WMS layers assim como os seguintes parâmetros:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (GetPrint) |
|
No |
Version of the service |
|
No |
Camadas para mostrar |
|
Yes |
Template de layout para usar |
|
Yes |
Sistema de referência de coordenadas |
|
No |
Formato de saída |
|
No |
Feições Atlas |
|
No |
Estilo das camadas |
|
No |
Plano de fundo transparente |
|
No |
Opacidade para camada ou grupo |
|
No |
Recursos de destaque |
|
No |
Extensão do mapa ‘X’ |
|
No |
Camadas do mapa ‘X’ |
|
No |
Estilo das camadas do mapa ‘X’ |
|
No |
Camadas de escala do mapa ‘X’ |
|
No |
Rotação do mapa ‘X’ |
|
No |
Intervalo da grade no eixo y do mapa ‘X’ |
|
No |
Intervalo da grade no eixo y do mapa ‘X’ |
URL example:
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
Note o layout do template talvez contenha mais de um mapa. Dessa maneira, se você quer configurar um mapa específico, você tem que usar parâmetros mapX:
onde X
é um número positivo que você consegue recuperar graças ao pedido GetProjectSettings
Por exemplo:
<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
Esse parâmetro pode ser usado para especificar o nome de modelo compositor para imprimir
FORMAT
Este parâmetro especifica o formato da imagem do mapa. Os valores disponíveis são:
png
(valor padrão)image/png
jpg
jpeg
image/jpeg
svg
image/svg
image/svg+xml
pdf
application/pdf
Se o parâmetro FORMATO
for diferente de um desses valores, uma exceção será retornada.
ATLAS_PK
Este parâmetro permite ativar a renderização do Atlas indicando quais feições queremos imprimir. Para recuperar um atlas com todas as feições, pode-se utilizar o símbolo *
(de acordo com o número máximo de feições permitidas na configuração do projeto)..
Quando FORMAT
é pdf
, um único documento PDF combinando as páginas de recursos é retornado. Para todos os outros formatos, uma única página é retornada.
mapX:EXTENT
Este parâmetro especifica a extensão de um item de mapa de layout como xmin,ymin,xmax,ymax.
mapX:ROTATION
Este parâmetro especifica a rotação do mapa em graus.
mapX:GRID_INTERVAL_X
Este parâmetro especifica a densidade da linha de grade na direção X.
mapX:GRID_INTERVAL_Y
Este parâmetro especifica a densidade da linha de grade na direção Y.
mapX:SCALE
Este parâmetro especifica a escala do mapa para um item de mapa de compositor. Isso é útil para garantir a visibilidade baseada em escala de camadas e rótulos, mesmo que o cliente e o servidor possam ter algoritmos diferentes para calcular o denominador de escala.
mapX:LAYERS
Esse parâmetro especifica as camadas para um item de compositor de mapa. Veja. GetMap Layers para mais informações desse parâmetro.
mapaX:ESTILOS
Esse parâmetro especifica os estilos das camadas definidas em um item compositor específico de mapa. Veja GetMap Styles para mais informações desse parâmetro.
3.2.8. GetProjectSettings
Esse tipo de pedido funciona similarmente ao GetCapabilities, mas é mais específico para o servidor do QGIS e permite que um cliente leia informação adicional aos quais não são disponíveis na saída GetCapabilities:
visibilidade inicial das camadas
informações sobre atributos vetoriais e seus tipos de edição
informações sobre ordem de camada e ordem de desenho
Lista de camadas publicadas em WFS.
Mostra se um grupo na camada árvore é mutually exclusive
O pedido **GetProjectSettings**suporta os seguintes parâmetros:
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (GetProjectSettings) |
3.2.9. GetSchemaExtension
A solicitação GetSchemaExtension permite recuperar recursos estendidos opcionais e operações do serviço WMS, como implementado pelo QGIS Server.
Parameter |
Required |
Descrição |
---|---|---|
Yes |
QGIS project file |
|
Yes |
Nome do serviço (WMS) |
|
Yes |
Nome do pedido (GetSchemaExtension) |
URL example:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetSchemaExtension
O documento XML parece assim:
<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. Camadas WMS externas
O QGIS Server permite incluir camadas de servidores WMS externos em solicitações WMS :ref:`GetMap ` e WMS :ref:`GetPrint `. Isso é especialmente útil se um cliente da web usar uma camada de plano de fundo externa no mapa da web. Por motivos de desempenho, essas camadas devem ser solicitadas diretamente pelo cliente da Web (não em cascata via servidor QGIS). No entanto, para impressão, essas camadas devem ser colocadas em cascata via servidor QGIS para aparecer no mapa impresso.
Camadas externas podem ser adicionadas ao parâmetro LAYERS como EXTERNAL_WMS:. Os parâmetros para as camadas WMS externas (por exemplo, url, formato, dpiMode, crs, camadas, estilos) podem ser fornecidos posteriormente como parâmetros de serviço :. Em uma solicitação :ref:`GetMap `, isso pode se parecer com isto:
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
Similarmente, camadas externas podem ser usadas nos pedidos no 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. Linha vermelha
Esse atributo está disponível e pode ser usado com pedidos GetMap e GetPrint .
O recurso de linha vermelha pode ser usado para passar geometrias e rótulos na solicitação que são sobrepostos pelo servidor sobre a imagem padrão retornada (mapa). Isso permite que o usuário coloque ênfase ou talvez adicione alguns comentários (rótulos) a algumas áreas, locais etc. que não estão no mapa padrão.
O pedido GetMap está no 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
O equivalente ao GetPrint está no formato (note que o parâmetro mapX:
é adicionado para falar qual mapa tem linha vermelha):
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
Aqui está a imagem gerada pela solicitação acima, na qual um polígono e um rótulo são desenhados no topo do mapa normal:
Você pode ver que há vários parâmetros nesta solicitação para controlar o recurso de linha vermelha. A lista completa inclui:
HIGHLIGHT_GEOM: Você pode adicionar POINT, MULTILINESTRING, POLYGON etc. Suporta geometrias multipartes. Aqui está um exemplo:
HIGHLIGHT_GEOM=MULTILINESTRING((0 0, 0 1, 1 1))
. As coordenadas devem estar no CRS da solicitação GetMap/GetPrint.HIGHLIGHT_LABELBUFFERCOLOR: Esse parâmetro controla o rótulo da cor do buffer.
HIGHLIGHT_LABELBUFFERSIZE: Esse parâmetro controla o rótulo do tamanho do buffer.
HIGHLIGHT_LABELCOLOR: Esse parâmetro controla a cor do rótulo.
HIGHLIGHT_LABEL_DISTANCE: controla a distância entre os recursos (e.g. ponto ou linha) e o rótulo em mm
HIGHLIGHT_LABELFONT: Esse parâmetro controla a fonte do rótulo (e.g. Arial)
HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT: posiciona horizontalmente o rótulo em um ponto usando o alinhamento especificado (e.g. ‘left’, ‘center’, ‘right’)
HIGHLIGHT_LABEL_ROTATION: controla a rotação do rótulo em graus.
HIGHLIGHT_LABELSIZE: Esse parâmetro controla o tamanho do rótulo.
HIGHLIGHT_LABELSTRING: Você pode passar o seu rotulamento de texto para esse parâmetro
HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT: posiciona o rótulo verticalmente em um ponto usando o alinhamento específico (e.g. ‘top’, ‘half’, ‘bottom’)
HIGHLIGHT_SYMBOL: Isso controla como a geometria é tirada da linha e você pode mudar a largura do contorno, cor e opacidade.