중요
번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.
10.1. 수업: WMS(Web Mapping Service)
WMS는 원격 서버에서 호스팅되는 서비스입니다. 웹사이트와 비슷하게, 서버에 연결되어 있는 한 WMS에 접근할 수 있습니다. QGIS를 사용하면 사용자의 기존 맵에 직접 WMS를 불러올 수 있습니다.
예를 들면, 플러그인에 대한 강의에서 구글에서 새 래스터 이미지를 불러올 수 있었다는 사실을 기억하실 겁니다. 하지만 그건 1회용 전송이었습니다. 한번 이미지를 다운로드하면, 바뀌지 않는다는 뜻이죠. WMS는 사용자가 맵을 이동하거나 확대/축소할 경우 자동적으로 그 뷰를 새로 고치는 실시간 서비스라는 점이 다릅니다.
이 수업의 목표: WMS를 사용하고 그 한계를 이해하기.
10.1.1. ★☆☆ 따라해보세요: WMS 레이어 불러오기
여러분은 이 예제를 위해 이 교재의 처음에서 만들었던 기본 맵을 사용해도 되고, 또는 새 맵을 시작해서 기존 레이어들을 몇 개 불러와도 됩니다. 이번에는 새 맵을 시작해서 원본 places
, landuse
, 그리고 protected_areas
레이어를 불러온 다음 심볼을 변경합니다:
새 맵에 이 레이어들을 불러오거나, 기본 맵에서 이 레이어들만 보이도록 설정하십시오.
WMS 레이어를 추가하기 전에, “실시간(on-the-fly)” 투영을 비활성화시키십시오. (No CRS (or unknown/non-Earth projection) 옵션을 체크하십시오.) 이렇게 하면 레이어들이 더 이상 제대로 중첩하지 않을 수도 있지만 걱정하지 마십시오. 나중에 수정할 것입니다.)
탭에서WMS 레이어를 추가하려면, 버튼을 클릭해서 Data Source Manager 대화창을 연 다음 WMS/WMTS 탭을 선택하십시오.
이 교재를 시작할 때 SpatiaLite 또는 GeoPackage 데이터베이스에 어떻게 연결했는지 기억하십니까?
landuse
,buildings
, 그리고roads
레이어는 데이터베이스에 저장되어 있습니다. 이 레이어들을 사용하려면, 먼저 해당 데이터베이스를 연결해야 합니다. WMS를 사용하는 것도 비슷합니다. 레이어들이 원격 서버에 있다는 사실만 제외하면 말이죠.WMS로의 새 연결을 생성하려면 New 버튼을 클릭하십시오.
계속하려면 WMS 주소가 필요할 것입니다. 인터넷 상에는 무료로 사용할 수 있는 WMS 서버들이 몇 개 존재합니다. 그중 하나가 OpenStreetMap 데이터셋을 사용해서 만들어진 terrestris 입니다.
이 WMS를 사용하려면, 현재 대화창을 다음과 같이 설정하십시오:
Name 필드의 값이
terrestris
여야 합니다.URL 필드의 값이
https://ows.terrestris.de/osm/service
여야 합니다.
OK 를 클릭하십시오. 새 WMS 서버가 목록에 나타날 것입니다.
Connect 를 클릭하십시오. 아래에 있는 목록에서 새 항목들을 볼 수 있을 것입니다.
이 항목들이 해당 WMS 서버가 호스팅하고 있는 레이어들입니다.
OSM-WMS
레이어를 한 번 클릭하십시오. 사용 중인 기본 Coordinate Reference System 과 해당 데이터셋이 지원하는 좌표계들의 개수를 보게 될 것입니다:여러분의 맵이
EPSG:4326 - WGS 84
를 사용하지 않기 때문에, 필요에 걸맞는 좌표계를 찾아봅시다.Layer name 을 사용해서 프로젝트에 레이어를 불러오려면 Add 를 클릭하십시오. (기본값은
OpenStreetMap WMS - by terrestris
입니다.)대화창이 자동으로 닫히지 않는 경우 Data Source Manager 대화창을 닫으십시오.
Layers 패널에서
OpenStreetMap WMS
레이어를 목록 맨 아래로 클릭&드래그하십시오.레이어들의 전체 뷰를 보려면 축소하십시오. 레이어들이 정확하게 배치되지 않았다는 사실을 (아프리카 서쪽에 있다는 사실을) 알 수 있을 것입니다. 그 이유는 “실시간” 투영을 비활성화시켰기 때문입니다.
OpenStreetMap WMS
레이어와 동일한, 즉 WGS 84 / Pseudo Mercator 투영체를 사용해서 재투영을 다시 활성화시켜봅시다.탭을 여십시오.
No CRS (or unknown/non-Earth projection) 옵션을 체크 해제하십시오.
목록에서 WGS 84 / Pseudo Mercator 를 선택합니다.
:guilabel:`OK`를 클릭하십시오.
이제 Layers 패널에서 여러분의 레이어들 가운데 하나를 오른쪽 클릭하고 Zoom to layer(s) 를 선택하십시오. Swellendam 지역을 보게 될 것입니다:
WMS 레이어의 도로와 여러분의 도로가 어떻게 겹쳐지는지 살펴보십시오. 좋은 징조군요!
WMS의 본질과 한계
지금쯤이면 이 WMS 레이어가 실제로 많은 피처들을 담고 있다는 사실을 알아차렸을 겁니다. 도로, 강, 자연 보호 구역 등을 담고 있습니다. 더우기, 벡터로 이루어져 있는 것으로 보이지만 사용자가 심볼을 변경할 수 없는 래스터 같기도 합니다. 어째서일까요?
이것이 WMS가 작동하는 방식이기 때문입니다. 마치 종이 지도처럼, 사용자는 이 맵을 이미지로 받게 됩니다. 보통은 QGIS가 맵으로 렌더링하는 벡터 레이어를 이용합니다. 그러나 WMS를 사용하면, 이 벡터 레이어들이 WMS 서버 상에 있기 때문에 레이어를 맵으로 렌더링해서 사용자에게 이미지 형식으로 맵을 전송합니다. QGIS는 이 이미지를 표출할 수 있지만 그 심볼을 변경할 수는 없습니다. 모든 작업이 서버에서 이루어지기 때문입니다.
사용자가 심볼에 대해 걱정할 필요가 없다는 점에서 몇몇 장점이 있습니다. 능숙하게 설계된 WMS라면 이미 모든 작업이 이루어져 보기 좋은 맵을 전송하기 때문입니다.
다른 한 편으로는 사용자 마음에 들지 않아도 심볼을 변경할 수 없으며, WMS 서버에서 무언가를 변경하면 사용자 맵에서도 동일하게 변경됩니다. 때때로 WMS 스타일이 적용된 맵의 일부로써가 아니라 사용자에게 벡터 레이어를 개별적으로 전송하는 WFS(Web Feature Service)를 이용하는 편이 나은 이유입니다.
하지만 WFS에 대해서는 다음 수업에서 배울 것입니다. 그 전에, 또다른 WMS 레이어를 추가해봅시다.
10.1.2. ★☆☆ 혼자서 해보세요:
https://maps.eatlas.org.au/maps/wms
URL에 있는eAtlas
WMS 서버를 추가하십시오.World: Hillshading 레이어를 맵으로 불러오십시오.
이 레이어의 Encoding 을 JPEG 으로 그리고 Tile size 옵션을
200
x200
으로 설정하길 원할 수도 있습니다. 불러오기 시간이 더 빨라지기 때문입니다.여러분의 맵이 다음과 같이 보여야 합니다(레이어들의 순서를 다시 정렬하고 몇몇 레이어에 투명도를 적용해야 할 수도 있습니다):
10.1.3. ★★★ 혼자서 해보세요:
WMS를 이용하는 데 어려운 점 가운데 하나는 좋은 (무료) 서버를 찾는 일입니다.
directory.spatineo.com (또는 다른 온라인 안내 사이트)에서 새 WMS를 찾으십시오. 절대로 관련 비용 또는 제약이 있어서는 안 되며, Swellendam 연구 지역을 커버해야만 합니다.
WMS를 이용하는 데 필요한 것은 URL뿐이라는 것을 (그리고 어떤 형태의 설명이 있으면 좋습니다) 기억하십시오.
해답
Spatineo는 OGC 데이터를 검색할 수 있는 많은 곳들 가운데 하나입니다. 텍스트란에 이름, 키워드, 관심을 가진 위치를 입력해서 작동하는 결과물을 얻을 수 있는지 알아보십시오. 이 수업을 위해서는 결과물에 WMS만 포함되도록 필터링하는 편이 좋을 수도 있습니다.
WMS 서버들 가운데 다수가 언제나 사용 가능한 상태는 아니라는 사실을 알아차렸을 수도 있겠네요. 임시로 사용할 수 없는 경우도 있고, 영구 폐쇄되는 경우도 있습니다. 이 교재 작성 시 작동한 WMS 서버의 예시를 들어보자면 https://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities 에 있는 MapServer Demonstration Server WMS가 있습니다. 이 WMS는 사용료를 요구하지도, 접근에 제한도 없으며 무엇보다 전 세계를 커버합니다. 따라서 요구 사항을 만족시킵니다. 하지만 이 WMS는 예시일 뿐이라는 사실을 잊지 마십시오. 수많은 다른 WMS 가운데 선택할 수도 있습니다.
10.1.4. ★★★ 혼자서 해보세요:
MapServer Demonstration Server 에서
bluemarble
레이어를 추가하십시오. 우리 연구 지역에 적합한 데이터셋인가요?
해답
배경에서 쓸데없이 렌더링되는 일이 없도록 다른 WMS 레이어를 전부 숨기십시오.
이전과 동일한 접근법을 사용해서 새 서버를 추가하고 해당 서버에 호스팅되어 있는 레이어들 가운데 알맞은 레이어를 추가하십시오:
Swellendam 지역으로 확대하면, 이 데이터셋의 해상도가 낮다는 사실을 알게 될 것입니다:
따라서 이 데이터는 현재 맵에 사용하지 않는 편이 좋겠군요. 블루 마블(Blue Marble) 데이터는 전 세계 또는 국가 단위 축척에 더 적합합니다.
10.1.5. 결론
WMS를 사용하면, 고정된 맵을 사용자의 기존 맵 데이터의 배경으로 추가할 수 있습니다.
10.1.6. 더 읽어볼 거리
10.1.7. 다음은 무엇을 배우게 될까요?
이제 고정된 맵을 배경으로 추가해봤으니, (이전에 추가했던 다른 벡터 레이어 같은) 피처도 추가할 수 있다는 사실을 알면 기쁠 겁니다. WFS(Web Feature Service)를 사용하면 원격 서버에서 피처를 추가할 수 있습니다. 이것이 다음 수업의 주제입니다.