GIS

QGIS에서 레이어 범위 내 오픈스트리트맵(OpenStreetMap) 다운로드하기

유병혁 2016. 12. 27. 15:24

QGIS에서 레이어를 기준으로 오픈스트리트맵을 다운로드 받는 방법을 학습해 보겠습니다.

 

오픈스트리트맵(OpenStreetMap, OSM)은 오픈 라이선스를 따르는 세계 지도입니다.

자세한 사항은 공식 홈페이지를 참조하시기 바랍니다: https://www.openstreetmap.org/

먼저, QGIS를 실행하고 범위로 사용될 레이어를 아래와 같이 하나 추가해 보겠습니다.

저는 스리랑카 콜롬보 지역 영상을 사용하여 이 지역 내 '오픈스트리트맵'을 받고자합니다.

 

먼저, 오픈스트리트맵을 *.osm 포맷으로 다운로드 받습니다.

상단 메뉴에서 '벡터 > OpenStreetMap > 데이터 다운로드'를 클릭합니다.

 

아래와 같이 창에서 범위를 지정하는 방법이 소개되는데요,

 

저는 '레이어에서'를 클릭하고, 앞서 추가한 레이어를 선택하도록 하겠습니다.

 

현재 다운로드 받은 *.osm 포맷의 오픈스트리트맵을 열어보도록 하겠습니다.

아래와 같이 '벡터 레이어 추가' 버튼을 클릭하고,

 

파일 유형을 아래와 같이 OpenStreeMap으로 변경하고 다운로드 받은 파일을 선택합니다.

 

아래와 같이 설정되었는데요 '확인' 버튼을 클릭하면,

 

아래와 같이 지오메트리 유형에 따라 레이어가 구분되어 있음을 확인합니다.

'모두 선택'을 클릭하고 '확인'해 보도록 하겠습니다.

 

아래와 같이 레이어가 추가되었으며 현재 포맷은 *.osm입니다.

참고로 *.osm 포맷을 열어봤구요, 계속해서 진행해 보도록 하겠습니다.

 

화면 상단에서 '벡터 > OpenStreetMap > XML에서 토폴로지 가져오기'를 클릭합니다.

 

아래 'OpenStreetMap 가져오기' 창에서 'XML 파일 입력(.osm)'에 *.odm 파일을 지정합니다.

 

아래와 같이 *.odm 파일이 *.db 파일(OpenStreetMap의 데이터베이스)로 변환되어 생성됩니다.

 

이제 '벡터 > OpenStreetMap > SpatialLite로 토폴로지 내보내기'를 클릭합니다.

 

아래 창에서 '데이터베이스 파일 입력'에 *.db 파일을 선택하고, '내보내기 형태'에 따라 원하는 레이어를 출력할 수 있습니다.

 

먼저, '내보내기 형태'에서 '점(노드)'를 선택해볼까요?!

 

참고로, 점(노드)는 points, 폴리곤(열린 방식)은 polylines, 폴리곤(닫힌 방식)은 polygons입니다.

 

점(노드)가 선택된 상태에서 아래 '데이터베이스에서 읽기'를 클릭하면 아래와 같이 태그들이 표시됩니다.

 

저는 shop을 선택한 후, '확인' 버튼을 클릭해보겠습니다.

 

아래와 같이 shop의 포인트 레이어가 추가되었습니다. 같은 방식으로 다른 형태도 계속 추가해볼까요?!

 

polylines는 highway를 선택하고,

 

polygons는 building을 선택해 보겠습니다.

 

아래와 같이 오픈스트리트맵 레이어들이 추가되었습니다.

 

확대해본 화면은 아래와 같은데요, 나의 데이터가 '오픈스트리트맵'에 등록되어 있다면 정말 편하겠죠?! 기여하실 수 있습니다.