Project-OSRM/osrm-backend

OpenStreetMap 데이터 기반 고성능 라우팅 엔진

설치형 도구맘대로 써도 됨 · BSD-2-Clause백엔드·DBC++난이도
7,927+13이번 주0
3,958포크348이슈
데모·홈페이지 열기discord.gg

중간맛 분석

경로 찾기(Route), 가장 가까운 도로 지점 찾기(Nearest), 지점 간 거리/시간 계산(Table), GPS 궤적 보정(Match), 외판원 문제 풀이(Trip), 지도 타일 생성(Tile) 등 6가지 서비스를 제공합니다. C++20으로 작성되었으며, Contraction Hierarchies(CH)와 Multi-Level Dijkstra(MLD) 두 가지 전처리 파이프라인을 지원합니다. 이미지로 즉시 배포 가능하고, 소스 코드에서 빌드할 때는 CMake, Ninja, vcpkg를 사용합니다. 데모 서버(map.project-osrm.org)에서 직접 테스트할 수 있습니다.

이런 레포예요

이럴 때 쓰면 좋아요

  • 배달·택시 앱에서 최적 경로 계산 및 ETA 제공
  • GPS 기반 위치 추적 데이터를 도로망에 정렬하여 실제 경로 복원
  • 여러 배송지를 효율적으로 방문하는 순서 결정 (외판원 문제 풀이)

핵심 기능

HTTP API, C++/Node.js/Python 라이브러리로 다양한 인터페이스 제공MLD와 CH 두 가지 그래프 전처리 알고리즘으로 성능 최적화Docker 기반 즉시 배포 및 데모 서버 제공

대안 대비 차별점

C++20으로 극도로 최적화된 성능과 OpenStreetMap 커뮤니티 기반 지속적 개발로, 대규모 트래픽과 실시간 요청을 효율적으로 처리합니다.

먹어본 사람들

실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.

시식평 · 먹어본 사람 한마디

아직 시식평이 없어요. 먹어보셨다면 첫 한마디를 남겨주세요.

다른 레포 시식평 구경하기 →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

이 레포, 해먹는 법

처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.

준비물

  • Docker (권장) 또는 C++20 컴파일러
  • CMake ≥ 3.29
  • Ninja 빌드 시스템
  • OpenStreetMap 데이터 파일(.osm.pbf)

바로 차려먹기Node.js (npm)

깃밥이 레포 구조를 확인하고 만든 실행 명령이에요. 터미널에 붙여넣으면 받기부터 실행까지 한 번에 진행돼요.

git clone --depth 1 https://github.com/Project-OSRM/osrm-backend.git &&
cd osrm-backend &&
npm install

실행 명령은 README를 확인하세요.

코드는 내 컴퓨터에서 실행돼요 — 처음 보는 레포라면 내용을 한번 훑어보고 실행하는 습관을 추천해요.

README가 안내하는 자세한 단계 보기
  1. Geofabrik에서 OpenStreetMap 추출 데이터 다운로드
wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
  1. Docker를 이용해 추출 단계 실행
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
  1. 파티셔닝 단계 실행
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
  1. 커스터마이징 단계 실행
docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
  1. 라우팅 서버 시작 (포트 5000)
docker run -t -i -p 5000:5000 -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm
  1. HTTP API로 경로 요청
curl "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true"

깃밥트라이로 맛보기

받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.

터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.

npx gitbap-try Project-OSRM/osrm-backend

Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →

이걸로 써먹는 법

맛봤다면 이제 써먹을 차례 — 이 레포를 내 일과 사업에 응용하는 방법을 모아뒀어요.

🍳 레시피 — AI에게 이대로 시켜보세요

레시피 불러오는 중…

별 추이 · 7일

7,927+13 / 7일

활용성 · 따라 만들기 좋은가

따라 하기 좋음샘플 점수 46/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2011년 생성

「백엔드·DB」 이런 레포, 매주 받아보실래요?

매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.

내 레포인가요? README에 깃밥 배지 달기
[![깃밥](https://www.gitbap.com/badge/Project-OSRM/osrm-backend.svg)](https://www.gitbap.com/r/Project-OSRM/osrm-backend)
🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기