{ "cells": [ { "cell_type": "markdown", "id": "fa4563c984470740", "metadata": {}, "source": [ "# Isochrones\n", "\n", "This notebook builds isochrones on an intermodal `UrbanGraph` from IduEdu (walk + public transport):\n", "\n", "- `get_graph_isochrones` with `geometry_type=\"radius\"` and `\"ways\"` for one origin;\n", "- `get_stepped_graph_isochrones` with bands of width `step` for `\"radius\"`, `\"ways\"` and `\"separate\"`.\n", "\n", "The method is described on the [isochrones page](../isochrones.rst). The interactive maps show a light copy of every\n", "result (`for_map`: outlines simplified by 2 m), which keeps the notebook small.\n", "\n", "The last section, *Your own area*, shows what to replace to get the same pictures for another territory." ] }, { "cell_type": "code", "execution_count": 1, "id": "9e7d002c63864de6", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:07:42.447914Z", "start_time": "2026-07-10T10:07:42.444986Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:18.878933Z", "iopub.status.busy": "2026-11-06T16:15:18.878933Z", "iopub.status.idle": "2026-11-06T16:15:18.882451Z", "shell.execute_reply": "2026-11-06T16:15:18.882451Z" } }, "outputs": [], "source": [ "# Install required packages (uncomment if needed)\n", "# !pip install objectnat iduedu" ] }, { "cell_type": "code", "execution_count": 2, "id": "ebe2025fab286b4e", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:07:50.570317Z", "start_time": "2026-07-10T10:07:42.622718Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:18.883963Z", "iopub.status.busy": "2026-11-06T16:15:18.883963Z", "iopub.status.idle": "2026-11-06T16:15:21.480888Z", "shell.execute_reply": "2026-11-06T16:15:21.480888Z" } }, "outputs": [], "source": [ "import geopandas as gpd\n", "import iduedu\n", "from iduedu import get_4326_boundary, get_intermodal_graph\n", "from shapely import Point\n", "\n", "from objectnat import get_graph_isochrones, get_stepped_graph_isochrones" ] }, { "cell_type": "code", "execution_count": 3, "id": "0ab5bbe7", "metadata": { "execution": { "iopub.execute_input": "2026-11-06T16:15:21.482995Z", "iopub.status.busy": "2026-11-06T16:15:21.482995Z", "iopub.status.idle": "2026-11-06T16:15:21.644937Z", "shell.execute_reply": "2026-11-06T16:15:21.644937Z" } }, "outputs": [], "source": [ "import folium\n", "\n", "\n", "def for_map(gdf, tolerance=2.0):\n", " \"\"\"A light copy for a web map: outlines simplified by `tolerance` metres, coordinates rounded to about 10 cm.\"\"\"\n", " local = gdf.to_crs(gdf.estimate_utm_crs())\n", " local[\"geometry\"] = local.simplify(tolerance)\n", " light = local.to_crs(4326)\n", " light[\"geometry\"] = light.geometry.set_precision(1e-6)\n", " return light[~light.is_empty]\n", "\n", "def grey_tiles():\n", " \"\"\"Light grey base map (Esri World Light Gray); its tiles end at zoom 16 and are stretched beyond it.\"\"\"\n", " return folium.TileLayer(\"Esri.WorldGrayCanvas\", max_zoom=19, max_native_zoom=16)" ] }, { "cell_type": "markdown", "id": "494425a561aa50ec", "metadata": {}, "source": [ "## 1. Intermodal graph\n", "\n", "The graph covers the district and is clipped to its boundary. Edge weights are `time_min` (minutes) and\n", "`length_meter` (metres)." ] }, { "cell_type": "code", "execution_count": 4, "id": "df20dec8ac67c8da", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:07:54.215395Z", "start_time": "2026-07-10T10:07:50.572833Z" }, "collapsed": false, "execution": { "iopub.execute_input": "2026-11-06T16:15:21.647417Z", "iopub.status.busy": "2026-11-06T16:15:21.647417Z", "iopub.status.idle": "2026-11-06T16:15:27.547355Z", "shell.execute_reply": "2026-11-06T16:15:27.547355Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d20e99012c9048329fe1744c56f5f4f3", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Parsing ground PT routes: 0%| | 0/57 [00:00
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isochrones_radius = get_graph_isochrones(\n", " G_intermodal,\n", " geometry_type='radius',\n", " gdf_origins=point,\n", " weight_type=\"time_min\",\n", " weight_value_cutoff=10,\n", ")\n", "\n", "# Visualize\n", "for_map(isochrones_radius).explore(tiles=grey_tiles())" ] }, { "cell_type": "markdown", "id": "1e9a3026b7537291", "metadata": {}, "source": [ "## 4. Ways isochrone\n", "\n", "Pedestrian edges reachable within 10 minutes, buffered by `road_buffer_size` (5 m by default)." ] }, { "cell_type": "code", "execution_count": 7, "id": "b4bd257c0bafea8a", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:08:03.633384Z", "start_time": "2026-07-10T10:08:02.727624Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:33.282448Z", "iopub.status.busy": "2026-11-06T16:15:33.281431Z", "iopub.status.idle": "2026-11-06T16:15:33.883577Z", "shell.execute_reply": "2026-11-06T16:15:33.883577Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isochrones_ways = get_graph_isochrones(\n", " G_intermodal,\n", " geometry_type='ways',\n", " gdf_origins=point,\n", " weight_type=\"time_min\",\n", " weight_value_cutoff=10,\n", ")\n", "\n", "# Visualize\n", "for_map(isochrones_ways).explore(tiles=grey_tiles())" ] }, { "cell_type": "markdown", "id": "38499d16fdc1991e", "metadata": {}, "source": [ "## 5. Comparison\n", "\n", "The radius isochrone (blue) also covers places between streets; the ways isochrone (red) follows the streets." ] }, { "cell_type": "code", "execution_count": 8, "id": "3565f5290601d78b", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:08:09.337085Z", "start_time": "2026-07-10T10:08:09.305578Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:33.885799Z", "iopub.status.busy": "2026-11-06T16:15:33.885799Z", "iopub.status.idle": "2026-11-06T16:15:34.054726Z", "shell.execute_reply": "2026-11-06T16:15:34.054726Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = for_map(isochrones_radius).explore(tiles=grey_tiles(), color='blue', name='Radius')\n", "for_map(isochrones_ways).explore(m=m, color='red', name='Ways')" ] }, { "cell_type": "markdown", "id": "739b0d17e9be6e02", "metadata": {}, "source": [ "## 6. Stepped isochrones, radius\n", "\n", "Bands of 3 minutes up to 15 minutes; `dist` is the upper bound of the band." ] }, { "cell_type": "code", "execution_count": 9, "id": "8e0792ac42ed50d4", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:08:10.997985Z", "start_time": "2026-07-10T10:08:10.512027Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:34.056741Z", "iopub.status.busy": "2026-11-06T16:15:34.056741Z", "iopub.status.idle": "2026-11-06T16:15:34.661202Z", "shell.execute_reply": "2026-11-06T16:15:34.661202Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stepped_radius = get_stepped_graph_isochrones(\n", " G_intermodal,\n", " geometry_type='radius',\n", " gdf_origins=point,\n", " weight_type=\"time_min\",\n", " weight_value_cutoff=15,\n", " step=3,\n", ")\n", "\n", "for_map(stepped_radius).explore(tiles=grey_tiles(), column='dist')" ] }, { "cell_type": "markdown", "id": "5320bc04bdc43135", "metadata": {}, "source": [ "## 7. Stepped isochrones, ways\n", "\n", "Voronoi cells of the reachable nodes clipped to the buffered streets, in bands of 3 minutes." ] }, { "cell_type": "code", "execution_count": 10, "id": "adb0b77046b2301e", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:08:13.336989Z", "start_time": "2026-07-10T10:08:12.013913Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:34.662490Z", "iopub.status.busy": "2026-11-06T16:15:34.662490Z", "iopub.status.idle": "2026-11-06T16:15:35.938644Z", "shell.execute_reply": "2026-11-06T16:15:35.938644Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stepped_ways = get_stepped_graph_isochrones(\n", " G_intermodal,\n", " geometry_type='ways',\n", " gdf_origins=point,\n", " weight_type=\"time_min\",\n", " weight_value_cutoff=15,\n", " step=3,\n", ")\n", "for_map(stepped_ways).explore(tiles=grey_tiles(), column='dist')" ] }, { "cell_type": "markdown", "id": "350e096ecc82ec2f", "metadata": {}, "source": [ "## 8. Stepped isochrones, separate\n", "\n", "Independent buffers per band of 2 minutes up to 10 minutes." ] }, { "cell_type": "code", "execution_count": 11, "id": "ae3cd6bd7384375e", "metadata": { "ExecuteTime": { "end_time": "2026-07-10T10:08:13.637682Z", "start_time": "2026-07-10T10:08:13.348534Z" }, "execution": { "iopub.execute_input": "2026-11-06T16:15:35.941024Z", "iopub.status.busy": "2026-11-06T16:15:35.939997Z", "iopub.status.idle": "2026-11-06T16:15:36.309675Z", "shell.execute_reply": "2026-11-06T16:15:36.309675Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stepped_separate = get_stepped_graph_isochrones(\n", " G_intermodal,\n", " geometry_type='separate',\n", " gdf_origins=point,\n", " weight_type=\"time_min\",\n", " weight_value_cutoff=10,\n", " step=2,\n", ")\n", "\n", "for_map(stepped_separate).explore(tiles=grey_tiles(), column='dist')" ] }, { "cell_type": "markdown", "id": "5881fcd1fe589d48", "metadata": {}, "source": [ "### Parameters used\n", "\n", "- `geometry_type`: `\"radius\"`, `\"ways\"` or `\"separate\"` (stepped isochrones also accept `None`, Voronoi cells);\n", "- `weight_type`: `\"time_min\"` (minutes) or `\"length_meter\"` (metres);\n", "- `weight_value_cutoff`: the budget, in the units of `weight_type`;\n", "- `step`: band width for stepped isochrones;\n", "- `buffer_factor` (`\"separate\"`) and `road_buffer_size` (`\"ways\"`, metres)." ] }, { "cell_type": "markdown", "id": "7fff4187", "metadata": {}, "source": [ "## 9. Your own area\n", "\n", "The territory is an OSM relation (the `relation` of a district or a city on openstreetmap.org); `REGION` names\n", "the Geofabrik extract to cut it from (`iduedu.find_geofabrik_region` finds it for a polygon; without it IduEdu\n", "asks Overpass once to choose the extract). The result is a GeoDataFrame: draw it with matplotlib (here over the\n", "streets of the graph, with the territory boundary), explore it on a web map or save it for GIS with `to_file`." ] }, { "cell_type": "code", "execution_count": 12, "id": "ca9c4256", "metadata": { "execution": { "iopub.execute_input": "2026-11-06T16:15:36.311723Z", "iopub.status.busy": "2026-11-06T16:15:36.311723Z", "iopub.status.idle": "2026-11-06T16:15:45.389631Z", "shell.execute_reply": "2026-11-06T16:15:45.389631Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5f3297b02c4b4953a76eef1ff3438cee", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Parsing ground PT routes: 0%| | 0/57 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "OSM_ID, REGION = 1114252, \"northwestern-fed-district\" # your territory\n", "my_origins = gpd.GeoDataFrame(geometry=[Point(30.2706, 59.9355), Point(30.2959, 59.9441)], crs=4326) # your points\n", "\n", "with iduedu.use_pbf(osm_id=OSM_ID, region=REGION): # downloaded once, then cached\n", " my_boundary = get_4326_boundary(osm_id=OSM_ID)\n", " my_graph = get_intermodal_graph(territory=my_boundary, clip_by_territory=True)\n", "my_bands = get_stepped_graph_isochrones(\n", " my_graph, gdf_origins=my_origins, weight_type=\"time_min\", weight_value_cutoff=15, step=3,\n", " geometry_type=\"separate\",\n", ")\n", "\n", "local = my_bands.to_crs(my_graph.nodes_gdf.crs)\n", "streets = my_graph.edges_gdf[my_graph.edges_gdf[\"type\"] == \"walk\"] # the street network as the background\n", "ax = streets.plot(color=\"#c2c2c2\", linewidth=0.3, figsize=(8, 7))\n", "local.plot(ax=ax, column=\"dist\", cmap=\"YlGnBu_r\", alpha=0.85, legend=True, legend_kwds={\"label\": \"travel time, min\"})\n", "gpd.GeoSeries([my_boundary], crs=4326).to_crs(local.crs).boundary.plot(ax=ax, color=\"#3d3d3d\", linewidth=1)\n", "my_origins.to_crs(local.crs).plot(ax=ax, color=\"#d7301f\", markersize=30, edgecolor=\"white\", zorder=5)\n", "ax.set_axis_off()\n", "plt.show()\n", "# my_bands.to_file(\"my_isochrones.gpkg\") # for GIS" ] }, { "cell_type": "code", "execution_count": 13, "id": "3ea94e53", "metadata": { "execution": { "iopub.execute_input": "2026-11-06T16:15:45.391755Z", "iopub.status.busy": "2026-11-06T16:15:45.391755Z", "iopub.status.idle": "2026-11-06T16:15:45.559170Z", "shell.execute_reply": "2026-11-06T16:15:45.559170Z" } }, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "for_map(my_bands).explore(column=\"dist\", cmap=\"YlGnBu_r\", tiles=grey_tiles())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.13" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "04a0e02aa6154164806eb177dbccf886": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "25108dcd06fe49e88b74f8ffc4b19d39": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_ba7fcda30f6f4e59b7fb7af703a00ee8", "placeholder": "​", "style": "IPY_MODEL_b794782ae5314216a4fedca935c53872", "tabbable": null, "tooltip": null, "value": "Parsing ground PT routes: 100%" } }, "2f6adcf8d7ab43a38d4a96d9dd46ca17": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "311c141020e141c1a57dcf184617a5fc": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "41a80cabf8784afdae1380cad9260398": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4cbc4cc7d3cf418aa223c651d7db7d28": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_a503eeda74374040b416acce3e1af6ac", "max": 57.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_984b24c3b3704d87a8091ed0b0f39e8e", "tabbable": null, "tooltip": null, "value": 57.0 } }, "58f352a07fad4a7090decd293391d10b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "5c1a5abfe8ac42c096d6c62e151ec35d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_9111ee2cab314b6b8f7deee817039dc2", "placeholder": "​", "style": "IPY_MODEL_9c8c4069429a4df1aa9552d3a2a72045", "tabbable": null, "tooltip": null, "value": " 57/57 [00:02<00:00, 25.70it/s]" } }, "5f3297b02c4b4953a76eef1ff3438cee": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_25108dcd06fe49e88b74f8ffc4b19d39", "IPY_MODEL_4cbc4cc7d3cf418aa223c651d7db7d28", "IPY_MODEL_7a401778eb4b4085aa537fc9152323c3" ], "layout": "IPY_MODEL_f1792452d6a84e1f9b4dd34e8cfdeaf6", "tabbable": null, "tooltip": null } }, "6307e526be7244c1bf2972e7dd8ffb34": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "6936d8eecb2b449aaa4bc8400e2345e8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_cfa4b8ccd04b4915831ee1263cef2785", "max": 57.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_6307e526be7244c1bf2972e7dd8ffb34", "tabbable": null, "tooltip": null, "value": 57.0 } }, "7a401778eb4b4085aa537fc9152323c3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_311c141020e141c1a57dcf184617a5fc", "placeholder": "​", "style": "IPY_MODEL_2f6adcf8d7ab43a38d4a96d9dd46ca17", "tabbable": null, "tooltip": null, "value": " 57/57 [00:03<00:00, 27.27it/s]" } }, "7ca26cc2e3ab40f4b7b30440cee55b90": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_41a80cabf8784afdae1380cad9260398", "placeholder": "​", "style": "IPY_MODEL_58f352a07fad4a7090decd293391d10b", "tabbable": null, "tooltip": null, "value": "Parsing ground PT routes: 100%" } }, "9111ee2cab314b6b8f7deee817039dc2": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "984b24c3b3704d87a8091ed0b0f39e8e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "9c8c4069429a4df1aa9552d3a2a72045": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "a503eeda74374040b416acce3e1af6ac": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "b794782ae5314216a4fedca935c53872": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "ba7fcda30f6f4e59b7fb7af703a00ee8": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "cfa4b8ccd04b4915831ee1263cef2785": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d20e99012c9048329fe1744c56f5f4f3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_7ca26cc2e3ab40f4b7b30440cee55b90", "IPY_MODEL_6936d8eecb2b449aaa4bc8400e2345e8", "IPY_MODEL_5c1a5abfe8ac42c096d6c62e151ec35d" ], "layout": "IPY_MODEL_04a0e02aa6154164806eb177dbccf886", "tabbable": null, "tooltip": null } }, "f1792452d6a84e1f9b4dd34e8cfdeaf6": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }