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