Este guia descreve como configurar e executar o sistema de otimização de rotas multimodais no Porto.
Para obter uma rota imediatamente, siga estes passos:
-
Ativar o Ambiente: Certifique-se de que o ambiente Conda está ativo no seu terminal:
conda activate geo_opt_env
-
Abrir o Notebook: Inicie o Jupyter Notebook na raiz do projeto:
jupyter notebook main.ipynb
-
Executar: No menu superior do Jupyter, selecione Kernel > Restart & Run All. Isto garante que todas as bibliotecas são carregadas e o grafo é construído corretamente.
No início do notebook code.ipynb, encontrará a secção de input identificada como "Configuração da Viagem". Pode alterar as variáveis abaixo para testar diferentes complexidades.
A hora influencia a disponibilidade dos transportes (horários GTFS).
start_datetime = datetime(2025, 1, 15, 8, 30, 0) # datetime(ano, mês, dia, horas, minutos, segundos)As coordenadas devem ser inseridas no formato (Latitude, Longitude). Nota: Pode obter coordenadas clicando no Google Maps ou no geojson.io.
START_COORDS = (41.1584, -8.6291) # Cordenadas do ponto de início: (Latitude, Longitude)
END_COORDS = (41.1404, -8.6118) # Cordenadas do ponto de fim: (Latitude, Longitude)Após a execução (pode demorar cerca de 1-2 minutos na primeira vez para carregar o grafo), o notebook apresentará três saídas principais:
Um gráfico com dois eixos conflituantes:
- Eixo X: Tempo Total (Segundos)
- Eixo Y: Emissões de CO2 (Gramas)
O algoritmo destaca automaticamente 3 soluções de interesse:
- Melhor CO2: A rota mais ecológica.
- Melhor Tempo: A rota mais rápida.
- Equilibrio: O ponto de compromisso ideal ("Knee point").
No output textual, serão apresentados os valores exatos calculados com base nos coeficientes de sustentabilidade:
- STCP: 109.9 gCO2/km
- Metro: 40.0 gCO2/km
- Caminhada: 0 gCO2/km
O trajeto final é desenhado sobre o mapa da cidade com as seguintes cores:
- 🔴 Linha Vermelha: Metro
- 🔵 Linha Azul: Autocarro (STCP)
- 🟢 Linha Verde: Caminhada (Walk)