From 812dc3cc64a2c61a9fb7906160a24f3ffa550d5d Mon Sep 17 00:00:00 2001 From: ZarebaMichal Date: Sun, 22 May 2022 18:32:43 +0200 Subject: [PATCH] test geo --- run2.py | 72 ++- test-A/out.tsv | 1440 ++++++++++++++++++++++++------------------------ 2 files changed, 781 insertions(+), 731 deletions(-) diff --git a/run2.py b/run2.py index b17c11d..f031ff3 100644 --- a/run2.py +++ b/run2.py @@ -5,26 +5,56 @@ from sklearn.linear_model import LinearRegression from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense +# Import the required library +from geopy.geocoders import Nominatim + +# Initialize Nominatim API +geolocator = Nominatim(user_agent="MyApp") + + + in_columns = ["id_stacji", "nazwa_stacji", "typ_zbioru", "rok", "miesiąc"] df = pd.read_csv("train/in.tsv", names=in_columns, sep="\t") df_test = pd.read_csv("dev-0/in.tsv", names=in_columns, sep="\t") df = pd.concat([df, df_test]) -df = df.drop(["nazwa_stacji"], axis=1) -x = pd.get_dummies(df, columns=["id_stacji", "typ_zbioru", "rok", "miesiąc"]) +# df = df.drop(["nazwa_stacji"], axis=1) +x = pd.get_dummies(df, columns=["id_stacji", "rok", "miesiąc"]) +geo_lat = { + "BIEBRZA-PIEŃCZYKÓWEK" : 53.65 +} +geo_long = { + "BIEBRZA-PIEŃCZYKÓWEK": 22.58 +} +for xd in x["nazwa_stacji"].unique(): + location = geolocator.geocode(xd) + if xd == "BIEBRZA-PIEŃCZYKÓWEK": + pass + else: + print(xd) + geo_lat[xd] = location.latitude + geo_long[xd] = location.longitude + +x["latitude"] = x["nazwa_stacji"].map(geo_lat) +x["longitude"] = x["nazwa_stacji"].map(geo_long) +x = x.drop(["nazwa_stacji", "typ_zbioru"], axis=1) + +print(x) +print(geo_lat) +print(geo_long) x = x.iloc[:-600] y = pd.read_csv("train/expected.tsv", sep="\t", names=["rainfall"]) from sklearn.preprocessing import PolynomialFeatures # xxx -poly = PolynomialFeatures(2, interaction_only=True) -df = poly.fit_transform(x) +# poly = PolynomialFeatures(2, interaction_only=True) +# df = poly.fit_transform(x) model = Sequential( [ - Dense(512, activation="relu", input_dim=2927), + Dense(512, activation="relu", input_dim=75), tensorflow.keras.layers.BatchNormalization(), Dense(512 // 2, activation="relu"), tensorflow.keras.layers.BatchNormalization(), @@ -41,19 +71,39 @@ model = Sequential( model.compile( loss="mean_squared_error", optimizer="adam", metrics=["mean_squared_error"] ) -model.fit(df, y, epochs=100) +model.fit(x, y, epochs=100) x_test = pd.read_csv("test-A/in.tsv", sep="\t", names=in_columns) df_train = pd.read_csv("train/in.tsv", names=in_columns, sep="\t") +geo_lat = { + "BIEBRZA-PIEŃCZYKÓWEK" : 53.65 +} +geo_long = { + "BIEBRZA-PIEŃCZYKÓWEK": 22.58 +} x_test = pd.concat([x_test, df_train]) -x_test = x_test.drop(["nazwa_stacji"], axis=1) -x_test = pd.get_dummies(x_test, columns=["id_stacji", "typ_zbioru", "rok", "miesiąc"]) + +for xd in x_test["nazwa_stacji"].unique(): + location = geolocator.geocode(xd) + if xd == "BIEBRZA-PIEŃCZYKÓWEK": + pass + else: + print(xd) + geo_lat[xd] = location.latitude + geo_long[xd] = location.longitude + + +x_test["latitude"] = x_test["nazwa_stacji"].map(geo_lat) +x_test["longitude"] = x_test["nazwa_stacji"].map(geo_long) + +x_test = x_test.drop(["nazwa_stacji", "typ_zbioru"], axis=1) +x_test = pd.get_dummies(x_test, columns=["id_stacji", "rok", "miesiąc"]) x_test = x_test.iloc[:-8760] -poly = PolynomialFeatures(2, interaction_only=True) -x_test2 = poly.fit_transform(x_test) -pred = model.predict(x_test2) +# poly = PolynomialFeatures(2, interaction_only=True) +# x_test2 = poly.fit_transform(x_test) +pred = model.predict(x_test) out = pd.DataFrame(pred) out.to_csv("test-A/out.tsv", sep="\t", header=False, index=False) diff --git a/test-A/out.tsv b/test-A/out.tsv index 58c0346..9be0f74 100644 --- a/test-A/out.tsv +++ b/test-A/out.tsv @@ -1,720 +1,720 @@ -33.616394 -28.720098 -31.573494 -48.904182 -105.503136 -132.60425 -264.1038 -109.09593 -26.973349 -40.403633 -13.708585 -41.371574 -29.80106 -29.882685 -26.021349 -39.032623 -83.908005 -93.98873 -220.0152 -81.41443 -26.833788 -45.20864 -10.6357155 -36.73463 -30.09522 -32.673557 -21.741404 -33.57563 -52.692272 -55.67911 -179.70164 -54.43069 -19.39751 -25.938307 -15.178232 -35.352108 -38.34198 -27.001135 -26.691172 -38.46443 -47.98997 -47.10396 -149.74597 -67.15999 -25.296583 -27.265074 -15.263696 -44.07026 -30.847435 -27.723047 -23.06867 -37.00159 -49.84098 -44.176327 -210.57796 -46.72608 -16.864473 -26.007387 -15.691305 -37.52314 -34.258514 -30.73133 -22.736433 -35.29523 -55.0041 -75.000595 -145.8498 -76.26061 -25.077803 -28.729017 -15.269119 -40.209938 -74.27409 -42.70811 -32.01147 -59.2903 -94.18529 -137.44333 -159.12784 -71.993515 -42.939304 -72.491684 -36.52544 -32.59803 -56.238247 -31.757023 -23.121943 -47.741116 -44.621796 -102.1028 -96.243515 -46.98976 -43.083813 -82.6409 -32.862976 -22.981129 -49.22537 -33.0698 -22.16965 -36.32363 -42.826492 -81.87776 -91.52254 -41.527405 -30.542767 -49.20948 -34.15792 -29.447866 -51.40732 -31.636261 -25.23285 -43.764423 -34.956715 -74.58821 -79.26625 -47.33351 -38.96772 -44.75721 -34.305405 -31.337309 -44.631153 -30.946632 -20.80658 -40.620575 -36.119705 -77.61303 -87.3127 -45.617077 -27.47473 -42.495834 -32.165096 -28.74209 -48.717323 -28.91077 -23.664644 -42.410767 -57.135025 -88.29085 -86.8178 -50.31596 -34.607754 -65.17146 -35.983833 -29.81299 -58.906513 -40.728394 -44.139015 -46.61905 -111.00684 -168.17487 -51.28788 -105.28302 -100.73251 -25.444868 -75.56453 -27.867178 -50.437332 -35.130104 -41.62301 -34.488037 -102.83989 -116.27333 -54.352997 -48.091377 -93.28633 -21.432772 -50.03206 -25.04284 -42.92518 -35.32674 -33.576885 -26.479038 -83.48953 -74.207794 -30.897783 -33.78383 -72.27065 -19.374365 -37.235893 -25.324188 -44.927383 -32.849083 -32.823364 -30.734114 -81.78095 -54.68878 -33.125454 -44.694504 -52.656292 -20.444899 -38.36217 -31.228521 -38.19899 -33.05478 -31.243507 -31.392868 -49.705433 -47.703636 -29.966532 -37.259357 -33.386665 -21.716923 -37.82277 -25.905264 -46.951992 -35.71922 -43.86695 -37.520725 -143.69742 -110.32797 -46.91488 -35.247334 -89.057465 -21.028864 -41.178154 -24.77432 -40.968765 -24.889841 -48.24639 -64.72097 -143.46202 -115.85364 -150.61523 -111.7841 -55.950188 -39.40708 -26.42344 -46.409584 -30.130606 -20.963913 -47.019814 -53.01019 -116.337585 -87.78591 -123.45033 -98.324356 -40.87982 -36.602943 -24.982136 -32.91307 -38.013313 -25.192741 -38.07954 -38.54232 -73.439545 -53.884476 -110.523384 -79.20006 -23.671482 -24.644447 -27.49347 -46.968117 -45.53428 -21.4128 -42.296265 -43.376366 -71.75123 -50.545242 -112.040054 -99.759125 -32.52346 -26.375622 -28.012476 -44.6913 -39.11989 -23.714201 -38.78657 -41.84393 -54.764812 -51.25145 -93.22293 -98.668594 -24.591646 -23.668503 -26.809122 -48.984077 -43.080826 -27.351688 -43.988667 -45.515923 -108.81488 -65.90033 -100.24242 -84.94806 -28.419146 -26.899553 -29.472597 -59.036774 -65.60808 -28.64931 -48.577133 -45.697384 -108.82227 -85.63164 -75.27658 -27.075338 -108.96389 -44.407852 -72.42909 -22.935991 -50.11509 -24.007166 -43.26364 -34.984344 -88.4816 -36.06456 -69.818115 -25.1454 -93.30397 -63.535313 -69.28337 -22.82678 -45.55188 -26.176645 -35.637238 -28.712866 -54.523224 -26.495396 -60.836586 -26.86822 -33.77121 -36.726616 -47.713562 -29.381433 -53.610657 -24.85195 -44.754215 -28.87717 -48.782494 -28.13334 -45.686516 -24.853868 -40.567707 -36.318165 -45.817448 -32.679058 -43.32327 -25.07492 -36.06575 -34.60835 -39.15341 -26.350662 -48.374687 -24.537054 -32.966515 -31.220411 -43.989967 -30.860039 -50.02176 -19.783323 -44.597786 -34.07965 -115.939835 -37.6532 -71.330055 -16.2251 -71.8365 -39.24594 -51.759125 -32.70132 -38.95661 -92.04613 -38.180073 -60.470448 -101.398636 -109.118484 -138.15125 -101.88187 -37.543602 -104.659836 -48.34968 -47.83464 -32.9731 -77.098724 -34.274628 -46.103718 -71.18556 -80.36127 -104.06707 -66.99188 -41.183876 -100.46411 -37.829887 -45.079098 -30.218931 -60.545143 -31.038649 -29.927588 -34.609833 -50.552948 -112.67456 -51.771755 -27.41015 -54.29948 -39.4636 -47.62928 -32.530636 -67.55336 -36.00049 -34.19323 -34.33722 -48.898148 -80.07897 -66.9969 -34.60029 -74.264885 -34.498093 -50.588234 -25.674425 -57.823097 -32.887653 -34.0319 -35.875916 -48.24034 -78.70654 -58.444427 -27.396692 -73.41765 -36.294975 -52.154556 -30.38323 -65.844505 -34.890717 -32.11827 -54.412132 -50.290577 -86.99456 -48.383385 -30.758339 -96.25969 -44.833538 -49.000275 -20.511917 -32.53255 -45.390068 -98.5814 -104.57776 -135.51126 -135.86609 -111.258316 -114.16249 -85.147705 -61.619415 -36.110474 -20.517874 -34.759468 -40.57412 -79.1677 -61.88658 -85.03392 -88.03456 -68.06975 -102.374954 -84.884674 -54.449257 -33.02819 -20.014608 -39.067818 -40.17038 -39.34664 -44.364136 -33.613586 -97.25624 -57.450363 -87.38784 -45.586937 -45.834385 -33.070255 -21.403254 -37.456238 -38.66285 -40.43676 -33.578842 -39.74326 -97.53067 -61.2617 -89.77065 -65.302376 -45.169582 -34.719193 -20.732601 -36.587112 -37.92301 -40.944813 -40.639153 -42.007153 -90.15202 -65.906815 -55.7332 -58.60903 -45.461514 -31.961657 -19.71884 -34.71994 -46.51362 -52.54252 -41.41368 -66.31524 -76.11444 -54.350735 -100.03662 -84.05061 -50.52232 -38.27754 -25.984213 -29.50005 -35.576347 -40.983025 -98.89457 -133.8259 -109.98657 -100.5179 -63.40714 -57.888565 -21.182318 -66.18048 -25.082106 -24.425777 -26.534182 -30.86012 -66.95292 -98.80063 -110.121216 -60.68963 -53.73908 -56.651863 -17.836342 -51.32512 -27.667818 -26.91311 -26.11202 -24.762321 -33.913925 -62.96502 -111.78929 -53.58008 -32.57471 -41.479324 -23.586424 -60.525238 -35.21848 -22.73308 -28.469667 -30.342205 -36.654797 -44.268986 -101.053024 -59.964523 -41.04371 -42.65538 -22.292343 -72.85211 -29.018572 -25.331202 -24.484932 -31.251432 -35.43946 -48.862717 -95.84473 -48.254272 -34.384087 -42.113503 -21.840338 -67.2161 -30.50234 -22.38653 -27.92999 -33.01451 -44.807327 -72.73487 -105.35623 -58.157646 -38.69411 -48.014324 -25.655115 -64.182434 -66.02808 -21.580307 -39.46666 -51.720253 -117.55926 -51.839336 -82.90811 -118.687775 -101.84315 -43.184578 -49.415367 -53.76322 -46.917126 -22.686857 -36.702583 -39.05166 -110.75285 -38.670452 -63.276443 -78.676834 -86.58879 -36.938007 -38.02066 -45.71307 -43.55497 -29.586676 -38.7183 -28.552221 -87.606606 -22.097174 -74.39612 -75.641174 -47.305004 -30.406507 -29.472635 -42.69226 -46.4338 -24.900616 -38.596558 -24.661139 -87.50395 -25.32984 -57.262417 -69.73862 -50.98871 -27.554064 -28.508612 -41.058575 -40.288593 -23.734783 -36.559258 -34.702526 -71.05646 -21.844769 -52.50975 -73.629456 -43.95579 -28.4795 -30.396582 -43.621933 -47.72581 -22.266623 -38.87898 -22.528368 -135.99297 -40.050274 -62.615864 -65.81364 -65.25102 -33.425262 -33.24559 -42.62167 -28.739386 -78.202255 -30.634192 -22.857374 -114.13524 -147.67743 -153.17175 -111.09166 -79.69212 -80.68269 -26.411356 -35.5627 -25.727644 -60.179844 -24.27048 -20.473225 -103.059685 -131.06812 -70.09923 -92.994354 -83.65387 -88.63628 -23.813951 -30.0813 -29.127552 -51.937706 -25.662252 -14.739842 -75.096085 -62.625576 -35.547356 -87.917206 -38.927017 -53.904945 -25.458797 -32.855362 -33.407173 -53.968998 -26.956564 -15.654107 -77.03762 -71.50093 -37.66947 -98.7719 -37.889603 -70.974396 -24.898062 -36.052834 -28.40734 -45.586838 -24.841959 -16.71942 -63.621693 -57.148148 -40.79934 -91.2758 -27.855497 -59.959015 -24.118898 -31.952488 -29.064268 -51.570076 -27.142445 -16.85438 -103.20529 -90.96716 -51.563705 -88.85153 -57.603523 -79.76681 -29.19793 -34.905453 +107.65082 +135.47964 +126.45245 +108.18219 +104.65402 +171.56335 +166.83093 +101.39545 +99.92923 +112.54837 +122.56671 +118.03012 +169.62183 +171.27502 +173.156 +117.727936 +135.4339 +175.63162 +228.53131 +140.96301 +192.41971 +158.31949 +168.44449 +180.71759 +137.37546 +122.61322 +125.60437 +59.532227 +83.56799 +112.72958 +184.19376 +86.269714 +154.16031 +109.81589 +115.785706 +131.44876 +169.26242 +143.7692 +143.05777 +88.45184 +117.35886 +114.32718 +216.4719 +103.05057 +165.34796 +133.88324 +136.6854 +141.19843 +149.15344 +108.73761 +115.216736 +66.292114 +90.07626 +92.28671 +188.15894 +76.3526 +137.55151 +105.964966 +108.59711 +112.90103 +121.48981 +144.93881 +97.30054 +76.21512 +103.59494 +137.4227 +166.07217 +116.14905 +117.56381 +135.49948 +134.93716 +137.31824 +191.5268 +212.83054 +207.95807 +223.28082 +185.31418 +256.84705 +250.65277 +171.68683 +186.2919 +197.82965 +206.08386 +199.32327 +253.05148 +284.28806 +279.34924 +230.42197 +249.92267 +285.59067 +342.21765 +249.4725 +276.2243 +275.6661 +284.15222 +287.22858 +242.58429 +222.53726 +223.61383 +164.71625 +190.1922 +213.43332 +287.54132 +191.90561 +265.52612 +213.61139 +221.84692 +241.48596 +257.21375 +234.3476 +237.41278 +176.29285 +205.98035 +202.18964 +311.94568 +196.88153 +254.55637 +219.40698 +222.65613 +231.65695 +224.4914 +204.57129 +211.10068 +150.1991 +185.44232 +175.57211 +284.17944 +171.27054 +232.41443 +202.07492 +202.56018 +214.3088 +185.75977 +217.99933 +200.82138 +180.9975 +189.80121 +247.4386 +254.69891 +176.08716 +186.0293 +200.05286 +207.41156 +202.95706 +186.56787 +138.23145 +128.98505 +137.73447 +105.637024 +168.82831 +171.74121 +100.60394 +214.49344 +122.559204 +127.56134 +171.96283 +164.93051 +200.78293 +215.64331 +193.99084 +177.55328 +234.83102 +253.74283 +166.48276 +181.87057 +179.25308 +195.89087 +197.85797 +161.33453 +192.89514 +193.35065 +137.57455 +157.57281 +190.09262 +252.54712 +160.5102 +196.15283 +172.53677 +189.97852 +207.22144 +224.68103 +200.13635 +202.4697 +152.37646 +178.9638 +173.94476 +269.89813 +164.71454 +219.77728 +187.15198 +194.6247 +199.83264 +190.84451 +167.06345 +174.15054 +123.98978 +149.01315 +154.8937 +240.80804 +134.943 +195.10522 +159.2839 +169.32562 +171.91415 +113.2225 +143.39084 +119.25989 +141.15643 +109.627014 +176.29733 +168.67468 +104.41196 +110.69653 +123.533264 +126.18991 +124.01257 +187.50912 +206.4975 +197.69327 +203.4436 +177.43512 +251.05731 +242.81738 +160.96701 +187.45184 +198.40439 +201.27695 +199.40613 +236.25446 +252.69937 +251.7414 +206.42944 +221.97137 +263.96167 +315.2691 +219.36942 +255.69855 +244.36548 +253.27078 +267.91107 +217.19296 +199.03162 +202.69482 +144.80927 +164.14734 +198.48755 +262.13953 +164.31165 +236.22388 +185.43756 +194.24518 +213.47388 +240.40747 +216.22699 +215.46246 +162.53882 +190.97845 +194.8952 +284.33698 +179.83423 +232.41974 +202.47543 +204.82968 +211.78943 +212.5835 +179.8931 +186.55902 +136.21542 +165.6182 +162.0444 +257.91754 +147.62018 +206.5774 +176.53754 +182.51315 +189.12833 +177.05835 +206.785 +183.5102 +157.35449 +175.53268 +229.46292 +245.70856 +162.62408 +181.44882 +193.30225 +197.59592 +196.10046 +185.61017 +203.33582 +201.00793 +170.31662 +174.97827 +241.97055 +239.68658 +160.96042 +184.77142 +196.3616 +197.42297 +193.78629 +238.76257 +218.68024 +222.48572 +174.89716 +190.09363 +230.24103 +279.60977 +188.15027 +255.05475 +208.99258 +220.18146 +236.48846 +181.53925 +164.07794 +171.16156 +108.62378 +134.18549 +165.28104 +228.30557 +133.15753 +203.28125 +150.12784 +159.96454 +183.0946 +200.8421 +169.25461 +172.85925 +125.00238 +149.12018 +152.21246 +248.41498 +134.14395 +199.69055 +165.15414 +165.4515 +181.87088 +168.10968 +138.8634 +149.57312 +96.04672 +124.44937 +123.525116 +217.79517 +108.5943 +170.65765 +141.28146 +140.82037 +155.93927 +176.42624 +182.23022 +157.94162 +129.75262 +150.79822 +198.32062 +228.22324 +147.65955 +181.20996 +181.62604 +184.25577 +196.26102 +208.76862 +227.4786 +222.37341 +234.4177 +202.44473 +269.99567 +267.92313 +187.82101 +197.77911 +209.40677 +222.55515 +217.09189 +249.64673 +284.67148 +291.6352 +240.58551 +268.25946 +304.49097 +333.88486 +254.39581 +272.16913 +275.0692 +282.9067 +282.7915 +242.00684 +225.30902 +220.19427 +161.82187 +192.97327 +223.64319 +292.42365 +187.98004 +271.93378 +217.03546 +222.22345 +241.20892 +250.18365 +219.95233 +220.06116 +194.31787 +191.66986 +232.1784 +293.56168 +182.85275 +239.12177 +206.8713 +207.83047 +217.41696 +225.66144 +190.94247 +195.71262 +139.90817 +171.47229 +169.16614 +273.70874 +158.35455 +221.73822 +192.6214 +188.94794 +201.10822 +192.96765 +234.37152 +219.54724 +200.51935 +203.76868 +265.4116 +269.01755 +187.70285 +202.62073 +213.32605 +220.43417 +218.51239 +114.63336 +136.81747 +112.17288 +142.75272 +106.66449 +174.57104 +169.85608 +100.51312 +105.89099 +120.14633 +126.607056 +120.991516 +161.12286 +190.19925 +195.42734 +143.34314 +169.02597 +207.2215 +244.91245 +156.57666 +177.7124 +177.98611 +188.8825 +187.28732 +152.31842 +139.788 +147.84863 +82.96521 +108.90842 +140.59415 +203.57886 +103.71442 +179.98962 +125.82565 +134.74677 +155.54938 +173.27475 +149.3454 +150.68027 +102.716 +129.78357 +121.73987 +226.49133 +108.03476 +169.90536 +139.09314 +144.9289 +149.98068 +144.87546 +113.08502 +123.99109 +72.32068 +97.761566 +95.68375 +195.90875 +83.00308 +142.73526 +106.256714 +115.23691 +123.27936 +111.841156 +141.68054 +112.20648 +103.40463 +114.99701 +177.55087 +168.88629 +108.26459 +114.4155 +130.9718 +130.62576 +127.161194 +219.3739 +243.69916 +232.1514 +238.46558 +206.00397 +265.50937 +274.74237 +200.24124 +264.2047 +228.77887 +230.53687 +235.22562 +251.04935 +289.10327 +291.40167 +282.20776 +261.6612 +309.85455 +324.01242 +254.008 +251.89606 +272.09604 +274.97385 +268.66434 +234.7088 +272.78406 +261.19443 +212.68701 +235.45428 +261.26093 +315.4947 +237.74655 +250.3453 +253.92053 +256.06003 +269.26962 +274.81238 +245.96616 +239.13104 +193.51944 +210.71588 +217.38281 +303.40167 +207.26953 +259.5609 +225.35632 +230.97968 +238.55023 +241.63574 +226.62946 +217.1836 +171.86078 +187.1261 +201.1817 +284.9395 +192.14526 +240.30536 +209.28064 +214.21213 +219.65442 +214.05066 +234.7063 +222.60538 +235.84222 +203.49326 +274.48962 +270.6978 +186.53018 +216.82257 +225.01285 +225.82846 +225.2351 +164.05823 +186.33356 +171.81409 +190.84485 +155.51135 +218.08194 +224.87796 +142.22351 +151.99686 +168.00302 +179.14035 +172.67725 +211.03885 +244.1178 +238.09015 +197.43628 +219.96002 +251.57022 +296.99908 +211.24011 +222.98087 +235.08243 +243.74829 +239.29099 +195.93939 +181.3966 +181.02823 +128.2331 +157.66077 +177.44553 +243.66248 +151.87616 +218.91373 +169.65186 +179.1828 +195.89722 +214.85886 +196.45453 +194.7207 +140.74081 +163.05042 +161.61935 +262.4438 +155.01501 +213.95532 +175.01556 +183.97131 +189.08673 +180.27957 +165.97043 +170.76367 +116.47699 +141.50592 +132.60065 +235.24597 +132.00882 +186.3252 +154.0409 +162.28168 +163.57849 +155.71698 +190.81946 +168.08664 +153.77124 +161.61276 +221.08594 +225.60297 +153.72177 +155.7551 +174.13983 +179.32736 +173.54352 +227.15222 +193.88397 +194.65341 +189.66885 +151.90015 +217.1011 +219.81537 +136.50128 +247.44952 +195.29883 +177.68399 +235.65228 +213.62793 +252.25906 +262.64545 +267.14465 +229.40948 +282.33783 +306.33252 +218.20721 +227.69568 +234.90753 +249.32422 +245.9917 +199.03815 +243.4779 +248.05768 +194.51477 +222.0849 +241.44513 +306.17493 +215.1723 +230.87079 +226.31128 +236.55115 +246.3606 +245.18741 +223.3327 +224.00482 +169.93439 +198.50269 +192.07141 +292.3111 +182.7445 +239.66333 +199.25592 +212.24515 +216.81552 +210.12659 +201.49036 +203.90283 +152.76578 +178.45044 +175.19806 +275.45197 +166.71475 +224.78827 +186.84546 +193.94986 +202.29355 +154.49783 +179.08807 +170.7002 +189.92633 +153.73834 +224.194 +220.90027 +140.2713 +157.12067 +170.82245 +175.32294 +171.24738