길(way) 속성의 방향에 대하여 - 방향, 시작점과 끝점

OSM을 고치다 보면 흔히 보게 되는 것 가운데 하나를 정리해 볼까 합니다.
OSM에서 선으로 나타내는 ‘길’(way)는 방향이 있고 시작과 끝이 있습니다.(사실 이 둘은 따로이면서 하나입니다.)

흔히 별 생각없이 그리지만 처음 그리기 시작한 쪽이 시작점이 되고 시작점에서 끝점 쪽으로 방향이 설정됩니다.
이것은 물을 그려보면 물흐름으로 금방 표시가 납니다.(사실 길에서도 살짝 표시가 납니다. 아래 그림에서 약간 붉고 굵게 된 부분에 보시면 사이사이에 세모 방향점이 찍혀 있습니다.)
물에서는 이것이 바로 드러나기에 꽤 중요하고 또 눈에 띄는 만큼 실수는 않는 편인데, 길인 경우에는 흔히 그냥 지나치기도 하는 모양입니다.
길에서 이 방향을 어떻게 하라는 건 아직 OSM 위키에서 보지 못했습니다만, 이것이 가끔 중요한 까닭은 어떤 다른 속성을 주려고 하다 보면 이것이 기준이 됩니다.
보기를 들어서 길 한쪽에만 인도가 있다고 한다면 어느 방향이냐에 따라 오른쪽인지 왼쪽인지가 결정됩니다.(한쪽에만 손잡이가 있는 경로인 경우에도 마찬가지입니다.)

길(way)의 방향에 대하여
보기를 들어, 위 이미지에서 물은 왼쪽 위에서 아래로 흐르고 하나는 갈라져서 오른쪽 위로 흐릅니다.(물론 지형이 그렇게 생겼을 수는 있습니다만,…)
여튼 아래쪽이 낮은 지대인데 저 오른쪽 물줄기는 지금 높낮이를 거슬러 오르고 있습니다.

그리고 더 중요한 것은 오른쪽 붉고 굵게 표시된 길인데, 저 길은 지금 왼쪽 위에서 시작해서 아래 길에 닿았다가 다시 오른쪽 위로 올라가고 있는데, 사실 이게 아주 중요한 것은 아니지만 원칙에서는 살짝 벗어난다고 봅니다.
길을 상위 길에서 하위길로 이어지는 게 올바른 것이라 생각합니다. 특히 저렇게 길의 가운데가 다른 길로 이어지면 (유효성 검증 도구에서)저 길은 끊어진 길, 동떨어진 길이라 인식하게 되는 것 같습니다.(iD에서도 끊어진 길이라고 경고가 나옵니다.)

OSM 편집을 좀 하신 분이라면 (굳이 공부까지 안 하더라도)이런 건 거의 눈치를 채고 그리시는 것 같으나 처음 오신 분이 그릴 때에 이런 실수를 많이 하는 것 같습니다.

대충 이 글을 요약하자면 이렇습니다.

  • OSM에서 ‘길’(way) 요소는 방향성이 있다.
  • ‘길’(highway)은 상위 길에서 하위 길로 갈라져 가도록 그리는 것이 좋다.
  • ‘길’(way)은 다른 길과 맞닿아 시작하거나 끝나야 한다.
1 Like

좋은 정보 잘 보았습니다.

Forward & backward, left & right - OpenStreetMap Wiki 에도 나와 있듯이 oneway=*나 뒤에 :forward, :backward, :left, :right 접미어가 붙는 키를 사용할 때는 길의 방향이 바뀌면 태그의 의미도 정반대가 되기 때문에 방향을 신경써 줘야 합니다.

다행히 이러한 태그가 없는 길은 방향에 상관없이 렌더링, 경로 탐색 등이 잘 되기 때문에 방향을 크게 신경쓸 필요는 없습니다.

마지막 스크린샷과 같은 경우 저도 길을 두 개로 쪼개서 그리는데, 두 길에 서로 다른 도로명이나 태그가 붙는 경우가 많아서 그렇습니다. 다만 오픈스트리트맵을 이용하는 프로그램에서 딱히 저게 문제가 되지는 않기 때문에 다른 사람이 도로를 저렇게 하나로 합쳐 그린 걸 제가 쪼개고 다니지는 않습니다. 이건 개인적인 작업 방식이니 다른 분들은 원하시는 대로 작업하시면 될 듯합니다.

1 Like

아 참고로 한국 한정으로 도로명(대로/로/길)이 부여된 곳의 방향성이 헷갈릴 경우 도로명주소 안내시스템(https://www.juso.go.kr)에서 도로명 정보 조회 기능을 활용, 해당 도로의 기점과 종점을 확인할 수 있으니 방향성을 표기하는데 도움이 될 것입니다.

3 Likes

이런 식으로 조금씩 의견이 채워지고 조율이 되는 게 보기 좋네요. ^^

지도 매핑을 시작하시는 분께 괜히 겁 주지 않으려 덧붙이자면,
이런 것들은 합의고 권장 사항이니 너무 크게 신경 쓰지 않으셔도 됩니다.
다만, 길에서 길이 갈라지지 않고 외딴 곳에서 시작해서 외딴 곳에서 끝나는 경우에는 ‘맵룰렛’ 같은 데서는 '오류일 수도 있는 곳’으로 보여주니 참고하시면 좋겠고, 길이름의 일관성을 위해서도 되도록이면 이 정도는 신경써 주시면 좋겠습니다.
그리고 이왕이면 길을 그리실 때 일관성 있게-하나의 길은 되도록 이어서 쭉- 그려 주시면 좋고, 이왕 이렇게 그리신 김에 길이름까지 같이 넣어 주시면 나중에 편집하시는 분이 할 일이 꽤 줄어 들게 됩니다.
보기를 들어, 길이 갈라져 나가는 데서 다른 길로 이어 놓으면 그걸 모른 채 나중에 길이름을 넣을 때 엉뚱한 길이름을 붙이게 되는 수도 있고, 또 길을 자주 끊어 놓으면 그것도 나중에 일일이 잡아서 이름을 따로 넣어줘야 해서 나중에 편집하시는 분이 꽤 손이 가게 됩니다.
권장 사항이니 이왕이면 그렇게 해 주시면 서로 편하겠다는 의견이었습니다. ^^

1 Like

마침 (OSM 구성요소 가운데)‘선’(way)에서 방향이 중요한가라고 묻는 글도 올라왔고, 덧붙여서 위키 문서에서 ‘방향에 따라 뜻이 달라지는 선(way)’ 항목도 고리걸어 두겠습니다.