diff --git a/server/map/__pycache__/get_relation.cpython-311.pyc b/server/map/__pycache__/get_relation.cpython-311.pyc index 7093df81dd8e6ae620eb9701e3bdc1063698d730..94d100007332813dbf0f83044e989f98f48831da 100644 Binary files a/server/map/__pycache__/get_relation.cpython-311.pyc and b/server/map/__pycache__/get_relation.cpython-311.pyc differ diff --git a/server/map/get_relation.py b/server/map/get_relation.py index 84815af0da3325371a8e8537194702ced967b12f..ec017cbbdb9fca60aac0267cc48a122e76a2c38c 100644 --- a/server/map/get_relation.py +++ b/server/map/get_relation.py @@ -28,8 +28,7 @@ def get_relation(self, body_of_water: str): # NB: implement body_of_water polygon_counter = 1 num_of_polygons = len(polygons) - print("Dividing map... This may take a few minutes. As a reference, " - "a cell size of 0.01 takes approximately 13 minutes to complete.") + print("Dividing map... This may take a few minutes") # Divide all polygons into sections for polygon in polygons: cell_size = 0.04 # NB smaller values require patience @@ -43,7 +42,7 @@ def get_relation(self, body_of_water: str): # NB: implement body_of_water divided_map = combine_gird_with_poly(polygon, lines) - print("Polygon nr.", polygon_counter, " finished processing. ", num_of_polygons-polygon_counter, + print("Polygon nr.", polygon_counter, " finished processing. ", num_of_polygons - polygon_counter, " polygons left to process.") polygon_counter += 1 @@ -51,13 +50,18 @@ def get_relation(self, body_of_water: str): # NB: implement body_of_water tiles = gpd.GeoDataFrame(geometry=divided_map) - print("Plotting... This may take some time too...") + print("Adding ID's and center coordinates") + tiles['subdiv_id'] = range(len(tiles)) # Give each subdivision a unique ID + # Calculate the center coordinates of each tile + tiles['subdiv_center'] = tiles['geometry'].centroid.apply(lambda x: [x.x, x.y]) + + print("Plotting map...") # NB test plot fig, ax = plt.subplots() ax.set_aspect(1.5) # Plot the divided_map - tiles.plot(ax=ax, facecolor='none', edgecolor='black') + tiles.plot(ax=ax, facecolor='none', edgecolor='none') for i, tile in enumerate(tiles.geometry): random_color = "#{:06x}".format(random.randint(0, 0xFFFFFF)) @@ -76,6 +80,7 @@ def get_relation(self, body_of_water: str): # NB: implement body_of_water # Write GeoJSON to response object self.wfile.write(tiles_json.encode('utf-8')) + def create_grid(poly: Polygon, cell_size): # Retrieve bounds of the entire polygon bounds = poly.bounds @@ -114,4 +119,3 @@ def combine_gird_with_poly(polygon, grid): intersecting_tiles.append(intersection) return intersecting_tiles -