{"name": "roadnetwork", "package_name": "roadnetwork", "version": "0.6.3", "experimental": false, "qgis_min": "3.40.0", "qgis_max": "3.99.0", "downloads": 63, "uploaded_by": "kimaidou", "upload_datetime": "2026-10-30T08:21:29.839325", "changelog": "Version 0.6.3:\n\n**Highlights**\n\n* **Performance**: merging an editing session is much faster on long roads: only the managed objects\nwhich may be impacted by the modifications are updated, for example 0.4 s instead of 13 s for a new crossroad\n* **Fixes**: more precise cumulative distances (to the centimeter), and the managed lines are no longer\nshortened by 1 cm at each merge\n\n**Upgrade notes**\n\n* Run the algorithm `Upgrade database structure` to upgrade the database (migration 42).\nIt calculates again the references of all the edges, which can take a few minutes on a large road graph\n* Optionally, run the algorithm `Update managed objects from the road graph` on each managed table\nto correct their cumulative distances\n\n\n* **SQL**: faster merge of the editing sessions: only the managed objects which may be impacted\nby the modifications are updated (near the modified edges, downstream of them if the road geometry has changed,\nor near a modified marker), instead of all the objects of the modified roads.\nFor example on a road of 118 km with 1,250 objects: 0.4 s instead of 13 s for a new crossroad,\nand 5 s instead of 13 s for a realigned edge (migration `upgrade_to_42.sql`)\n\n\n* **SQL**: the cumulative distances greater than 10 km were rounded to 10 cm (1 m above 100 km),\nfor the edges and the managed objects. The migration calculates again the references of all the edges\n(about 17 s for the 7,809 edges of the demo data). The managed objects are corrected when they are updated,\nor with the algorithm `Update managed objects from the road graph`\n* **SQL**: the managed lines with the update policy `geometry` were shortened by 1 cm at each merge\n* **SQL**: a managed object whose geometry cannot be calculated from its references no longer cancels the merge:\nit is not updated, and a warning is displayed\n* **SQL**: the list of the last updated managed objects (`last_updated_objects_ids`) is emptied\nwhen a merge does not update any object: it still contained the objects of the previous merge\n* **Tools panel**: the references displayed on click or on hover now show the marker `0`, and the abscissa,\noffset or cumulative distance `0`, instead of an empty field\n\nVersion 0.6.2:\n\n**Highlights**\n\n* **Performance**: editing long roads is much faster, for example adding an edge crossing a road\nof 135 edges takes about 0.6 s instead of 8 to 13 s\n* **Docs**: new explanation of the impacts of the modifications on the references, with a diagram\n\n**Upgrade notes**\n\n* Run the algorithm `Upgrade database structure` to upgrade the database (migration 41)\n\n\n* **SQL**: faster editing of long roads: the references of a road are no longer calculated several times\nfor one modification, and splitting an edge only calculates the references of its two parts.\nFor example on a road of 135 edges, adding a crossing edge takes about 0.6 s instead of 8 to 13 s\n(migration `upgrade_to_41.sql`)\n* **Docs**: in the page `Road graph editing`, explain the impacts of the modifications of the edges and markers\non the references, upstream and downstream, with a diagram\n* **Docs**: in the page `Road graph editing`, warn against editing directly the production schema `road_graph`,\nand explain how to correct the whole road graph after a first import with an editing session covering all the data\n\nVersion 0.6.1:\n\n**Highlights**\n\n* **GPS tracks**: new Processing algorithm to get the road sections followed by the lines of a layer,\nfor example GPS tracks, with their start and end references\n* **Performance**: modifying a field of the edges is much faster\n\n**Upgrade notes**\n\n* Run the algorithm `Upgrade database structure` to upgrade the database (migration 40)\n\n\n* **Processing**: new algorithm `Get road sections from a line (GPS track)` in the group `Linear referencing`,\nwhich snaps the lines of a layer, for example GPS tracks, on the road graph,\nand creates a layer with the sections of the roads they follow, with their start and end references\n\n\n* **SQL**: performance of the edges updates: the references of an updated edge are not calculated anymore\nby the trigger `before_edge_insert_or_update` when they are calculated again just after\nfor the whole road, or when only another field of the edge has been modified.\nFor example, modifying a field of all the edges of a road is a few hundred times faster (migration `upgrade_to_40.sql`)\n* **SQL**: new function `road_graph.get_or_create_edge_node`, used by the trigger `before_edge_insert_or_update`\nto get or create the start and end nodes of an edge, instead of duplicated code\n\n\n* **SQL**: the search of the next edge of an edge could fail if two edges of the same road started at the same node", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/roadnetwork/version/0.6.3/download/"}