Ko:쓰고 싶은 태그라면 뭐든지

From OpenStreetMap Wiki
Jump to navigation Jump to search

자유롭게 새로운 태그를 만들어 보세요! 만약 검증 가능하고 오픈스트리트맵에 추가할 수 있는 개체인데 구체적인 태그 지정법이 없다면 얼마든지 새로운 태그를 발명할 수 있습니다. 심지어 오늘날 매우 많이 쓰이는 태그 중에서는 제안 과정을 거치지 않고 발명된 것도 많습니다.

물론 "기존 태그 체계를 무시하고 약국에 unicorn=parking_lot 태그를 붙여도 됩니다"라는 뜻은 아닙니다. 또한 렌더러에만 맞춰서 태그를 붙여서도 안 됩니다. 단지 특정 데이터 소비자가 원하는 행동을 하게끔 강제하기 위해 기존에 잘 구축된 태그를 오용하지 마세요.

참고: 자주 쓰이는 태그는 이미 지도 지물 문서에 나와 있습니다. 가능하면 여기에 나온 태그를 사용하는 것을 권장합니다. 그렇지 않으면 다른 사람이 여러분의 편집을 지도 지물 문서에 맞춰서 수정할 수도 있습니다.

지도 지물 문서에 없는 태그

주요 문서: Creating a page describing key or value

좋은 관례 문서도 찾아 보고, 위키에서 검색도 해 보고, 지도 지물, 제안된 지물, 반려된 지물, 제안된 관계, 메일링 리스트 보관소까지 뒤져 봤는데 원하는 태그가 안 나왔나요? Taginfo에서 원하는 태그와 유사한 태그가 있는지 한번 찾아 보세요. Taginfo에는 오픈스트리트맵 데이터베이스에서 실제로 사용된 태그의 사용 빈도가 나열되어 있습니다. 또한 특정 태그와 함께 사용된 다른 태그도 Taginfo에서 같이 볼 수 있습니다.

오픈스트리트맵에서는 정점(노드), 길, 영역에 어떤 내용의 태그든 붙일 수 있습니다. 쓰고 싶은 태그라면 뭐든지 사용할 수 있지만, 오픈스트리트맵 위키에 여러분이 만든 새로운 태그를 문서화해 주세요. 설령 태그 키-값의 단어만으로 의미를 충분히 유추할 수 있더라도 말입니다.

문서화를 통해 다른 사람이 여러분이 그린 지물을 찾거나 여러분 근처에서 발생하는 편집 오류를 수정할 수 있습니다.

설명 문서를 만들어 놓으면 나중에 여러분이 발명한 지물을 포괄하는 상위 태그를 제안하는 사람에게 매우 도움이 됩니다. 문서를 통해 여러분의 경험과 지물이 제안 과정에 통합될 수 있고, 제안이 통과되면 여러분의 경험 및 지물이 새로운 체계로 받아들여지게 됩니다.

사용할 태그 선택하기 예를 들어, 멸종 위기에 처한  하늘다람쥐의 둥지를 지도에 추가하고 싶다면 위키에 endangered_nest=Siberian_flying_squirrel 문서를 만들고 해당 문서에 태그가 필요한 이유를 적으세요. 이렇게 해 놓으면 나중에 다른 사람이 멸종 위기에 처한 생물종의 다른 측면(배설물을 발견하는 방법 등)을 문서화하기 위한 새롭고 더 짜임새 있는 계획을 제안할 수 있습니다. 참고로 멸종 위기종의 배설물을 발견하는 방법은 건축물을 세우면 안 되는 영역을 정할 때 유용하게 사용됩니다.

여기서 오리엔티어링 지도에 사용하는 분류를 규정하는 IOF 표준을 참고해 이러한 분류 표준이 새로운 태그를 도입하는 데 도움이 되는지, 새 태그가 오리엔티어링 선수의 요구와 맞는지 확인할 수 있습니다. 비슷한 내용의 다른 문서가 존재할 수도 있습니다.

제안을 올리는 방법

아래와 같은 경우에는 여러분이 구상한 지물을 공식적으로 제안할 수 있습니다.

  1. 많은 사람들이 일반적으로 관심을 가질 만한 지물일 때
  2. 새롭게 구상한 지물을 구체화하는 방법을 잘 모를 때
  3. 최근에 올린 제안이 인가되지 못했을 때
  4. 이미 사용 중인 태그의 의미를 변경하려 할 때
  5. 다른 지역의 사람들을 포함하여 동료 지도 편집자들에게서 피드백을 받으려 할 때

