diff --git a/router/crawl.py b/router/crawl.py new file mode 100755 index 0000000..2a2fa00 --- /dev/null +++ b/router/crawl.py @@ -0,0 +1,84 @@ +#!/usr/bin/python + +import lxml.etree +import requests +import time +import subprocess +import gzip +from pymongo import MongoClient +client = MongoClient() + +db = client.freifunk +routers = db.routers + +routervpnif = "fffVPN" + +for router in routers.find({"bootstrap_ip": {"$exists": True}, "status": {"$ne": "offline"}}): +#for router in routers.find({"bootstrap_ip": {"$exists": True}, "status": "offline"}): + print(router["name"]) + try: + node_data = subprocess.check_output(["curl", "-s", "--max-time", "5", "http://[%s%%wlan0]/node.data" % router["bootstrap_ip"]]) + try: + node_data = gzip.decompress(node_data) + except: + pass + + assert "404" not in str(node_data).upper() + + tree = lxml.etree.fromstring(node_data) + print(" --> " + tree.xpath("/data/system_data/hostname/text()")[0]) + + router_update = { + "status": "online", + "has_wan_uplink": len(tree.xpath("/data/interface_data/fffVPN")) > 0, + "hostname": tree.xpath("/data/system_data/hostname/text()")[0], + "neighbours": [], # list of mongoDB ids (or mac if no corresponding id found) + "netifs": [], + } + + for netif in tree.xpath("/data/interface_data/*"): + interface = { + "name": netif.xpath("name/text()")[0], + "mtu": int(netif.xpath("mtu/text()")[0]), + "mac": netif.xpath("mac_addr/text()")[0].lower(), + } + if len(netif.xpath("ipv6_link_local_addr/text()")) > 0: + interface["ipv6_fe80_addr"] = netif.xpath("ipv6_link_local_addr/text()")[0].lower().split("/")[0] + if len(netif.xpath("ipv4_addr/text()")) > 0: + interface["ipv4_addr"] = netif.xpath("ipv4_addr/text()")[0] + router_update["netifs"].append(interface) + + + for originator in tree.xpath("/data/batman_adv_originators/*"): + o_mac = originator.xpath("originator/text()")[0] + o_nexthop = originator.xpath("nexthop/text()")[0] + # mac is the mac of the neighbour w2/5mesh if + # (which might also be called wlan0-1) + o_link_quality = originator.xpath("link_quality/text()")[0] + o_out_if = originator.xpath("outgoing_interface/text()")[0] + if o_mac.upper() == o_nexthop.upper(): + # skip vpn server + if o_out_if == routervpnif: + continue + neighbour = { + "mac": o_mac.lower(), + "quality": int(o_link_quality), + "net_if": o_out_if, + } + try: + neighbour["_id"] = routers.find_one({"netifs.mac": neighbour["mac"]})["_id"] + except: + pass + router_update["neighbours"].append(neighbour) + + routers.update_one({"_id": router["_id"]}, {"$set": router_update}) + + #from pprint import pprint + #pprint(router) + except subprocess.CalledProcessError: + #routers.update_one({"_id": router["_id"]}, {"$set": {"status": "offline"}}) + print(" --> OFFLINE (ignored)") + except AssertionError: + routers.update_one({"_id": router["_id"]}, {"$set": {"status": "error"}}) + print(" --> ERROR") + #import sys; sys.exit(1) diff --git a/router/mkcsv.py b/router/mkcsv.py index e334270..b43c148 100755 --- a/router/mkcsv.py +++ b/router/mkcsv.py @@ -16,6 +16,6 @@ csv.write("x,y,status\n") #for router in routers.find({"bootstrap_ip": {"$exists": True}}): for router in routers.find({}): - csv.write("%f,%f,%s\n" % (router["position"]["lng"], router["position"]["lat"], "online")) + csv.write("%f,%f,%s\n" % (router["position"]["lng"], router["position"]["lat"], router.get("status", "unknown"))) csv.close() diff --git a/router/parse_crawl_data.py b/router/parse_crawl_data.py index 35b0c42..c56d866 100755 --- a/router/parse_crawl_data.py +++ b/router/parse_crawl_data.py @@ -2,6 +2,11 @@ import lxml.etree import sys +from pymongo import MongoClient +client = MongoClient() + +db = client.freifunk +routers = db.routers routervpnif = "fffVPN" @@ -16,18 +21,20 @@ router = { "has_wan_uplink": len(tree.xpath("/data/interface_data/fffVPN")) > 0, "hostname": tree.xpath("/data/system_data/hostname/text()")[0], "neighbours": [], # list of mongoDB ids (or mac if no corresponding id found) - "netifs": {}, + "netifs": [], } for netif in tree.xpath("/data/interface_data/*"): - router["netifs"][netif.xpath("name/text()")[0]] = { + interface = { + "name": netif.xpath("name/text()")[0], "mtu": int(netif.xpath("mtu/text()")[0]), "mac": netif.xpath("mac_addr/text()")[0].lower(), } if len(netif.xpath("ipv6_link_local_addr/text()")) > 0: - router["netifs"][netif.xpath("name/text()")[0]]["ipv6_fe80_addr"] = netif.xpath("ipv6_link_local_addr/text()")[0].lower().split("/")[0] + interface["ipv6_fe80_addr"] = netif.xpath("ipv6_link_local_addr/text()")[0].lower().split("/")[0] if len(netif.xpath("ipv4_addr/text()")) > 0: - router["netifs"][netif.xpath("name/text()")[0]]["ipv4_addr"] = netif.xpath("ipv4_addr/text()")[0] + interface["ipv4_addr"] = netif.xpath("ipv4_addr/text()")[0] + router["netifs"].append(interface) for originator in tree.xpath("/data/batman_adv_originators/*"): @@ -45,10 +52,14 @@ for originator in tree.xpath("/data/batman_adv_originators/*"): "mac": o_mac.lower(), "quality": int(o_link_quality), "net_if": o_out_if, - #FIXME "_id": mongoDB router id } + try: + neighbour["_id"] = routers.find_one({"netifs.mac": neighbour["mac"]})["_id"] + except: + pass router["neighbours"].append(neighbour) -from pprint import pprint +routers.update_one({"name": router["hostname"]}, {"$set": router}) +from pprint import pprint pprint(router) diff --git a/router/red-dot.png b/router/red-dot.png new file mode 100644 index 0000000..b2f59e1 Binary files /dev/null and b/router/red-dot.png differ diff --git a/router/routers.csv b/router/routers.csv index b7d5f03..cfe6fe7 100644 --- a/router/routers.csv +++ b/router/routers.csv @@ -1,836 +1,836 @@ x,y,status -10.525941,50.139822,online -11.340223,49.559511,online -12.876245,47.722455,online -12.876491,47.722397,online -12.488864,47.671465,online -11.240508,49.493497,online -9.942015,49.788808,online -10.788091,49.406085,online -11.073679,49.416972,online -11.000646,49.591327,online -11.073677,49.416949,online -11.092324,49.445642,online -10.878385,49.874056,online -10.833539,49.904606,online -10.527627,50.016878,online -11.021527,49.592351,online -11.002459,49.458602,online -11.455897,49.296284,online -11.057572,49.457836,online -10.568271,50.092782,online -11.302936,49.392122,online -11.920480,50.309827,online -12.720754,49.386128,online -11.449773,49.292383,online -12.720866,49.385865,online -12.876390,47.722300,online -10.523081,50.138232,online -11.028449,49.452113,online -9.933486,49.789724,online -10.993559,49.571714,online -10.788976,49.286827,online -12.856180,47.719058,online -11.920712,50.309814,online -10.961113,50.264736,online -10.961126,50.264679,online -10.961212,50.264717,online -10.522011,50.137372,online -9.911240,49.793022,online -10.532133,50.121706,online -9.911216,49.793065,online -10.989276,49.566912,online -10.882714,49.567824,online -10.417507,49.501351,online -12.876530,47.719331,online -11.504769,50.015039,online -11.920552,50.309804,online -12.876685,47.719352,online -11.920657,50.309832,online -11.037655,49.436696,online -10.928628,49.487818,online -10.862520,49.466480,online -10.970516,49.483072,online -10.985384,49.461922,online -12.875139,47.726595,online -11.920662,50.309727,online -9.063665,50.000543,online -11.092141,49.442505,online -11.920510,50.309784,online -11.920698,50.309767,online -12.875386,47.726432,online -11.035052,49.591197,online -10.987194,49.466779,online -11.006825,49.589743,online -11.916872,50.321122,online -11.222889,49.088226,online -11.060126,49.445556,online -11.006780,49.589737,online -10.532584,50.122269,online -11.067386,49.301953,online -11.544093,49.950430,online -12.877645,47.724412,online -12.875267,47.722320,online -12.536847,47.896881,online -11.954381,49.023804,online -10.892891,49.901734,online -11.034815,49.591138,online -11.543986,49.950399,online -9.063855,50.000205,online -10.520334,50.035783,online -11.495819,50.010280,online -10.532606,50.122273,online -10.828609,49.910265,online -10.509678,50.031500,online -11.060536,49.444944,online -11.003145,49.596533,online -12.876127,47.722416,online -12.876697,47.722391,online -12.875267,47.726502,online -9.973182,49.772862,online -10.775375,49.753544,online -12.876486,47.722398,online -10.975685,50.249875,online -10.877489,49.464505,online -9.214525,49.807541,online -10.984582,49.495361,online -12.841281,47.811387,online -11.060577,49.445724,online -12.856177,47.719050,online -9.957237,49.742232,online -10.512596,50.036752,online -11.283375,49.513155,online -10.981525,49.477825,online -10.160924,50.536065,online -10.078261,49.139316,online -10.568912,50.093722,online -10.505220,50.031364,online -9.289469,50.014172,online -11.102089,49.462664,online -10.828762,49.910230,online -10.515771,50.026236,online -10.988399,49.553703,online -11.003712,49.468166,online -9.914954,49.799846,online -11.101679,49.462870,online -11.102170,49.462784,online -11.005146,49.773141,online -10.204013,50.099861,online -11.005097,49.591708,online -11.003650,49.468073,online -12.875263,47.726370,online -11.081888,49.448674,online -10.516281,50.025988,online -12.877034,47.724609,online -10.711131,49.954689,online -10.882779,49.886581,online -12.876674,47.724466,online -10.084902,49.138702,online -12.538333,47.896518,online -10.509713,50.031443,online -11.003559,49.468047,online -12.877489,47.722892,online -9.296888,50.011694,online -11.005032,49.591706,online -10.192121,49.911825,online -11.034805,49.591177,online -11.034863,49.591156,online -9.289490,50.014343,online -10.523518,50.138394,online -11.073559,49.451719,online -11.003615,49.468081,online -10.981610,49.477771,online -10.987268,49.466670,online -10.509616,50.031446,online -10.078175,49.139313,online -11.596222,49.916428,online -10.550256,49.997336,online -11.034688,49.591141,online -12.876406,47.722315,online -11.259447,49.803692,online -9.297121,50.011693,online -11.005627,49.594883,online -11.040246,49.599210,online -10.520345,50.035831,online -10.515629,50.026301,online -12.143921,50.171483,online -10.505234,50.031367,online -11.066998,49.457825,online -11.235197,49.251260,online -10.985279,49.480760,online -10.532642,50.122208,online -10.515552,50.026455,online -11.019059,49.594271,online -10.078316,49.139407,online -11.034968,49.590759,online -10.994214,49.583316,online -12.876858,47.724324,online -12.876854,47.724644,online -11.156668,49.461521,online -11.034869,49.591122,online -11.323428,49.895837,online -11.235317,49.251154,online -10.532659,50.122260,online -9.297108,50.011760,online -12.875285,47.726267,online -10.985285,49.480873,online -10.515627,50.026399,online -10.988130,49.099465,online -11.244049,49.495666,online -10.892679,49.901962,online -11.092974,49.445546,online -11.006354,49.589782,online +10.525941,50.139822,offline +11.340223,49.559511,offline +12.876245,47.722455,offline +12.876491,47.722397,offline +12.488864,47.671465,offline +9.942015,49.788808,unknown +10.788091,49.406085,offline +11.073679,49.416972,unknown +11.000646,49.591327,offline +11.073677,49.416949,unknown +11.092324,49.445642,unknown +10.878385,49.874056,offline +10.833539,49.904606,offline +10.527627,50.016878,offline +11.021527,49.592351,unknown +11.002459,49.458602,offline +11.455897,49.296284,offline +11.057572,49.457836,unknown +10.568271,50.092782,offline +11.302936,49.392122,offline +11.920480,50.309827,offline +12.720754,49.386128,unknown +11.449773,49.292383,offline +12.720866,49.385865,unknown +12.876390,47.722300,offline +10.523081,50.138232,unknown +11.028449,49.452113,unknown +9.933486,49.789724,unknown +10.993559,49.571714,unknown +10.788976,49.286827,offline +12.856180,47.719058,offline +11.920712,50.309814,offline +10.961113,50.264736,offline +10.961126,50.264679,offline +10.961212,50.264717,offline +10.522011,50.137372,unknown +9.911240,49.793022,unknown +10.532133,50.121706,offline +9.911216,49.793065,unknown +10.989276,49.566912,unknown +10.882714,49.567824,unknown +10.417507,49.501351,unknown +12.876530,47.719331,offline +11.504769,50.015039,offline +11.920552,50.309804,offline +12.876685,47.719352,offline +11.920657,50.309832,offline +11.037655,49.436696,unknown +10.928628,49.487818,offline +10.862520,49.466480,offline +10.970516,49.483072,offline +10.985384,49.461922,offline +12.875139,47.726595,offline +11.920662,50.309727,offline +9.063665,50.000543,offline +11.092141,49.442505,unknown +11.920510,50.309784,offline +11.920698,50.309767,offline +12.875386,47.726432,offline +11.035052,49.591197,offline +10.987194,49.466779,offline +11.006825,49.589743,offline +11.916872,50.321122,unknown +11.222889,49.088226,offline +11.060126,49.445556,unknown +11.006780,49.589737,offline +10.532584,50.122269,offline +11.544093,49.950430,offline +12.877645,47.724412,offline +12.875267,47.722320,offline +12.536847,47.896881,offline +10.892891,49.901734,offline +11.034815,49.591138,offline +11.543986,49.950399,offline +9.063855,50.000205,offline +10.520334,50.035783,offline +11.495819,50.010280,offline +10.532606,50.122273,offline +10.828609,49.910265,offline +10.509678,50.031500,offline +11.003145,49.596533,offline +12.876127,47.722416,offline +12.876697,47.722391,offline +12.875267,47.726502,offline +9.973182,49.772862,offline +10.775375,49.753544,offline +12.876486,47.722398,offline +10.975685,50.249875,offline +10.877489,49.464505,offline +9.214525,49.807541,offline +10.984582,49.495361,offline +12.841281,47.811387,offline +12.856177,47.719050,offline +9.957237,49.742232,offline +10.512596,50.036752,offline +10.981525,49.477825,offline +10.160924,50.536065,offline +10.078261,49.139316,offline +10.568912,50.093722,offline +10.505220,50.031364,offline +9.289469,50.014172,offline +10.828762,49.910230,offline +10.515771,50.026236,offline +10.988399,49.553703,offline +11.003712,49.468166,offline +9.914954,49.799846,offline +11.005146,49.773141,offline +10.204013,50.099861,offline +11.005097,49.591708,offline +11.003650,49.468073,offline +12.875263,47.726370,offline +10.516281,50.025988,offline +12.877034,47.724609,offline +10.711131,49.954689,offline +10.882779,49.886581,offline +12.876674,47.724466,offline +10.084902,49.138702,offline +12.538333,47.896518,offline +10.509713,50.031443,offline +11.003559,49.468047,offline +12.877489,47.722892,offline +9.296888,50.011694,offline +11.005032,49.591706,offline +10.192121,49.911825,offline +11.034805,49.591177,offline +11.034863,49.591156,offline +9.289490,50.014343,offline +10.523518,50.138394,offline +11.003615,49.468081,offline +10.981610,49.477771,offline +10.987268,49.466670,offline +10.509616,50.031446,offline +10.078175,49.139313,offline +11.596222,49.916428,offline +10.550256,49.997336,offline +11.034688,49.591141,offline +12.876406,47.722315,offline +11.259447,49.803692,offline +9.297121,50.011693,offline +11.005627,49.594883,offline +11.040246,49.599210,offline +10.520345,50.035831,offline +10.515629,50.026301,offline +12.143921,50.171483,offline +10.505234,50.031367,offline +10.985279,49.480760,offline +10.532642,50.122208,offline +10.515552,50.026455,offline +11.019059,49.594271,offline +10.078316,49.139407,offline +11.034968,49.590759,offline +10.994214,49.583316,offline +12.876858,47.724324,offline +12.876854,47.724644,offline +11.034869,49.591122,offline +11.323428,49.895837,offline +10.532659,50.122260,offline +9.297108,50.011760,offline +12.875285,47.726267,offline +10.985285,49.480873,offline +10.515627,50.026399,offline +10.988130,49.099465,offline +10.892679,49.901962,offline +11.006354,49.589782,offline +10.534295,50.124206,offline +11.065566,49.699955,offline +10.990083,49.469132,offline +11.049116,49.723191,offline +11.028143,49.409222,offline +11.280532,49.510397,offline +11.275551,49.508415,offline +11.042858,49.427845,offline +10.510740,50.031288,offline +11.025030,49.466839,offline +10.163241,49.802646,offline +9.981128,49.759601,offline +9.945931,49.802555,offline +11.636195,49.688605,offline +10.981472,49.477669,offline +10.835110,49.904612,offline +10.905282,49.907504,offline +10.510762,50.031425,offline +10.510756,50.031365,offline +10.565492,50.077538,offline +11.108226,49.457925,offline +12.885649,47.733404,offline +10.194905,49.905280,offline +10.968894,49.590113,offline +11.324643,49.218469,offline +11.042215,49.719257,offline +11.504425,50.118202,offline +10.968597,49.436239,offline +10.806075,49.686635,offline +11.190862,49.787398,offline +11.190802,49.787521,offline +11.006820,49.563663,offline +11.283018,49.513063,offline +10.987932,49.478456,offline +10.985024,49.473625,offline +10.897021,48.896484,offline +11.064517,49.462153,offline +10.897136,48.895706,offline +11.074484,49.453882,offline +11.126766,50.324195,offline +10.902606,49.902690,offline +11.076287,49.456730,offline +11.340736,49.604014,offline +9.934473,49.787581,offline +10.073122,49.664114,offline +11.004878,49.595174,offline +10.538061,50.101662,offline +10.540615,50.102081,offline +9.985239,49.778779,offline +11.086518,49.438870,offline +10.472674,49.283344,offline +10.520283,50.137959,offline +10.513615,50.029902,offline +11.055398,49.448507,offline +11.090564,49.445398,offline +11.235779,49.493271,offline +11.319372,49.681437,offline +11.098202,49.467622,offline +10.905973,49.903398,offline +11.920686,50.309726,offline +10.892620,49.901918,offline +11.087694,49.462397,offline +9.543645,50.116936,offline +11.319469,49.681528,offline +11.098227,49.467634,offline +11.070874,49.448920,offline +10.566882,50.093535,offline +10.893817,49.901219,offline +-103.359772,25.829769,offline +10.567107,50.093360,offline +10.568488,50.093145,offline +11.067586,49.301931,offline +11.090247,49.470092,offline +11.041378,49.407958,offline +11.007724,49.323687,offline +10.523112,50.138205,offline +10.523121,50.138256,offline +10.774739,49.286831,offline +10.523160,50.138220,offline +10.774256,49.286657,offline +11.044770,49.715386,offline +9.140970,50.054801,offline +10.572866,50.091244,offline +10.521246,50.141338,offline +10.999170,49.471757,offline +11.130612,49.415327,offline +11.245609,49.496408,offline +11.126017,49.604629,offline +11.098190,49.467641,offline +11.091987,49.442510,offline +11.007767,49.323641,offline +11.081176,49.434773,offline +10.151351,50.046329,offline +12.912773,48.861812,offline +12.912641,48.861849,offline +12.912839,48.861861,offline +11.058109,49.450704,offline +10.995582,49.481852,offline +10.566865,49.303102,offline +11.136794,49.716402,offline +10.989386,49.469083,offline +10.519430,50.135393,offline +10.989565,49.469104,offline +10.906055,49.903305,offline +10.828818,49.910221,offline +10.591352,50.016196,offline +11.175579,49.862027,offline +10.924390,49.488667,offline +11.003676,49.607975,offline +12.982618,48.978968,offline +10.990716,49.467650,offline +11.060447,49.446610,offline +11.007188,49.593798,offline +10.224701,50.048556,offline +11.067264,49.441448,offline +11.019751,49.579902,offline +11.095644,49.459844,offline +9.166837,49.804666,offline +11.057449,49.462101,offline +11.269548,49.522464,offline +11.319550,49.681526,offline +11.054913,49.451880,offline +11.095078,49.461775,offline +11.188183,49.780871,offline +11.245409,49.496466,offline +11.245785,49.496359,offline +11.246137,49.496275,offline +10.567589,50.094060,offline +11.246078,49.496386,offline +11.246003,49.496502,offline +11.025939,49.321191,offline +11.058297,49.447463,offline +11.021578,49.330753,offline +11.098831,49.686121,offline +10.192518,49.908958,offline +9.971535,49.979202,offline +11.080995,49.441029,offline +9.980693,49.981696,offline +11.130647,49.400173,offline +12.101440,50.005091,offline +10.601485,49.918475,offline +11.327803,49.199656,offline +9.979234,49.980904,offline +9.971415,49.979087,offline +10.078310,49.139442,offline +10.963883,48.926250,offline +10.906055,49.903147,offline +10.997782,49.482384,offline +10.833598,49.904654,offline +9.849264,49.744124,offline +11.045380,49.716252,offline +11.007027,49.563734,offline +11.918868,49.151482,offline +11.006807,49.563798,offline +11.073820,49.414274,offline +9.908316,49.731644,offline +11.036839,49.417234,offline +9.908552,49.731538,offline +9.947160,49.783506,offline +9.927720,49.797040,offline +11.020306,49.630049,offline +10.951835,49.596806,offline +10.987766,49.479036,offline +10.892687,49.901887,offline +10.907294,49.906703,offline +10.987805,49.478714,offline +11.094171,50.289788,offline +11.468997,48.717441,offline +11.595885,49.962546,offline +8.288173,51.066162,offline +10.723042,49.670028,offline +11.086419,49.438885,offline +11.082126,49.410361,offline +11.096728,49.455496,offline +11.929880,49.547875,offline +11.848992,49.432614,offline +9.930895,49.788710,offline +10.917843,49.555876,offline +10.179729,49.375873,offline +11.077642,49.439706,offline +11.014910,49.593670,offline +10.044958,49.160604,offline +10.961185,49.599378,offline +10.852749,49.615866,offline +9.931868,49.789348,offline +9.193202,50.000939,offline +11.376556,49.510079,offline +11.376556,49.510094,offline +11.376678,49.510051,offline +11.376805,49.510127,offline +11.376646,49.510194,offline +10.339680,49.378894,offline +10.917840,49.555857,offline +10.918082,49.555651,offline +9.995584,50.057466,offline +11.067998,49.434533,offline +11.023815,49.459947,offline +11.043436,49.602096,offline +9.955512,49.799436,offline +11.077502,49.436229,offline +11.360663,49.385193,offline +11.360666,49.385096,offline +11.076230,49.807087,offline +9.171977,49.966727,offline +11.005447,49.594942,offline +60.714322,80.530168,offline +11.047370,49.722528,offline +10.078497,50.197651,offline +9.877839,49.779237,offline +10.033698,50.132557,offline +10.816778,49.324346,offline +11.015709,49.606981,offline +10.509131,50.031318,offline +10.251387,50.067659,offline +11.186136,49.779856,offline +10.568739,50.093349,offline +11.141821,50.051059,offline +10.071169,49.134855,offline +11.244030,49.730286,offline +10.523192,50.137946,offline +10.892848,49.901716,offline +10.963593,49.597168,offline +11.023406,49.552980,offline +10.071795,49.134617,offline +11.498061,50.018584,offline +11.186303,49.778791,offline +9.155350,49.970969,offline +11.190420,49.786847,offline +10.078141,49.139363,offline +9.252034,49.710499,offline +12.876185,47.726042,offline +11.001236,49.464852,offline +10.512151,50.030121,offline +11.047256,49.722446,offline +10.990008,49.469160,offline +10.192802,49.909959,offline +10.985111,49.475264,offline +10.523577,50.137909,offline +10.533911,50.123538,offline +10.997465,49.692763,offline +11.119456,50.323470,offline +11.017800,49.576788,offline +10.566753,50.093625,offline +10.523230,50.138205,offline +10.505244,50.031244,offline +10.990781,49.467218,offline +11.572940,49.943752,offline +10.251038,50.067610,offline +11.322812,50.239167,offline +10.997139,49.470392,offline +11.245164,49.731102,offline +11.190441,49.787138,offline +11.041316,49.653656,offline +10.997409,49.692662,offline +10.522687,50.137473,offline +11.041312,49.653691,offline +10.428619,49.706909,offline +10.339465,49.378880,offline +10.193749,49.904479,offline +11.182485,49.784303,offline +11.007302,49.467736,offline +10.534915,50.121802,offline +10.520279,50.035814,offline +10.191423,49.913006,offline +10.065375,49.143855,offline +10.070424,49.137366,offline +11.083134,49.465025,offline +11.004154,51.421650,offline +10.961319,50.264737,offline +10.001220,49.723772,offline +10.990608,49.467540,offline +10.192121,49.911654,offline +11.190484,49.786816,offline +10.191877,49.907207,offline +9.941980,49.788912,offline +11.411524,49.771412,offline +9.940792,49.803358,offline +11.012132,49.574120,offline +11.091519,49.713534,offline +10.566479,50.093715,offline +11.003634,49.564394,offline +10.636718,50.152130,offline +10.989499,49.479695,offline +10.977174,49.482142,offline +9.119339,49.989220,offline +11.701909,50.327644,offline +10.895374,49.899066,offline +10.956244,49.591039,offline +10.990069,49.467614,offline +10.990034,49.478570,offline +60.831106,80.622391,offline +9.937182,49.779186,offline +11.056371,49.769906,offline +10.906020,49.903336,offline +10.072883,49.135864,offline +11.187048,49.779940,offline +10.988014,49.478489,offline +11.172860,49.409692,offline +10.982852,49.477194,offline +12.857142,47.803261,offline +10.954807,49.481858,offline +11.099845,49.456309,offline +11.173535,49.776331,offline +9.913155,49.798666,offline +10.568412,50.093444,offline +10.995525,49.481872,offline +9.165886,49.804975,offline +10.833592,49.904616,offline +12.109680,50.004267,offline +10.160722,50.536164,offline +10.528329,50.136930,offline +11.243284,50.138965,offline +11.910720,50.321210,offline +11.602325,50.060661,offline +10.976907,49.482190,offline +10.885491,49.890566,offline +10.988655,49.479046,offline +12.981503,47.841012,offline +10.963567,49.597102,offline +10.538624,50.100408,offline +11.030854,49.545464,offline +10.990109,49.469184,offline +11.910778,50.321262,offline +10.998162,49.463543,offline +11.326861,49.610542,offline +11.005508,49.594951,offline +10.982905,49.477250,offline +10.990711,49.467244,offline +10.987816,49.568979,offline +10.968478,49.566593,offline +11.002614,49.563322,offline +10.568053,50.093510,offline +10.990083,49.467561,offline +10.567957,50.093510,offline +11.053155,49.450302,offline +10.968333,49.566381,offline +10.995742,49.481875,offline +11.216290,49.808186,offline +10.989970,49.469121,offline +11.082520,49.441461,offline +9.877231,49.779214,offline +10.079806,50.197198,offline +10.998187,49.463708,offline +11.085346,50.215051,offline +10.990636,49.477537,offline +11.016945,49.689617,offline +11.120790,50.328531,offline +10.198893,49.905248,offline +10.177706,50.294012,offline +10.194545,49.908981,offline +11.062090,50.223143,offline +10.828743,49.910203,offline +11.030824,49.545381,offline +9.859084,49.656185,offline +10.998092,49.472048,offline +11.188575,49.780687,offline +10.568013,50.093556,offline +9.065016,50.057475,offline +10.543190,49.991224,offline +9.214397,49.807416,offline +10.961035,49.493602,offline +10.599444,49.921958,offline +10.515807,50.026255,offline +10.618114,49.229789,offline +10.957057,50.068699,offline +10.191718,49.912910,offline +11.043470,49.428676,offline +10.328475,49.934971,offline +11.025300,49.464601,offline +10.534344,50.124102,offline +11.186281,49.780197,offline +11.014023,49.597457,offline +11.326923,49.610629,offline +12.857250,47.803357,offline +9.065781,50.053272,offline +10.674012,50.116946,offline +11.271431,49.526014,offline +9.959155,49.738770,offline +11.021578,49.551924,offline +10.193172,49.911920,offline +11.118657,49.435127,offline +11.047525,49.722542,offline +10.974921,49.478231,offline +10.121983,49.124405,offline +11.055030,49.448210,offline +11.340734,49.604052,offline +11.081778,49.448205,offline +11.053242,49.450239,offline +11.340616,49.604171,offline +11.327049,49.198374,offline +10.995657,49.462413,offline +11.015973,49.596921,offline +11.029123,49.408339,offline +10.537984,50.100465,offline +10.567928,50.093549,offline +11.190315,49.787040,offline +9.148782,49.986895,offline +11.293773,49.459348,offline +10.982541,49.472619,offline +11.025069,49.466837,offline +10.541463,50.031815,offline +9.938368,49.780985,offline +10.192872,49.908731,offline +10.882135,49.884775,offline +11.183465,49.785296,offline +10.324799,49.934743,offline +10.997036,50.106607,offline +11.056507,49.417416,offline +11.041390,49.328435,offline +11.217100,49.808030,offline +9.065716,50.053272,offline +11.078757,50.215833,offline +10.986905,49.479970,offline +10.908479,48.959782,offline +11.187370,49.779739,offline +10.199191,49.905394,offline +10.567644,50.093910,offline +11.053807,49.772821,offline +10.712622,49.907304,offline +9.168675,49.808214,offline +11.067116,49.461506,offline +10.568437,50.092998,offline +11.028237,49.554477,offline +9.858931,49.656176,offline +10.974856,49.478258,offline +11.118749,49.435134,offline +11.054708,49.450712,offline +11.326856,49.610508,offline +10.538240,50.100541,offline +10.982487,49.472538,offline +10.984827,49.475034,offline +11.186968,49.780215,offline +10.997723,49.482648,offline +10.033736,50.132503,offline +10.988122,49.545037,offline +11.330210,49.198300,offline +9.783781,50.166318,offline +11.041360,49.653638,offline +10.966523,49.472105,offline +9.890732,50.116276,offline +10.890548,49.895099,offline +11.594020,49.917005,offline +11.107699,49.459041,offline +11.055207,49.448157,offline +11.183690,49.785292,offline +10.566721,50.093632,offline +11.047504,49.722587,offline +11.099227,49.484852,offline +11.056001,49.447751,offline +9.929069,49.789285,offline +10.885236,49.890433,offline +10.907192,49.906796,offline +10.194304,49.909319,offline +11.004320,49.580096,offline +9.166753,49.800333,offline +11.081578,49.448094,offline +10.997367,49.692809,offline +10.950612,50.268591,offline +10.080160,50.197182,offline +10.982572,49.472687,offline +10.512795,50.036745,offline +10.958331,49.473225,offline +11.903171,50.309710,offline +10.890577,49.894727,offline +10.989504,49.478872,offline +10.966847,49.472001,offline +11.186944,49.780127,offline +11.326928,49.610570,offline +10.533152,50.123749,offline +10.065297,49.143771,offline +11.248176,49.726602,offline +11.041361,49.653677,offline +11.072346,49.455030,offline +9.976659,49.810300,offline +10.958208,49.473229,offline +11.190614,49.787469,offline +12.981615,47.841185,offline +10.082632,50.194320,offline +11.089810,49.466786,offline +10.988175,49.478515,offline +10.986886,49.479674,offline +11.186340,49.780116,offline +11.327564,49.198490,offline +10.990641,49.467260,offline +11.772979,49.866977,offline +11.069763,49.466817,offline +11.026438,49.575872,offline +11.100321,49.463890,offline +11.076295,49.452284,offline +10.995493,49.638686,offline +10.998107,49.463686,offline +10.977123,49.479624,offline +10.801856,50.094259,offline +10.907235,49.906760,offline +11.060652,49.445747,offline +11.182247,49.786739,offline +11.141773,50.051097,offline +10.990623,49.467674,offline +9.927657,49.797144,offline +11.155168,49.526174,offline +11.168654,49.464552,offline +10.192155,49.908690,offline +11.188583,49.780680,offline +11.071236,49.467547,offline +11.326778,49.610537,offline +10.990064,49.544474,offline +10.963025,49.028871,offline +11.055853,49.446215,offline +11.183526,49.785386,offline +10.986921,49.479875,offline +10.988309,49.478531,offline +11.414677,49.449127,offline +10.970535,49.595417,offline +11.267260,49.504478,offline +9.878062,49.779256,offline +11.021630,49.551939,offline +10.984802,49.475135,offline +11.062468,49.423961,offline +11.701647,50.327732,offline +10.997639,49.482665,offline +11.005523,49.594917,offline +11.026213,49.575909,offline +11.022248,49.604012,offline +10.048682,49.140620,offline +9.783636,50.166289,offline +10.987428,49.814639,offline +11.141730,50.051155,offline +11.593939,49.916975,offline +10.712603,49.907221,offline +9.987125,49.776748,offline +9.927553,49.797235,offline +12.439073,49.979650,offline +10.568730,50.093639,offline +11.110572,49.470842,offline +10.887456,49.889045,offline +11.058125,49.450704,offline +11.279979,49.351159,offline +11.120265,49.480781,offline +11.054971,49.448058,offline +11.309401,49.253167,offline +11.053641,49.458285,offline +11.082675,49.441323,offline 11.102066,49.462707,online -10.534295,50.124206,online -11.065566,49.699955,online -10.990083,49.469132,online -11.049116,49.723191,online -11.028143,49.409222,online -11.280532,49.510397,online -11.275551,49.508415,online -11.347238,49.560466,online -11.042858,49.427845,online -10.510740,50.031288,online -11.025030,49.466839,online -10.163241,49.802646,online -9.981128,49.759601,online -9.945931,49.802555,online -11.636195,49.688605,online +11.240508,49.493497,offline +11.067386,49.301953,offline +11.954381,49.023804,offline +11.060536,49.444944,offline +11.060577,49.445724,offline +11.283375,49.513155,offline +11.102089,49.462664,online +11.102170,49.462784,offline +11.081888,49.448674,online +11.101679,49.462870,online +11.073559,49.451719,offline +11.066998,49.457825,online +11.156668,49.461521,offline +11.235317,49.251154,online +11.244049,49.495666,offline +11.092974,49.445546,offline +11.347238,49.560466,offline 11.240652,49.493332,online -11.053244,49.450160,online -10.981472,49.477669,online -10.835110,49.904612,online -10.905282,49.907504,online -10.510762,50.031425,online -10.510756,50.031365,online -10.565492,50.077538,online -11.108226,49.457925,online -12.885649,47.733404,online -10.194905,49.905280,online -10.968894,49.590113,online -11.324643,49.218469,online -11.042215,49.719257,online +11.053244,49.450160,offline 11.110894,49.468005,online -11.504425,50.118202,online -10.968597,49.436239,online -10.806075,49.686635,online -11.190862,49.787398,online -11.190802,49.787521,online -11.006820,49.563663,online -11.283018,49.513063,online -10.987932,49.478456,online -10.985024,49.473625,online -10.897021,48.896484,online -11.064517,49.462153,online -10.897136,48.895706,online -11.074484,49.453882,online -11.126766,50.324195,online -10.902606,49.902690,online -11.076287,49.456730,online -11.340736,49.604014,online -9.934473,49.787581,online -10.073122,49.664114,online -11.004878,49.595174,online -10.538061,50.101662,online -10.540615,50.102081,online -9.985239,49.778779,online -11.086518,49.438870,online -10.472674,49.283344,online -10.520283,50.137959,online -10.513615,50.029902,online -11.055398,49.448507,online -11.090564,49.445398,online -11.235779,49.493271,online -11.319372,49.681437,online -11.098202,49.467622,online -10.905973,49.903398,online -11.920686,50.309726,online -10.892620,49.901918,online -11.087694,49.462397,online -9.543645,50.116936,online -11.319469,49.681528,online -11.098227,49.467634,online -11.070874,49.448920,online -10.566882,50.093535,online -10.893817,49.901219,online --103.359772,25.829769,online -10.567107,50.093360,online -10.568488,50.093145,online -11.067586,49.301931,online -11.090247,49.470092,online 11.299342,49.389636,online -11.041378,49.407958,online -11.007724,49.323687,online -10.523112,50.138205,online -10.523121,50.138256,online -10.774739,49.286831,online -10.523160,50.138220,online -10.774256,49.286657,online -11.044770,49.715386,online -9.140970,50.054801,online -10.572866,50.091244,online -10.521246,50.141338,online -10.999170,49.471757,online -11.130612,49.415327,online -11.245609,49.496408,online -11.126017,49.604629,online -11.098190,49.467641,online -11.091987,49.442510,online -11.007767,49.323641,online -11.081176,49.434773,online -10.151351,50.046329,online -12.912773,48.861812,online -12.912641,48.861849,online -12.912839,48.861861,online -11.058109,49.450704,online -10.995582,49.481852,online -10.566865,49.303102,online -11.136794,49.716402,online -10.989386,49.469083,online -10.519430,50.135393,online -10.989565,49.469104,online -10.906055,49.903305,online -10.828818,49.910221,online -10.591352,50.016196,online -11.175579,49.862027,online -10.924390,49.488667,online -11.003676,49.607975,online -11.025414,49.464222,online -12.982618,48.978968,online -10.990716,49.467650,online -11.060447,49.446610,online -11.007188,49.593798,online -10.224701,50.048556,online -11.067264,49.441448,online -11.019751,49.579902,online -11.095644,49.459844,online -9.166837,49.804666,online -11.057449,49.462101,online -11.269548,49.522464,online -11.319550,49.681526,online -11.054913,49.451880,online -11.095078,49.461775,online -11.188183,49.780871,online +11.025414,49.464222,offline 11.037435,49.385283,online -11.245409,49.496466,online -11.245785,49.496359,online -11.246137,49.496275,online -10.567589,50.094060,online -11.246078,49.496386,online -11.246003,49.496502,online -11.025939,49.321191,online 11.099139,49.484793,online -11.058297,49.447463,online -11.021578,49.330753,online -11.098831,49.686121,online -10.192518,49.908958,online -9.971535,49.979202,online -11.080995,49.441029,online -9.980693,49.981696,online -11.130647,49.400173,online -12.101440,50.005091,online -10.601485,49.918475,online -11.327803,49.199656,online -9.979234,49.980904,online 11.012206,49.406205,online -9.971415,49.979087,online -10.078310,49.139442,online -10.963883,48.926250,online -10.906055,49.903147,online -10.997782,49.482384,online -10.833598,49.904654,online -9.849264,49.744124,online -11.045380,49.716252,online -11.007027,49.563734,online -11.918868,49.151482,online -11.006807,49.563798,online -11.073820,49.414274,online -9.908316,49.731644,online -11.036839,49.417234,online -9.908552,49.731538,online -9.947160,49.783506,online -9.927720,49.797040,online -11.020306,49.630049,online -10.951835,49.596806,online -10.987766,49.479036,online -10.892687,49.901887,online -10.907294,49.906703,online -10.987805,49.478714,online -11.094171,50.289788,online -11.468997,48.717441,online -11.595885,49.962546,online -8.288173,51.066162,online -10.723042,49.670028,online 11.064758,49.440888,online -11.086419,49.438885,online -11.082126,49.410361,online -11.096728,49.455496,online -11.929880,49.547875,online -11.848992,49.432614,online -9.930895,49.788710,online -10.917843,49.555876,online -10.179729,49.375873,online -11.077642,49.439706,online -11.014910,49.593670,online -10.044958,49.160604,online -10.961185,49.599378,online -10.852749,49.615866,online -9.931868,49.789348,online -9.193202,50.000939,online -11.376556,49.510079,online -11.376556,49.510094,online -11.376678,49.510051,online -11.376805,49.510127,online -11.376646,49.510194,online -10.339680,49.378894,online -10.917840,49.555857,online -10.918082,49.555651,online -9.995584,50.057466,online -11.067998,49.434533,online -11.023815,49.459947,online -11.043436,49.602096,online -9.955512,49.799436,online -11.077502,49.436229,online -11.360663,49.385193,online -11.360666,49.385096,online -11.076230,49.807087,online -11.354153,49.386207,online +11.354153,49.386207,offline 11.243831,49.495752,online -9.171977,49.966727,online -11.005447,49.594942,online -11.327320,49.198487,online -60.714322,80.530168,online -11.047370,49.722528,online -11.347251,49.562151,online -10.078497,50.197651,online -11.059507,49.445610,online -9.877839,49.779237,online -10.033698,50.132557,online +11.327320,49.198487,offline +11.347251,49.562151,offline +11.059507,49.445610,offline 11.326239,49.198173,online -10.816778,49.324346,online -11.082450,49.441592,online -11.015709,49.606981,online -11.055854,49.446147,online -10.509131,50.031318,online -10.251387,50.067659,online -11.186136,49.779856,online -10.568739,50.093349,online -11.141821,50.051059,online -10.071169,49.134855,online -11.244030,49.730286,online -10.523192,50.137946,online -10.892848,49.901716,online -11.056065,49.446113,online -11.073844,49.455992,online -10.963593,49.597168,online -11.068540,49.457040,online +11.082450,49.441592,offline +11.055854,49.446147,offline +11.056065,49.446113,offline +11.073844,49.455992,offline +11.068540,49.457040,offline 11.243985,49.495789,online -11.023406,49.552980,online -11.043218,49.417636,online -11.082598,49.441201,online -10.071795,49.134617,online -11.498061,50.018584,online -11.354212,49.386132,online -11.186303,49.778791,online -9.155350,49.970969,online -11.190420,49.786847,online -10.078141,49.139363,online -9.252034,49.710499,online +11.043218,49.417636,offline +11.082598,49.441201,offline +11.354212,49.386132,offline 11.089671,49.466812,online -11.059433,49.445555,online -12.876185,47.726042,online -11.001236,49.464852,online -10.512151,50.030121,online -11.047256,49.722446,online +11.059433,49.445555,offline 11.350556,49.390745,online -10.990008,49.469160,online -10.192802,49.909959,online -10.985111,49.475264,online -11.079649,49.454784,online -10.523577,50.137909,online -10.533911,50.123538,online -10.997465,49.692763,online -11.119456,50.323470,online -11.017800,49.576788,online +11.079649,49.454784,offline 11.327199,49.198747,online 11.075651,49.455823,online -10.566753,50.093625,online -10.523230,50.138205,online -11.071506,49.448855,online -10.505244,50.031244,online +11.071506,49.448855,offline 11.118731,49.435057,online -10.990781,49.467218,online -11.572940,49.943752,online -10.251038,50.067610,online -11.322812,50.239167,online -10.997139,49.470392,online -11.245164,49.731102,online -11.190441,49.787138,online -11.041316,49.653656,online -10.997409,49.692662,online -11.082298,49.448933,online -10.522687,50.137473,online -11.041312,49.653691,online -11.283545,49.513014,online -10.428619,49.706909,online -10.339465,49.378880,online -11.309416,49.253316,online -11.002110,49.460573,online -10.193749,49.904479,online -11.182485,49.784303,online -11.007302,49.467736,online -10.534915,50.121802,online -11.118827,49.435124,online -10.520279,50.035814,online +11.082298,49.448933,offline +11.283545,49.513014,offline +11.309416,49.253316,offline +11.002110,49.460573,offline +11.118827,49.435124,offline 11.065285,49.427181,online -10.191423,49.913006,online -10.065375,49.143855,online -10.070424,49.137366,online -11.083134,49.465025,online 11.089653,49.427901,online -11.004154,51.421650,online -10.961319,50.264737,online -10.001220,49.723772,online 11.034003,49.457036,online -10.990608,49.467540,online -10.192121,49.911654,online -11.190484,49.786816,online -11.064539,49.462205,online -10.191877,49.907207,online +11.064539,49.462205,offline 11.082807,49.460061,online -9.941980,49.788912,online -11.086712,49.459419,online +11.086712,49.459419,offline 11.326797,49.198226,online -11.411524,49.771412,online -11.283251,49.513215,online -9.940792,49.803358,online -11.012132,49.574120,online -11.091519,49.713534,online -10.566479,50.093715,online -11.003634,49.564394,online -11.029147,49.408264,online -10.636718,50.152130,online -10.989499,49.479695,online -10.977174,49.482142,online -11.086825,49.459502,online +11.283251,49.513215,offline +11.029147,49.408264,offline +11.086825,49.459502,offline 11.097184,49.454971,online -9.119339,49.989220,online -11.701909,50.327644,online -10.895374,49.899066,online -10.956244,49.591039,online -10.990069,49.467614,online -10.990034,49.478570,online -60.831106,80.622391,online -9.937182,49.779186,online -11.056371,49.769906,online -10.906020,49.903336,online -10.072883,49.135864,online -11.187048,49.779940,online -10.988014,49.478489,online -11.120020,49.343824,online -11.172860,49.409692,online -11.326828,49.198261,online -11.054044,49.443324,online -10.982852,49.477194,online -12.857142,47.803261,online -10.954807,49.481858,online -11.099845,49.456309,online -11.173535,49.776331,online -9.913155,49.798666,online +11.120020,49.343824,offline +11.326828,49.198261,offline +11.054044,49.443324,offline 11.064409,49.462178,online -10.568412,50.093444,online 11.118684,49.435194,online -10.995525,49.481872,online -9.165886,49.804975,online -10.833592,49.904616,online -12.109680,50.004267,online -10.160722,50.536164,online -10.528329,50.136930,online -11.243284,50.138965,online -11.910720,50.321210,online 11.023326,49.468447,online -11.602325,50.060661,online 11.082030,49.448728,online -10.976907,49.482190,online -10.885491,49.890566,online -10.988655,49.479046,online -11.081195,49.434659,online -12.981503,47.841012,online -10.963567,49.597102,online +11.081195,49.434659,offline 11.100011,49.463907,online -11.318294,49.525776,online -10.538624,50.100408,online -11.030854,49.545464,online -10.990109,49.469184,online -11.910778,50.321262,online +11.318294,49.525776,offline 11.088155,49.447751,online -10.998162,49.463543,online 11.929778,49.547877,online -11.326861,49.610542,online -11.082150,49.448860,online -11.005508,49.594951,online -10.982905,49.477250,online -10.990711,49.467244,online -10.987816,49.568979,online -10.968478,49.566593,online -12.632933,49.205071,online -11.095472,49.457008,online -11.002614,49.563322,online -10.568053,50.093510,online +11.082150,49.448860,offline +12.632933,49.205071,offline +11.095472,49.457008,offline 11.280714,49.513033,online -10.990083,49.467561,online -10.567957,50.093510,online 11.033664,49.456434,online -11.036178,49.440252,online -11.055931,49.446185,online -11.053155,49.450302,online -10.968333,49.566381,online -11.396552,49.499896,online +11.036178,49.440252,offline +11.055931,49.446185,offline +11.396552,49.499896,offline 11.350607,49.390785,online -10.995742,49.481875,online 11.324633,49.218486,online -11.216290,49.808186,online -10.989970,49.469121,online 11.017263,49.424453,online -11.082520,49.441461,online 11.088617,49.460800,online -9.877231,49.779214,online -10.079806,50.197198,online -10.998187,49.463708,online -11.085346,50.215051,online -10.990636,49.477537,online 11.077228,49.457249,online -11.016945,49.689617,online -11.120790,50.328531,online 11.028857,49.442780,online -11.353858,49.385904,online -10.198893,49.905248,online -10.177706,50.294012,online -10.194545,49.908981,online -11.062090,50.223143,online -11.117064,49.402509,online -11.327210,49.198556,online -10.828743,49.910203,online -11.030824,49.545381,online -9.859084,49.656185,online -10.998092,49.472048,online +11.353858,49.385904,offline +11.117064,49.402509,offline +11.327210,49.198556,offline 11.060746,49.445249,online 11.929843,49.547945,online -11.188575,49.780687,online -10.568013,50.093556,online -9.065016,50.057475,online -10.543190,49.991224,online -11.029045,49.408248,online -9.214397,49.807416,online -11.068350,49.457076,online +11.029045,49.408248,offline +11.068350,49.457076,offline 11.053088,49.450201,online -11.309635,49.253179,online -10.961035,49.493602,online -10.599444,49.921958,online -10.515807,50.026255,online -10.618114,49.229789,online -10.957057,50.068699,online -11.055833,49.446180,online -10.191718,49.912910,online -11.119873,49.481018,online -11.043470,49.428676,online -10.328475,49.934971,online -11.025300,49.464601,online -10.534344,50.124102,online -11.186281,49.780197,online -11.014023,49.597457,online +11.309635,49.253179,offline +11.055833,49.446180,offline +11.119873,49.481018,offline 11.074909,49.455831,online -11.326923,49.610629,online 11.076404,49.456716,online 11.104184,49.460319,online -11.088357,49.424753,online -11.069930,49.466918,online -12.857250,47.803357,online -9.065781,50.053272,online -10.674012,50.116946,online -11.271431,49.526014,online -9.959155,49.738770,online -11.021578,49.551924,online -10.193172,49.911920,online -11.118657,49.435127,online -11.047525,49.722542,online -10.974921,49.478231,online -10.121983,49.124405,online -11.055030,49.448210,online -11.340734,49.604052,online -11.081778,49.448205,online -11.053242,49.450239,online -11.340616,49.604171,online +11.088357,49.424753,offline +11.069930,49.466918,offline 11.861527,49.446168,online -11.327049,49.198374,online -10.995657,49.462413,online -11.015973,49.596921,online -11.029123,49.408339,online -10.537984,50.100465,online -10.567928,50.093549,online -11.190315,49.787040,online -9.148782,49.986895,online -11.293773,49.459348,online 11.060834,49.445703,online -10.982541,49.472619,online -11.025069,49.466837,online 11.092458,49.442658,online -10.541463,50.031815,online -9.938368,49.780985,online -10.192872,49.908731,online -10.882135,49.884775,online -11.183465,49.785296,online -10.324799,49.934743,online -10.997036,50.106607,online -11.056507,49.417416,online -11.041390,49.328435,online -11.217100,49.808030,online -9.065716,50.053272,online -11.078757,50.215833,online -10.986905,49.479970,online -10.908479,48.959782,online -11.187370,49.779739,online -10.199191,49.905394,online 11.033453,49.456213,online -10.567644,50.093910,online -11.053807,49.772821,online -10.712622,49.907304,online -9.168675,49.808214,online -11.067116,49.461506,online -10.568437,50.092998,online -11.028237,49.554477,online 11.072188,49.455098,online -9.858931,49.656176,online -10.974856,49.478258,online -11.118749,49.435134,online -11.054708,49.450712,online -11.326856,49.610508,online -10.538240,50.100541,online -10.982487,49.472538,online -10.984827,49.475034,online -11.186968,49.780215,online -10.997723,49.482648,online -10.033736,50.132503,online -10.988122,49.545037,online -11.330210,49.198300,online 11.309507,49.253117,online -9.783781,50.166318,online -11.041360,49.653638,online -10.966523,49.472105,online -9.890732,50.116276,online -10.890548,49.895099,online -11.594020,49.917005,online -11.107699,49.459041,online -11.055207,49.448157,online -11.183690,49.785292,online -10.566721,50.093632,online 11.060909,49.465239,online -11.047504,49.722587,online -11.099227,49.484852,online -11.056001,49.447751,online -9.929069,49.789285,online -10.885236,49.890433,online -10.907192,49.906796,online -10.194304,49.909319,online -11.004320,49.580096,online -9.166753,49.800333,online -11.081578,49.448094,online -10.997367,49.692809,online -10.950612,50.268591,online -10.080160,50.197182,online -10.982572,49.472687,online 11.242506,49.500826,online -10.512795,50.036745,online -10.958331,49.473225,online -11.903171,50.309710,online -10.890577,49.894727,online -10.989504,49.478872,online 11.242560,49.500782,online -10.966847,49.472001,online -11.186944,49.780127,online -11.326928,49.610570,online -10.533152,50.123749,online -10.065297,49.143771,online -11.248176,49.726602,online -11.041361,49.653677,online -11.072346,49.455030,online -9.976659,49.810300,online -10.958208,49.473229,online -11.190614,49.787469,online -12.981615,47.841185,online -10.082632,50.194320,online -11.089810,49.466786,online 11.056377,49.418784,online 11.267096,49.504519,online -10.988175,49.478515,online -10.986886,49.479674,online -11.186340,49.780116,online -11.327564,49.198490,online -10.990641,49.467260,online -11.772979,49.866977,online -11.069763,49.466817,online -11.026438,49.575872,online -11.100321,49.463890,online -11.076295,49.452284,online -10.995493,49.638686,online -10.998107,49.463686,online -10.977123,49.479624,online -10.801856,50.094259,online -10.907235,49.906760,online -11.060652,49.445747,online -11.182247,49.786739,online -11.141773,50.051097,online -10.990623,49.467674,online 11.243966,49.495742,online -9.927657,49.797144,online -11.155168,49.526174,online -11.168654,49.464552,online 11.242362,49.500843,online -10.192155,49.908690,online -11.188583,49.780680,online -11.071236,49.467547,online -11.326778,49.610537,online 11.060809,49.445722,online -10.990064,49.544474,online -10.963025,49.028871,online 11.075663,49.455889,online -11.055853,49.446215,online -11.183526,49.785386,online -10.986921,49.479875,online -10.988309,49.478531,online -11.414677,49.449127,online -10.970535,49.595417,online 11.025064,49.466931,online -11.267260,49.504478,online -9.878062,49.779256,online -11.021630,49.551939,online -10.984802,49.475135,online -11.062468,49.423961,online -11.701647,50.327732,online -10.997639,49.482665,online -11.005523,49.594917,online 11.242584,49.500867,online -11.026213,49.575909,online -11.022248,49.604012,online -10.048682,49.140620,online -9.783636,50.166289,online -10.987428,49.814639,online -11.141730,50.051155,online -11.593939,49.916975,online -10.712603,49.907221,online -9.987125,49.776748,online -9.927553,49.797235,online -12.439073,49.979650,online -10.568730,50.093639,online 11.029383,49.461221,online -11.110572,49.470842,online 11.929869,49.547872,online 11.094657,49.461735,online -10.887456,49.889045,online -11.058125,49.450704,online -11.279979,49.351159,online -11.120265,49.480781,online -11.054971,49.448058,online -11.309401,49.253167,online -11.053641,49.458285,online -11.082675,49.441323,online +11.235197,49.251260,online diff --git a/router/routers.xml b/router/routers.xml index b918d31..bd349de 100644 --- a/router/routers.xml +++ b/router/routers.xml @@ -4,9 +4,17 @@ <!--<Style name="routerpoint" filter-mode="first">--> <Style name="routerpoint"> <Rule> - <!--<Filter>([color] = '20ff0000')</Filter>--> + <Filter>([status] = 'online')</Filter> <PointSymbolizer file="green-dot.png" allow-overlap="true" /> </Rule> + <Rule> + <Filter>([status] = 'offline')</Filter> + <PointSymbolizer file="red-dot.png" allow-overlap="true" /> + </Rule> + <Rule> + <Filter>([status] = 'unknown')</Filter> + <PointSymbolizer file="yellow-dot.png" allow-overlap="true" /> + </Rule> </Style> <Layer name="layer"> diff --git a/router/yellow-dot.png b/router/yellow-dot.png new file mode 100644 index 0000000..0500ad4 Binary files /dev/null and b/router/yellow-dot.png differ