Ko:경로 탐색

From OpenStreetMap Wiki
Jump to navigation Jump to search
Skobbler 네비게이션 (iOS용 온라인 turn-by-turn 네비게이션 앱).

길찾기(Routing) (어떤 나라에서는 내비게이션(navigation:운행:경로탐색)으로 불린다)

라우팅 서비스는 사람들이 어떤 한 장소에서 다른 장소로 찾아가는 길을 자동으로 생성한다. OpenStreetMap 데이터는 자동차, 보행자, 자전거와 말(馬)을 포함하는 많은 모드로 경로를 주행하는 정보를 포함하고 있다.

OpenStreetMap 데이터를 사용하는 많은 오프라인, 탑재용 그리고 웹기반의 길찾기 서비스(routing services)들이 있다.

개발자들에게 있어서, 이 페이지는 더 나은 길찾기(routing) 엔진을 만드는 데 사용될 수 있는 새로운 경로탐색 앱/전개프로그램 그리고 상세한 키 오픈스트리트맵 데이터를 생성하는데 사용할 수 있는 소프트웨어에 관한 조언을 제공한다. 많은 메일링 리스트들이 또한 사용가능하다.

--James Park 04:52, 17 November 2012 (UTC)

최종 사용자들: 길찾기 소프트웨어(Routing software)

온라인 경로탐색 기획자들에게 제공하는 오픈스트리트맵 데이타를 사용하는 많은 웹사이트들이 있다; 전세계적인 지원을 하는 업체들은 아래에 있다. 게다가 몇가지 옵션(선택사항)들이 여러분의 휴대기기 혹은 노트북에 오프라인 네비게이션 소프트웨어를 설치하기 위하여 존재한다 (전체 목록은 오프라인 경로탐색(여기)를 보세요).

내비게이션 앱들은 Android, Apple iOS, Java ME (J2ME) 그리고 Openmoko에서 사용할 수 있다. 다른 휴대용 플랫폼에 대한 것은 여기를 보세요.


지도 그리는 사람들(Mappers): 지도 데이타를 향상시키기

경로운행(route navigation) 소프트웨어가 잘 작동하기 위해서는, 깔려있는 지도 데이타가 좋은 품질이어야만 한다. 근본적으로 이것은 연결되어져야 하는 길(way)들이 실제로 연결되어져 있어야 하며, 일방통행 길들도 태그되어야 하고, 회전제한등이 지도에 그려져 있어야 하는 것을 의미한다.

여러분은 사용된지도 그리기 특성들(Map Features)에 익숙해야만 하며, 특히 경로주행에 특정한 태그들을 이해하기 위해서는 라우팅용 OSM태그들을 참조하라.

MapDust를 가지고 버그를 수정하기

Potlatch에서 연결된 노드와 연결되지 않은 노드를 어떻게 결정하는지를 보여준다

MapDust에 있는 많은 버그들은 iOS 혹은 Android 내비게이션 앱들안에서 직접 추가되어져 왔다. 이것이 지도데이타에 대한 향상을 위하여 이것을 좋은 장소로 만든다. 몇몇 버그들은 특히 일방통행길 혹은 회전제한에 관한 것들이며 그렇게 표시된다.

이것은 길들 사이에 사라진 연결이 있다는 것을 나타낼지도 모르니, 작은 지역에 있는 많은 " 형편없는 경로주행 " 혹은 "다른" 버그들을 살펴보세요.

Potlatch에서 여러분이 길을 선택할 때, 여러분은 하이라이트된 모든 노드들을 보게 될 것이다. 만일 노드가 버그이고 광장이라면, 이것은 또다른 길로 연결된 것이다. OSM 데이타의 질을 향상시키기 위하여, 여러분은 또한 WayCheck에 의해서 생성된 보고서들을 사용할 수 있다.

주의: 많은 사용자들이 내비게이션 앱을 사용하는 동안에 기본설정 텍스트를 변경하지 않을 때, Mapdust에서 "기본설정 텍스트를 가진 버그 숨기기(Hide bugs with default text)" 를 설정 해제하도록 하라.

속도 데이타

