20. OGC / ISO 프로토콜 작업

OGC(Open Geospatial Consortium)는 전 세계 300여 개 이상의 기업, 정부 기관, 비영리 단체 및 연구소가 회원으로 참여하고 있는 국제 기구입니다. OGC 회원들은 지리공간 콘텐츠 및 서비스, GIS 데이터 공간 처리 및 교환을 위한 표준을 개발하고 구현하고 있습니다.

Describing a basic data model for geographic features, an increasing number of specifications are developed by OGC to serve specific needs for interoperable location and geospatial technology, including GIS. Further information can be found at https://www.ogc.org/.

QGIS가 지원하는 중요한 OGC 사양은 다음과 같습니다:

OGC 서비스는 서로 다른 GIS 구현 및 데이터소스 사이에 지리공간 데이터를 교환하기 위해 점점 더 많이 이용되고 있습니다. QGIS는 앞에서 소개한 사양들을 클라이언트로서, SFS 로서(PostgreSQL/PostGIS 데이터 제공자의 지원을 통해, PostGIS 레이어 참조) 처리할 수 있습니다.

QGIS 서버, UMN MapServer 또는 GeoServer를 설치하고 웹 서버를 사용해서 WMS, WMTS, WFS, WFS-T 및 WCS 프로토콜을 통해 사용자의 맵과 데이터를 공유할 수도 있습니다.

20.1. WMS/WMTS 클라이언트

20.1.1. WMS 지원 개요

QGIS는 현재 WMS 1.1, 1.1.1 및 1.3을 알아듣는 WMS 클라이언트 역할을 할 수 있습니다. 특히, DEMIS 처럼 공개된 서버를 대상으로 검증했습니다.

WMS 서버는 클라이언트(예: QGIS)가 범위, 레이어 집합, 심볼화 스타일, 그리고 투명도를 지정해서 래스터 맵을 요청하면 그에 따라 동작합니다. WMS 서버가 요청을 받으면 서버의 로컬 데이터소스를 찾아보고, 맵을 래스터화한 다음, 클라이언트에게 래스터 포맷으로 전송합니다. QGIS의 경우, 이 포맷은 일반적으로 JPEG 또는 PNG 파일입니다.

일반적으로 WMS는 완전한 웹 서비스라기보다는 REST(Representational State Transfer) 서비스에 더 가깝습니다. 따라서, QGIS가 생성한 URL을 가져다 웹 브라우저에 입력하면 QGIS가 내부적으로 이용하는 이미지와 동일한 이미지를 받을 수 있습니다. 이 방법은 문제 해결에 유용합니다. 지금 시중에 여러 브랜드의 WMS 서버가 존재하는데, 모두 자신만의 방식으로 WMS 표준을 해석하고 있기 때문입니다.

사용자가 WMS 서버에 접근할 수 있는 URL을 알고 있고, 해당 서버로 쓸 만한 인터넷 연결이 가능하며, 서버가 HTTP를 데이터 전송 프로토콜이라고 이해하고 있는 경우, WMS 레이어를 매우 쉽게 추가할 수 있습니다.

또한, QGIS는 GetCapabilities 요청이 전송되지 않는 한 사용자의 WMS 응답(예: 이미지)을 24 시간 동안 캐시에 담아둘 것입니다. GetCapabilities 요청은 WMS 서버 기능을 받아오기 위해 Add Layer(s) from WMS(T) Server 대화창에 있는 Connect 버튼을 누를 때마다 전송됩니다. 프로젝트를 불러오는 시간을 최적화하기 위한 자동 기능입니다. 프로젝트를 WMS 레이어와 함께 저장하는 경우, 24시간이 넘지 않은 한, 다음 번에 이 프로젝트를 열 때 캐시에서 대응하는 WMS 타일을 불러올 것입니다.

20.1.2. WMTS 지원 개요

QGIS는 WMTS 클라이언트 역할도 할 수 있습니다. WMTS란 지리공간 데이터의 타일셋을 배포하기 위한 OGC 표준입니다. WMTS는 WMS보다 더 빠르고 효율적으로 데이터를 배포할 수 있습니다. 왜냐하면 WMTS가 사전에 타일셋을 생성해놓기 때문에, 클라이언트가 타일셋의 전송만을 요청하지 생성을 요청하는 것이 아니기 때문입니다. 이에 반해 WMS 요청은 일반적으로 데이터의 생성 및 전송 둘 다 요구합니다. OGC 표준이 아닌 서비스 가운데 타일로 구성된 지리공간 데이터를 살펴볼 수 있는 잘 알려진 예시라면 역시 구글맵이겠죠.

사용자가 원할 수도 있는 수준에 가깝도록 데이터를 다양한 축척으로 표시하기 위해, WMTS 타일셋은 서로 다른 여러 축척 수준으로 생성되며, GIS 클라이언트가 요청하는 경우 사용할 수 있도록 준비됩니다.

다음 도표는 타일셋의 개념을 설명하고 있습니다:

../../../_images/concept_wmts.png

그림 20.1 WMTS 타일셋의 개념

QGIS는 키-값 쌍(Key-Value-Pairs; KVP) 및 RESTful을 통해 두 가지 유형의 WMTS 인터페이스를 지원합니다. 이 두 인터페이스는 서로 다르기 때문에, QGIS에서도 서로 다르게 설정해줘야 합니다.

  1. WMTS KVP 서비스에 접근하기 위해, QGIS 사용자는 WMS/WMTS 인터페이스를 열고 WMTS 타일 서비스의 URL에 다음과 같은 문자열을 추가해야만 합니다:

    "?SERVICE=WMTS&REQUEST=GetCapabilities"
    

    다음은 이런 주소 유형의 예시입니다:

    https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
      service=WMTS&request=GetCapabilities
    

    이 WMTS에 있는 topo2 레이어를 검증하는 작업은 잘 진행됩니다. 이 문자열을 추가한다는 것은 WMS 웹 서비스 대신 WMTS 웹 서비스를 이용한다는 뜻입니다.

  2. RESTful WMTS 서비스는 다른 형태의, 복잡하지 않은 URL을 이용합니다. OGC가 추천하는 서식은 다음과 같습니다:

    {WMTSBaseURL}/1.0.0/WMTSCapabilities.xml
    

    이 서식으로 해당 URL이 RESTful 주소라는 사실을 알 수 있습니다. QGIS의 WMS 설정 양식에 있는 URL 란에 RESTful WMTS 주소를 추가하는 것만으로도 RESTful WMTS 웹서비스에 접근할 수 있습니다. 오스트리아의 기본도(basemap)의 경우, 이런 주소 유형의 예시가 바로 https://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml 입니다.

참고

지금도 WMS-C라는 구식 서비스를 몇 개 찾을 수 있습니다. 이 서비스는 WMTS와 매우 비슷합니다. (목적은 동일하지만 작동 방식이 약간 다릅니다.) WMTS 서비스를 관리하는 것과 동일한 방식으로 이 서비스를 관리할 수 있습니다. URL 끝에 ?tiled=true 문자열만 추가하면 됩니다. 이 서비스의 사양에 대해 더 알고 싶다면 타일 맵 서비스 사양 을 참조하세요.

사용자 입장에서는 WMTS와 WMS-C를 종종 헷갈릴 수도 있습니다.

20.1.3. WMS/WMTS 서버 선택하기

처음으로 QGIS에서 WMS 기능을 사용하는 경우, 정의돼 있는 서버가 없을 겁니다.

