오픈스트리트맵(OpenStreetMap)/JOSM

JOSM으로 오픈스트리트맵 지도 그리기 - 1. 도시 주거 구역

고급협동조합 2022. 6. 9. 18:04
도시 주거 구역을 오픈스트리트맵에서 본 모습. ⓒ OpenStreetMap 기여자

도시의 구획은 대략 주거 구역, 상업 구역, 공업 구역으로 나눌 수 있습니다. 여기에 녹지와 같은 자연 지물, 공공 시설, 교통 시설 등이 더해지면 우리가 아는 도시가 이루어지죠.
이 글에서는 도시의 구획 중 주거 구역을 오픈스트리트맵에 그리는 방법을 찬찬히 뜯어서 설명하도록 하겠습니다.

※ iD 편집기를 이용한 방법은 여기를 참고하세요.

빌라가 모여 있는 도시 주거 구역의 모습.

위 구역의 지도를 그리는 방법을 차례차례 알려 드리도록 하겠습니다.

1. 주거 도로 그리기

사람 또는 차량이 집에 드나들려면 오솔길이든, 포장 도로든 결국에는 도로가 있어야 합니다. 지도의 시작은 바로 이 도로를 그리는 것에서부터 시작됩니다.

주거 도로에 붙어 있는 태그.

길(선, way)을 그린 후, 주거 도로를 의미하는 highway=residential 태그를 붙여 주세요. 이때 도로가 아스팔트 포장이 되어 있다면 surface=asphalt, 콘크리트 포장이 되어 있다면 surface=concrete 태그를 붙여 주면 좋습니다. 도로의 차선이 명확히 보인다면 lanes=(차로 수) 태그까지 달아 주세요.

JOSM의 사전 설정으로 태그를 추가하는 모습.

혹은 방금 그린 길을 선택하고, JOSM 상단의 '사전 설정→도로→거리→주거 도로'를 선택하면 위와 같은 창이 뜹니다. 모든 칸에 정보를 채울 필요는 없지만, 많이 채울수록 좋습니다. 가능한 만큼 정보를 채우고 '사전 설정 적용' 버튼을 클릭하세요. 그러면 적절한 태그가 자동으로 길에 부여됩니다. 이렇게 하면 태그를 일일이 외울 필요가 없습니다.

1-1. 과속 방지턱

굵은 과속 방지턱을 추가하는 모습.

과속 방지턱이 위치한 지점에 점을 찍은 후, '사전 설정→도로→중간 지점→과속 방지턱→굵은 과속 방지턱'을 선택하세요. 혹은 traffic_calming=hump를 직접 입력해 주어도 됩니다. 만약 과속 방지턱이 공도에서 볼 수 있는 굵은 방지턱이 아니라 아파트 입구 등에서 볼 수 있는 가는 방지턱이라면 '가는 과속 방지턱'을 고르세요.

2. 주거 구역 표시하기

주거 구역을 크게 둘러싸는 다각형을 그린 모습.

건물을 먼저 그리는 것도 좋지만, 그 전에 해당 구역에 주거 구역인지, 상업 구역인지, 공장 구역인지를 표시해 주는 것이 큰 도움이 됩니다. 저는 위와 같이 구역을 잡았습니다. 구역을 얼마나 크게 잡을지는 사람마다 다릅니다. 어떤 사람은 주거 구역 사이에 도로가 아예 안 지나도록 구역을 잘게 쪼개서 그리기도 하고, 어떤 사람은 왕복 4차로 도로를 넘나드는 구역을 그리기도 합니다. 저는 건물 사이사이에 있는 왕복 2차로 골목길은 포함하고, 그보다 넓은 도로는 포함하지 않도록 그렸습니다.

주거 구역과 상업 구역을 포함해서 영역을 그린 모습.

이때 상점이나 학원가 등이 들어서는 상업 건물이 주거 구역 바깥쪽을 감싸는 경우가 있는데, 이럴 때는 해당 상업 건물을 제외하고 영역을 그려야 합니다. 바로 위 이미지와 같이 영역을 그리면 지도 처리 소프트웨어에 따라 상업 건물이 주거 건물로 취급될 수도 있습니다(건물에 building=commercial 태그를 붙였다면 위와 같은 상황에서도 상업 건물로 처리되는 것이 표준이긴 합니다. 그러나 building=yes 태그를 붙였다면 주거 건물로 처리됩니다).

