mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
No commits in common. "4dc4dfdda00e2beae3c6f01d420afca17d696fda" and "dbcdace3482bba09f7c366791492e5c2416c7a1d" have entirely different histories.
4dc4dfdda0
...
dbcdace348
|
|
@ -18,7 +18,6 @@ import struct
|
|||
import logging
|
||||
import itertools
|
||||
|
||||
from tools import flatten
|
||||
from functools import reduce
|
||||
from datetime import datetime
|
||||
|
||||
|
|
@ -147,34 +146,8 @@ class Profile(SQLSubModel):
|
|||
else:
|
||||
new_data = new[profile]
|
||||
|
||||
if key in ["Z", "Q", "V"]:
|
||||
sf = ">" + ''.join(itertools.repeat("f", len_data))
|
||||
len_values = len(values)
|
||||
values = struct.unpack(sf, data)
|
||||
elif key in ["sl"]:
|
||||
nb_layer = len_data / len(timestamps) / 3
|
||||
sf = ">" + ''.join(itertools.repeat("f", len_data))
|
||||
values = struct.unpack(sf, data)
|
||||
|
||||
tmp_values = [[]]
|
||||
for value in values:
|
||||
t = tmp_values[-1]
|
||||
if len(t) < 3:
|
||||
t.append(value)
|
||||
else:
|
||||
tmp_values.append([value])
|
||||
|
||||
tmp_values = list(map(tuple, tmp_values))
|
||||
|
||||
values = [[]]
|
||||
for value in tmp_values:
|
||||
t = values[-1]
|
||||
if len(t) < nb_layer:
|
||||
t.append(value)
|
||||
else:
|
||||
values.append([value])
|
||||
|
||||
values = list(map(lambda x: [x], values))
|
||||
sf = ">" + ''.join(itertools.repeat("f", len_data))
|
||||
values = struct.unpack(sf, data)
|
||||
|
||||
for timestamp, value in zip(timestamps, values):
|
||||
new_data.set(timestamp, key, value)
|
||||
|
|
@ -196,6 +169,7 @@ class Profile(SQLSubModel):
|
|||
)
|
||||
|
||||
def _db_save(self, execute, data=None):
|
||||
logger.debug("Save profile...")
|
||||
pid = self._pamhyr_id
|
||||
result = data["result"]
|
||||
|
||||
|
|
@ -203,23 +177,13 @@ class Profile(SQLSubModel):
|
|||
logger.debug(f"{keys}...")
|
||||
for key in keys:
|
||||
values = self.get_key(key)
|
||||
|
||||
if key in ["Z", "Q", "V"]:
|
||||
values = list(map(float, values))
|
||||
sf = ">" + ''.join(itertools.repeat("f", len(values)))
|
||||
len_values = len(values)
|
||||
elif key is "sl":
|
||||
values = flatten(
|
||||
flatten(
|
||||
map(lambda v: list(
|
||||
map(lambda t: list(
|
||||
map(float, t)), v[0])),
|
||||
values)))
|
||||
len_values = len(values)
|
||||
sf = ">" + ''.join(itertools.repeat("f", len_values))
|
||||
else:
|
||||
if any(filter(lambda x: type(x) in [tuple, list], values)):
|
||||
logger.debug(f"{key} : {len(values)} {values[0]}")
|
||||
continue
|
||||
|
||||
values = list(map(float, values))
|
||||
|
||||
sf = ">" + ''.join(itertools.repeat("f", len(values)))
|
||||
data_bytes = struct.pack(sf, *values)
|
||||
|
||||
execute(
|
||||
|
|
@ -231,7 +195,7 @@ class Profile(SQLSubModel):
|
|||
pid, result,
|
||||
data["reach"].pamhyr_id,
|
||||
self._profile.pamhyr_id,
|
||||
key, len_values, data_bytes,
|
||||
key, len(values), data_bytes,
|
||||
self._owner_scenario
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ class PlotAC(PamhyrPlot):
|
|||
)
|
||||
|
||||
def draw_gl(self):
|
||||
|
||||
results = self.results[self._current_res_id]
|
||||
reach = results.river.reach(self._current_reach_id)
|
||||
profile = reach.profile(self._current_profile_id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue