From 9482aaf523a186e6d8fdf60e774aeefba43487a7 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Tue, 26 Aug 2025 14:22:53 +0200 Subject: [PATCH] Geometry: Point: Fix points order at DB loading. --- src/Model/Geometry/PointXYZ.py | 5 +++-- src/Model/Geometry/ProfileXYZ.py | 10 +++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Model/Geometry/PointXYZ.py b/src/Model/Geometry/PointXYZ.py index 23960107..b40d9b26 100644 --- a/src/Model/Geometry/PointXYZ.py +++ b/src/Model/Geometry/PointXYZ.py @@ -175,7 +175,7 @@ class PointXYZ(Point): return new table = execute( - "SELECT pamhyr_id, deleted, " + + "SELECT pamhyr_id, ind, deleted, " + "name, x, y, z, sl, scenario " + "FROM geometry_pointXYZ " + f"WHERE profile = {profile.pamhyr_id} " + @@ -188,6 +188,7 @@ class PointXYZ(Point): it = iter(row) pid = next(it) + ind = next(it) deleted = (next(it) == 1) name = next(it) x = next(it) @@ -218,7 +219,7 @@ class PointXYZ(Point): ) loaded.add(pid) - new.append(point) + new.append((ind, point)) data["scenario"] = scenario.parent new += cls._db_load(execute, data) diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py index e3591f54..0695c7d6 100644 --- a/src/Model/Geometry/ProfileXYZ.py +++ b/src/Model/Geometry/ProfileXYZ.py @@ -277,7 +277,15 @@ class ProfileXYZ(Profile, SQLSubModel): ) data["profile"] = profile - profile._points = PointXYZ._db_load(execute, data.copy()) + profile._points = list( + map( + lambda ip: ip[1], + sorted( + PointXYZ._db_load(execute, data.copy()), + key=lambda ip: ip[0] + ) + ) + ) loaded.add(pid) new.append(profile)