3.2. WMS(웹 맵 서비스)

QGIS 서버에 구현된 WMS 1.1.11.3.0 표준은 QGIS 프로젝트로부터 생성된 맵 또는 범례 이미지를 요청할 수 있는 HTTP 인터페이스를 제공합니다. 전형적인 WMS 요청은 사용할 QGIS 프로젝트, 렌더링할 레이어는 물론 생성할 이미지 포맷도 정의합니다. SLD(Styled Layer Descriptor) 사용도 기본으로 지원합니다.

사양:

QGIS 서버가 제공하는 표준 요청:

요청

설명

GetCapabilities

서버에 대한 정보를 담은 XML 메타데이터를 반환합니다.

GetMap

맵을 반환합니다.

GetFeatureInfo

픽셀 위치에 대한 데이터(도형 및 값)를 검색합니다.

GetLegendGraphic

범례 심볼을 반환합니다.

GetStyle(s)

SLD로 된 스타일 설명을 가진 XML 문서를 반환합니다.

DescribeLayer

각각 벡터 레이어 및 래스터 레이어에 대한 WFS 및 WCS의 사용가능성에 관한 정보를 반환합니다.

QGIS 서버가 제공하는 상용 소프트웨어 요청:

요청

설명

GetPrint

QGIS 조판을 반환합니다.

GetProjectSettings

QGIS 서버에 대한 특정 정보를 반환합니다.

GetSchemaExtension

선택적인 확장 케이퍼빌리티에 관한 XML 메타데이터를 반환합니다.

3.2.1. GetCapabilities

OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetCapabilities 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetCapabilities)의 이름

VERSION

서비스의 버전

GetCapabilities 요청은 다음 상용 소프트웨어의 파라미터도 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

URL 예시:

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

3.2.2. GetMap

OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetMap 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetMap)의 이름

VERSION

Ο

서비스의 버전

LAYERS

표시할 레이어

STYLES

레이어의 스타일

SRS / CRS

Ο

좌표계

BBOX

Ο

맵 범위

WIDTH

Ο

이미지의 픽셀 단위 너비

HEIGHT

Ο

이미지의 픽셀 단위 높이

FORMAT

이미지 포맷

TRANSPARENT

투명한 배경

SLD

스타일 작업에 쓰이는 SLD의 URL

SLD_BODY

스타일 작업에 사용될 인라인(In-line) SLD(XML)

표준 파라미터에 더해, QGIS 서버는 레드라이닝, 외부 WMS 레이어 는 물론 다음 추가 파라미터도 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

BGCOLOR

배경 색상을 지정합니다.

DPI

출력물의 해상도를 지정합니다.

IMAGE_QUALITY

JPEG 압축

OPACITIES

레이어 또는 레이어 그룹의 투명도

FILTER

피처의 하위집합

SELECTION

피처를 강조합니다.

FILE_NAME

다운로드한 파일의 파일명

FORMAT=application/dxf 파라미터 사용시에만 쓰입니다.

FORMAT_OPTIONS

지정한 파일 포맷의 옵션들

FORMAT=application/dxf 파라미터 사용시에만 쓰입니다.

TILED

타일 모드 로 작동합니다.

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

이 파라미터는 사용할 서비스의 버전을 지정할 수 있습니다. VERSION 파라미터가 사용할 수 있는 값은 다음과 같습니다:

  • 1.1.1

  • 1.3.0

버전 번호에 따라, 다음 파라미터의 사용 방법이 조금씩 달라집니다. 이에 대해서는 차후 설명하겠습니다:

  • CRS / SRS

  • BBOX

LAYERS

이 파라미터는 맵 상에 표시할 레이어를 지정할 수 있습니다. 레이어명을 쉼표로 구분해야 합니다.

이에 더해, QGIS 서버는 레이어를 다음을 통해 선택할 수 있는 옵션을 제공합니다:

Project ► Properties… 대화창의 QGIS Server ► WMS 탭에 레이어 ID로 레이어를 선택할 수 있는 프로젝트 수준 옵션이 있습니다. 이 옵션을 활성화하려면 Use layer ids as names 체크박스를 체크하십시오.

http://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 도 지원합니다.

요청에서 CRSSRS 파라미터 둘 다 사용한 경우, 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 와 같은 서식이지만 ab 축의 정의는 현재 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

  • image/webp

  • application/dxf: WFS 서비스에서 읽기 접근이 가능한 레이어만 DXF 포맷으로 내보냅니다.

    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

이 불(boolean) 파라미터는 배경 투명도를 지정할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

하지만 FORMAT 파라미터가 나타내는 이미지 포맷이 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 입니다.

Project ► Properties… 대화창의 OWS Server ► WMS capabilities 메뉴에서 이 기본값을 QGIS 프로젝트 별로 변경할 수 있습니다. GetMap 요청에서 이 파라미터를 무시하고 싶은 경우 IMAGE_QUALITY 파라미터를 사용하면 됩니다.

OPACITIES

쉼표로 구분된 불투명도(opacity) 값 목록입니다. 레이어 또는 그룹 수준에서 불투명도를 설정할 수 있습니다. 0 (완전히 투명)에서 255 (완전히 불투명) 범위의 값을 사용할 수 있습니다.

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

그림 3.2 왼쪽은 OPACITIES=255,0 그리고 오른쪽은 OPACITIES=255,255

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'
../../../_images/wms_getmap_filter.png

그림 3.3 FILTER 파라미터를 사용한 GetMap 요청에 대한 서버의 응답

이 예시에서 countriescountries_shapeburst 레이어에 동일한 "name" = 'France' 필터를 적용한 반면, "name" = 'Paris' 필터는 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에 해당하는 프랑스루마니아 가 노란색으로 강조돼 있습니다.

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

그림 3.4 SELECTION 파라미터를 사용한 GetMap 요청에 대한 서버의 응답

FORMAT_OPTIONS

선택한 포맷을 위한 옵션들을 지정하는 데 이 파라미터를 사용할 수 있습니다. FORMAT=application/dxf 전용입니다. 쌍반점으로 구분한 키:값 쌍의 목록입니다:

  • SCALE: 심볼 규칙, 필터, 스타일용으로 사용됩니다. (데이터를 실제로 크기 조정하지는 않습니다. 데이터는 원본 척도로 유지됩니다.)

  • MODE: QGIS 데스크탑 DXF 내보내기 대화창에서 지정하는 내보내기 옵션에 대응합니다. NOSYMBOLOGY, FEATURESYMBOLOGYSYMBOLLAYERSYMBOLOGY 값을 사용할 수 있습니다.

  • 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 프로젝트에서 환경 설정한 타일 버퍼 를 적용합니다. (사용자 프로젝트 환경 설정하기 를 참조하세요.)

TILEDTRUE 이고 QGIS 프로젝트에서 타일 버퍼를 0이 아닌 값으로 환경 설정했다면, 타일 경계선에서 심볼이 잘리는 일을 피하기 위해 타일 범위 바깥에 있는 피처를 렌더링합니다.

TILED 파라미터의 기본값은 FALSE 입니다.

3.2.3. GetFeatureInfo

OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetFeatureInfo 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetFeatureInfo)의 이름

VERSION

서비스의 버전

QUERY_LAYERS

Ο

쿼리할 레이어

LAYERS

Ο

표시할 레이어 (QUERY_LAYERS 와 동일)

STYLES

레이어의 스타일

SRS / CRS

Ο

좌표계

BBOX

맵 범위

WIDTH

Ο

이미지의 픽셀 단위 너비

HEIGHT

Ο

이미지의 픽셀 단위 높이

TRANSPARENT

투명한 배경

INFO_FORMAT

출력물 포맷

FEATURE_COUNT

반환할 피처의 최대 개수

I

쿼리할 포인트의 픽셀 열

X

I 파라미터와 동일 (WMS 1.1.1 용)

J

쿼리할 포인트의 픽셀 행

Y

J 파라미터와 동일 (WMS 1.1.1 용)

WMS_PRECISION

도형 반환 시 사용할 정밀도(소수점 이하 자릿수). (객체 요청에 도형을 추가하는 방법 을 참조하세요.) 기본값은 -1 로, 프로젝트에서 정의한 정밀도를 사용한다는 뜻입니다.

표준 파라미터 이외에도, QGIS 서버는 다음과 같은 추가 파라미터를 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

FILTER

피처의 하위집합

FI_POINT_TOLERANCE

포인트 레이어의 픽셀 단위 허용 오차

FI_LINE_TOLERANCE

라인 레이어의 픽셀 단위 허용 오차

FI_POLYGON_TOLERANCE

폴리곤 레이어의 픽셀 단위 허용 오차

FILTER_GEOM

도형 필터링

WITH_MAPTIP

출력물에 맵 도움말(map tip) 추가

WITH_GEOMETRY

출력물에 도형 추가

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

더 자세한 정보는 GetMap 에 정의된 LAYERS 파라미터를 참조하세요.

FEATURE_COUNT

이 파라미터는 레이어별로 반환해야 할 피처의 최대 개수를 지정합니다. 예를 들어 QUERY_LAYERS 파라미터를 layer1,layer2 로 설정하고 FEATURE_COUNT3 으로 설정하면 ‘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 옵션을 활성화해야만 합니다. 사용자 프로젝트 환경 설정 을 참조하세요.

다음 값을 사용할 수 있습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

3.2.4. GetLegendGraphic

OGC WMS 1.1.1 및 1.3.0 사양에 따른 GetLegendGraphic 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetLegendGraphic)의 이름

VERSION

서비스의 버전

LAYERS

Ο

표시할 레이어

STYLES

레이어의 스타일

SRS / CRS

좌표계

BBOX

맵 범위

WIDTH

이미지의 픽셀 단위 너비

HEIGHT

이미지의 픽셀 단위 높이

FORMAT

범례 서식

TRANSPARENT

투명한 배경

표준 파라미터 이외에도, QGIS 서버는 범례 요소의 크기를 변경하거나 레이어 제목 및 항목 라벨의 글꼴 속성을 변경할 수 있는 추가 파라미터를 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

SRCWIDTH

맵 너비

SRCHEIGHT

맵 높이

SHOWFEATURECOUNT

피처의 개수를 표시하는 요소를 추가

RULE

심볼 렌더링 규칙

RULELABEL

항목 라벨 렌더링 규칙

BOXSPACE

범례 프레임과 내용 사이의 여백 (밀리미터 단위)

LAYERSPACE

레이어들 사이의 수직 간격 (밀리미터 단위)

LAYERTITLESPACE

레이어 제목과 항목들 사이의 수직 간격 (밀리미터 단위)

SYMBOLSPACE

심볼과 항목들 사이의 수직 간격 (밀리미터 단위)

ICONLABELSPACE

심볼과 라벨 사이의 수평 간격 (밀리미터 단위)

SYMBOLWIDTH

심볼 미리보기의 너비 (밀리미터 단위)

SYMBOLHEIGHT

심볼 미리보기의 높이 (밀리미터 단위)

LAYERTITLE

레이어 제목 렌더링 규칙

LAYERFONTFAMILY

레이어 글꼴 계열

LAYERFONTBOLD

레이어 제목을 굵은 글꼴로 렌더링

LAYERFONTSIZE

레이어 제목 글꼴 크기 (포인트 단위)

LAYERFONTITALIC

레이어 제목을 기울인 글꼴로 렌더링

LAYERFONTCOLOR

레이어 제목 글꼴 색상

ITEMFONTFAMILY

항목 글꼴 계열

ITEMFONTBOLD

항목 라벨을 굵은 글꼴로 렌더링

ITEMFONTSIZE

항목 라벨 글꼴 크기 (포인트 단위)

ITEMFONTITALIC

항목 라벨을 기울인 글꼴로 렌더링

ITEMFONTCOLOR

항목 라벨 글꼴 색상

BBOX

이 파라미터를 통해 범례를 (범례 서식은 여기 에서 설명하고 있습니다) 작성해야 할 지리적 영역을 지정할 수 있지만, RULE 파라미터와 함께 사용할 수는 없습니다. BBOX 파라미터를 사용하는 경우 반드시 SRS/CRS 파라미터도 함께 설정해줘야만 합니다.

URL 예시:

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

참고

BBOX 파라미터를 정의한 경우, 범례를 콘텐츠 기반 범례 라고 부릅니다.

WIDTH

이 파라미터는 기본적으로 쓰이지 않지만, RULE 파라미터를 설정한 경우 필수 파라미터가 됩니다. 이런 경우 산출 이미지의 너비를 픽셀 단위로 지정할 수 있습니다.

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

HEIGHT

이 파라미터는 기본적으로 쓰이지 않지만, RULE 파라미터를 설정한 경우 필수 파라미터가 됩니다. 이런 경우 산출 이미지의 높이를 픽셀 단위로 지정할 수 있습니다.

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

FORMAT

이 파라미터를 통해 범례 이미지 포맷을 지정할 수도 있습니다. 사용할 수 있는 값은 다음과 같습니다:

  • image/jpeg

  • image/png

  • application/json

JSON 포맷의 경우, 심볼을 Base64로 인코딩하고 조판이나 글꼴 관련 다른 옵션들은 연산에 넣지 않습니다. 범례는 클라이언트 쪽에서 작성되어야만 하기 때문입니다. JSON 포맷은 RULE 파라미터와 함께 사용할 수 없습니다.

다음은 산출물을 JSON 포맷으로 지정한 URL 예시입니다:

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

그리고 대응하는 JSON 산출물은 다음과 같습니다:

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

SRCWIDTH

RULE 파라미터를 설정한 경우 이 파라미터를 정의할 수도 있습니다. 이런 경우, 기저 GetMap 요청에 SRCWIDTH 값을 WIDTH 파라미터로 포워딩하고 GetLegendGraphic 요청의 WIDTH 파라미터는 이미지 범례 크기에 사용합니다.

SRCHEIGHT

RULE 파라미터를 설정한 경우 이 파라미터를 정의할 수도 있습니다. 이런 경우, 기저 GetMap 요청에 SRCHEIGHT 값을 HEIGHT 파라미터로 포워딩하고 GetLegendGraphic 요청의 HEIGHT 파라미터는 이미지 범례 크기에 사용합니다.

SHOWFEATURECOUNT

이 파라미터를 통해 범례에 피처 개수를 활성화시킬 수 있습니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

다음은 예시입니다:

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

RULE

이 파라미터를 통해 레이어 상에서 Rule-based 렌더링 작업을 할 수 있어, 지정한 규칙 심볼만 가진 범례를 작성할 수 있습니다. 이 파라미터는 BBOX 파라미터 또는 JSON 포맷과 함께 사용할 수 없습니다.

URL 예시:

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

RULELABEL

이 파라미터를 통해 항목 라벨 렌더링을 제어할 수 있습니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE: 항목 라벨 표시

  • FALSE: 항목 라벨 숨기기

  • AUTO: Single symbol 로 렌더링된 레이어의 경우 항목 라벨 숨기기

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

그림 3.5 단일 심볼 레이어의 라벨을 숨긴 범례 렌더링

BOXSPACE

이 파라미터를 통해 범례 프레임과 범례 내용 사이의 여백을 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 2 밀리미터입니다.

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

그림 3.6 왼쪽은 BOXSPACE=0 그리고 오른쪽은 BOXSPACE=15

LAYERSPACE

이 파라미터를 통해 레이어 사이의 수직 간격을 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 3 밀리미터입니다.

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

그림 3.7 왼쪽은 LAYERSPACE=0 그리고 오른쪽은 LAYERSPACE=10

LAYERTITLESPACE

이 파라미터를 통해 레이어 제목과 그 아래 항목들 사이의 수직 간격을 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 3 밀리미터입니다.

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

그림 3.8 왼쪽은 LAYERTITLESPACE=0 그리고 오른쪽은 LAYERTITLESPACE=10

SYMBOLSPACE

