broutertesting/BrouterTesting.ipynb

1709 lines
1.4 MiB
Plaintext
Raw Normal View History

2018-11-03 19:14:35 +01:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BRouter profiles tester"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here are some test cases to check BRouter profiles and help with development of new profiles. You need a running BRouter-server instance (see `BROUTER_URL` below).\n",
"\n",
2018-11-11 00:44:18 +01:00
"The tests assume the BRouter instance uses [these `segments4` files](https://pub.phyks.me/brouter-testing/segments4/) which are built from the [Geofabrik.de](https://download.geofabrik.de/) extracts of metropolitan France, New York state (US) and Sachsen state (Germany) from the 10th of November, 2018. The `profiles2` folder used to build the `segments4` files is available [here](https://pub.phyks.me/brouter-testing/profiles2/) (including the `lookups.dat` file). The SRTM data used to build the `segments4` are available [here](https://pub.phyks.me/brouter-testing/srtm/).\n",
2018-11-03 19:14:35 +01:00
"\n",
"Beware that the map tiles used across this notebook are the live map tiles (using up to date OSM data) contrary to the `segments4` files which are using a fixed dump of OSM data. Then, the map background may come out of sync with the data used by BRouter and are only there as an eyeguide.\n",
"\n",
"The map show the route computed with the selected profile (in blue), the route computed by the reference profile (in grey) as well as a route computed by a human (in green). Note that the human route is not necessarily the best one or the unique valid solution."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T13:49:03.629948Z",
"start_time": "2019-05-06T13:49:02.938187Z"
}
},
2018-11-03 19:14:35 +01:00
"outputs": [],
"source": [
"import folium\n",
"import requests"
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T13:51:51.367704Z",
"start_time": "2019-05-06T13:51:51.354939Z"
}
},
2018-11-03 19:14:35 +01:00
"outputs": [],
"source": [
"BROUTER_URL = 'http://127.0.0.1:17777' # URL of the BRouter-server instance, no trailing slash\n",
"PROFILE = 'trekking-custom' # Profile to test\n",
"REFERENCE_PROFILE = 'trekking' # Profile to compare to, used as a reference\n",
"FORMAT = 'geojson'\n",
"ALTERNATIVEIDX = 0\n",
"\n",
2018-11-07 09:42:04 +01:00
"TILES = 'openstreetmap' # Map background is regular OSM style\n",
"\n",
"BROUTER_WEB_URL = 'http://127.0.0.1:8000'"
2018-11-03 19:14:35 +01:00
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T13:53:31.401284Z",
"start_time": "2019-05-06T13:53:31.343919Z"
}
},
2018-11-03 19:14:35 +01:00
"outputs": [],
"source": [
"def brouter_route(start_point, end_point, profile):\n",
" return requests.get(\n",
" '%s/brouter' % BROUTER_URL,\n",
" params={\n",
" 'lonlats': '%s|%s' % (\n",
" ','.join(str(x) for x in start_point),\n",
" ','.join(str(x) for x in end_point)\n",
" ),\n",
" 'profile': profile,\n",
" 'alternativeidx': ALTERNATIVEIDX,\n",
" 'format': FORMAT\n",
" }\n",
2018-11-07 09:42:04 +01:00
" )\n",
2018-11-03 19:14:35 +01:00
"\n",
"def plot_route(start_point, end_point, human_geojson=None):\n",
" \"\"\"\n",
" Helper to plot routes on the map.\n",
" \n",
" :param start_point: A (longitude, latitude) tuple for the starting point.\n",
" :param end_point: A (longitude, latitude) tuple for the ending point.\n",
" :returns: A ``folium`` map object.\n",
" \"\"\"\n",
" r = brouter_route(start_point, end_point, PROFILE)\n",
" r_ref = brouter_route(start_point, end_point, REFERENCE_PROFILE)\n",
" \n",
2019-09-23 18:42:43 +02:00
" zoom_start = 17\n",
2018-11-03 19:14:35 +01:00
" mapa = folium.Map(\n",
" list(reversed(start_point)),\n",
2019-09-23 18:42:43 +02:00
" zoom_start=zoom_start,\n",
2018-11-03 19:14:35 +01:00
" tiles=TILES\n",
" )\n",
"\n",
2018-11-07 09:42:04 +01:00
" route_ref = folium.features.GeoJson(r_ref.json())\n",
2018-11-03 19:14:35 +01:00
" route_ref.style_function = lambda feature: {\n",
" 'color': '#666666',\n",
" }\n",
" mapa.add_child(route_ref)\n",
" \n",
" if human_geojson:\n",
" route_human = folium.features.GeoJson(human_geojson)\n",
" route_human.style_function = lambda feature: {\n",
" 'color': '#5CA423',\n",
" }\n",
" mapa.add_child(route_human)\n",
"\n",
2018-11-07 09:42:04 +01:00
" route = folium.features.GeoJson(r.json())\n",
2018-11-03 19:14:35 +01:00
" mapa.add_child(route)\n",
" \n",
" mapa.add_child(folium.Marker(list(reversed(start_point)), icon=folium.Icon(icon='play')))\n",
" mapa.add_child(folium.Marker(list(reversed(end_point)), icon=folium.Icon(icon='stop')))\n",
" mapa.fit_bounds(route.get_bounds())\n",
" \n",
2018-11-07 09:42:04 +01:00
" print('%s/#map=%s/%s/%s/OpenStreetMap&lonlats=%s|%s&profile=%s' % (\n",
" BROUTER_WEB_URL,\n",
2019-09-23 18:42:43 +02:00
" zoom_start,\n",
2018-11-07 09:42:04 +01:00
" start_point[1],\n",
" start_point[0],\n",
" ','.join(str(x) for x in start_point),\n",
" ','.join(str(x) for x in end_point),\n",
" PROFILE\n",
" ))\n",
" \n",
2018-11-03 19:14:35 +01:00
" return mapa"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Complete routes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Montrouge to Le Plessis-Robinson:\n",
"\n",
"* there is a continuous cycle way along the \"Avenue de Paris\" / \"Avenue de Verdun\" which should be taken."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 10,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.817086/2.318587/OpenStreetMap&lonlats=2.318587,48.817086|2.239258,48.780444&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9lZjE2ZGNjNjk2NjQ0OGNlYWY0YTQxZDdmNzU1MmRlMCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZWYxNmRjYzY5NjY0NDhjZWFmNGE0MWQ3Zjc1NTJkZTAiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2VmMTZkY2M2OTY2NDQ4Y2VhZjRhNDFkN2Y3NTUyZGUwID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2VmMTZkY2M2OTY2NDQ4Y2VhZjRhNDFkN2Y3NTUyZGUwIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTcwODYsIDIuMzE4NTg3XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfNzg2ZTdmZjYxNTBlNDgyZmI0OWI0NWFlYzJmNTViOWQgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f731279ced0>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 10,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.318587,48.817086]\n",
"end_point = [2.239258,48.780444]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.318566,48.817076,77.25],[2.318593,48.817052,77.5],[2.318584,48.817036,77.5],[2.318678,48.817016,77.5],[2.318225,48.816295,77.75],[2.318189,48.816238,77.5],[2.317937,48.815834,76.5],[2.317665,48.815398,76.5],[2.317614,48.815313,76.5],[2.317496,48.815344,76.0],[2.317154,48.815441,74.75],[2.316637,48.815587,72.25],[2.316297,48.815681,71.0],[2.316248,48.815695,71.0],[2.316152,48.815722,70.75],[2.316004,48.815761,70.25],[2.315899,48.815791,70.0],[2.315220,48.815982,71.25],[2.315105,48.816014,71.25],[2.313803,48.816056,70.75],[2.313723,48.816059,70.75],[2.313544,48.816063,70.75],[2.313248,48.816071,71.0],[2.313123,48.816074,71.0],[2.312730,48.816085,71.0],[2.312077,48.816088,71.75],[2.311791,48.816118,72.0],[2.311692,48.816115,72.25],[2.311591,48.816110,72.5],[2.311582,48.816152,72.5],[2.311552,48.816190,72.5],[2.311511,48.816216,72.75],[2.311461,48.816233,72.75],[2.311401,48.816239,73.0],[2.311341,48.816233,73.25],[2.311288,48.816215,73.25],[2.311245,48.816187,73.5],[2.311218,48.816151,73.5],[2.310994,48.816156,74.0],[2.310744,48.816152,74.5],[2.310576,48.816148,74.75],[2.310419,48.816138,75.0],[2.309943,48.816144,75.25],[2.309712,48.816152,75.5],[2.309592,48.816155,75.5],[2.308809,48.816170,74.5],[2.308630,48.816173,74.0],[2.307245,48.816208,70.25],[2.307049,48.816215,70.5],[2.306881,48.816221,70.5],[2.306125,48.816258,69.5],[2.306092,48.816260,69.25],[2.305980,48.816256,69.25],[2.305857,48.816241,69.0],[2.305728,48.816194,69.25],[2.305683,48.816166,69.25],[2.305601,48.816096,69.5],[2.305568,48.816055,69.5],[2.305542,48.816025,69.75],[2.305062,48.815697,70.0],[2.304423,48.815248,70.5],[2.304222,48.815099,70.75],[2.303929,48.814863,71.5],[2.303643,48.814633,72.25],[2.303149,48.814235,73.0],[2.303078,48.814181,73.25],[2.302939,48.814065,73.25],[2.302843,48.813989,73.25],[2.302644,48.813820,73.25],[2.302450,48.813661,73.5],[2.302083,48.813325,74.75],[2.301803,48.813070,75.5],[2.301730,48.812997,75.5],[2.301662,48.812928,75.5],[2.301617,48.812888,75.25],[2.301573,48.812848,75.25],[2.301546,48.812821,75.25],[2.301528,48.812802,75.0],[2.301307,48.812578,75.25],[2.301099,48.812367,75.75],[2.300985,48.812254,76.5],[2.300940,48.812210,77.0],[2.300831,48.812097,77.75],[2.300760,48.812015,78.25],[2.300714,48.811969,78.5],[2.300675,48.811930,78.75],[2.300633,48.811893,78.75],[2.300366,48.811650,79.75],[2.300331,48.811619,79.75],[2.300402,48.811557,79.75],[2.300369,48.811518,79.5],[2.300355,48.811476,79.5],[2.300381,48.811456,79.5],[2.300369,48.811425,79.5],[2.300357,48.811391,79.25],[2.300344,48.811357,79.25],[2.300320,48.811326,79.25],[2.300283,48.811286,79.0],[2.299876,48.810935,78.75],[2.299796,48.810842,78.75],[2.299784,48.810816,79.0],[2.299776,48.810778,79.25],[2.299680,48.810776,79.75],[2.299503,48.810608,81.25],[2.298904,48.810025,84.75],[2.298446,48.809597,86.25],[2.298262,48.809456,86.75],[2.296900,48.808659,90.0],[2.296582,48.808481,92.0],[2.296482,48.808428,92.75],[2.296206,48.808268,94.75],[2.295330,48.807761,94.25],[2.295199,48.807685,93.75],[2.294482,48.807288,90.75],[2.293727,48.806869,91.25],[2.291421,48.805609,93.0],[2.290296,48.804896,96.25],[2.290236,48.804862,96.5],[2.289958,48.804700,96.75],[2.289638,48.804518,96.5],[2.289524,48.804454,96.5],[2.289249,48.804264,96.5],[2.288933,48.804053,98.0],[2.288726,48.803925,98.5],[2.288702,48.803911,98.75],[2.288599,48.803854,98.75],[2.288634,48.803822,99.0],[2.288171,48.803590,98.5],[2.287902,48.803426,98.25],[2.287239,48.803002,99.0],[2.286736,48.802684,99.5],[2.286344,48.802421,101.0],[2.285079,48.801615,106.25],[2.284791,48.801435,107.25],[2.284327,48.801150,108.5],[2.283973,48.800932,109.75],[2.283853,48.800835,110.5],[2.283826,48.800885,110.25],[2.283788,48.800915,110.25],[2.283761,48.800936,110.25],[2.283727,48.800949,110.25],[2.283671,48.800963,110.25],[2.283627,48.800968,110.25],[2.283582,48.800967,110.25],[2.283524,48.800957,110.5],[2.283470,48.800938,110.75],[2.283426,48.800911,111.0],[2.283388,48.800870,111.5]
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Montrouge to Avenue Daumesnil:\n",
"\n",
"* Should take the slow streets between \"Porte d'Orléans\" area and \"Glacière\".\n",
"* Should follow the cycle way along \"Glacière\" => \"Place d'Italie\" => \"Quai de la Gare\"."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 11,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.817086/2.318587/OpenStreetMap&lonlats=2.318587,48.817086|2.385181,48.842514&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8wOGJiNmE0MTdhZGM0YjI4OWM3NjgzNjdiMWMxNTUwZiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMDhiYjZhNDE3YWRjNGIyODljNzY4MzY3YjFjMTU1MGYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzA4YmI2YTQxN2FkYzRiMjg5Yzc2ODM2N2IxYzE1NTBmID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzA4YmI2YTQxN2FkYzRiMjg5Yzc2ODM2N2IxYzE1NTBmIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTcwODYsIDIuMzE4NTg3XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMDQwODcxZjkxNzNhNDY0YWI4OTRiZDI1M2FiY2JlOWMgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73124b0c90>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 11,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.318587,48.817086]\n",
"end_point = [2.385181,48.842514]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.318566,48.817076,77.25],[2.318515,48.817123,77.25],[2.318477,48.817216,77.25],[2.318481,48.817262,77.25],[2.318504,48.817302,77.0],[2.318565,48.817347,77.0],[2.318638,48.817382,77.0],[2.318735,48.817401,77.0],[2.318829,48.817412,77.0],[2.318905,48.817391,77.0],[2.319062,48.817639,76.75],[2.319083,48.817679,76.75],[2.319142,48.817773,76.75],[2.319228,48.817909,76.75],[2.319358,48.818116,77.0],[2.319480,48.818308,77.25],[2.319516,48.818364,77.25],[2.319607,48.818509,77.5],[2.319666,48.818601,77.75],[2.319679,48.818621,77.75],[2.319865,48.818919,78.75],[2.319893,48.818963,79.0],[2.320014,48.819160,79.75],[2.320094,48.819293,79.5],[2.320624,48.820153,78.75],[2.320987,48.820723,73.0],[2.321004,48.820744,72.75],[2.321056,48.820803,72.25],[2.321103,48.820846,71.75],[2.321129,48.820869,71.75],[2.321288,48.821025,71.75],[2.321306,48.821044,71.75],[2.321335,48.821076,70.5],[2.321409,48.821178,70.0],[2.321573,48.821347,69.25],[2.322138,48.821975,69.75],[2.322479,48.822354,73.75],[2.322589,48.822546,75.0],[2.322657,48.822666,75.0],[2.322702,48.822753,75.25],[2.323082,48.823484,75.5],[2.323133,48.823581,75.5],[2.323147,48.823610,75.25],[2.323307,48.823576,76.0],[2.323347,48.823589,76.0],[2.323769,48.823509,77.75],[2.323875,48.823467,78.25],[2.323954,48.823423,78.75],[2.324236,48.823288,79.5],[2.324337,48.823231,78.75],[2.324394,48.823203,78.5],[2.325176,48.823030,75.25],[2.325242,48.823014,75.25],[2.325268,48.823007,75.25],[2.325355,48.822984,75.25],[2.325570,48.822937,75.25],[2.325683,48.822916,75.25],[2.325747,48.822899,75.25],[2.325846,48.822882,75.25],[2.326505,48.822726,76.5],[2.326611,48.822724,76.75],[2.326664,48.822727,76.75],[2.326759,48.822730,77.0],[2.326761,48.822788,76.75],[2.326757,48.822866,76.25],[2.326758,48.822899,76.25],[2.326779,48.822970,75.75],[2.326836,48.823053,75.25],[2.326652,48.823088,75.0],[2.326657,48.823107,75.0],[2.326822,48.823267,74.0],[2.326913,48.823356,73.75],[2.327165,48.823605,73.25],[2.327202,48.823638,73.0],[2.327509,48.823933,73.0],[2.327666,48.824040,73.25],[2.327791,48.824117,73.25],[2.328004,48.824259,73.0],[2.328306,48.824481,72.25],[2.328452,48.824577,72.5],[2.328865,48.824851,74.0],[2.329137,48.825035,75.75],[2.329423,48.825228,77.0],[2.329897,48.825556,78.0],[2.329901,48.825559,77.75],[2.330123,48.825709,77.5],[2.330749,48.826134,74.5],[2.331599,48.826715,75.25],[2.331847,48.826884,75.5],[2.331919,48.826937,75.25],[2.332061,48.826878,75.0],[2.332100,48.826868,74.75],[2.332230,48.827128,74.0],[2.332255,48.827185,73.75],[2.332443,48.827616,72.0],[2.332479,48.827714,71.25],[2.332488,48.827735,71.25],[2.332526,48.827811,70.5],[2.332577,48.827906,69.75],[2.332759,48.828241,67.75],[2.333275,48.828942,65.75],[2.333794,48.829702,64.0],[2.333949,48.829788,63.5],[2.334108,48.829871,63.25],[2.334175,48.829906,63.0],[2.334232,48.829929,63.0],[2.334762,48.830147,62.5],[2.334895,48.830201,62.5],[2.335994,48.830611,60.75],[2.336528,48.830810,59.25],[2.336729,48.830889,59.0],[2.338038,48.831429,58.25],[2.338644,48.831684,60.0],[2.339549,48.832066,57.75],[2.340246,48.831876,56.25],[2.340327,48.831854,55.75],[2.340700,48.831751,53.5],[2.340880,48.831702,52.5],[2.341124,48.831638,52.0],[2.341241,48.831608,51.5],[2.341522,48.831472,50.75],[2.341554,48.831465,50.75],[2.342088,48.831320,50.0],[2.342152,48.831303,50.0],[2.342431,48.831228,49.5],[2.342671,48.831161,49.0],[2.343045,48.831057,48.5],[2.343683,48.830882,48.25],[2.343694,48.830878,48.25],[2.343949,48.830808,48.5],[2.344113,48.830763,48.5],[2.344259,48.830723,48.0],[2.345094,48.830494,45.75],[2.345513,48.830375,46.0],[2.345731,48.830314,46.5],[2.345857,48.830278,47.0],[2.345983,48.830245,47.5],[2.346337,48.830150,49.25],[2.346437,48.830122,49.5],[2.347184,48.829916,50.0],[2.347275,48.829891,50.0],[2.347864,48.829729,50.75],[2.347967,48.829718,51.0],[2.348168,48.829651,51.5],[2.348277,48.829613,51.75],[2.348382,48.829583,52.0],[2.349014,48.829411,54.25],[2.349175,48.829380,54.75],[2.349345,48.82
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Montrouge to Strasbourg-Saint-Denis:\n",
"\n",
"* There is a cycleway on \"Avenue Daumesnil\" all the way to \"Bastille\".\n",
"* It should take Rue Amelot rather than the busy \"Boulevard Beaumarchais\".\n",
"* Same for \"Rue Meslay\"."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 12,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.843889/2.381802/OpenStreetMap&lonlats=2.381802,48.843889|2.35352,48.869487&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF85NzM3ZjQ4M2E1OTQ0YWE4YWM2NDJhNTVlYjJiMjQ4ZCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOTczN2Y0ODNhNTk0NGFhOGFjNjQyYTU1ZWIyYjI0OGQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzk3MzdmNDgzYTU5NDRhYThhYzY0MmE1NWViMmIyNDhkID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzk3MzdmNDgzYTU5NDRhYThhYzY0MmE1NWViMmIyNDhkIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDM4ODksIDIuMzgxODAyXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfM2RlZDYzMzEzN2YyNDAzNjljYjFkN2EyNzhiNGQ2ZTggPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73127a8b50>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 12,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.381802,48.843889]\n",
"end_point = [2.35352,48.869487]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.381763,48.843874,40.0],[2.381731,48.843913,39.75],[2.381578,48.844088,38.25],[2.381554,48.844145,38.0],[2.381566,48.844173,37.75],[2.381583,48.844211,38.0],[2.381564,48.844279,38.5],[2.381649,48.844317,39.0],[2.381554,48.844362,39.0],[2.380901,48.844674,39.5],[2.380424,48.844902,39.5],[2.379954,48.845127,38.75],[2.379884,48.845160,38.5],[2.377742,48.846201,41.5],[2.377623,48.846259,41.75],[2.377391,48.846287,42.0],[2.377319,48.846379,42.0],[2.377317,48.846381,42.0],[2.377241,48.846417,42.0],[2.377172,48.846450,42.0],[2.376985,48.846540,42.0],[2.376755,48.846650,42.0],[2.376656,48.846697,41.75],[2.376187,48.846922,41.0],[2.375340,48.847331,39.5],[2.375295,48.847351,39.5],[2.374781,48.847601,39.25],[2.373996,48.847983,40.5],[2.373852,48.848053,40.25],[2.373032,48.848449,39.5],[2.372595,48.848661,38.75],[2.372462,48.848726,38.5],[2.372161,48.848871,38.75],[2.372008,48.848945,38.5],[2.371503,48.849202,38.75],[2.371387,48.849273,39.25],[2.371221,48.849385,40.0],[2.371151,48.849432,40.5],[2.370879,48.849667,41.25],[2.370681,48.849913,41.75],[2.370619,48.850011,42.25],[2.370556,48.850109,43.0],[2.369836,48.851738,46.5],[2.369685,48.851856,45.5],[2.369576,48.852138,45.5],[2.369565,48.852166,45.5],[2.369403,48.852560,45.25],[2.369384,48.852606,45.0],[2.369363,48.852706,44.75],[2.369371,48.852777,44.5],[2.369398,48.852846,44.25],[2.369517,48.852904,44.5],[2.369607,48.852980,44.25],[2.369666,48.853085,43.75],[2.369677,48.853185,43.25],[2.369660,48.853254,42.75],[2.369629,48.853314,42.5],[2.369606,48.853340,42.25],[2.369543,48.853395,42.25],[2.369574,48.853637,41.5],[2.369588,48.853669,41.25],[2.370293,48.855220,44.5],[2.370400,48.855458,45.0],[2.370034,48.855482,44.5],[2.369961,48.855500,44.5],[2.369894,48.855523,44.5],[2.369804,48.855576,44.5],[2.369368,48.855892,46.25],[2.369317,48.855919,46.5],[2.369225,48.855943,46.5],[2.369184,48.855987,46.75],[2.369147,48.856068,46.5],[2.369015,48.856553,46.25],[2.368876,48.857061,45.75],[2.368857,48.857117,45.5],[2.368826,48.857200,45.5],[2.368693,48.857731,45.5],[2.368431,48.858611,46.5],[2.368196,48.859491,45.25],[2.368180,48.859547,45.25],[2.368168,48.859595,45.5],[2.368098,48.859820,45.75],[2.368007,48.860157,46.25],[2.367984,48.860240,46.0],[2.367849,48.860721,45.25],[2.367831,48.860781,45.0],[2.367816,48.860837,44.75],[2.367708,48.861234,44.75],[2.367687,48.861308,44.75],[2.367674,48.861358,44.75],[2.367586,48.861674,44.75],[2.367485,48.862055,44.5],[2.367408,48.862319,44.0],[2.367332,48.862582,43.5],[2.367312,48.862649,43.5],[2.367291,48.862726,43.5],[2.367111,48.863402,43.5],[2.367037,48.863656,44.5],[2.366942,48.863877,45.5],[2.366570,48.864785,45.5],[2.366538,48.864865,45.5],[2.366515,48.864920,45.5],[2.366311,48.865428,46.0],[2.366137,48.865900,46.25],[2.366178,48.865964,46.0],[2.366235,48.865996,46.0],[2.366345,48.866010,46.0],[2.366438,48.866034,45.75],[2.365401,48.866648,42.0],[2.365148,48.866713,40.75],[2.365048,48.866631,40.5],[2.365007,48.866604,40.5],[2.364756,48.866533,42.0],[2.364558,48.866610,42.0],[2.364371,48.866721,42.0],[2.364326,48.866749,42.0],[2.363789,48.867069,42.75],[2.363732,48.867103,42.75],[2.363701,48.867121,42.75],[2.363676,48.867136,42.5],[2.363452,48.867277,42.5],[2.363307,48.867374,42.25],[2.363109,48.867293,44.0],[2.363099,48.867289,44.0],[2.362978,48.867241,44.75],[2.362802,48.867170,45.75],[2.362720,48.867224,46.0],[2.362695,48.867232,46.0],[2.360875,48.867574,49.5],[2.359057,48.867914,49.0],[2.358733,48.867976,50.0],[2.358640,48.867993,50.25],[2.355516,48.868613,48.0],[2.355465,48.868623,48.0],[2.355391,48.868638,48.25],[2.355307,48.868674,48.25],[2.354109,48.868911,47.25],[2.354134,48.868957,47.0],[2.354259,48.869188,47.25],[2.354328,48.869315,47.75],[2.354261,48.869330,47.5],[2.354215,48.869341,47.5],[2.354003,48.869388,47.0],[2.353548,48.869490,45.75],[2.353524,48.869495,45.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Montrouge to Panthéon"
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 13,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.817458/2.318759/OpenStreetMap&lonlats=2.318759,48.817458|2.345839,48.845671&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8zYzAxOWI1MjBiYjI0ODEzYmEwNDFiY2QxYzM3NjU0MCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfM2MwMTliNTIwYmIyNDgxM2JhMDQxYmNkMWMzNzY1NDAiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzNjMDE5YjUyMGJiMjQ4MTNiYTA0MWJjZDFjMzc2NTQwID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzNjMDE5YjUyMGJiMjQ4MTNiYTA0MWJjZDFjMzc2NTQwIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTc0NTgsIDIuMzE4NzU5XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZTNmZjg2ZDg3NzQ2NDgyOGEzMTE4NTFjNjMwOWE2YTAgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73127b71d0>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 13,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.318759,48.817458]\n",
"end_point = [2.345839,48.845671]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.318773,48.817405,77.0],[2.318829,48.817412,77.0],[2.318905,48.817391,77.0],[2.319062,48.817639,76.75],[2.319083,48.817679,76.75],[2.319142,48.817773,76.75],[2.319228,48.817909,76.75],[2.319358,48.818116,77.0],[2.319480,48.818308,77.25],[2.319516,48.818364,77.25],[2.319607,48.818509,77.5],[2.319666,48.818601,77.75],[2.319679,48.818621,77.75],[2.319865,48.818919,78.75],[2.319893,48.818963,79.0],[2.320014,48.819160,79.75],[2.320094,48.819293,79.5],[2.320624,48.820153,78.75],[2.320987,48.820723,73.0],[2.321004,48.820744,72.75],[2.321056,48.820803,72.25],[2.321103,48.820846,71.75],[2.321129,48.820869,71.75],[2.321288,48.821025,71.75],[2.321306,48.821044,71.75],[2.321335,48.821076,70.5],[2.321409,48.821178,70.0],[2.321573,48.821347,69.25],[2.322138,48.821975,69.75],[2.322479,48.822354,73.75],[2.322589,48.822546,75.0],[2.322657,48.822666,75.0],[2.322702,48.822753,75.25],[2.323082,48.823484,75.5],[2.323133,48.823581,75.5],[2.323147,48.823610,75.25],[2.323178,48.823669,75.25],[2.323273,48.823686,75.5],[2.323293,48.823707,75.5],[2.323310,48.823734,75.5],[2.323323,48.823759,75.25],[2.323297,48.823794,75.25],[2.323255,48.823846,74.75],[2.323266,48.823864,74.75],[2.323278,48.823887,74.75],[2.323293,48.823914,74.75],[2.323488,48.824274,74.5],[2.323572,48.824440,75.0],[2.323764,48.824798,75.25],[2.323805,48.824870,75.25],[2.323926,48.825118,74.5],[2.324161,48.825515,73.25],[2.324216,48.825554,73.25],[2.324290,48.825681,73.25],[2.324787,48.826499,75.25],[2.324930,48.826731,75.5],[2.324994,48.826832,75.0],[2.325020,48.826892,74.75],[2.325016,48.826945,74.5],[2.325070,48.826958,74.25],[2.325090,48.826972,74.25],[2.325173,48.827053,73.75],[2.325206,48.827081,73.5],[2.325229,48.827098,73.5],[2.325257,48.827116,73.25],[2.325294,48.827134,73.25],[2.325457,48.827206,72.5],[2.325481,48.827213,72.5],[2.325538,48.827223,72.25],[2.325561,48.827232,72.25],[2.326156,48.827496,71.25],[2.326185,48.827503,71.25],[2.326218,48.827506,71.25],[2.326274,48.827509,71.5],[2.326319,48.827508,71.5],[2.326418,48.827501,71.5],[2.326429,48.827501,71.5],[2.326623,48.827474,72.0],[2.326657,48.827566,72.0],[2.326706,48.827559,72.0],[2.326734,48.827633,72.25],[2.326840,48.827615,72.25],[2.326906,48.827776,72.5],[2.326926,48.827779,72.5],[2.326963,48.827794,72.75],[2.326981,48.827802,72.75],[2.327023,48.827834,72.75],[2.327052,48.827885,72.75],[2.327049,48.827939,72.75],[2.327014,48.827989,72.75],[2.326954,48.828026,72.75],[2.327109,48.828161,73.0],[2.327301,48.828330,73.0],[2.327423,48.828467,72.75],[2.327714,48.828797,72.5],[2.327815,48.828920,72.5],[2.327831,48.828939,72.5],[2.328006,48.829147,72.25],[2.328023,48.829166,72.25],[2.328080,48.829232,72.25],[2.328364,48.829556,71.75],[2.328434,48.829636,71.75],[2.328516,48.829738,71.75],[2.328796,48.830061,71.25],[2.328935,48.830215,71.25],[2.329361,48.830716,71.75],[2.329421,48.830781,71.75],[2.329534,48.830916,72.0],[2.329705,48.831120,72.0],[2.329769,48.831196,72.0],[2.329921,48.831368,72.0],[2.329971,48.831422,72.0],[2.330156,48.831636,71.0],[2.330316,48.831820,70.5],[2.330532,48.832070,70.5],[2.330576,48.832121,70.5],[2.330607,48.832157,70.5],[2.330654,48.832213,70.5],[2.330700,48.832268,70.5],[2.330751,48.832329,70.5],[2.331003,48.832631,70.5],[2.331442,48.833157,70.25],[2.331525,48.833246,70.0],[2.331594,48.833264,70.0],[2.331907,48.833611,67.5],[2.331971,48.833681,67.0],[2.332041,48.833760,66.75],[2.332304,48.834058,66.5],[2.332343,48.834103,66.5],[2.332371,48.834126,66.75],[2.332438,48.834173,66.75],[2.332515,48.834208,67.25],[2.332587,48.834253,67.5],[2.332656,48.834311,68.0],[2.332716,48.834468,69.25],[2.332796,48.834626,70.25],[2.332840,48.834687,70.75],[2.332953,48.834749,71.25],[2.333049,48.834787,71.5],[2.333225,48.834981,72.75],[2.333251,48.835020,72.75],[2.333217,48.835052,72.5],[2.333912,48.835769,67.5],[2.334067,48.835931,67.25],[2.334149,48.836020,67.0],[2.334304,48.836188,65.75],[2.335230,48.837134,63.5],[2.335543,48.837466,64.5],[2.335546,48.8
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Stade Philippe Marcombes to Ikea.\n",
"\n",
"_Note_: The cycleway is not well connected on \"Rue Jacques Mailhot\", the weird feature there is expected."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 14,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.761608/3.082502/OpenStreetMap&lonlats=3.082502,45.761608|3.140566,45.804334&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF80Njg4YTdjOWIxMGE0MjQ2OTcxMmViNGM3NDJhZmMxMiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNDY4OGE3YzliMTBhNDI0Njk3MTJlYjRjNzQyYWZjMTIiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzQ2ODhhN2M5YjEwYTQyNDY5NzEyZWI0Yzc0MmFmYzEyID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzQ2ODhhN2M5YjEwYTQyNDY5NzEyZWI0Yzc0MmFmYzEyIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS43NjE2MDgsIDMuMDgyNTAyXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZDIzYWI2YWQ3YWViNGM5ZDhhM2Q4ODI4YzNkNjFlODAgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f731262f410>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 14,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [3.082502,45.761608]\n",
"end_point = [3.140566,45.804334]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[3.082503,45.761608,399.75],[3.082460,45.761644,400.25],[3.083733,45.761940,395.0],[3.085118,45.762263,392.25],[3.085209,45.762285,392.25],[3.085176,45.762332,392.0],[3.085163,45.762351,392.0],[3.084842,45.762812,391.75],[3.084577,45.763194,391.5],[3.084558,45.763222,391.5],[3.083869,45.764212,388.5],[3.083883,45.764579,387.25],[3.083886,45.764646,387.0],[3.083974,45.764679,386.75],[3.085326,45.765194,384.5],[3.085379,45.765232,384.25],[3.085425,45.765286,384.0],[3.085557,45.765479,383.5],[3.085589,45.765531,383.5],[3.085924,45.766015,382.75],[3.086002,45.766084,382.5],[3.086130,45.766185,382.5],[3.086233,45.766259,382.25],[3.086370,45.766319,382.25],[3.086477,45.766392,382.25],[3.086551,45.766426,382.25],[3.086594,45.766446,382.25],[3.086703,45.766518,382.0],[3.086923,45.766685,381.5],[3.086985,45.766862,381.25],[3.087011,45.767298,380.5],[3.087022,45.767402,380.25],[3.087084,45.767925,379.25],[3.087095,45.768015,379.25],[3.087110,45.768072,379.25],[3.087184,45.768350,379.0],[3.087274,45.768615,379.75],[3.087302,45.768702,379.75],[3.087299,45.768834,380.25],[3.087294,45.769012,380.75],[3.087292,45.769085,381.0],[3.087276,45.769520,381.0],[3.087277,45.769571,381.0],[3.087275,45.769613,381.0],[3.087273,45.769663,381.0],[3.087243,45.770660,381.75],[3.087233,45.770704,381.75],[3.087235,45.770729,381.75],[3.087238,45.770778,381.75],[3.087228,45.770836,381.75],[3.087187,45.770886,382.25],[3.087350,45.770901,381.75],[3.087603,45.770955,381.25],[3.088236,45.771133,381.0],[3.088843,45.771339,380.5],[3.089120,45.771463,380.0],[3.089353,45.771601,379.25],[3.089517,45.771734,378.75],[3.089544,45.771763,378.75],[3.089655,45.771880,378.5],[3.089733,45.771999,378.5],[3.089902,45.771995,378.0],[3.090007,45.771992,377.75],[3.090083,45.771990,377.75],[3.090109,45.772270,378.25],[3.090168,45.773564,381.5],[3.090197,45.774423,384.75],[3.090250,45.774424,384.5],[3.090811,45.774420,381.5],[3.091663,45.774410,378.0],[3.091705,45.774410,377.75],[3.091761,45.774409,377.5],[3.091757,45.774442,377.5],[3.091754,45.774474,377.5],[3.091687,45.775435,378.25],[3.091667,45.775677,378.75],[3.091652,45.775807,379.0],[3.091638,45.775992,380.0],[3.091630,45.776109,380.5],[3.091622,45.776181,381.0],[3.091612,45.776217,381.25],[3.091588,45.776251,381.5],[3.091578,45.776281,381.75],[3.091567,45.776314,382.0],[3.091561,45.776338,382.0],[3.091555,45.776369,382.25],[3.091547,45.776429,382.5],[3.091539,45.776504,383.0],[3.091446,45.777496,385.0],[3.091446,45.777566,384.75],[3.091455,45.777706,384.5],[3.091466,45.777810,384.25],[3.091480,45.777953,384.0],[3.091529,45.778421,382.75],[3.091545,45.778537,382.75],[3.091686,45.779160,381.75],[3.091804,45.779663,382.5],[3.091823,45.779738,382.5],[3.091967,45.779647,382.0],[3.092037,45.779606,381.5],[3.092242,45.779502,380.75],[3.092326,45.779464,380.5],[3.092373,45.779446,380.25],[3.092416,45.779438,380.25],[3.092456,45.779439,380.0],[3.092498,45.779446,380.0],[3.092555,45.779458,379.75],[3.092631,45.779473,379.5],[3.092697,45.779477,379.25],[3.092829,45.779467,379.0],[3.093974,45.779355,377.25],[3.094092,45.779344,377.25],[3.094167,45.779336,377.0],[3.095155,45.779238,374.0],[3.095744,45.779181,372.25],[3.095937,45.779154,371.25],[3.095941,45.779154,371.25],[3.095998,45.779148,371.0],[3.097187,45.779035,366.5],[3.097734,45.778965,365.0],[3.098690,45.778883,362.25],[3.098935,45.778865,361.75],[3.099045,45.778832,361.25],[3.099108,45.778782,361.0],[3.099227,45.778676,360.5],[3.099342,45.778735,360.75],[3.099734,45.778936,360.75],[3.099839,45.778989,360.75],[3.100031,45.779082,360.75],[3.100323,45.779234,361.0],[3.100682,45.779414,361.0],[3.100807,45.779481,361.0],[3.100888,45.779524,360.75],[3.101032,45.779597,360.75],[3.102135,45.780155,360.0],[3.104231,45.781224,356.25],[3.104323,45.781281,356.25],[3.104395,45.781325,356.0],[3.104476,45.781366,356.0],[3.104609,45.781442,355.75],[3.104790,45.781531,355.5],[3.105466,45.781886,354.5],[3.105669,45.781963,354.5],[3.105881
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Stade Philippe Marcombes to Jardin Lecoq."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 15,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.761563/3.082502/OpenStreetMap&lonlats=3.082502,45.761563|3.089658,45.77187&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9mZjM1ZmU1ODYyNGY0MmNjYmZiMjM3MzI5Zjk4MjRjMSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZmYzNWZlNTg2MjRmNDJjY2JmYjIzNzMyOWY5ODI0YzEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2ZmMzVmZTU4NjI0ZjQyY2NiZmIyMzczMjlmOTgyNGMxID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2ZmMzVmZTU4NjI0ZjQyY2NiZmIyMzczMjlmOTgyNGMxIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS43NjE1NjMsIDMuMDgyNTAyXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOTEzZGM5NmU1NjA2NDAyMWEwNzcyZjY4ZTkwYmVlOGYgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73127a1ed0>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 15,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [3.082502,45.761563]\n",
"end_point = [3.089658,45.77187]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[3.082528,45.761593,399.75],[3.082565,45.761578,399.75],[3.082789,45.761492,398.75],[3.082941,45.761436,398.25],[3.083010,45.761395,397.75],[3.083095,45.761333,397.5],[3.083118,45.761267,397.25],[3.083083,45.761192,397.5],[3.083269,45.761305,396.75],[3.083344,45.761380,396.5],[3.083491,45.761492,396.25],[3.083719,45.761586,395.5],[3.083894,45.761631,394.75],[3.084068,45.761651,394.25],[3.084358,45.761648,393.75],[3.084521,45.761679,393.5],[3.084877,45.761777,392.75],[3.085331,45.761903,393.0],[3.085402,45.761922,393.0],[3.085234,45.762239,392.25],[3.085223,45.762260,392.25],[3.085209,45.762285,392.25],[3.085176,45.762332,392.0],[3.085163,45.762351,392.0],[3.084842,45.762812,391.75],[3.084577,45.763194,391.5],[3.084558,45.763222,391.5],[3.083869,45.764212,388.5],[3.083883,45.764579,387.25],[3.083886,45.764646,387.0],[3.083889,45.764691,386.75],[3.083904,45.764951,386.0],[3.083955,45.765851,384.5],[3.083964,45.766014,384.25],[3.083989,45.766435,383.5],[3.084035,45.767241,383.0],[3.084038,45.767304,383.0],[3.084041,45.767354,383.0],[3.084062,45.767738,382.25],[3.084067,45.767827,382.25],[3.084070,45.767900,382.0],[3.084073,45.767967,381.75],[3.084079,45.768461,381.25],[3.084061,45.768610,381.75],[3.084003,45.768770,382.25],[3.083881,45.768918,382.75],[3.083842,45.768950,383.0],[3.083693,45.769074,383.75],[3.083573,45.769114,384.25],[3.083304,45.769124,384.75],[3.083159,45.769121,384.75],[3.083163,45.769173,385.0],[3.083196,45.769624,386.75],[3.083219,45.769949,388.0],[3.083229,45.770023,388.5],[3.083239,45.770098,388.5],[3.083297,45.770528,389.25],[3.083327,45.770757,389.75],[3.083353,45.771168,388.75],[3.083402,45.771168,388.75],[3.083404,45.771191,388.5],[3.083441,45.771212,388.5],[3.083469,45.771225,388.5],[3.083494,45.771237,388.5],[3.083503,45.771251,388.25],[3.083517,45.771277,388.25],[3.083550,45.771341,388.0],[3.083575,45.771390,387.75],[3.083628,45.771471,387.25],[3.083669,45.771534,387.25],[3.083870,45.771423,387.75],[3.084135,45.771308,388.25],[3.084529,45.771175,388.75],[3.084580,45.771158,389.0],[3.084970,45.771045,389.25],[3.085017,45.771029,389.0],[3.085190,45.770998,388.75],[3.085496,45.770939,388.0],[3.085636,45.770920,387.5],[3.085739,45.770903,387.25],[3.085978,45.770868,386.5],[3.086343,45.770836,385.0],[3.086535,45.770835,384.25],[3.086679,45.770845,384.0],[3.086809,45.770858,383.5],[3.087063,45.770876,382.75],[3.087187,45.770886,382.25],[3.087350,45.770901,381.75],[3.087603,45.770955,381.25],[3.088236,45.771133,381.0],[3.088843,45.771339,380.5],[3.089120,45.771463,380.0],[3.089353,45.771601,379.25],[3.089517,45.771734,378.75],[3.089544,45.771763,378.75],[3.089649,45.771873,378.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Royan to Talmont, there is a cycleroute (official route) which should be followed."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 16,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.617903/-1.015291/OpenStreetMap&lonlats=-1.015291,45.617903|-0.906624,45.53628&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9lYjBlMzA0MmRmZGM0MTk4YWEzNTQxYjdhZTZlY2NlYyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZWIwZTMwNDJkZmRjNDE5OGFhMzU0MWI3YWU2ZWNjZWMiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2ViMGUzMDQyZGZkYzQxOThhYTM1NDFiN2FlNmVjY2VjID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2ViMGUzMDQyZGZkYzQxOThhYTM1NDFiN2FlNmVjY2VjIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS42MTc5MDMsIC0xLjAxNTI5MV0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2I2MDJkYzI3ZTk5ZjQ2MmQ4ZDEwZTk5Y2QyMjcxMzU3ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZ
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310bb7610>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 16,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-1.015291,45.617903]\n",
"end_point = [-0.906624,45.53628]\n",
2018-11-07 09:42:04 +01:00
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-1.015299,45.617898],[-1.015202,45.617824],[-1.015071,45.617723],[-1.014541,45.617297],[-1.014236,45.617059],[-1.013942,45.616812],[-1.013920,45.616793],[-1.013464,45.616400],[-1.013190,45.616158],[-1.012561,45.615530],[-1.012438,45.615406],[-1.011751,45.614659],[-1.011207,45.614058],[-1.011079,45.613940],[-1.010710,45.613534,5.5],[-1.010565,45.613355,5.5],[-1.010235,45.612951,5.5],[-1.010085,45.612753,5.5],[-1.009900,45.612488,5.5],[-1.009813,45.612350,5.5],[-1.009740,45.612218,5.5],[-1.009672,45.612118,5.5],[-1.009629,45.612004,5.5],[-1.009536,45.611835,5.5],[-1.009455,45.611661,5.5],[-1.009329,45.611364,5.5],[-1.009162,45.610809,4.0],[-1.009001,45.610244,6.25],[-1.008898,45.609813,6.25],[-1.008687,45.608932,6.25],[-1.008655,45.608802,6.25],[-1.008632,45.608706,6.25],[-1.008549,45.608358,6.25],[-1.008523,45.608132,6.25],[-1.008476,45.608107,6.25],[-1.008436,45.608068,6.25],[-1.008166,45.608032,8.75],[-1.007967,45.607898,9.0],[-1.007805,45.607791,9.5],[-1.007565,45.607624,10.5],[-1.007179,45.607387,11.5],[-1.007138,45.607362,11.75],[-1.006943,45.607247,12.5],[-1.006877,45.607207,13.0],[-1.006774,45.607150,13.25],[-1.006495,45.606994,14.75],[-1.006329,45.606876,16.0],[-1.006152,45.606739,17.5],[-1.006046,45.606589,18.25],[-1.005969,45.606410,18.5],[-1.005958,45.606159,18.25],[-1.005956,45.606064,18.25],[-1.005943,45.605925,18.25],[-1.005928,45.605847,18.0],[-1.005916,45.605779,18.0],[-1.005910,45.605723,18.0],[-1.005900,45.605691,18.0],[-1.005830,45.605544,17.5],[-1.005817,45.605524,17.5],[-1.005732,45.605389,17.0],[-1.005689,45.605331,16.75],[-1.005642,45.605270,16.5],[-1.005222,45.604898,14.5],[-1.004825,45.604528,12.0],[-1.004732,45.604442,11.5],[-1.004484,45.604202,10.0],[-1.004440,45.604168,9.75],[-1.004312,45.604069,9.5],[-1.004170,45.603962,9.25],[-1.004100,45.603910,9.25],[-1.003995,45.603852,9.25],[-1.003747,45.603707,9.25],[-1.003489,45.603520,9.5],[-1.003320,45.603389,9.75],[-1.003246,45.603321,9.75],[-1.003179,45.603259,9.5],[-1.003040,45.603090,9.0],[-1.002965,45.602998,8.75],[-1.002794,45.602763,7.75],[-1.002727,45.602664,7.5],[-1.002659,45.602569,7.25],[-1.002616,45.602494,7.0],[-1.002468,45.602251,7.5],[-1.002351,45.602167,7.75],[-1.002350,45.602146,7.75],[-1.002316,45.602105,7.75],[-1.002279,45.602091,7.75],[-1.002237,45.602088,7.75],[-1.002132,45.602028,8.0],[-1.002015,45.602002,8.0],[-1.001909,45.602001,8.0],[-1.001613,45.601914,8.25],[-1.001432,45.601868,8.5],[-1.001311,45.601836,8.5],[-1.001101,45.601781,8.5],[-1.000901,45.601726,8.75],[-1.000709,45.601677,9.0],[-1.000409,45.601600,9.25],[-1.000029,45.601515,9.25],[-0.999933,45.601491,9.0],[-0.999877,45.601476,9.0],[-0.999884,45.601409,8.5],[-0.999408,45.601292,7.75],[-0.999355,45.601282,7.75],[-0.999294,45.601270,7.5],[-0.998807,45.601157,7.5],[-0.998768,45.601147,7.5],[-0.998716,45.601134,7.5],[-0.998386,45.601049,7.75],[-0.998341,45.601040,7.75],[-0.998295,45.601030,7.75],[-0.997902,45.600929,7.75],[-0.997845,45.600912,7.75],[-0.997767,45.600889,7.75],[-0.997557,45.600810,7.75],[-0.997504,45.600791,7.75],[-0.997467,45.600778,7.75],[-0.997267,45.600673,7.75],[-0.996722,45.600476,7.75],[-0.996664,45.600455,5.25],[-0.996585,45.600424,5.5],[-0.995650,45.600013,8.0],[-0.995590,45.599987,8.0],[-0.995545,45.599967,8.0],[-0.995198,45.599800,8.0],[-0.995108,45.599759,8.0],[-0.994951,45.599688,8.0],[-0.994784,45.599555,8.0],[-0.994593,45.599399,8.0],[-0.994484,45.599249,8.0],[-0.994102,45.598989,8.0],[-0.993738,45.598844,8.0],[-0.993648,45.598696,8.0],[-0.993636,45.598676,8.0],[-0.993379,45.598423,8.0],[-0.993143,45.598129,8.0],[-0.993013,45.597893,8.0],[-0.992760,45.597347,8.0],[-0.990276,45.591626,8.0],[-0.989965,45.590911,6.25],[-0.989777,45.590457,6.0],[-0.989562,45.589937,6.0],[-0.989448,45.589662,6.0],[-0.989378,45.589553,6.0],[-0.989284,45.589444,6.0],[-0.989193,45.589391,6.0],[-0.989046,45.589334,8.0],[-0.989000,45.589316,8.5],[-0.988733,45.589280,10.25],[-0.988324,45.589321,13.25],[-0.988077,45.
2018-11-03 19:14:35 +01:00
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From Royan to Mornac"
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 17,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.617903/-1.015291/OpenStreetMap&lonlats=-1.015291,45.617903|-1.027243,45.711024&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9lNjM2MTczNGE5NTg0NmE2YWVhMDJkMDljZWYzNDNhMSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZTYzNjE3MzRhOTU4NDZhNmFlYTAyZDA5Y2VmMzQzYTEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2U2MzYxNzM0YTk1ODQ2YTZhZWEwMmQwOWNlZjM0M2ExID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2U2MzYxNzM0YTk1ODQ2YTZhZWEwMmQwOWNlZjM0M2ExIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS42MTc5MDMsIC0xLjAxNTI5MV0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzQ4ZjVjMDdmZDBmYjRjM2FhZGFjZTJjZmFhM2RiZWZmID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZ
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f733b6fac10>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 17,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-1.015291,45.617903]\n",
"end_point = [-1.027243,45.711024]\n",
"plot_route(start_point, end_point)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Specific features"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-11-07 09:42:04 +01:00
"Prefer the slow traffic street without infrastructure but with cycle route (rue Amelot) rather than the large street without infrastructure (boulevard Beaumarchais). Another valid route would be Boulevard Richard Lenoir and Boulevard Voltaire which have cycle ways."
2018-11-03 19:14:35 +01:00
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 18,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.853447/2.369506/OpenStreetMap&lonlats=2.369506,48.853447|2.364185,48.866825&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF84ZDJhYWQ5YjYxYTU0NmE5OTk5MWJmY2JhNjIxNTNiOSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOGQyYWFkOWI2MWE1NDZhOTk5OTFiZmNiYTYyMTUzYjkiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzhkMmFhZDliNjFhNTQ2YTk5OTkxYmZjYmE2MjE1M2I5ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzhkMmFhZDliNjFhNTQ2YTk5OTkxYmZjYmE2MjE1M2I5IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NTM0NDcsIDIuMzY5NTA2XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMWE2ZjU3MmRiYmM5NDkyODhkZWYyMDJmNDVkY2IxZDcgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7312733710>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 18,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.369506,48.853447]\n",
"end_point = [2.364185,48.866825]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.369488,48.853432,42.0],[2.369517,48.853418,42.25],[2.369543,48.853395,42.25],[2.369574,48.853637,41.5],[2.369588,48.853669,41.25],[2.370293,48.855220,44.5],[2.370400,48.855458,45.0],[2.370034,48.855482,44.5],[2.369961,48.855500,44.5],[2.369894,48.855523,44.5],[2.369804,48.855576,44.5],[2.369368,48.855892,46.25],[2.369317,48.855919,46.5],[2.369225,48.855943,46.5],[2.369184,48.855987,46.75],[2.369147,48.856068,46.5],[2.369015,48.856553,46.25],[2.368876,48.857061,45.75],[2.368857,48.857117,45.5],[2.368826,48.857200,45.5],[2.368693,48.857731,45.5],[2.368431,48.858611,46.5],[2.368196,48.859491,45.25],[2.368180,48.859547,45.25],[2.368168,48.859595,45.5],[2.368098,48.859820,45.75],[2.368007,48.860157,46.25],[2.367984,48.860240,46.0],[2.367849,48.860721,45.25],[2.367831,48.860781,45.0],[2.367816,48.860837,44.75],[2.367708,48.861234,44.75],[2.367687,48.861308,44.75],[2.367674,48.861358,44.75],[2.367586,48.861674,44.75],[2.367485,48.862055,44.5],[2.367408,48.862319,44.0],[2.367332,48.862582,43.5],[2.367312,48.862649,43.5],[2.367291,48.862726,43.5],[2.367111,48.863402,43.5],[2.367037,48.863656,44.5],[2.366942,48.863877,45.5],[2.366570,48.864785,45.5],[2.366538,48.864865,45.5],[2.366515,48.864920,45.5],[2.366311,48.865428,46.0],[2.366137,48.865900,46.25],[2.366178,48.865964,46.0],[2.366235,48.865996,46.0],[2.366345,48.866010,46.0],[2.366438,48.866034,45.75],[2.365401,48.866648,42.0],[2.365148,48.866713,40.75],[2.365048,48.866631,40.5],[2.365007,48.866604,40.5],[2.364756,48.866533,42.0],[2.364558,48.866610,42.0],[2.364326,48.866749,42.0],[2.364191,48.866829,42.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prefer crossing by foot rather than follow cycleway if there are too many traffic signals."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 19,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.843184/2.370129/OpenStreetMap&lonlats=2.370129,48.843184|2.37059,48.842915&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF81ZmJlMDIwOWJjOTI0MGI3YmRiNjc0YTllZjJkYWFkYSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNWZiZTAyMDliYzkyNDBiN2JkYjY3NGE5ZWYyZGFhZGEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzVmYmUwMjA5YmM5MjQwYjdiZGI2NzRhOWVmMmRhYWRhID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzVmYmUwMjA5YmM5MjQwYjdiZGI2NzRhOWVmMmRhYWRhIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDMxODQsIDIuMzcwMTI5XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfNjRkZjJlM2ZhMTEyNDNhY2JkNTgxYmIyZDIxODdiMGIgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7312a1a990>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 19,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.370129,48.843184]\n",
"end_point = [2.37059,48.842915]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.370125,48.843186,34.75],[2.370142,48.843197,36.25],[2.370172,48.843219,36.5],[2.370258,48.843155,36.25],[2.370424,48.843037,35.5],[2.370583,48.842914,34.5],[2.370585,48.842912,34.25]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prefer to follow proper cycleways (along the \"Port de la Râpée\") rather than taking shared busway (along \"Rue de Bercy\")."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 20,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.843184/2.370129/OpenStreetMap&lonlats=2.370129,48.843184|2.376528,48.84217&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9iMDYzMmRlZDg3YWE0Y2NmYTM5MmMyZDU5MDE0ZDkxNSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYjA2MzJkZWQ4N2FhNGNjZmEzOTJjMmQ1OTAxNGQ5MTUiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2IwNjMyZGVkODdhYTRjY2ZhMzkyYzJkNTkwMTRkOTE1ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2IwNjMyZGVkODdhYTRjY2ZhMzkyYzJkNTkwMTRkOTE1IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDMxODQsIDIuMzcwMTI5XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfYjY3NTgyOTEwMTE0NDFlMTlhNTQxZjBkZWNjM2IwYTMgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a4ca90>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 20,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.370129,48.843184]\n",
"end_point = [2.376528,48.84217]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.370125,48.843186,34.75],[2.370142,48.843197,36.25],[2.370172,48.843219,36.5],[2.370258,48.843155,36.25],[2.370424,48.843037,35.5],[2.370583,48.842914,34.5],[2.371074,48.842518,33.0],[2.371084,48.842473,32.75],[2.371572,48.842118,35.0],[2.371646,48.842040,34.75],[2.372631,48.841303,32.5],[2.373378,48.840644,33.5],[2.373421,48.840668,33.75],[2.373877,48.840885,36.5],[2.374041,48.840963,37.5],[2.374294,48.841085,39.0],[2.374316,48.841109,39.0],[2.375267,48.841591,41.75],[2.376118,48.842012,39.25],[2.376141,48.842012,39.0],[2.376187,48.841983,39.0],[2.376247,48.842014,38.75],[2.376420,48.842101,37.75],[2.376521,48.842173,37.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Avoid roads under construction."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 21,
2018-11-07 09:42:04 +01:00
"metadata": {
"scrolled": false
},
2018-11-03 19:14:35 +01:00
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.817783/2.316828/OpenStreetMap&lonlats=2.316828,48.817783|2.319623,48.818514&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF81OGYzYzM1ZmExZWM0NjY3OTM5NTQ3MmUxNWI1Mjg2NCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNThmM2MzNWZhMWVjNDY2NzkzOTU0NzJlMTViNTI4NjQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzU4ZjNjMzVmYTFlYzQ2Njc5Mzk1NDcyZTE1YjUyODY0ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzU4ZjNjMzVmYTFlYzQ2Njc5Mzk1NDcyZTE1YjUyODY0IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTc3ODMsIDIuMzE2ODI4XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfNGJiMzM2OWYyYzdlNDE0Y2I5YTVhZjFhMzk1OTFhNTEgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7312796690>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 21,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.316828,48.817783]\n",
"end_point = [2.319623,48.818514]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.316830,48.817778,72.75],[2.316655,48.817724,72.5],[2.316760,48.817697,72.5],[2.317023,48.817628,73.25],[2.317285,48.817560,74.0],[2.317836,48.817427,75.75],[2.317870,48.817418,76.0],[2.318481,48.817262,77.25],[2.318504,48.817302,77.0],[2.318565,48.817347,77.0],[2.318638,48.817382,77.0],[2.318735,48.817401,77.0],[2.318829,48.817412,77.0],[2.318982,48.817661,76.75],[2.319063,48.817794,76.75],[2.319065,48.817797,76.75],[2.319311,48.818204,77.0],[2.319346,48.818258,77.0],[2.319407,48.818366,77.25],[2.319381,48.818466,77.0],[2.319396,48.818469,77.0],[2.319607,48.818509,77.5],[2.319619,48.818506,77.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-11-11 00:44:18 +01:00
"Take slow traffic streets. It should avoid \"Avenue du Général Leclerc\" which has no cycle infrastructure and is a very busy artery and prefer \"Rue de la Tombe Issoire\" or \"Rue du Père Corentin\"."
2018-11-03 19:14:35 +01:00
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 22,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.823278/2.324225/OpenStreetMap&lonlats=2.324225,48.823278|2.332508,48.827764&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF81N2NmMjFjNmY3NjI0OTA1OWMyOTZkZDQzYjcxNGRlYyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNTdjZjIxYzZmNzYyNDkwNTljMjk2ZGQ0M2I3MTRkZWMiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzU3Y2YyMWM2Zjc2MjQ5MDU5YzI5NmRkNDNiNzE0ZGVjID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzU3Y2YyMWM2Zjc2MjQ5MDU5YzI5NmRkNDNiNzE0ZGVjIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MjMyNzgsIDIuMzI0MjI1XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMzgwYzI3M2MxNDc3NDJkMzg1NzI2YTRjNmIwNjU4NDUgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f733b6fa590>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 22,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.324225,48.823278]\n",
"end_point = [2.332508,48.827764]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.324237,48.823287,79.25],[2.324337,48.823231,78.75],[2.324394,48.823203,78.5],[2.325176,48.823030,75.25],[2.325242,48.823014,75.25],[2.325268,48.823007,75.25],[2.325355,48.822984,75.25],[2.325570,48.822937,75.25],[2.325683,48.822916,75.25],[2.325747,48.822899,75.25],[2.325846,48.822882,75.25],[2.326505,48.822726,76.5],[2.326611,48.822724,76.75],[2.326664,48.822727,76.75],[2.326759,48.822730,77.0],[2.326761,48.822788,76.75],[2.326757,48.822866,76.25],[2.326758,48.822899,76.25],[2.326779,48.822970,75.75],[2.326836,48.823053,75.25],[2.326652,48.823088,75.0],[2.326657,48.823107,75.0],[2.326822,48.823267,74.0],[2.327165,48.823605,73.25],[2.327202,48.823638,73.0],[2.327509,48.823933,73.0],[2.327666,48.824040,73.25],[2.327791,48.824117,73.25],[2.328004,48.824259,73.0],[2.328129,48.824351,72.5],[2.328306,48.824481,72.25],[2.328865,48.824851,74.0],[2.329137,48.825035,75.75],[2.329423,48.825228,77.0],[2.329456,48.825251,77.0],[2.329897,48.825556,78.0],[2.330096,48.825691,77.5],[2.330123,48.825709,77.5],[2.330749,48.826134,74.5],[2.330977,48.826290,74.5],[2.331847,48.826884,75.5],[2.331919,48.826937,75.25],[2.332061,48.826878,75.0],[2.332100,48.826868,74.75],[2.332230,48.827128,74.0],[2.332255,48.827185,73.75],[2.332443,48.827616,72.0],[2.332479,48.827714,71.25],[2.332488,48.827735,71.25],[2.332503,48.827765,70.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Take shortest path along cycleways. It should cross \"Place Valhubert\" following the shortest route on cycleways even though the marked cycle itinerary is on the other side of the square."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 23,
2018-11-03 19:14:35 +01:00
"metadata": {
"scrolled": false
},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.843134/2.363493/OpenStreetMap&lonlats=2.363493,48.843134|2.3664,48.842933&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9kYjQyNmQxOWQxNDM0YTdiYjZkZDUyMzU1ZjVjMmMxOSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZGI0MjZkMTlkMTQzNGE3YmI2ZGQ1MjM1NWY1YzJjMTkiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2RiNDI2ZDE5ZDE0MzRhN2JiNmRkNTIzNTVmNWMyYzE5ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2RiNDI2ZDE5ZDE0MzRhN2JiNmRkNTIzNTVmNWMyYzE5IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDMxMzQsIDIuMzYzNDkzXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOTY3NzJmYWEyYTAwNGU4M2JmMTU2NzRiYTJhYzU0MGEgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b973d0>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 23,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.363493,48.843134]\n",
"end_point = [2.3664,48.842933]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.363485,48.843146,35.0],[2.363873,48.843246,35.5],[2.363892,48.843249,35.5],[2.363910,48.843249,35.5],[2.363930,48.843249,35.5],[2.363975,48.843244,35.75],[2.364013,48.843241,35.75],[2.364024,48.843240,35.75],[2.364017,48.843203,35.75],[2.364008,48.843179,35.75],[2.363988,48.843124,35.75],[2.363993,48.843094,35.75],[2.364025,48.843074,35.75],[2.364086,48.843060,35.75],[2.364225,48.843018,36.0],[2.364253,48.843058,36.25],[2.364281,48.843098,36.25],[2.364377,48.843246,36.75],[2.364687,48.843580,36.75],[2.364727,48.843623,36.5],[2.364851,48.843606,36.5],[2.364892,48.843601,36.5],[2.365012,48.843588,36.75],[2.365189,48.843580,36.25],[2.365360,48.843591,35.5],[2.365456,48.843596,35.0],[2.365505,48.843590,35.0],[2.366080,48.843167,35.25],[2.366184,48.843095,35.0],[2.366286,48.843019,35.0],[2.366332,48.842985,34.75],[2.366401,48.842933,34.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should prefer to take dedicated bicycle infrastructure (bidirectional track along \"Quai d'Austerlitz\" and \"Pont Charles de Gaulle\", \"Port de la Râpée\" which is closed to traffic except bikes and \"Rue Villiot\" with a track) rather than shared infrastructures (shared busway on \"Pont d'Austerlitz\", \"Boulevard Diderot\" and \"Rue de Bercy\")."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 24,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.843459/2.364432/OpenStreetMap&lonlats=2.364432,48.843459|2.37648,48.842131&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF84ZTM2YjFhNTIxN2Y0ZDRlODFiYWYxMmJlNTJhY2UxNiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOGUzNmIxYTUyMTdmNGQ0ZTgxYmFmMTJiZTUyYWNlMTYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzhlMzZiMWE1MjE3ZjRkNGU4MWJhZjEyYmU1MmFjZTE2ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzhlMzZiMWE1MjE3ZjRkNGU4MWJhZjEyYmU1MmFjZTE2IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDM0NTksIDIuMzY0NDMyXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfNzkxMmUwZmM1MDlmNDg1OWI5ZGNmYjBhYzU3NTVlZGYgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a38990>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 24,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.364432,48.843459]\n",
"end_point = [2.37648,48.842131]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.364414,48.843471,36.5],[2.364512,48.843534,36.75],[2.364585,48.843610,36.5],[2.364687,48.843580,36.75],[2.364727,48.843623,36.5],[2.364851,48.843606,36.5],[2.364892,48.843601,36.5],[2.365012,48.843588,36.75],[2.365189,48.843580,36.25],[2.365360,48.843591,35.5],[2.365456,48.843596,35.0],[2.365505,48.843590,35.0],[2.366080,48.843167,35.25],[2.366184,48.843095,35.0],[2.366286,48.843019,35.0],[2.366332,48.842985,34.75],[2.366685,48.842725,34.25],[2.366860,48.842546,34.0],[2.367113,48.842352,32.75],[2.367663,48.841924,32.5],[2.367760,48.841981,32.25],[2.367817,48.842013,32.0],[2.367883,48.842017,32.0],[2.367928,48.842028,32.0],[2.368059,48.842082,32.0],[2.369792,48.842996,32.0],[2.370088,48.843161,32.0],[2.370142,48.843197,36.25],[2.370172,48.843219,36.5],[2.370258,48.843155,36.25],[2.370424,48.843037,35.5],[2.370583,48.842914,34.5],[2.371074,48.842518,33.0],[2.371084,48.842473,32.75],[2.371572,48.842118,35.0],[2.371646,48.842040,34.75],[2.372631,48.841303,32.5],[2.373378,48.840644,33.5],[2.373421,48.840668,33.75],[2.373877,48.840885,36.5],[2.374041,48.840963,37.5],[2.374294,48.841085,39.0],[2.374316,48.841109,39.0],[2.375267,48.841591,41.75],[2.376118,48.842012,39.25],[2.376141,48.842012,39.0],[2.376187,48.841983,39.0],[2.376247,48.842014,38.75],[2.376420,48.842101,37.75],[2.376469,48.842136,37.25]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-11-07 09:42:04 +01:00
"It should avoid primary streets without cycle lanes if there is a cycle route nearby.\n",
"\n",
"**Note**: Routing across surface is not currently possible. See https://github.com/abrensch/brouter/issues/108."
2018-11-03 19:14:35 +01:00
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 25,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.866589/2.365494/OpenStreetMap&lonlats=2.365494,48.866589|2.362736,48.867206&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9iYmRkNWI0MjQ4M2U0OTNmOWFjNTkzMTc4MzgzNGI5OCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYmJkZDViNDI0ODNlNDkzZjlhYzU5MzE3ODM4MzRiOTgiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2JiZGQ1YjQyNDgzZTQ5M2Y5YWM1OTMxNzgzODM0Yjk4ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2JiZGQ1YjQyNDgzZTQ5M2Y5YWM1OTMxNzgzODM0Yjk4IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NjY1ODksIDIuMzY1NDk0XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZjg5ZDFlNjc5Y2E4NDZhOWIwYzU4MDQ4MDg5OWM1YjAgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a20650>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 25,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.365494,48.866589]\n",
"end_point = [2.362736,48.867206]\n",
2018-11-07 09:42:04 +01:00
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.365496,48.866591,42.25],[2.365401,48.866648,42.0],[2.365148,48.866713,40.75],[2.365214,48.866765,41.0],[2.365264,48.866805,41.25],[2.365517,48.866983,43.0],[2.365435,48.867093,42.75],[2.365027,48.867344,40.75],[2.364872,48.867438,40.5],[2.364669,48.867561,40.25],[2.364336,48.867761,40.25],[2.364061,48.867918,40.5],[2.363829,48.867770,40.25],[2.363662,48.867658,40.25],[2.363341,48.867477,41.0],[2.363307,48.867374,42.25],[2.363109,48.867293,44.0],[2.363099,48.867289,44.0],[2.362978,48.867241,44.75],[2.362802,48.867170,45.75],[2.362741,48.867209,45.75]]}}]}\n",
2018-11-03 19:14:35 +01:00
"plot_route(start_point, end_point, human)"
]
},
2018-11-07 09:42:04 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The primary road \"Place de la République\" has a cycle lane so it is fine to route on it, even though it is a primary road."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 26,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.867129/2.3631/OpenStreetMap&lonlats=2.3631,48.867129|2.365414,48.866472&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF80OTM4NDliYjViOTk0Yjc2YWU2NWM3MTJiZjU3MGE1NyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNDkzODQ5YmI1Yjk5NGI3NmFlNjVjNzEyYmY1NzBhNTciID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzQ5Mzg0OWJiNWI5OTRiNzZhZTY1YzcxMmJmNTcwYTU3ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzQ5Mzg0OWJiNWI5OTRiNzZhZTY1YzcxMmJmNTcwYTU3IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NjcxMjksIDIuMzYzMV0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzJjMTY1MDZiNGE0MzQxYWJiY2VmMzdjNjYzMTQzMjk3ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvK
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b97a50>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 26,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.3631,48.867129]\n",
"end_point = [2.365414,48.866472]\n",
"plot_route(start_point, end_point)"
]
},
2018-11-03 19:14:35 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should be fine to take primary roads for short times, even though there are no cycle infrastructures."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 27,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.81318/2.301915/OpenStreetMap&lonlats=2.301915,48.81318|2.299844,48.811258&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF84YWFhOGFhMTY3NTg0MGNjYWE4MjQyMzM5ZTI0MjI3MSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOGFhYThhYTE2NzU4NDBjY2FhODI0MjMzOWUyNDIyNzEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzhhYWE4YWExNjc1ODQwY2NhYTgyNDIzMzllMjQyMjcxID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzhhYWE4YWExNjc1ODQwY2NhYTgyNDIzMzllMjQyMjcxIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTMxOCwgMi4zMDE5MTVdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9mOTMxYjE4ZGY1MmE0YjQ3OGE5ZDgzMDdlOWE5MmQ1OSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUb
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a1e650>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 27,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.301915,48.81318]\n",
"end_point = [2.299844,48.811258]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.301920,48.813177,75.0],[2.301803,48.813070,75.5],[2.301730,48.812997,75.5],[2.301662,48.812928,75.5],[2.301617,48.812888,75.25],[2.301573,48.812848,75.25],[2.301546,48.812821,75.25],[2.301528,48.812802,75.0],[2.301172,48.812442,75.5],[2.301099,48.812367,75.75],[2.300940,48.812210,77.0],[2.300831,48.812097,77.75],[2.300760,48.812015,78.25],[2.300714,48.811969,78.5],[2.300675,48.811930,78.75],[2.300633,48.811893,78.75],[2.300366,48.811650,79.75],[2.300331,48.811619,79.75],[2.300232,48.811514,79.5],[2.300087,48.811467,79.5],[2.299897,48.811303,79.25],[2.299843,48.811257,79.25]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should follow dedicated infrastructure whenever possible."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 28,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.787421/2.256145/OpenStreetMap&lonlats=2.256145,48.787421|2.245991,48.783339&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9jYTU2NWYwYTg1OGE0ZWEzYjY1YzI3YmQxMGJiODQzMyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfY2E1NjVmMGE4NThhNGVhM2I2NWMyN2JkMTBiYjg0MzMiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2NhNTY1ZjBhODU4YTRlYTNiNjVjMjdiZDEwYmI4NDMzID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2NhNTY1ZjBhODU4YTRlYTNiNjVjMjdiZDEwYmI4NDMzIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC43ODc0MjEsIDIuMjU2MTQ1XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOTE1ODFhNDllMDRjNGM5MWE1M2Q1MTAzNjhlMGY4NGIgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a1ea90>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 28,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2018-11-07 09:42:04 +01:00
"start_point = [2.256145,48.787421]\n",
2018-11-03 19:14:35 +01:00
"end_point = [2.245991,48.783339]\n",
2018-11-07 09:42:04 +01:00
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.256140,48.787425,165.0],[2.256091,48.787405,165.5],[2.256075,48.787359,165.75],[2.255400,48.787103,169.0],[2.255125,48.786999,169.5],[2.255089,48.787043,169.75],[2.254780,48.786922,169.25],[2.254450,48.786799,168.25],[2.254054,48.786650,166.75],[2.254012,48.786601,166.75],[2.253858,48.786515,166.5],[2.253713,48.786461,166.5],[2.253063,48.786195,166.5],[2.252868,48.786120,166.5],[2.252655,48.786021,166.25],[2.252289,48.785865,166.5],[2.251542,48.785578,167.75],[2.251381,48.785496,168.25],[2.251184,48.785419,168.5],[2.250998,48.785345,169.0],[2.250402,48.785075,168.5],[2.249762,48.784843,167.25],[2.249646,48.784797,167.0],[2.249050,48.784534,166.5],[2.248215,48.784191,168.25],[2.247983,48.784157,168.75],[2.247821,48.784114,169.25],[2.247480,48.784018,169.75],[2.247315,48.783955,169.5],[2.247234,48.783923,169.5],[2.247163,48.783896,169.5],[2.246482,48.783620,169.75],[2.246373,48.783572,169.75],[2.246456,48.783536,170.0],[2.246312,48.783471,170.0],[2.245990,48.783338,170.0]]}}]}\n",
2018-11-03 19:14:35 +01:00
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should not take the rails, unless explicitly authorized for bikes."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 29,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.787421/2.256145/OpenStreetMap&lonlats=2.256145,48.787421|2.254032,48.786585&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF80ZjMxMmZkOTRlOTc0ZDM4OWYzNzJmNjIxZGRlYTljOCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNGYzMTJmZDk0ZTk3NGQzODlmMzcyZjYyMWRkZWE5YzgiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzRmMzEyZmQ5NGU5NzRkMzg5ZjM3MmY2MjFkZGVhOWM4ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzRmMzEyZmQ5NGU5NzRkMzg5ZjM3MmY2MjFkZGVhOWM4IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC43ODc0MjEsIDIuMjU2MTQ1XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMmUwZmNmN2VlZTVjNGJkMDk1M2ZlYjFiZjAzMmY3OGUgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b3a8d0>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 29,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
2018-11-07 09:42:04 +01:00
"start_point = [2.256145,48.787421]\n",
2018-11-03 19:14:35 +01:00
"end_point = [2.254032,48.786585]\n",
2018-11-07 09:42:04 +01:00
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.256140,48.787425,165.0],[2.256091,48.787405,165.5],[2.256075,48.787359,165.75],[2.255400,48.787103,169.0],[2.255125,48.786999,169.5],[2.255089,48.787043,169.75],[2.254780,48.786922,169.25],[2.254450,48.786799,168.25],[2.254054,48.786650,166.75],[2.254012,48.786601,166.75],[2.254035,48.786588,166.75]]}}]}\n",
2018-11-03 19:14:35 +01:00
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should take the cycleways when available."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 30,
2018-11-03 19:14:35 +01:00
"metadata": {},
"outputs": [
2018-11-07 09:42:04 +01:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.797788/3.139316/OpenStreetMap&lonlats=3.139316,45.797788|3.139295,45.802558&profile=trekking-custom\n"
]
},
2018-11-03 19:14:35 +01:00
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF84ZTlhZWU3YTY4NDE0Yzg4YmNiMWZkZmRhYjI5MWQ0YiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfOGU5YWVlN2E2ODQxNGM4OGJjYjFmZGZkYWIyOTFkNGIiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzhlOWFlZTdhNjg0MTRjODhiY2IxZmRmZGFiMjkxZDRiID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzhlOWFlZTdhNjg0MTRjODhiY2IxZmRmZGFiMjkxZDRiIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS43OTc3ODgsIDMuMTM5MzE2XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfN2EwYTUzNTFjMjJmNDM4YmFkMjI4OTgzN2ZiMDk3YWUgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-03 19:14:35 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b08910>"
2018-11-03 19:14:35 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 30,
2018-11-03 19:14:35 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [3.139316,45.797788]\n",
"end_point = [3.139295,45.802558]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[3.139316,45.797789,327.0],[3.139269,45.797791,327.0],[3.139192,45.797779,327.0],[3.139142,45.797763,327.0],[3.139097,45.797742,327.0],[3.139052,45.797874,327.75],[3.138961,45.798241,329.25],[3.138806,45.799052,329.75],[3.138768,45.799359,329.25],[3.138747,45.799841,327.75],[3.138796,45.800216,327.75],[3.138811,45.800328,328.0],[3.138953,45.801315,329.0],[3.138949,45.801394,329.0],[3.138933,45.801460,329.0],[3.138888,45.801532,329.0],[3.138847,45.801621,329.0],[3.138848,45.801692,328.75],[3.138873,45.801742,328.75],[3.138906,45.801778,328.75],[3.138964,45.801831,328.75],[3.139061,45.801905,328.75],[3.139136,45.801991,328.5],[3.139225,45.802500,327.75],[3.139288,45.802566,327.5],[3.139297,45.802559,327.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
2018-11-07 09:42:04 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-11-11 00:44:18 +01:00
"Follow cycle routes, either along the large streets or the alternative calmer way."
2018-11-07 09:42:04 +01:00
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 31,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.844073/2.381598/OpenStreetMap&lonlats=2.381598,48.844073|2.362297,48.842809&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9lZmMwYThhMmVkNDk0ZjRhYWE2YTUwMGM0YTBjZjc1ZiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZWZjMGE4YTJlZDQ5NGY0YWFhNmE1MDBjNGEwY2Y3NWYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2VmYzBhOGEyZWQ0OTRmNGFhYTZhNTAwYzRhMGNmNzVmID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2VmYzBhOGEyZWQ0OTRmNGFhYTZhNTAwYzRhMGNmNzVmIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NDQwNzMsIDIuMzgxNTk4XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZmFmODFkNDRkNWFiNGM1MmJlYWE3M2M4ODgzOThlN2YgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310bf3c50>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 31,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.381598,48.844073]\n",
"end_point = [2.362297,48.842809]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.381592,48.844071,38.25],[2.381578,48.844088,38.25],[2.381554,48.844145,38.0],[2.381566,48.844173,37.75],[2.381583,48.844211,38.0],[2.381479,48.844254,38.25],[2.381433,48.844279,38.25],[2.381307,48.844224,37.75],[2.379752,48.843646,39.5],[2.379717,48.843637,39.5],[2.379638,48.843608,39.5],[2.379084,48.843384,40.5],[2.378860,48.843293,40.5],[2.378791,48.843229,40.5],[2.376751,48.842333,40.5],[2.376695,48.842296,40.5],[2.376597,48.842227,40.5],[2.376549,48.842194,37.0],[2.376420,48.842101,37.75],[2.376247,48.842014,38.75],[2.376187,48.841983,39.0],[2.376141,48.842012,39.0],[2.376118,48.842012,39.25],[2.375267,48.841591,41.75],[2.374316,48.841109,39.0],[2.374294,48.841085,39.0],[2.374041,48.840963,37.5],[2.373877,48.840885,36.5],[2.373421,48.840668,33.75],[2.373378,48.840644,33.5],[2.372631,48.841303,32.5],[2.371646,48.842040,34.75],[2.371572,48.842118,35.0],[2.371084,48.842473,32.75],[2.371074,48.842518,33.0],[2.370583,48.842914,34.5],[2.370424,48.843037,35.5],[2.370258,48.843155,36.25],[2.370172,48.843219,36.5],[2.370142,48.843197,36.25],[2.370088,48.843161,36.25],[2.369792,48.842996,36.25],[2.368716,48.842429,36.25],[2.368717,48.842429],[2.368059,48.842082],[2.367928,48.842028,32.0],[2.367883,48.842017,32.0],[2.367817,48.842013,32.0],[2.367760,48.841981,32.25],[2.367663,48.841924,32.5],[2.367113,48.842352,32.75],[2.366860,48.842546,34.0],[2.366685,48.842725,34.25],[2.366332,48.842985,34.75],[2.366286,48.843019,35.0],[2.366184,48.843095,35.0],[2.366080,48.843167,35.25],[2.365505,48.843590,35.0],[2.365456,48.843596,35.0],[2.365360,48.843591,35.5],[2.365189,48.843580,36.25],[2.365012,48.843588,36.75],[2.364892,48.843601,36.5],[2.364851,48.843606,36.5],[2.364727,48.843623,36.5],[2.364687,48.843580,36.75],[2.364377,48.843246,36.75],[2.364281,48.843098,36.25],[2.364253,48.843058,36.25],[2.364225,48.843018,36.0],[2.364086,48.843060,35.75],[2.364025,48.843074,35.75],[2.363993,48.843094,35.75],[2.363988,48.843124,35.75],[2.364008,48.843179,35.75],[2.364017,48.843203,35.75],[2.363913,48.843214,35.5],[2.362297,48.842807,34.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Should take the cycleway when `bicycle=use_sidepath` is used."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 32,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.816211/2.30744/OpenStreetMap&lonlats=2.30744,48.816211|2.303189,48.811659&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9iMjgwZGM5Y2YwYWQ0YWI3YWY2ZWI0ZDI3MDU2MDQ4NCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYjI4MGRjOWNmMGFkNGFiN2FmNmViNGQyNzA1NjA0ODQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2IyODBkYzljZjBhZDRhYjdhZjZlYjRkMjcwNTYwNDg0ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2IyODBkYzljZjBhZDRhYjdhZjZlYjRkMjcwNTYwNDg0IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTYyMTEsIDIuMzA3NDRdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl81MzIzMTY4ZDE3M2Y0N2Y4YWE3ZTE2ZWViYmRmMzM0NyA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUb
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b46710>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 32,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.30744,48.816211]\n",
"end_point = [2.303189,48.811659]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.307439,48.816203,70.75],[2.307245,48.816208,70.25],[2.307049,48.816215,70.5],[2.306904,48.816067,70.5],[2.306807,48.816040,70.5],[2.305231,48.814180,72.5],[2.304721,48.813579,74.75],[2.304552,48.813379,75.25],[2.304484,48.813297,75.25],[2.304313,48.813087,75.5],[2.303426,48.812041,75.75],[2.303442,48.811974,75.75],[2.303404,48.811930,75.75],[2.303353,48.811868,75.75],[2.303269,48.811766,75.75],[2.303187,48.811658,76.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2018-11-11 00:44:18 +01:00
"It should ignore roads with `access=no`, even if they are part of a cycleroute.\n",
2018-11-07 09:42:04 +01:00
"\n",
"See https://github.com/nrenner/brouter-web/issues/31."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 33,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.119266/5.697463/OpenStreetMap&lonlats=5.697463,45.119266|5.695553,45.116843&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF84OWFlZGNkNmI4MjM0ZGI4YWQxMjE5MjZmZTg0NzFkOSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfODlhZWRjZDZiODIzNGRiOGFkMTIxOTI2ZmU4NDcxZDkiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzg5YWVkY2Q2YjgyMzRkYjhhZDEyMTkyNmZlODQ3MWQ5ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzg5YWVkY2Q2YjgyMzRkYjhhZDEyMTkyNmZlODQ3MWQ5IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS4xMTkyNjYsIDUuNjk3NDYzXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfOWU3NTgyNjJkZWI0NDE4Zjg5MWViMDFhMWVjNGEyOWMgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310bd4d10>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 33,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [5.697463,45.119266]\n",
"end_point = [5.695553,45.116843]\n",
"plot_route(start_point, end_point)"
]
},
2018-11-11 00:44:18 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should correctly handle routes with `access=no` if there is a `bicycle=yes` tag."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 34,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.799853/2.09679/OpenStreetMap&lonlats=2.09679,48.799853|2.086587,48.801669&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9hOTNjODc4MGQyNzU0ZGI2ODY4M2Q3MmExMzIxYTEwOCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYTkzYzg3ODBkMjc1NGRiNjg2ODNkNzJhMTMyMWExMDgiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2E5M2M4NzgwZDI3NTRkYjY4NjgzZDcyYTEzMjFhMTA4ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2E5M2M4NzgwZDI3NTRkYjY4NjgzZDcyYTEzMjFhMTA4IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC43OTk4NTMsIDIuMDk2NzldLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9hYzNhZDgwNzEzNzA0OWEyOWVkM2VhZjE1YzVmYmIwMSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUb
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b8b690>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 34,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.09679,48.799853]\n",
"end_point = [2.086587,48.801669]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.096786,48.799845,123.0],[2.096477,48.799909,123.25],[2.096269,48.799954,123.5],[2.090970,48.801055,119.5],[2.090480,48.801153,120.75],[2.087741,48.801729,123.5],[2.087658,48.801745,123.75],[2.087267,48.801710,125.25],[2.086588,48.801656,128.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should correctly handle routes with `access=no` if there is a `bicycle=permissive` tag."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 35,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/44.055657/0.248957/OpenStreetMap&lonlats=0.248957,44.055657|0.246581,44.050402&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8wNTJlYjUzOTdmMjU0ZTNjOGY4MDEwZDc0NzgwMDY4ZCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMDUyZWI1Mzk3ZjI1NGUzYzhmODAxMGQ3NDc4MDA2OGQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzA1MmViNTM5N2YyNTRlM2M4ZjgwMTBkNzQ3ODAwNjhkID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzA1MmViNTM5N2YyNTRlM2M4ZjgwMTBkNzQ3ODAwNjhkIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NC4wNTU2NTcsIDAuMjQ4OTU3XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfMWRiMzQ1OWJhNjNkNGU3MGI2OTczNzhkODUxZDQyODkgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310bf2310>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 35,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [0.248957,44.055657]\n",
"end_point = [0.246581,44.050402]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[0.248956,44.055649,64.25],[0.249102,44.055647,64.25],[0.249035,44.055565,64.5],[0.248979,44.055543,64.5],[0.248955,44.055500,64.5],[0.248940,44.055387,64.75],[0.248795,44.054997,65.0],[0.248557,44.054443,68.25],[0.248332,44.053926,69.25],[0.248099,44.053392,70.5],[0.247911,44.052873,70.75],[0.247793,44.052546,71.0],[0.247545,44.052175,70.75],[0.247447,44.051942,70.0],[0.247323,44.051673,69.25],[0.247262,44.051518,69.75],[0.247155,44.051376,69.5],[0.246979,44.051235,68.25],[0.246804,44.051076,66.75],[0.246729,44.051001,66.0],[0.246671,44.050934,65.5],[0.246645,44.050892,65.5],[0.246619,44.050842,65.5],[0.246599,44.050828,65.5],[0.246569,44.050817,65.5],[0.246486,44.050813,65.0],[0.246418,44.050812,64.75],[0.246398,44.050807,64.75],[0.246389,44.050797,64.75],[0.246400,44.050657,65.25],[0.246436,44.050578,65.5],[0.246486,44.050496,66.25],[0.246529,44.050433,66.5],[0.246542,44.050408,66.75],[0.246538,44.050378,66.75],[0.246574,44.050405,66.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should correctly handle routes with `access=no` if there is a `bicycle=designated` tag."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 36,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/49.304363/2.727216/OpenStreetMap&lonlats=2.727216,49.304363|2.717593,49.306231&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF83ZjY4OGZmOTY0NzY0MzFjYjc0YTYyOGNiZTZiY2FlYSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfN2Y2ODhmZjk2NDc2NDMxY2I3NGE2MjhjYmU2YmNhZWEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzdmNjg4ZmY5NjQ3NjQzMWNiNzRhNjI4Y2JlNmJjYWVhID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzdmNjg4ZmY5NjQ3NjQzMWNiNzRhNjI4Y2JlNmJjYWVhIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OS4zMDQzNjMsIDIuNzI3MjE2XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfYWM2YjNjZGM2Y2MyNDJhNmI4ZTVlY2RjZWUyZTM2N2IgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a8c910>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 36,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.727216,49.304363]\n",
"end_point = [2.717593,49.306231]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.727216,49.304362,45.25],[2.727236,49.304392,45.25],[2.727109,49.304364,45.25],[2.726556,49.304387,45.25],[2.725759,49.304438,45.0],[2.725569,49.304411,45.25],[2.725415,49.304356,45.5],[2.725338,49.304322,45.75],[2.725040,49.304191,46.75],[2.724873,49.304115,47.25],[2.724630,49.304041,47.75],[2.724029,49.303993,47.5],[2.723915,49.303983,47.25],[2.723549,49.303958,46.5],[2.723282,49.303917,46.25],[2.722785,49.303802,46.75],[2.722660,49.303792,46.75],[2.722414,49.303826,46.5],[2.722082,49.303896,46.25],[2.721837,49.303913,46.25],[2.721746,49.303916,46.25],[2.721368,49.303953,46.25],[2.720955,49.304088,45.5],[2.720768,49.304168,45.0],[2.720628,49.304280,45.25],[2.720518,49.304428,45.25],[2.720457,49.304528,45.25],[2.720418,49.304592,45.0],[2.720337,49.304671,45.0],[2.720172,49.304778,44.75],[2.719663,49.305089,44.0],[2.719608,49.305123,44.0],[2.719472,49.305168,44.0],[2.719311,49.305203,44.0],[2.719012,49.305269,44.0],[2.718838,49.305308,44.0],[2.718637,49.305416,43.75],[2.718339,49.305572,43.5],[2.718257,49.305614,43.75],[2.718066,49.305708,44.25],[2.717787,49.305764,45.0],[2.717635,49.305784,45.5],[2.717579,49.305808,45.75],[2.717544,49.305851,45.75],[2.717528,49.305912,45.5],[2.717549,49.306110,44.5],[2.717567,49.306209,44.0],[2.717599,49.306223,43.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should correctly handle routes with `access=no` if there is a `cycleway=share_busway` and a `bus=yes`.\n",
"\n",
"**Note**: It should work with both `cycleway:left`, `cycleway:right` and `cycleway` but I did not find much more examples here :/"
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 37,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.585481/7.735928/OpenStreetMap&lonlats=7.735928,48.585481|7.736381,48.585357&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9mZjI1ZDY2ZGY2NGY0MDhiYWE2ZDE3MTU1ZGM2OGE3NCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZmYyNWQ2NmRmNjRmNDA4YmFhNmQxNzE1NWRjNjhhNzQiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2ZmMjVkNjZkZjY0ZjQwOGJhYTZkMTcxNTVkYzY4YTc0ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2ZmMjVkNjZkZjY0ZjQwOGJhYTZkMTcxNTVkYzY4YTc0IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC41ODU0ODEsIDcuNzM1OTI4XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfZmIxODMyZDlkYmYwNDlhMjg1ZTgzYzJjOWM0ZTA4NjcgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310a8cb50>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 37,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [7.735928,48.585481]\n",
"end_point = [7.736381,48.585357]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[7.735927,48.585481,143.75],[7.736038,48.585515,144.25],[7.736048,48.585518,144.5],[7.736218,48.585537,145.0],[7.736271,48.585458,145.0],[7.736373,48.585355,145.25],[7.736374,48.585357,145.25]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
2018-11-07 09:42:04 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Southbound route close to Central Park should not use Central Park West as the cycleway is only the other way round. See https://github.com/nrenner/brouter-web/issues/124."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 38,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/40.801791/-73.960991/OpenStreetMap&lonlats=-73.960991,40.801791|-73.973672,40.779388&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8xMDQ0MWI1YWExMzM0N2YxOGViNDM4ZGU3ZmIzMjI1MCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMTA0NDFiNWFhMTMzNDdmMThlYjQzOGRlN2ZiMzIyNTAiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzEwNDQxYjVhYTEzMzQ3ZjE4ZWI0MzhkZTdmYjMyMjUwID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzEwNDQxYjVhYTEzMzQ3ZjE4ZWI0MzhkZTdmYjMyMjUwIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0MC44MDE3OTEsIC03My45NjA5OTFdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl82ZDVlZGE2ZDUzNWY0M2M3OTAxNWMyNWRjOGQ2NTBhNyA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZ
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310b5e5d0>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 38,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-73.960991,40.801791]\n",
"end_point = [-73.973672,40.779388]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-73.961009,40.801768,29.25],[-73.961057,40.801790,29.75],[-73.961009,40.801690,28.5],[-73.960998,40.801655,28.0],[-73.961025,40.801617,28.5],[-73.961092,40.801521,29.5],[-73.961350,40.801184,31.5],[-73.961381,40.801144,31.75],[-73.961780,40.800589,33.25],[-73.961839,40.800508,33.5],[-73.962235,40.799984,36.0],[-73.962309,40.799886,36.0],[-73.962684,40.799356,37.75],[-73.962792,40.799202,38.25],[-73.963205,40.798625,41.25],[-73.963275,40.798528,41.75],[-73.963670,40.797989,41.25],[-73.963736,40.797899,40.75],[-73.964190,40.797290,39.5],[-73.964219,40.797250,39.75],[-73.965464,40.795546,31.25],[-73.965544,40.795437,31.0],[-73.966020,40.794782,31.0],[-73.966504,40.794117,33.5],[-73.966932,40.793529,41.0],[-73.966943,40.793513,41.25],[-73.967338,40.792975,46.25],[-73.967449,40.792825,46.0],[-73.967872,40.792236,45.25],[-73.967934,40.792150,45.25],[-73.968309,40.791630,45.0],[-73.968384,40.791527,45.75],[-73.968786,40.790971,50.25],[-73.968844,40.790892,51.0],[-73.969245,40.790351,47.0],[-73.969311,40.790262,46.25],[-73.969691,40.789745,46.5],[-73.969769,40.789640,47.25],[-73.970150,40.789122,51.0],[-73.970224,40.789022,51.0],[-73.970614,40.788491,49.5],[-73.970689,40.788390,49.0],[-73.971098,40.787822,42.25],[-73.971141,40.787758,41.75],[-73.971549,40.787199,40.25],[-73.971602,40.787123,40.25],[-73.972025,40.786551,42.5],[-73.972093,40.786453,42.75],[-73.972530,40.785856,40.75],[-73.972591,40.785769,40.0],[-73.973006,40.785201,35.5],[-73.973056,40.785130,35.0],[-73.973473,40.784565,33.75],[-73.973514,40.784507,33.75],[-73.973936,40.783930,35.0],[-73.973985,40.783864,35.25],[-73.974398,40.783295,36.25],[-73.974466,40.783203,36.0],[-73.974527,40.783122,35.75],[-73.974903,40.782594,37.75],[-73.975402,40.781917,41.25],[-73.975897,40.781231,42.75],[-73.976270,40.780725,36.75],[-73.976335,40.780639,36.75],[-73.975251,40.780184,44.5],[-73.974738,40.779968,43.75],[-73.973571,40.779478,33.5],[-73.973647,40.779376,33.75]]}}]}\n",
2018-11-11 00:44:18 +01:00
"plot_route(start_point, end_point, human)"
2018-11-07 09:42:04 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Northbound route can follow the side of Central Park as there is a cycleway on the right hand side of the street here. See https://github.com/nrenner/brouter-web/issues/124."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 39,
2018-11-07 09:42:04 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/40.779388/-73.973672/OpenStreetMap&lonlats=-73.973672,40.779388|-73.960991,40.801791&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9lZTVhYTJjMWIxZTg0MTI0YTQwYjc3YzUzYWQwOWNlYSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZWU1YWEyYzFiMWU4NDEyNGE0MGI3N2M1M2FkMDljZWEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2VlNWFhMmMxYjFlODQxMjRhNDBiNzdjNTNhZDA5Y2VhID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2VlNWFhMmMxYjFlODQxMjRhNDBiNzdjNTNhZDA5Y2VhIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0MC43NzkzODgsIC03My45NzM2NzJdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl8wYzAxZjJjNzJjYWE0NmM4YmViNjg3MWIwYzI4NmMxYyA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZ
2018-11-07 09:42:04 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73109ffb90>"
2018-11-07 09:42:04 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 39,
2018-11-07 09:42:04 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-73.973672,40.779388]\n",
"end_point = [-73.960991,40.801791]\n",
"plot_route(start_point, end_point)"
]
},
2018-11-11 00:44:18 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should accept to take a `cycleway:left=share_busway` when the busway is `opposite_lane` even if the street is one way."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 40,
2018-11-11 00:44:18 +01:00
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.85844/2.34823/OpenStreetMap&lonlats=2.34823,48.85844|2.34629,48.85591&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9mYjY0ZDUyOTAxM2Q0NzY4YTdkN2MzMjEyMmI0ZjU1NiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZmI2NGQ1MjkwMTNkNDc2OGE3ZDdjMzIxMjJiNGY1NTYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2ZiNjRkNTI5MDEzZDQ3NjhhN2Q3YzMyMTIyYjRmNTU2ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2ZiNjRkNTI5MDEzZDQ3NjhhN2Q3YzMyMTIyYjRmNTU2IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44NTg0NCwgMi4zNDgyM10sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2RlOGQwNTFmY2MzZTQwMTc5ZTU5ZjlmNzQ3M2ZhZTUwID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZFRvK
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f731099ba50>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 40,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.34823, 48.85844]\n",
"end_point = [2.34629, 48.85591]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.348251,48.858447],[2.348211,48.858500],[2.348231,48.858539],[2.348082,48.858589],[2.347674,48.858726],[2.347566,48.858765],[2.347448,48.858801],[2.347205,48.858878],[2.346787,48.859012],[2.346630,48.859062],[2.346604,48.859071],[2.346457,48.859119],[2.346397,48.859078],[2.346343,48.859032],[2.346180,48.858862],[2.346036,48.858675],[2.346017,48.858649],[2.345868,48.858363],[2.345812,48.858253],[2.347020,48.857935],[2.347183,48.857893],[2.347107,48.857766],[2.346925,48.857462],[2.346921,48.857430],[2.346918,48.857402],[2.346916,48.857376],[2.346993,48.857275],[2.347120,48.857239],[2.347065,48.857146],[2.346520,48.856259],[2.346513,48.856247],[2.346479,48.856189],[2.346435,48.856119],[2.346303,48.855905]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It should allow contraflow if the `cycleway` is `share_busway` and the `busway` it contraflow."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 41,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/48.823091/2.326623/OpenStreetMap&lonlats=2.326623,48.823091|2.328855,48.824801&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF80Mzc4MmRhYjI1Y2M0MmY5YmZiODYyNjcyNDQ3YmY2NSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfNDM3ODJkYWIyNWNjNDJmOWJmYjg2MjY3MjQ0N2JmNjUiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzQzNzgyZGFiMjVjYzQyZjliZmI4NjI2NzI0NDdiZjY1ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzQzNzgyZGFiMjVjYzQyZjliZmI4NjI2NzI0NDdiZjY1IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MjMwOTEsIDIuMzI2NjIzXSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfYmE1MDFhMTU0ZTM3NDkzMWFjNThiYzIxZWEyYmUwMzMgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310985dd0>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 41,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.326623,48.823091]\n",
"end_point = [2.328855,48.824801]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.326624,48.823093,75.0],[2.326652,48.823088,75.0],[2.326657,48.823107,75.0],[2.326822,48.823267,74.0],[2.327165,48.823605,73.25],[2.327202,48.823638,73.0],[2.327509,48.823933,73.0],[2.327666,48.824040,73.25],[2.327791,48.824117,73.25],[2.327939,48.824215,73.0],[2.328004,48.824259,73.0],[2.328306,48.824481,72.25],[2.328821,48.824822,73.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Correctly consider there is a cycleway when there is a `cycleway:left|right:oneway` tag."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 42,
2018-11-11 00:44:18 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/51.160763/13.561168/OpenStreetMap&lonlats=13.561168,51.160763|13.562155,51.1623&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9kZDg3NTM1YjY3OTA0ZmVjYTU2MDllZTBjNTY0ZWZjMyB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZGQ4NzUzNWI2NzkwNGZlY2E1NjA5ZWUwYzU2NGVmYzMiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2RkODc1MzViNjc5MDRmZWNhNTYwOWVlMGM1NjRlZmMzID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2RkODc1MzViNjc5MDRmZWNhNTYwOWVlMGM1NjRlZmMzIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs1MS4xNjA3NjMsIDEzLjU2MTE2OF0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2UwZGZhNzkxNGIwYjQ0NGNiNDViZDRjZGE4MDc5NjI1ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZ
2018-11-11 00:44:18 +01:00
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73109d63d0>"
2018-11-11 00:44:18 +01:00
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 42,
2018-11-11 00:44:18 +01:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [13.561168,51.160763]\n",
"end_point = [13.562155,51.1623]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[13.561211,51.160769,120.0],[13.561187,51.160830,120.25],[13.561171,51.160872,120.25],[13.560886,51.161587,120.75],[13.560878,51.161669,121.0],[13.560902,51.161732,121.0],[13.561000,51.161839,121.0],[13.561106,51.161900,121.25],[13.561397,51.161964,121.5],[13.561504,51.162002,121.75],[13.561578,51.162037,121.75],[13.561626,51.162069,121.75],[13.561745,51.162022,122.0],[13.561844,51.162024,122.0],[13.561926,51.162030,122.25],[13.562003,51.162048,122.25],[13.562075,51.162097,122.25],[13.562114,51.162147,122.5],[13.562110,51.162299,122.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Should allow use of motorways if bike is explicitly allowed through OSM tagging (but still with high penalty)."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/41.97302/-73.917906/OpenStreetMap&lonlats=-73.917906,41.97302|-73.970862,41.980039&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8zZjkxYmMwODI2OWI0MTUyOGIzZWUwYjViYTJiZGNkZiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfM2Y5MWJjMDgyNjliNDE1MjhiM2VlMGI1YmEyYmRjZGYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzNmOTFiYzA4MjY5YjQxNTI4YjNlZTBiNWJhMmJkY2RmID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzNmOTFiYzA4MjY5YjQxNTI4YjNlZTBiNWJhMmJkY2RmIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0MS45NzMwMiwgLTczLjkxNzkwNl0sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNywKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzdkNTQ4ZjRmZmI4YjQxNWE5ZDliOTMxNWI0ZDA0NjNkID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmciLAogICAgICAgICAgICAgICAgeyJhdHRyaWJ1dGlvbiI6ICJEYXRhIGJ5IFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLm9yZ1wiXHUwMDNlT3BlblN0cmVldE1hcFx1MDAzYy9hXHUwMDNlLCB1bmRlciBcdTAwM2NhIGhyZWY9XCJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiXHUwMDNlT0RiTFx1MDAzYy9hXHUwMDNlLiIsICJkZXRlY3RSZXRpbmEiOiBmYWxzZSwgIm1heE5hdGl2ZVpvb20iOiAxOCwgIm1heFpvb20iOiAxOCwgIm1pblpvb20iOiAwLCAibm9XcmFwIjogZmFsc2UsICJvcGFjaXR5IjogMSwgInN1YmRvbWFpbnMiOiAiYWJjIiwgInRtcyI6IGZhbHNlfQogICAgICAgICAgICApLmFkZ
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f7310984b90>"
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-73.917906,41.97302]\n",
"end_point = [-73.970862,41.980039]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-73.917907,41.972859,63.0],[-73.918708,41.972862,64.5],[-73.919823,41.972858,57.75],[-73.920712,41.972840,58.75],[-73.921617,41.972869,61.0],[-73.922205,41.972862,61.25],[-73.923923,41.972870,55.0],[-73.926587,41.972862,58.0],[-73.929265,41.972869,63.75],[-73.930325,41.972905,60.0],[-73.930748,41.972952,56.75],[-73.931904,41.973141,53.5],[-73.932178,41.973216,52.25],[-73.932911,41.973381,48.0],[-73.933316,41.973513,45.0],[-73.954903,41.980627,45.0],[-73.955633,41.980840,45.0],[-73.956320,41.981006,45.0],[-73.956955,41.981120,45.0],[-73.957520,41.981208,45.0],[-73.958182,41.981261,45.0],[-73.958766,41.981286,45.0],[-73.959340,41.981284,45.0],[-73.960089,41.981251,35.0],[-73.960776,41.981168,36.75],[-73.961284,41.981119,36.25],[-73.961669,41.981071,35.5],[-73.962034,41.981008,36.5],[-73.962339,41.980945,37.5],[-73.962644,41.980864,38.0],[-73.963248,41.980683,38.0],[-73.963388,41.980629,38.0],[-73.963925,41.980418,37.5],[-73.965166,41.979919,38.75],[-73.966534,41.979368,45.0],[-73.967506,41.979086,48.75],[-73.967762,41.979044,48.75],[-73.967954,41.979026,49.0],[-73.968226,41.979032,49.0],[-73.968578,41.979056,49.25],[-73.969261,41.979122,49.5],[-73.969901,41.979169,47.25],[-73.970341,41.979223,47.75],[-73.970869,41.979271,49.25],[-73.970876,41.979743,50.0],[-73.970877,41.980038,51.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Correct penalty for `highway=footway` versus `highway=pedestrian` (see https://github.com/abrensch/brouter/issues/151):"
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 44,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T13:53:38.134273Z",
"start_time": "2019-05-06T13:53:37.827676Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2019-09-23 18:42:43 +02:00
"http://127.0.0.1:8000/#map=17/48.81857/2.319454/OpenStreetMap&lonlats=2.319454,48.81857|2.319835,48.818984&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
2019-09-23 18:42:43 +02:00
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF8yMmNjNDZkNmM1MzI0YjZiYjRlNWJjMTRmOTdlMzlmOSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMjJjYzQ2ZDZjNTMyNGI2YmI0ZTViYzE0Zjk3ZTM5ZjkiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwXzIyY2M0NmQ2YzUzMjRiNmJiNGU1YmMxNGY5N2UzOWY5ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwXzIyY2M0NmQ2YzUzMjRiNmJiNGU1YmMxNGY5N2UzOWY5IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0OC44MTg1NywgMi4zMTk0NTRdLAogICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcsCiAgICAgICAgICAgICAgICAgICAgem9vbTogMTcsCiAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgcHJlZmVyQ2FudmFzOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIAoKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9iMTQ2ZjE3NTRiYzU0Yzk1ODUyZWNhNGY5OThiZmQzMiA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgImh0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nIiwKICAgICAgICAgICAgICAgIHsiYXR0cmlidXRpb24iOiAiRGF0YSBieSBcdTAwMjZjb3B5OyBcdTAwM2NhIGhyZWY9XCJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmdcIlx1MDAzZU9wZW5TdHJlZXRNYXBcdTAwM2MvYVx1MDAzZSwgdW5kZXIgXHUwMDNjYSBocmVmPVwiaHR0cDovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIlx1MDAzZU9EYkxcdTAwM2MvYVx1MDAzZS4iLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUb
],
"text/plain": [
2019-09-23 18:42:43 +02:00
"<folium.folium.Map at 0x7f73109fba50>"
]
},
2019-09-23 18:42:43 +02:00
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [2.319454, 48.81857]\n",
"end_point = [2.319835, 48.818984]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[2.319461,48.818593,77.25],[2.319521,48.818585,77.5],[2.319578,48.8186,77.5],[2.319825,48.818983,78.75],[2.319832,48.81898,78.75]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Should take into account turn restrictions not avoiding a traffic signal with a forbidden move."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 46,
"metadata": {},
"outputs": [
{
2019-09-23 18:42:43 +02:00
"ename": "JSONDecodeError",
"evalue": "Expecting value: line 1 column 1 (char 0)",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
2019-09-23 18:42:43 +02:00
"\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-46-c82a590f15e2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mend_point\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m8.478854\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.914373\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mhuman\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"FeatureCollection\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"features\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"Feature\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"properties\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"geometry\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"LineString\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"coordinates\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.480228\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.915806\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.480081\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.915557\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.479936\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.915427\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.479830\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.915332\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.479578\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.915137\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.479401\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.914982\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.479094\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.914618\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.478865\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.914377\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.478858\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.914370\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mplot_route\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart_point\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend_point\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhuman\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-9-35185084e75d>\u001b[0m in \u001b[0;36mplot_route\u001b[0;34m(start_point, end_point, human_geojson)\u001b[0m\n\u001b[1;32m 31\u001b[0m )\n\u001b[1;32m 32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m \u001b[0mroute_ref\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfolium\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGeoJson\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr_ref\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjson\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 34\u001b[0m route_ref.style_function = lambda feature: {\n\u001b[1;32m 35\u001b[0m \u001b[0;34m'color'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'#666666'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/share/virtualenvs/osm/lib/python3.7/site-packages/requests/models.py\u001b[0m in \u001b[0;36mjson\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 895\u001b[0m \u001b[0;31m# used.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 896\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 897\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mcomplexjson\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloads\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 898\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 899\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/__init__.py\u001b[0m in \u001b[0;36mloads\u001b[0;34m(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[1;32m 346\u001b[0m \u001b[0mparse_int\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mparse_float\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 347\u001b[0m parse_constant is None and object_pairs_hook is None and not kw):\n\u001b[0;32m--> 348\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_default_decoder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 349\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 350\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mJSONDecoder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/decoder.py\u001b[0m in \u001b[0;36mdecode\u001b[0;34m(self, s, _w)\u001b[0m\n\u001b[1;32m 335\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 336\u001b[0m \"\"\"\n\u001b[0;32m--> 337\u001b[0;31m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_decode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_w\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 338\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_w\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 339\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/decoder.py\u001b[0m in \u001b[0;36mraw_decode\u001b[0;34m(self, s, idx)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscan_once\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 355\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mJSONDecodeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Expecting value\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 356\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mJSONDecodeError\u001b[0m: Expecting value: line 1 column 1 (char 0)"
]
}
],
"source": [
"start_point = [8.480222,49.915808]\n",
"end_point = [8.478854,49.914373]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[8.480228,49.915806,89.5],[8.480081,49.915557,89.5],[8.479936,49.915427,89.25],[8.479830,49.915332,89.0],[8.479578,49.915137,88.5],[8.479401,49.914982,88.25],[8.479094,49.914618,88.25],[8.478865,49.914377,88.25],[8.478858,49.914370,88.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Should not prefer high traffic ways to avoid traffic signals."
]
},
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 47,
"metadata": {},
"outputs": [
{
2019-09-23 18:42:43 +02:00
"ename": "JSONDecodeError",
"evalue": "Expecting value: line 1 column 1 (char 0)",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
2019-09-23 18:42:43 +02:00
"\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-47-c4c80a8f532b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mend_point\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m8.419687\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.987601\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mhuman\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"FeatureCollection\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"features\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"Feature\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"properties\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"geometry\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m\"type\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\"LineString\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"coordinates\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412972\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.982679\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412968\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.982777\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.413079\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.982786\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412949\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.984709\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412977\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.984926\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m90.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412942\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.985730\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412922\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.986255\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.412985\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.986299\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m88.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.416399\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.986817\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.416960\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.986903\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.416941\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.986948\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m89.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.417641\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.987068\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m90.5\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.418117\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.987169\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m91.0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.418581\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.987280\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m91.25\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m8.419138\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m49.987431\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m90.75\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[
"\u001b[0;32m<ipython-input-9-35185084e75d>\u001b[0m in \u001b[0;36mplot_route\u001b[0;34m(start_point, end_point, human_geojson)\u001b[0m\n\u001b[1;32m 31\u001b[0m )\n\u001b[1;32m 32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m \u001b[0mroute_ref\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfolium\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGeoJson\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr_ref\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjson\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 34\u001b[0m route_ref.style_function = lambda feature: {\n\u001b[1;32m 35\u001b[0m \u001b[0;34m'color'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'#666666'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/share/virtualenvs/osm/lib/python3.7/site-packages/requests/models.py\u001b[0m in \u001b[0;36mjson\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 895\u001b[0m \u001b[0;31m# used.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 896\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 897\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mcomplexjson\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloads\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 898\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 899\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/__init__.py\u001b[0m in \u001b[0;36mloads\u001b[0;34m(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[1;32m 346\u001b[0m \u001b[0mparse_int\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mparse_float\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 347\u001b[0m parse_constant is None and object_pairs_hook is None and not kw):\n\u001b[0;32m--> 348\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_default_decoder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 349\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 350\u001b[0m \u001b[0mcls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mJSONDecoder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/decoder.py\u001b[0m in \u001b[0;36mdecode\u001b[0;34m(self, s, _w)\u001b[0m\n\u001b[1;32m 335\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 336\u001b[0m \"\"\"\n\u001b[0;32m--> 337\u001b[0;31m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraw_decode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_w\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 338\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_w\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 339\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/usr/lib64/python3.7/json/decoder.py\u001b[0m in \u001b[0;36mraw_decode\u001b[0;34m(self, s, idx)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscan_once\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 355\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mJSONDecodeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Expecting value\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 356\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mJSONDecodeError\u001b[0m: Expecting value: line 1 column 1 (char 0)"
]
}
],
"source": [
"start_point = [8.413012,49.98268]\n",
"end_point = [8.419687,49.987601]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[8.412972,49.982679,89.75],[8.412968,49.982777,89.75],[8.413079,49.982786,89.75],[8.412949,49.984709,89.5],[8.412977,49.984926,90.0],[8.412942,49.985730,89.0],[8.412922,49.986255,88.75],[8.412985,49.986299,88.75],[8.416399,49.986817,89.25],[8.416960,49.986903,89.5],[8.416941,49.986948,89.75],[8.417641,49.987068,90.5],[8.418117,49.987169,91.0],[8.418581,49.987280,91.25],[8.419138,49.987431,90.75],[8.419686,49.987600,89.5]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
},
2019-09-23 18:42:43 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Should avoid stairs when there is a ramp nearby"
]
},
2018-11-03 19:14:35 +01:00
{
"cell_type": "code",
2019-09-23 18:42:43 +02:00
"execution_count": 48,
2018-11-03 19:14:35 +01:00
"metadata": {},
2019-09-23 18:42:43 +02:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"http://127.0.0.1:8000/#map=17/45.679099/-0.92595/OpenStreetMap&lonlats=-0.92595,45.679099|-0.927358,45.6804&profile=trekking-custom\n"
]
},
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjUuMS9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9kZGIyY2Q5YTRhYTQ0NDNmOGE3MTI5NjI5YjRmNTU2NiB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZGRiMmNkOWE0YWE0NDQzZjhhNzEyOTYyOWI0ZjU1NjYiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2RkYjJjZDlhNGFhNDQ0M2Y4YTcxMjk2MjliNGY1NTY2ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2RkYjJjZDlhNGFhNDQ0M2Y4YTcxMjk2MjliNGY1NTY2IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFs0NS42NzkwOTksIC0wLjkyNTk1XSwKICAgICAgICAgICAgICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgICAgICAgICAgICAgIHpvb206IDE3LAogICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHByZWZlckNhbnZhczogZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CgogICAgICAgICAgICAKCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfY2JlM2ZhNjRhNzAyNDBmOTk5MTY0ZDI1MTY3NDI3ZDYgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICJodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIkRhdGEgYnkgXHUwMDI2Y29weTsgXHUwMDNjYSBocmVmPVwiaHR0cDovL29wZW5zdHJlZXRtYXAub3JnXCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UsIHVuZGVyIFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPRGJMXHUwMDNjL2FcdTAwM2UuIiwgImRldGVjdFJldGluYSI6IGZhbHNlLCAibWF4TmF0aXZlWm9vbSI6IDE4LCAibWF4Wm9vbSI6IDE4LCAibWluWm9vbSI6IDAsICJub1dyYXAiOiBmYWxzZSwgIm9wYWNpdHkiOiAxLCAic3ViZG9tYWlucyI6ICJhYmMiLCAidG1zIjogZmFsc2V9CiAgICAgICAgICAgICkuYWRkV
],
"text/plain": [
"<folium.folium.Map at 0x7f73109fbbd0>"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"start_point = [-0.92595,45.679099]\n",
"end_point = [-0.927358,45.6804]\n",
"human = {\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-0.925946,45.679107,4.0],[-0.926067,45.679137,4.0],[-0.926142,45.679156,4.0],[-0.926587,45.679268,4.0],[-0.926729,45.679297,4.0],[-0.926758,45.679303,4.0],[-0.926846,45.679313,4.0],[-0.926877,45.679312,4.0],[-0.926915,45.679307,4.0],[-0.926949,45.679299,4.0],[-0.926998,45.679280,4.0],[-0.927028,45.679265,4.0],[-0.927055,45.679247,4.0],[-0.927177,45.679147,4.0],[-0.927211,45.679167,4.0],[-0.927222,45.679179,4.0],[-0.927228,45.679196,4.0],[-0.927223,45.679233,4.0],[-0.927216,45.679250,4.0],[-0.927206,45.679262,4.0],[-0.927185,45.679279,4.0],[-0.927152,45.679302,4.0],[-0.927068,45.679337,4.0],[-0.926993,45.679362,4.0],[-0.926982,45.679368,4.0],[-0.926976,45.679373,4.0],[-0.926977,45.679381,4.25],[-0.926980,45.679387,4.25],[-0.926991,45.679391,4.25],[-0.927004,45.679392,4.25],[-0.927022,45.679391,4.25],[-0.927046,45.679386,4.25],[-0.927417,45.679291,4.0],[-0.927426,45.679291,4.0],[-0.927436,45.679292,4.0],[-0.927441,45.679296,4.0],[-0.927445,45.679302,4.0],[-0.927447,45.679309,4.0],[-0.927444,45.679316,4.0],[-0.927434,45.679321,4.0],[-0.927411,45.679329,4.0],[-0.926902,45.679468,4.25],[-0.926906,45.679480,4.25],[-0.927038,45.679835,4.75],[-0.927044,45.679852,4.75],[-0.926964,45.679866,4.75],[-0.926749,45.679912,4.75],[-0.926730,45.679925,4.75],[-0.926728,45.679946,4.75],[-0.926748,45.679981,4.75],[-0.926778,45.679989,4.75],[-0.926828,45.679974,4.75],[-0.927027,45.679940,4.75],[-0.927044,45.679946,4.75],[-0.927061,45.679960,4.75],[-0.927068,45.679981,4.75],[-0.927058,45.680004,5.0],[-0.927027,45.680019,5.0],[-0.926880,45.680053,5.0],[-0.926853,45.680062,5.0],[-0.926839,45.680071,5.0],[-0.926831,45.680092,5.0],[-0.926843,45.680112,5.0],[-0.926867,45.680129,5.0],[-0.926907,45.680139,5.0],[-0.927026,45.680155,5.0],[-0.927151,45.680165,5.0],[-0.927256,45.680175,5.0],[-0.927339,45.680403,5.0]]}}]}\n",
"plot_route(start_point, end_point, human)"
]
2018-11-03 19:14:35 +01:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
2018-11-03 19:14:35 +01:00
"language": "python",
"name": "python3"
2018-11-03 19:14:35 +01:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
2018-11-03 19:14:35 +01:00
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2019-09-23 18:42:43 +02:00
"version": "3.7.4"
2018-11-03 19:14:35 +01:00
}
},
"nbformat": 4,
"nbformat_minor": 2
}