Ko:유효성 검사
유효성 검사(검증, Verifiability)는 오픈스트리트맵에서 중요한 개념입니다. 우리는 가능한 한 모든 오픈스트리트맵 데이터를 검증해야 합니다. 유효성 검사는 어떤 태그를 사용할지, 어떤 태그를 허용할지를 결정하고, 지도 데이터가 표현되는 방식을 관리하는 좋은 관례입니다. 기본적으로 다른 사람이 같은 장소에서 동일한 데이터를 수집할 수 있어야 합니다(여러분이 입력한 데이터를 '확인'할 수 있어야 함).
유효성 검사란?
핵심적으로 '유효성 검사'란 다른 사람의 작업물이 사실을 반영하는지, 혹은 그렇지 않은지를 검증하는 모든 행위입니다. 만약 그렇지 않다면 문제를 수정하는 행위까지 유효성 검사에 포함될 수 있습니다.
- 유효성 검사는 지도 데이터 자체뿐만 아니라 지도를 편집하는 방식, 즉 지도에서 개체를 표현하기 위해 그린 다각형, 태그 및 값에도 적용합니다.
- 태그/값 조합과 다각형은 누구나 같은 지물을 관찰했을 때 객관적으로 같은 의미를 떠올릴 때만 검증할 수 있습니다.
- 위키에 명확하게 문서화된 객관적인 기준은 개체에 붙은 태그가 올바른지 검증하는 데 도움이 됩니다.
예시
객관적인 기준
태그를 제대로 붙였는지 검증할 수 있는 객관적인 기준이 있는 것이 바람직합니다. 이 원칙은 숫자 값이든 문자열 값이든 관찰 가능한 모든 특성에 적용됩니다.
예를 들어 건물의 크기는 저마다 다릅니다. 어떤 사람은 건물이 매우 높다고 생각해 건물에 height=tall 태그를 붙였고, 또 다른 사람은 건물의 높이가 그저 평균적이라고 생각해 height=average 태그를 붙일 수도 있습니다.
여기서 'tall'의 의미가 정확히 무엇인지, 'average'의 의미가 정확히 무엇인지 추가로 정의하지 않으면 세 번째 사람은 해당 태그가 올바른지 검증할 수 없습니다. 따라서 height=tall과 height=average 태그는 검증 불가능합니다.
여기서 한 사람이 건물의 높이가 대략 17 m라는 사실을 알아내고 height=17 m 태그를 건물에 붙였습니다. 17 m는 진실 또는 거짓 여부를 확실히 밝힐 수 있는 사실적 관찰이며, 따라서 검증 가능합니다.
값을 문서화해 유효성 검사 과정을 개선하기
위키에 태그를 명확하게 문서화하는 작업은 언제나 유효성 검사에 도움을 줍니다.
문서화를 통해 태그에 들어가는 값의 의미를 정의하고, 지도를 편집할 때 태그의 값을 측정하거나 결정하는 방법을 정확히 파악할 수 있습니다.
예를 들어 수로에 '큼' 혹은 '작음' 태그를 붙일 수는 있지만, 사람마다 '큼'과 '작음'이 정확히 어떤 의미인지를 두고는 의견이 일치하지 않을 수 있습니다.
대신 우리는 '강(river)'과 '개울(stream)'이라는 단어를 사용해 일반적인 형용사를 더 구체적인 용어로 대체합니다. 그러나 사람마다 '강'과 '개울'의 기준이 다를 수 있습니다. 따라서 객관적으로 검증할 수 있는 정의를 사용합니다.
강과 개울을 구분하는 정의는 "활동적인 사람이 가로질러 갈 수 있으면 개울, 그렇지 않으면 강"입니다. 여전히 다소 주관적인 정의이지만 변동 범위가 줄어들었습니다.
다각형 검증하기
타인이 지물 다각형이 참인지 거짓인지를 증명할 수 없으면 정점(노드), 길, 영역의 위치를 검증할 수 없습니다.
길이나 영역으로 검증할 수 없는 일부 지물은 지물의 한가운데에 정점을 찍어서 표현할 수 있습니다.
예컨대 작은 마을(place=hamlet)과 같은 정착지에는 검증 가능한 경계가 없는 경우가 많습니다. 농경지에 있는 작은 마을은 서로 어느 정도 떨어져 있는 집들과 농장으로 구성됩니다. 이러한 경우 마을의 대략적인 중심은 알 수 있지만 외부 경계는 명확하게 결정할 수 없으므로 영역으로 그린 마을은 검증할 수 없습니다.
통계적인 특성
높이(height=*) 및 너비(width=*)과 같은 수적인 속성은 현지에서만 검증할 수 있습니다. 이와는 대조적으로 통계적인 특성은 이론적으로는 검증할 수 있지만, 현실적으로 검증하기 어렵습니다.
예를 들어 한 시간에 통과하는 차량의 대수는 실제로 검증 가능한 값이 아닙니다. 도로의 사용 빈도를 결정하려면 현장에서 오랫동안 관측을 해야 하는데, 이는 현실적이지 않습니다.
이론적으로 검증 가능한 것만으로는 충분하지 않습니다. 일상적인 활동을 통해 실질적으로 검증할 수 있어야 합니다.
주관적인 의견
관측자마다 다른 경험을 할 수 있기 때문에 장소나 사업체에 대한 주관적인 의견, 검토 또는 평가는 다른 사람이 검증할 수 없습니다. 평점 플랫폼에서 이러한 값을 복사해 오면 안 됩니다.
다만 호텔 및 식당의 범주 또는 공인된 관광 위원회가 객관적인 기준에 따라 수여하는 별점(스타)은 예외입니다.
문제가 있는 태그
오픈스트리트맵에서 사용되는 태그 중에는 검증 가능성과 관련하여 문제가 있는 태그가 있습니다. 일부 태그는 문제가 있음에도 불구하고 오래 전부터 널리 받아들여지고 사용되고 있습니다.
도로 태그가 그러한 태그 중 하나입니다. 일부 기여자들은 highway=trunk와 highway=primary 태그의 차이점이 명확하지 않다고 지적합니다. 그러나 여러 국가의 기여자들이 해당 태그를 어떤 상황에 적용할 수 있는지 위키에 국가별로 설명해 놓음으로써 검증 가능성을 높였습니다.
반면 인위적으로 발명된 태그 중에서도 검증 가능성이 불량한 태그가 있습니다. smoothness=*가 그 예시입니다(Harry Wood의 블로그에서 흥미로운 토론을 볼 수 있습니다).
해당 토론을 통해 태그 값의 정의와 값을 적용하는 방법을 신중하게 문서화할 수 있었습니다. 그러나 이렇게 주관적 판단이 필요한 개념은 검증 가능성 측면에서 여전히 문제가 있습니다.
검증이 어려운 태그 표시하기
이 위키에서 검증이 어렵다고 생각하는 태그를 발견한다면 {{Verifiability}}와 같은 검증 가능성 틀을 문서에 붙여준 후 토론(Talk) 탭에서 토론을 열어 주세요. 그러고 나서 태그를 검증할 수 없는 이유를 설명하세요.
커뮤니티의 관점
해당 검증 가능성의 원칙은 커뮤니티 토론에서 자주 인용됩니다.
우리는 모든 것이 검증 가능해야 한다는 일반적인 규칙을 정했습니다. 여기서 일반적인 규칙이란 '예외 따위는 없는 딱딱한 규칙'을 의미하는 것이 아닙니다. 다만 검증할 수 없는 것을 지도에 추가하려면 매우 타당한 이유가 필요합니다. 오픈스트리트맵 데이터는 상대적으로 많은 사람들에게 상대적으로 매우 유용하거나, 오픈스트리트맵에 기여하는 매퍼들에게 유용하기 때문입니다.
— Tagging 메일링 리스트(2022년 8월), "의견 요청: 에루브(Eruv)를 오픈스트리트맵에서 제거하고 보다 폭넓은 boundry=religious 태그로 대체하자는 제안".