Encore une fois, j'ai trouvé très utile d'utiliser Docker (conteneur), j'ai donc décidé d'organiser le cas sous forme de mémorandum.
Je voulais facilement utiliser ** OSRM (Open Source Routing Machine) **, un moteur de recherche d'itinéraire qui utilise ** OpenStreetMap (OSM) **, mais il semble que la construction de l'environnement soit gênante, donc je ne peux rien faire. J'enquêtais.
Dans Project-OSRM / osrm-backend, il y avait la description suivante.
The easiest and quickest way to setup your own routing engine is to use Docker images we provide.
docker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/kanto-latest.osrm &
Dans cet exemple, ** osrm / osrm-backend ** est l'image du conteneur et ** osrm-routed ** est la commande à exécuter à l'intérieur du conteneur.
Cependant, les travaux suivants sont nécessaires à l'avance pour cette exécution. Parmi eux, le traitement de formatage et d'optimisation suivant est exécuté en démarrant un nouveau conteneur à partir d'osrm / osrm-backend (en démarrant la commande pour ce traitement en tant que conteneur).
--Téléchargez la carte (OSM) utilisée par OSRM
À l'origine, il est dit que la procédure suivante nécessite un traitement sauf ** 2. 6. 7. **, vous pouvez donc voir que vous pouvez l'essayer plus rapidement et de manière plus fiable en utilisant Docker.
Pour référence, j'ai exécuté la commande suivante sur le moteur de recherche d'itinéraire lancé ci-dessus pour obtenir les informations d'itinéraire (format JSON).
Dans cet exemple, afin d'obtenir l'itinéraire à pied de Kita Kamakura à Kamakura Daibutsu, chaque information de position est envoyée au moteur de recherche en tant que paramètre.
curl --noproxy 127.0.0.1 'http://127.0.0.1:5000/route/v1/walking/139.545056,35.337103;139.535689,35.316696?alternatives=3&geometries=geojson' | jq 'def hexdec(i): "0123456789abcdef"[i:i+1]; {"type": "FeatureCollection", "features": [[.routes[].geometry] | [., keys] | transpose[] | {"geometry": .[0], "type": "Feature", "properties": {"stroke-width": 2, "stroke": ("#" + hexdec(15-.[1]*2) + hexdec(.[1]*2) + hexdec(.[1]*2))}}]}' > routes_kamakura.json
Ensuite, lorsque le fichier au format Json acquis est chargé sur ** geojson.io **, il y a plusieurs parcours de marche de Kita Kamakura à Kamakura Daibutsu comme indiqué ci-dessous. J'ai la route. (Ceci est un article séparé que je voudrais organiser)
Recommended Posts