(제안서를 작성한다 해도 표준 지도가 여러분의 지물을 렌더링해야 할 의무는 없습니다. 설령 제안이 통과되더라도 마찬가지입니다. 그러나 만약 여러분의 지물이 제안 과정을 거쳤고 다수에게 받아들여진다면, 당연히 해당 지물을 지도에서 보여달라고 요청하는 사람들이 많아질 것이고, 따라서 지물이 표준 지도에 렌더링될 가능성이 높아집니다.)

지도에 추가하면 안 되는 것

오픈스트리트맵 데이터베이스의 요소는 지리적 특성이거나, 지리적 특성이 있는 개체여야 합니다.

예를 들어 무선 랜 핫스팟 기지국의 위치를 추가하는 것은 가능하지만 기지국 주변에 정점을 수없이 찍은 후 해당 위치에서 인식되는 신호 세기를 적는 일은 바람직하지 않습니다. 이러한 정보는 별도의 서비스에 저장하는 것이 좋습니다.

좋은 관례 문서에 나와 있는 검증 가능성을 고려하세요. 과거의 지물, 일시적이거나 또는 가상의 지물, 등급과 같은 주관적인 정보를 지도에 추가하지 마세요.

개인정보를 지도에 추가하는 행위와 관련한 제한 사항 문서도 읽어 보세요.

새로운 태그에 이름 붙이기

본 단락은 현재 지도 지물에 나와 있는 태그와 최근의 제안을 기반으로 새로운 태그를 발명하는 사람들이 사용하는 기존 규칙을 문서화하기 위한 시도입니다. 만약 부족한 정보나 잘못된 내용이 있다면 적극적으로 수정해 주세요!

태그는 유니코드 문자열 쌍(키(key), 값(value))을 소프트웨어적으로 결합한 것으로, 토론에서는 '키=값'의 형태로 적기도 합니다.

아예 새로운 키를 추가할지, 기존 키에 새로운 값을 추가할지, 하나 이상의 키/값 조합을 수정하는 새로운 속성을 추가할지, 태그의 의미를 세분화하는 새로운 방법을 도입할지에 따라 규칙이 조금씩 다릅니다.

완전히 새로운 키나 태그를 정의할지, 아니면 기존 태그 조합을 사용하고 대신 새로운 속성이나 개선 사항만 도입할지 고민된다면 아래 원칙을 고려하세요.

  • 새로운 속성은 상식과 반대되는 방식으로 기존에 확립된 지물을 수정해서는 안 됩니다.

새로운 키에 적용되는 구문 규칙

에 사용하는 문자열은 관습적으로 아래 규칙을 따릅니다.

  • 이상적으로 는 소문자 한 단어로 구성됩니다. 가능하다면 영국식 영어를 사용합니다.
  • 만약 한 단어로 구성하는 것이 불가능하다면 하나의 개념만을 담아야 합니다. 이때 각 단어는 언더바(_)로 구분합니다. 언더바를 사용하는 이유는 간혹 일어나는 공백 문제를 미연에 방지할 수도 있고, 오픈스트리트맵에 기여하는 사람 중에 프로그래머가 많기 때문입니다. 프로그래머들은 공백 대신 언더바를 사용하는 것을 좋아하는 경향이 있습니다.
  • 일부 문자는 다양한 문맥에서 특별한 의미로 사용됩니다. 이러한 문자를 키에 사용하면 오류가 발생할 수 있습니다. =, +, /, &, <, > ;, ', ", ?, %, #, @, \, ., ,는 키에 사용하지 않는 것을 강력히 권장합니다.
  • 그 외에도 공백이거나(스페이스, 엔터, 탭 등) 인쇄할 수 없는 이상한 문자도 쓰지 않는 것이 좋습니다.
  • 일부 복잡한 키는 콜론(:)으로 구분된 여러 단어 또는 개념으로 구성됩니다. 이러한 패턴은 왼쪽에서 오른쪽으로 자연스럽게 읽을 수 있어야 합니다. 이미 몇 가지 패턴이 널리 사용되고 있습니다.
    1. 몇몇 프로그래밍 언어와 유사한 스타일의 단순 이름공간(네임스페이스) 접두어. 다른 오픈스트리트맵 태그와 충돌하지 않는 방식으로 느슨하게 관련 정보들을 한데 묶습니다. 다른 출처에서 데이터를 가져올 때 매우 유용합니다!
    2. 밀접하게 관련된 정보의 묶음. 여러 부분(예: 도로명, 건물번호, ...)으로 구성된 하나의 사실(예: 주소)을 동시에 표현합니다. 속성과 거의 비슷합니다. 주소 및 특이한 이름을 표현할 때 적합합니다.
    3. 언어 코드에 따른 값. Ko:이름#현지화 문서를 참고하세요.
      • name:en=*, name:cy=* - 지물의 영어 명칭과 웨일스어 명칭
      • note:ja=* - 일본어로 기록된 참고 사항
    4. 비교적 드뭅니다. 2번 유형과 비슷하지만 콜론 뒤쪽의 하위 부분이 또 다른 키를 가리킵니다. 거의 메타 태그라고 볼 수 있습니다. 거의.

