Navigation
-
[Navigation] #4 route API 분석 (옵션별 결과 비교)Navigation 2026. 3. 22. 00:09
이번 글에서는 Route API 옵션과 OSRM이 제공하는 주요 서비스 API들을 확인해보겠다.1. OSRM Route API 파라미터 살펴보기OSRM Route API는 다양한 파라미터를 통해 응답 결과의 형태와 상세 수준을 조정할 수 있다.파라미터를 활용하여 반환되는 경로 정보의 구조, 상세 정보, geometry 형식 등을 필요에 맞게 제어할 수 있다.예를 들어, 응답 크기 최적화, 디버깅, 지도 렌더링, 네비게이션 기능 구현 등의 목적에 따라 여러 파라미터를 조합하여 사용할 수 있다.파라미터 설정없이 기본 요청 결과는 아래와 같다. [요청 예시]http://localhost:5000/route/v1/driving/126.9780,37.5665;127.0276,37.4979?overview=simp..
-
[Navigation] #3 OSRM 라우팅 서버 구축 실습 (Docker, 지도 데이터 전처리, Route API)Navigation 2026. 3. 9. 22:47
이번 글에서는 직접 OSRM 서버를 실행해 보면서지도 데이터 전처리 과정과 라우팅 서버 구동 과정을 실습해 보겠다. 1. OSRM Docker 이미지 받기이번 실습에서는 OSRM 공식 Docker 이미지를 이용해 라우팅 환경을 구성해보겠다. 공식 이미지 Pulldocker pull ghcr.io/project-osrm/osrm-backend 이미지 확인docker images | findstr osrm 이제 OSRM 실행에 필요한 Docker 이미지를 준비했으므로, 다음 단계에서는 라우팅에 사용할 지도 데이터를 준비해보자.2. 지도 데이터 준비OSRM은 경로 탐색을 위해 .osm.pbf 형식 OpenStreetMap(OSM) 기반의 지도 데이터를 사용한다.이번 실습에서는 Geofabrik에서 제공하는 ..
-
[Navigation] #2 OSRM을 알아보자Navigation 2026. 2. 23. 23:57
이번 글에서는 직접 경로 탐색을 실습해보기 위해 오픈소스 경로 탐색 엔진을 살펴보고자 한다.대표적인 오픈소스 경로 탐색 엔진으로는 OSRM, GraphHopper, Valhalla 가 있다.이 중 OSRM (Open Source Routing Machine) 을 알아보자 OSRM 이란?지도 데이터를 바탕으로 출발지와 목적지 사이의 최적 경로를 빠르게 계산해주는 오픈소스 라우팅 엔진이다.지도 데이터는 주로 OpenStreetMap을사용한다.C++ 로 구현되어 있으며, 다양한 교통 프로파일 지원 (car, bike, foot 등) 한다.OSRM의 기본 알고리즘은 MLD (Multi-Level Dijkstra)이며 CH(Contraction Hierarchies)도 사용가능하다. https://project-..
-
[Navigation] #1 경로탐색은 어떻게 하는 것일까?Navigation 2026. 2. 19. 00:03
1. 네비게이션 엔진에 관심을 갖게 된 계기서울역에서 부산역까지 길을 검색하면 결과는 거의 즉시 나온다.이처럼 우리는 거리에 관계없이 쉽고 빠르게 길찾기 결과를 얻을 수 있다.하지만 대한민국 전체 도로망은 방대한 수의 도로와 교차로로 이루어져있다.도로를 edge, 교차로를 node라고 생각하면 도로망을 거대한 그래프라고 생각 할 수 있다.그렇다면 질문이 생긴다.이 거대한 그래프에서 최적의 경로를 몇 ms 만에 어떻게 찾는 것일까? 2. 경로 탐색은 어떻게 하는 것일까?2-1. 도로망은 그래프다네비게이션에서 도로는 아래와 같이 모델링된다.교차로 → Node도로 → Edge이동 비용 → Weight즉, 경로 탐색은 결국 그래프 최단 경로 문제다. 2-2. 경로 탐색 알고리즘은 어떤 것들이 있을까?다익스트라(..