이 파라미터를 통해 심볼과 그 아래 항목 사이의 수직 간격을 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 2 밀리미터입니다.

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

그림 3.9 왼쪽은 SYMBOLSPACE=0 그리고 오른쪽은 SYMBOLSPACE=5

ICONLABELSPACE

이 파라미터를 통해 심볼과 라벨 텍스트 사이의 수평 간격을 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 2 밀리미터입니다.

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

그림 3.10 왼쪽은 ICONLABELSPACE=0 그리고 오른쪽은 ICONLABELSPACE=10

SYMBOLWIDTH

이 파라미터를 통해 심볼 미리보기의 너비를 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 7 밀리미터입니다.

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

그림 3.11 왼쪽은 SYMBOLWIDTH=2 그리고 오른쪽은 SYMBOLWIDTH=20

SYMBOLHEIGHT

이 파라미터를 통해 심볼 미리보기의 높이를 밀리미터 단위로 지정할 수 있습니다. 기본 여백값은 4 밀리미터입니다.

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

그림 3.12 왼쪽은 SYMBOLHEIGHT=2 그리고 오른쪽은 SYMBOLHEIGHT=6

LAYERTITLE

이 파라미터는 레이어 제목을 렌더링할지 여부를 지정합니다.

다음 값을 사용할 수 있습니다(대소문자 구분 안 함):

  • TRUE (기본값)

  • FALSE

LAYERFONTFAMILY

이 파라미터는 레이어 제목을 렌더링할 글꼴 계열을 지정합니다.

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

LAYERFONTBOLD

이 파라미터는 레이어 제목을 굵은 글꼴로 렌더링할지 여부를 지정합니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

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

그림 3.13 LAYERFONTBOLD=TRUE 로 렌더링한 범례

LAYERFONTSIZE

이 파라미터는 레이어 제목을 렌더링할 글꼴 크기를 포인트 단위로 지정합니다.

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

그림 3.14 LAYERFONTSIZE=20 으로 렌더링한 범례

LAYERFONTITALIC

이 파라미터는 레이어 제목을 기울인 글꼴로 렌더링할지 여부를 지정합니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

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

그림 3.15 LAYERFONTITALIC=TRUE 로 렌더링한 범례

LAYERFONTCOLOR

이 파라미터는 레이어 제목 글꼴 색상을 지정합니다. 색상을 지원하는 색상 이름으로 (red, green, …) 지정할 수도 있고, 16진법 표기법으로 (0xFF0000, 0x00FF00, …) 지정할 수도 있습니다.

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

그림 3.16 LAYERFONTCOLOR=0x5f9930 으로 렌더링한 범례

ITEMFONTFAMILY

이 파라미터는 항목 라벨을 렌더링할 글꼴 계열을 지정합니다.

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

ITEMFONTBOLD

이 파라미터는 항목 라벨을 굵은 글꼴로 렌더링할지 여부를 지정합니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

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

그림 3.17 ITEMFONTBOLD=TRUE 로 렌더링한 범례

ITEMFONTSIZE

이 파라미터는 레이어 제목을 렌더링할 글꼴 크기를 포인트 단위로 지정합니다.

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

그림 3.18 ITEMFONTSIZE=30 으로 렌더링한 범례

ITEMFONTITALIC

이 파라미터는 항목 라벨을 기울인 글꼴로 렌더링할지 여부를 지정합니다. 사용할 수 있는 값은 다음과 같습니다(대소문자 구분 안 함):

  • TRUE

  • FALSE

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

그림 3.19 ITEMFONTITALIC=TRUE 로 렌더링한 범례

ITEMFONTCOLOR

이 파라미터는 항목 라벨 글꼴 색상을 지정합니다. 색상을 지원하는 색상 이름으로 (red, green, …) 지정할 수도 있고, 16진법 표기법으로 (0xFF0000, 0x00FF00, …) 지정할 수도 있습니다.

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

그림 3.20 ITEMFONTCOLOR=0x5f9930 으로 렌더링한 범례

3.2.5. GetStyle(s)

