From 80be3b432b67ab369a70bcab377243647b4f9af1 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Thu, 14 Mar 2024 13:58:25 +0100 Subject: [PATCH] update: polygonize MLS objects --- .../__pycache__/get_relation.cpython-311.pyc | Bin 5568 -> 5738 bytes server/map/get_relation.py | 16 +++++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/server/map/__pycache__/get_relation.cpython-311.pyc b/server/map/__pycache__/get_relation.cpython-311.pyc index 57774028a93d886b0fa26d86680cc748ead941c7..67094f1eecf163be9387b15f784434bc7cdcf9f9 100644 GIT binary patch delta 1239 zcmZ`&O>7%Q6rR~#d)K?RcWtL3!8J)6i0Z_R`B9XpR4Ir;6O|uT1<|eqmho=F!rJT3 zu7yA@;ZUH00}3P29(w_bP=rt<;DmaIgI!swwGvV;2*D`=gb*N=_a;s0g{PTs-|x(u zPj9cy{!+<&n#t${<k0WGx@;pezTO4n5^;z_ePUDiO1{*TZMmt~N;6?6D8^(z*;H+{ zso7dHWv7IX`ns))I>R;`YNs8=&8$jJ;(}sloun&+u7Ykl+67`;PRh+VI&8zuttOo` zMDh+jZIE*2XKd){vb=F^pBkG_b^OTt^1IIx)a0GySJdDYwK!%%N~}bl?}ienlank5 zAC~7e^*(xlzpXw%3;b)<PVWbINHK-wcu6}<r};^39D=TPd}<tPCIHGZJAk?Y5bJFg zv|Sc?ZpaSu@3jZ%D8H#ao>MU+i5ZITg%Q*EbE$dg=l#^1G{trOA!_j@y_6KEj`6x) z8N;UH^qL#hnCsUgFKDr4a2Z=4>t`ie*t(fsqSHn2l;t@2QqXBRAydF)v*<I}3hIv` zoaBvcrCI_NZ*RFwJPiAt{7-gCn8AF6qx{=!zghsTfh6sT28s;(xBbA&C9+1&OI>=L zyztI>xhr4cr{n_v+sr3f02USIKW1SrO6=7W(p4hl;g);?hkt(i0(O5_x}sp2Nh0j; zmP8p|vhL=8NLkpq#5u@P#o^P|$TRPDrPG87BD7fdT9L~_w-JSL`nC?-K_v8AVN`E5 zT!!tiIfTOq_^4gh63pVBb<g@K^gIg?VyYl%m!B#I5Jd1pP~IZL@nTOI-L^({h?ZCs za8Vf=<_E{#J9c@YZ%hr0sU4!G7Kg=&8^y}?V&&@d{o?$fIDhfUAI<U0l})p6E)Gm6 zRWgg)*1;Q(Smo<hdGp@QH@>O#t0xB46aAUx!OU{sS{Ya?J+UxPq+PA_t%ZTL(6bi) z+%`%*rNjzbX6_@Zm!Z8_3PN^<e~~Xe@i3Z-(`mNL3OfS^JBwhWo34g9JNQ!Z&^Z4Z z^CGwQN*J_iQBYfjzlAxF;qZLnr)(ikt+_$F-g4?88|CWA#34ayY=ke@+phomT+j~1 zyfZQRf?>R$y~xjvjIHA!i!l>iLQ`HN634R)MsVyz8-Hm>n}O5u-6i%a`0!s0e*oB# iDWyYlS8s0($)mmhUqf=FcjwC9X^<m)cHf4Acm4}9>MKkD delta 1121 zcmZuw-)kI29G}_U+uhqA_bb^Z>6#xBBE5P|qiGO|Bv|SXw1^T&bydzwX71d&d%MhT zl)}|kC{jv5(gEw6eNrFQg7~KX0peYW_SgrxH>ppt`XGYhd^as3I6M29&-cg7eD*uD zzcjvi*#5+}4J6vtpYGD$u03^eM;O-;K?DcL!(x;IDU>}qR6GTPUk(bP>ZzgTX`$}v zxeo`$(D2NA-14k^zU|rhSn^5)du5`~N?Rg@%ZgVeDwPG-1g{bOGV;bqkyeO7-3l@3 zcv~fw2ss3=qq=<u1U_Gvc0Y4I|M8;&uJX6kFR{UoY3^i6gfb=d1DZ&J&dsrk7+96R zt}Wns{+{*-uJNxl&vJ!3!H~i#d`3TpkMJ}4lnA!<)AN%sXGTC>W^=%yCYcelD5fm+ zX~G`l-|3HH=UVZ}stO4ONKgVlNtwnsiYr3SPVpVAbJJMHWxi%itNEf6eA8%5f~L&s z(6q^D&`SNN%bpf4`{u{S%Mz}AVXxwc4hu(J&eY9lyGs(L2$LNJpUIv9ehT1OPD+jA z4+sjIcPYz1%M|w9zwMv|b;t);<zJTu$7_OZL5c1+*gzKVZ`TA|M;&xQ>fzJqwI?pf zJ^2QIQ6A@im8&W{DlD9vf0t`gPvY;|6a39exs1`ysh+fs*nx6Bs2sj{pt!)wV$DqH zFrQ>KznfB)(5=+(cAEJ~u@^*`tqVw?j=Ay!(TflO*nr?G0xqG^l-pMh?W?Hj>?5^s zB8Mx=$Sl9Vc6IH;#|Gy7o;kmdl;Vk{kvn_aZQODjpPn7KD|_zBl`|u2=C-wP%UZY* z46NlnYq@VN|1mPB`^q${-Tbxs0XB|^eKILZ*aqJnn||sfm<rhr<GR8?2s;b#61Z_Y zfx?00Tya)=oB1hio=c)`GmV;UaTD35$Y}H5$9^sy%8DHt#jP%BCCuS>#%G_)%;b$$ zOoQ`_QJm!Wh~+m*gXODXD~*FF4gAf;_&l&oy*J8nAPgp!ib4hw*{giXnLGy<DL?1D zZbG-emF5bV1ra#+T<M?s<6%U$1G>sW;e%fxxhr5_#uyLLME`ytqNV=-^&$V(8Ry?S Z>P#P<9HQC&fBO*Gm-2`I;Or`}?LSka6<GiP diff --git a/server/map/get_relation.py b/server/map/get_relation.py index ab52cfcf..8b524205 100644 --- a/server/map/get_relation.py +++ b/server/map/get_relation.py @@ -1,8 +1,6 @@ import geopandas as gpd -from shapely.geometry import Polygon, LineString +from shapely.geometry import Polygon, LineString, MultiLineString from shapely.ops import linemerge, unary_union, polygonize -import matplotlib.pyplot as plt -import random import json import os @@ -84,17 +82,17 @@ def create_grid(poly: Polygon, cell_size): def combine_grid_with_poly(polygon, grid): - # Create an empty list to store tiles intersecting the polygon intersecting_tiles = [] - # Iterate through each grid line for line in grid: - # Check if the line intersects with the polygon if line.intersects(polygon): - # If the line intersects, find the intersection points intersection = line.intersection(polygon) - # Add each line to the list - intersecting_tiles.append(intersection) + # Check if intersection is a MultiLineString + if isinstance(intersection, MultiLineString): + # Extend the intersecting tiles with the polygonized results + intersecting_tiles.extend(list(polygonize(intersection))) + else: + intersecting_tiles.append(intersection) return intersecting_tiles -- GitLab