Repolode
osm-search

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. 1

    리포지토리를 클론합니다

    git clone https://github.com/osm-search/Nominatim.git
  2. 2

    Python virtualenv를 만듭니다

    python3 -m venv nominatim-venv
  3. 3

    Nominatim 패키지를 virtualenv에 설치합니다

    ./nominatim-venv/bin/pip install packaging/nominatim-{api,db}
  4. 4

    프로젝트 디렉터리를 만든 다음 OSM 데이터를 가져옵니다

    nominatim import --osm-file <your planet file> 2>&1 | tee setup.log

사용 전 알아둘 점

  • GPL-3.0 라이선스로 제공되며, 카피레프트 라이선스이므로 파생 저작물도 오픈 소스로 공개해야 합니다.
  • 직접 실행하려면 전체 OSM planet 파일을 가져와야 하므로, 자체 호스팅에 상당한 노력이 필요합니다.

토픽

#geocoding#openstreetmap#reverse-geocoding#gis#python#search#osm

자주 묻는 질문

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 통계는 매일 갱신됩니다.

관련 프로젝트