새로운 값에 적용되는 구문 규칙

지물을 나타내는 태그인지, 아니면 속성을 나타내는 태그인지에 따라 형식과 규칙이 다릅니다.

  • 하나의 태그로 독립적인 하나의 지물(highway 등)이나 지물의 속성(width 등)을 표현할 수 있습니다.
  • 속성은 임의의 값, 숫자 값(width=2 등), 또는 유효한 값의 배열로 표현할 수 있습니다.
    • 이름은 속성 값의 한 예시입니다(name=* 태그). 이러한 값은 일반적으로 대소문자, 공백 및 기타 특수 문자가 혼합된 비정형적이고 유연한 형태를 갖습니다.
  • 지물은 지도 지물의 유형을 보다 세분화하는(예시: highway=motorway - 고속도로) 값을 갖습니다.
    • 지물 태그의 은 키에서 사용하는 구문 규칙을 따릅니다.
    • 이상적으로 지물 태그의 은 소문자 한 단어로 구성됩니다. 가능하다면 영국식 영어를 사용합니다.
    • 만약 한 단어로 구성하는 것이 불가능하다면 하나의 개념만을 담아야 합니다. 이때 각 단어는 언더바(_)로 구분합니다.
  • 때때로 세미콜론(";")은 여러 값을 구분하는 역할을 합니다. 세미콜론 값 구분자 문서를 참고하세요.

세분화 및 이름공간

많은 태그 체계에서는 반복적인 세분화(iterative refinement)를 규정합니다. 이렇게 하면 갈수록 체계가 복잡해져도 역호환성을 유지할 수 있다는 장점이 있습니다. 반복적인 세분화의 예시는 다음과 같습니다.

highway=crossing
crossing=uncontrolled

반복적인 세분화를 규정할 때 다른 태그 체계와 충돌하지 않도록 주의하세요. 이름공간(네임스페이스)을 사용해 정보를 세분화할 수도 있습니다.

문자

오픈스트리트맵 데이터베이스의 키와 값에는 모든 유니코드 문자(UTF-8)을 넣을 수 있습니다. 그러나 키(highway 등), 그리고 범주를 정의하는 값(trunk_link 등)에는 로마자 소문자, 언더바, 콜론만을 넣는 것을 권장합니다. 아래 문자들은 각종 소프트웨어에서 특수한 목적으로 사용되기 때문에 문제를 일으킬 수 있습니다.

  • 공백 공백 대신 '_'를 사용하고, 키의 시작과 끝 부분에 공백을 넣지 마세요.
  • <>&/+?#%'"\ XML, HTML, URL에서 특수한 목적으로 사용하는 문자, 혹은 문자열을 감싸는 데 사용하는 문자입니다.
  • = 등호는 많은 프로그램에서 키와 값을 구분하는 데 사용합니다.
  • ; 세미콜론을 써도 되는지의 여부는 사람마다 이견이 있습니다.

범주를 정의하는 값이 아닌 경우(name 키에 들어가는 값)에는 어떤 문자를 사용해도 괜찮습니다. 다만 값의 시작과 끝 부분에 공백을 넣지 마세요.

스타일 지침?

원한다면 본 문서를 스타일 지침으로 활용할 수 있지만, 실제로 본 문서는 스타일 지침이 아닙니다. 궁극적으로 해석은 사용자에게 달려 있으며, 실제로 적용되는 유일한 원칙은  KISS 원칙("간단하게, 바보 같이")입니다. KISS 원칙을 다른 말로 하면 "가능한 한 가장 간단한 일을 하라"입니다. 여러분의 태그/제안이 간단할수록 더 많은 사람들이 여러분의 제안을 채택할 가능성이 높아집니다.

관련 문서