3.4. WCS(웹 커버리지 서비스)
QGIS 서버에 구현된 WCS 1.0.0 및 1.1.1 표준은 QGIS 프로젝트로부터 나오는 커버리지(coverage) 라고 불리는 래스터 데이터에 접근할 수 있는 HTTP 인터페이스를 제공합니다.
사양:
QGIS 서버가 제공하는 표준 요청:
요청 |
설명 |
---|---|
서버에 대한 정보를 담은 XML 메타데이터를 반환 |
|
커버리지에 대한 추가 정보를 담은 XML 문서를 검색 |
|
커버리지 검색 |
3.4.1. GetCapabilities
OGC WCS 1.1.1 사양에 따른 GetCapabilities 요청용 표준 파라미터:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
서비스(WCS)의 이름 |
|
Ο |
요청(GetCapabilities)의 이름 |
|
X |
서비스의 버전 |
표준 파라미터 이외에도, QGIS 서버는 다음과 같은 추가 파라미터를 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
QGIS 프로젝트 파일 |
URL 예시:
http://localhost/qgisserver?
SERVICE=WCS
&VERSION=1.1.1
&REQUEST=GetCapabilities
WCS 서비스를 위해 QGIS 프로젝트에서 (T20QPD_20171123T144719_TCI
라는 이름의) 단일 래스터 레이어를 게시한 경우의 XML 문서 예시:
<WCS_Capabilities xmlns="http://www.opengis.net/wcs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" updateSequence="0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd">
<Service>
...
</Service>
<Capability>
...
</Capability>
<ContentMetadata>
<CoverageOfferingBrief>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
<gml:pos>-61.585973 16.331189</gml:pos>
<gml:pos>-61.52537 16.400376</gml:pos>
</lonLatEnvelope>
</CoverageOfferingBrief>
</ContentMetadata>
</WCS_Capabilities>
VERSION
이 파라미터를 통해 사용할 서비스의 버전을 지정할 수 있습니다. 현재 버전 값은 내부적으로 사용되지 않으며 언제나 1.1.1
로 돌아올 것입니다.
3.4.2. DescribeCoverage
이 요청을 통해 기저 데이터소스의 포맷, 밴드 개수 등등과 같은 커버리지 관련 추가 정보를 검색할 수 있습니다. OGC WCS 1.1.1 사양을 따르는 DescribeCoverage 요청 용 표준 파라미터는 다음과 같습니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
서비스(WCS)의 이름 |
|
Ο |
요청(DescribeCoverage)의 이름 |
|
X |
서비스의 버전 |
|
X |
커버리지 레이어(WCS 1.0.0)를 지정 |
|
X |
커버리지 레이어(WCS 1.1.1)를 지정 |
표준 파라미터 이외에도, QGIS 서버는 다음과 같은 추가 파라미터를 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
QGIS 프로젝트 파일 |
밴드 3개를 가진 GeoTIFF 래스터 레이어에 대한 XML 문서의 예시:
<CoverageDescription xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.opengis.net/wcs" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" updateSequence="0" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd">
<CoverageOffering>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
...
</lonLatEnvelope>
<domainSet>
...
</domainSet>
<rangeSet>
<RangeSet>
<name>Bands</name>
<label>Bands</label>
<axisDescription>
<AxisDescription>
<name>bands</name>
<label>bands</label>
<values>
<singleValue>1</singleValue>
<singleValue>2</singleValue>
<singleValue>3</singleValue>
</values>
</AxisDescription>
</axisDescription>
</RangeSet>
</rangeSet>
<supportedCRSs>
...
</supportedCRSs>
<supportedFormats nativeFormat="raw binary">
<formats>GeoTIFF</formats>
</supportedFormats>
</CoverageOffering>
</CoverageDescription>
COVERAGE
WCS 1.0.0
에 정의된 이 파라미터를 통해 추가 정보를 쿼리할 레이어를 지정할 수 있습니다. 레이어명을 쉼표로 구분해야 합니다.
이에 더해, QGIS 서버는 레이어의 단축명으로 레이어를 선택할 수 있는 옵션을 도입했습니다. 레이어 단축명은 레이어 메뉴에 있는
메뉴 항목을 통해 환경 설정할 수 있습니다. 단축명을 정의한 경우, 기본적으로 레이어명 대신 단축명을 사용합니다:http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=DescribeCoverage
&COVERAGE=mylayer1name,mylayer2shortname
참고
IDENTIFIER
파라미터를 설정하지 않았다면 반드시 COVERAGE
파라미터를 설정해야만 합니다.
IDENTIFIER
WCS 1.1.1
사양에서는 이 파라미터가 COVERAGE 를 대체합니다. 그러나 QGIS 서버는 VERSION
파라미터에 따라 필터링하지 않기 때문에 IDENTIFIER
와 COVERAGE
가 동일한 효과를 보입니다.
참고
COVERAGE
파라미터를 설정하지 않았다면 반드시 IDENTIFIER
파라미터를 설정해야만 합니다. 만약 IDENTIFIER
및 COVERAGE
둘 다 정의했다면 항상 COVERAGE
를 우선해서 사용합니다.
3.4.3. GetCoverage
이 요청을 통해 범위 또는 좌표계 같은 특정 제약조건을 따르는 커버리지를 검색할 수 있습니다. OGC WCS 1.1.1 사양을 따르는 GetCoverage 요청 용 표준 파라미터는 다음과 같습니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
서비스(WCS)의 이름 |
|
Ο |
요청(GetCoverage)의 이름 |
|
X |
서비스의 버전 |
|
X |
커버리지 레이어(WCS 1.0.0)를 지정 |
|
X |
커버리지 레이어(WCS 1.1.1)를 지정 |
|
Ο |
응답의 픽셀 단위 너비 |
|
Ο |
응답의 픽셀 단위 높이 |
|
Ο |
좌표계 단위로 된 맵 범위 |
|
Ο |
범위의 좌표계 |
|
X |
응답의 좌표계 |
표준 파라미터 이외에도, QGIS 서버는 다음과 같은 추가 파라미터를 지원합니다:
파라미터 |
필수 여부 |
설명 |
---|---|---|
Ο |
QGIS 프로젝트 파일 |
BBOX
이 파라미터를 통해 맵 범위를 현재 좌표계 단위로 지정할 수 있습니다. 좌표를 쉼표로 구분해야 합니다. BBOX
파라미터의 서식은 minx,miny,maxx,maxy
와 같습니다.
URL 예시:
http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=GetCoverage
&IDENTIFIER=T20QPD_20171123T144719_TCI
&BBOX=647533,1805950,660987,1813940
&CRS=EPSG:32620
CRS
이 파라미터를 통해 BBOX
파라미터의 공간좌표계를 지정할 수 있습니다. EPSG:XXXX
와 같은 서식이어야 합니다.
RESPONSE_CRS
이 파라미터를 통해 응답 산출물의 공간좌표계를 지정할 수 있습니다. EPSG:XXXX
와 같은 서식이어야 합니다. 기본적으로 대응하는 커버리지 레이어의 좌표계를 사용합니다.
WIDTH
이 파라미터를 통해 산출 이미지의 너비를 픽셀 단위로 지정할 수 있습니다. 응답 이미지의 해상도가 이 값에 따라 달라집니다.
HEIGHT
이 파라미터를 통해 산출 이미지의 높이를 픽셀 단위로 지정할 수 있습니다. 응답 이미지의 해상도가 이 값에 따라 달라집니다.