도메인 domains/위치 기반 Location-based

JOSM 주요 용어Terminology 살펴보기

Tap to restart 2023. 10. 8. 01:00
반응형

JOSM을 제대로 사용하려면 JOSM에서 사용하는 주요 전문 용어를 살펴볼 필요가 있다.
 
JOSM Wiki 첫 소개에 전문 용어부터 나온다.
용어는 총 5가지다. Node, Way, Relation, Area, Tag. 하나씩 원문과 함께 살펴보자.
 

 

Node

A Node is a point.
노드는 하나의 점이다.
 

Way

A way is a line connecting multiple nodes. Way, therefore, is a general term for series of joined nodes, not just for roads or ways in reality.
길은 여러 노드들을 연결하는 하나의 선이다. 그래서 길의 실제의 도로나 경로만을 뜻하는 것이 아니라 연결된 노드의 연속을 일반적으로 뜻한다.
 

Relation

A relation is an ordered sequence of ways and nodes, a logical container used to group elements. Only 1% of the data is modeled using relations.
관계는 길들과 노드들의 순서가 있는 배열로, 요소들을 그룹화하기 위해서 사용되는 논리적인 컨테이너다. 데이터 중 1%만이 관계를 사용하여 모델링된다.
 

Area

An area is a way whose ends are connected.
영역은 끝들이 연결된 길이다.
 

Tag

Tags describe what each node, way or relation represents. Tags are pairs of key and value. Keys are basically larger categories, such as "Highway" or "Land Use," while values are specific features, such as "Primary Road" or "Residential Street," and "Residential" or "Retail" land use. For example highway=residential is pair of key highway and value residential and represents a residential street.
 
태그들은 각 노드와 길 또는 관계가 무엇을 나타내는지 설명한다. 태그들은 키와 값의 쌍들이다. 키들은 기본적으로 큰 카테고리들이다. '도로'나 '토지 이용'와 같은. 반면에 값은 '주요 도로' 또는 '주택가 거리', '주거', '소매' 토지 이용과 같은 구체적 특징들이다. 예를 들어서 highway=residential는 키가 highway이고 값이 residentail인 쌍이며, 주택가 거리를 나타낸다.
 
If a road, track or path is curved, the curve is approximated using a number of nodes within a way, and short lines connecting them. If a way has a direction, that is indicated partly by using tags. For example, "oneway=yes" is a road that goes only in one direction. Other tags refer to being on the left and right of the direction of way along the way.
 
만약 도로, 트랙 또는 경로가 곡선이라면, 그 곡선은 길 내의 여러 노드들과 그 노드들을 연결하는 짧은 선들로 근사화된다. 만약 길이 방향을 갖고 있다면, 그것은 부분적으로 태그를 사용해서 나타낸다. 예를 들어서 "oneway=yes"는 한 방향으로만 가는 도로다. 다른 태그들은 길을 따라 길의 방향의 왼쪽과 오른쪽에 있음을 나타낸다.
 

JOSM 파일 형식

JOSM 파일 예제를 보면 실제로 위 표현들 node, tag 등이 등장한다.
 
OpenStreetMap 위키에서 JOSM 파일 형식 예제를 찾아보면 아래와 같다.
출처: https://wiki.openstreetmap.org/wiki/JOSM_file_format
 

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' generator='JOSM'>
  <bounds minlat='51.5076478723889' minlon='-0.127989783553507' maxlat='51.5077445145483' maxlon='-0.127774884645096' origin='OpenStreetMap server' />
  <node id='26821100' timestamp='2009-02-16T21:34:57+00:00' user='dankarran' visible='true' lat='51.5077286' lon='-0.1279688'>
    <tag k='created_by' v='Potlatch 0.10f' />
    <tag k='name' v='Nelson&apos;s Column' />
    <tag k='tourism' v='attraction' />
    <tag k='monument' v='statue' />
    <tag k='historic' v='monument' />
  </node>
  <node id='-1' visible='true' lat='51.507661490456606' lon='-0.1278000843634869' />
  <node id='346364767' action='delete' timestamp='2009-02-16T21:34:44+00:00' user='dankarran' visible='true' lat='51.5076698' lon='-0.1278143' />
</osm>

learnosm.org에 나온 예제 OSM 파일을 JOSM에서 불러보면 다음과 같다. 

sample.osm
0.02MB

출처: https://learnosm.org/ko/josm/start-josm/
 

실제 xml 파일 내용은 아래와 같다.
<node id='-792'></node> 가 쭉 나열되어 있고, 
그 뒤에 
<way><nd ref='-792' /></way> 식으로 길이 정의되어 있는 것을 볼 수 있다.
길을 정의할 때 ref는 node의 id다. tag는 꼭 하나가 아니라 여러 개가 될 수 있다는 것을 확인할 수 있다.

또 길way는 방향성을 갖고 있다. 방향성은 순서로 결정된다. 길 안에 <nd ref='-782' /> <nd ref='-783' /> 식으로 정의되어 있다면 -782 -> -783 방향이고, <nd ref='-783' /> <nd ref='-782' /> 이라면 -783 -> -782 방향으로 반대 방향이다.

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='never' generator='JOSM'>
  <node id='-792' action='modify' visible='true' lat='0.04927079896609012' lon='0.1091822051177659' />
  <node id='-790' action='modify' visible='true' lat='0.06004828455212104' lon='0.09919777523373001' />
  <node id='-788' action='modify' visible='true' lat='0.07084796123223529' lon='0.08919278520114102' />
  <node id='-785' action='modify' visible='true' lat='0.08438502588200107' lon='0.07665183264034775' />
  <node id='-783' action='modify' visible='true' lat='0.09936874121094443' lon='0.06277067470386828' />
  <node id='-782' action='modify' visible='true' lat='0.10867816227459551' lon='0.05414627228745702' />
  <node id='-711' action='modify' visible='true' lat='0.05563970346478362' lon='0.03163756687220885' />
  <node id='-709' action='modify' visible='true' lat='0.056503408814864514' lon='0.02977727753497591' />
  <node id='-707' action='modify' visible='true' lat='0.06009110782178899' lon='0.020010758514645174' />
  <node id='-705' action='modify' visible='true' lat='0.06035686329458639' lon='0.011573017592326016' />
  <node id='-703' action='modify' visible='true' lat='0.057965063993380986' lon='0.001009231713205063' />
  <node id='-701' action='modify' visible='true' lat='0.062150712701697454' lon='-5.853020044255664E-4' />
  <node id='-699' action='modify' visible='true' lat='0.07410970710730858' lon='-0.004770953013124397' />
  <node id='-697' action='modify' visible='true' lat='0.08586938179394009' lon='-0.007694264828699678' />
  <node id='-695' action='modify' visible='true' lat='0.09191531486065505' lon='-0.0022462746269274925' />
  <node id='-693' action='modify' visible='true' lat='0.09410779583330799' lon='0.010908628543311857' />
  <node id='-691' action='modify' visible='true' lat='0.09111804901887939' lon='0.026787526814479136' />
  <node id='-689' action='modify' visible='true' lat='0.08580294296360894' lon='0.033099222780013225' />
  <node id='-687' action='modify' visible='true' lat='0.07357819630954524' lon='0.03768350721810716' />
  <node id='-685' action='modify' visible='true' lat='0.06507402271529131' lon='0.03848077407688064' />
  <node id='-683' action='modify' visible='true' lat='0.05690204204906157' lon='0.0320362003015705' />
  <node id='-681' action='modify' visible='true' lat='0.053820274884213454' lon='0.032964351803042004' />
  <node id='-679' action='modify' visible='true' lat='0.056424678750799734' lon='0.025257438834641762' />
  <node id='-677' action='modify' visible='true' lat='0.05855072263732583' lon='0.016806410131294806' />
  <node id='-675' action='modify' visible='true' lat='0.05855072263732583' lon='0.009205799410732147' />
  <node id='-673' action='modify' visible='true' lat='0.05552111007533397' lon='4.890150877828716E-4' />
  <node id='-671' action='modify' visible='true' lat='0.050896964289534004' lon='-0.006154875402208102' />
  <node id='-669' action='modify' visible='true' lat='0.04372156501104525' lon='-0.013383428255397792' />
  <node id='-667' action='modify' visible='true' lat='0.04021359177389656' lon='-0.009237640589581582' />
  <node id='-665' action='modify' visible='true' lat='0.04595391153199618' lon='-0.0038693770736917665' />
  <node id='-663' action='modify' visible='true' lat='0.04983394222185797' lon='4.358639638724478E-4' />
  <node id='-661' action='modify' visible='true' lat='0.05445808808652931' lon='0.009524706154177958' />
  <node id='-659' action='modify' visible='true' lat='0.05467069248579575' lon='0.014892969670168166' />
  <node id='-657' action='modify' visible='true' lat='0.05243834625645345' lon='0.023237696125627347' />
  <node id='-655' action='modify' visible='true' lat='0.04940873338995851' lon='0.03152927145717611' />
  <node id='-653' action='modify' visible='true' lat='0.04786735135170292' lon='0.040405509151806455' />
  <node id='-651' action='modify' visible='true' lat='0.04733584029593642' lon='0.04513595918070425' />
  <node id='-649' action='modify' visible='true' lat='0.0472295380842874' lon='0.05071682719233617' />
  <node id='-647' action='modify' visible='true' lat='0.0480799557728591' lon='0.05900840252391839' />
  <node id='-645' action='modify' visible='true' lat='0.04940873338995851' lon='0.0665558621205539' />
  <node id='-643' action='modify' visible='true' lat='0.050950115392461894' lon='0.07213673013216906' />
  <node id='-641' action='modify' visible='true' lat='0.0526509506627439' lon='0.07750499364807562' />
  <node id='-639' action='modify' visible='true' lat='0.05562741227316641' lon='0.08409573301418964' />
  <node id='-637' action='modify' visible='true' lat='0.05940114016952925' lon='0.08967660102582153' />
  <node id='-635' action='modify' visible='true' lat='0.06471624944188652' lon='0.09690515387897775' />
  <node id='-633' action='modify' visible='true' lat='0.07221055255905096' lon='0.10397425336035251' />
  <node id='-631' action='modify' visible='true' lat='0.07625003458604251' lon='0.0999879190663345' />
  <node id='-629' action='modify' visible='true' lat='0.07237000580389283' lon='0.09541692240921817' />
  <node id='-627' action='modify' visible='true' lat='0.06864942994743106' lon='0.0918557971065505' />
  <node id='-625' action='modify' visible='true' lat='0.06604502667473544' lon='0.08903878753877932' />
  <node id='-623' action='modify' visible='true' lat='0.06328116999133747' lon='0.08521190661650932' />
  <node id='-621' action='modify' visible='true' lat='0.0599858022153445' lon='0.08048145658761152' />
  <node id='-619' action='modify' visible='true' lat='0.05748770070395809' lon='0.07585730880658476' />
  <node id='-617' action='modify' visible='true' lat='0.05594631886551963' lon='0.07139261439728928' />
  <node id='-615' action='modify' visible='true' lat='0.05445808808652931' lon='0.06671531549233535' />
  <node id='-613' action='modify' visible='true' lat='0.053288763877205735' lon='0.062303772206933575' />
  <node id='-611' action='modify' visible='true' lat='0.05227889295128621' lon='0.0563508463278785' />
  <node id='-609' action='modify' visible='true' lat='0.05201313744173874' lon='0.05045107157273385' />
  <node id='-607' action='modify' visible='true' lat='0.052332044053050884' lon='0.046411586154805416' />
  <node id='-605' action='modify' visible='true' lat='0.0526509506627439' lon='0.040777567019246355' />
  <node id='-603' action='modify' visible='true' lat='0.05992435104555641' lon='0.05138006817705822'>
    <tag k='name' v='Chapman&apos;s Shoes' />
    <tag k='shop' v='shoes' />
  </node>
  <node id='-601' action='modify' visible='true' lat='0.06802304652361152' lon='0.05831185917090494'>
    <tag k='name' v='Jeff&apos;s Supermarket' />
    <tag k='shop' v='supermarket' />
  </node>
  <node id='-599' action='modify' visible='true' lat='0.07318684437359317' lon='0.06876441463000454' />
  <node id='-597' action='modify' visible='true' lat='0.06804896299335904' lon='0.07431594322120832' />
  <node id='-595' action='modify' visible='true' lat='0.0642173222835157' lon='0.06970055474537194' />
  <node id='-593' action='modify' visible='true' lat='0.06395607404264012' lon='0.06906920443501957' />
  <node id='-591' action='modify' visible='true' lat='0.06397784472943235' lon='0.06835077132319368' />
  <node id='-589' action='modify' visible='true' lat='0.06404315678974315' lon='0.06756702611031708' />
  <node id='-587' action='modify' visible='true' lat='0.06436971709007239' lon='0.06680505159779627' />
  <node id='-585' action='modify' visible='true' lat='0.06528408591981802' lon='0.06576005798064978' />
  <node id='-583' action='modify' visible='true' lat='0.06798365093831135' lon='0.06308226183663238' />
  <node id='-581' action='modify' visible='true' lat='0.07464903201297089' lon='0.08567141301609622' />
  <node id='-579' action='modify' visible='true' lat='0.06447147421467692' lon='0.07217857643719039' />
  <node id='-577' action='modify' visible='true' lat='0.06370514604148578' lon='0.07144708090518448' />
  <node id='-575' action='modify' visible='true' lat='0.06300848405597703' lon='0.07024533824544259' />
  <node id='-573' action='modify' visible='true' lat='0.06259048686019171' lon='0.06928742742970263' />
  <node id='-571' action='modify' visible='true' lat='0.06252082066056691' lon='0.06876493062111265' />
  <node id='-569' action='modify' visible='true' lat='0.06252082066056691' lon='0.06794635228766673' />
  <node id='-567' action='modify' visible='true' lat='0.06257307031029835' lon='0.0669361917910728' />
  <node id='-565' action='modify' visible='true' lat='0.06296045247733789' lon='0.0661058436727279' />
  <node id='-563' action='modify' visible='true' lat='0.084771588076692' lon='0.04535740372944694' />
  <node id='-561' action='modify' visible='true' lat='0.060670932528751706' lon='0.05165608900411768' />
  <node id='-559' action='modify' visible='true' lat='0.05980162434158052' lon='0.0524184058357087' />
  <node id='-557' action='modify' visible='true' lat='0.0589755513188258' lon='0.051476392233545144' />
  <node id='-555' action='modify' visible='true' lat='0.0598448595190833' lon='0.050714075401954134' />
  <node id='-553' action='modify' visible='true' lat='0.06613091481236318' lon='0.06118273543817311' />
  <node id='-551' action='modify' visible='true' lat='0.06526160671625236' lon='0.06194505226974414' />
  <node id='-549' action='modify' visible='true' lat='0.06443553377883561' lon='0.06100303866756878' />
  <node id='-547' action='modify' visible='true' lat='0.06530484188923961' lon='0.06024072183599773' />
  <node id='-545' action='modify' visible='true' lat='0.06493931803515515' lon='0.059622726955537095' />
  <node id='-543' action='modify' visible='true' lat='0.06407000991850238' lon='0.06038504378712486' />
  <node id='-541' action='modify' visible='true' lat='0.06324393696183202' lon='0.05944303018499968' />
  <node id='-539' action='modify' visible='true' lat='0.0641132450925069' lon='0.05868071335337846' />
  <node id='-537' action='modify' visible='true' lat='0.06496237040310349' lon='0.05682532409702883' />
  <node id='-535' action='modify' visible='true' lat='0.06409306228682363' lon='0.05758764092859987' />
  <node id='-533' action='modify' visible='true' lat='0.06326698933051426' lon='0.05664562732649142' />
  <node id='-531' action='modify' visible='true' lat='0.06413629746081916' lon='0.05588331049488693' />
  <node id='-529' action='modify' visible='true' lat='0.06631389459441966' lon='0.05846944738803791' />
  <node id='-527' action='modify' visible='true' lat='0.06544458650146935' lon='0.05923176421960895' />
  <node id='-525' action='modify' visible='true' lat='0.06461851356704272' lon='0.05828975061750051' />
  <node id='-523' action='modify' visible='true' lat='0.06548782167431999' lon='0.057527433785862545' />
  <node id='-521' action='modify' visible='true' lat='0.06756091945984699' lon='0.05998817144500413' />
  <node id='-519' action='modify' visible='true' lat='0.06669161138886771' lon='0.060750488276558434' />
  <node id='-517' action='modify' visible='true' lat='0.06586553847506224' lon='0.05980847467443326' />
  <node id='-515' action='modify' visible='true' lat='0.06673484656064335' lon='0.05904615784282876' />
  <node id='-513' action='modify' visible='true' lat='0.06813703179225494' lon='0.059792952869964715' />
  <node id='-511' action='modify' visible='true' lat='0.05951583980799796' lon='0.049234163196502985' />
  <node id='-509' action='modify' visible='true' lat='0.07863469678072543' lon='0.04710014399541202' />
  <way id='-813' action='modify' visible='true'>
    <nd ref='-790' />
    <nd ref='-792' />
    <tag k='highway' v='motorway' />
    <tag k='name' v='Coast Highway' />
  </way>
  <way id='-808' action='modify' visible='true'>
    <nd ref='-788' />
    <nd ref='-790' />
    <tag k='bridge' v='yes' />
    <tag k='highway' v='motorway' />
    <tag k='name' v='Coast Highway' />
  </way>
  <way id='-784' action='modify' visible='true'>
    <nd ref='-782' />
    <nd ref='-783' />
    <nd ref='-785' />
    <nd ref='-581' />
    <nd ref='-788' />
    <tag k='highway' v='motorway' />
    <tag k='name' v='Coast Highway' />
  </way>
  <way id='-733' action='modify' visible='true'>
    <nd ref='-683' />
    <nd ref='-685' />
    <nd ref='-687' />
    <nd ref='-689' />
    <nd ref='-691' />
    <nd ref='-693' />
    <nd ref='-695' />
    <nd ref='-697' />
    <nd ref='-699' />
    <nd ref='-701' />
    <nd ref='-703' />
    <nd ref='-705' />
    <nd ref='-707' />
    <nd ref='-709' />
    <nd ref='-711' />
    <nd ref='-683' />
    <tag k='landuse' v='forest' />
    <tag k='name' v='Cat Forest' />
  </way>
  <way id='-731' action='modify' visible='true'>
    <nd ref='-605' />
    <nd ref='-607' />
    <nd ref='-609' />
    <nd ref='-611' />
    <nd ref='-613' />
    <nd ref='-615' />
    <nd ref='-617' />
    <nd ref='-619' />
    <nd ref='-621' />
    <nd ref='-623' />
    <nd ref='-625' />
    <nd ref='-627' />
    <nd ref='-629' />
    <nd ref='-631' />
    <nd ref='-633' />
    <nd ref='-635' />
    <nd ref='-637' />
    <nd ref='-639' />
    <nd ref='-641' />
    <nd ref='-643' />
    <nd ref='-645' />
    <nd ref='-647' />
    <nd ref='-649' />
    <nd ref='-651' />
    <nd ref='-653' />
    <nd ref='-655' />
    <nd ref='-657' />
    <nd ref='-659' />
    <nd ref='-661' />
    <nd ref='-663' />
    <nd ref='-665' />
    <nd ref='-667' />
    <nd ref='-669' />
    <nd ref='-671' />
    <nd ref='-673' />
    <nd ref='-675' />
    <nd ref='-677' />
    <nd ref='-679' />
    <nd ref='-681' />
    <nd ref='-605' />
    <tag k='waterway' v='riverbank' />
  </way>
  <way id='-729' action='modify' visible='true'>
    <nd ref='-583' />
    <nd ref='-585' />
    <nd ref='-587' />
    <nd ref='-589' />
    <nd ref='-591' />
    <nd ref='-593' />
    <nd ref='-595' />
    <nd ref='-597' />
    <nd ref='-599' />
    <nd ref='-583' />
    <tag k='leisure' v='park' />
    <tag k='name' v='Happy Park' />
  </way>
  <way id='-727' action='modify' visible='true'>
    <nd ref='-555' />
    <nd ref='-557' />
    <nd ref='-559' />
    <nd ref='-561' />
    <nd ref='-555' />
    <tag k='building' v='yes' />
    <tag k='building:levels' v='1' />
    <tag k='building:use' v='residential' />
  </way>
  <way id='-725' action='modify' visible='true'>
    <nd ref='-547' />
    <nd ref='-549' />
    <nd ref='-551' />
    <nd ref='-553' />
    <nd ref='-547' />
    <tag k='addr:housenumber' v='3' />
    <tag k='addr:street' v='Poole Street' />
    <tag k='building' v='yes' />
    <tag k='building:levels' v='2' />
    <tag k='building:material' v='brick' />
    <tag k='building:structure' v='RCC_with_beam' />
    <tag k='building:use' v='residential' />
    <tag k='name' v='Jeff&apos;s House' />
  </way>
  <way id='-723' action='modify' visible='true'>
    <nd ref='-539' />
    <nd ref='-541' />
    <nd ref='-543' />
    <nd ref='-545' />
    <nd ref='-539' />
    <tag k='building' v='yes' />
    <tag k='building:levels' v='1' />
    <tag k='building:roof' v='tin' />
    <tag k='building:structure' v='brick' />
    <tag k='building:use' v='residential' />
    <tag k='building:walls' v='brick' />
  </way>
  <way id='-721' action='modify' visible='true'>
    <nd ref='-531' />
    <nd ref='-533' />
    <nd ref='-535' />
    <nd ref='-537' />
    <nd ref='-531' />
    <tag k='addr:housenumber' v='4' />
    <tag k='addr:street' v='Maron Lane' />
    <tag k='building' v='construction' />
  </way>
  <way id='-719' action='modify' visible='true'>
    <nd ref='-523' />
    <nd ref='-525' />
    <nd ref='-527' />
    <nd ref='-529' />
    <nd ref='-523' />
    <tag k='addr:housenumber' v='2' />
    <tag k='addr:street' v='Maron Lane' />
    <tag k='building' v='yes' />
  </way>
  <way id='-717' action='modify' visible='true'>
    <nd ref='-515' />
    <nd ref='-517' />
    <nd ref='-519' />
    <nd ref='-521' />
    <nd ref='-515' />
    <tag k='addr:housenumber' v='1' />
    <tag k='addr:street' v='Poole Street' />
    <tag k='building' v='yes' />
    <tag k='building:levels' v='1' />
    <tag k='building:roof' v='tin' />
    <tag k='building:structure' v='unreinforced_masonry' />
    <tag k='building:use' v='residential' />
    <tag k='building:walls' v='brick' />
  </way>
  <way id='-715' action='modify' visible='true'>
    <nd ref='-511' />
    <nd ref='-513' />
    <tag k='highway' v='residential' />
    <tag k='name' v='Maron Lane' />
  </way>
  <way id='-713' action='modify' visible='true'>
    <nd ref='-563' />
    <nd ref='-509' />
    <nd ref='-513' />
    <nd ref='-565' />
    <nd ref='-567' />
    <nd ref='-569' />
    <nd ref='-571' />
    <nd ref='-573' />
    <nd ref='-575' />
    <nd ref='-577' />
    <nd ref='-579' />
    <nd ref='-581' />
    <tag k='highway' v='secondary' />
    <tag k='name' v='Poole Street' />
  </way>
</osm>

 

반응형