가장 빠른 경로주행(라우팅)을 더 잘 계산하기 위하여, maxspeed=* 태그를 사용하여 속도데이타를 추가하는 도움을 고려하세요. 이것은 속도제한이 나라마다 도로형태 혹은 자동차형태에 따라 허용속도의 최대속도를 추정하는지에 특히 중요하다.

주의: ITO World 는 빼먹은 속도제한을 확인하는 것을 돕기 위하여 많은 서비스를 제공한다.

--James Park 05:26, 17 November 2012 (UTC)

개발자들

데스크탑과 서버용 소프트웨어

Java:

  • Traveling salesman routing-application은 사용자환경을 제외한 모든 기본적인 것을 하는 osmNavigation -library 를 포함하고 있다. 가장 중요한 부분들은 플러그인들로 교체될 수 있다.
  • OpenTripPlanner site 은 OSM 데이타를 지원하는 다중-기기용 여행 기획용이다. OTP 전개기(Deployer)는 여러분 자신만의 경로주행 사본을 전개시키는 것을 쉽게 해준다.
  • GraphHopper 는 (도로)망용 경로주행 엔진이다. 현재 기본적인 알고리즘들이 실현되어져 있지만, 메모리 효율이 있는 길에만 있다.

C/C++

C#

Scala

Ruby

  • Mormon pyroutelib 의 ruby version


--James Park 05:40, 17 November 2012 (UTC)

라이브러리/개발 툴

OSM 경로주행(Routing)에 중점을 둔 라이브러리들은 Develop/Frameworks에서 찾을 수 있다. 여기에 몇가지 일반적인 라이브러리들이 있다:

  • pgRouting - PostGIS에 기반한 경로주행 엔진(routing engine). 내부 그래픽 구조로 OSM 데이타를 import하는 특별한 도구인osm2pgrouting . SQL database tables의 상단에서 직접적으로 작동한다.
  • Libosmscout는 OpenStreetMap data에 기반한 오프라인 렌더링과 경로주행 기능성에 단순하고 높은 수준의 환경을 제공한다.

프로토콜:

  • 기본설정 프로토콜은 주된 서버에 의해 말해지는 API v0.6이다. 만일 모든 데이타를 포함할 수 있으면, OSM안에 있다. Planet.osm를 저장하세요.
  • 또한 압축되었지만 제한된 OSM Mobile Binary Protocol도 있다.


--James Park 05:54, 17 November 2012 (UTC)

도로 형태(Highway-type)

highway를 위한 값 순서 - 추정속도순서로 나열된 태그이다:

  1. motorway (고속도로)
  2. motorway_link
  3. trunk (간선도로)
  4. trunk_link
  5. primary (메인도로)
  6. primary_link
  7. secondary (보조도로)
  8. tertiary(제3도로)
  9. quarternary(제4도로)
  10. residential(거주지 도로)
  11. service(서비스)
  12. track(경로)
  13. living_street(생활 도로)
  14. residential_narrow (거주지 골목길)
  15. living_street_narrow(생활도로 골목길)


--James Park 05:59, 17 November 2012 (UTC)

평균 속도

OpenStreetMap 데이타는 경로주행을 위한 현실적인 시간평가를 하기 위하여 평균속도 값을 필요로 할 것이다.

  • Speedcollector 는 현실-세계 측정치를 수집하는 서비스이다, 반면에 이것은 저장된 경로(트랙)에서 길마다 평균 속도로 주행하는 것을 가능하게 할지도 모른다.
  • Global Statistical Speed Matrix 는 NMEA/GPX 경로(트랙)에 있는 유용한 속도정보를 추출하여 그것들을 효율적으로 데이타베이스에 저장하여 수집된 데이타를 경로주행 목적에 유용하도록 하는데 목적을 둔다 .

차선(Lanes)

highway의 수많은 차선들(lanes)은 OSM에서 직접 태그되며, 평균속도(가장 빠른 경로)와 연료소비(가장 효율적인 경로)에 주요한 영향을 끼친다.

꼬부랑길(Sinuosity)

