.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_auto_examples/visualization/plot_delaunay_lines.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr__auto_examples_visualization_plot_delaunay_lines.py: .. _creating_delaunay_lines: Creating Delaunay Lines ======================= In this example, we show how to create AequilibraE's famous Delaunay Lines, but in Python. For more on this topic, the first publication is `here `_. We use the Sioux Falls example once again. .. GENERATED FROM PYTHON SOURCE LINES 15-28 .. code-block:: Python # Imports import pandas as pd from uuid import uuid4 from os.path import join import sqlite3 from tempfile import gettempdir import matplotlib.pyplot as plt import shapely.wkb from aequilibrae.utils.create_example import create_example from aequilibrae.utils.create_delaunay_network import DelaunayAnalysis .. GENERATED FROM PYTHON SOURCE LINES 29-30 We create an empty project on an arbitrary folder .. GENERATED FROM PYTHON SOURCE LINES 30-34 .. code-block:: Python fldr = join(gettempdir(), uuid4().hex) project = create_example(fldr) .. GENERATED FROM PYTHON SOURCE LINES 35-36 Get the Delaunay Lines generation class .. GENERATED FROM PYTHON SOURCE LINES 36-41 .. code-block:: Python da = DelaunayAnalysis(project) # Let's create the triangulation based on the zones, but we could create based on the network (centroids) too da.create_network("zones") .. GENERATED FROM PYTHON SOURCE LINES 42-43 Now we get the matrix we want and create the Delaunay Lines .. GENERATED FROM PYTHON SOURCE LINES 43-46 .. code-block:: Python demand = project.matrices.get_matrix("demand_omx") demand.computational_view(["matrix"]) .. GENERATED FROM PYTHON SOURCE LINES 47-48 And we will call it 'delaunay_test'./ It will also be saved in the results_database.sqlite .. GENERATED FROM PYTHON SOURCE LINES 48-50 .. code-block:: Python da.assign_matrix(demand, "delaunay_test") .. GENERATED FROM PYTHON SOURCE LINES 51-52 we retrieve the results .. GENERATED FROM PYTHON SOURCE LINES 52-55 .. code-block:: Python conn = sqlite3.connect(join(fldr, "results_database.sqlite")) results = pd.read_sql("Select * from delaunay_test", conn).set_index("link_id") .. GENERATED FROM PYTHON SOURCE LINES 56-57 Now we get the matrix we want and create the Delaunay Lines .. GENERATED FROM PYTHON SOURCE LINES 57-70 .. code-block:: Python links = pd.read_sql("Select link_id, st_asBinary(geometry) geometry from delaunay_network", project.conn) links.geometry = links.geometry.apply(shapely.wkb.loads) links.set_index("link_id", inplace=True) df = links.join(results) max_vol = df.matrix_tot.max() for idx, lnk in df.iterrows(): geo = lnk.geometry plt.plot(*geo.xy, color="blue", linewidth=4 * lnk.matrix_tot / max_vol) plt.show() .. image-sg:: /_auto_examples/visualization/images/sphx_glr_plot_delaunay_lines_001.png :alt: plot delaunay lines :srcset: /_auto_examples/visualization/images/sphx_glr_plot_delaunay_lines_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 71-72 Close the project .. GENERATED FROM PYTHON SOURCE LINES 72-73 .. code-block:: Python project.close() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.492 seconds) .. _sphx_glr_download__auto_examples_visualization_plot_delaunay_lines.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_delaunay_lines.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_delaunay_lines.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_delaunay_lines.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_