그러면 사용자가 원하는 서버에 대해 연결을 생성해야 합니다:

  1. 다음 가운데 한 방법으로 Data Source Manager 대화창의 wms WMS/WMTS 탭으로 가십시오:

    • dataSourceManager Open Data Source Manager 버튼(또는 Ctrl+L 키)을 누른 다음 탭을 활성화합니다.

    • 레이어 관리 툴바에 있는 addWmsLayer Add WMS layer 버튼을 클릭합니다.

    • 또는 Layer ► Add Layer ► addWmsLayer Add WMS/WMTS Layer… 메뉴를 선택합니다.

  2. Layers 탭에서 New… 버튼을 누르십시오. Create a New WMS/WMTS Connection… 대화창이 열립니다.

    탐색기 패널 에서 wms WMS/WMTS 항목을 오른쪽 클릭한 다음 New Connection… 을 선택해도 Create a New WMS/WMTS Connection… 대화창이 열립니다.

  3. 이제 사용자가 원하는 WMS 서버에 연결하기 위한 파라미터를 다음에 나열한 순서대로 입력하십시오:

    ../../../_images/add_connection_wms.png

    그림 20.2 WMS 서버에 연결 생성하기

    • Name: 해당 연결을 위한 명칭입니다. 사용자가 다른 WMS 서버와 구별할 수 있도록, Server Connections 드롭다운 목록에 이 명칭을 추가할 것입니다.

    • URL: 데이터를 제공하는 서버의 URL입니다. 이 URL은 분해할 수 있는 호스트명 – 사용자가 텔넷 연결을 열거나 또는 호스트를 핑하기 위해 사용할 URL과 동일한, 예를 들면 기본 URL만 있는 서식이어야만 합니다. 예를 들어, 사용자 URL에 request=GetCapabilities 또는 version=1.0.0 같은 부가 문자열이 있어서는 안 됩니다.

    • Authentication (선택적): 저장된 환경 설정 또는 UsernamePassword 를 가진 기본 인증을 사용합니다.

      경고

      Authentication 탭에서 사용자명비밀번호 를 입력하면 연결 환경 설정에 보안되지 않은 인증 정보를 유지하게 됩니다. 예를 들면, 다른 사용자와 프로젝트 파일을 공유하는 경우, 이런 인증 정보가 노출될 것입니다. 따라서 인증 환경 설정 (Configurations 탭)에 사용자 인증 정보를 대신 저장하는 편이 좋습니다. 더 자세한 내용은 인증 시스템 를 참조하세요.

    • HTTP Referer

    • DPI-Mode: all, off, QGIS, UMNGeoServer 옵션 가운데 선택할 수 있습니다.

    • unchecked Ignore GetMap/GetTile URI reported in capabilities: 이 옵션을 체크하면, 위에 있는 URL 필드에서 지정한 URI를 사용합니다.

    • unchecked Ignore GetFeatureInfo URI reported in capabilities: 이 옵션을 체크하면, 위에 있는 URL 필드에서 지정한 URI를 사용합니다.

    • unchecked Ignore axis orientation (WMS 1.3/WMTS)

    • unchecked Ignore reported layer extents: (특히 데이터 범위보다 공간을 더 차지하는 심볼을 가진 WMS 서버의 경우) 래스터 레이어가 보고한 영역이 렌더링할 수 있는 실제 면적보다 작을 수도 있기 때문에, 이 옵션을 체크하면 래스터 레이어를 보고된 영역대로 잘라 레이어 경계선에 잘린 심볼을 산출하는 일을 피할 수 있습니다.

    • unchecked Invert axis orientation

    • unchecked Smooth pixmap transformation

  4. OK 를 클릭하십시오.

새 WMS 서버 연결을 생성하고 나면, 향후 QGIS 세션을 위해 새 연결을 보존합니다.

인터넷에서 WMS 서비스를 받아올 수 있으려면 프록시 서버를 설정해야 하는 경우, 옵션에서 사용자 프록시 서버를 추가할 수 있습니다. Settings ► Options 메뉴를 선택하고 Network 탭을 선택하십시오. 이 탭에서 사용자의 프록시 설정을 추가한 다음 checkbox Use proxy for web access 옵션을 체크하면 프록시 서버를 활성화시킬 수 있습니다. Proxy type selectString 드롭다운 목록에서 올바른 프록시 유형을 선택했는지 확인해야 합니다.

20.1.4. WMS/WMTS 레이어 불러오기

사용자 파라미터를 성공적으로 입력하고 나면, Connect 버튼을 클릭해서 선택한 서버의 기능(capability)을 받아올 수 있습니다. 이 기능은 이미지 인코딩, 레이어, 레이어 스타일 그리고 투영체를 담고 있습니다. 네트워크 작업이기 때문에, WMS 서버에 연결된 사용자 네트워크의 품질에 따라 응답 속도가 달라집니다. WMS 서버에서 데이터를 다운로드하는 동안, 메인 QGIS 대화창 좌하단에 다운로드 진행 상태를 표시합니다.

사용자의 스크린이 이제 그림 20.3 과 비슷하게 보일 것입니다. 이 그림은 WMS 서버의 응답을 보여주고 있습니다.

../../../_images/connection_wms.png

그림 20.3 사용할 수 있는 레이어를 필터링해서 WMS 서버를 추가하는 대화창

대화창의 Layers 탭 상단에는 서버가 서비스하는 관련 이미지 스타일(들)을 가진 레이어들을 내장하고 있는 레이어 그룹들을 포함할 수 있는 트리 구조가 표시됩니다. 각 항목은 다음으로 식별됩니다:

  • ID

  • Name

  • Title

  • 그리고 Abstract

우상단에 있는 search 위젯을 사용해서 이 목록을 필터링할 수 있습니다.

이미지 인코딩

Image encoding 옵션은 클라이언트와 서버 둘 다 지원하는 이미지 포맷들을 표시합니다. 사용자의 이미지 정확도 요구 사항에 따라 하나를 선택하십시오.

이미지 인코딩

WMS 서버는 일반적으로 JPEG 또는 PNG 이미지 인코딩 가운데 하나를 선택할 수 있는 옵션을 제공하고 있습니다. JPEG은 손실 압축 포맷인 반면, PNG는 원시(raw) 래스터 데이터를 충실히 재현합니다.

WMS 데이터가 본질적으로 사진 같기를 기대하고, 그리고/또는 이미지 품질이 약간 떨어져도 괜찮다면 JPEG을 선택하십시오. PNG와 비교하면 데이터 전송 요구 사항이 일반적으로 1/5로 줄어듭니다.

원본 데이터를 정확히 재현하기를 원하고 데이터 전송 요구 사항이 늘어나도 괜찮다면 PNG를 선택하십시오.

옵션

대화창의 옵션 부분에서 WMS 요청을 환경 설정합니다. 다음을 정의할 수 있습니다:

  • WMS 요청을 여러 요청으로 나누기 위해 타일 크기를 설정하려는 경우 (예: 256x256) Tile size 에서 타일 크기를 설정할 수 있습니다.

  • Request step size: if you want to reduce the effect of cut labels at tile borders, increasing the step size creates larger requests, fewer tiles and fewer borders. The default value is 2000.

  • 서버로부터 전송되는 Maximum number of GetFeatureInfo results

  • WMS 서버의 케이퍼빌리티에 따라 각 WMS 레이어를 여러 개의 좌표계로 표현할 수 있습니다. 목록에서 WMS를 선택하면 웹 서버가 제공하는 기본 투영법을 가진 필드가 나타납니다. WMS 기본 투영법을 WMS 서버가 지원하는 또다른 좌표계로 대체하려면 setProjection Select CRS 위젯을 클릭하십시오.

    그림 10.3 과 비슷한 대화창이 뜰 것입니다. WMS 버전 대화창과 가장 다른 점은 WMS 서버가 지원하는 좌표계들만 표시될 것이라는 사실입니다.

  • 마지막으로 WMS 서버가 해당 기능을 지원하는 경우 checkbox Use contextual WMS Legend 옵션을 활성화할 수 있습니다. 이 옵션을 활성화하면 사용자의 현재 맵 뷰 범위에 관련이 있는 범례만 표시할 것입니다. 즉 사용자가 현재 맵에서 볼 수 없는 항목에 대한 범례 항목은 담지 않는다는 뜻입니다.

대화창의 하단에 있는 Layer name 텍스트 필드가 선택한 항목의 Title 을 표시합니다. 사용자 마음대로 이 제목을 변경할 수 있습니다. Add 버튼을 눌러 레이어(들)를 QGIS로 불러오면 Layers 패널에 이 이름이 나타날 것입니다.

한 번에 여러 레이어를 선택할 수 있지만, 레이어 하나 당 이미지 스타일 하나만 선택할 수 있습니다. 여러 레이어를 선택한 경우, WMS 서버에서 레이어들을 하나로 결합한 다음, 한 번에 단일 레이어를 QGIS로 전송합니다. 기본 이름은 원래 레이어 제목을 슬래시(/)로 구분한 목록입니다.

레이어 정렬

Layer Order 탭은 현재 연결된 WMS 서버에서 사용할 수 있는 레이어들 가운데 선택한 레이어의 목록을 담고 있습니다.

WMS 서버는 레이어를 Layers 탭에 있는 목록의 순서대로, 목록의 맨 위에서 맨 아래 순서로 중첩시켜 렌더링합니다. 이 중첩 순서를 변경하고 싶다면, Layer Order 탭의 UpDown 버튼을 사용해서 목록 순서를 변경할 수 있습니다.

투명도

Layer Properties 에 있는 Global transparency 설정은 적용할 수 있는 경우라면 언제 어디서든 활성화돼 있도록 하드 코딩돼 있습니다.

20.1.5. 타일셋

WMTS(캐시된 WMS) 서비스를 다음과 같이 사용하는 경우

https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

