Ko:좋은 실천
오픈스트리트맵은 자원봉사자들이 만들어가는 자유로운 프로젝트입니다. 오픈스트리트맵에서는 누구나 자신이 하고 싶은 일을 할 수 있습니다. 그러나, 모든 참여자들이 행동 강령에 동의했을 때에만 최상의 지도가 나올 수 있습니다. "좋은 실천" 문서를 통해서 특별한 노력을 기울이지 않고도 오픈스트리트맵 데이터의 품질을 개선할 수 있습니다. 해당 문서의 내용을 지키라고 압박하는 사람은 없습니다. 다만 해당 가이드라인을 준수하지 않으면 기여자들 간에 갈등이 생길 수는 있습니다.
오류를 수정하라
자신이 보기에 잘못된 것 같은 요소나 도형을 찾았다면, 기존의 데이터를 바로 삭제하지 말고, 고치거나 개선하려 노력해 보세요. 오픈스트리트맵은 위키입니다. 설령 실수를 했더라도, 언제든지 되돌릴 수 있습니다.
검증 가능성
- 주요 문서: Ko:유효성 검사
오픈스트리트맵 데이터는 최대한 검증 가능해야 합니다. 누구나 그 현장에 직접 찾아갔을 때 똑같은 자료를 얻을 수 있어야 합니다(이 과정이 바로 당신이 입력한 데이터를 '검증'하는 과정입니다). 단, 주관적 데이터(개인의 평점 등)나 가상의 상황을 가정하는 데이터에는 검증 가능성의 여부를 보지 않습니다.
해당 장소에 실재하는 것을 지도로 그려내라
현실에 있는 것들을 지도에서 검열하지 마세요. 자료가 충분하다면 추정하지 마세요.
때때로 장소의 명칭을 두고 충돌이 생길 수 있습니다. 옛날 지도에 나와 있는 명칭과 현재 지도에 나와 있는 명칭이 서로 다를 수 있으며, 도로 표지판에 적혀 있는 명칭은 지도와 또 다를 수 있습니다. 오픈스트리트맵을 (내비게이션용으로) 사용하는 사람들은 다른 지도와 오픈스트리트맵을 일일이 대조해 보지 않으며, 현지의 도로 표지판에 적혀 있는 명칭을 지도에서, 또는 지도에 나와 있는 명칭을 도로 표지판에서 찾고 싶어할 뿐입니다. 다만, 도로 표지판에 명백한 오타가 있다면 오타 정도는 수정해도 됩니다. 사람들은 올바른 철자를 원하기 때문이죠.
역사적 사건이나 역사적인 지물을 추가하지 마라
검증 가능성을 만족시키기 위해서입니다. 역사적 사건을 지도에 넣지 마세요. 또한, 현재 존재하지 않는 지물을 지도로 그려내지 마세요. 현재 존재하지 않는 지물은 검증할 방법이 없기 때문입니다. 역사적 사건은 여기에서 논의된 바 있습니다. 만약 폐허가 남아 있다면 (따라서 검증 가능하다면), 폐허는 추가할 수 있습니다(historic=ruins 태그를 사용하세요). 버려진 철로나 해체된 철로의 경우에는, 일부 구간이 남아 있어야 오픈스트리트맵에 넣을 수 있습니다(railway=abandoned 등을 사용하세요). 버려진 철로/해체된 철로에 대해서는 여기에서 논의된 적이 있습니다. 더 이상 존재하지 않는 개체는 OpenHistoricalMap에 넣을 수 있습니다(Open Historical Map 참조).
지물로 표현되어 있지 않다면 현지 법률 사항을 매핑하지 마라
OSM은 법률 데이터베이스가 아니라 지리 데이터베이스입니다. 지역 교통 규칙과 같은 법적 측면은 현실 세계의 특정 지리적 지물에 의존하는 경우에만 (길 같은)특정 요소에 매핑해야 합니다. 보기를 들어, 운전자의 혈중 알코올 농도 제한이나 자동차 운전 가능 연령과 같이 당연히 한 국가의 모든 도로 구간에 적용되며 현장에 있을 수도 있지만 설령 교통표지판이 없더라도 무시할 수 없는 교통 규칙은 길에 태그하지 마십시오.
그러나 특정 교통 표지판이나 노면 표시가 없더라도 지도와 충분히 연관성이 있을 수 있습니다. 보기를 들어, 기본 법정 제한 속도를 maxspeed=*로 입력하여 다른 위치별 제한 속도가 없음을 나타낼 수 있습니다. 이 경우에도 maxspeed=*는 여전히 특정 도로와 관련된 중요한 정보를 제공합니다. 교통 표지판의 부재가 태그되지 않았다면 데이터 사용자는 현장의 상황이 '법적' 기본값을 준수하는지 또는 이 도로 구간이 아직 매퍼에 의해 평가되지 않았는지 추측할 수 있을 뿐입니다. Vienna Convention on Road Signs and Signals의 틀 내에서 교차로의 존재와 (반복되는) 교통 표지판의 부재는 교차로 앞에 설치된 금지 및 제한 표지판이 해당 지점 이후에는 더 이상 적용되지 않음을 의미합니다(교통 표지판이 구역 유효성을 가지고 표시되지 않는 한)
잠시 일어나는 행사나 금방 없어지는 지물을 추가하지 마라
많은 사람이 오픈스트리트맵을 오프라인으로 사용합니다. 적어도 다운로드한 이후 몇 주 동안은 지도가 정확해야 오프라인 지도가 유용하다 말할 수 있습니다. 주기적으로 일어나는 행사(5일장 등)는 넣을 수 있습니다. 시간 태그만 추가해 주세요.
렌더러에 맞춰 지도를 제작하지 마라
- 주요 문서: Ko:렌더러에 거짓말하기
실제로 존재하는 지물을 바탕으로 지도를 그리세요. 지도 렌더러, 내비게이션 이용자, 데이터 소비자들에게 맞춰준다는 이유로 부정확한 데이터를 넣지 마세요. 보기 좋아진다는 이유로 데이터를 틀린 방향으로 수정하지 마세요. 그냥 참거나, 데이터 소비자에게 문제를 보고하는 것이 좋습니다.
이름 태그로 지물을 설명하지 마라
- 주요 문서: Ko:이름
name 태그는 지물을 설명하거나 분류할 때 사용하는 태그가 아닙니다. name 태그는 반드시 지물의 '이름'을 나타낼 때만 사용해야 합니다. 지물을 설명하거나 분류할 때 쓰는 태그는 따로 있습니다. 예를 들어, 농로에 "name=농로" 태그를 추가하면 안됩니다. 대신 highway=track 태그를 붙이세요. 만약 도로명처럼 농로에 이름이 있다면, 그 이름을 name 태그에 넣으세요. 이름이 없다면, name 태그를 달지 마세요.
편집기에서 프리셋 목록을 잘 뒤져보세요. iD에는 검색 창이 바로 왼쪽에 있으며, JOSM에서는 F3를 누르면 프리셋 검색 창이 뜹니다. 위키나 Taginfo를 뒤져도 원하는 태그가 안 나온다면 커뮤니티에 물어보세요. 올바른 태그를 찾을 수 없다 note=*나 description=* 태그를 쓰세요.
좋은 바뀜집합 설명
- 주요 문서: Good changeset comments
무엇을 편집했는지를 간결하고 적절하게 설명해야 좋은 바뀜집합 댓글이라 할 수 있습니다. 오해를 방지하고, 실수를 빠르게 고치기 위해, 다른 사람에게 자신이 편집한 것이 무엇인지를 예의바르게 설명하세요. 그러면 당신이 쏟아부은 노력의 가치가 올라갈 것입니다. 나중에 자신의 편집 내역을 볼 때를 대비해서라도 바뀜집합 댓글을 올바르게 쓰는 것은 매우 중요합니다.
역사를 보존하라
현실에서 바뀐 게 있다면 과감하게 지도를 업데이트하세요. 그러나 오픈스트리트맵에서는 편집 역사를 저장할 수 있다는 것을 기억하시고, 요소를 재사용함으로써 역사를 보존하세요. 예시: 만약 카페가 폐업했다면, 노드를 통째로 지우지 마세요. 카페 태그만 삭제하고, 다른 태그들(주소 등)은 남겨 두세요.
건물이나 토지 이용을 업데이트할 때도 마찬가지입니다. 개체를 통째로 지우지 마시고, 기존의 개체를 수정하세요. JOSM에서는 utilsplugin2 플러그인을 깔면 "다각형 교체" 기능을 이용할 수 있습니다. 해당 기능을 이용(개체 2개를 선택하고, CTRL+SHIFT+G를 누름)하면 이전 개체의 역사를 새로 그린 개체로 옮길 수 있습니다.
단일 노드로 표현된 지물을 다각형으로 표현할 때는, 기존의 노드는 태그만 제거해서 새로 그린 다각형 안(건물의 모서리나 입구 등)에 (평생) 넣어 두세요. 이렇게 하면 기존 노드의 역사를 보존할 수 있으며, 나중에 다른 사람이 역사를 검색할 때도 대비할 수 있습니다.
예시(캠퍼스 모서리에 학교 노드를 넣음):
- 학교 노드를 구석으로 옮기세요.
- 캠퍼스를 그리세요. 이때 반드시 기존의 학교 노드를 이용해서 그려야 합니다.
- 태그를 기존 노드에서 새로 그린 다각형으로 옮기세요.
- 기존 노드의 source 태그는 삭제하세요.
- 업로드할 때 바뀜집합 태그를 이용해 출처를 명시하세요(새로 그린 다각형에 다는 게 아닙니다).
한 지물에 하나의 요소
- 주요 문서: Ko:한 지물에 하나의 오픈스트리트맵 요소
지도에 아이콘이 안 뜬다는 이유로 이미 영역으로 나타낸 개체 위에 노드를 또 올리지 마세요. 영역만 그려도 대부분의 렌더러들은 영역 위에 아이콘을 띄워주기 때문에 걱정할 필요는 없습니다. 오히려 중복된 데이터가 쌓이면 쿼리를 제작하기 까다로워집니다. 역으로, 노드만 있었던 곳에 영역을 추가로 그릴 때에는 기존 노드의 태그를 제거하고 새로 그린 영역으로 태그를 옮겨주세요. 그러고 나서 '역사를 보존하라' 단락에서 설명한 것처럼 노드를 지우거나 재사용하세요.
예외에 대해서는 문서 전문을 참고하세요.
편집 표준
항공 사진을 정렬하라
- 주요 문서: Using Imagery
어떤 항공 사진이든, 항공 사진을 이용하기 전에는 사진과 실제 지물의 위치를 맞추는 보정 작업을 먼저 해야 합니다. 항공 사진과 지물 간 오차는 무시할 정도로 작다고 느낄 수도 있겠지만, 실제로는 GPS의 오차보다 훨씬 크며(최소 10m 이상), 오차를 무시했다가는 나중에 해당 영역 전체를 재정렬해야 할 수도 있습니다. 기존의 오픈스트리트맵 데이터를 옮기거나 추가하기 전에는 무조건 정렬 작업을 하세요.
정렬하는 법 / 확인 방법:
- GPS 궤적이나 정밀한 POI 데이터를 이용해 정렬
- 기존 오픈스트리트맵 데이터를 이용해 정렬
- Strava 히트맵을 이용해 정렬
iD, JOSM, Potlatch에는 항공 사진을 정렬하는 기능이 기본적으로 탑재되어 있습니다.
옛날 사진을 이용하지 마라
- 주요 문서: Armchair mapping
현재 이용할 수 있는 사진이라고 다 최신 사진인 건 아닙니다. 수정/삭제하고 싶은 데이터가 지금 쓰고 있는 사진보다 오래되었는지를(역사를 확인하라 참조) 반드시 확인하세요. 사실, 직접 방문한 적이 있는 장소만 지도로 그려내는 게 가장 좋습니다.
GPS 궤적의 평균
- 주요 문서: Accuracy of GPS data
GPS 궤적은 실제 도로 주행 경로와 비교했을 때 몇 m 정도 오차가 있습니다. 위성의 위치, 나무, 주변 건물에 의해 오차가 생기기도 하고, GPS 기기를 도로의 정중앙에 위치시키지 않는 경우에도 오차가 생깁니다. 이러한 오차는 같은 도로를 여러 번 주행해서 궤적을 계속 얻어낼수록 줄어듭니다.
자신이 기록한 궤적을 서버에 올려주세요. 그렇게 하면 다른 사람들이 여러 궤적들을 비교·대조해 가면서 궤적의 오차를 줄이는 작업에 도움을 줄 수 있습니다. 만약 같은 도로를 기록한 궤적을 여러 개 갖고 있다면 "average tracks" 문서를 참조해 궤적을 '평균화'해 보세요.
직선 도로는 직선인 채로 내버려 두라
일직선 도로는 그냥 생긴 대로 그리세요. 직선 하나면 충분합니다. 가운데에 다른 노드를 집어넣지 마세요. GPS 상에서는 도로가 이리저리 꺾여 보일 수도 있지만, 실제로는 완벽하게 일직선 도로일 가능성이 높습니다(GPS 데이터의 정확도 참조).
JOSM, iD, Potlatch에는 도로를 일직선으로 펴 주는 도구가 있습니다. 직선화 도구를 이용하면 오픈스트리트맵 데이터를 매끄럽게, 그리고 보기 좋게 만들 수 있습니다. 다만, 여러 개의 GPS 궤적을 비교·대조한 결과 도로가 곡선이라는 것을 확인했거나, 항공 사진으로 도로가 곡선이라는 것을 확인했다면, 그렇게 알아낸 곡선을 그대로 오픈스트리트맵으로 옮기세요.
곡선은 적당한 개수의 노드로 표현하라
곡선은 적절한 개수의 노드로 표현하세요. '적절한'의 객관적인 기준은 따로 없습니다. 단지 도로 조각 사이의 각도가 90°에 가까울 정도로 작지만 않으면 됩니다. 도로 조각 사이의 각도가 너무 작다면 노드를 추가하세요.
하찮고, 쉽게 사라지며, 움직이는 물체를 추가하지 마라
하찮고(작은 식물 등), 쉽게 사라지며, 움직이는 물체(개나 사람 등)를 추가하지 마세요. 이러한 지물들은 검증하기 힘듭니다.
위치를 추정했다는 사실을 FIXME 태그로 알려라
지물을 아예 안 그리는 것보다는 위치를 추정해서라도 그려내는 게 더 나은 경우가 꽤 있습니다. 그러나, 그렇게 위치를 추정했다면 나중에 언제든지 복구할 수 있도록 fixme=* 태그를 달아 주세요.
직접 만든 태그는 문서로 설명하라
- 주요 문서: New Features
Ko:Map Features에 없는 태그를 쓰고자 한다면, 위키를 통해 다른 매퍼들에게 자신이 만든 태그를 이해시키세요. map features 문서는(//wiki.openstreetmap.org/wiki/Key:...나 //wiki.openstreetmap.org/wiki/Tag:...로 시작하는 문서도) 건드리지 마세요. 이들 문서는 광범위하게 쓰이는 태그를 다루고 있습니다. 대신에 제안 절차를 밟거나, 사용자 문서 또는 하위 문서를 통해 태그를 문서화하세요. 아니면 위키 문서마다 있는 "토론" 탭에서 자신이 만든 태그를 언급하세요. 제안 절차를 밟는 게 가장 좋습니다.
자신이 이해하지 못한 태그를 삭제하지 마라
지도를 편집하다 보면 이해할 수 없는 태그를 마주할 때가 있습니다. 그렇지만 이해할 수 없다는 이유로 태그를 지우지 마세요. 누군가가 특정한 목적으로, 일부러 달아 놓았을 가능성이 매우 높습니다. 만약 이해할 수는 없지만 정말로 지워야 할 것 같은 태그를 찾았다면, 태그를 지우기 전에 그 태그를 단 사람과 얘기를 나누세요.
태그에 값을 입력할 때 세미콜론을 남용하지 마라
세미콜론 값 구분자는 하나의 키에 여러 개의 값을 넣을 때 사용합니다. 이 방식은 마이너한 태그에 값을 목록으로 넣을 때 유용하지만, 중요하면서 많이 쓰이는 태그에는 세미콜론을 쓰지 않는 게 좋습니다. 세미콜론은 남용하지 마세요. 남용하면 태그 체계가 복잡해집니다.
관련 문서
- Editing Standards and Conventions - 지도를 제작할 때 준수하면 좋은 또 다른 규칙들
- Tagging_samples - 사진과 함께 보는 태그 다는 법
- Category:Tagging guidelines by country - 국가별로 차이가 나는 태그 체계를 나열해 놓았습니다.
- 쓰고 싶은 태그라면 뭐든지
- 그냥 그리세요
- 맵박스(Mapbox) 품질 검증 지침