From 0a1524aba6a5db2ce25eddb190fc450d2500bc93 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Thu, 7 Mar 2024 11:55:07 +0100
Subject: [PATCH] update: non-functional color mapping

---
 app/lib/pages/widgets/cloropleth_map.dart     |  46 ++++++++++++++++--
 .../__pycache__/get_relation.cpython-311.pyc  | Bin 3044 -> 3040 bytes
 server/map/get_relation.py                    |   4 +-
 3 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/app/lib/pages/widgets/cloropleth_map.dart b/app/lib/pages/widgets/cloropleth_map.dart
index ea67a65e..068f9e79 100644
--- a/app/lib/pages/widgets/cloropleth_map.dart
+++ b/app/lib/pages/widgets/cloropleth_map.dart
@@ -1,15 +1,15 @@
 import 'dart:typed_data';
-import 'package:latlong2/latlong.dart';
 import '../marker_handler/marker_data.dart';
 import 'package:flutter/material.dart';
 import 'package:syncfusion_flutter_maps/maps.dart';
+import 'dart:math';
 
 /// A class containing thickness for each subdivision of the map.
 class IceThicknessModel {
   IceThicknessModel(this.subDivID, this.thickness);
 
-  final int subDivID;
-  final double thickness;
+  final String subDivID;
+  final int thickness;
 }
 
 /// A stateful widget which contains a choropleth map.
@@ -36,6 +36,12 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
   @override
   void initState() {
     super.initState();
+
+    final Random random = Random();
+    for (int i = 0; i <= 100; i++) {
+      int randomNumber = random.nextInt(21); // 0 -> 20
+      iceThicknessList.add(IceThicknessModel(i.toString(), randomNumber));
+    }
   }
 
   @override
@@ -45,9 +51,39 @@ class _ChoroplethMapState extends State<ChoroplethMap> {
           MapShapeLayer(
             source: MapShapeSource.memory(
               widget.relation,
-              shapeDataField: 'geometry',
+              shapeDataField: 'properties.SubDivID',
+              dataCount: iceThicknessList.length,
+              primaryValueMapper: (int index) => iceThicknessList[index].subDivID,
+              shapeColorValueMapper: (int index) => iceThicknessList[index].thickness,
+              shapeColorMappers: const [
+                MapColorMapper(
+                  from: null,  // Default color
+                  color: Colors.grey,
+                  text: 'No value',
+                ),
+                MapColorMapper(
+                    from: 0,
+                    to: 3,
+                    color: Color.fromRGBO(223,169,254, 1),
+                    text: '0-3'),
+                MapColorMapper(
+                    from: 3,
+                    to: 8,
+                    color: Color.fromRGBO(190,78,253, 1),
+                    text: '3-8'),
+                MapColorMapper(
+                    from: 8,
+                    to: 15,
+                    color: Color.fromRGBO(167,17,252, 1),
+                    text: '8-15'),
+                MapColorMapper(
+                    from: 15,
+                    to: 20,
+                    color: Color.fromRGBO(170,20,250, 1),
+                    text: '15-20'),
+              ],
             ),
-            color: Colors.orange,
+            color: Colors.lightBlueAccent,
             zoomPanBehavior: _zoomPanBehavior,
           ),
         ],
diff --git a/server/map/__pycache__/get_relation.cpython-311.pyc b/server/map/__pycache__/get_relation.cpython-311.pyc
index 58dc7c0fd6a0e49edaa4dba3c77344d838746358..fbf72ef0cb5cb3bcab0c487f7b27ce8a2c27086a 100644
GIT binary patch
delta 69
zcmaDN{y>~}IWI340}!xGf0?SkkvD^pnRNl%<b~`an|l~Dm>IuJ{>swGDL!3xlI%qJ
XDe{|}S+6m%&zcDWD>o-_v@inz>Wmkb

delta 73
zcmaDL{zRO2IWI340}$v=ewk{vkvD^pnRx-*<b{mFo4Xk^nHhgf{>swGD|cN`^^&0K
dMM3o|g6f;=S+6m%SBtE3e^}MBIfkQ!830Jk7)JmA

diff --git a/server/map/get_relation.py b/server/map/get_relation.py
index 38cb963f..0f4a251b 100644
--- a/server/map/get_relation.py
+++ b/server/map/get_relation.py
@@ -20,7 +20,7 @@ def get_relation(self, body_of_water: str):
     tiles = divide_relation(polygons)
 
     # Convert GeoDataFrame to GeoJSON
-    tiles_json = polygon_data.to_json()
+    tiles_json = tiles.to_json()
 
     # Set headers
     self.send_response(200)
@@ -33,7 +33,7 @@ def get_relation(self, body_of_water: str):
 
 def divide_relation(polygons):
     # Define tile size
-    tile_size = 0.01
+    tile_size = 0.05
     subdiv_id = 0
     tiles = []
 
-- 
GitLab