서버가 제공한 Tilesets 탭을 통해 타일셋을 탐색할 수 있습니다. 타일 크기, 포맷, 지원 좌표계와 같은 추가 정보가 이 목록 테이블에 정리돼 있습니다. 이 기능과 함께, View ► Panels (또는 kde Settings ► Panels) 메뉴 옵션을 클릭한 다음 Tile Scale Panel 을 선택하면 타일 축척 슬라이드 바를 이용할 수 있습니다. 이렇게 하면 타일 서버에서 사용할 수 있는 축척들을 도킹된 멋진 슬라이드 바를 통해 알 수 있습니다.

20.1.6. 식별 도구 이용하기

WMS 서버를 추가한 후에 그리고 WMS 서버에 쿼리 가능한 레이어가 있는 경우, identify Identify 도구를 사용해서 맵 캔버스 상에 있는 픽셀을 선택할 수 있습니다. 각 픽셀을 선택할 때마다 WMS 서버로 쿼리를 전송합니다. 쿼리 결과는 평문 텍스트로 반환됩니다. 이 텍스트의 서식은 어떤 WMS 서버와 연결 중이냐에 따라 달라집니다.

포맷 선택

서버가 여러 출력 포맷을 지원하는 경우, 식별 결과 대화창에 지원 포맷을 담은 콤보박스가 자동적으로 추가되며, 프로젝트에 레이어에 대해 선택한 포맷을 저장할 수도 있습니다.

GML 포맷 지원

identify Identify 도구는 WMS 서버 응답(GetFeatureInfo)을 GML 포맷으로 지원합니다. (현재 맥락의 QGIS GUI 내에서는 이 GML을 객체라고 부르겠습니다.) 서버가 “객체” 포맷을 지원하고 선택한 경우, 식별 도구의 결과는 일반 벡터 레이어에서 나온 벡터 객체입니다. 트리에서 단일 객체를 선택한 경우, 맵에서 해당 객체가 강조되며 클립보드로 복사해서 다른 벡터 레이어로 붙여넣을 수 있습니다. UMN 맵서버가 GetFeatureInfo 를 GML 포맷으로 지원하도록 설정하는 다음 예시를 참조하세요.

# in layer METADATA add which fields should be included and define geometry (example):

"gml_include_items"   "all"
"ows_geometries"      "mygeom"
"ows_mygeom_type"     "polygon"

# Then there are two possibilities/formats available, see a) and b):

# a) basic (output is generated by Mapserver and does not contain XSD)
# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml,text/html"

# b) using OGR (output is generated by OGR, it is send as multipart and contains XSD)
# in MAP define OUTPUTFORMAT (example):
OUTPUTFORMAT
    NAME "OGRGML"
    MIMETYPE "ogr/gml"
    DRIVER "OGR/GML"
    FORMATOPTION "FORM=multipart"
END

# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "OGRGML,text/html"

속성 살펴보기

WMS 서버를 추가하고 나면, 범례에서 서버를 오른쪽 클릭하고 Properties 를 선택해서 서버의 속성을 살펴볼 수 있습니다.

메타데이터 탭

