0층을 지면으로 보는 방식이 적용되어있는 것 같은데 한국 지역에서도 0층을 지면으로 설정하는건가요 아님 한국 사회에서 통용되는대로 1층을 지면으로 설정하는건가요?
안녕하십니까?
층을 어떻게 표현할 지에 대해 한국 커뮤니티 안에서 이전에 논의가 된 적이 있는지는 모르겠습니다.
아시겠지만, OSM이 영국에서 시작되었고 그렇다 보나 적잖은 부분에 영국의 영향이 남아 있습니다.
흔히 아다시피 영국은 지상층은 0층으로 봅니다.
위키문서에서도 그렇게 서술되어 있으나 실제로는 버릇대로 표현을 하는 경우가 꽤 있는 듯 합니다.(저 역시도 지상층은 늘 1층, 즉 level=1로 표현해 왔습니다.)
Key:level 문서 영문판에 보시면 카자흐스탄, 몽골, 북한, 남한에서 압도적으로 level=1 사용량이 많다고 나와 있으며 따라서 그 곳을 편집하는 사람들은 지상층을 level=1로 인식한다는 것입니다.(미국은 왜 아닌지 모르겠네요…^^)
어쨋든 제가 이해하기로는, 원칙적으로 지상층은 level=0이 맞지만 관습을 존중하여 지상층을 level=1로 표현할 수도 있다(그렇게 표현하는 사람도 있다?)고 허용하는 것 같습니다.
결론적으로 적어도 한국 땅 안의 지물에 관한 한, 그냥 하던 버릇대로 지상층은 level=1로 보는 것이 좋지 않을까 싶습니다.(즉 지하층은 level=-1, 지상층은 level=1, 그 윗 층은 level=2,…)
그렇지 않습니다. Key:level 문서를 읽어보시면 명백하게 level은 기계적으로 처리하는 값이며 0부터 시작하는 zero-base 값이라고 명시되어 있습니다. 1부터 시작하는 경우가 있지만 그건 경험이 부족한 매퍼가 기입한 것이라고요. 지역별로 다르게 처리해야 한다면 지도 데이터라고 볼 수 없죠.
지상층을 "1"이라고 매핑된 정보가 있다면 수정해야 합니다. "level=1"은 우리가 2층이라고 부르는 지상층 바로 위의 층을 가리키는 데이터이지 관습적인 "1"층을 가리키는 말이 아닙니다.
좀 더 덧붙이면, 이러한 태그는 지역별로 특별한 규칙이 있어서는 안 됩니다. OSM을 위해서나 우리를 위해서나 도움이 되지 않습니다. 처리하는 방법이 달라지면 국제적으로는 항상 소외되고 국내에서는 이상하게 동작한다는 이용자들의 엉뚱한 불만만 접하게 됩니다.
10여년 전에는 한국 지역의 “name” 태그가 "한글 (English)"의 형식으로 쓰였다는 것 아십니까? 한국 거주 외국인들이 대부분의 편집자였는데 다분히 그들의 편의 목적이었습니다. name은 local name으로 쓰는 것이 원칙이니까 그렇게 바꾸자고 했을 때 이렇게 해 왔으니까 계속 하자는 식의 저항이 있었죠. 속내는 그들이 쓰는 지도에서 자기들이 편하게 보이기 때문이었습니다. “name” 태그만 사용하는 렌더러들이 많으니까요. 그런데 그렇게 계속 쓰면 영어 버전 지도를 만들어 주는 렌더러에서는 현지 이름을 괄호 안에 넣으려니까 오히려 “English (한글 (English))” 식으로 되어버렸죠. 예외가 예외를 만듭니다.
지금 확인해보니 정답이 있는 문제였네요
wiki of Key:level # Ground floor number
In general, the level=* key ignores these distinctions in favor of the zero-based numbering scheme, because the level=* key was originally envisioned as a machine-readable key for 3D building rendering.
지금부터라도 고쳐나가는 방향으로 가는게 맞을 것 같습니다
지금 https://wiki.openstreetmap.org/wiki/Key:level 문서를 보니 제가 예전에 읽었던 것과 내용이 크게 달라졌네요. 보니까 2021년 6월 22일판까지는 제가 알고 있던 내용이 그대로 적혀 있었으나, 2022년 3월 14일판에서 내용이 크게 바뀐 것으로 보입니다.
데이터 사용자는 level=0이 항상 거리 높이라고 가정할 수 없습니다. 건물이 다른 층수 체계를 사용하는 경우 지상층의 층수는 다른 번호를 가질 수 있습니다. 예를 들어 미국, 러시아, 일본 등 여러 국가에서는 1층을 지상층으로 표시하는 것이 일반적입니다.[1] 그러나 Simple Indoor Tagging과 같은 태깅 표준을 사용하는 데이터 소비자는 최소한 층수 번호가 연속적(즉, 3 위의 층은 4, -1 위의 층은 0)이어야 한다고 기대할 것입니다.
Data users cannot assume that level=0 is always at street level. If the building uses a different floor numbering scheme, the floor at street level may have a different number. For example, in the United States, Russia, Japan and more countries, it is common to denote the first floor as the floor at street level.[1] However, data consumers relying on tagging standards such as Simple Indoor Tagging will expect level numbers to at least be consecutive (i.e. the level above 3 is 4, the level above -1 is 0).
2021년 6월 22일 판본
보통 이런 기초적인 설명은 처음 입문했을 때 한번 보고 그 뒤로는 외워서 쓰는 게 일반적이다 보니 바뀐 설명을 보고 처음에는 당황스러웠습니다. 제안(proposal) 과정을 거쳤다면 주간OSM 등을 통해 여기저기 공지가 나가기도 하고, 피드백도 받고 하니 개정 사실을 알았을 텐데, 지금 보니 기존 서술이나 현재 서술이나 (approved가 아닌) de facto네요.
level 태그의 용도는 여러 가지가 있겠지만, Simple Indoor Tagging의 관점에서는 0-level tagging이 데이터 처리에 자연스럽다는 데 동의합니다. 다만 POI의 위치(층수)를 알려주는 용도로도 level 태그가 많이 쓰일 텐데, 이 목적으로는 level 태그와 함께level:ref=*
태그를 사용하면 된다고 서술되어 있습니다.
level=*
태그와 level:ref=*
태그를 함께 사용하는 방식을 쓰면 전 세계적으로 통일 되게 데이터를 처리할 수 있다는 장점이 있습니다. 다만 1층부터 시작하는 국가에서는 필연적으로 층수를 나타낼 때 2개의 태그를 써야 해서(level=3을 보고 4층에 있는 가게를 3층에 있다고 안내하게 되는 문제가 생김) 데이터 부풀리기가 생긴다는 단점이 있습니다.
데이터 소비자 측에서 국가별로 다른 정책을 적용해 level:ref 태그 없이 level 태그만 가지고 제대로 된 층수 정보를 전달하는 것도 물론 가능합니다. 그러나 이러면 전 세계적으로 통일되게 데이터를 처리할 수 있다는 가정에 어긋납니다.
범국가적 통일된 데이터 처리와 데이터 용량 최적화는 어느 정도 대척점에 있습니다. 그래서 태그마다 전자에 중심을 둘지, 후자에 중심을 둘지가 다릅니다. 전자의 예시로는 깔끔하게 값을 정의하기 어려운 국가에서도 UNESCO 기준에 최대한 맞춰서 전세계적으로 의미를 통일하려 한 isced:level=*가 있고, 후자의 예시로는 국가별로 함축하는 태그를 다르게 정의하는 motorroad=*가 있겠습니다. 두 가지 가치를 절충한 경우도 있는데, highway=*의 경우 각 도로의 상대적 위계는 대부분의 국가에서 일치하지만(일부 태그를 아예 안 쓰는 국가도 있기는 합니다) 각 위계의 태그가 가리키는 도로의 상태는 국가마다 크게 다릅니다(선진국의 highway=primary와 사하라 이남 아프리카 지역의 highway=primary는 물리적으로 보았을 때 크게 다릅니다).
본론으로 돌아와서, 저는 그동안 위키 내용이 바뀐 줄도 모르고 관성으로 1-level tagging을 해 왔고(어쨌든 한 국가 안에서는 최대한 태그 체계를 통일하는 게 좋으니까요), 한국의 level 태그를 0-level로 전환하는 데 반대하지는 않습니다. 다만 태그의 정의를 근본적으로 바꾸려고 한다면 위키 서술을 바꾸기 전에 1-level tagging이 퍼져 있는 국가의 level 태그를 어떻게 개정해야 할지 논의하는 게 맞다고 봅니다(참고로 공식적인 proposal을 올리면 이러한 방안까지 다 논의가 되어야 합니다). 예를 들어 저는 일관되게 1-level을 써 왔지만, 누군가는 일관되게 0-level을 써 왔을 수 있고, 누군가는 도중에 1에서 0으로 바꾸었을 수 있는데, 이러면 무조건 기존 태그의 값에서 일괄적으로 -1을 뺀다고 문제가 해결되는 게 아니니까요.
level 태그뿐만 아니라 여러 de facto 태그가 이러한 모순점을 가지고 있기는 한데, 이건 General talk에서 논의가 되면 좋겠습니다.
참고로 과거 한국에서 name 태그에 한국어와 영어를 병기하는 문제는 2009년 import로부터 시작된 것으로 보입니다. 이 import를 담당하신 분은 외국인이 아닌 한국인이시고요.
2009년 import 전 이미지를 보면 오히려 영어 병기를 안 하는 쪽이 과반수였음을 볼 수 있습니다.
※ 다만 실제 OSM 데이터와는 별개로 2008년 당시 위키에 한국어/영어 병기를 지시하는 내용이 위키에 존재했던 것은 사실인 것 같습니다.
위의 메일에서도 볼 수 있듯이, name에 두 언어를 병기하는 체계를 지지하는 ‘외국인’ 분이 계셨습니다. 그러나 N Max라는 ‘외국인’ 분께서는 해당 체계에 반대표를 던졌고, 거기에 더 나아가 name 태그에 한국어만 들어가도록 대량 수정을 하는 데 큰 공헌을 하기도 했습니다.
(여담이지만, N Max 님께서는 한국 텔레그램 채팅방 개설자로서 커뮤니티 성장에 큰 공헌을 해주셨습니다.)
hi! Yes, it’s awesome to see all the progress in Korea.
“한국 거주 외국인” 사이에서도 의견이 갈리는 일이었고, 토론을 통해 결국에는 맞는 방향으로 나아갔는데 마치 "한국 거주 외국인"을 하나의 의견을 가진 집단으로 보는 건 다소 이상하네요. 게다가 행정구역 POI를 추가하면서 영어를 병기한 건 결국 "한국 거주 외국인"이 아니었고요.
말꼬리 잡기로도 읽힐 수 있겠지만, 배경 지식을 모르는 사람이 보면 오해할까봐 부연 설명을 해 보았습니다.
level=0
level:ref=1
level=1
level:ref=2
일단 원칙적으로는 이런식으로 표기하면 되는건가요?
관련된 몇가지 질문 + 생각할 거리같은거 생각나서 적어봅니다
- 0.5층 혹은 M층의 존재
- 층 이름을 숫자가 아닌것으로 쓰는경우
- 지하1층: -1 or B1 or 지하 1
- 병원의 4층: 4 or F
- 이때 건물이 level=3층이라면 level:ref는?
- 옥상등의 특수층의 표기
덕분에 level:ref에 대해 알아갑니다
저는 그 name 태그 문제에 대한 토론의 가운데에 있었고, 당연히 저는 “모든” 한국 거주 외국인을 말한 게 아니었습니다. 함부로 넘겨짚지 마세요. 로컬 규칙을 만들었을 때의 문제에 대해 예시를 들었는데, 이런 식으로 꼬아서 반박을 할 수도 있군요.
2022년에 바뀐 그 내용을 들면서 1-base가 맞을 수도 있다는 식으로 말씀을 하시는데요. 그건 내용을 잘못 전달하시는 겁니다. 2022년 한때 그랬을 지 모르나 그 내용은 또 바뀌었고 결국 합의된 현재 페이지에는 없습니다. 현재 위키 내용은 0-base라는 게 명백합니다.
https://wiki.openstreetmap.org/w/index.php?title=Key:level&oldid=2287972#Ground_floor_number
뭔가 기분이 상하신 것 같아 안타깝습니다만, 작은 표현상의 문제를 말씀하신 것으로 비꼬거나 한 것은 아닌 것으로 보입니다.
그리고 이 곳은 많은 분들이 함께 하는 자리이므로 혹시라도 어떤 문제가 있다고 생각하신다면 거친 표현보다는 저희 중재자들에게 혹은 다른 사람의 의견을 물어봐 주셨으면 하는 생각입니다. @mods-korea
링크하신 중재 방법도 moderator를 달고 계신 같은 분이 쓰신 글이라는 건 아시나요? 이 정도를 중재 받을 문제라고 생각하지도 않지만, 그렇더라도 문제가 발생한 당사자가 포함된 그룹에게 중재를 요청하진 않을 것 같습니다.
한가지 예를 들어보면, 만약 모든 입구(entrance=)와 창문(window=)을 모두 1-base로 만든다면, 모든 3D 렌더링에서 입구와 창문이 2층부터 그려지게 됩니다. indoor를 포함한 길찾기 알고리즘이 동작하지 않을 것이고요. 세계 곳곳의 3D 렌더링 구현을 쫓아다니면서 (3D - OpenStreetMap Wiki) 지역별로 다르게 렌더링하도록 바꿀 수 있습니까?
철저하게 데이터 관점에서 매핑하는 이유가 이것입니다. 당장 openstreetmap.org에서 예쁘지 않게 보인다거나 우리 관습과 다른 부분이 있다는 게 문제가 아닙니다.