From 8e591cfde0ebaaffc4f03d42ac2de4e85c506b9a Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Tue, 12 Mar 2024 13:22:47 +0100
Subject: [PATCH] update: add break from splitting horizontal sections

---
 .../__pycache__/get_relation.cpython-311.pyc  | Bin 5825 -> 5954 bytes
 server/map/get_relation.py                    |  31 ++++++++++--------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/server/map/__pycache__/get_relation.cpython-311.pyc b/server/map/__pycache__/get_relation.cpython-311.pyc
index 1f9d6fb9f61cc81a841db10607e1f3e3d2ff0e9a..6d7c237fe1158ac5b62ed78021efb4298eee0deb 100644
GIT binary patch
delta 1267
zcmZuwPi)&%7=O=pJjY2Kr;hW7kUvh<K#E$_e;|6OghZ-JY@n`#P1ClL_Ju83h%3h`
zqjFSET?9Q8Jx+*&C!tb_PU_Ulj(`N>m`r9AOGw>uw@8T7F1+VrDbsj*{`vFw{l0(i
zd;V$S=Sk`NNJIo=Jy{ymQ1UD3Z}<gf;A8k0{|PHlz<H(|2)+ZZ@8Ao}E0tiHa=q1w
zSP?_8!e~g>hPx$8AnXr1k{R=v09cVm(En<Pc#2CDP~^6!F&GG1b7s^xQ?ex?2|r*I
z7{ZWO*(eI)*SXX<1XdJ@!xij)Nb(PB_}#l!!1mnmkrcxfHu_rF4{Zewqx%qmAINjI
zI<lGZWdIry-exrz#rIe>FF(&DxknnZ&$VNO6Hl3AzJfR_zKmiRa(P(B8aKm^*eazK
z%n9F2s7YT&L8R<6q#}l%iQI`>{Ln$A@B>bPX?g}()k>f^QV$dR9HEovY|*mpmnfr5
z7*-sKFEV!Z=bFrrCKDWSl<~bl0^emNzLT_oouzH7$rsuNc8*$-DU?1dbtpHm^LRN>
zlu0zuDEJ0jBLyX4k-9-r9GBw}SOMkC@e2PfOc|tM@RZJAi$7m))#eMAp0eZ%GlB_6
z@u$L#7~8D13_3TLU)Oa5wXq{~aW#1VqfNtHZ4#%p8@y#~{U>r%;|jjQ4Ws&I9o5k4
zhTi<l9l50&^)0<+R-3Es+PYcSTdv^8aiz_gVb<4)ZKG<KZM-I;&@#zP?`u26;=Z`U
zmjcoNl<@V?I6TGO(5u^tU}*pdbeI0&!ON2eH;?Z881H8moy=nQ{E0SkQ2j373+GOi
zu>pXQ^ue`<+Tp4vp2(>I53<BvjJ)Z=p758F=q1Zea@tA0)mP>nW&YvvBW0ndES$vC
zdlizRINO_D{7vXxyxiBWINHpWJ?T`={2><~$whnNNOMMK`|_M4&-LUv623Hh^tLnh
zMo%u1eVQoRQ(x<NKD@)v3_u_-gMSTQi^A@?zA)_w(>-q=PeoXE$%vD#z4?@bE;-e<
z=}o~XQZ>DF#`_dTDZEEPqd<pOK4(Z&zDQvOZ_DqB1u9ZlJ9gw}4DWHX_;=-wn4=~N
zU*gO0U&s~Ds+Ao5ncUbXRdb`Mo6Y*#BpJ)?nqiDn@+AITRa0~@Zs6mlUNv2AP1l=V
ad?SbNtKSqZK{#cv4*-4t4;uJp;_APVfF@i3

delta 1188
zcmZuwT}TvB7`=CQXPlYc*`58FaaUV+*UG=r*wO+adQl2BEz*e4menzTS{<34qGXod
z%m*K=+fzsk6q}%dA&~_M1woG*QZ^77^^k81(NizoJ36A&W#-H`=R4mw_nv#_ZQYw%
z?-QQq03HoZh5mBsuJ;#gLk{>6zCfR0Gh|WBQB5&Tpl1M`byS|`B1CJA9Ix{#qkH6C
zToz7M=qy$r&v`YUtpq^lb+63lodC??du!x;I%O~@?Gv3onL{a|q)PY6?CuXtoxtsP
zGxXHpc2Pwm1RAt^0Wi$ku};l<^EflNlg$a5XlJp~jb1ww(1X5FV$8Q!34tCM=54Lv
z#hOr9i`fJ&7VKCS&?#38?nf!tF{j@M5NTYiw9{A`vSXQ(19=CYkpra#34L`@v7Px0
zOSY;TD{^8^(gQ{@afKCiNe;@Pc@ZV3APf_(8FPAwaCsN*hwrTc!IZLRjXN&pv0%=Y
z0lYrJC?Qitk8saY;(;jr;{h=CkxX&19NwC@-2m4EBWl$r=%BmI=8c%OkHtou)WHb0
zri_-s1yEhGc$c1m!A-ImDqbNNr`v```y1n(sF~4V0=;6cpc?iLrFw7@J!7AC4yxm+
z4Ax{#_J*o$hc3dHjGZ&NzUx|QOv&6zB~1@`4k)9kv9zk0j9s)#a}+Ievb!CBfgF?U
zcL%C<PtXa<TL204(p>}B(GPdk?ErhA05D9R`Avh8!?ULsE-h)Rk*2js(`3tf=|Lks
zb8@n6BN!_H$VZIvg~a2W6|M{60u7=S1wiw)7ECi=qDK}yOM~yJ)oA-#w0)Y}5K2D@
z<sXD{qj5I<_~fdPToaNjLK0WTYi1KOIrp?@+Or|W4gdWSwCtIn8w!A;8c+-0?Q>2R
ztupm%O#O;=Ek5U+&el!xGg+=yvnF;Zt646Zbf2QAa#khhLv14vC(w$)bY}WTRZ>@7
zq<RV4LEzjye=A4Mxk{jCvCIF*L3fe&eduE7CKn|kfeEx8dWR3=L$SH69KW0Xk+e3J
zQMAlZZ=E*OcdcJl$xomjLQoRJ#B!6mno-i4>FQOKjMZO_qB`k8yaU3d(N_TE`5zoa
IKc&lm0a>0ARsaA1

diff --git a/server/map/get_relation.py b/server/map/get_relation.py
index ba0a3d1d..e97ffba0 100644
--- a/server/map/get_relation.py
+++ b/server/map/get_relation.py
@@ -27,11 +27,12 @@ def get_relation(self, body_of_water: str):
     # Divide all polygons into sections
     for polygon in polygons:
 
-        # Divide the length and with of polygon into a grid
+        # Divide the length and with of polygon into a grid of equally sized parts
         grid_lines = create_grid_coords(polygon, cell_size=0.1)
 
-        hrz_lines = grid_lines[1]  # Horizontal coordinates
-        vrt_lines = grid_lines[0]  # Vertical coordinates
+        vrt_lines = grid_lines[0]  # Vertical grid coordinates
+        hrz_lines = grid_lines[1]  # Horizontal grid coordinates
+
         for line in vrt_lines:
             print("Line: ", line)
 
@@ -39,22 +40,26 @@ def get_relation(self, body_of_water: str):
         for hrz_line in hrz_lines:
 
             # Split shape into upper and lower section as hrz_line as divider
-            cut_poly_1 = cut_polygon_in_two(polygon, hrz_line, True)
-            polygon_part = cut_poly_1[0]  # Save upper horizontal section
+            divided_poly = cut_polygon_in_two(polygon, hrz_line, True)
+            horizontal_section = divided_poly[0]  # Save upper horizontal section
 
-            if not polygon_part or not cut_poly_1[0]:
+            if not horizontal_section or not divided_poly[0]:
                 continue
 
-                # Cut each horizontal section into vertical sections, right to left
+            # Cut each horizontal section into vertical sections, right to left
             for vrt_line in vrt_lines:
-                cut_poly_2 = cut_polygon_in_two(polygon_part, vrt_line, False)
+                if len(horizontal_section.exterior.coords) < 3:
+                    break # Break from loop im remaining section has no coordinates
+
+                # Split the horizontal section into two vertical parts
+                vertical_parts = cut_polygon_in_two(horizontal_section, vrt_line, False)
 
-                divided_map.append(cut_poly_2[0])  # Append part to final list of shapes
+                divided_map.append(vertical_parts[0])  # Append split vertical sections to final list of shapes
 
-                # Set polygon_part to the remaining, un-split, horizontal section for next iteration
-                polygon_part = cut_poly_2[1]
+                # Set horizontal_section to the remaining, un-split, horizontal section for next iteration
+                horizontal_section = vertical_parts[1]
 
-            polygon = cut_poly_1[1]  # Set polygon to the remaining, un-split shape for next iteration
+            polygon = divided_poly[1]  # Set polygon to the remaining, un-split shape for next iteration
 
         divided_map.append(polygon)
 
@@ -72,7 +77,7 @@ def get_relation(self, body_of_water: str):
 
         x, y = polygon.exterior.xy
         ax.plot(x, y, color='blue', alpha=0.5)
-        ax.fill(x, y, color=random_color, alpha=0.5)
+        ax.fill(x, y, color=random_color, alpha=1)
 
     plt.show()
 
-- 
GitLab