3.4. WCS(웹 커버리지 서비스)

QGIS 서버에 구현된 WCS 1.0.01.1.1 표준은 QGIS 프로젝트로부터 나오는 커버리지(coverage) 라고 불리는 래스터 데이터에 접근할 수 있는 HTTP 인터페이스를 제공합니다.

사양:

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

요청

설명

GetCapabilities

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

DescribeCoverage

커버리지에 대한 추가 정보를 담은 XML 문서를 검색

GetCoverage

커버리지 검색

3.4.1. GetCapabilities

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

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WCS)의 이름

REQUEST

Ο

요청(GetCapabilities)의 이름

VERSION

서비스의 버전

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

파라미터

필수 여부

설명

MAP

Ο

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 요청 용 표준 파라미터는 다음과 같습니다:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WCS)의 이름

REQUEST

Ο

요청(DescribeCoverage)의 이름

VERSION

서비스의 버전

COVERAGE

커버리지 레이어(WCS 1.0.0)를 지정

IDENTIFIER

커버리지 레이어(WCS 1.1.1)를 지정

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

파라미터

필수 여부

설명

MAP

Ο

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 서버는 레이어의 단축명으로 레이어를 선택할 수 있는 옵션을 도입했습니다. 레이어 단축명은 레이어 메뉴에 있는 Properties ► Metadata 메뉴 항목을 통해 환경 설정할 수 있습니다. 단축명을 정의한 경우, 기본적으로 레이어명 대신 단축명을 사용합니다:

http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=DescribeCoverage
&COVERAGE=mylayer1name,mylayer2shortname

참고

IDENTIFIER 파라미터를 설정하지 않았다면 반드시 COVERAGE 파라미터를 설정해야만 합니다.

IDENTIFIER

WCS 1.1.1 사양에서는 이 파라미터가 COVERAGE 를 대체합니다. 그러나 QGIS 서버는 VERSION 파라미터에 따라 필터링하지 않기 때문에 IDENTIFIERCOVERAGE 가 동일한 효과를 보입니다.

참고

COVERAGE 파라미터를 설정하지 않았다면 반드시 IDENTIFIER 파라미터를 설정해야만 합니다. 만약 IDENTIFIERCOVERAGE 둘 다 정의했다면 항상 COVERAGE 를 우선해서 사용합니다.

3.4.3. GetCoverage

이 요청을 통해 범위 또는 좌표계 같은 특정 제약조건을 따르는 커버리지를 검색할 수 있습니다. OGC WCS 1.1.1 사양을 따르는 GetCoverage 요청 용 표준 파라미터는 다음과 같습니다:

파라미터

필수 여부

설명

SERVICE

Ο

서비스(WCS)의 이름

REQUEST

Ο

요청(GetCoverage)의 이름

VERSION

서비스의 버전

COVERAGE

커버리지 레이어(WCS 1.0.0)를 지정

IDENTIFIER

커버리지 레이어(WCS 1.1.1)를 지정

WIDTH

Ο

응답의 픽셀 단위 너비

HEIGHT

Ο

응답의 픽셀 단위 높이

BBOX

Ο

좌표계 단위로 된 맵 범위

CRS

Ο

범위의 좌표계

RESPONSE_CRS

응답의 좌표계

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

파라미터

필수 여부

설명

MAP

Ο

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

이 파라미터를 통해 산출 이미지의 높이를 픽셀 단위로 지정할 수 있습니다. 응답 이미지의 해상도가 이 값에 따라 달라집니다.

../../../_images/server_wcs_getcoverage_width_height.png

그림 3.22 왼쪽에서 오른쪽 방향으로: WIDTH=20&HEIGHT=20, WIDTH=50&HEIGHT=50, WIDTH=100&HEIGHT=100