Geometry: Point: Fix points order at DB loading.

scenarios
Pierre-Antoine 2025-08-26 14:22:53 +02:00
parent e0cee0fbef
commit 9482aaf523
2 changed files with 12 additions and 3 deletions

View File

@ -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)

View File

@ -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)