Ko:렌더러에 거짓말하기

From OpenStreetMap Wiki
Jump to navigation Jump to search
이 '3D 건물'은 실제 현실과는 동떨어진, 단순히 3D 이미지를 만들기 위해 인위적으로 그려낸 것입니다. 실제로 해당 3D 건물은 장벽, 건물, 토지 이용을 활용해 그려냈습니다. 건물 '뒤쪽'에 있는 도로는 보이지 않게 하기 위해 일부러 그리지 않았습니다.
이 이미지는 이론적인 예시가 아닙니다. 실제 사례입니다.
이렇게 하면 안 됩니다(입자 가속기가 기본 지도에 렌더링되도록 도로 태그를 붙였습니다).
안테나 모양을 표현하기 위해 전력선으로 안테나의 형상을 직접 그렸습니다. 역시 이렇게 하면 안 됩니다.
분홍색을 칠하기 위해 상업 구역(landuse=commercial)을 그리고, 노란색을 칠하기 위해 모래밭(natural=sand)을 사용한 모습.
스포츠 경기장의 문구를 그리기 위해 실제로 존재하지 않는 상업 토지 이용(landuse=commercial) 모래밭(natural=sand) 영역을 그린 모습. 실제로 해당 위치에서는 상업 토지 이용과 모래밭이 없기 때문에 이렇게 지도를 그리면 안 됩니다.

"렌더러에 맞춰 태그 붙이기(Tagging for the renderer)"라는 표현, 특히 "렌더러에 맞춰 태그를 붙이지 마세요(Don't tag for the renderer)"라는 말은 오픈스트리트맵에서 매우 긴 역사를 지니고 있습니다. 때로는 태그에 한정된 표현이 아닌 "렌더러에 맞춰 '지도를 그리지' 마세요(Don't map for the renderer)"라는 말을 사용하기도 합니다. 이 표현을 잘못 이해하는 사람이 많습니다. 정확한 의미는 아래와 같습니다.

"렌더러에 맞추려고 억지로 사실과 다르게 매핑하지 마십시오."

혹은

"(위성이미지에)보이는 대로 그리지 마십시오."

물론 이보다 덜 엄밀한 표현이 훨씬 많이 사용됩니다. 이는 기초적인 좋은 관례 원칙 중 하나로, 잘못된 태그를 사용하거나 입력한 데이터를 왜곡함으로써 개체가 지도에 정해진 방식으로 표시(렌더링)되지 않게 만드는 것입니다.

예시

예컨대 산업 구역(landuse=industrial) 태그는 여러 지도 중에서도 '표준' 지도에서 분홍색으로 표시됩니다. 그렇다고 분홍 장미가 심어진 영역의 분홍색을 나타내기 위해 장미밭에 landuse=industrial 태그를 붙이면 안 됩니다. 대신 꽃밭을 표현하는 태그와 꽃의 유형을 나타내는 태그를 붙여 해당 구역이 어떻게 표시되어야 할지 렌더러에 알려주어야 합니다.

또 다른 예시로는 특정 지도에서 '멋있게' 보이기 위해 약칭(축약어)을 사용하거나, T o w n   H a l l   S t r e e t와 같이 글자 사이사이에 공백을 집어넣거나, علـــــــم와 같이 카시다(Kashida)를 집어넣는 경우가 있습니다. 이렇게 렌더러를 기준으로 이름을 변형하면 안 됩니다. 검색 엔진과 다른 지도 스타일을 망가뜨립니다. 게다가 '멋있음'의 기준은 주관적입니다. 정식 명칭을 약칭으로 변환하고, 이름 사이에 공백을 집어넣거나 문자를 늘리는 행위는 렌더러가 하도록 남겨 두어야 합니다.

유럽 입자 물리학 연구소(CRTN)에서 운영하는 원형 입자 가속기에 highway=trunk(국도) 및 highway=primary(1차 도로) + 터널 태그(tunnel=yes)를 붙이는 사례가 있었습니다(이미지 참고). 입자 가속기는 도로가 아니기 때문에 도로 태그를 붙이면 안 됩니다. 이후 highway=path/tunnel=yes/access=restricted 태그로 수정되었다가 highway=corridor + access=private + tunnel=yes로 바뀌었습니다.

건물의 3차원 형상이 어떻게 생겼는지 오픈스트리트맵에 나타내고 싶다면 가상의 건물, 장벽, 토지 이용을 이용해 일부 렌더러에서 3D처럼 보이는 그림을 그리지 말고 3D 태그를 활용하세요.

미국과 캐나다에 걸쳐 있는 오대호는 한때 해안선 태그(natural=coastline)로 표현되었습니다. 원래 해안선 태그는 바다와 맞닿은 부분에 사용하는 태그이지만, 호수 태그와는 달리 저배율에서도 렌더링된다는 차이점이 있기 때문입니다. 이후 호수 태그(water=lake)로 수정되었으며, 이에 기본 지도 레이어에서는 저배율에서 오대호가 나타나지 않게 되었습니다. 굳이 커다란 호수를 바다로 표시하지 않더라도 렌더러는 저배율에서도 커다란 호수를 렌더링해야 합니다.

맹그로브 나무로 구성된 녹지를 지도에 표현하기 위해 natural=wood 또는 landuse=forest 태그를 붙이는 경우가 있습니다. 올바른 태그는 natural=wetland + wetland=mangrove입니다.

간혹 놀이기구를 attraction=amusement_ride 태그가 아닌 관광지(tourism=attraction) 태그로 나타내는 경우가 있습니다. 롤러코스터를 철길로 표현하는 경우도 있으며, 후룸라이드와 같은 놀이기구를 강이나 하천으로 표현하는 사례 또한 있습니다.

실제로 존재하지 않는 토지 이용(landuse=*)이나 자연물(natural=*) 등을 이용해 글자나 표상(아이콘)을 '색칠하는' 경우도 있습니다("Bruin Bowl" 예시 이미지 참고). 당연히 장벽 태그로 경기장의 선을 표현해서는 안 됩니다(예시: barrier=fence를 경기장에 사용한 잘못된 사례).

일반적인 의미

일반적으로 '렌더러에 맞추지 마라'라는 표현을 주로 사용하지만, 경로 탐색기지오코더(좌표를 주소로 변환하는 프로그램)와 같은 사용례에도 이러한 원칙이 적용됩니다.

또한 데이터 왜곡의 가장 일반적인 형태는 태그를 오용하는 행위이지만, 일부러 요소를 기하학적으로 잘못 배열하는 방식으로도 데이터를 왜곡할 수 있습니다.

해명

사용한 태그가 실제로는 정확하고 오해의 소지가 없더라도 '렌더러에 맞춰' 태그를 붙이지 말아야 한다고 말하는 사람들이 있습니다. 예컨대 특정한 전문 태그(발전소의 세부 정보 등)를 렌더링하는 전문가 지도가 존재하는 경우, 해당 렌더러가 이해하는 태그를 사용하는 것은 설령 공식적으로 '인가'된 태그가 아니더라도 완전히 합리적인 작업입니다.

지도 데이터에서 오류를 찾기 위한 도구 중 하나로 다양한 렌더링 도구를 사용하는 것도 좋습니다. 렌더러는 올바른 지도 제작법을 규정하는 최종적이고 궁극적인 중재자가 아닌, 그저 수많은 도구 중 하나라는 점을 기억하세요.

더 많이 쓰이고 올바른 형태로 태그를 변경하는 행위도 문제가 없습니다. 예를 들어 호수의 태그를 landcover=water에서 natural=water로 변경하는 행위는 좋으며, 도움이 됩니다. 비록 태그를 변경한 1차적인 목적이 "지도에 표시되지 않는 호수를 나타나게 하기 위함"이더라도 말입니다.

또한 개체가 지도에 표시되고 렌더링되는 것에 동기부여가 되는 것은 아주 괜찮고 정상입니다.