OGC WMS 1.1.1 사양에 따른 GetStyle (또는 GetStyles) 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetStyle 또는 GetStyles)의 이름

LAYERS

Ο

쿼리할 레이어

GetStyle 요청은 다음 상용 소프트웨어의 파라미터도 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

URL 예시:

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

3.2.6. DescribeLayer

OGC WMS 1.1.1 및 1.3.0 사양에 따른 DescribeLayer 요청용 표준 파라미터:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(DescribeLayer)의 이름

LAYERS

Ο

설명할 레이어

SLD_VERSION

Ο

SLD 버전

DescribeLayer 요청은 다음 상용 소프트웨어의 파라미터도 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

URL 예시:

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

XML 문서의 예시:

<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

이 파라미터를 통해 SLD의 버전을 지정할 수 있습니다. 1.1.0 값만 사용할 수 있습니다.

3.2.7. GetPrint

QGIS 서버는 인쇄 조판 출력물을 PDF 또는 픽셀 포맷으로 생성할 수 있습니다. 게시된 프로젝트에 있는 인쇄 조판기 창을 템플릿으로 사용합니다. 클라이언트는 GetPrint 요청 안에 템플릿이 담고 있는 조판 맵 및 라벨의 파라미터를 지정할 수 있습니다.

GetPrint 요청은 레드라이닝, 외부 WMS 레이어 는 물론 다음 파라미터도 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetPrint)의 이름

VERSION

서비스의 버전

LAYERS

표시할 레이어

TEMPLATE

Ο

사용할 레이어 템플릿

SRS / CRS

Ο

좌표계

FORMAT

출력물 포맷

ATLAS_PK

지도책 피처

STYLES

레이어의 스타일

TRANSPARENT

투명한 배경

OPACITIES

레이어 또는 레이어 그룹의 투명도

SELECTION

피처를 강조합니다.

mapX:EXTENT

맵 ‘X’ 의 범위

mapX:LAYERS

맵 ‘X’ 의 레이어

mapX:STYLES

맵 ‘X’ 의 레이어의 스타일

mapX:SCALE

맵 ‘X’ 의 레이어의 축척

mapX:ROTATION

맵 ‘X’ 의 기울기

mapX:GRID_INTERVAL_X

맵 ‘X’ 의 X축 그리드 간격

mapX:GRID_INTERVAL_Y

맵 ‘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: 파라미터를 사용해야 합니다. 이때 XGetProjectSettings 요청 시 받아올 수 있는 양수(陽數)입니다.

다음은 예시입니다:

<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

이 파라미터는 조판기 맵 항목의 레이어를 지정합니다. 이 파라미터에 대해 더 자세한 정보를 알고 싶다면 GetMap 레이어 를 참조하세요.

mapX:STYLES

이 파라미터는 특정 조판기 맵 항목에 정의된 레이어 스타일을 지정합니다. 이 파라미터에 대해 더 자세한 정보를 알고 싶다면 GetMap 스타일 을 참조하세요.

3.2.8. GetProjectSettings

이 요청 유형은 GetCapabilities 와 비슷하게 작동하지만 좀 더 QGIS 서버에 특화되어 있고, 클라이언트가 GetCapabilities 산출물에는 없는 추가 정보를 읽어올 수 있게 해줍니다:

  • 레이어의 초기 가시성

  • 벡터 속성 및 속성 편집 유형 관련 정보

  • 레이어 순서 및 렌더링 순서 관련 정보

  • WFS에 게시된 레이어 목록

  • 레이어 트리에 있는 그룹이 상호 배타적 인 경우 표시합니다.

GetProjectSettings 요청은 다음 파라미터를 지원합니다:

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetProjectSettings)의 이름

3.2.9. GetSchemaExtension

GetSchemaExtension 요청을 통해 QGIS 서버가 구현한 것과 같은 WMS 서비스의 부가적으로 확장된 케이퍼빌리티 및 작업 내용을 검색할 수 있습니다.

파라미터

필수 여부

설명

MAP

Ο

QGIS 프로젝트 파일

SERVICE

Ο

서비스(WMS)의 이름

REQUEST

