Bem-vindo ao projeto de Otimização de Rotas! Este repositório contém um script em Python que utiliza as bibliotecas OSMnx
, NetworkX
e Folium
em conjunto para calcular e demonstrar a rota mais eficiente entre vários pontos em uma determinada localidade. Abaixo, você encontrará um guia abrangente sobre o que este script faz, como usá-lo e como estruturar seus dados de entrada. Vamos lá! 🚀
Este script tem como objetivo usar grafos para encontrar a rota mais eficiente entre diversos pontos de interesse em uma localidade específica. Ele resolve problemas de otimização de rotas, o que é particularmente útil para logística e transporte.
O script visa:
- Minimizar o Comprimento da Rota: Calcular a rota mais curta entre múltiplos pontos utilizando um grafo de ruas.
- Encontrar a Rota Mais Eficiente: Utilizar o Algoritmo do Vizinho Mais Próximo para determinar a sequência ideal de paradas.
- Visualizar a Rota: Criar um mapa interativo com a rota calculada, facilitando a visualização e análise.
Os endereços das paradas devem ser fornecidos no arquivo excel Endereços na pasta input (a origem deve ser o primeiro endereço da lista), por exemplo:
enderecos = ['Parque Villa-Lobos, Alto de Pinheiros, são paulo, Brazil',
'Parque Povo, Vila Olimpia, São Paulo, Brazil',
'Parque do ibirapuera, Moema, São Paulo, Brazil',
'Estadio do Pacaembu, Pacaembu, São Paulo, Brazil',
'Estadio do Morumbi, Morumbi, São Paulo, Brazil',
'Estadio allianz parque, Barra Funda, São Paulo, Brazil',
'Parque da agua branca, Barra Funda, São Paulo, Brazil'
]
Certifique-se de ter as seguintes dependências instaladas:
- Python 3.x
- OSMnx
- NetworkX
- Folium
- Pandas
Instale-as usando pip
:
pip install requirements.txt
- Clone este repositório:
Apenas rode cada uma das celulas do notebook.
-
Configure os endereços e a localidade no script:
localidade = 'São Paulo, Brazil' distancia = 50000 # 50 km enderecos = lista criada a partir do input em Excel
-
Execute o script:
python script_roteamento.py
Após executar o script, você obterá:
- Mapa Interativo: Um arquivo HTML (
mapa_da_rota.html
) com a rota calculada e marcadores para cada parada. - Detalhes da Rota: Um DataFrame com informações detalhadas sobre a rota, incluindo coordenadas e endereços.
Feito com 🧠 por Vitor Tatekawa