JOSM 5

Q. JOSM에서 한 점을 움직였을 때 여러 선이 한꺼번에 움직이는 원리는?

A. 점node에 id가 부여되어 있기 때문에 가능하다. 아래 그림처럼 한 점을 움직였을 때 해당 점과 관련된 여러 선이 한꺼번에 움직인다. 다른 편집툴은 보통 한꺼번에 움직이지 않는다. OSM 파일을 보면 아래와 같다. 4개의 점node와 2개의 선way로 이루어져 있다. 선way 정보는 변경이 없고, 점node의 좌표값이 변경되는 것이다.

Q. OSM 파일을 GeoJSON으로 변환하면 어떻게 바뀔까?

A. GeoJSON 데이터가 Feature로 바뀐다. osm을 GeoJSON으로 바꿔주는 파이썬 팩키지 osm2geojson을 활용해서 바꿔보자. 코드는 아래와 같다. 예제 코드를 그대로 활용하고 결과인 json을 파일로 저장한 코드다. import codecs import json import osm2geojson with codecs.open('sample.osm', 'r', encoding='utf-8') as data: xml = data.read() geojson = osm2geojson.xml2geojson(xml, filter_used_refs=False, log_level='INFO') with open("result.json", "w") as f: json.dump(geojson, f) ..

JOSM을 데이터베이스에 저장한다면 어떻게 설계해야 할까?

JOSM 구조 그대로 설계할 수 있을 거 같다. 예제 JOSM의 출처는 https://learnosm.org/ko/josm/start-josm/ 다. node node는 위 예처럼 lat, lon 좌표값을 갖고 있고, 태그들을 갖고 있다. 또 태그는 id가 없다. 태그의 경우 shop, shoes를 하나 만들고 계속 쓰기보다는 node에 종속된 느낌이다. node : tag = 1 : n 관계로 표현할 수 있다. 위 내용을 통해서 node 테이블이 필요하고, tag 테이블이 필요하다는 것을 알 수 있다. 테이블 node { id int [pk] created_at timestamp coordinates geometry[Point] } 테이블 node_tag { node_id int [pk] k varch..

JOSM 주요 용어Terminology 살펴보기

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. 길은 여러 노드들을 연결하는 하나의 선이다. 그래서 길의 실제의 도로나 경로만을 뜻하는 것이 아니라 연결된 노드의 연속을 일반적으로..

Q. JOSM이란?

A. 자바로 만들어진 OpenStreetMap(OSM) 무료 확장 가능한 에디터다. 공식 홈페이지 설명은 다음과 같다. JOSM is an extensible editor for ​OpenStreetMap (OSM) for ​Java 8+.It supports loading GPX tracks, background imagery, and OSM data from local sources as well as from online sources and allows to edit the OSM data (nodes, ways, and relations) and their metadata tags. 출처: josm.openstreetmap.de OSM 에디터 중에서 기능이 많고, 가장 좋은 거 같다. 아래는 오..