.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "_auto_examples/editing_networks/plot_moving_nodes.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_editing_networks_plot_moving_nodes.py: .. _editing_network_nodes: Editing network geometry: Nodes =============================== In this example, we show how to mode a node in the network and look into what happens to the links. .. GENERATED FROM PYTHON SOURCE LINES 12-21 .. code-block:: Python # Imports from uuid import uuid4 from tempfile import gettempdir from os.path import join from aequilibrae.utils.create_example import create_example from shapely.geometry import Point import matplotlib.pyplot as plt .. GENERATED FROM PYTHON SOURCE LINES 22-23 We create the example project inside our temp folder. .. GENERATED FROM PYTHON SOURCE LINES 23-27 .. code-block:: Python fldr = join(gettempdir(), uuid4().hex) project = create_example(fldr) .. GENERATED FROM PYTHON SOURCE LINES 28-29 Let's move node one from the upper left corner of the image above, a bit to the left and to the bottom. .. GENERATED FROM PYTHON SOURCE LINES 31-32 We also add the node we want to move. .. GENERATED FROM PYTHON SOURCE LINES 32-41 .. code-block:: Python all_nodes = project.network.nodes links = project.network.links node = all_nodes.get(1) new_geo = Point(node.geometry.x + 0.02, node.geometry.y - 0.02) node.geometry = new_geo # We can save changes for all nodes we have edited so far. node.save() .. GENERATED FROM PYTHON SOURCE LINES 42-47 If you want to show the path in Python. We do NOT recommend this, though.... It is very slow for real networks. We plot the entire network. .. GENERATED FROM PYTHON SOURCE LINES 47-59 .. code-block:: Python links.refresh() curr = project.conn.cursor() curr.execute("Select link_id from links;") for lid in curr.fetchall(): geo = links.get(lid[0]).geometry plt.plot(*geo.xy, color="blue") plt.plot(*node.geometry.xy, "o", color="black") plt.show() .. image-sg:: /_auto_examples/editing_networks/images/sphx_glr_plot_moving_nodes_001.png :alt: plot moving nodes :srcset: /_auto_examples/editing_networks/images/sphx_glr_plot_moving_nodes_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 60-62 Did you notice the links are matching the node? Look at the original network and see how it used to look like. .. GENERATED FROM PYTHON SOURCE LINES 64-65 .. code-block:: Python project.close() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.512 seconds) .. _sphx_glr_download__auto_examples_editing_networks_plot_moving_nodes.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_moving_nodes.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_moving_nodes.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_moving_nodes.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_