From 792d6c3c23030dff9da985937cd555b25837d8d4 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Thu, 21 Mar 2024 15:06:03 +0100 Subject: [PATCH] update: backtrack --- server/main.py | 5 ++- .../map/__pycache__/add_lake.cpython-311.pyc | Bin 7007 -> 7007 bytes .../get_measurements.cpython-311.pyc | Bin 4774 -> 4774 bytes .../__pycache__/process_lake.cpython-311.pyc | Bin 0 -> 2163 bytes server/map/process_lake.py | 42 ++++++++++++++++++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 server/map/__pycache__/process_lake.cpython-311.pyc create mode 100644 server/map/process_lake.py diff --git a/server/main.py b/server/main.py index 66166825..cdc9cbd8 100644 --- a/server/main.py +++ b/server/main.py @@ -3,6 +3,7 @@ from http.server import HTTPServer, BaseHTTPRequestHandler from consts import SSL_CERT_PATH, SSL_KEY_PATH, HOST, PORT from map.get_measurements import get_all_markers from map.add_lake import cut_map +from map.process_lake import fetch_divided_map from APIs.get_weather import get_weather from map.input_new_data import input_new_Lidar_data import ssl @@ -40,7 +41,9 @@ class IceHTTP(BaseHTTPRequestHandler): get_all_markers(self, self.cursor, 'mjosa') # Get all markers # NB: temporary hardcoded waterBodyName elif self.path == '/get_relation': - cut_map(self, 'Mjosa') # NB temp hardcoded value + fetch_divided_map(self, 'Mjosa') # NB temp hardcoded value + elif self.path == '/divide_new_relation': + cut_map(self, 'Mjosa') def do_POST(self): if self.path == '/get_weather_data': diff --git a/server/map/__pycache__/add_lake.cpython-311.pyc b/server/map/__pycache__/add_lake.cpython-311.pyc index 5791d4e3b431d3b5e9e3a8bfa6f60c3045aaf4dc..254a045f6358b78911bb45510bbcff0aec323d29 100644 GIT binary patch delta 20 bcmca_cHfM9IWI340|NuYKHEPVxkID@L`nuD delta 20 bcmca_cHfM9IWI340|NuYVVmC@xkID@L}CUe diff --git a/server/map/__pycache__/get_measurements.cpython-311.pyc b/server/map/__pycache__/get_measurements.cpython-311.pyc index bbc96f8594f835ec1a5d086589f2e08eceb06fce..368701cd4bb230294da15f554647bff65ca17497 100644 GIT binary patch delta 20 ccmZ3cx=fXOIWI340|NuYKHEPVxn~Oj06Fyq%>V!Z delta 20 ccmZ3cx=fXOIWI340|NuYdWqi~xn~Oj063`ym;e9( diff --git a/server/map/__pycache__/process_lake.cpython-311.pyc b/server/map/__pycache__/process_lake.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e90dfd53b3146fc294e1a9df3203d5e8fb93bce GIT binary patch literal 2163 zcmZ3^%ge>Uz`)RK_a{|{m4V?ghy%k+P{!vx1_p-d3@HpLj5!QZj42E$OgT)s%u&p_ zEKw}EtWm6tAUWn7wp{io_FRrAj$F<tPOunb4p%OB6c3cm8^sGYgD;8?O!G(agK2>% zffSY&hA6=l))s~+p%lho22Hk?Aj|zUnQyTN<mXhT=jYwx^2y9g4K69l%uBz;?^~Kv zl8F$|WWL3jlbM&An_85fdW*X>FR`dHzBDfrq^$s=KeH+|8RjF9*=!6949pA+44;!2 zLB6YDSO5~mz$uK&7#SE=Gr}Yo8EP07z<DrH5S_x5!n}-$fnhb=7O+}452OZ$moYFf ztcGzI7#T{~;T(n(mKw$?1_p){RxrtiYNjbeEmIBC0v3dN1Pj&FTILi`yfC2ZXJp9Z zR%S3{C}t^Vs$h;}C}(73h-6@70J$}b6=v1~Q0TxoaJq(h0g^l6!VD?ws9}W41I2zY zgC>XH%M%O?3{^bN`FSO&c_q3fl?AC)0*M6$Iho0cC7Jno`dP*KdB4PpQ;W({i}Z66 zvs2@XQggsk#rnTE<5M!r^gv2(F&0&^mX@UHT4-|I;w?_iONlQ^EiTB<D^9(|4d!N~ zCZ?no-QosGLD<E&Sn>-}^KP*er6#7_Vl7Y0%t^h)T3(b{l6s3RH7_|oB~_E<7E5tz zPTDO_kYs#bVs7d!77+6mOG;u%VlgPl6%-T{epxzO#e^2878S?jmE@JixTF?mm*f}3 z6cpvB8(A6{#6Ua{lbZ+@OHM5=jt6;0ub}dlU|MQPat6pJnJK9$@wtfwMbZom3_J`B z48>0w7#JEDZm@7%XA!%^A~vD;B8&7D7U>Ht(qJ)>ODrN2;x4F~Uu3bk!eViO#R4vT zkwxqZi`WGgv9D|lTznV!)K*Ad<TKh3eUZ=MfbvC7w=0}(9~c-}rBA5b;1}+%?5gan z?y2rz`M}J`Dh-wZ6CXiJzJLfY7bo%K#}BM>91N_SEne4Izzz+W9z7{~f%rvH%`2js z7g@BfuxMR?p<*Eh28M%TqK@Xw2hCX=t=SLSF*;haCnM)7P)Y>n&S&7VrvynZ3(ihq ztYHA>5hf6cn(As9(?L0faRCwe&xIk@K8A^bp_aLprG_PiSrVSKYgubpQdp4qY$!RE zwT2Zvch#`gu%)ogVX9@vl}l^Tatk9vk3$VpFoPz$UlBJ0149ugHQeGVE=>ZZllaV( zTYNBfa%x^lYEcyrjGvierJ%`FBn#3d$H2g#$$E=9y&&ZlCn%N2gVQcYW=U#MQGR*x zE!Kjf%)F9YY>5R0sd*`y97W;`3=Fq8(o^%}LFxMz$kdd~vdrSl{Ji2@teJT!sTH@F zi}K46=HKEjE=_`~;b3530A&aeE|LNnCY+vH5}%n;9G{q%5)W}~agini0|Q95cm_Cu zKjjzdsl6a;x`Xqgtm6Uii?aR~`2()-2Q+xx5EgClxgjQZT}=IwnEFLA%`0M>9~ih; zAw(xv2Wv<14N-|1GFL>^I=F5~%3P4uy&|dC!S|Gdw<B*x)<q7@D;$~^I5a=7F-WW4 zkkk3V$}G<Hfq_|^tAqOk2Lq?*bq?uE9MUtqFLG#H;n27MMmM;{FR+Mz21U81@GZ{t z)ck_Pyp+V^B6*OH1d1~f3sQ3`_0m)Gb5l!-DvLm=vItZb6oJy{EpC{C{DR^lP^no2 zDk6(OVRK6`H?gE3C%+^oGfA(Y62!X22Bnz`a!PKo6(#1S<mcXE$xSTDxWxi4+nDl; z!9@Z%*j6$WX@TMv6nwupY;yBcN^?@}ip&@o7(khz7*vIPU}j`wyul!T0fufcI9|Yw zZZKF~z>RJ&$X`H3HyC&u!0-kGcLNwAF*qB*@B;@IqxJ^|I3dH&DDi;-lK^`L0BdFx A0RR91 literal 0 HcmV?d00001 diff --git a/server/map/process_lake.py b/server/map/process_lake.py new file mode 100644 index 00000000..b2f7b85c --- /dev/null +++ b/server/map/process_lake.py @@ -0,0 +1,42 @@ +import geopandas as gpd +from shapely.geometry import Polygon, LineString, MultiLineString +from shapely.ops import linemerge, unary_union, polygonize +import matplotlib.pyplot as plt +import random +import math +import json +import os + + +# Writes contents of a map json file to the response +def fetch_divided_map(self, file_name): + self.send_response(200) + self.send_header("Content-type", "application/json") + self.end_headers() + + # Extract contents from JSON file + with open("server/lake_relations/" + file_name + "_div.json", "r") as file: + data = file.read() + + # Write contents of the JSON file to response + self.wfile.write(data.encode('utf-8')) + + +# Returns a list of [(sub_div_id, sub_div_center)] +def get_ids_and_centers(file_name): # NB buggy + # Expected format: [(id, [x,y]), (id, [x,y])] + geo_data = gpd.read_file("server/lake_relations/" + file_name + "_div.json") + subdivisions = [] + for index, row in geo_data.iterrows(): + sub_div_id = row['sub_div_id'] + sub_div_center = row['sub_div_center'] + + print("sub_div_id: ", sub_div_id) + + subdivision = { + 'sub_div_id': sub_div_id, + 'sub_div_center': sub_div_center + } + subdivisions.append(subdivision) + return subdivisions + -- GitLab