From 4a5debefb0e20053b4410060b6d9b14e84a20075 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Thu, 21 Mar 2024 11:10:00 +0100 Subject: [PATCH] update: sort of working group ID rendering? --- app/lib/data_classes.dart | 3 +++ app/lib/widgets/choropleth_map.dart | 16 +++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/lib/data_classes.dart b/app/lib/data_classes.dart index 8de99433..a3eebb60 100644 --- a/app/lib/data_classes.dart +++ b/app/lib/data_classes.dart @@ -34,6 +34,7 @@ class Measurement { class SubDiv { String sub_div_id; int groupID; + String group_id; double minThickness; double avgThickness; LatLng center; @@ -44,6 +45,7 @@ class SubDiv { SubDiv({ required this.sub_div_id, required this.groupID, + required this.group_id, required this.minThickness, required this.avgThickness, required this.center, @@ -56,6 +58,7 @@ class SubDiv { return SubDiv( sub_div_id: json['SubdivID'].toString(), groupID: json['GroupID'], + group_id: '', // Initialise empty, will be set later minThickness: json['MinThickness'], avgThickness: json['AvgThickness'], center: LatLng(json['CenLatitude'], json['CenLongitude']), diff --git a/app/lib/widgets/choropleth_map.dart b/app/lib/widgets/choropleth_map.dart index 2ab4eb52..6df3dfb8 100644 --- a/app/lib/widgets/choropleth_map.dart +++ b/app/lib/widgets/choropleth_map.dart @@ -46,24 +46,22 @@ class _ChoroplethMapState extends State<ChoroplethMap> { super.initState(); // Extract all subdivisions from list of measurements for (Measurement measurement in widget.measurements) { + String measurement_id = measurement.measurementID.toString(); for (SubDiv subdivision in measurement.subDivs) { + // Construct concatenated group ID for rendering of groups + subdivision.group_id = measurement_id + "-"+ subdivision.groupID.toString(); + print("Constructued groupID: ${subdivision.group_id}"); subdivisions.add(subdivision); } - }; - - // ?Should the map be pre-divided into groups? - - // Parse relation to json - // Make a list of key value pairs (key: groupID, value: appended shapes) - // Parse back to Uint8list + } // Initialise data source dataSource = MapShapeSource.memory( widget.relation, - shapeDataField: 'sub_div_id', + shapeDataField: 'group_id', dataCount: subdivisions.length, primaryValueMapper: (int index) => - subdivisions[index].sub_div_id, + subdivisions[index].group_id, shapeColorValueMapper: (int index) => subdivisions[index].avgThickness, // NB will later be minThickness, fix in server first shapeColorMappers: const [ -- GitLab