From e75526a5045bb79c45ba08086cc2abe4f8ae2f3d Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Mon, 8 Apr 2024 17:06:05 +0200
Subject: [PATCH] update: IceStats to list in SubDiv

---
 app/lib/consts.dart                           |   1 +
 app/lib/data_classes.dart                     |   6 ++++--
 app/lib/widgets/bar_graph/bar_data.dart       |   2 ++
 app/lib/widgets/main_layout.dart              |   1 -
 .../get_measurements.cpython-311.pyc          | Bin 4782 -> 4807 bytes
 server/map_handler/get_measurements.py        |   6 ++++--
 6 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/app/lib/consts.dart b/app/lib/consts.dart
index b3f94856..3c0d9840 100644
--- a/app/lib/consts.dart
+++ b/app/lib/consts.dart
@@ -13,6 +13,7 @@ const String mapEndpoint = "update_map";
 String selectedLake = 'Mjøsa'; // Init to Mjøsa, NB should be initialised to last selected lake
 Uint8List selectedRelation = Uint8List(0);
 List<Measurement> selectedMarkerList = [];
+Measurement? selectedTile;
 
 LatLng mapCenter = LatLng(60.8000, 10.8471);
 DateTime ?lastUpdate; // Last time data was fetched from server
diff --git a/app/lib/data_classes.dart b/app/lib/data_classes.dart
index 45188019..165ca83c 100644
--- a/app/lib/data_classes.dart
+++ b/app/lib/data_classes.dart
@@ -9,7 +9,7 @@ class Measurement {
   String bodyOfWater;
   LatLng center;
   List <SubDiv> subDivs;
-  IceStats iceStats;
+  List<IceStats> iceStats;
 
   Measurement({
     required this.measurementID,
@@ -29,7 +29,9 @@ class Measurement {
         bodyOfWater: json['BodyOfWater'] ?? 'nil',
         center: LatLng(json['CenterLat'], json['CenterLon']),
         subDivs: (json['Subdivisions'] as List<dynamic>).map((data) => SubDiv.fromJson(data)).toList(),
-      iceStats: IceStats.fromJson(json['IceStats']),
+        iceStats: (json['IceStats'] as List<dynamic>?)
+            ?.map((data) => IceStats.fromJson(data))
+            .toList() ?? [],
     );
   }
 }
diff --git a/app/lib/widgets/bar_graph/bar_data.dart b/app/lib/widgets/bar_graph/bar_data.dart
index 779be9ba..0a098fad 100644
--- a/app/lib/widgets/bar_graph/bar_data.dart
+++ b/app/lib/widgets/bar_graph/bar_data.dart
@@ -1,6 +1,8 @@
 import 'package:flutter/material.dart';
 import 'package:fl_chart/fl_chart.dart';
 
+import '../../consts.dart';
+
 class BarData extends StatefulWidget {
   const BarData({super.key});
 
diff --git a/app/lib/widgets/main_layout.dart b/app/lib/widgets/main_layout.dart
index d0874add..29c4256c 100644
--- a/app/lib/widgets/main_layout.dart
+++ b/app/lib/widgets/main_layout.dart
@@ -32,7 +32,6 @@ class MapContainerWidget extends StatefulWidget {
 
 class _MapContainerWidgetState extends State<MapContainerWidget> {
 
-  Measurement? selectedTile;  // Containing data for selected marker
   bool isMinimized = true;      // Quick view box state tacker
 
   bool satLayer = false;        // Satellite layer visibility tracker
diff --git a/server/map_handler/__pycache__/get_measurements.cpython-311.pyc b/server/map_handler/__pycache__/get_measurements.cpython-311.pyc
index 05ef1c7e71b422c77e6e0540aa3e05eb6b2979b2..a4fe25102572eb8dc40b8e672a1229eb71507cf5 100644
GIT binary patch
delta 797
zcmZWlO=}ZT6n$?dlgvyqlgT7$lh`I{(g;yR(yCYpm4bpni<B;Ev0b!%O;K8llh{Rh
zQFpBpr182awrX8i@dKp<RNT4JqCcSM%7wTRW-U^@(-3O)z&-Qk-E;28dztx=(Vl3U
zN)Sm;sQ9?1-J#EFYeo7AJoG^?^R6ltnR~c2N31R`bBTMRj(7*mw|kzWR>!|t_(r?M
zo7@8#;W%6rbfc^^t%PtlGhs%E9t^IET%MvVwCZ*W<WW-nJVh!B3s=;#ch|vm*bsu*
zHx(~teS0zjYgrcvd5+P*NisSPKZR47*1h*!pGQH(&sAn{o%>mYMOh4n#JIY%tHFJ1
zBJ{aJP!q$7F|VOmtxmuzu`jR>r3Pzb?aUe3$3j3|hv{3$xgK@L*D1EgXn+!ys01&!
zloQPxLM|E2GdG$4MG_>bJKDiRE9AcLzZ(XmqcjBzQdUf}PN+*IPo|-QS)oP724s+A
z_t($3Zws!cB&)zzc|?&56O)7Gv2qEHDYs~A{k`%-FwbLO8KZPXB;*FMg%Z5;<=tt;
zv`HF%`_2Wn+TwOlZPRUnw0PEz!Lar^l~%e?pmZ(vVScgydpNe7TOO~C+#Rt=KuaJ&
zPVWzFB~xflU@@d6uN|pZ^%WZKIh`jT^J<|}+;oQu32`$a6*?hrYy@IB%QTLH*uE|j
zs~xtDBPk1?nq;XpjGvP8kV$I@**esu1sDk2JJI9(I%X^9kjo)w!7oyAdUmYbkUOQU
s3l2FYe#!ZnS$1`Lvez1g17;z@DaFnH;%lNxW6P7UWJckkDM>rtKdg+cZ~y=R

delta 711
zcmZWk&ubGw7@e8jO?H#)Zg!J2N%O1SnnUQJSS{5Om10E$mV!{F5)Un70vZW!qKCMl
zUWAB6te=OXp{R#QQ3MIJe}cB2JP0CQJcxL5&mPp7hLVa8z6Uekdmrz;&A!g6FI3fs
z7(V_9m5#2e4{>MpX$kLu7q64H3>!F+^T)Yh7dNpz>`0Ec|3mj}VOfZRNKB*UcpVQ7
z^i>ciM}l=_?+ik0Z9tX8%Vt|}<T9qAwuc|iGs(*PGHNO`-1OD`eFs&k)FBAHWYfb8
zy0qE!Gi~4>9ifr`bc^tloPsYzA8@n=b2oLzM|DSYbQ+~G8ixfT&FkJ0#uUAwGJ$Vp
z3A(~`bdarenxIL_lLmOsrr{{NRV~rPTQDI$3#B@kC1cYAMl=mS#FU`D%77vr!b5OO
zisCfPOA~k)?nybpq9d>+)$jor^^D+bcg}O4kem!(<szI`?&3)IgYuo2=h;D-P3@|H
z&~4<B>#!5Zdo0Ctkp%&DPIC<<skw+z>#Q4tin?i8$~fC9<E`mW$#iS>TV!zU;M&q^
z@lnx5K{dk&X0%!E%&;?z9{AmX?sM%4j!d4JLhq)01xwf#!-bTvostR`oD04&Vk||4
zg<$x-EFe1pVdHRS1Ld%Nf&JBZ`5}9ru|2v+ci@Wg_{1cCa;H7UN#w+PeU?g<>SDbo
nU*NwNIq?&}<ovZNy-~S*+%CdNvtTwbW}WtN1J=!~$PIr1BKVtu

diff --git a/server/map_handler/get_measurements.py b/server/map_handler/get_measurements.py
index e3f02a62..3a797763 100644
--- a/server/map_handler/get_measurements.py
+++ b/server/map_handler/get_measurements.py
@@ -41,7 +41,8 @@ def get_all_markers(self, cursor, waterBodyName):
                 'CenLatitude': row[12],
                 'CenLongitude': row[13],
                 'Accuracy': row[14],
-                'Color': calculateColor(row[11])  # NB color calculated based on average thickness, should be minimum
+                'Color': calculateColor(row[11]),  # NB color calculated based on average thickness, should be minimum
+                'IceStats': ()  # NB temp empty, add ice stats later
             }
 
             # Check if measurement ID already exists in measurement_data
@@ -85,7 +86,8 @@ def get_all_markers(self, cursor, waterBodyName):
                     'CenLatitude': 7.0,
                     'CenLongitude': 8.0,
                     'Accuracy': 1.0,
-                    'Color': calculateColor(avg_thickness)
+                    'Color': calculateColor(avg_thickness),
+                    'IceStats': ()
                 }
 
                 sub_divisions.append(subdivision)
-- 
GitLab