From a61cd85edc8c569156b3fb15acef45067dbcd76f Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Tue, 20 Feb 2024 11:06:03 +0100 Subject: [PATCH] add: single test polygon --- app/lib/pages/marker_handler/marker_data.dart | 2 +- app/lib/pages/widgets/map_widget.dart | 4 +- app/lib/pages/widgets/osm_map.dart | 42 ++++++++++-------- .../__pycache__/get_markers.cpython-311.pyc | Bin 4249 -> 4249 bytes server/map/add_new_water_body.py | 0 server/map/get_markers.py | 3 +- server/sql_db/icedb | Bin 40960 -> 40960 bytes 7 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 server/map/add_new_water_body.py diff --git a/app/lib/pages/marker_handler/marker_data.dart b/app/lib/pages/marker_handler/marker_data.dart index 5dbc70bb..fd466ed8 100644 --- a/app/lib/pages/marker_handler/marker_data.dart +++ b/app/lib/pages/marker_handler/marker_data.dart @@ -28,7 +28,7 @@ class Measurement { cornerList: (json['Corners'] as List<dynamic>) .map((data) => Corner.fromJson(data)) .toList(), - bodyOfWater: json['WaterBodyName'], + bodyOfWater: json['BodyOfWater'], /* dataList: (json['Data'] != null && json['Data'] is List) ? (json['Data'] as List<dynamic>).map((data) => Data.fromJson(data)).toList() diff --git a/app/lib/pages/widgets/map_widget.dart b/app/lib/pages/widgets/map_widget.dart index e8d22998..d757b7b9 100644 --- a/app/lib/pages/widgets/map_widget.dart +++ b/app/lib/pages/widgets/map_widget.dart @@ -46,7 +46,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> { height: screenWidth * boxHeight, child: OSMmap(markerList: widget.markerList), // OpenStreetMap layer ), - SizedBox( + /*SizedBox( width: screenWidth * boxWidth, height: screenWidth * boxHeight, child: Stack( @@ -58,7 +58,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> { ), ], ), - ), + ),*/ Positioned( // Quick view box layered over map bottom: 10, right: 10, diff --git a/app/lib/pages/widgets/osm_map.dart b/app/lib/pages/widgets/osm_map.dart index 3e8eeeb2..3507756f 100644 --- a/app/lib/pages/widgets/osm_map.dart +++ b/app/lib/pages/widgets/osm_map.dart @@ -14,33 +14,37 @@ class OSMmap extends StatelessWidget { @override Widget build(BuildContext context) { + // Init list of polygons + List<Polygon> polygons = []; + + // Map each element from markerList to a measurement object + markerList.forEach((Measurement measurement) { + // Map corners to a list of LatLng objects + List<LatLng> points = measurement.cornerList.map((Corner corner) { + return LatLng(corner.latitude, corner.longitude); + }).toList(); + + Polygon polygon = Polygon( + points: points, // Use list of corner coordinates to render polygon + color: Colors.blue.withOpacity(0.5), + isFilled: true, + ); + polygons.add(polygon); // Add each polygon to a list + }); + return FlutterMap( options: MapOptions( - center: mapCenter, // From consts + center: mapCenter, zoom: 9.0, ), children: [ - TileLayer( // Map from OpenStreetMap + TileLayer( urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", subdomains: const ['a', 'b', 'c'], ), - PolygonLayer( // Map each element in markerList to Measurement object - polygons: markerList.map((Measurement measurement) { - return Polygon( - points: measurement.cornerList.map((Corner corner) { - // Map corner coordinates to LatLng objects - return LatLng(corner.latitude, corner.longitude); - }).toList(), - /*onTap: () { NB: figure out how to make polygons interactive - setState(() { - selectedMarker = measurement; - }); - },*/ - color: Colors.blue, - isFilled: true, - ); - }).toList(), - ) + PolygonLayer( + polygons: polygons, // Return map with list of polygons included + ), ], ); } diff --git a/server/map/__pycache__/get_markers.cpython-311.pyc b/server/map/__pycache__/get_markers.cpython-311.pyc index f1ffc5e1e2334b2d572c69c525febcab86c55e61..136fe074aa97b652908bd4f21f45768bb9a6020e 100644 GIT binary patch delta 34 pcmbQKI8%{#IWI340}$LUx{}(lk#{d2o3h%1q9x{=FYujY1OT*W3wr<n delta 34 pcmbQKI8%{#IWI340}yZ&UP<lV$h()1O+|eL(-Qa17x+#x0sx?N3RD09 diff --git a/server/map/add_new_water_body.py b/server/map/add_new_water_body.py new file mode 100644 index 00000000..e69de29b diff --git a/server/map/get_markers.py b/server/map/get_markers.py index cb8e5804..fccd78df 100644 --- a/server/map/get_markers.py +++ b/server/map/get_markers.py @@ -76,7 +76,7 @@ def get_all_markers(self, cursor, valid: bool): }, 'Data': [data_object], 'Corners': [corner_object], - 'BodyOfWater' : row[14] + 'BodyOfWater': row[14] } # Convert dictionary values to list of measurements @@ -103,4 +103,3 @@ def get_all_markers(self, cursor, valid: bool): # Write marker data to response object self.wfile.write(marker_data.encode('utf-8')) - diff --git a/server/sql_db/icedb b/server/sql_db/icedb index e01a5712975ae037329fb433f502db93106da42e..71aeb6857a09efb0d2d1b93f743e20fdaed071ed 100644 GIT binary patch delta 112 zcmZoTz|?SnX@WGP#6%fqRtW~Zv{xHb-19@@Z>(KCKg>aO!nEBpjz1P-W@Y4LXJ>Zs zOY*(+apfNe)eRuVDlsOoIFo~43d<|69#IF?UZ=w+-<=U<WaR{^2P&6Y!(piIpjsq! Ly;$PUq5=Z|^KB<* delta 112 zcmZoTz|?SnX@WGP_(U0JR&fTsvd)bu?)jln8Jt(9N;s%~Nm!L~=!Y0HD<da6JF|md z6p&}W6(}Cu_t`f~j0r5x1QbuKk-ilO6n86bynaWNk(Cpu9w;1VYG3mXC~O%akmR?h GzyJV3W+hMn -- GitLab