Repolode
osm-search

osm-search/Nominatim

Serviço de geocodificação open source que pesquisa dados do OpenStreetMap por nome e endereço e faz geocodificação reversa.

Alternativa open source a:Google Maps Geocoding API

Estrelas
4,552
Forks
869
Issues abertas
104
Último commit
há 3 dias

O que é?

Nominatim é uma ferramenta para pesquisar dados do OpenStreetMap por nome e endereço, um processo chamado geocodificação. Também faz o caminho inverso, gerando um endereço sintético para qualquer ponto do OSM. É o backend de busca usado na caixa de pesquisa da página inicial do OpenStreetMap, e há uma instância pública com dados atualizados disponível para consultas.

Para executar seu próprio serviço, você clona o repositório, baixa um arquivo de grade de países, instala os pacotes Python dos componentes da API e do banco de dados e importa um arquivo de dados do OSM, como um recorte do planeta, para um diretório do projeto. Em seguida, o projeto disponibiliza a API de busca por meio de um servidor web iniciado com o comando nominatim serve, usando uvicorn e falcon.

A base de código é escrita principalmente em Python, com arquivos de configuração Lua para osm2pgsql. A documentação aborda instalação, administração e solução de problemas para as versões estáveis e para o branch de desenvolvimento.

Recursos principais

  • 01Geocodificação direta: pesquisa lugares e endereços pelo nome nos dados do OSM.
  • 02Geocodificação reversa: gera um endereço a partir de coordenadas.
  • 03Importa arquivos de dados do OSM, incluindo recortes do planeta, para um projeto local.
  • 04Disponibiliza a API de busca por meio de um servidor web Python (uvicorn e falcon).

Casos de uso

  • Adicionar busca de endereços e preenchimento automático a um aplicativo de mapas.
  • Converter coordenadas de GPS ou registros em endereços legíveis.
  • Executar um geocodificador privado com um recorte regional do OSM.

Início rápido

  1. 1

    Clone o repositório

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

    Crie um virtualenv de Python

    python3 -m venv nominatim-venv
  3. 3

    Instale os pacotes do Nominatim no virtualenv

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

    Crie um diretório para o projeto e importe seus dados do OSM

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

Antes de usar

  • Licenciado sob a GPL-3.0, uma licença copyleft que exige que obras derivadas sejam de código aberto.
  • Para executar por conta própria, é necessário importar um arquivo planet completo do OSM, o que exige um esforço considerável de hospedagem própria.

Tópicos

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

Perguntas frequentes

O que é Nominatim?
Serviço de geocodificação open source que pesquisa dados do OpenStreetMap por nome e endereço e faz geocodificação reversa. Nominatim é uma ferramenta para pesquisar dados do OpenStreetMap por nome e endereço, um processo chamado geocodificação. Também faz o caminho inverso, gerando um endereço sintético para qualquer ponto do OSM. É o backend de busca usado na caixa de pesquisa da página inicial do OpenStreetMap, e há uma instância pública com dados atualizados disponível para consultas.
Nominatim é gratuito? Qual é a licença?
Nominatim é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
Nominatim ainda é mantido?
Manutenção ativa. O último commit de Nominatim foi em 3 de nov. de 2026.
Para que posso usar Nominatim?
Adicionar busca de endereços e preenchimento automático a um aplicativo de mapas. Converter coordenadas de GPS ou registros em endereços legíveis. Executar um geocodificador privado com um recorte regional do OSM.
Como instalar Nominatim?
Clone o repositório: git clone https://github.com/osm-search/Nominatim.git Crie um virtualenv de Python: python3 -m venv nominatim-venv Instale os pacotes do Nominatim no virtualenv: ./nominatim-venv/bin/pip install packaging/nominatim-{api,db} Crie um diretório para o projeto e importe seus dados do OSM: nominatim import --osm-file <your planet file> 2>&1 | tee setup.log
Onde consigo Nominatim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/osm-search/Nominatim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados