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