Metadata 탭은 WMS 서버에 관한 풍부한 정보를 표시합니다. 일반적으로 해당 서버가 반환한 기능 선언문에서 수집한 정보입니다. WMS 표준 사양(참고 문헌 및 웹사이트 에 있는 OPEN-GEOSPATIAL-CONSORTIUM을 참조하세요)을 읽어보면 많은 정의들을 얻을 수 있지만, 사용자의 편의를 위해 다음 정의들을 모아봤습니다:

  • 서버 속성

    • WMS Version ─ 서버가 지원하는 WMS 버전입니다.

    • Image Formats ─ 맵 렌더링 시 서버가 응답할 수 있는 MIME 유형의 목록입니다. QGIS는 기저 Qt 라이브러리와 함께 빌드된 어떤 포맷이든 지원하고 있습니다. 일반적으로, 최소한 image/pngimage/jpeg 유형은 지원합니다.

    • Identity Formats ─ 식별 도구 사용 시 서버가 응답할 수 있는 MIME 유형의 목록입니다. QGIS는 현재 text-plain 유형을 지원하고 있습니다.

  • 레이어 속성

    • Selected ─ 현재 프로젝트에 서버를 추가했을 때 현재 레이어를 선택했는지 여부를 결정합니다.

    • Visible ─ 범례에 현재 레이어를 가시화하도록 선택했는지 여부를 결정합니다. (QGIS 현재 버전에서는 아직 사용되지 않습니다.)

    • Can Identify ─ 현재 레이어에 식별 도구를 사용했을 때 레이어가 어떤 결과든 반환할 것인지 여부를 결정합니다.

    • Can be Transparent ─ 현재 레이어를 투명도를 적용해서 렌더링할 수 있는지 여부를 결정합니다. 이 속성이 Yes 이고 이미지 인코딩이 투명도를 지원하는 경우 QGIS 현재 버전은 언제나 투명도를 적용할 것입니다.

    • Can Zoom In ─ 서버가 현재 레이어를 확대할 수 있는지 여부를 결정합니다. QGIS 현재 버전은 모든 WMS 레이어의 이 속성이 Yes 로 설정돼 있다고 가정합니다. 이 속성이 No 인 레이어는 이상하게 렌더링될 수도 있습니다.

    • Cascade Count ─ WMS 서버는 레이어를 위한 래스터 데이터를 얻기 위해 다른 WMS 서버에 대한 프록시 역할을 할 수 있습니다. 이 속성은 피어 WMS 서버가 반환하기 전에 현재 레이어에 대한 요청을 몇 번이나 포워딩했는지를 알려줍니다.

    • Fixed Width, Fixed Height ─ 현재 레이어가 고정된 소스 픽셀 크기를 가지고 있는지 여부를 결정합니다. QGIS 현재 버전은 모든 WMS 레이어의 이 속성이 설정돼 있지 않다고 가정합니다. 설정돼 있는 레이어는 이상하게 렌더링될 수도 있습니다.

    • WGS 84 Bounding Box ─ 레이어의 WGS 84 좌표가 적용된 경계 상자입니다. 일부 WMS 서버에서는 이 속성이 올바로 설정돼 있지 않습니다. (예를 들면 UTM 좌표를 대신 적용한 경우가 있습니다.) 만약 이런 경우라면, QGIS가 해당 레이어의 초기 뷰를 굉장히 ‘축소된’ 모습으로 렌더링할 수도 있습니다. 이런 오류는 WMS 웹마스터에게 반드시 알려야 합니다. WMS XML 항목 가운데 LatLonBoundingBox, EX_GeographicBoundingBox 또는 CRS:84 BoundingBox 가 문제일 수 있습니다.

    • Available in CRS ─ WMS 서버가 현재 레이어를 렌더링할 수 있는 투영체를 결정합니다. 이 투영체들은 WMS 고유 서식으로 정리돼 있습니다.

    • Available in style ─ WMS 서버가 현재 레이어를 렌더링할 수 있는 이미지 스타일을 결정합니다.

20.1.7. 차례 및 조판기에 WMS 범례 그래픽 표시하기

QGIS WMS 데이터 제공자는 차례(table of content)의 레이어 목록 및 인쇄 조판기에 WMS 범례 그래픽을 표시할 수 있습니다. WMS 서버가 GetLegendGraphic 기능을 보유하고 있고 레이어에 getCapability URL을 설정한 경우에만 WMS 범례를 표시할 것입니다. 따라서 해당 레이어를 위한 스타일을 따로 선택해야 합니다.

LegendGraphic을 사용할 수 있는 경우, 레이어 아래에 표시합니다. LegendGraphic이 매우 작기 때문에 (QgsLegendInterface 의 구조적 제약 때문에) 실제 크기로 열려면 LegendGraphic을 클릭해야 합니다. 레이어의 범례를 클릭하면 전체 해상도의 범례를 담은 프레임이 열릴 것입니다.

인쇄 조판기에서는, 범례가 원본 (다운로드된) 크기로 통합될 것입니다. Legend ► WMS LegendGraphic 메뉴의 항목 속성 패널에서 범례 그래픽의 해상도를 사용자의 인쇄 작업 요구 사항에 맞게 설정할 수 있습니다.

이 범례는 사용자의 현재 축척을 기반으로 맥락에 맞는 정보를 표시할 것입니다. WMS 서버가 GetLegendGraphic 기능을 보유하고 있고 레이어에 getCapability URL을 설정한 경우에만 WMS 범례를 표시할 것입니다. 따라서 해당 레이어를 위한 스타일을 따로 선택해야 합니다.

20.1.8. WMS 클라이언트 제약

QGIS 현재 버전이 사용 가능한 모든 WMS 클라이언트 기능을 포함하고 있지는 않습니다. 다음은 주목할 만한 일부 예외 사항에 대한 설명입니다.

WMS 레이어 설정 편집하기