접근성(Accessibility)에 관한 몇몇 연구에서, brabyn.pdf 은 경로(트랙)의 꼬부랑 정도와 이것의 어떤 특징들에 의존하여 여행의 시간을 추청하는 모델들을 개발하고 있다. (선 거리/예상된 선 거리로 관측되는 ) 모든 구역의 sinuosity index의 수단으로, 도로의 굽은 정도와 주행의 형태에 따라서 측정된 속도를 얻는 것이 가능하다. 이 모델은, 만일 회피하거나 지나치게 길게 굽은 도로가 양쪽 주행로에 유사한 꼬부랑 값을 주면서 긴 커브가 한 길을 따라 많은 작은 커브와 같을 수 있다면, 더 정확하다. 어떤 나라들은 도로의 구역을 구분하고 속도제한을 주기 위하여 이 값을 사용한다 (그러나 이것은 일상적인 것은 아니다).

반면에, space syntax와 같은 지리적인 접근들은, 도시환경에서, 보행자와 운전자들이 주행경로에 대한 가시력에 따라 그들의 길을 선택하는 순간에 영향을 받는다는 것을 가정한다. 이런 면에서, 예를 들어 A 지점에서 B 지점으로 움직이는 보행자들은, 굽거나 좁은 길을 가로지르는 것을 피하면서, 심지어 후자의 길이 약간 더 짧을때는 언제든지, 원칙적으로 넓고 직선적인 길들, 광장들 혹은 넓은 시각적인 영역을 갖는 가로수길들을 선택할 것이다 .

경사길(Inclines)

커브길과 같이, 경사길(Inclines)도 여러분 자동차의 속도를 감소시킬지도 모른다.

도로상태(Highway-condition)

측정하기 더 어려운 경우에, 평균속도를 결정하는 다른 요소들은 포장의 폭, 도로망의 상태, 서비스 수준 (LOS), 최단반지름 곡선(minimal radius curve), 경사선회, 커브와 경사도에 근거한 가시력 등등이다.

OpenStreetMap에서, 이 모델은 그런 주행경로에는 인상적일 수 있으나 그런 경로에는 속도에 대한 데이타가 없다(예를 들면: highway=unclassified(미분류)).


--James Park 07:26, 17 November 2012 (UTC)

메일링 리스트

다음의 메일링 리스트들은 경로주행(routing :내비게이션)과 관련된 것이다.

  • osm-routing '벡터(vector) 데이타를 가지고 경로주행(routing)에 대한 토의. 특히 OSM 데이타에 관심이 많다'
  • osm-accessibility 모든 장애인들을 위하여, 이것은 장애인에 특별한 관심이 있는 태그들의 제안과 사용법에 관심이 많다. 특별한 지도들은 이 데이타를 가지고 만들어져야 한다.

참조

  • OSM tags for routing - 경로주행을 할 때 여러분이 사용할 수 있는 OpenStreetMap에는 무슨 데이타가 저장될까?
  • Rollstuhlfahrer-Routing - 휠체어 경로주행에 관한 독일 프로젝트
  • Routing problems - 최소비용 경로주행을 하면서 해결될 수 없는 어떤 문제가 있을까? 우리가 *Routing profiles 에 대한 어떤 제안을 가지고 있나?- 어떤 부류의 사람들이 경로주행을 생성하길 원하는가, 그리고 그들의 특별한 필요사항은 무엇인가? '교통신호에 놀라지만 숲속에서 걷는 것을 좋아하는 말'이 경로를 물을 때, 우리는 얼마의 무게를 사용하여야 하나? 매끈한 타이어를 갖고 있지만 밤에는 조명도 없는 자전거 운전자들을 위한 기장좋은 경로주행을 우리가 어떻게 선택할 수 있나?
  • Sample driving instructions
  • TIGER fixup - 미국에서 경로주행을 수정하기. 기본적인 주(州)간의 경로주행을 시작하기: TIGER fixup/250 cities 그런 문제들을 수정하기 ?
  • Train routing- 대중 교통망에 관하여 우리가 어떻게 주행경로를 할 수 있을까?그리고 다른 예정된 서비스들은?
  • LoroDux - 맹인을 위한 휴대폰기기용 보행자 경로주행
  • Taxi to... - 장거리 경로주행 비교에 관한 재미있는 접근
  • 비디오: Google Tech Talk - Peter Sanders - Fast Route Planning

--James Park 07:51, 17 November 2012 (UTC)