Motor de roteamento open source em Java que oferece serviços de direções, isócronas, matrizes e ajuste de coordenadas à malha viária usando dados do OpenStreetMap.
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
Clone o repositório
git clone https://github.com/osm-search/Nominatim.git - 2
Crie um virtualenv de Python
python3 -m venv nominatim-venv - 3
Instale os pacotes do Nominatim no virtualenv
./nominatim-venv/bin/pip install packaging/nominatim-{api,db} - 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
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
Gera mundos de Minecraft com base em locais reais, usando dados do OpenStreetMap e elevação do terreno, para Java, Bedrock e Luanti.
Mecanismo de roteamento em C++ de alto desempenho que calcula rotas, tabelas de distância, correspondência de GPS com mapas e muito mais usando dados do OpenStreetMap.
Um editor fácil de usar do OpenStreetMap para Android e iOS que melhora os dados do mapa com respostas a perguntas simples no local.
Aplicação Ruby on Rails que executa o site do OpenStreetMap, sua API de edição, as páginas de navegação e o envio de arquivos GPX.
Galeria de fotos self-hosted que extrai EXIF, identifica locais de captura, reproduz Live Photos e oferece álbuns e uma visualização de mapa.