addWmsLayer Add WMS layer 아이콘으로 WMS 레이어 추가 작업을 완료한 후에 설정을 변경할 방법은 없습니다. 설정을 변경하려면 레이어를 완전히 삭제한 다음 다시 시작해야 합니다.

인증이 필요한 WMS 서버

QGIS 현재 버전은 공개된 그리고 보안된 WMS 서비스를 지원하고 있습니다. 보안된 WMS 서버는 공개 인증서(public authentication)를 통해 접근할 수 있습니다. WMS 서버 추가 시 사용자가 (부가적인) 인증 정보를 추가할 수 있습니다. 자세한 내용은 WMS/WMTS 서버 선택하기 를 참조하세요.

보안된 OGC 레이어에 접근하기

보안된 레이어에 기본 인증이 아닌 보안 방식으로 접근해야 하는 경우, 여러 인증 방식을 지원하고 있는 InteProxy를 투명 프록시 모드로 사용할 수 있습니다. 더 자세한 정보는 https://inteproxy.wald.intevation.org/ 에 있는 InteProxy 사용자 설명서를 살펴보세요.

QGIS WMS 맵서버

QGIS는 1.7.0 버전부터 고유의 WMS 1.3.0 맵서버를 구현하고 있습니다. 자세한 내용은 QGIS 서버 지침서 을 참조하세요.

20.2. WCS 클라이언트

wcs WCS(Web Coverage Service)는 과학적 모델에 입력하기 위한 클라이언트 쪽 렌더링에 대해 그리고 기타 클라이언트에 대해 유용한 형태로 래스터 데이터에 접근할 수 있습니다. WCS를 WFS 및 WMS에 빗대어 설명할 수도 있습니다. WCS는, WMS 및 WFS 서비스 인스턴스로서, 클라이언트가 공간 제약 조건 및 기타 쿼리 기준을 기반으로 서버가 보유하고 있는 정보의 일부분을 선택하게 할 수 있습니다.

QGIS는 WCS 제공자를 내장하고 있으며, (서로 상당히 다른) 1.0 및 1.1 버전을 지원하고 있습니다. 그러나 현재 1.1 버전에 많은 문제점이 있기 때문에 1.0 버전을 선호합니다. (예를 들면 1.1 버전은 각 서버가 다양하고 독특한 설정들 덕분에 모두 서로 다른 방식으로 실행됩니다.)

내장 WCS 제공자는 모든 네트워크 요청을 처리하며 모든 표준 QGIS 네트워크 설정을 (특히 프록시 설정을) 사용합니다. 제공자가 캐시 모드(‘always cache’, ‘prefer cache’, ‘prefer network’, ‘always network’)를 사용할 수도 있고, 서버가 시간 영역(temporal domain)을 제공하는 경우 시점(time position)도 선택할 수 있습니다.

경고

Authentication 탭에서 사용자명비밀번호 를 입력하면 연결 환경 설정에 보안되지 않은 인증 정보를 유지하게 됩니다. 예를 들면, 다른 사용자와 프로젝트 파일을 공유하는 경우, 이런 인증 정보가 노출될 것입니다. 따라서 인증 환경 설정 (Configurations 탭)에 사용자 인증 정보를 대신 저장하는 편이 좋습니다. 더 자세한 내용은 인증 시스템 를 참조하세요.

20.3. WFS 및 WFS-T 클라이언트

QGIS에서, WFS 레이어는 다른 모든 벡터 레이어와 매우 비슷하게 동작합니다. 피처를 식별하고 선택할 수 있고, 속성 테이블도 살펴볼 수 있습니다. QGIS는 WFS 1.0.0, 1.1.0, 2.0 및 OAPIF(OGC API - Features)를 편집 기능을 (WFS-T를 통해) 포함해서 지원합니다.

일반적으로, WFS 레이어는 WMS가 사용하는 방식과 매우 유사합니다. 기본 서버가 정의돼 있지 않기 때문에, 사용자가 직접 추가해야 합니다. 메타검색 플러그인 또는 사용자가 선호하는 웹 검색 엔진을 통해 WFS 서버를 찾을 수 있습니다. 공개 URL 목록이 여럿 있는데, 일부는 유지되고 있고 일부는 더 이상 서비스하고 있지 않습니다.

WFS 레이어 불러오기

