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