3.2. WMS(웹 맵 서비스)
QGIS 서버에 구현된 WMS 1.1.1 및 1.3.0 표준은 QGIS 프로젝트로부터 생성된 맵 또는 범례 이미지를 요청할 수 있는 HTTP 인터페이스를 제공합니다. 전형적인 WMS 요청은 사용할 QGIS 프로젝트, 렌더링할 레이어는 물론 생성할 이미지 포맷도 정의합니다. SLD(Styled Layer Descriptor) 사용도 기본으로 지원합니다.
사양:
QGIS 서버가 제공하는 표준 요청:
요청 |
설명 |
---|---|
서버에 대한 정보를 담은 XML 메타데이터를 반환합니다. |
|
맵을 반환합니다. |
|
픽셀 위치에 대한 데이터(도형 및 값)를 검색합니다. |
|
범례 심볼을 반환합니다. |
|
SLD로 된 스타일 설명을 가진 XML 문서를 반환합니다. |
|
각각 벡터 레이어 및 래스터 레이어에 대한 WFS 및 WCS의 사용가능성에 관한 정보를 반환합니다. |
QGIS 서버가 제공하는 상용 제품 요청:
요청 |
설명 |
---|---|
QGIS 조판을 반환합니다. |
|
QGIS 서버에 대한 특정 정보를 반환합니다. |
|
선택적인 확장 케이퍼빌리티에 관한 XML 메타데이터를 반환합니다. |
3.2.1. GetCapabilities
OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetCapabilities 요청용 표준 파라미터:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
요청(GetCapabilities)의 명칭 |
|
X |
서비스의 버전 |
GetCapabilities 요청은 다음 상용 소프트웨어의 파라미터도 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
URL 예시:
http://localhost/qgis_server?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetCapabilities
3.2.2. GetMap
OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetMap 요청용 표준 파라미터:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
요청(GetMap)의 명칭 |
|
○ |
서비스의 버전 |
|
X |
표시할 레이어 |
|
X |
레이어의 스타일 |
|
○ |
좌표계 |
|
○ |
맵 범위 |
|
○ |
이미지의 픽셀 단위 너비 |
|
○ |
이미지의 픽셀 단위 높이 |
|
X |
이미지 포맷 |
|
X |
투명한 배경 |
|
SLD |
X |
스타일 작업에 쓰이는 SLD의 URL |
SLD_BODY |
X |
스타일 작업에 사용될 인라인(In-line) SLD(XML) |
표준 파라미터에 더해, QGIS 서버는 레드라이닝, 외부 WMS 레이어 는 물론 다음 추가 파라미터도 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
X |
배경 색상을 지정합니다. |
|
X |
출력물의 해상도를 지정합니다. |
|
X |
JPEG 압축 |
|
X |
레이어 또는 레이어 그룹의 투명도 |
|
X |
피처의 하위집합 |
|
X |
피처를 강조합니다. |
|
FILE_NAME |
X |
다운로드한 파일의 파일명
|
X |
지정한 파일 포맷의 옵션들
|
|
X |
타일 모드 로 작동합니다. |
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
이 파라미터는 사용할 서비스의 버전을 지정할 수 있습니다. VERSION
파라미터가 사용할 수 있는 값은 다음과 같습니다:
1.1.1
1.3.0
버전 번호에 따라, 다음 파라미터의 사용 방법이 조금씩 달라집니다. 이에 대해서는 차후 설명하겠습니다:
CRS
/SRS
BBOX
LAYERS
이 파라미터는 맵 상에 표시할 레이어를 지정할 수 있습니다. 레이어명을 쉼표로 구분해야 합니다.
이에 더해, QGIS 서버는 레이어를 다음을 통해 선택할 수 있는 옵션을 제공합니다:
레이어 ID
The project option allowing to select layers by their id is in Use layer ids as names checkbox to activate this option.
menu of the dialog. Check thehttp://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayerid1,mylayerid2
&...
STYLES
렌더링 단계에서 어떤 레이어 스타일을 사용할지 지정하는 데 이 파라미터를 사용할 수 있습니다. 스타일을 쉼표로 구분해야 합니다. 기본 스타일의 명칭은 default
입니다.
SRS / CRS
SRS
파라미터는 WMS 1.1.1 에서 맵 출력물의 좌표계를 나타낼 수 있으며, EPSG:XXXX
같은 서식이어야 합니다. 현재 버전이 1.1.1 이라면 CRS
도 지원한다는 사실을 기억하십시오.
WMS 1.3.0 의 경우, CRS
파라미터가 선호되지만 SRS
도 지원합니다.
요청에서 CRS
와 SRS
파라미터 둘 다 사용한 경우, VERSION
파라미터에서 지정한 현재 버전을 우선합니다.
다음 예시에서는, VERSION
파라미터 값이 무엇이든 SRS
파라미터를 사용합니다. CRS
가 없기 때문입니다:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&SRS=EPSG:2854
&...
다음 예시에서는, VERSION
파라미터 값 때문에 CRS
대신 SRS
파라미터를 사용합니다:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
다음 예시에서는, VERSION
파라미터 값 때문에 SRS
대신 CRS
파라미터를 사용합니다:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=EPSG:4326
&SRS=EPSG:2854
&...
BBOX
이 파라미터는 맵 범위를 현재 좌표계의 단위로 지정할 수 있습니다. 좌표를 쉼표로 구분해야 합니다.
BBOX
파라미터는 min_a,min_b,max_a,max_b
와 같은 서식이지만 a
와 b
축의 정의는 현재 VERSION
파라미터에 따라 달라집니다:
WMS 1.1.1 에서는 축의 순서가 언제나 동/북입니다.
WMS 1.3.0 에서는 축의 순서가 좌표계 기관(CRS authority)을 따릅니다.
예를 들면 EPSG:4326
과 WMS 1.1.1 인 경우, a
가 경도(동)이고 b
는 위도(북)이기 때문에 요청이 다음과 같이 보입니다:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.1.1
&SRS=epsg:4326
&BBOX=-180,-90,180,90
&...
그러나 WMS 1.3.0 인 경우, EPSG 데이터베이스에 정의된 축의 순서가 북/동이기 때문에 a
가 위도이고 b
는 경도가 됩니다:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&CRS=epsg:4326
&BBOX=-90,-180,90,180
&...
WIDTH
이 파라미터는 출력 이미지의 너비를 픽셀 단위로 지정할 수 있습니다.
HEIGHT
이 파라미터는 출력 이미지의 높이를 픽셀 단위로 지정할 수 있습니다.
FORMAT
이 파라미터는 맵 이미지의 포맷을 지정할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다:
jpg
jpeg
image/jpeg
image/png
image/png; mode=1bit
image/png; mode=8bit
image/png; mode=16bit
application/dxf
: only layers that have read access in the WFS service are exported in the DXF formatURL 예시:
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
이 불(boolean) 파라미터는 배경 투명도를 지정할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):
TRUE
FALSE
However, this parameter is ignored if the format of the image indicated with
FORMAT
is different from PNG.
BGCOLOR
이 파라미터는 맵 이미지의 배경 색상을 지정할 수 있습니다. 하지만 PNG 이미지인 경우, TRANSPARENT
파라미터와 결합해서 사용할 수 없습니다. (투명을 더 우선하기 때문입니다.) 일반적인 색상명을 사용할 수도 있고, 십육진법으로 표기할 수도 있습니다.
일반적인 표기법을 사용한 URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=green
&...
십육진법 표기법을 사용한 URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&VERSION=1.3.0
&BGCOLOR=0x00FF00
&...
DPI
이 파라미터는 요청한 출력물의 해상도를 지정할 수 있습니다.
IMAGE_QUALITY
이 파라미터는 JPEG 이미지 전용입니다. JPEG 압축 기본값은 -1
입니다.
GetMap
요청에서 이 파라미터를 무시하고 싶은 경우 IMAGE_QUALITY
파라미터를 사용하면 됩니다.
OPACITIES
Comma separated list of opacity values.
Opacity can be set on layer or group level. Allowed values range from
0
(fully transparent) to 255
(fully opaque).
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
FILTER
FILTER
파라미터를 통해 레이어의 하위 집합을 선택할 수 있습니다. 문법은 QGIS 하위 집합 문자열과 기본적으로 동일합니다. 하지만, QGIS 서버를 통해 데이터베이스에 SQL 삽입(injection)이 일어나는 일을 막기 위한 몇몇 제약 조건이 있습니다. 파라미터에서 위험한 문자열이 발견될 경우, QGIS 서버는 다음 오류를 반환할 것입니다:
<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 예시:
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'
In this example, the same filter "name" = 'France'
is applied to layers
countries
and countries_shapeburst
, while the filter "name" =
'Paris'
is only applied to places
.
참고
FILTER
파라미터가 존재하는 경우 GetFeatureInfo
를 통해 속성을 검색할 수 있고 X/Y 파라미터를 생략할 수도 있습니다. 그러면 QGIS 서버가 일치하는 피처에 관한 정보를 반환하고 결합된 경계 상자를 XML 출력물 형태로 생성할 것입니다.
SELECTION
SELECTION
파라미터는 하나 이상의 레이어에서 피처를 강조시킬 수 있습니다. 피처 ID를 쉼표로 구분한 목록을 전송하면 벡터 피처를 선택할 수 있습니다.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetMap
&LAYERS=mylayer1,mylayer2
&SELECTION=mylayer1:3,6,9;mylayer2:1,5,6
&...
다음 그림은, 예를 들어 http://myserver.com/...&SELECTION=countries:171,65
처럼, SELECTION
파라미터를 사용한 GetMap
요청이 반환한 응답의 예시입니다.
소스 데이터셋에서 파라미터의 피처 ID에 해당하는 프랑스 와 루마니아 가 노란색으로 강조돼 있습니다.
FORMAT-OPTIONS
선택한 포맷을 위한 옵션들을 지정하는 데 이 파라미터를 사용할 수 있습니다. FORMAT=application/dxf
전용입니다. 쌍반점으로 구분한 키:값 쌍의 목록입니다:
SCALE: 심볼 규칙, 필터, 스타일용으로 사용됩니다. (데이터를 실제로 크기 조정하지는 않습니다. 데이터는 원본 척도로 유지됩니다.)
MODE: QGIS 데스크탑 DXF 내보내기 대화창에서 지정하는 내보내기 옵션에 대응합니다.
NOSYMBOLOGY
,FEATURESYMBOLOGY
및SYMBOLLAYERSYMBOLOGY
값을 사용할 수 있습니다.LAYERSATTRIBUTES: DXF 레이어명을 위한 값을 담고 있는 필드를 지정합니다 ─ 지정하지 않을 경우, 원본 QGIS 레이어명을 사용합니다.
USE_TITLE_AS_LAYERNAME: 이 파라미터를 사용하면, 레이어의 제목을 레이어명으로 사용할 것입니다.
CODEC: 인코딩에 사용할 코덱을 지정합니다. 기본값은
ISO-8859-1
입니다. QGIS 데스크탑 DXF 내보내기 대화창에서 사용할 수 있는 유효한 값을 찾아보십시오.NO_MTEXT: 라벨에 MTEXT 대신 TEXT를 사용합니다.
FORCE_2D: 산출물을 2D로 강제합니다. 폴리라인 너비를 지정하려면 이 옵션이 필수입니다.
TILED
성능 향상을 위해 QGIS 서버를 타일 모드로 사용할 수 있습니다. 이 모드에서, 클라이언트는 몇 개의 조그만 고정 크기 타일을 요청해서 조립하여 전체 맵을 만듭니다. 이 과정에서 두 타일 사이의 경계선 위 또는 가까이 있는 심볼이 잘린 것으로 보일 수도 있습니다. 심볼이 두 타일 가운데 하나에만 존재하기 때문입니다.
TILED
파라미터를 TRUE
로 설정하면 QGIS 서버가 타일 모드로 작동해서, QGIS 프로젝트에서 환경 설정한 타일 버퍼 를 적용합니다. (사용자 프로젝트 환경 설정하기 를 참조하세요.)
TILED
가 TRUE
이고 QGIS 프로젝트에서 타일 버퍼를 0이 아닌 값으로 환경 설정했다면, 타일 경계선에서 심볼이 잘리는 일을 피하기 위해 타일 범위 바깥에 있는 피처를 렌더링합니다.
TILED
파라미터의 기본값은 FALSE
입니다.
3.2.3. GetFeatureInfo
OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetFeatureInfo 요청용 표준 파라미터:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
요청(GetFeatureInfo)의 명칭 |
|
X |
서비스의 버전 |
|
○ |
쿼리할 레이어 |
|
○ |
표시할 레이어 (QUERY_LAYERS 와 동일) |
|
X |
레이어의 스타일 |
|
○ |
좌표계 |
|
X |
맵 범위 |
|
○ |
이미지의 픽셀 단위 너비 |
|
○ |
이미지의 픽셀 단위 높이 |
|
X |
투명한 배경 |
|
X |
출력물 포맷 |
|
X |
반환할 피처의 최대 개수 |
|
X |
쿼리할 포인트의 픽셀 열 |
|
X |
|
|
X |
쿼리할 포인트의 픽셀 행 |
|
X |
|
|
WMS_PRECISION |
X |
도형 반환시 사용할 정밀도(소수점 이하 자릿수). (객체 요청에 도형을 추가하는 방법 을 참조하세요.) 기본값은 |
표준 파라미터 이외에도, QGIS 서버는 다음과 같은 추가 파라미터를 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
X |
피처의 하위집합 |
|
X |
포인트 레이어의 픽셀 단위 허용 오차 |
|
X |
라인 레이어의 픽셀 단위 허용 오차 |
|
X |
폴리곤 레이어의 픽셀 단위 허용 오차 |
|
X |
도형 필터링 |
|
X |
출력물에 맵 도움말(map tip) 추가 |
|
X |
출력물에 도형 추가 |
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
이 파라미터는 산출물의 포맷을 지정할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다:
text/xml
text/html
text/plain
application/vnd.ogc.gml
application/json
QUERY_LAYERS
이 파라미터는 맵 상에 표시할 레이어를 지정합니다. 레이어명을 쉼표로 구분해야 합니다.
이에 더해, QGIS 서버는 레이어를 다음을 통해 선택할 수 있는 옵션을 제공합니다:
약칭(short name)
레이어 ID
See the LAYERS
parameter defined in
GetMap for more information.
FEATURE_COUNT
이 파라미터는 레이어별로 반환해야 할 피처의 최대 개수를 지정합니다. 예를 들어 QUERY_LAYERS
파라미터를 layer1,layer2
로 설정하고 FEATURE_COUNT
를 3
으로 설정하면 ‘layer1’ 로부터 피처를 최대 3개 반환할 것입니다. ‘layer2’ 도 마찬가지로 피처를 최대 3개 반환할 것입니다.
각 레이어별로 피처 1개만 반환하는 것이 기본값입니다.
I
WMS 1.3.0에서 정의된 이 파라미터는 쿼리 포인트의 픽셀 열을 지정할 수 있습니다.
X
I
파라미터와 동일하지만, WMS 1.1.1에서 정의되었습니다.
J
WMS 1.3.0에서 정의된 이 파라미터는 쿼리 포인트의 픽셀 행을 지정할 수 있습니다.
Y
J
파라미터와 동일하지만, WMS 1.1.1에서 정의되었습니다.
FI_POINT_TOLERANCE
이 파라미터는 포인트 레이어의 허용 오차를 픽셀 단위로 지정합니다.
FI_LINE_TOLERANCE
이 파라미터는 라인 레이어의 허용 오차를 픽셀 단위로 지정합니다.
FI_POLYGON_TOLERANCE
이 파라미터는 폴리곤 레이어의 허용 오차를 픽셀 단위로 지정합니다.
FILTER_GEOM
이 파라미터는 피처가 교차해야 하는 WKT 도형을 지정합니다.
WITH_MAPTIP
이 파라미터는 출력물에 맵 도움말(map tip)을 추가할지 여부를 지정합니다.
다음 값을 사용할 수 있습니다(대소문자 구분 안 함):
TRUE
FALSE
WITH_GEOMETRY
이 파라미터는 산출물에 도형을 추가할지 여부를 지정합니다. 이 기능을 사용하려면 먼저 QGIS 프로젝트에서 Add geometry to feature response 옵션을 활성화해야만 합니다. ref:사용자 프로젝트 환경 설정 <Creatingwmsfromproject> 을 참조하세요.
다음 값을 사용할 수 있습니다(대소문자 구분 안 함):
TRUE
FALSE
3.2.4. GetLegendGraphics
Standard parameters for the GetLegendGraphics request according to the OGC WMS 1.1.1 and 1.3.0 specifications:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
Name of the request (GetLegendGraphics) |
|
X |
서비스의 버전 |
|
○ |
표시할 레이어 |
|
X |
레이어의 스타일 |
|
X |
좌표계 |
|
X |
맵 범위 |
|
X |
이미지의 픽셀 단위 너비 |
|
X |
이미지의 픽셀 단위 높이 |
|
X |
Legend format |
|
X |
투명한 배경 |
In addition to the standard ones, QGIS Server supports extra parameters to change the size of the legend elements or the font properties for layer titles and item labels:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
X |
Map width |
|
X |
Map height |
|
X |
Add feature count of features |
|
X |
Rule symbol to render |
|
X |
Item labels rendering |
|
X |
Space between legend frame and content (mm) |
|
X |
Vertical space between layers (mm) |
|
X |
Vertical space between layer title and items (mm) |
|
X |
Vertical space between symbol and items (mm) |
|
X |
Horizontal space between symbol and label (mm) |
|
X |
Width of the symbol preview (mm) |
|
X |
Height of the symbol preview (mm) |
|
X |
Layer title rendering |
|
X |
Layer font family |
|
X |
Layer title bold rendering |
|
X |
Layer title font size (pt) |
|
X |
Layer title italic rendering |
|
X |
Layer title color |
|
X |
Item font family |
|
X |
Item label bold rendering |
|
X |
Item label font size (pt) |
|
X |
Item label italic rendering |
|
X |
Item label color |
BBOX
This parameter can be used to specify the geographical area for which the
legend should be built (its format is described here) but
cannot be combined with the RULE
parameter. The SRS
/CRS
parameter
becomes mandatory when using the BBOX
parameter.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries,airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
참고
When the BBOX
parameter is defined, the legend is referred to as a
content based legend.
WIDTH
This parameter is not used by default but becomes mandatory when the RULE
parameter is set. In this case it allows to specify the width in pixels of the
output image.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30
HEIGHT
This parameter is not used by default but becomes mandatory when the RULE
parameter is set. In this case it allows to specify the height in pixels of the
output image.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYER=testlayer%20%C3%A8%C3%A9
&RULE=rule1
&WIDTH=30
&HEIGHT=30
FORMAT
This parameter may be used to specify the format of legend image. Available values are:
image/jpeg
image/png
application/json
For JSON, symbols are encoded with Base64 and most other options related to
layout or fonts are not taken into account because the legend must be built on
the client side. The RULE
parameter cannot be combined with this format.
URL example with the corresponding JSON output:
http://localhost/qgisserver?
SERVICE=WMS&
REQUEST=GetLegendGraphics&
LAYERS=airports&
FORMAT=application/json
And the corresponding JSON output:
{
"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 GetLegendGraphics
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 GetLegendGraphics
is used for the image legend size.
SHOWFEATURECOUNT
This parameter can be used to activate feature count in the legend. Available values are (not case sensitive):
TRUE
FALSE
다음은 예시입니다:
RULE
This parameter is available on layers with Rule-based rendering and
allows to build a legend with only the named rule symbol. It cannot be combined
with BBOX
parameter nor the JSON format.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=mylayer,
&RULE=myrulename
RULELABEL
This parameter allows to control the item label rendering. Available values are (not case sensitive):
TRUE
: display item labelFALSE
: hide item labelAUTO
: hide item label for layers with Single symbol rendering
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries,airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&RULELABEL=AUTO
BOXSPACE
This parameter allows to specify the space between legend frame and content in
millimeters. By default, the space value is 2
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&BOXSPACE=0
LAYERSPACE
This parameter allows to specify the vertical space between layers in
millimeters. By default, the space value is 3
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERSPACE=0
LAYERTITLESPACE
This parameter allows to specify the vertical space between layer title and
items following in millimeters. By default the space value is 3
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERTITLESPACE=0
SYMBOLSPACE
This parameter allows to specify the vertical space between symbol and item
following in millimeters. By default the space value is 2
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLSPACE=0
ICONLABELSPACE
This parameter allows to specify the horizontal space between symbol and label
text in millimeters. By default the space value is 2
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ICONLABELSPACE=0
SYMBOLWIDTH
This parameter allows to specify the width of the symbol preview in
millimeters. By default the width value is 7
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLWIDTH=2
SYMBOLHEIGHT
This parameter allows to specify the height of the symbol preview in
millimeters. By default the height value is 4
mm.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries,
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&SYMBOLHEIGHT=2
LAYERTITLE
This parameter specifies whether to render layer title.
다음 값을 사용할 수 있습니다(대소문자 구분 안 함):
TRUE
(default value)FALSE
LAYERFONTFAMILY
This parameter specifies the font family to use for rendering layer title.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries
&LAYERFONTFAMILY=monospace
LAYERFONTBOLD
This parameter specifies whether the layer title is rendered in bold. Available values are (not case sensitive):
TRUE
FALSE
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTBOLD=TRUE
LAYERFONTSIZE
This parameter specifies the font size for rendering layer title in point.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTSIZE=20
LAYERFONTITALIC
This parameter specifies whether the layer title is rendered in italic. Available values are (not case sensitive):
TRUE
FALSE
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTITALIC=TRUE
LAYERFONTCOLOR
This parameter specifies the layer title color. The color may be literal
(red
, green
, ..) or in hexadecimal notation (0xFF0000
,
0x00FF00
, …).
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&LAYERFONTCOLOR=0x5f9930
ITEMFONTFAMILY
This parameter specifies the font family to use for rendering item label.
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=countries
&ITEMFONTFAMILY=monospace
ITEMFONTBOLD
This parameter specifies whether the item label is rendered in bold. Available values are (not case sensitive):
TRUE
FALSE
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTBOLD=TRUE
ITEMFONTSIZE
This parameter specifies the font size for rendering layer title in point.
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTSIZE=20
ITEMFONTITALIC
This parameter specifies whether the item label is rendered in italic. Available values are (not case sensitive):
TRUE
FALSE
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTITALIC=TRUE
ITEMFONTCOLOR
This parameter specifies the item label color. The color may be literal
(red
, green
, ..) or in hexadecimal notation (0xFF0000
,
0x00FF00
, …).
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetLegendGraphics
&LAYERS=airports,places
&BBOX=43.20,-2.93,49.35,8.32
&CRS=EPSG:4326
&TRANSPARENT=TRUE
&ITEMFONTCOLOR=0x5f9930
3.2.5. GetStyle(s)
Standard parameters for the GetStyle (or GetStyles) request according to the OGC WMS 1.1.1 specifications:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
Name of the request (GetStyle or GetStyles) |
|
○ |
쿼리할 레이어 |
The GetStyle request supports as well the following vendor parameters:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetStyles
&LAYERS=mylayer1,mylayer2
3.2.6. DescribeLayer
Standard parameters for the DescribeLayer request according to the OGC WMS 1.1.1 and 1.3.0 specifications:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
서비스(WMS)의 명칭 |
|
○ |
Name of the request (DescribeLayer) |
|
○ |
Layers to describe |
|
○ |
SLD version |
The DescribeLayer request supports as well the following vendor parameters:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=DescribeLayer
&SLD_VERSION=1.1.0
&LAYERS=mylayer1
The XML document looks like:
<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/qgis_server" xlink:type="simple"/>
<TypeName>
<se:FeatureTypeName>my_vector_layer</se:FeatureTypeName>
</TypeName>
</LayerDescription>
<LayerDescription>
<owsType>wcs</owsType>
<se:OnlineResource xlink:href="http://localhost/qgis_server" xlink:type="simple"/>
<TypeName>
<se:FeatureTypeName>my_raster_layer</se:FeatureTypeName>
</TypeName>
</LayerDescription>
</DescribeLayerResponse>
SLD_VERSION
This parameter allows to specify the version of SLD. Only the value 1.1.0
is available.
3.2.7. GetPrint
QGIS 서버는 인쇄 조판 출력물을 PDF 또는 픽셀 포맷으로 생성할 수 있습니다. 게시된 프로젝트에 있는 인쇄 조판기 창을 템플릿으로 사용합니다. 클라이언트는 GetPrint 요청 안에 템플릿이 담고 있는 조판 맵 및 라벨의 파라미터를 지정할 수 있습니다.
The GetPrint request supports redlining, external WMS layers as well as the following parameters:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
○ |
서비스(WMS)의 명칭 |
|
○ |
요청(GetPrint)의 명칭 |
|
X |
서비스의 버전 |
|
X |
표시할 레이어 |
|
○ |
사용할 레이어 템플릿 |
|
○ |
좌표계 |
|
X |
출력물 포맷 |
|
X |
지도책 피처 |
|
X |
레이어의 스타일 |
|
X |
투명한 배경 |
|
X |
레이어 또는 레이어 그룹의 투명도 |
|
X |
피처를 강조합니다. |
|
X |
맵 ‘X’ 의 범위 |
|
X |
맵 ‘X’ 의 레이어 |
|
X |
맵 ‘X’ 의 레이어의 스타일 |
|
X |
맵 ‘X’ 의 레이어의 축척 |
|
X |
맵 ‘X’ 의 기울기 |
|
X |
맵 ‘X’ 의 X축 그리드 간격 |
|
X |
맵 ‘X’ 의 Y축 그리드 간격 |
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
조판 템플릿이 맵을 하나 이상 담고 있을 수도 있다는 사실을 기억하십시오. 이런 맥락에서, 사용자가 특정 맵을 환경 설정하려는 경우 mapX:
파라미터를 사용해야 합니다. 이때 X
는 GetProjectSettings 요청 시 받아올 수 있는 양수(陽數)입니다.
다음은 예시입니다:
<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
이 파라미터는 인쇄용으로 사용할 조판 템플릿의 명칭을 지정할 수 있습니다.
FORMAT
이 파라미터는 맵 이미지의 포맷을 지정할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다:
png
(기본값)image/png
jpg
jpeg
image/jpeg
svg
image/svg
image/svg+xml
pdf
application/pdf
FORMAT
파라미터가 이 값들 가운데 하나가 아닐 경우, 예외를 반환합니다.
ATLAS_PK
이 파라미터는 인쇄하려는 피처를 지정해서 지도책 렌더링을 활성화할 수 있습니다. (프로젝트 환경 설정에서 설정한 피처 최대 개수에 따라) 모든 피처를 담은 지도책을 받아오려면, *
특수문자를 사용하면 됩니다.
FORMAT
파라미터가 pdf
인 경우, 모든 피처 페이지를 결합한 PDF 문서 파일 1개를 반환합니다. 다른 모든 포맷의 경우, 단일 페이지를 반환합니다.
mapX:EXTENT
이 파라미터는 조판 맵 항목의 범위를 xmin,ymin,xmax,ymax
서식으로 지정합니다.
mapX:ROTATION
이 파라미터는 맵의 기울기를 도 단위로 지정합니다.
mapX:GRID_INTERVAL_X
이 파라미터는 X축 방향의 그리드선 밀도를 지정합니다.
mapX:GRID_INTERVAL_Y
이 파라미터는 Y축 방향의 그리드선 밀도를 지정합니다.
mapX:SCALE
이 파라미터는 조판 맵 항목의 맵 축척을 지정합니다. 클라이언트 및 서버가 축척 분모를 계산할 때 서로 다른 알고리즘을 사용하는 경우라도, 레이어와 라벨의 축척 기반 가시성을 보장하는 데 유용합니다.
mapX:LAYERS
This parameter specifies the layers for a layout map item. See GetMap Layers for more information on this parameter.
mapX:STYLES
This parameter specifies the layers’ styles defined in a specific layout map item. See GetMap Styles for more information on this parameter.
3.2.8. GetProjectSettings
This request type works similar to GetCapabilities, but it is more specific to QGIS Server and allows a client to read additional information which are not available in the GetCapabilities output:
레이어의 초기 가시성
벡터 속성 및 속성 편집 유형 관련 정보
레이어 순서 및 렌더링 순서 관련 정보
WFS에 게시된 레이어 목록
레이어 트리에 있는 그룹이 상호 배타적 인 경우 표시합니다.
The GetProjectSettings request supports the following parameters:
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
○ |
서비스(WMS)의 명칭 |
|
○ |
Name of the request (GetProjectSettings) |
3.2.9. GetSchemaExtension
The GetSchemaExtension request allows to retrieve optional extended capabilities and operations of the WMS service such as implemented by QGIS Server.
파라미터 |
필수 여부 |
설명 |
---|---|---|
○ |
QGIS 프로젝트 파일 |
|
○ |
서비스(WMS)의 명칭 |
|
○ |
Name of the request (GetSchemaExtension) |
URL 예시:
http://localhost/qgisserver?
SERVICE=WMS
&REQUEST=GetSchemaExtension
The XML document looks like:
<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. 외부 WMS 레이어
QGIS Server allows including layers from external WMS servers in WMS GetMap and WMS GetPrint requests. This is especially useful if a web client uses an external background layer in the web map. For performance reasons, such layers should be directly requested by the web client (not cascaded via QGIS server). For printing however, these layers should be cascaded via QGIS server in order to appear in the printed map.
External layers can be added to the LAYERS parameter as EXTERNAL_WMS:<layername>. The parameters for the external WMS layers (e.g. url, format, dpiMode, crs, layers, styles) can later be given as service parameters <layername>:<parameter>. In a GetMap request, this might look like this:
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
Similarly, external layers can be used in GetPrint requests:
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)
이 기능은 GetMap 및 GetPrint 요청과 함께 사용할 수 있습니다.
요청 안에 있는, 서버가 반환한 표준 이미지(맵) 위에 중첩되는 도형 및 라벨을 전송하는 데 이 REDLINING
기능을 사용할 수 있습니다. 이 기능은 사용자가 표준 맵에는 없는 일부 지역 또는 위치 등을 강조하거나 또는 그런 곳에 주석(라벨)을 달 수 있도록 해줍니다.
다음 서식에 GetMap 요청이 있습니다:
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
다음 서식에 GetPrint 요청이 있습니다. (mapX:
파라미터는 어떤 맵에 레드라이닝할지 지정하기 위해 추가되었다는 사실을 기억하십시오):
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
다음 그림은 앞의 요청을 통해 일반 맵 위에 폴리곤 및 라벨을 렌더링한 출력물을 보여줍니다:
이 요청 안에 다음 여러 파라미터들이 있다는 것을 알 수 있습니다:
HIGHLIGHT_GEOM: 포인트, 멀티라인스트링, 폴리곤 등을 추가할 수 있습니다. 다중 부분 도형도 지원합니다. 이 파라미터는
HIGHLIGHT_GEOM=MULTILINESTRING((0 0, 0 1, 1 1))
과 같이 사용할 수 있습니다. 사용 좌표는GetMap
/GetPrint
요청의 좌표계의 좌표여야 합니다.HIGHLIGHT_SYMBOL: 이 파라미터는 도형의 외곽선을 어떻게 렌더링할지 제어하며, 사용자가 획의 너비, 색상 및 불투명도를 변경할 수 있습니다.
HIGHLIGHT_LABELSTRING: 이 파라미터를 통해 사용자의 라벨 텍스트를 넘겨줄 수 있습니다.
HIGHLIGHT_LABELSIZE: 이 파라미터는 라벨의 크기를 제어합니다.
HIGHLIGHT_LABELFONT: 이 파라미터는 라벨의 글꼴(예: Arial)을 제어합니다.
HIGHLIGHT_LABELCOLOR: 이 파라미터는 라벨의 색상을 제어합니다.
HIGHLIGHT_LABELBUFFERCOLOR: 이 파라미터는 라벨 버퍼의 색상을 제어합니다.
HIGHLIGHT_LABELBUFFERSIZE: 이 파라미터는 라벨 버퍼의 크기를 제어합니다.