게이트웨이 지오매틱스(Gateway Geomatics)의 WFS 서버를 예제로 삼아 레이어를 표시해보겠습니다. WFS 서버의 URL은 https://demo.gatewaygeomatics.com/cgi-bin/wfs_gateway?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WFS 입니다.

WFS 레이어를 불러오려면 먼저 WFS 서버와의 연결을 생성해야 합니다:

  1. dataSourceManager Open Data Source Manager 버튼을 클릭해서 Data Source Manager 대화창을 여십시오.

  2. addWfsLayer WFS/OGC API-Features 탭을 선택하십시오.

  3. New… 버튼을 클릭해서 Create a New WFS Connection 대화창을 여십시오.

  4. Gateway Geomatics 를 명칭으로 입력하십시오.

  5. (앞에서 언급한) URL을 입력하십시오.

    ../../../_images/add_connection_wfs.png

    그림 20.4 WFS 서버와의 연결 생성하기

    참고

    OAPIF(OGC API - Features)의 경우, 입력 URL이 연결될 페이지 여야 합니다. 이때 연결될 페이지는 사용할 수 있는 모든 서비스 종단점까지 탐색할 수 있는 메인 페이지여야 합니다.

  6. WFS 설정 대화창에서 다음과 같은 작업을 할 수 있습니다:

    • 서버의 WFS 버전을 알 수 있습니다. 표시되지 않는 경우, Detect 버튼을 클릭하면 자동으로 받아옵니다.

    • maximum number of features: GetFetFeature 요청 한 번으로 받아오는 피처의 최대 개수를 정의합니다. 비워놓는 경우, 제한을 두지 않습니다.

    • Invert axis orientation: 축의 방향을 반전시킵니다.

    • 그리고 WFS 버전에 따라:

      • Ignore axis orientation (WFS 1.1/WFS 2.0): 버전 1.1, 2.0인 경우 축의 방향을 무시하도록 강제할 수 있습니다.

      • checkbox Enable feature paging 옵션을 활성화하면 Page size 란에 받아올 피처의 최대 개수를 지정할 수 있습니다. 비워놓는 경우, 서버 기본값을 적용합니다.

    경고

    Authentication 탭에서 사용자명비밀번호 를 입력하면 연결 환경 설정에 보안되지 않은 인증 정보를 유지하게 됩니다. 예를 들면, 다른 사용자와 프로젝트 파일을 공유하는 경우, 이런 인증 정보가 노출될 것입니다. 따라서 인증 환경 설정 (Configurations 탭)에 사용자 인증 정보를 대신 저장하는 편이 좋습니다. 더 자세한 내용은 인증 시스템 를 참조하세요.

  7. OK 를 클릭해서 연결을 생성하십시오.

사용자가 설정했을 수도 있는 어떤 프록시 설정이라도 적용된다는 사실을 기억하십시오.

이제 앞에서 설정한 연결로부터 WFS 레이어를 불러올 수 있습니다.

  1. Server Connections selectString 드롭다운 목록에서 ‘Gateway Geomatics’ 를 선택하십시오.

  2. Connect 를 클릭하십시오.

  3. 목록에서 Parks 레이어를 선택하십시오.

  4. 다음 옵션 가운데 하나를 선택할 수 있습니다:

    • unchecked Use title for layer name: 이 옵션을 체크하면 레이어의 Name 대신 Layers 패널에 있는 서버 상에서 정의된 레이어의 제목을 표시합니다.

    • checkbox Only request features overlapping the view extent: 이 옵션을 체크하면 뷰 범위와 겹치는 피처만 요청합니다.

    • Change: 이 버튼을 클릭하면 레이어의 좌표계를 변경할 수 있습니다.

    • Build query : 특정 피처를 받아오려면 이 버튼을 클릭해서, 또는 대상 레이어를 더블클릭해서 쿼리를 작성하십시오.

  5. Add 버튼을 클릭하면 맵에 레이어를 추가합니다.

../../../_images/connection_wfs.png

그림 20.5 WFS 레이어 추가하기

QGIS 메인 창 좌하단에 다운로드 진행 상태가 가시화된다는 걸 볼 수 있을 것입니다. 레이어를 불러오고 나면, 피처를 한두 개 식별하고 선택해서 속성 테이블을 살펴볼 수 있습니다.

참고

QGIS는 백그라운드 다운로드, 점진적인 렌더링, 다운로드한 피처의 디스크 캐시(on-disk caching), 그리고 자동 버전 탐지 등 여러 버전의 WFS 프로토콜을 지원합니다.