OpenSource-Hub
O

osrm-backend

SHA-256
7.7k stars·개발 도구·SHA-256 체크섬 확인됨

OpenStreetMap 기반 고성능 C++ 라우팅 엔진으로, HTTP API, C++ 라이브러리 및 Node.js 바인딩을 지원하며, 자체 호스팅 및 오프라인 실행이 가능합니다.

OSRM은 OpenStreetMap 데이터를 활용하여 경로 계획을 수행할 수 있는 오픈 소스 고성능 자체 호스팅 가능 라우팅 엔진입니다.

주요 기능

  • 6대 핵심 서비스: 좌표 스내핑, 경로 계획, 거리 행렬, GPS 궤적 매칭, 외판원 문제 해결, 벡터 타일
  • Contraction Hierarchies(CH)와 Multi-Level Dijkstra(MLD) 두 가지 전처리 알고리즘을 지원하며, 기본적으로 MLD를 권장합니다
  • Docker 이미지를 제공하여 한 줄의 명령으로 배포 및 실행이 가능하므로 진입 장벽을 낮춥니다
  • 순수 C++로 작성되어 성능이 매우 뛰어나며, 대규모 및 고동시성 시나리오에 적합합니다
  • HTTP API, C++ 라이브러리, Node.js 바인딩의 세 가지 호출 방식을 지원합니다

할 수 없는 것

  • •주의사항 가이드: 1. 데이터를 전처리할 때 넓은 지역(예: 국가 전체)은 몇 시간이 소요되고 많은 메모리를 사용할 수 있습니다(최소 16GB RAM 권장). 2. 공개 데모 서버에는 요청 빈도 제한이 있으므로 남용하지 마십시오. 3. 기본적으로 자동차(car) 프로필이 사용되며, 자전거나 도보가 필요한 경우 Lua 설정 파일을 조정해야 합니다. 4. Docker에서 디렉터리를 마운트할 때 경로 권한에 주의하십시오.

사용 사례

  • 자체 내비게이션 서비스를 구축하여 타사 API에 대한 의존을 피하고 사용자 프라이버시 보호
  • 물류 배송 시스템의 경로 최적화 및 거리 행렬 계산
  • 과학 연구 분야의 대규모 교통 네트워크 시뮬레이션 및 분석

OSRM Backend는 C++로 작성된 고성능 오픈소스 라우팅 엔진으로, OpenStreetMap 데이터를 기반으로 자동차, 자전거, 도보 경로 계획을 구현합니다. 좌표 스냅(Nearest), 최적 경로(Route), 거리/시간 행렬(Table), GPS 궤적 매칭(Match), 외판원 문제 해결(Trip), 라우팅 메타데이터가 포함된 벡터 타일(Tile) 등 일련의 서비스를 제공합니다. 엔진은 수축 계층(CH)과 다단계 Dijkstra(MLD) 두 가지 전처리 알고리즘을 지원하며, 기본적으로 MLD 사용을 권장합니다. Docker를 통해 원클릭 배포가 가능하며 데모 서버도 제공됩니다. Google Maps API나 GraphHopper와 같은 유사 도구와 비교할 때 OSRM의 가장 큰 장점은 자체 호스팅이 가능하고 완전히 오프라인으로 실행되며 성능이 매우 뛰어나다는 점으로, 특히 프라이버시에 민감하거나 동시성이 높은 경로 계산 시나리오에 적합합니다.

태그

routingnavigationopenstreetmapC++high-performanceself-hosteddocker

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

1단계: Docker를 설치하고 OpenStreetMap 데이터를 다운로드합니다(예: Geofabrik에서 베를린 지역 데이터 다운로드)

4

2단계: docker run으로 데이터를 전처리합니다: MLD의 경우 osrm-extract, osrm-partition, osrm-customize를 순서대로 실행하고, CH의 경우 osrm-extract + osrm-contract를 실행합니다

5

3단계: 라우팅 서비스 시작: docker run으로 osrm-routed를 시작하고 5000번 포트에서 수신 대기합니다

설치 가이드
  1. 1단계: Docker를 설치하고 OpenStreetMap 데이터를 다운로드합니다(예: Geofabrik에서 베를린 지역 데이터 다운로드)
  2. 2단계: docker run으로 데이터를 전처리합니다: MLD의 경우 osrm-extract, osrm-partition, osrm-customize를 순서대로 실행하고, CH의 경우 osrm-extract + osrm-contract를 실행합니다
  3. 3단계: 라우팅 서비스 시작: docker run으로 osrm-routed를 시작하고 5000번 포트에서 수신 대기합니다
파일 무결성

SHA-256 체크섬 확인됨

GitHub 공식 Release 페이지에서 추출된 체크섬

SHA256 체크섬

7829d4a35e7de5cde63a04ccca5b9e9a04f1199552231da9872214a3ab44d5a1

이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

다운로드한 Docker 이미지와 데이터 파일 삭제: docker rmi ghcr.io/project-osrm/osrm-backend를 실행하고 로컬의 .osm.pbf 및 .osrm 파일을 삭제합니다.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스BSD-2-Clause
마지막 업데이트2026-10-20 23:37:14
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

5 FAQs

유사한 프로젝트