그린 영역에 태그를 붙인 모습.

이제 주거 구역을 의미하는 landuse=residential 태그와 도시 주거 구역을 의미하는 residential=urban 태그를 붙여 줍니다.

주거 구역을 설정하는 사전 설정.

주거 구역도 마찬가지로 사전 설정으로 편하게 태그를 지정할 수 있습니다. 방금 그린 영역을 선택한 후 JOSM 상단에서 '사전 설정→지리→토지 이용→주거 구역'을 선택하세요.

3. 건물 그리기

※ 이 부분은 '4. 건물 외 지물 그리기'를 먼저 수행한 후 읽어도 됩니다. 건물을 먼저 그리냐, 아니면 다른 지물을 먼저 그리냐는 개인의 자유입니다.

여기서는 건물을 그리는 방법 두 가지를 소개하겠습니다. 첫 번째는 건물을 둘러싸는 모서리를 일일이 그린 후 태그를 붙이는 방법이고, 두 번째는 마우스 클릭 세 번으로 직사각형 건물을 바로 그리는 방법입니다.

3-1. 첫 번째 방법

JOSM의 점 그리기 모드.

JOSM 창 왼쪽의 '점 그리기(A)' 버튼을 클릭하거나, 단축키 A를 클릭해서 그리기 모드로 들어가세요.

건물을 그리는 모습.

위와 같이 건물의 천장을 따라 그리세요.
이때 단축키 Q를 누르면 길의 모든 모서리가 직각 또는 평각으로 맞춰집니다. 거의 대부분의 건물은 직사각형 모양 또는 직사각형의 변형이므로 가능하다면 Q를 누르는 습관을 들이면 좋습니다.

건물에 태그를 붙이는 모습(여기서는 빌라에 태그를 붙이는 것이기에 apartments를 사용하는 것이 좋다).

건물을 따라 그린 길을 선택합니다. 이때 아파트나 빌라와 같은 연립 주택에는 building=apartments 태그를 붙여 주세요. 설령 1층짜리 건물이더라도 연립 주택이라면 apartments 태그를 붙일 수 있습니다.
만약 단독주택이라면 building=house, 그 외 일반적인 주거 건물에는 building=residential 태그를 붙여 주세요. 위 이미지에서 building:levels=3은 3층짜리 건물을 의미합니다.

※ 건물이 주거 영역에 둘러싸여 있다면 building=yes 태그를 붙여도 무방합니다.

사전 설정으로 건물 태그를 붙이는 모습.

여기서도 마찬가지로 사전 설정을 이용할 수 있습니다. '인공물→인공물→주거용 건물'로 들어간 후, 적절한 값(주거용 건물, 아파트, 단독주택, ...)을 입력하세요.

건물의 주소를 추가하는 창.

이때 '주석/주소...'를 클릭하면 건물의 주소도 입력할 수 있습니다. 한국에서는 맨 위의 '건물 번호'와 '도로명', 그리고 '우편번호'만 입력하면 충분합니다. 나머지 정보는 수많은 오픈스트리트맵 기여자 분들이 열심히 그려 놓은 행정 경계로부터 도출할 수 있습니다. 오히려 시군구 이상의 정보를 직접 입력해 주면 오픈스트리트맵 데이터베이스의 일관성이 떨어질 수 있습니다.

건물 개체를 건물 바닥면 기준으로 맞춘 모습.

제일 중요한 부분입니다. 이제 건물 개체가 실제 건물의 천장이 아닌, 지면과 맞닿는 곳에 위치하도록 개체를 옮기세요.
건물을 그릴 때 천장을 기준으로 그리는 것은 오픈스트리트맵 초보자들이 자주 하는 실수입니다. 층수가 낮은 건물을 그릴 때는 크게 문제가 되지 않으나, 고층 아파트를 그릴 때는 건물의 실제 위치와 지도상의 위치가 매우 차이가 날 수 있습니다.

이때 건물은 도로는 물론이고, 주거 구역 경계선과 떨어져 있어야 합니다(경계선과 모서리를 공유하는 것까지는 괜찮습니다). 만약 경계선이 건물 한가운데를 통과하면 오픈스트리트맵 데이터를 소비하는 측이 문제를 겪을 수 있습니다.

※ 숙련되면 건물의 천장을 기준으로 하지 않고 바로 바닥면에서 건물을 그릴 수도 있습니다. 하지만 오픈스트리트맵에 입문한 지 얼마 되지 않았거나, 복잡한 형상의 건물을 그릴 때는 건물 천장을 따라 그린 후, 개체를 통째로 옮기는 것을 추천합니다.

3-2. 두 번째 방법

JOSM 플러그인 설정 페이지.

JOSM 상단에서 '편집→환경 설정...→플러그인'으로 들어가세요. 플러그인 목록에 아무것도 뜨지 않는다면 '목록 다운로드' 버튼을 클릭하세요.

JOSM 플러그인 설정 페이지에서 building을 검색한 모습.

검색창에 building_tools를 입력하세요. building_tools 플러그인은 건물을 쉽게 그릴 수 있도록 도와주는 플러그인입니다.
building_tools 플러그인 옆에 있는 체크박스를 선택하고 '확인'을 누르세요. 그러면 플러그인이 다운로드됩니다. building_tools 플러그인은 설치 후 JOSM을 재시작할 필요 없이 바로 사용할 수 있습니다.

※ building_tools 플러그인을 더 자세히 알고 싶으시다면 오픈스트리트맵 위키의 JOSM/Plugins/BuildingsTools 문서를 참고하세요.

'건물 그리기' 아이콘이 생긴 모습.

플러그인을 설치하면 JOSM 왼쪽에 새로운 아이콘이 생깁니다. 이 아이콘을 클릭하거나 단축키 B를 누르면 건물 그리기 모드를 이용할 수 있습니다.

마우스 세 번 클릭으로 직사각형 건물을 그리는 모습.

건물 천장을 기준으로 세 꼭짓점을 찍으면 직사각형이 그려짐과 동시에 building=yes 태그가 추가됩니다.

영역 만들기(X) 모드로 건물 개체 위에 점을 추가로 찍은 후, 드래그로 건물을 변형하는 모습.

이때 영역 만들기(X) 또는 단축키 X를 누르고, 건물을 이루는 선 위에 마우스를 갖다 댄 뒤 더블클릭하면 위와 같이 점이 찍힙니다. 이렇게 찍은 두 점 사이의 선에 마우스를 갖다 대고 드래그하면 위와 같이 선이 평행하게 움직입니다. 이렇게 하면 직사각형 여러 개가 붙어 있는 모양의 건물(凸 모양)도 손쉽게 그릴 수 있습니다.

Shift+J로 여러 직사각형을 하나의 도형으로 변환하는 모습.

또는 서로 붙어 있는 직사각형을 여러 개 그린 후, '도구→겹치는 영역 연결' 또는 단축키 Shift+J를 누르면 붙어 있는 직사각형이 하나의 도형으로 변환됩니다.

건물 크기 및 모양 설정.

'데이터→건물 크기 설정' 또는 단축키 Ctrl+Alt+B를 누르면 위와 같은 창이 뜨는데, 여기서 원형 건물을 그리도록 설정할 수도 있고, 건물을 그릴 때마다 주소 입력창이 뜨도록 설정할 수도 있습니다.

고급 설정.

추가로 '고급...' 버튼을 누르면 위와 같은 창이 뜨는데, 여기서 건물을 그렸을 때 자동으로 붙일 태그를 변경할 수 있습니다. 이 기능을 잘 활용하면 건물뿐만 아니라 주차장, 공원, 태양광 발전기, 토지 이용 등 다양한 직사각형 구역을 손쉽게 그릴 수 있습니다.

4. 건물 외 지물 그리기

4-1. 태양광 발전기

태양광 발전기를 그린 후 사전 설정을 연 모습.

위와 같이 옥상 태양광 발전기를 그린 후, '사전 설정→인공물→전력→발전소→태양 발전소'를 선택합니다. 이후 방법: 태양광, 발전 유형: 태양광 패널을 선택합니다(만약 태양광 발전기가 아닌 태양열 발전기라면 그에 맞는 적절한 태그를 골라 주면 됩니다).

태양광 발전기와 건물의 상대적인 위치.

※주의: 건물을 천장에서 바닥으로 끌어내릴 때 태양광 발전기도 같이 내려줘야 합니다.

4-2. 공원

공원 사전 설정을 이용해 태그를 붙이는 모습.

공원 영역을 그려준 후, '사전 설정→지리→토지 이용→공원'을 선택합니다. 공원은 주거 영역을 넘나들어도 괜찮습니다.