OpenStreetMap 데이터를 기반으로 경로 안내, 아이소크론, 행렬, 스냅핑 서비스를 제공하는 오픈소스 Java 라우팅 엔진입니다.
osm-search/Nominatim
OpenStreetMap 데이터를 이름과 주소로 검색하고 역지오코딩을 수행하는 오픈소스 지오코딩 서비스입니다.
대체할 수 있는 제품:Google Maps Geocoding API
- 스타
- 4,552
- 포크
- 869
- 열린 이슈
- 104
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
Nominatim은 OpenStreetMap 데이터를 이름과 주소로 검색하는 도구로, 이 과정을 지오코딩이라고 합니다. 반대 방향으로도 작동해 OSM의 모든 지점에 대응하는 가상 주소를 생성할 수 있습니다. OpenStreetMap 홈페이지 검색창에서 사용하는 검색 백엔드이며, 최신 데이터로 검색할 수 있는 공개 인스턴스도 제공됩니다.
자체 서비스를 운영하려면 저장소를 clone하고, 국가 그리드 파일을 다운로드한 다음, API 및 데이터베이스 구성 요소용 Python 패키지를 설치하고, planet extract와 같은 OSM 데이터 파일을 프로젝트 디렉터리로 가져옵니다. 그런 다음 uvicorn과 falcon을 사용하는 웹 서버를 nominatim serve 명령으로 시작해 검색 API를 제공합니다.
코드베이스는 주로 Python으로 작성되었으며, osm2pgsql용 Lua 설정 파일도 포함합니다. 문서에서는 안정 버전과 개발 브랜치 모두에 대한 설치, 관리 및 문제 해결 방법을 다룹니다.
핵심 기능
- 01정방향 지오코딩: OSM 데이터에서 이름으로 장소와 주소를 검색합니다.
- 02역지오코딩: 주어진 좌표에 해당하는 주소를 생성합니다.
- 03planet extract를 비롯한 OSM 데이터 파일을 로컬 프로젝트로 가져옵니다.
- 04Python 웹 서버(uvicorn 및 falcon)를 통해 검색 API를 제공합니다.
활용 사례
- 지도 애플리케이션에 주소 검색과 자동 완성 기능을 추가합니다.
- GPS 데이터나 로그의 좌표를 사람이 읽을 수 있는 주소로 변환합니다.
- 지역 OSM extract를 사용해 비공개 지오코더를 운영합니다.
빠른 시작
- 1
리포지토리를 클론합니다
git clone https://github.com/osm-search/Nominatim.git - 2
Python virtualenv를 만듭니다
python3 -m venv nominatim-venv - 3
Nominatim 패키지를 virtualenv에 설치합니다
./nominatim-venv/bin/pip install packaging/nominatim-{api,db} - 4
프로젝트 디렉터리를 만든 다음 OSM 데이터를 가져옵니다
nominatim import --osm-file <your planet file> 2>&1 | tee setup.log
사용 전 알아둘 점
- GPL-3.0 라이선스로 제공되며, 카피레프트 라이선스이므로 파생 저작물도 오픈 소스로 공개해야 합니다.
- 직접 실행하려면 전체 OSM planet 파일을 가져와야 하므로, 자체 호스팅에 상당한 노력이 필요합니다.
토픽
자주 묻는 질문
- Nominatim은(는) 무엇인가요?
- OpenStreetMap 데이터를 이름과 주소로 검색하고 역지오코딩을 수행하는 오픈소스 지오코딩 서비스입니다. Nominatim은 OpenStreetMap 데이터를 이름과 주소로 검색하는 도구로, 이 과정을 지오코딩이라고 합니다. 반대 방향으로도 작동해 OSM의 모든 지점에 대응하는 가상 주소를 생성할 수 있습니다. OpenStreetMap 홈페이지 검색창에서 사용하는 검색 백엔드이며, 최신 데이터로 검색할 수 있는 공개 인스턴스도 제공됩니다.
- Nominatim은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Nominatim은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- Nominatim은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Nominatim의 마지막 커밋은 2026년 11월 3일입니다.
- Nominatim은(는) 어디에 사용할 수 있나요?
- 지도 애플리케이션에 주소 검색과 자동 완성 기능을 추가합니다. GPS 데이터나 로그의 좌표를 사람이 읽을 수 있는 주소로 변환합니다. 지역 OSM extract를 사용해 비공개 지오코더를 운영합니다.
- Nominatim는 어떻게 설치하나요?
- 리포지토리를 클론합니다: git clone https://github.com/osm-search/Nominatim.git Python virtualenv를 만듭니다: python3 -m venv nominatim-venv Nominatim 패키지를 virtualenv에 설치합니다: ./nominatim-venv/bin/pip install packaging/nominatim-{api,db} 프로젝트 디렉터리를 만든 다음 OSM 데이터를 가져옵니다: nominatim import --osm-file <your planet file> 2>&1 | tee setup.log
- Nominatim은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/osm-search/Nominatim
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
OpenStreetMap 데이터와 고도 지형을 사용해 Java, Bedrock, Luanti용 실제 장소 기반 Minecraft 월드를 생성합니다.
OpenStreetMap 데이터를 기반으로 경로, 거리 행렬, GPS 맵 매칭 등을 계산하는 고성능 C++ 라우팅 엔진입니다.
간단한 현장 질문에 답해 지도 데이터를 개선하는 Android 및 iOS용 사용하기 쉬운 OpenStreetMap 편집기입니다.
OpenStreetMap 웹사이트와 편집 API, 둘러보기 페이지 및 GPX 업로드를 구동하는 Ruby on Rails 애플리케이션입니다.
EXIF 추출, 촬영 위치 식별, Live Photo 재생, 앨범 및 지도 탐색을 지원하는 셀프 호스팅 사진 갤러리입니다.