API de roteamento com Valhalla

A algum tempo atras, precisei implementar uma ferramenta para gerar rotas rodoviárias entre 2 pontos de interesse.
Em um primeiro momento, pensei no Google Maps API, mas este é um serviço pago e então procurei alternativas OPEN SOURCE que atencessem a necessidade e foi aí que conheci o Valhalla.

O Valhalla é um mecanismo de roteamento OPEN SOURCE.

  • Geração de rotas em varias modalidades:
    • Auto;
    • pedestrian;
    • truck;
    • etc;
  • Geração de rotas evitando determinados caminhos;
  • Utilização direta no QGIS com o uso de pluguin;
  • Utilização no LeafletJS para uma interface interativa em mapa.

Uma demo da API em funcionamento pode ser vista na pagina DEMO

a documentação completa da API pode ser vista em Documentação

Abaixo um exemplo de docker-compose para a implementação de um servidor de maneira rápida.
Lembrando que na primeira execução, o processo é bem demorado pois ele irá baixar o mapa de rodovias e preparar os dados para entao deixar a API funcional.

version: '3'
services: valhalla: image: ghcr.io/gis-ops/docker-valhalla/valhalla:3.4.0 environment: - tile_urls=https://download.geofabrik.de/south-america/brazil-latest.osm.pbf - use_tiles_ignore_pbf=True - force_rebuild=False - force_rebuild_elevation=False ports: - 8002:8002 volumes: - /opt/valhalla/custom_files/:/custom_files restart: always
Enter fullscreen mode
Exit fullscreen mode

abaixo um exemplo de estruturação da chamada com os parametros que utilizo.

$queryParams = ['json' => json_encode([ 'locations' => [ ['lat' => $lat_a, 'lon' => $long_a], ['lat' => $lat_b, 'lon' => $long_b] ], 'costing' => 'pedestrian', 'narrative' => false, 'id' => 'my_second_route', //'avoid_locations' => $shapeToIgnore,//para rotas alternativas 'directions_options' => [ 'units' => 'meters', 'language' => 'pt-BR' ], ])]; $response = Http::get('http://1.2.3.4:8002/route', $queryParams);
Enter fullscreen mode
Exit fullscreen mode

Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
The technical storage or access that is used exclusively for statistical purposes. Free 2025 jamb questions and answers cbt answers jamb / jamb 2025 answers cbt answers jamb. Yahoo ! , a long standing player in the tech industry, uses react to enhance its web applications.