Ο

요청(GetSchemaExtension)의 이름

URL 예시:

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

XML 문서의 예시:

<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 서버는 WMS GetMap 및 WMS GetPrint 요청에 외부 WMS 서버의 레이어를 포함시킬 수 있습니다. 웹 클라이언트가 웹 지도에 외부 배경 레이어를 사용하는 경우 특히 유용한 기능입니다. 성능 상의 이유로, 웹 클라이언트가 이런 외부 레이어를 (QGIS 서버를 경유하는 것이 아니라) 직접 요청해야 합니다. 하지만 인쇄 작업의 경우, 지도에 이런 외부 레이어를 인쇄하려면 QGIS 서버를 통해 외부 레이어를 경유시켜야 합니다.

LAYERS 파라미터에 외부 레이어를 EXTERNAL_WMS:<layername> 으로 추가할 수 있습니다. 외부 WMS 레이어의 파라미터는 (예: URL, 포맷, dpiMode, 좌표계, 레이어, 스타일) 나중에 <layername>:<parameter> 서식의 서비스 파라미터로 지정할 수 있습니다. GetMap 요청에서 이런 서비스 파라미터는 다음과 같이 보일 것입니다:

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

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)

이 기능은 GetMapGetPrint 요청과 함께 사용할 수 있습니다.

요청 안에 있는, 서버가 반환한 표준 이미지(맵) 위에 중첩되는 도형 및 라벨을 전송하는 데 이 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

다음 그림은 앞의 요청을 통해 일반 맵 위에 폴리곤 및 라벨을 렌더링한 출력물을 보여줍니다:

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

그림 3.21 REDLINING 파라미터를 보유한 GetMap 요청에 대한 서버의 응답

이 요청에 레드라이닝 피처를 제어하기 위한 몇몇 파라미터가 존재한다는 사실을 알 수 있습니다. 이런 파라미터의 전체 목록은 다음과 같습니다:

  • HIGHLIGHT_GEOM: 포인트, 멀티라인스트링, 폴리곤 등을 추가할 수 있습니다. 다중 부분 도형도 지원합니다. 이 파라미터는 HIGHLIGHT_GEOM=MULTILINESTRING((0 0, 0 1, 1 1)) 과 같이 사용할 수 있습니다. 사용 좌표는 GetMap / GetPrint 요청의 좌표계의 좌표여야 합니다.

  • HIGHLIGHT_LABELBUFFERCOLOR: 이 파라미터는 라벨 버퍼의 색상을 제어합니다.

  • HIGHLIGHT_LABELBUFFERSIZE: 이 파라미터는 라벨 버퍼의 크기를 제어합니다.

  • HIGHLIGHT_LABELCOLOR: 이 파라미터는 라벨의 색상을 제어합니다.

  • HIGHLIGHT_LABEL_DISTANCE: (포인트 또는 라인 같은) 피처와 라벨 사이의 거리를 밀리미터 단위로 제어합니다.

  • HIGHLIGHT_LABELFONT: 이 파라미터는 라벨의 글꼴(예: Arial)을 제어합니다.

  • HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT: 지정한 정렬을 (예: ‘왼쪽’, ‘가운데’, ‘오른쪽’) 이용해서 포인트 위에 라벨을 수평으로 배치합니다.

  • HIGHLIGHT_LABEL_ROTATION: 라벨의 기울기를 도 단위로 제어합니다.

  • HIGHLIGHT_LABELSIZE: 이 파라미터는 라벨의 크기를 제어합니다.

  • HIGHLIGHT_LABELSTRING: 이 파라미터를 통해 사용자의 라벨 텍스트를 넘겨줄 수 있습니다.

  • HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT: 지정한 정렬을 (예: ‘위로’, ‘가운데’, ‘아래로’) 이용해서 포인트 위에 라벨을 수직으로 배치합니다.

  • HIGHLIGHT_SYMBOL: 이 파라미터는 도형의 외곽선을 어떻게 렌더링할지 제어하며, 사용자가 획의 너비, 색상 및 불투명도를 변경할 수 있습니다.