From 1bc72c15c0ae5a2b1cdb574cdb2e14fbdce5ea2b Mon Sep 17 00:00:00 2001
From: Hoa Ben The Nguyen <hbnguye@stud.ntnu.no>
Date: Tue, 5 Mar 2024 21:55:29 +0100
Subject: [PATCH] fix: calculation

---
 server/data_processing/area_processing.py | 27 ++++++++++++++---------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/server/data_processing/area_processing.py b/server/data_processing/area_processing.py
index 95de76fc..5ff38d4b 100644
--- a/server/data_processing/area_processing.py
+++ b/server/data_processing/area_processing.py
@@ -30,31 +30,36 @@ def calculate_corners(lat, lng, area_offset):
     (60.7966, 10.7405)]'''
 
 # separate the zones into smaller area, into a grid
-def define_gridareas(lat, lng, area_offset, grid_size, dimension, subId, groupId):
-    a = dimension + subId + groupId # soon to be implemented
-    print(a)
+def define_gridareas(lat, lng, area_offset, grid_size):
+    #a = dimension + subId + groupId soon to be implemented
+    #print(a)
     grided_area = [] # container for an area turned into a grid of areas
 
     # find the main area's corner positions
     main_area = calculate_corners(lat, lng, area_offset)
     # find the main area's range size
-    area_size = (main_area[0][0] - main_area[2][0], main_area[0][1] - main_area[2][1])
+    area_size = (main_area[2][0] - main_area[0][0], main_area[0][1] - main_area[2][1])
     # find each subareas vector to it's center
     dist_to_subcenter = (area_size[0]/(grid_size*2), area_size[1]/(grid_size*2))
+    print(dist_to_subcenter)
     # find subareas size relative to main area
     subarea_offset = area_offset/grid_size
 
+    print(main_area)
+
     # find the center coordinates of each area in grid to find the corner areas
-    for y in range(grid_size-1):
+    for y in (range(grid_size)):
         relative_size_lng = y / grid_size
-        for x in range(grid_size-1):
+        for x in (range(grid_size)):
             relative_size_lat = x / grid_size
-            lat_pos = main_area[0][0] + relative_size_lat * area_size[0] - dist_to_subcenter[0]
-            lng_pos = main_area[0][1] + relative_size_lng * area_size[1] - dist_to_subcenter[1]
+            lat_pos = main_area[3][0] + relative_size_lat * area_size[0] + dist_to_subcenter[0]
+            lng_pos = main_area[3][1] + relative_size_lng * area_size[1] + dist_to_subcenter[1]
+            # id of each subarea
+            sub_id = x % grid_size + grid_size*y
             # use the center of sub areas to find the corner of each subarea
-            grided_area.append(calculate_corners(lat_pos, lng_pos,subarea_offset))
+            corners = calculate_corners(lat_pos, lng_pos, subarea_offset)
+            grided_area.append((sub_id, corners))
 
     return grided_area
 
-#print(calculate_corners(60,10,1500))
-#print(define_gridareas(60,10,1500,4))
\ No newline at end of file
+print(define_gridareas(60,10,1500,4))
\ No newline at end of file
-- 
GitLab