- return missing();
- }
-}
-iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:09Z","tags":{}},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:31Z","tags":{}},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:09Z","tags":{}},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:31Z","tags":{}},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:40Z","tags":{}},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:52Z","tags":{}},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:50Z","tags":{}},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834],"version":"3","changeset":"5841745","user":"themps","uid":"196173","visible":"true","timestamp":"2010-09-22T00:20:34Z","tags":{}},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:26Z","tags":{}},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:05Z","tags":{}},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"w208643102":{"id":"w208643102","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:04Z","tags":{"highway":"residential","name":"Millard St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Millard","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312476:15312477:15312478:15326070:15326071:15329003:15329004:15312479:15312480:15312483:15326956:15326957:15312485:15312486:15322600:15325988","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","version":"10","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:50Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312474:15312448","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:25Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:10Z","tags":{"highway":"residential","name":"N Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313197:15312414:15312395","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312508:15312529:15312553:15312597:15328883:15338803","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","version":"2","changeset":"14896694","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:01:36Z","tags":{"highway":"residential","name":"South St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","version":"2","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:19Z","tags":{"highway":"residential","name":"South St","oneway":"yes","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:03Z","tags":{"highway":"residential","name":"N Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312348:15312365:15312422:15312392","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:28Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312445","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","version":"2","changeset":"15128027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-22T20:03:31Z","tags":{"addr:state":"MI","amenity":"library","area":"yes","building":"yes","ele":"249","gnis:county_name":"St. Joseph","gnis:feature_id":"2418162","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Public Library","source":"USGS Geonames"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312475:15312449","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:43:58Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15330300:15312522:15312547:15330299:15312603:15312571:15331740","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:27Z","tags":{"highway":"residential","name":"N Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312300","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:49Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312526:15312511:15312550:15312601:15312998:15312626:15312574:15328327:15328328:15313210","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:27Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312509:15312524:15312549:15312605:15329008:15312572","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:07Z","tags":{"highway":"residential","name":"N Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313196:15312424:15312394","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","version":"2","changeset":"13612265","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-24T04:10:54Z","tags":{"is_in:state":"MI","modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","version":"21","changeset":"15347356","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T03:41:02Z","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"version":"2","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"addr:state":"MI","amenity":"fire_station","ele":"245","gnis:county_name":"St. Joseph","gnis:feature_id":"2417894","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Fire Department","source":"USGS Geonames"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217],"version":"2","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:29Z","tags":{}},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:57Z","tags":{}},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:58Z","tags":{}},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:21Z","tags":{}},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:22Z","tags":{}},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:24Z","tags":{}},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:27Z","tags":{}},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746],"version":"1","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w203974076":{"id":"w203974076","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","version":"5","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:30Z","tags":{"name":"St Joseph River","source":"Bing Imagery","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:22:17Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331667","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","version":"2","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:26Z","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","version":"2","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326005:15326006","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"South Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","version":"3","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:30Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","version":"7","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"tertiary","name":"South Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","version":"5","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:53Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","version":"3","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:15Z","tags":{"highway":"residential","name":"Thomas Street","source":"Bing"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"Spring Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Spring","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324560:15329061:15329062:15333515:15333516:15333517:15328802:15312982:15312984:15312980:15326010:15326011:15313203:15322169:15324562:15312971:15312973:15312977:15328799:15328907:15328908:15322175:15329059:15333626:15333627:15325105:15322549:15337756:153","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","version":"2","changeset":"15287771","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T21:56:30Z","tags":{"area":"yes","ele":"241","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417887","gnis:state_id":"26","leisure":"park","name":"Scidmore Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","version":"4","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:29Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:05Z","tags":{"highway":"tertiary","name":"Constantine St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w17968193":{"id":"w17968193","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:35Z","tags":{"highway":"residential","name":"French St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"French","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312389:15312396","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:03Z","tags":{"highway":"residential","name":"Pealer St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pealer","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312363:15312366:15312367:15312368:15325990:15325991:15324554","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:36:24Z","tags":{"highway":"residential","name":"Yauney St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Yauney","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312346:15312347","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:26Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624726","gnis:state_id":"26","name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:12:53Z","tags":{"amenity":"post_office","ele":"248","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418163","gnis:state_id":"26","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044],"version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{}},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392],"version":"1","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{}},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:29Z","tags":{}},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:41Z","tags":{}},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:05Z","tags":{}},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:21Z","tags":{}},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:09Z","tags":{}},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783],"version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:00Z","tags":{}},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:47Z","tags":{}},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:31Z","tags":{}},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:14Z","tags":{}},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783],"version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308],"version":"1","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"w203970139":{"id":"w203970139","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:39Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:18Z","tags":{"highway":"residential","name":"Water St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Foster St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Foster","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312360","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","version":"3","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","version":"2","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:53Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","version":"2","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","version":"3","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Railroad Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Railroad","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","version":"3","changeset":"13675000","user":"NE2","uid":"207745","visible":"true","timestamp":"2012-10-29T15:08:54Z","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Portage Avenue","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Portage","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","version":"7","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_left_1":"49093","tiger:zip_right":"49093","tiger:zip_right_1":"49093"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","version":"6","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"West","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:07Z","tags":{"amenity":"school","ele":"246","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/21/2008","gnis:feature_id":"1624371","gnis:state_id":"26","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:02Z","tags":{}},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:51Z","tags":{}},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:05Z","tags":{}},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"w17964989":{"id":"w17964989","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:33:37Z","tags":{"highway":"residential","name":"Middle St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Middle","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312433:15328741:15312403:15312465","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"access":"private","highway":"service","name":"Battle St","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Battle","tiger:name_type":"St","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313281","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313726","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335065","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","version":"2","changeset":"15473162","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:43:17Z","tags":{"highway":"residential","name":"Washington St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Washington","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:23Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:18Z","tags":{"highway":"residential","name":"Wood St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wood","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313653:15313659:15313679:15314060","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:23Z","tags":{"highway":"residential","name":"4th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314053:15314054:15313697:15313698:15313700:15313701:15313699:15314427","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:10:58Z","tags":{"ele":"243","gnis:county_id":"149","gnis:created":"03/21/2008","gnis:feature_id":"2401246","gnis:state_id":"26","leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:21Z","tags":{"amenity":"place_of_worship","ele":"245","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417881","gnis:state_id":"26","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"w208643145":{"id":"w208643145","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:21Z","tags":{"highway":"residential","name":"Garden St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Garden","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312361:15322884:15322885","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:00Z","tags":{"highway":"residential","name":"John Glenn Ct","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"John Glenn","tiger:name_type":"Ct","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313190","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Water Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:57Z","tags":{"highway":"residential","name":"River Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312440:15338837","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"bridge":"yes","highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","version":"3","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","version":"8","changeset":"13611326","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-23T23:35:16Z","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:15Z","tags":{}},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:34Z","tags":{}},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:12Z","tags":{}},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:27Z","tags":{}},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:57:55Z","tags":{}},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:34Z","tags":{}},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:49Z","tags":{}},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:56Z","tags":{}},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:02Z","tags":{}},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:07Z","tags":{}},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592],"version":"1","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:36Z","tags":{}},"w17967539":{"id":"w17967539","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:28Z","tags":{"highway":"residential","name":"1st Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"1st","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335113:15313280","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:03Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312481:15312487","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:20Z","tags":{"highway":"residential","name":"9th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314207:15313759:15313772:15313802:15313796:15313781:15314179","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:37Z","tags":{"highway":"residential","name":"Mechanic St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Mechanic","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312501:15312497:15335073","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"bridge":"yes","highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:21Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:09Z","tags":{"highway":"residential","name":"Green St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Green","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314409","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"name":"Michigan Central Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan Central Railroad","tiger:reviewed":"no"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:19Z","tags":{"name":"Conrail Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314180:15314177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"8th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313757:15313771:15313791:15313794:15313799:15313811:15313814:15313824:15313846:15314618:15313817:15313788:15314178:15324590","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:36Z","tags":{}},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:22Z","tags":{}},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:25Z","tags":{}},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:03Z","tags":{}},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:01Z","tags":{}},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:43Z","tags":{}},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"w208640158":{"id":"w208640158","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","version":"9","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"area":"yes","leisure":"park","name":"Conservation Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","version":"3","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312976","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:06Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:17Z","tags":{"highway":"residential","name":"5th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312495","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:10Z","tags":{"highway":"residential","name":"4th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313205","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:41Z","tags":{}},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"w17964531":{"id":"w17964531","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:22Z","tags":{"highway":"residential","name":"Willow Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Willow","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313189","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Elm Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Elm","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Walnut Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Walnut","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:07Z","tags":{}},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"w17967535":{"id":"w17967535","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:19Z","tags":{"highway":"residential","name":"10th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"10th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313652:15313654","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:15Z","tags":{"highway":"residential","name":"6th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313681:15313682:15329115:15329116:15330465:15330466","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"highway":"residential","name":"8th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313660","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:03Z","tags":{"highway":"residential","name":"7th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"7th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313667:15314407","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:41Z","tags":{"highway":"residential","name":"9th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313656","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127],"version":"4","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214],"version":"2","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:04Z","tags":{}},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:30Z","tags":{}},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:34Z","tags":{}},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:34Z","tags":{}},"w17963211":{"id":"w17963211","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:23:06Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313193","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:10Z","tags":{"highway":"residential","name":"Arnold St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Arnold","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327930:15324550:15312304:15324551","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:53:22Z","tags":{"highway":"residential","name":"Pierson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pierson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313265:15312333:15324553","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:56Z","tags":{"highway":"residential","name":"Oak St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Oak","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331522","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631],"version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{}},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:25Z","tags":{"amenity":"place_of_worship","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417877","gnis:state_id":"26","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:24Z","tags":{"amenity":"place_of_worship","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417879","gnis:state_id":"26","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:58Z","tags":{}},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:17Z","tags":{"highway":"residential","name":"W Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417878","gnis:state_id":"26","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"Maple Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Maple","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"W Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"East","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:14Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312338","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418164","gnis:state_id":"26","leisure":"park","name":"LaFayette Park","source":"Bing"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417880","gnis:state_id":"26","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"amenity":"school","ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/22/2008","gnis:feature_id":"1624612","gnis:state_id":"26","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269],"version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:19Z","tags":{"amenity":"place_of_worship","ele":"246","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417869","gnis:state_id":"26","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"version":"1","changeset":"871579","user":"amillar","uid":"28145","visible":"true","timestamp":"2009-03-31T07:45:44Z","tags":{"addr:state":"MI","building":"yes","ele":"247","gnis:county_name":"St. Joseph","gnis:feature_id":"2418176","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"George Washington Carver Community Center","source":"USGS Geonames"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:41Z","tags":{}},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:45Z","tags":{}},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"w17966773":{"id":"w17966773","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:43Z","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313712","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","version":"3","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:19Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326065:15326068","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313719:15313728:15331618","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:05Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326058:15326066:15326067","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313714:15313704:15313720:15313721","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313713:15313734:15313731:15313735:15313737:15313723","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:52Z","tags":{"amenity":"grave_yard","ele":"249","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624862","gnis:state_id":"26","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:02Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326063:15326064","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313715:15313706:15328746:15313727:15313729","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:41Z","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Jefferson","tiger:name_base_1":"State Highway 60","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313637:15313662:15313657:15328403","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","version":"4","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313710:15313711:15314052:15312385:15312378","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369],"version":"1","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"w203983952":{"id":"w203983952","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","version":"2","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"highway":"residential","name":"Whipple St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Whipple","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:56Z","tags":{"highway":"residential","name":"Jackson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Jackson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314430","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"area":"yes","leisure":"park","name":"Marina Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","version":"2","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{"highway":"residential","name":"14th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"14th","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:08Z","tags":{}},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:48Z","tags":{}},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"w17967573":{"id":"w17967573","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"E Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","version":"5","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"East Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Pine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627223":{"id":"w208627223","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624408","gnis:state_id":"26","leisure":"park","name":"Bowman Park","source":"Bing"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417886","gnis:state_id":"26","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:06Z","tags":{"highway":"residential","name":"W Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312250:15312254","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"w17964707":{"id":"w17964707","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:31:34Z","tags":{"highway":"residential","name":"11th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"11th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314405","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:23Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624607","gnis:state_id":"26","landuse":"reservoir","name":"Hoffman Pond","natural":"water","source":"Bing"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","version":"2","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{}},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864],"version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:47:47Z","tags":{}},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263],"version":"2","changeset":"12747630","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-16T08:22:38Z","tags":{}},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"w209717053":{"id":"w209717053","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","name":"Manufacturing Way","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manufacturing","tiger:name_type":"Way","tiger:reviewed":"no"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","version":"7","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:19Z","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312195:15312958:15312207:15313273:15328372:15328373","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:04Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312230:15312252:15335064:15333550","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","version":"2","changeset":"14979874","user":"malenki","uid":"39504","visible":"true","timestamp":"2013-02-10T12:18:08Z","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","is_in":"USA, Michigan","is_in:country":"USA","is_in:country_code":"US","is_in:iso_3166_2":"US:MI","is_in:state":"Michigan","is_in:state_code":"MI","name":"Three Rivers","place":"city","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)","tiger:CLASSFP":"C5","tiger:CPI":"Y","tiger:FUNCSTAT":"A","tiger:LSAD":"25","tiger:MTFCC":"G4110","tiger:NAME":"Three Rivers","tiger:NAMELSAD":"Three Rivers city","tiger:PCICBSA":"N","tiger:PCINECTA":"N","tiger:PLACEFP":"79760","tiger:PLACENS":"01627164","tiger:PLCIDFP":"2679760","tiger:STATEFP":"26","type":"boundary","wikipedia":"en:Three Rivers, Michigan"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"w208627217":{"id":"w208627217","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{"building":"yes","source":"Bing"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:31Z","tags":{}},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:26Z","tags":{"amenity":"place_of_worship","denomination":"baptist","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417873","gnis:state_id":"26","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"w17965351":{"id":"w17965351","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"residential","name":"Flower Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Flower","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Azaleamum Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Azaleamum","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"w17966214":{"id":"w17966214","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Adams Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:32:05Z","tags":{"highway":"residential","name":"Morris Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Morris","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312148:15328241:15328242","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:11Z","tags":{}},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627244":{"id":"w208627244","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:44Z","tags":{"highway":"residential","name":"Lyman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lyman","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313234","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:57Z","tags":{"highway":"residential","name":"W Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:20Z","tags":{"highway":"residential","name":"Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312180","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Armstrong Blvd","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armstrong","tiger:name_type":"Blvd","tiger:reviewed":"no"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:29Z","tags":{}},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"w17965196":{"id":"w17965196","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:10Z","tags":{"highway":"residential","name":"Burke Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Burke","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312145","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Kellogg Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kellogg","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"Barnard Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Barnard","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"w91092312":{"id":"w91092312","version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:12Z","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"w17966857":{"id":"w17966857","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:55Z","tags":{"access":"private","highway":"service","name":"Sable River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sable River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326128","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:42Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314404","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:09Z","tags":{"access":"private","highway":"service","name":"Pine River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326123","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:16Z","tags":{"access":"private","highway":"service","name":"Raisin River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Raisin River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326112","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Shiawassee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326124:15326125:15326111:15326113:15326119","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sturgeon River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326117","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:58Z","tags":{}},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:23Z","tags":{}},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:41Z","tags":{}},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:42Z","tags":{}},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:45Z","tags":{}},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:46Z","tags":{}},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"w203968015":{"id":"w203968015","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","version":"2","changeset":"14531170","user":"bot-mode","uid":"451693","visible":"true","timestamp":"2013-01-04T21:15:18Z","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Buckhorn","tiger:name_base_1":"County Highway 122","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234],"version":"2","changeset":"15306911","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:57:21Z","tags":{}},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"w170843846":{"id":"w170843846","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{"source":"Bing","waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","version":"1","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:46Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:44Z","tags":{}},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:32Z","tags":{}},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:11Z","tags":{}},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"w203838284":{"id":"w203838284","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:42Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"access":"private","highway":"service","name":"Collins Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Collins","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313686","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","version":"3","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:46Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335181","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","version":"4","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331535","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:44Z","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","version":"1","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:37Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:01Z","tags":{}},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"w17965307":{"id":"w17965307","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:58Z","tags":{"highway":"residential","name":"Bates Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bates","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313640:15313641","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:16Z","tags":{"highway":"residential","name":"Krum Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Krum","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313643","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:11Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:10Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313629","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:55Z","tags":{"highway":"residential","name":"Clausen Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Clausen","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313630:15313631:15313632","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:54Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327962","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:52Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:10Z","tags":{"access":"private","highway":"service","name":"Lockport Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Lockport","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313621:15314402","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:57Z","tags":{"highway":"residential","name":"Angell Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Angell","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313639","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"w17964174":{"id":"w17964174","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:41Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314401","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:06Z","tags":{"access":"private","highway":"service","name":"Manistee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manistee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326121:15326126:15326127:15326116","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {
- "deprecated": [
- {
- "old": {
- "barrier": "wire_fence"
- },
- "replace": {
- "barrier": "fence",
- "fence_type": "chain"
- }
- },
- {
- "old": {
- "barrier": "wood_fence"
- },
- "replace": {
- "barrier": "fence",
- "fence_type": "wood"
- }
- },
- {
- "old": {
- "highway": "ford"
- },
- "replace": {
- "ford": "yes"
- }
- },
- {
- "old": {
- "highway": "stile"
- },
- "replace": {
- "barrier": "stile"
- }
- },
- {
- "old": {
- "highway": "incline"
- },
- "replace": {
- "highway": "road",
- "incline": "up"
- }
- },
- {
- "old": {
- "highway": "incline_steep"
- },
- "replace": {
- "highway": "road",
- "incline": "up"
- }
- },
- {
- "old": {
- "highway": "unsurfaced"
- },
- "replace": {
- "highway": "road",
- "incline": "unpaved"
- }
- },
- {
- "old": {
- "landuse": "wood"
- },
- "replace": {
- "landuse": "forest",
- "natural": "wood"
- }
- },
- {
- "old": {
- "natural": "marsh"
- },
- "replace": {
- "natural": "wetland",
- "wetland": "marsh"
- }
- },
- {
- "old": {
- "shop": "organic"
- },
- "replace": {
- "shop": "supermarket",
- "organic": "only"
- }
- },
- {
- "old": {
- "power_source": "*"
- },
- "replace": {
- "generator:source": "$1"
- }
- },
- {
- "old": {
- "power_rating": "*"
- },
- "replace": {
- "generator:output": "$1"
- }
- }
- ],
- "discarded": [
- "created_by",
- "odbl",
- "odbl:note",
- "tiger:upload_uuid",
- "tiger:tlid",
- "tiger:source",
- "tiger:separated",
- "geobase:datasetName",
- "geobase:uuid",
- "sub_sea:type",
- "KSJ2:ADS",
- "KSJ2:ARE",
- "KSJ2:AdminArea",
- "KSJ2:COP_label",
- "KSJ2:DFD",
- "KSJ2:INT",
- "KSJ2:INT_label",
- "KSJ2:LOC",
- "KSJ2:LPN",
- "KSJ2:OPC",
- "KSJ2:PubFacAdmin",
- "KSJ2:RAC",
- "KSJ2:RAC_label",
- "KSJ2:RIC",
- "KSJ2:RIN",
- "KSJ2:WSC",
- "KSJ2:coordinate",
- "KSJ2:curve_id",
- "KSJ2:curve_type",
- "KSJ2:filename",
- "KSJ2:lake_id",
- "KSJ2:lat",
- "KSJ2:long",
- "KSJ2:river_id",
- "yh:LINE_NAME",
- "yh:LINE_NUM",
- "yh:STRUCTURE",
- "yh:TOTYUMONO",
- "yh:TYPE",
- "yh:WIDTH_RANK",
- "SK53_bulk:load"
- ],
- "imagery": [
- {
- "name": "7th Series (OS7)",
- "type": "tms",
- "template": "http://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg",
- "polygon": [
- [
- [
- -9,
- 49.8
- ],
- [
- -9,
- 61.1
- ],
- [
- 1.9,
- 61.1
- ],
- [
- 1.9,
- 49.8
- ],
- [
- -9,
- 49.8
- ]
- ]
- ]
- },
- {
- "name": "AGRI black-and-white 2.5m",
- "type": "tms",
- "template": "http://agri.openstreetmap.org/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- 112.28778,
- -28.784589
- ],
- [
- 112.71488,
- -31.13894
- ],
- [
- 114.11263,
- -34.178287
- ],
- [
- 113.60788,
- -37.39012
- ],
- [
- 117.17992,
- -37.451794
- ],
- [
- 119.31538,
- -37.42096
- ],
- [
- 121.72262,
- -36.708394
- ],
- [
- 123.81925,
- -35.76893
- ],
- [
- 125.9547,
- -34.3066
- ],
- [
- 127.97368,
- -33.727398
- ],
- [
- 130.07031,
- -33.24166
- ],
- [
- 130.10913,
- -33.888704
- ],
- [
- 131.00214,
- -34.049705
- ],
- [
- 131.0798,
- -34.72257
- ],
- [
- 132.28342,
- -35.39
- ],
- [
- 134.18591,
- -35.61126
- ],
- [
- 133.8753,
- -37.1119
- ],
- [
- 134.8459,
- -37.6365
- ],
- [
- 139.7769,
- -37.82075
- ],
- [
- 139.93223,
- -39.4283
- ],
- [
- 141.6017,
- -39.8767
- ],
- [
- 142.3783,
- -39.368294
- ],
- [
- 142.3783,
- -40.64702
- ],
- [
- 142.49478,
- -42.074874
- ],
- [
- 144.009,
- -44.060127
- ],
- [
- 147.23161,
- -44.03222
- ],
- [
- 149.05645,
- -42.534313
- ],
- [
- 149.52237,
- -40.99959
- ],
- [
- 149.9494,
- -40.852921
- ],
- [
- 150.8036,
- -38.09627
- ],
- [
- 151.81313,
- -38.12682
- ],
- [
- 156.20052,
- -22.667706
- ],
- [
- 156.20052,
- -20.10109
- ],
- [
- 156.62761,
- -17.417627
- ],
- [
- 155.26869,
- -17.19521
- ],
- [
- 154.14272,
- -19.51662
- ],
- [
- 153.5215,
- -18.34139
- ],
- [
- 153.05558,
- -16.5636
- ],
- [
- 152.78379,
- -15.256768
- ],
- [
- 152.27905,
- -13.4135
- ],
- [
- 151.3472,
- -12.391767
- ],
- [
- 149.48354,
- -12.05024
- ],
- [
- 146.9598,
- -9.992408
- ],
- [
- 135.9719,
- -9.992408
- ],
- [
- 130.3032,
- -10.33636
- ],
- [
- 128.09016,
- -12.164136
- ],
- [
- 125.91588,
- -12.315912
- ],
- [
- 124.3239,
- -11.860326
- ],
- [
- 122.03323,
- -11.974295
- ],
- [
- 118.26706,
- -16.9353
- ],
- [
- 115.93747,
- -19.11357
- ],
- [
- 114.0738,
- -21.11863
- ],
- [
- 113.49141,
- -22.596033
- ],
- [
- 112.28778,
- -28.784589
- ]
- ]
- ],
- "terms_text": "AGRI"
- },
- {
- "name": "Bing aerial imagery",
- "type": "bing",
- "description": "Satellite and aerial imagery.",
- "template": "http://www.bing.com/maps/",
- "scaleExtent": [
- 0,
- 22
- ],
- "id": "Bing",
- "default": true
- },
- {
- "name": "British Columbia Mosaic",
- "type": "tms",
- "template": "http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 9,
- 20
- ],
- "polygon": [
- [
- [
- -123.3176032,
- 49.3272567
- ],
- [
- -123.4405258,
- 49.3268222
- ],
- [
- -123.440717,
- 49.3384429
- ],
- [
- -123.4398375,
- 49.3430357
- ],
- [
- -123.4401258,
- 49.3435398
- ],
- [
- -123.4401106,
- 49.3439946
- ],
- [
- -123.4406265,
- 49.3444493
- ],
- [
- -123.4404747,
- 49.3455762
- ],
- [
- -123.4397768,
- 49.3460606
- ],
- [
- -123.4389726,
- 49.3461298
- ],
- [
- -123.4372904,
- 49.3567236
- ],
- [
- -123.4374774,
- 49.3710843
- ],
- [
- -123.4335292,
- 49.3709446
- ],
- [
- -123.4330357,
- 49.373725
- ],
- [
- -123.4332717,
- 49.3751221
- ],
- [
- -123.4322847,
- 49.3761001
- ],
- [
- -123.4317482,
- 49.3791736
- ],
- [
- -123.4314264,
- 49.3795927
- ],
- [
- -123.4307826,
- 49.3823866
- ],
- [
- -123.4313405,
- 49.3827358
- ],
- [
- -123.4312118,
- 49.3838533
- ],
- [
- -123.4300415,
- 49.3845883
- ],
- [
- -123.4189858,
- 49.3847087
- ],
- [
- -123.4192235,
- 49.4135198
- ],
- [
- -123.3972532,
- 49.4135691
- ],
- [
- -123.3972758,
- 49.4243473
- ],
- [
- -123.4006929,
- 49.4243314
- ],
- [
- -123.4007741,
- 49.5703491
- ],
- [
- -123.4000812,
- 49.570345
- ],
- [
- -123.4010761,
- 49.5933838
- ],
- [
- -123.3760399,
- 49.5932848
- ],
- [
- -123.3769811,
- 49.6756063
- ],
- [
- -123.3507288,
- 49.6756396
- ],
- [
- -123.3507969,
- 49.7086751
- ],
- [
- -123.332887,
- 49.708722
- ],
- [
- -123.3327888,
- 49.7256288
- ],
- [
- -123.3007111,
- 49.7255625
- ],
- [
- -123.3009164,
- 49.7375384
- ],
- [
- -123.2885986,
- 49.737638
- ],
- [
- -123.2887823,
- 49.8249207
- ],
- [
- -123.2997955,
- 49.8249207
- ],
- [
- -123.3011721,
- 49.8497814
- ],
- [
- -123.3218218,
- 49.850669
- ],
- [
- -123.3273284,
- 49.8577696
- ],
- [
- -123.3276726,
- 49.9758852
- ],
- [
- -123.3008279,
- 49.9752212
- ],
- [
- -123.3007204,
- 50.0997002
- ],
- [
- -123.2501716,
- 50.100735
- ],
- [
- -123.25091,
- 50.2754901
- ],
- [
- -123.0224338,
- 50.2755598
- ],
- [
- -123.0224879,
- 50.3254853
- ],
- [
- -123.0009318,
- 50.3254689
- ],
- [
- -123.0007778,
- 50.3423899
- ],
- [
- -122.9775023,
- 50.3423408
- ],
- [
- -122.9774766,
- 50.3504306
- ],
- [
- -122.9508137,
- 50.3504961
- ],
- [
- -122.950795,
- 50.3711984
- ],
- [
- -122.9325221,
- 50.3711521
- ],
- [
- -122.9321048,
- 50.399793
- ],
- [
- -122.8874234,
- 50.3999748
- ],
- [
- -122.8873385,
- 50.4256108
- ],
- [
- -122.6620152,
- 50.4256959
- ],
- [
- -122.6623083,
- 50.3994506
- ],
- [
- -122.5990316,
- 50.3992413
- ],
- [
- -122.5988274,
- 50.3755206
- ],
- [
- -122.5724832,
- 50.3753706
- ],
- [
- -122.5735621,
- 50.2493891
- ],
- [
- -122.5990415,
- 50.2494643
- ],
- [
- -122.5991504,
- 50.2265663
- ],
- [
- -122.6185016,
- 50.2266359
- ],
- [
- -122.6185741,
- 50.2244081
- ],
- [
- -122.6490609,
- 50.2245126
- ],
- [
- -122.6492181,
- 50.1993528
- ],
- [
- -122.7308575,
- 50.1993758
- ],
- [
- -122.7311583,
- 50.1244287
- ],
- [
- -122.7490352,
- 50.1245109
- ],
- [
- -122.7490541,
- 50.0903032
- ],
- [
- -122.7687806,
- 50.0903435
- ],
- [
- -122.7689801,
- 49.9494546
- ],
- [
- -122.999047,
- 49.9494706
- ],
- [
- -122.9991199,
- 49.8754553
- ],
- [
- -122.9775894,
- 49.8754553
- ],
- [
- -122.9778145,
- 49.6995098
- ],
- [
- -122.9992362,
- 49.6994781
- ],
- [
- -122.9992524,
- 49.6516526
- ],
- [
- -123.0221525,
- 49.6516526
- ],
- [
- -123.0221162,
- 49.5995096
- ],
- [
- -123.0491898,
- 49.5994625
- ],
- [
- -123.0491898,
- 49.5940523
- ],
- [
- -123.0664647,
- 49.5940405
- ],
- [
- -123.0663594,
- 49.5451868
- ],
- [
- -123.0699906,
- 49.5451202
- ],
- [
- -123.0699008,
- 49.5413153
- ],
- [
- -123.0706835,
- 49.5392837
- ],
- [
- -123.0708888,
- 49.5379931
- ],
- [
- -123.0711454,
- 49.5368773
- ],
- [
- -123.0711069,
- 49.5358115
- ],
- [
- -123.0713764,
- 49.532822
- ],
- [
- -123.0716458,
- 49.5321141
- ],
- [
- -123.07171,
- 49.5313896
- ],
- [
- -123.0720308,
- 49.5304153
- ],
- [
- -123.0739554,
- 49.5303486
- ],
- [
- -123.0748023,
- 49.5294992
- ],
- [
- -123.0748151,
- 49.5288079
- ],
- [
- -123.0743403,
- 49.5280584
- ],
- [
- -123.073532,
- 49.5274588
- ],
- [
- -123.0733652,
- 49.5270423
- ],
- [
- -123.0732882,
- 49.5255932
- ],
- [
- -123.0737116,
- 49.5249602
- ],
- [
- -123.0736218,
- 49.5244938
- ],
- [
- -123.0992583,
- 49.5244854
- ],
- [
- -123.0991649,
- 49.4754502
- ],
- [
- -123.071052,
- 49.4755252
- ],
- [
- -123.071088,
- 49.4663034
- ],
- [
- -123.0739204,
- 49.4663054
- ],
- [
- -123.07422,
- 49.4505028
- ],
- [
- -123.0746319,
- 49.4500858
- ],
- [
- -123.074651,
- 49.449329
- ],
- [
- -123.0745999,
- 49.449018
- ],
- [
- -123.0744619,
- 49.4486927
- ],
- [
- -123.0743336,
- 49.4479899
- ],
- [
- -123.0742427,
- 49.4477688
- ],
- [
- -123.0743061,
- 49.4447473
- ],
- [
- -123.0747103,
- 49.4447556
- ],
- [
- -123.0746384,
- 49.4377306
- ],
- [
- -122.9996506,
- 49.4377363
- ],
- [
- -122.9996506,
- 49.4369214
- ],
- [
- -122.8606163,
- 49.4415314
- ],
- [
- -122.8102616,
- 49.4423972
- ],
- [
- -122.8098984,
- 49.3766739
- ],
- [
- -122.4036093,
- 49.3766617
- ],
- [
- -122.4036341,
- 49.3771944
- ],
- [
- -122.264739,
- 49.3773028
- ],
- [
- -122.263542,
- 49.2360088
- ],
- [
- -122.2155742,
- 49.236139
- ],
- [
- -122.0580956,
- 49.235878
- ],
- [
- -121.9538274,
- 49.2966525
- ],
- [
- -121.9400911,
- 49.3045389
- ],
- [
- -121.9235761,
- 49.3142257
- ],
- [
- -121.8990871,
- 49.3225436
- ],
- [
- -121.8883447,
- 49.3259752
- ],
- [
- -121.8552982,
- 49.3363575
- ],
- [
- -121.832697,
- 49.3441519
- ],
- [
- -121.7671336,
- 49.3654361
- ],
- [
- -121.6736683,
- 49.3654589
- ],
- [
- -121.6404153,
- 49.3743775
- ],
- [
- -121.5961976,
- 49.3860493
- ],
- [
- -121.5861178,
- 49.3879193
- ],
- [
- -121.5213684,
- 49.3994649
- ],
- [
- -121.5117375,
- 49.4038378
- ],
- [
- -121.4679302,
- 49.4229024
- ],
- [
- -121.4416803,
- 49.4345607
- ],
- [
- -121.422429,
- 49.4345788
- ],
- [
- -121.3462885,
- 49.3932312
- ],
- [
- -121.3480144,
- 49.3412388
- ],
- [
- -121.5135035,
- 49.320577
- ],
- [
- -121.6031683,
- 49.2771727
- ],
- [
- -121.6584065,
- 49.1856125
- ],
- [
- -121.679953,
- 49.1654109
- ],
- [
- -121.7815793,
- 49.0702559
- ],
- [
- -121.8076228,
- 49.0622471
- ],
- [
- -121.9393997,
- 49.0636219
- ],
- [
- -121.9725524,
- 49.0424179
- ],
- [
- -121.9921394,
- 49.0332869
- ],
- [
- -122.0035289,
- 49.0273413
- ],
- [
- -122.0178564,
- 49.0241067
- ],
- [
- -122.1108634,
- 48.9992786
- ],
- [
- -122.1493067,
- 48.9995305
- ],
- [
- -122.1492705,
- 48.9991498
- ],
- [
- -122.1991447,
- 48.9996019
- ],
- [
- -122.199181,
- 48.9991974
- ],
- [
- -122.234365,
- 48.9994829
- ],
- [
- -122.234365,
- 49.000173
- ],
- [
- -122.3994722,
- 49.0012385
- ],
- [
- -122.4521338,
- 49.0016326
- ],
- [
- -122.4521338,
- 49.000883
- ],
- [
- -122.4584089,
- 49.0009306
- ],
- [
- -122.4584814,
- 48.9993124
- ],
- [
- -122.4992458,
- 48.9995022
- ],
- [
- -122.4992458,
- 48.9992906
- ],
- [
- -122.5492618,
- 48.9995107
- ],
- [
- -122.5492564,
- 48.9993206
- ],
- [
- -122.6580785,
- 48.9994212
- ],
- [
- -122.6581061,
- 48.9954007
- ],
- [
- -122.7067604,
- 48.9955344
- ],
- [
- -122.7519761,
- 48.9956392
- ],
- [
- -122.7922063,
- 48.9957204
- ],
- [
- -122.7921907,
- 48.9994331
- ],
- [
- -123.0350417,
- 48.9995724
- ],
- [
- -123.0350437,
- 49.0000958
- ],
- [
- -123.0397091,
- 49.0000536
- ],
- [
- -123.0397444,
- 49.0001812
- ],
- [
- -123.0485506,
- 49.0001348
- ],
- [
- -123.0485329,
- 49.0004712
- ],
- [
- -123.0557122,
- 49.000448
- ],
- [
- -123.0556324,
- 49.0002284
- ],
- [
- -123.0641365,
- 49.0001293
- ],
- [
- -123.064158,
- 48.9999421
- ],
- [
- -123.074899,
- 48.9996928
- ],
- [
- -123.0750717,
- 49.0006218
- ],
- [
- -123.0899573,
- 49.0003726
- ],
- [
- -123.109229,
- 48.9999421
- ],
- [
- -123.1271193,
- 49.0003046
- ],
- [
- -123.1359953,
- 48.9998741
- ],
- [
- -123.1362716,
- 49.0005765
- ],
- [
- -123.153851,
- 48.9998061
- ],
- [
- -123.1540533,
- 49.0006806
- ],
- [
- -123.1710015,
- 49.0001274
- ],
- [
- -123.2000916,
- 48.9996849
- ],
- [
- -123.2003446,
- 49.0497785
- ],
- [
- -123.2108845,
- 49.0497232
- ],
- [
- -123.2112218,
- 49.051989
- ],
- [
- -123.2070479,
- 49.0520857
- ],
- [
- -123.2078911,
- 49.0607884
- ],
- [
- -123.2191688,
- 49.0600978
- ],
- [
- -123.218958,
- 49.0612719
- ],
- [
- -123.2251766,
- 49.0612719
- ],
- [
- -123.2253874,
- 49.0622388
- ],
- [
- -123.2297088,
- 49.0620316
- ],
- [
- -123.2298142,
- 49.068592
- ],
- [
- -123.2331869,
- 49.0687301
- ],
- [
- -123.2335031,
- 49.0705945
- ],
- [
- -123.249313,
- 49.0702493
- ],
- [
- -123.2497346,
- 49.0802606
- ],
- [
- -123.2751358,
- 49.0803986
- ],
- [
- -123.2751358,
- 49.0870947
- ],
- [
- -123.299483,
- 49.0873018
- ],
- [
- -123.29944,
- 49.080253
- ],
- [
- -123.3254508,
- 49.0803944
- ],
- [
- -123.3254353,
- 49.1154662
- ],
- [
- -123.2750966,
- 49.1503341
- ],
- [
- -123.275181,
- 49.1873267
- ],
- [
- -123.2788067,
- 49.1871063
- ],
- [
- -123.278891,
- 49.1910741
- ],
- [
- -123.3004767,
- 49.1910741
- ],
- [
- -123.3004186,
- 49.2622933
- ],
- [
- -123.3126185,
- 49.2622416
- ],
- [
- -123.3125958,
- 49.2714948
- ],
- [
- -123.3154251,
- 49.2714727
- ],
- [
- -123.3156628,
- 49.2818906
- ],
- [
- -123.3174735,
- 49.2818832
- ],
- [
- -123.3174961,
- 49.2918488
- ],
- [
- -123.3190353,
- 49.2918488
- ],
- [
- -123.3190692,
- 49.298602
- ],
- [
- -123.3202349,
- 49.2985651
- ],
- [
- -123.3202786,
- 49.3019749
- ],
- [
- -123.3222679,
- 49.3019605
- ],
- [
- -123.3223943,
- 49.3118263
- ],
- [
- -123.3254002,
- 49.3118086
- ],
- [
- -123.3253898,
- 49.3201721
- ],
- [
- -123.3192695,
- 49.3201957
- ],
- [
- -123.3192242,
- 49.3246748
- ],
- [
- -123.3179437,
- 49.3246596
- ],
- [
- -123.3179861,
- 49.3254065
- ]
- ]
- ],
- "terms_url": "http://imagery.paulnorman.ca/tiles/about.html",
- "terms_text": "Copyright Province of British Columbia, City of Surrey"
- },
- {
- "name": "Cambodia, Laos, Thailand, Vietnam bilingual",
- "type": "tms",
- "template": "http://{switch:a,b,c,d}.tile.osm-tools.org/osm_then/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 19
- ],
- "polygon": [
- [
- [
- 97.3,
- 5.6
- ],
- [
- 97.3,
- 23.4
- ],
- [
- 109.6,
- 23.4
- ],
- [
- 109.6,
- 5.6
- ],
- [
- 97.3,
- 5.6
- ]
- ]
- ],
- "terms_url": "http://www.osm-tools.org/",
- "terms_text": "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA"
- },
- {
- "name": "Freemap.sk Car",
- "type": "tms",
- "template": "http://t{switch:1,2,3,4}.freemap.sk/A/{zoom}/{x}/{y}.jpeg",
- "scaleExtent": [
- 8,
- 16
- ],
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
- },
- {
- "name": "Freemap.sk Cyclo",
- "type": "tms",
- "template": "http://t{switch:1,2,3,4}.freemap.sk/C/{zoom}/{x}/{y}.jpeg",
- "scaleExtent": [
- 8,
- 16
- ],
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
- },
- {
- "name": "Freemap.sk Hiking",
- "type": "tms",
- "template": "http://t{switch:1,2,3,4}.freemap.sk/T/{zoom}/{x}/{y}.jpeg",
- "scaleExtent": [
- 8,
- 16
- ],
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
- },
- {
- "name": "Freemap.sk Ski",
- "type": "tms",
- "template": "http://t{switch:1,2,3,4}.freemap.sk/K/{zoom}/{x}/{y}.jpeg",
- "scaleExtent": [
- 8,
- 16
- ],
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
- },
- {
- "name": "Fugro (Denmark)",
- "type": "tms",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/fugro2005/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 19
- ],
- "polygon": [
- [
- [
- 8.3743941,
- 54.9551655
- ],
- [
- 8.3683809,
- 55.4042149
- ],
- [
- 8.2103997,
- 55.4039795
- ],
- [
- 8.2087314,
- 55.4937345
- ],
- [
- 8.0502655,
- 55.4924731
- ],
- [
- 8.0185123,
- 56.7501399
- ],
- [
- 8.1819161,
- 56.7509948
- ],
- [
- 8.1763274,
- 57.0208898
- ],
- [
- 8.3413329,
- 57.0219872
- ],
- [
- 8.3392467,
- 57.1119574
- ],
- [
- 8.5054433,
- 57.1123212
- ],
- [
- 8.5033923,
- 57.2020499
- ],
- [
- 9.3316304,
- 57.2027636
- ],
- [
- 9.3319079,
- 57.2924835
- ],
- [
- 9.4978864,
- 57.2919578
- ],
- [
- 9.4988593,
- 57.3820608
- ],
- [
- 9.6649749,
- 57.3811615
- ],
- [
- 9.6687295,
- 57.5605591
- ],
- [
- 9.8351961,
- 57.5596265
- ],
- [
- 9.8374896,
- 57.6493322
- ],
- [
- 10.1725726,
- 57.6462818
- ],
- [
- 10.1754245,
- 57.7367768
- ],
- [
- 10.5118282,
- 57.7330269
- ],
- [
- 10.5152095,
- 57.8228945
- ],
- [
- 10.6834853,
- 57.8207722
- ],
- [
- 10.6751613,
- 57.6412021
- ],
- [
- 10.5077045,
- 57.6433097
- ],
- [
- 10.5039992,
- 57.5535088
- ],
- [
- 10.671038,
- 57.5514113
- ],
- [
- 10.6507805,
- 57.1024538
- ],
- [
- 10.4857673,
- 57.1045138
- ],
- [
- 10.4786236,
- 56.9249051
- ],
- [
- 10.3143981,
- 56.9267573
- ],
- [
- 10.3112341,
- 56.8369269
- ],
- [
- 10.4750295,
- 56.83509
- ],
- [
- 10.4649016,
- 56.5656681
- ],
- [
- 10.9524239,
- 56.5589761
- ],
- [
- 10.9479249,
- 56.4692243
- ],
- [
- 11.1099335,
- 56.4664675
- ],
- [
- 11.1052639,
- 56.376833
- ],
- [
- 10.9429901,
- 56.3795284
- ],
- [
- 10.9341235,
- 56.1994768
- ],
- [
- 10.7719685,
- 56.2020244
- ],
- [
- 10.7694751,
- 56.1120103
- ],
- [
- 10.6079695,
- 56.1150259
- ],
- [
- 10.4466742,
- 56.116717
- ],
- [
- 10.2865948,
- 56.118675
- ],
- [
- 10.2831527,
- 56.0281851
- ],
- [
- 10.4439274,
- 56.0270388
- ],
- [
- 10.4417713,
- 55.7579243
- ],
- [
- 10.4334961,
- 55.6693533
- ],
- [
- 10.743814,
- 55.6646861
- ],
- [
- 10.743814,
- 55.5712253
- ],
- [
- 10.8969041,
- 55.5712253
- ],
- [
- 10.9051793,
- 55.3953852
- ],
- [
- 11.0613726,
- 55.3812841
- ],
- [
- 11.0593038,
- 55.1124061
- ],
- [
- 11.0458567,
- 55.0318621
- ],
- [
- 11.2030844,
- 55.0247474
- ],
- [
- 11.2030844,
- 55.117139
- ],
- [
- 11.0593038,
- 55.1124061
- ],
- [
- 11.0613726,
- 55.3812841
- ],
- [
- 11.0789572,
- 55.5712253
- ],
- [
- 10.8969041,
- 55.5712253
- ],
- [
- 10.9258671,
- 55.6670198
- ],
- [
- 10.743814,
- 55.6646861
- ],
- [
- 10.7562267,
- 55.7579243
- ],
- [
- 10.4417713,
- 55.7579243
- ],
- [
- 10.4439274,
- 56.0270388
- ],
- [
- 10.4466742,
- 56.116717
- ],
- [
- 10.6079695,
- 56.1150259
- ],
- [
- 10.6052053,
- 56.0247462
- ],
- [
- 10.9258671,
- 56.0201215
- ],
- [
- 10.9197132,
- 55.9309388
- ],
- [
- 11.0802782,
- 55.92792
- ],
- [
- 11.0858066,
- 56.0178284
- ],
- [
- 11.7265047,
- 56.005058
- ],
- [
- 11.7319981,
- 56.0952142
- ],
- [
- 12.0540333,
- 56.0871256
- ],
- [
- 12.0608477,
- 56.1762576
- ],
- [
- 12.7023469,
- 56.1594405
- ],
- [
- 12.6611131,
- 55.7114318
- ],
- [
- 12.9792318,
- 55.7014026
- ],
- [
- 12.9612912,
- 55.5217294
- ],
- [
- 12.3268659,
- 55.5412096
- ],
- [
- 12.3206071,
- 55.4513655
- ],
- [
- 12.4778226,
- 55.447067
- ],
- [
- 12.4702432,
- 55.3570479
- ],
- [
- 12.6269738,
- 55.3523837
- ],
- [
- 12.6200898,
- 55.2632576
- ],
- [
- 12.4627339,
- 55.26722
- ],
- [
- 12.4552949,
- 55.1778223
- ],
- [
- 12.2987046,
- 55.1822303
- ],
- [
- 12.2897344,
- 55.0923641
- ],
- [
- 12.6048608,
- 55.0832904
- ],
- [
- 12.5872011,
- 54.9036285
- ],
- [
- 12.2766618,
- 54.9119031
- ],
- [
- 12.2610181,
- 54.7331602
- ],
- [
- 12.1070691,
- 54.7378161
- ],
- [
- 12.0858621,
- 54.4681655
- ],
- [
- 11.7794953,
- 54.4753579
- ],
- [
- 11.7837381,
- 54.5654783
- ],
- [
- 11.1658525,
- 54.5782155
- ],
- [
- 11.1706443,
- 54.6686508
- ],
- [
- 10.8617173,
- 54.6733956
- ],
- [
- 10.8651245,
- 54.7634667
- ],
- [
- 10.7713646,
- 54.7643888
- ],
- [
- 10.7707276,
- 54.7372807
- ],
- [
- 10.7551428,
- 54.7375776
- ],
- [
- 10.7544039,
- 54.7195666
- ],
- [
- 10.7389074,
- 54.7197588
- ],
- [
- 10.7384368,
- 54.7108482
- ],
- [
- 10.7074486,
- 54.7113045
- ],
- [
- 10.7041094,
- 54.6756741
- ],
- [
- 10.5510973,
- 54.6781698
- ],
- [
- 10.5547184,
- 54.7670245
- ],
- [
- 10.2423994,
- 54.7705935
- ],
- [
- 10.2459845,
- 54.8604673
- ],
- [
- 10.0902268,
- 54.8622134
- ],
- [
- 10.0873731,
- 54.7723851
- ],
- [
- 9.1555798,
- 54.7769557
- ],
- [
- 9.1562752,
- 54.8675369
- ],
- [
- 8.5321973,
- 54.8663765
- ],
- [
- 8.531432,
- 54.95516
- ]
- ],
- [
- [
- 11.4577738,
- 56.819554
- ],
- [
- 11.7849181,
- 56.8127385
- ],
- [
- 11.7716715,
- 56.6332796
- ],
- [
- 11.4459621,
- 56.6401087
- ]
- ],
- [
- [
- 11.3274736,
- 57.3612962
- ],
- [
- 11.3161808,
- 57.1818004
- ],
- [
- 11.1508692,
- 57.1847276
- ],
- [
- 11.1456628,
- 57.094962
- ],
- [
- 10.8157703,
- 57.1001693
- ],
- [
- 10.8290599,
- 57.3695272
- ]
- ],
- [
- [
- 11.5843266,
- 56.2777928
- ],
- [
- 11.5782882,
- 56.1880397
- ],
- [
- 11.7392309,
- 56.1845765
- ],
- [
- 11.7456428,
- 56.2743186
- ]
- ],
- [
- [
- 14.6825922,
- 55.3639405
- ],
- [
- 14.8395247,
- 55.3565231
- ],
- [
- 14.8263755,
- 55.2671261
- ],
- [
- 15.1393406,
- 55.2517359
- ],
- [
- 15.1532015,
- 55.3410836
- ],
- [
- 15.309925,
- 55.3330556
- ],
- [
- 15.295719,
- 55.2437356
- ],
- [
- 15.1393406,
- 55.2517359
- ],
- [
- 15.1255631,
- 55.1623802
- ],
- [
- 15.2815819,
- 55.1544167
- ],
- [
- 15.2535578,
- 54.9757646
- ],
- [
- 14.6317464,
- 55.0062496
- ]
- ]
- ],
- "terms_url": "http://wiki.openstreetmap.org/wiki/Fugro",
- "terms_text": "Fugro Aerial Mapping"
- },
- {
- "name": "Imagerie Drone (Haiti)",
- "type": "tms",
- "template": "http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}",
- "polygon": [
- [
- [
- -72.1547401,
- 19.6878969
- ],
- [
- -72.162234,
- 19.689011
- ],
- [
- -72.164995,
- 19.6932445
- ],
- [
- -72.1657838,
- 19.6979977
- ],
- [
- -72.161603,
- 19.7035677
- ],
- [
- -72.1487449,
- 19.7028993
- ],
- [
- -72.1477194,
- 19.7026765
- ],
- [
- -72.1485082,
- 19.7001514
- ],
- [
- -72.1436963,
- 19.7011169
- ],
- [
- -72.1410143,
- 19.7000029
- ],
- [
- -72.139476,
- 19.6973664
- ],
- [
- -72.1382533,
- 19.6927617
- ],
- [
- -72.1386872,
- 19.6923161
- ],
- [
- -72.1380561,
- 19.6896423
- ],
- [
- -72.1385294,
- 19.6894938
- ],
- [
- -72.1388055,
- 19.6901251
- ],
- [
- -72.1388844,
- 19.6876741
- ],
- [
- -72.1378195,
- 19.6872656
- ],
- [
- -72.13778,
- 19.6850003
- ],
- [
- -72.1369517,
- 19.6855945
- ],
- [
- -72.136794,
- 19.6840719
- ],
- [
- -72.135729,
- 19.6835148
- ],
- [
- -72.1355713,
- 19.6740817
- ],
- [
- -72.1366362,
- 19.6708133
- ],
- [
- -72.1487843,
- 19.6710733
- ],
- [
- -72.1534779,
- 19.6763843
- ],
- [
- -72.1530835,
- 19.6769414
- ],
- [
- -72.1533251,
- 19.6769768
- ],
- [
- -72.1532807,
- 19.6796525
- ],
- [
- -72.1523834,
- 19.6797175
- ],
- [
- -72.1522749,
- 19.6803488
- ],
- [
- -72.1519101,
- 19.6803395
- ],
- [
- -72.1518608,
- 19.6805067
- ],
- [
- -72.1528173,
- 19.6806552
- ],
- [
- -72.1522299,
- 19.6833011
- ],
- [
- -72.1507801,
- 19.6831499
- ],
- [
- -72.1504457,
- 19.6847862
- ],
- [
- -72.1508591,
- 19.6843492
- ],
- [
- -72.1530087,
- 19.6849898
- ],
- [
- -72.1546258,
- 19.6854354
- ],
- [
- -72.1543103,
- 19.6870694
- ],
- [
- -72.1547244,
- 19.6868466
- ],
- [
- -72.1548501,
- 19.6877564
- ],
- [
- -72.1545814,
- 19.6877982
- ]
- ],
- [
- [
- -72.1310601,
- 19.6718929
- ],
- [
- -72.1259842,
- 19.6772765
- ],
- [
- -72.1255379,
- 19.6776179
- ],
- [
- -72.1216891,
- 19.6776442
- ],
- [
- -72.1149677,
- 19.672602
- ],
- [
- -72.1152745,
- 19.6687152
- ],
- [
- -72.1198205,
- 19.6627535
- ],
- [
- -72.1227768,
- 19.6625696
- ],
- [
- -72.1248965,
- 19.662701
- ],
- [
- -72.1285779,
- 19.6645394
- ],
- [
- -72.1308091,
- 19.6661677
- ],
- [
- -72.1316737,
- 19.668794
- ],
- [
- -72.1315621,
- 19.671
- ]
- ],
- [
- [
- -71.845795,
- 19.6709758
- ],
- [
- -71.8429354,
- 19.6759525
- ],
- [
- -71.8410027,
- 19.6759525
- ],
- [
- -71.8380249,
- 19.6755254
- ],
- [
- -71.8378671,
- 19.6745041
- ],
- [
- -71.8390504,
- 19.6743927
- ],
- [
- -71.8390109,
- 19.6741141
- ],
- [
- -71.8398392,
- 19.673947
- ],
- [
- -71.8389123,
- 19.6736127
- ],
- [
- -71.8380249,
- 19.67209
- ],
- [
- -71.8380052,
- 19.6726285
- ],
- [
- -71.8376699,
- 19.6727214
- ],
- [
- -71.8376305,
- 19.672545
- ],
- [
- -71.8354414,
- 19.6732135
- ],
- [
- -71.835333,
- 19.6729999
- ],
- [
- -71.8331242,
- 19.6734642
- ],
- [
- -71.8326706,
- 19.6716815
- ],
- [
- -71.8321579,
- 19.67209
- ],
- [
- -71.8307183,
- 19.6694902
- ],
- [
- -71.8306009,
- 19.6697594
- ],
- [
- -71.8302174,
- 19.6698907
- ],
- [
- -71.8291833,
- 19.6672095
- ],
- [
- -71.8290749,
- 19.6672095
- ],
- [
- -71.8289122,
- 19.6667916
- ],
- [
- -71.8289516,
- 19.6666199
- ],
- [
- -71.8288333,
- 19.6663506
- ],
- [
- -71.8285572,
- 19.6664759
- ],
- [
- -71.8288678,
- 19.6672466
- ],
- [
- -71.8287593,
- 19.6674138
- ],
- [
- -71.8277979,
- 19.6678177
- ],
- [
- -71.8277112,
- 19.6678586
- ],
- [
- -71.8278263,
- 19.6679637
- ],
- [
- -71.8271831,
- 19.6681212
- ],
- [
- -71.8271761,
- 19.6680917
- ],
- [
- -71.8264405,
- 19.6683921
- ],
- [
- -71.8264074,
- 19.6683231
- ],
- [
- -71.8261954,
- 19.6684253
- ],
- [
- -71.8261806,
- 19.6683556
- ],
- [
- -71.8258946,
- 19.6684206
- ],
- [
- -71.8258897,
- 19.6686574
- ],
- [
- -71.8251551,
- 19.6687549
- ],
- [
- -71.8254509,
- 19.6691588
- ],
- [
- -71.8229332,
- 19.6695739
- ],
- [
- -71.822713,
- 19.6696658
- ],
- [
- -71.8227688,
- 19.6697577
- ],
- [
- -71.8201751,
- 19.6709855
- ],
- [
- -71.8198474,
- 19.6704537
- ],
- [
- -71.8197985,
- 19.6706014
- ],
- [
- -71.8194674,
- 19.6707557
- ],
- [
- -71.8182472,
- 19.6713433
- ],
- [
- -71.8181426,
- 19.6711431
- ],
- [
- -71.8175813,
- 19.6714254
- ],
- [
- -71.816959,
- 19.6707672
- ],
- [
- -71.8176388,
- 19.6718965
- ],
- [
- -71.8171403,
- 19.6720376
- ],
- [
- -71.8158225,
- 19.6718045
- ],
- [
- -71.8138354,
- 19.6711874
- ],
- [
- -71.8123259,
- 19.6706982
- ],
- [
- -71.8121759,
- 19.6704258
- ],
- [
- -71.8124304,
- 19.6701467
- ],
- [
- -71.8119184,
- 19.6700141
- ],
- [
- -71.8118765,
- 19.6705828
- ],
- [
- -71.811169,
- 19.6703483
- ],
- [
- -71.8095938,
- 19.6698516
- ],
- [
- -71.8077992,
- 19.6692829
- ],
- [
- -71.8056028,
- 19.668612
- ],
- [
- -71.8051443,
- 19.6668942
- ],
- [
- -71.8051196,
- 19.6652322
- ],
- [
- -71.8052315,
- 19.661979
- ],
- [
- -71.8065603,
- 19.6523921
- ],
- [
- -71.8073412,
- 19.6482946
- ],
- [
- -71.8099686,
- 19.6468292
- ],
- [
- -71.8147517,
- 19.6454502
- ],
- [
- -71.8147726,
- 19.6455619
- ],
- [
- -71.8150027,
- 19.6455093
- ],
- [
- -71.8149469,
- 19.6453846
- ],
- [
- -71.8159928,
- 19.6450234
- ],
- [
- -71.8158882,
- 19.6448855
- ],
- [
- -71.8165854,
- 19.6446097
- ],
- [
- -71.8190119,
- 19.643802
- ],
- [
- -71.8211524,
- 19.643454
- ],
- [
- -71.8221564,
- 19.6433292
- ],
- [
- -71.8269046,
- 19.643211
- ],
- [
- -71.8280481,
- 19.6432241
- ],
- [
- -71.8304466,
- 19.6440778
- ],
- [
- -71.8306419,
- 19.6448592
- ],
- [
- -71.8295263,
- 19.6450365
- ],
- [
- -71.8296064,
- 19.6456111
- ],
- [
- -71.8299411,
- 19.6455651
- ],
- [
- -71.8303699,
- 19.6451744
- ],
- [
- -71.830471,
- 19.6453452
- ],
- [
- -71.8308092,
- 19.6451974
- ],
- [
- -71.8310184,
- 19.6451088
- ],
- [
- -71.8312519,
- 19.6458541
- ],
- [
- -71.8311125,
- 19.6458245
- ],
- [
- -71.831367,
- 19.6465862
- ],
- [
- -71.8328939,
- 19.646189
- ],
- [
- -71.8344566,
- 19.6457062
- ],
- [
- -71.8344664,
- 19.6463052
- ],
- [
- -71.834215,
- 19.6461938
- ],
- [
- -71.8342002,
- 19.6465513
- ],
- [
- -71.8346702,
- 19.6463
- ],
- [
- -71.8349118,
- 19.6463905
- ],
- [
- -71.8347984,
- 19.6462187
- ],
- [
- -71.8354393,
- 19.6458496
- ],
- [
- -71.8355034,
- 19.6458032
- ],
- [
- -71.8364747,
- 19.6461328
- ],
- [
- -71.8376382,
- 19.6472658
- ],
- [
- -71.8379143,
- 19.647888
- ],
- [
- -71.8390483,
- 19.6508039
- ],
- [
- -71.8456942,
- 19.6696203
- ]
- ],
- [
- [
- -72.098878,
- 18.54843
- ],
- [
- -72.096993,
- 18.5501994
- ],
- [
- -72.0972888,
- 18.5503209
- ],
- [
- -72.0968451,
- 18.5503489
- ],
- [
- -72.0955632,
- 18.551854
- ],
- [
- -72.0956428,
- 18.5526742
- ],
- [
- -72.0959914,
- 18.5533748
- ],
- [
- -72.0962145,
- 18.553203
- ],
- [
- -72.0962842,
- 18.5535665
- ],
- [
- -72.0964446,
- 18.5535533
- ],
- [
- -72.0965352,
- 18.5539764
- ],
- [
- -72.0965056,
- 18.554173
- ],
- [
- -72.0966085,
- 18.5541747
- ],
- [
- -72.0965178,
- 18.5542127
- ],
- [
- -72.0968769,
- 18.5546588
- ],
- [
- -72.0979018,
- 18.5552141
- ],
- [
- -72.1006211,
- 18.5555875
- ],
- [
- -72.1014926,
- 18.5556206
- ],
- [
- -72.1024339,
- 18.5555016
- ],
- [
- -72.103417,
- 18.5543515
- ],
- [
- -72.1034798,
- 18.5516215
- ],
- [
- -72.1030789,
- 18.5516149
- ],
- [
- -72.1033752,
- 18.5515224
- ],
- [
- -72.1035042,
- 18.5515224
- ],
- [
- -72.1035239,
- 18.5502417
- ],
- [
- -72.1028701,
- 18.5503062
- ],
- [
- -72.1029015,
- 18.55025
- ],
- [
- -72.1028457,
- 18.5501773
- ],
- [
- -72.1035081,
- 18.5500252
- ],
- [
- -72.103491,
- 18.5497396
- ],
- [
- -72.1035181,
- 18.5497361
- ],
- [
- -72.1035398,
- 18.5489039
- ],
- [
- -72.1034317,
- 18.5487056
- ],
- [
- -72.102717,
- 18.5481437
- ],
- [
- -72.1025601,
- 18.5481536
- ],
- [
- -72.10229,
- 18.5482751
- ],
- [
- -72.1022891,
- 18.5482569
- ],
- [
- -72.1025201,
- 18.5481396
- ],
- [
- -72.1023388,
- 18.5481321
- ],
- [
- -72.0999082,
- 18.5480901
- ],
- [
- -72.09907,
- 18.5483799
- ]
- ],
- [
- [
- -72.2542503,
- 18.568262
- ],
- [
- -72.2560252,
- 18.5717765
- ],
- [
- -72.2557886,
- 18.5748049
- ],
- [
- -72.2535009,
- 18.5755526
- ],
- [
- -72.2522782,
- 18.5755526
- ],
- [
- -72.2499906,
- 18.5740945
- ],
- [
- -72.2473874,
- 18.5698323
- ],
- [
- -72.2460069,
- 18.566729
- ],
- [
- -72.2458492,
- 18.5629527
- ],
- [
- -72.2479396,
- 18.5625414
- ],
- [
- -72.2501483,
- 18.5628031
- ],
- [
- -72.2519232,
- 18.5650839
- ]
- ],
- [
- [
- -72.303145,
- 18.5332749
- ],
- [
- -72.3031275,
- 18.5331799
- ],
- [
- -72.3048311,
- 18.5311081
- ],
- [
- -72.3097397,
- 18.5311081
- ],
- [
- -72.3164332,
- 18.5324302
- ],
- [
- -72.3234056,
- 18.5366083
- ],
- [
- -72.3261388,
- 18.5387765
- ],
- [
- -72.3261946,
- 18.5426371
- ],
- [
- -72.3170468,
- 18.5540596
- ],
- [
- -72.3130864,
- 18.5540596
- ],
- [
- -72.2987511,
- 18.5453342
- ],
- [
- -72.2988627,
- 18.5407333
- ],
- [
- -72.2962969,
- 18.5404689
- ],
- [
- -72.2954602,
- 18.5395169
- ],
- [
- -72.2961853,
- 18.5338582
- ],
- [
- -72.2971893,
- 18.5332235
- ],
- [
- -72.3007034,
- 18.5332764
- ],
- [
- -72.3022652,
- 18.5342284
- ],
- [
- -72.3028486,
- 18.5335189
- ],
- [
- -72.303104,
- 18.5333361
- ],
- [
- -72.303181,
- 18.5334007
- ],
- [
- -72.3035793,
- 18.5335614
- ],
- [
- -72.3030793,
- 18.5346463
- ],
- [
- -72.303715,
- 18.5339873
- ],
- [
- -72.3045286,
- 18.5344052
- ],
- [
- -72.3044015,
- 18.5345097
- ],
- [
- -72.3062747,
- 18.5352571
- ],
- [
- -72.3063107,
- 18.5352741
- ],
- [
- -72.3061219,
- 18.5357628
- ],
- [
- -72.3061219,
- 18.5358196
- ],
- [
- -72.30637,
- 18.5358928
- ],
- [
- -72.3062726,
- 18.5354869
- ],
- [
- -72.3066688,
- 18.5350891
- ],
- [
- -72.3061963,
- 18.5349706
- ],
- [
- -72.3058869,
- 18.5349385
- ],
- [
- -72.3055373,
- 18.5346833
- ],
- [
- -72.3054864,
- 18.534613
- ],
- [
- -72.3055585,
- 18.5345065
- ],
- [
- -72.3046749,
- 18.5342293
- ],
- [
- -72.3047617,
- 18.5338817
- ],
- [
- -72.3043252,
- 18.5337511
- ],
- [
- -72.3042595,
- 18.5336346
- ]
- ],
- [
- [
- -72.2981405,
- 18.477502
- ],
- [
- -72.2935652,
- 18.4948587
- ],
- [
- -72.2922242,
- 18.4964297
- ],
- [
- -72.2931708,
- 18.4972526
- ],
- [
- -72.2892266,
- 18.5057058
- ],
- [
- -72.2878067,
- 18.5080996
- ],
- [
- -72.2850458,
- 18.5119893
- ],
- [
- -72.2840203,
- 18.5113161
- ],
- [
- -72.2808649,
- 18.515879
- ],
- [
- -72.2773151,
- 18.5175994
- ],
- [
- -72.2723454,
- 18.5175246
- ],
- [
- -72.2662714,
- 18.5144578
- ],
- [
- -72.2665869,
- 18.5066783
- ],
- [
- -72.2692643,
- 18.5046154
- ],
- [
- -72.2661965,
- 18.5029756
- ],
- [
- -72.2688181,
- 18.4965222
- ],
- [
- -72.2691528,
- 18.4959403
- ],
- [
- -72.2702684,
- 18.4961519
- ],
- [
- -72.2702684,
- 18.4955964
- ],
- [
- -72.2690691,
- 18.49557
- ],
- [
- -72.2692922,
- 18.4937714
- ],
- [
- -72.2736988,
- 18.4859951
- ],
- [
- -72.2746749,
- 18.4850429
- ],
- [
- -72.2751769,
- 18.483403
- ],
- [
- -72.2765435,
- 18.4813398
- ],
- [
- -72.2773523,
- 18.4814985
- ],
- [
- -72.2783006,
- 18.4809694
- ],
- [
- -72.2778544,
- 18.4807049
- ],
- [
- -72.2771013,
- 18.480123
- ],
- [
- -72.2789978,
- 18.4775836
- ],
- [
- -72.279723,
- 18.4772927
- ],
- [
- -72.2806433,
- 18.4776365
- ],
- [
- -72.2813685,
- 18.4771604
- ],
- [
- -72.2808386,
- 18.4769752
- ],
- [
- -72.2812848,
- 18.4758378
- ],
- [
- -72.2823167,
- 18.4751765
- ],
- [
- -72.2851615,
- 18.4750971
- ],
- [
- -72.2849941,
- 18.4763668
- ],
- [
- -72.2854404,
- 18.4769752
- ],
- [
- -72.286277,
- 18.4756262
- ],
- [
- -72.2869325,
- 18.4754675
- ],
- [
- -72.2865978,
- 18.4751897
- ],
- [
- -72.2865978,
- 18.4750046
- ],
- [
- -72.2909765,
- 18.4747268
- ],
- [
- -72.2946579,
- 18.4749384
- ],
- [
- -72.2973911,
- 18.476843
- ]
- ],
- [
- [
- -72.3466657,
- 18.5222375
- ],
- [
- -72.346833,
- 18.5244325
- ],
- [
- -72.3475303,
- 18.5277645
- ],
- [
- -72.3455501,
- 18.5291131
- ],
- [
- -72.3403069,
- 18.5292189
- ],
- [
- -72.3383267,
- 18.5280289
- ],
- [
- -72.3369043,
- 18.530118
- ],
- [
- -72.3338086,
- 18.5296684
- ],
- [
- -72.3289279,
- 18.5270769
- ],
- [
- -72.328649,
- 18.5253316
- ],
- [
- -72.3292068,
- 18.5232689
- ],
- [
- -72.330406,
- 18.5220524
- ],
- [
- -72.3321631,
- 18.5221847
- ],
- [
- -72.3322467,
- 18.5191963
- ],
- [
- -72.3369183,
- 18.5183633
- ],
- [
- -72.3382012,
- 18.5184691
- ],
- [
- -72.3381454,
- 18.5181782
- ],
- [
- -72.3411993,
- 18.5177947
- ],
- [
- -72.3454943,
- 18.5171997
- ],
- [
- -72.3492595,
- 18.517279
- ],
- [
- -72.3504308,
- 18.5188922
- ],
- [
- -72.3503472,
- 18.5206112
- ],
- [
- -72.3496778,
- 18.5220392
- ]
- ],
- [
- [
- -72.3303078,
- 18.5486462
- ],
- [
- -72.3429687,
- 18.5508149
- ],
- [
- -72.3433236,
- 18.5530585
- ],
- [
- -72.3413121,
- 18.5614341
- ],
- [
- -72.3390639,
- 18.5613593
- ],
- [
- -72.3384723,
- 18.5638271
- ],
- [
- -72.3375257,
- 18.5654348
- ],
- [
- -72.3348436,
- 18.5650609
- ],
- [
- -72.3311755,
- 18.5638271
- ],
- [
- -72.3312149,
- 18.5616211
- ],
- [
- -72.3232082,
- 18.5606863
- ],
- [
- -72.3212361,
- 18.559602
- ],
- [
- -72.3208023,
- 18.5587046
- ],
- [
- -72.3208811,
- 18.557882
- ],
- [
- -72.3259493,
- 18.5580274
- ],
- [
- -72.3266186,
- 18.5581993
- ],
- [
- -72.3259214,
- 18.5577498
- ],
- [
- -72.3250986,
- 18.5573797
- ],
- [
- -72.3233767,
- 18.552263
- ],
- [
- -72.3245994,
- 18.5478507
- ],
- [
- -72.3288986,
- 18.5483742
- ],
- [
- -72.329979,
- 18.5489548
- ]
- ],
- [
- [
- -72.3231383,
- 18.5269828
- ],
- [
- -72.3223434,
- 18.528067
- ],
- [
- -72.3209629,
- 18.5279745
- ],
- [
- -72.3207816,
- 18.5271282
- ],
- [
- -72.3208513,
- 18.5253697
- ],
- [
- -72.3214649,
- 18.5249598
- ],
- [
- -72.3225666,
- 18.5248937
- ],
- [
- -72.3228454,
- 18.52533
- ],
- [
- -72.3232359,
- 18.5264804
- ]
- ],
- [
- [
- -72.2160832,
- 18.6457752
- ],
- [
- -72.2159649,
- 18.6553795
- ],
- [
- -72.2030279,
- 18.6558279
- ],
- [
- -72.1947057,
- 18.6553421
- ],
- [
- -72.1922208,
- 18.6545573
- ],
- [
- -72.1920631,
- 18.6521283
- ],
- [
- -72.193483,
- 18.6477559
- ],
- [
- -72.201253,
- 18.6385249
- ],
- [
- -72.2069327,
- 18.6388239
- ],
- [
- -72.2120996,
- 18.6424117
- ],
- [
- -72.2118068,
- 18.6430591
- ],
- [
- -72.2121693,
- 18.6426892
- ],
- [
- -72.2127968,
- 18.6427552
- ],
- [
- -72.2134662,
- 18.6431252
- ],
- [
- -72.2135638,
- 18.6437462
- ],
- [
- -72.2154176,
- 18.6443947
- ],
- [
- -72.2158909,
- 18.6450301
- ]
- ],
- [
- [
- -72.2867654,
- 18.6482017
- ],
- [
- -72.2900977,
- 18.6527446
- ],
- [
- -72.28981,
- 18.6536532
- ],
- [
- -72.2900738,
- 18.6542664
- ],
- [
- -72.290721,
- 18.6537667
- ],
- [
- -72.2910327,
- 18.6544709
- ],
- [
- -72.2912485,
- 18.654221
- ],
- [
- -72.29168,
- 18.6558905
- ],
- [
- -72.2912245,
- 18.656606
- ],
- [
- -72.2922673,
- 18.65597
- ],
- [
- -72.2926869,
- 18.6567536
- ],
- [
- -72.2930705,
- 18.6567309
- ],
- [
- -72.2941253,
- 18.6581846
- ],
- [
- -72.2960192,
- 18.6608421
- ],
- [
- -72.2959713,
- 18.6619096
- ],
- [
- -72.2932862,
- 18.664567
- ],
- [
- -72.2906731,
- 18.6659979
- ],
- [
- -72.2895943,
- 18.6661342
- ],
- [
- -72.2895943,
- 18.6665657
- ],
- [
- -72.2877004,
- 18.6664749
- ],
- [
- -72.2875805,
- 18.6676559
- ],
- [
- -72.2831214,
- 18.6697227
- ],
- [
- -72.2796453,
- 18.6696546
- ],
- [
- -72.2784311,
- 18.6690787
- ],
- [
- -72.2783972,
- 18.6687736
- ],
- [
- -72.277736,
- 18.6691671
- ],
- [
- -72.2774394,
- 18.669143
- ],
- [
- -72.2770071,
- 18.6683159
- ],
- [
- -72.2765575,
- 18.6681125
- ],
- [
- -72.2765385,
- 18.6680583
- ],
- [
- -72.2752319,
- 18.6685239
- ],
- [
- -72.2749292,
- 18.6674649
- ],
- [
- -72.2746416,
- 18.6674309
- ],
- [
- -72.2734668,
- 18.6682145
- ],
- [
- -72.2732271,
- 18.6682712
- ],
- [
- -72.2726757,
- 18.6671583
- ],
- [
- -72.2719147,
- 18.6674288
- ],
- [
- -72.2718808,
- 18.6673405
- ],
- [
- -72.2688149,
- 18.6681868
- ],
- [
- -72.2688269,
- 18.6671761
- ],
- [
- -72.2690786,
- 18.6668241
- ],
- [
- -72.2688149,
- 18.66679
- ],
- [
- -72.2681077,
- 18.6670739
- ],
- [
- -72.2676282,
- 18.6673805
- ],
- [
- -72.2675563,
- 18.6666878
- ],
- [
- -72.266861,
- 18.666949
- ],
- [
- -72.2655904,
- 18.6673578
- ],
- [
- -72.2654466,
- 18.6670058
- ],
- [
- -72.2647514,
- 18.6674146
- ],
- [
- -72.2629893,
- 18.6681868
- ],
- [
- -72.2628455,
- 18.6681754
- ],
- [
- -72.2626537,
- 18.6676076
- ],
- [
- -72.2623001,
- 18.6677098
- ],
- [
- -72.2624799,
- 18.6679199
- ],
- [
- -72.2624799,
- 18.6682322
- ],
- [
- -72.262306,
- 18.6682606
- ],
- [
- -72.2620963,
- 18.6679654
- ],
- [
- -72.2622761,
- 18.6689193
- ],
- [
- -72.2601484,
- 18.6688966
- ],
- [
- -72.2542749,
- 18.6687944
- ],
- [
- -72.2505388,
- 18.6683476
- ],
- [
- -72.2504371,
- 18.669536
- ],
- [
- -72.2477926,
- 18.6698893
- ],
- [
- -72.2415204,
- 18.669793
- ],
- [
- -72.2414187,
- 18.6741933
- ],
- [
- -72.2389167,
- 18.6739759
- ],
- [
- -72.2387249,
- 18.6734649
- ],
- [
- -72.2383653,
- 18.6733059
- ],
- [
- -72.2387009,
- 18.6739532
- ],
- [
- -72.2375502,
- 18.6738964
- ],
- [
- -72.2374183,
- 18.6735103
- ],
- [
- -72.237742,
- 18.67334
- ],
- [
- -72.2375142,
- 18.6732605
- ],
- [
- -72.236843,
- 18.6734876
- ],
- [
- -72.2364354,
- 18.6724088
- ],
- [
- -72.2355124,
- 18.6726019
- ],
- [
- -72.2354045,
- 18.6724202
- ],
- [
- -72.2353027,
- 18.6729028
- ],
- [
- -72.2345475,
- 18.6726871
- ],
- [
- -72.2343077,
- 18.6724599
- ],
- [
- -72.2342358,
- 18.6734706
- ],
- [
- -72.2334087,
- 18.6734592
- ],
- [
- -72.2332889,
- 18.6733003
- ],
- [
- -72.2327375,
- 18.6732889
- ],
- [
- -72.2327135,
- 18.6735047
- ],
- [
- -72.227703,
- 18.6725281
- ],
- [
- -72.2265283,
- 18.6716537
- ],
- [
- -72.226804,
- 18.6715742
- ],
- [
- -72.2274993,
- 18.6715855
- ],
- [
- -72.2274873,
- 18.6714493
- ],
- [
- -72.2272899,
- 18.6714623
- ],
- [
- -72.2272814,
- 18.6712977
- ],
- [
- -72.2272094,
- 18.671358
- ],
- [
- -72.2261785,
- 18.6713693
- ],
- [
- -72.2256032,
- 18.670881
- ],
- [
- -72.2255073,
- 18.6694502
- ],
- [
- -72.2261066,
- 18.6696886
- ],
- [
- -72.2261785,
- 18.6695949
- ],
- [
- -72.2259837,
- 18.6695495
- ],
- [
- -72.225777,
- 18.6691379
- ],
- [
- -72.2253335,
- 18.6694643
- ],
- [
- -72.2249739,
- 18.66947
- ],
- [
- -72.2245783,
- 18.6678802
- ],
- [
- -72.2235525,
- 18.6677046
- ],
- [
- -72.2235907,
- 18.6675921
- ],
- [
- -72.2224634,
- 18.6676283
- ],
- [
- -72.2223659,
- 18.667022
- ],
- [
- -72.2223277,
- 18.6670943
- ],
- [
- -72.2219209,
- 18.667026
- ],
- [
- -72.2208105,
- 18.6669015
- ],
- [
- -72.220809,
- 18.6665325
- ],
- [
- -72.2208705,
- 18.6663593
- ],
- [
- -72.2206023,
- 18.6668107
- ],
- [
- -72.2203895,
- 18.6666361
- ],
- [
- -72.2184341,
- 18.6650535
- ],
- [
- -72.21829,
- 18.6640979
- ],
- [
- -72.2183493,
- 18.6608376
- ],
- [
- -72.2187223,
- 18.6606541
- ],
- [
- -72.2186894,
- 18.660603
- ],
- [
- -72.2187253,
- 18.6604525
- ],
- [
- -72.2189771,
- 18.6603247
- ],
- [
- -72.2187823,
- 18.6601998
- ],
- [
- -72.2186984,
- 18.6602367
- ],
- [
- -72.2185815,
- 18.6600352
- ],
- [
- -72.2186085,
- 18.6600039
- ],
- [
- -72.2187823,
- 18.6601345
- ],
- [
- -72.218995,
- 18.6600181
- ],
- [
- -72.2189111,
- 18.6599131
- ],
- [
- -72.2189681,
- 18.6597938
- ],
- [
- -72.2183807,
- 18.6595837
- ],
- [
- -72.2184728,
- 18.6539662
- ],
- [
- -72.2201001,
- 18.6511554
- ],
- [
- -72.225796,
- 18.6469472
- ],
- [
- -72.2283048,
- 18.6457265
- ],
- [
- -72.2379335,
- 18.645855
- ],
- [
- -72.237764,
- 18.6446985
- ],
- [
- -72.2400355,
- 18.6432529
- ],
- [
- -72.2455958,
- 18.6433493
- ],
- [
- -72.2482742,
- 18.6450358
- ],
- [
- -72.2487488,
- 18.6436705
- ],
- [
- -72.2511067,
- 18.6429775
- ],
- [
- -72.2512385,
- 18.6433409
- ],
- [
- -72.2512625,
- 18.6431592
- ],
- [
- -72.2514843,
- 18.6431365
- ],
- [
- -72.2513284,
- 18.6429718
- ],
- [
- -72.2533602,
- 18.6423471
- ],
- [
- -72.253516,
- 18.6426765
- ],
- [
- -72.2539535,
- 18.6425402
- ],
- [
- -72.2541453,
- 18.642932
- ],
- [
- -72.2543851,
- 18.6428696
- ],
- [
- -72.2543791,
- 18.6427503
- ],
- [
- -72.2564168,
- 18.6423244
- ],
- [
- -72.2566925,
- 18.6431365
- ],
- [
- -72.2568783,
- 18.6428582
- ],
- [
- -72.2568184,
- 18.6425288
- ],
- [
- -72.258843,
- 18.6420991
- ],
- [
- -72.258885,
- 18.6422467
- ],
- [
- -72.2592626,
- 18.6422297
- ],
- [
- -72.2596461,
- 18.6424057
- ],
- [
- -72.2592206,
- 18.6406907
- ],
- [
- -72.2599545,
- 18.6404815
- ],
- [
- -72.2601156,
- 18.6406341
- ],
- [
- -72.2601156,
- 18.6399393
- ],
- [
- -72.2615268,
- 18.6394669
- ],
- [
- -72.2626056,
- 18.6391034
- ],
- [
- -72.2654465,
- 18.6387286
- ],
- [
- -72.2719433,
- 18.6386832
- ],
- [
- -72.272201,
- 18.6388649
- ],
- [
- -72.2730341,
- 18.6394158
- ],
- [
- -72.273166,
- 18.6412558
- ],
- [
- -72.2738732,
- 18.6410286
- ],
- [
- -72.2742208,
- 18.6416079
- ],
- [
- -72.2752187,
- 18.6416987
- ],
- [
- -72.2754524,
- 18.6415738
- ],
- [
- -72.2755513,
- 18.6416874
- ],
- [
- -72.2755394,
- 18.6417527
- ],
- [
- -72.2764713,
- 18.6418634
- ],
- [
- -72.276753,
- 18.6418975
- ],
- [
- -72.2762953,
- 18.6426002
- ],
- [
- -72.2774226,
- 18.6429978
- ],
- [
- -72.277982,
- 18.6427247
- ],
- [
- -72.2785796,
- 18.6431303
- ],
- [
- -72.2785669,
- 18.6432307
- ],
- [
- -72.2789017,
- 18.6433471
- ],
- [
- -72.279851,
- 18.6439655
- ],
- [
- -72.2858703,
- 18.6469651
- ]
- ],
- [
- [
- -72.5557247,
- 18.5305893
- ],
- [
- -72.5555866,
- 18.5367036
- ],
- [
- -72.554995,
- 18.537975
- ],
- [
- -72.5488026,
- 18.537919
- ],
- [
- -72.5486646,
- 18.5372832
- ],
- [
- -72.548842,
- 18.5306267
- ],
- [
- -72.5493745,
- 18.5301031
- ],
- [
- -72.555133,
- 18.5301218
- ]
- ],
- [
- [
- -72.6235278,
- 18.5079877
- ],
- [
- -72.6234441,
- 18.5095217
- ],
- [
- -72.6226074,
- 18.5104341
- ],
- [
- -72.6204878,
- 18.511849
- ],
- [
- -72.6183403,
- 18.5107514
- ],
- [
- -72.6162207,
- 18.5083183
- ],
- [
- -72.6162625,
- 18.506467
- ],
- [
- -72.618661,
- 18.5044438
- ],
- [
- -72.6204041,
- 18.5044967
- ],
- [
- -72.6228305,
- 18.506996
- ]
- ]
- ]
- },
- {
- "name": "Ireland Bartholomew Quarter-Inch 1940",
- "type": "tms",
- "template": "http://geo.nls.uk/maps/ireland/bartholomew/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 5,
- 13
- ],
- "polygon": [
- [
- [
- -8.8312773,
- 55.3963337
- ],
- [
- -7.3221271,
- 55.398605
- ],
- [
- -7.2891331,
- 55.4333162
- ],
- [
- -7.2368042,
- 55.4530757
- ],
- [
- -7.18881,
- 55.4497995
- ],
- [
- -7.1528144,
- 55.3968384
- ],
- [
- -6.90561,
- 55.394903
- ],
- [
- -6.9047153,
- 55.3842114
- ],
- [
- -5.8485282,
- 55.3922956
- ],
- [
- -5.8378629,
- 55.248676
- ],
- [
- -5.3614762,
- 55.2507024
- ],
- [
- -5.3899172,
- 53.8466464
- ],
- [
- -5.8734141,
- 53.8487436
- ],
- [
- -5.8983,
- 52.8256258
- ],
- [
- -6.0191742,
- 52.8256258
- ],
- [
- -6.0262844,
- 51.7712367
- ],
- [
- -8.1131422,
- 51.7712367
- ],
- [
- -8.1273627,
- 51.3268839
- ],
- [
- -10.6052842,
- 51.3091083
- ],
- [
- -10.6271879,
- 52.0328254
- ],
- [
- -10.6469845,
- 52.0322454
- ],
- [
- -10.6469845,
- 52.0440365
- ],
- [
- -10.6271879,
- 52.0448095
- ],
- [
- -10.6290733,
- 52.0745627
- ],
- [
- -10.6699234,
- 52.0743695
- ],
- [
- -10.6702376,
- 52.0876941
- ],
- [
- -10.6312729,
- 52.0898179
- ],
- [
- -10.6393128,
- 52.4147202
- ],
- [
- -10.3137689,
- 52.4185533
- ],
- [
- -10.3166401,
- 53.3341342
- ],
- [
- -10.3699669,
- 53.3330727
- ],
- [
- -10.385965,
- 54.3534472
- ],
- [
- -8.8163777,
- 54.3586265
- ],
- [
- -8.8173427,
- 54.6595721
- ],
- [
- -8.8413398,
- 54.6616284
- ],
- [
- -8.8422286,
- 54.6929749
- ],
- [
- -8.8315632,
- 54.7145436
- ],
- [
- -8.8151208,
- 54.7145436
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "Ireland British War Office One-Inch 1941-43 GSGS 4136",
- "type": "tms",
- "template": "http://geo.nls.uk/maps/ireland/gsgs4136/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 5,
- 15
- ],
- "polygon": [
- [
- [
- -10.0847426,
- 51.4147902
- ],
- [
- -10.0906535,
- 51.5064103
- ],
- [
- -10.4564222,
- 51.5003961
- ],
- [
- -10.5005905,
- 52.3043019
- ],
- [
- -10.0837522,
- 52.312741
- ],
- [
- -10.0840973,
- 52.3404698
- ],
- [
- -10.055802,
- 52.3408915
- ],
- [
- -10.0768509,
- 52.7628238
- ],
- [
- -9.7780248,
- 52.7684611
- ],
- [
- -9.7818205,
- 52.8577261
- ],
- [
- -9.6337877,
- 52.8596012
- ],
- [
- -9.6449626,
- 53.1294502
- ],
- [
- -10.0919663,
- 53.1227152
- ],
- [
- -10.1051422,
- 53.3912913
- ],
- [
- -10.4052593,
- 53.3866349
- ],
- [
- -10.4530828,
- 54.193502
- ],
- [
- -10.2998523,
- 54.1974988
- ],
- [
- -10.3149801,
- 54.4669592
- ],
- [
- -8.9276095,
- 54.4853897
- ],
- [
- -8.9339534,
- 54.7546562
- ],
- [
- -8.7773069,
- 54.755501
- ],
- [
- -8.7826749,
- 55.0252208
- ],
- [
- -8.9402974,
- 55.0238221
- ],
- [
- -8.9451773,
- 55.2934155
- ],
- [
- -7.528039,
- 55.2970274
- ],
- [
- -7.525599,
- 55.3874955
- ],
- [
- -7.0541955,
- 55.3841691
- ],
- [
- -7.0556595,
- 55.2939712
- ],
- [
- -6.3241545,
- 55.2859128
- ],
- [
- -6.3217146,
- 55.3253556
- ],
- [
- -6.1035807,
- 55.3223016
- ],
- [
- -6.1045566,
- 55.2828557
- ],
- [
- -5.7985836,
- 55.2772968
- ],
- [
- -5.8117595,
- 55.0087135
- ],
- [
- -5.656577,
- 55.0056351
- ],
- [
- -5.6721928,
- 54.7355021
- ],
- [
- -5.3618278,
- 54.729585
- ],
- [
- -5.3964755,
- 54.1917889
- ],
- [
- -5.855679,
- 54.2017807
- ],
- [
- -5.9220464,
- 52.8524504
- ],
- [
- -6.070885,
- 52.8551025
- ],
- [
- -6.1030927,
- 52.1373337
- ],
- [
- -6.8331336,
- 52.1463183
- ],
- [
- -6.8355736,
- 52.0578908
- ],
- [
- -7.5641506,
- 52.0617913
- ],
- [
- -7.5661026,
- 51.7921593
- ],
- [
- -8.147305,
- 51.792763
- ],
- [
- -8.146329,
- 51.7033331
- ],
- [
- -8.2912636,
- 51.7027283
- ],
- [
- -8.2897996,
- 51.5227274
- ],
- [
- -9.1174397,
- 51.516958
- ],
- [
- -9.1179277,
- 51.4625685
- ],
- [
- -9.3692452,
- 51.4616564
- ],
- [
- -9.3672933,
- 51.4254613
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "Ireland EEA CORINE 2006",
- "type": "tms",
- "template": "http://a.tile.openstreetmap.ie/tiles/corine/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 5,
- 16
- ],
- "polygon": [
- [
- [
- -5.842956,
- 53.8627976
- ],
- [
- -5.8341575,
- 53.7633541
- ],
- [
- -5.6267647,
- 53.5383692
- ],
- [
- -5.9648778,
- 52.1631197
- ],
- [
- -6.0453211,
- 52.0527275
- ],
- [
- -6.1823261,
- 51.9699475
- ],
- [
- -6.3960035,
- 51.9234618
- ],
- [
- -6.5945978,
- 51.883911
- ],
- [
- -7.2481994,
- 51.9056295
- ],
- [
- -7.341212,
- 51.8148076
- ],
- [
- -8.1971787,
- 51.5037019
- ],
- [
- -8.3191005,
- 51.4167737
- ],
- [
- -9.4478202,
- 51.1991221
- ],
- [
- -9.9015706,
- 51.2266802
- ],
- [
- -10.472215,
- 51.4050139
- ],
- [
- -10.8857437,
- 51.6770619
- ],
- [
- -11.035318,
- 52.0620016
- ],
- [
- -10.9950963,
- 52.1831616
- ],
- [
- -10.8178697,
- 52.3139827
- ],
- [
- -9.8839736,
- 52.9032208
- ],
- [
- -10.1165049,
- 52.9676141
- ],
- [
- -10.5514014,
- 53.3317027
- ],
- [
- -10.6896633,
- 53.5854022
- ],
- [
- -10.6444139,
- 54.0100436
- ],
- [
- -10.5501445,
- 54.257482
- ],
- [
- -10.2824192,
- 54.4742405
- ],
- [
- -9.8073011,
- 54.5705346
- ],
- [
- -9.196435,
- 54.5486695
- ],
- [
- -9.2253443,
- 54.7000264
- ],
- [
- -8.8985435,
- 55.1363582
- ],
- [
- -8.0476045,
- 55.4711977
- ],
- [
- -7.4367384,
- 55.6191092
- ],
- [
- -7.2205471,
- 55.6205288
- ],
- [
- -6.8258723,
- 55.5608644
- ],
- [
- -6.0679458,
- 55.3727567
- ],
- [
- -5.5639184,
- 55.0759594
- ],
- [
- -5.0649187,
- 54.4640142
- ],
- [
- -5.2572284,
- 54.1582424
- ]
- ]
- ],
- "terms_url": "http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1",
- "terms_text": "EEA Corine 2006"
- },
- {
- "name": "Ireland EEA GMES Urban Atlas",
- "type": "tms",
- "template": "http://a.tile.openstreetmap.ie/tiles/urbanatlas/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 5,
- 17
- ],
- "polygon": [
- [
- [
- -9.2759602,
- 52.7993666
- ],
- [
- -9.215509,
- 52.8276933
- ],
- [
- -9.1086618,
- 52.9128016
- ],
- [
- -9.0196831,
- 52.8837107
- ],
- [
- -8.8760649,
- 52.8978445
- ],
- [
- -8.8001797,
- 52.8833558
- ],
- [
- -8.7665597,
- 52.9065354
- ],
- [
- -8.5938079,
- 52.9238592
- ],
- [
- -8.5241972,
- 52.8869724
- ],
- [
- -8.4956786,
- 52.9105906
- ],
- [
- -8.3506448,
- 52.9238592
- ],
- [
- -8.2718204,
- 52.9492401
- ],
- [
- -8.2249679,
- 52.8991338
- ],
- [
- -8.1564001,
- 52.9149986
- ],
- [
- -8.0881237,
- 52.7630417
- ],
- [
- -8.1360092,
- 52.7239783
- ],
- [
- -8.1570652,
- 52.6766443
- ],
- [
- -8.2059695,
- 52.6185385
- ],
- [
- -8.2025734,
- 52.5954396
- ],
- [
- -8.2231242,
- 52.5599691
- ],
- [
- -8.2236294,
- 52.5095371
- ],
- [
- -8.2976651,
- 52.5025088
- ],
- [
- -8.3295888,
- 52.4721087
- ],
- [
- -8.3589695,
- 52.4986072
- ],
- [
- -8.3737385,
- 52.4764529
- ],
- [
- -8.432326,
- 52.4342609
- ],
- [
- -8.4754569,
- 52.4216289
- ],
- [
- -8.5017727,
- 52.3870011
- ],
- [
- -8.5476205,
- 52.3681351
- ],
- [
- -8.6444103,
- 52.3376422
- ],
- [
- -8.6841451,
- 52.3660614
- ],
- [
- -8.8154099,
- 52.3721014
- ],
- [
- -8.8614233,
- 52.3521652
- ],
- [
- -8.9074451,
- 52.3824674
- ],
- [
- -8.9388551,
- 52.3789166
- ],
- [
- -8.9782502,
- 52.4093811
- ],
- [
- -9.0298715,
- 52.4104169
- ],
- [
- -9.1059449,
- 52.420981
- ],
- [
- -9.1084962,
- 52.4415071
- ],
- [
- -9.140702,
- 52.4650891
- ],
- [
- -9.1315765,
- 52.5136207
- ],
- [
- -9.1739699,
- 52.5620573
- ],
- [
- -9.1426235,
- 52.589645
- ],
- [
- -9.1542382,
- 52.610216
- ],
- [
- -9.1426231,
- 52.6387401
- ],
- [
- -9.1776844,
- 52.6447573
- ],
- [
- -9.2012184,
- 52.6526248
- ],
- [
- -9.2036198,
- 52.6686468
- ],
- [
- -9.2238348,
- 52.6706578
- ],
- [
- -9.2161072,
- 52.6919412
- ],
- [
- -9.1882395,
- 52.7057242
- ],
- [
- -9.2750099,
- 52.7350292
- ],
- [
- -9.2601152,
- 52.7616711
- ]
- ],
- [
- [
- -7.307313219981238,
- 53.81625879275365
- ],
- [
- -7.245858447032101,
- 53.78300449111207
- ],
- [
- -7.15144468970801,
- 53.81179938127503
- ],
- [
- -7.086900011973722,
- 53.784424420834
- ],
- [
- -7.0347149533800435,
- 53.77996162275688
- ],
- [
- -6.975320116954343,
- 53.788481098127924
- ],
- [
- -6.928628222423156,
- 53.81443454540607
- ],
- [
- -6.992829577403537,
- 53.86609081229548
- ],
- [
- -6.975320116954343,
- 53.87945028968944
- ],
- [
- -6.949914233165313,
- 53.87094929783329
- ],
- [
- -6.9375546140247035,
- 53.87540241385127
- ],
- [
- -6.936867968516893,
- 53.896649390754646
- ],
- [
- -6.897042529063821,
- 53.889770599553906
- ],
- [
- -6.867516772227924,
- 53.880259817835736
- ],
- [
- -6.851037280040446,
- 53.88450958346468
- ],
- [
- -6.842454211192801,
- 53.89786317755242
- ],
- [
- -6.812928454356904,
- 53.90069520963246
- ],
- [
- -6.79850889869286,
- 53.89280549994937
- ],
- [
- -6.789925829845217,
- 53.89462633440526
- ],
- [
- -6.791985766368652,
- 53.904538374710896
- ],
- [
- -6.778939501720231,
- 53.918087767078354
- ],
- [
- -6.77001311011868,
- 53.91505470292794
- ],
- [
- -6.75868345923979,
- 53.921727153244476
- ],
- [
- -6.744263903575747,
- 53.916065748791254
- ],
- [
- -6.727441088634364,
- 53.92334455637637
- ],
- [
- -6.713021532970319,
- 53.90777445003927
- ],
- [
- -6.684182421642232,
- 53.90292024303218
- ],
- [
- -6.623757616954815,
- 53.88187882710815
- ],
- [
- -6.590455309825955,
- 53.857789593974296
- ],
- [
- -6.591141955333765,
- 53.835509894663346
- ],
- [
- -6.574319140392382,
- 53.82254170362619
- ],
- [
- -6.571572558361136,
- 53.804703885117576
- ],
- [
- -6.5533764524041285,
- 53.79983770791046
- ],
- [
- -6.541360156017425,
- 53.78300449111207
- ],
- [
- -6.511491076427622,
- 53.76900546961285
- ],
- [
- -6.472695605236269,
- 53.77326653566421
- ],
- [
- -6.443513171154276,
- 53.76393220797015
- ],
- [
- -6.44728972144724,
- 53.75114486961979
- ],
- [
- -6.4775021237909485,
- 53.728199094666586
- ],
- [
- -6.459649340587848,
- 53.71682309412751
- ],
- [
- -6.435616747814443,
- 53.72230833571077
- ],
- [
- -6.4198239011347775,
- 53.72921465935537
- ],
- [
- -6.4009411496699595,
- 53.72169889975152
- ],
- [
- -6.375878588634836,
- 53.718042098526006
- ],
- [
- -6.359055773693453,
- 53.708695495259434
- ],
- [
- -6.340173022228636,
- 53.708085862042424
- ],
- [
- -6.329873339611461,
- 53.71296268045594
- ],
- [
- -6.325753466564592,
- 53.72210519137233
- ],
- [
- -6.2938244504513525,
- 53.72576163932632
- ],
- [
- -6.265328661877173,
- 53.7363229253304
- ],
- [
- -6.240952746349864,
- 53.734292114843086
- ],
- [
- -6.180871264416349,
- 53.632015710147016
- ],
- [
- -6.092793818322125,
- 53.588038288422446
- ],
- [
- -5.985734079608837,
- 53.49383447350347
- ],
- [
- -6.0887447432153685,
- 53.27174268379562
- ],
- [
- -6.033272979232964,
- 53.1191110041494
- ],
- [
- -5.984663357119282,
- 52.9651254915577
- ],
- [
- -6.122679104189409,
- 52.73207538466633
- ],
- [
- -6.185163845400262,
- 52.73706461957944
- ],
- [
- -6.1899703639549415,
- 52.76075568810044
- ],
- [
- -6.319059719423517,
- 52.782357357522855
- ],
- [
- -6.393904079774976,
- 52.7790347214105
- ],
- [
- -6.465315212587381,
- 52.6946379192593
- ],
- [
- -6.534666408876349,
- 52.673409093161446
- ],
- [
- -6.612257351259057,
- 52.69255711803012
- ],
- [
- -6.6692489284074155,
- 52.74745702505679
- ],
- [
- -6.671308864930852,
- 52.76948072949997
- ],
- [
- -6.720747341493285,
- 52.7748810695361
- ],
- [
- -6.71456753192298,
- 52.80311808637125
- ],
- [
- -6.658949245790243,
- 52.84709806982182
- ],
- [
- -6.582044948915348,
- 52.81349473557279
- ],
- [
- -6.547712673524768,
- 52.83133677935633
- ],
- [
- -6.531233181337292,
- 52.87404491274922
- ],
- [
- -6.617750515321548,
- 52.87528820923615
- ],
- [
- -6.728987087587023,
- 52.90635903963372
- ],
- [
- -6.780485500672891,
- 52.859122574848655
- ],
- [
- -6.870436062196207,
- 52.85165948109425
- ],
- [
- -6.938413967469552,
- 52.86658438536895
- ],
- [
- -6.965879787782016,
- 52.89766145203082
- ],
- [
- -6.987852444031986,
- 52.969260966642985
- ],
- [
- -7.039350857117853,
- 52.9560260536776
- ],
- [
- -7.109388698914634,
- 53.007288776633686
- ],
- [
- -7.068876613953752,
- 53.058078015357786
- ],
- [
- -7.088789333680287,
- 53.11869890949892
- ],
- [
- -7.119688381531809,
- 53.15000684568904
- ],
- [
- -7.105955471375577,
- 53.16112391039828
- ],
- [
- -7.127928127625547,
- 53.17223809655703
- ],
- [
- -7.180113186219227,
- 53.182526443342745
- ],
- [
- -7.160887112000503,
- 53.19898266621498
- ],
- [
- -7.057890285828767,
- 53.19898266621498
- ],
- [
- -7.048963894227218,
- 53.217077217179636
- ],
- [
- -7.0915359157115345,
- 53.235575105358386
- ],
- [
- -7.0434707301647235,
- 53.25735126035676
- ],
- [
- -7.05102383075065,
- 53.29717703664696
- ],
- [
- -6.996778835633536,
- 53.31112780504489
- ],
- [
- -7.044157375672535,
- 53.33368557548294
- ],
- [
- -7.105955471375576,
- 53.371801590024276
- ],
- [
- -7.22050647653913,
- 53.432465115081854
- ],
- [
- -7.149441429887032,
- 53.45731709817442
- ],
- [
- -7.099891489102085,
- 53.463915962572514
- ],
- [
- -7.0744645458045445,
- 53.48370640260363
- ],
- [
- -7.079028356140001,
- 53.504650927752664
- ],
- [
- -7.047733656696876,
- 53.515119311359335
- ],
- [
- -7.029478415355053,
- 53.54147267392419
- ],
- [
- -7.054253385747527,
- 53.56471202500164
- ],
- [
- -7.009267255298033,
- 53.58561652973758
- ],
- [
- -6.992641946218873,
- 53.602642188744426
- ],
- [
- -6.989056095241016,
- 53.62739453790707
- ],
- [
- -6.9717788132567895,
- 53.63686620586593
- ],
- [
- -6.9633031654909425,
- 53.650973114934644
- ],
- [
- -6.9871001765258205,
- 53.66623418009986
- ],
- [
- -6.999813648174589,
- 53.67086935885432
- ],
- [
- -7.008289295940436,
- 53.65908728051006
- ],
- [
- -7.044473792171549,
- 53.65367801032349
- ],
- [
- -7.066640870943764,
- 53.63918547390694
- ],
- [
- -7.101847407817279,
- 53.65870092708686
- ],
- [
- -7.120754622064167,
- 53.672993645380515
- ],
- [
- -7.137379931143327,
- 53.66893809633893
- ],
- [
- -7.160850955725672,
- 53.683034277255075
- ],
- [
- -7.174216400279507,
- 53.686316272406906
- ],
- [
- -7.196057492599188,
- 53.69017711570491
- ],
- [
- -7.210726882963154,
- 53.69480966037566
- ],
- [
- -7.247237365646801,
- 53.71661437518035
- ],
- [
- -7.239413690786019,
- 53.73223735177976
- ],
- [
- -7.260276823748104,
- 53.74361339729716
- ],
- [
- -7.2814659431627184,
- 53.75922634307083
- ],
- [
- -7.289615604476034,
- 53.77271433845693
- ],
- [
- -7.3238441819919515,
- 53.78465723043301
- ],
- [
- -7.337209626545788,
- 53.78658318504567
- ],
- [
- -7.351227044004687,
- 53.80141007448381
- ],
- [
- -7.307313219981238,
- 53.81625879275365
- ]
- ],
- [
- [
- -5.685433013282673,
- 54.77854496390836
- ],
- [
- -5.696867084279401,
- 54.73050346921268
- ],
- [
- -5.8223689524230124,
- 54.70033215177621
- ],
- [
- -5.878760568989772,
- 54.649492182564074
- ],
- [
- -5.743404719024681,
- 54.68128223623249
- ],
- [
- -5.581196917402638,
- 54.68781619319656
- ],
- [
- -5.571488953592992,
- 54.67074450064368
- ],
- [
- -5.582915011231644,
- 54.66440901595977
- ],
- [
- -5.58291501123164,
- 54.65085746679818
- ],
- [
- -5.6086481910584185,
- 54.63997082553691
- ],
- [
- -5.6354970593650116,
- 54.61551371292451
- ],
- [
- -5.728732824433139,
- 54.6184944610979
- ],
- [
- -5.822612969913913,
- 54.49193018941315
- ],
- [
- -5.896754545381575,
- 54.44975600798866
- ],
- [
- -5.936834914186871,
- 54.38213187386197
- ],
- [
- -6.0187561190025445,
- 54.36974944197913
- ],
- [
- -6.059257912638059,
- 54.38280030737259
- ],
- [
- -6.101784280694663,
- 54.41510088826871
- ],
- [
- -6.1740201072375225,
- 54.43476829635816
- ],
- [
- -6.216261364689026,
- 54.42827259213158
- ],
- [
- -6.264329002478664,
- 54.487825014814625
- ],
- [
- -6.249277519938476,
- 54.49741303545491
- ],
- [
- -6.288340515296785,
- 54.53143435197413
- ],
- [
- -6.283750270272458,
- 54.54447449434036
- ],
- [
- -6.321445027854273,
- 54.58928767713928
- ],
- [
- -6.264329002478664,
- 54.604982769755765
- ],
- [
- -6.240052417736423,
- 54.59541999854735
- ],
- [
- -6.098762694536575,
- 54.631690374598676
- ],
- [
- -6.051950538018501,
- 54.61314575326238
- ],
- [
- -6.031509408441251,
- 54.620921248201434
- ],
- [
- -6.002995140908084,
- 54.65571636730639
- ],
- [
- -6.0647754758974335,
- 54.6634355452454
- ],
- [
- -6.059920158948984,
- 54.704134188139534
- ],
- [
- -6.047781866577864,
- 54.71395188569398
- ],
- [
- -6.120611620804591,
- 54.801644524994515
- ],
- [
- -6.002141887262449,
- 54.80836072138932
- ],
- [
- -5.984662746248036,
- 54.78652900156178
- ],
- [
- -5.685433013282673,
- 54.77854496390836
- ]
- ],
- [
- [
- -9.128658300749114,
- 53.24759266864586
- ],
- [
- -9.024510568479629,
- 53.26744820137083
- ],
- [
- -9.016360907166316,
- 53.26364619217274
- ],
- [
- -9.001854510028616,
- 53.26588844362053
- ],
- [
- -8.9951717877517,
- 53.259258838409615
- ],
- [
- -8.973493688658284,
- 53.262378780650025
- ],
- [
- -8.95230456924367,
- 53.271444820907114
- ],
- [
- -8.956705386352859,
- 53.281580911863244
- ],
- [
- -8.961106203462048,
- 53.28119110665652
- ],
- [
- -8.960780217009516,
- 53.28908396911955
- ],
- [
- -8.954260487958864,
- 53.28927883616923
- ],
- [
- -8.95230456924367,
- 53.30155366854246
- ],
- [
- -8.963714095082308,
- 53.303793931840495
- ],
- [
- -8.9811543702928,
- 53.294734752711804
- ],
- [
- -8.985718180628256,
- 53.30174847871221
- ],
- [
- -9.019946758144176,
- 53.30768976199425
- ],
- [
- -9.00837423907927,
- 53.31596722087059
- ],
- [
- -9.01880580556031,
- 53.31625933715475
- ],
- [
- -9.045862681120513,
- 53.31275380979257
- ],
- [
- -9.06444390891487,
- 53.32122500810515
- ],
- [
- -9.080906224767762,
- 53.307397587062724
- ],
- [
- -9.08106921799403,
- 53.303404329274585
- ],
- [
- -9.09019683866494,
- 53.30574189135002
- ],
- [
- -9.095901601584261,
- 53.298826232852214
- ],
- [
- -9.10128037805105,
- 53.3008718259498
- ],
- [
- -9.115623781962478,
- 53.28450433758295
- ],
- [
- -9.121491538108067,
- 53.2832375443259
- ],
- [
- -9.13273807072044,
- 53.28557621023763
- ],
- [
- -9.144636576237877,
- 53.27865728614638
- ],
- [
- -9.13876882009229,
- 53.26345120822951
- ],
- [
- -9.128658300749114,
- 53.24759266864586
- ]
- ],
- [
- [
- -8.595266214281438,
- 51.69264788483154
- ],
- [
- -8.55819409885298,
- 51.69306638852667
- ],
- [
- -8.566697711835303,
- 51.682644706464686
- ],
- [
- -8.579130708100188,
- 51.67349700898941
- ],
- [
- -8.544554623426079,
- 51.66520531197343
- ],
- [
- -8.494765061495364,
- 51.667778759675976
- ],
- [
- -8.30113898732036,
- 51.7235009029955
- ],
- [
- -8.268406960495541,
- 51.784858633837544
- ],
- [
- -8.154536388302146,
- 51.7814362126791
- ],
- [
- -8.115350159004825,
- 51.809093351533164
- ],
- [
- -8.068326683848039,
- 51.870050153657075
- ],
- [
- -8.10059769621054,
- 51.89964422561186
- ],
- [
- -8.08123508879304,
- 51.918414974037226
- ],
- [
- -8.09183842142643,
- 51.95337589170907
- ],
- [
- -8.124570448251253,
- 51.95479649105758
- ],
- [
- -8.132407694110718,
- 51.970988142592034
- ],
- [
- -8.099675667285895,
- 51.978371865876596
- ],
- [
- -8.144394070131078,
- 52.02151390085561
- ],
- [
- -8.159607547387685,
- 52.064330945363764
- ],
- [
- -8.140705954432507,
- 52.07254939152303
- ],
- [
- -8.165600735397863,
- 52.09294727054506
- ],
- [
- -8.18726841512697,
- 52.0835993998731
- ],
- [
- -8.2093971093184,
- 52.10512489114057
- ],
- [
- -8.207092037006792,
- 52.12494181389489
- ],
- [
- -8.227837687811258,
- 52.143052434929714
- ],
- [
- -8.222766528725723,
- 52.16454923557058
- ],
- [
- -8.30298304516965,
- 52.1829264222872
- ],
- [
- -8.427456949996438,
- 52.17783811526099
- ],
- [
- -8.46710419375608,
- 52.169921813849676
- ],
- [
- -8.509978538751975,
- 52.18405707812542
- ],
- [
- -8.530263175094117,
- 52.16511480067495
- ],
- [
- -8.574981577939297,
- 52.18066502436804
- ],
- [
- -8.587889982884295,
- 52.16963906274442
- ],
- [
- -8.642289689438227,
- 52.18829678149147
- ],
- [
- -8.719279104645906,
- 52.15804472022032
- ],
- [
- -8.698533453841442,
- 52.13541291452849
- ],
- [
- -8.740946784375014,
- 52.10823956240069
- ],
- [
- -8.77460084012448,
- 52.05951253229793
- ],
- [
- -8.803183736788409,
- 52.03768144571248
- ],
- [
- -8.86818677597573,
- 52.03286015807593
- ],
- [
- -8.870491848287335,
- 52.01839317543363
- ],
- [
- -8.844214023935015,
- 51.991148511559096
- ],
- [
- -8.79811257770287,
- 51.964455373040394
- ],
- [
- -8.782899100446263,
- 51.931777239822054
- ],
- [
- -8.835915763613228,
- 51.9292188160068
- ],
- [
- -8.838681850387156,
- 51.90277322850554
- ],
- [
- -8.802261707863764,
- 51.89367006943167
- ],
- [
- -8.792580404155013,
- 51.85695425263326
- ],
- [
- -8.765841565340368,
- 51.82476769939557
- ],
- [
- -8.758926348405547,
- 51.80054140901511
- ],
- [
- -8.79811257770287,
- 51.78628456602828
- ],
- [
- -8.832227647914657,
- 51.79626482935233
- ],
- [
- -8.836837792537873,
- 51.77687258059678
- ],
- [
- -8.885705325543944,
- 51.746055989869106
- ],
- [
- -8.859888515653944,
- 51.72435763090916
- ],
- [
- -8.807332866949299,
- 51.71093369500414
- ],
- [
- -8.678248817499297,
- 51.693505197270746
- ],
- [
- -8.60540853245251,
- 51.67835695335278
- ],
- [
- -8.595266214281438,
- 51.69264788483154
- ]
- ],
- [
- [
- -7.138279151048154,
- 55.06131559970097
- ],
- [
- -7.117994514706011,
- 54.99631329558348
- ],
- [
- -7.070049010624583,
- 54.98784996056705
- ],
- [
- -7.076503213097081,
- 54.93332450204895
- ],
- [
- -7.025791622241725,
- 54.91159959910791
- ],
- [
- -7.007351043748867,
- 54.87872502112528
- ],
- [
- -7.024869593317081,
- 54.8511320998998
- ],
- [
- -6.990754523105296,
- 54.81661438893913
- ],
- [
- -7.051608432131725,
- 54.80598761598125
- ],
- [
- -7.115228427932084,
- 54.80651902101645
- ],
- [
- -7.170550163410654,
- 54.84847793920564
- ],
- [
- -7.199133060074584,
- 54.84316909395457
- ],
- [
- -7.222183783190655,
- 54.85803210052931
- ],
- [
- -7.2111194360949415,
- 54.862808332627324
- ],
- [
- -7.212041465019584,
- 54.882438010878076
- ],
- [
- -7.279349576518514,
- 54.880846771447125
- ],
- [
- -7.273817402970655,
- 54.91530955931841
- ],
- [
- -7.3033223285592275,
- 54.915839525718205
- ],
- [
- -7.363254208661015,
- 54.90894941815292
- ],
- [
- -7.385382902852443,
- 54.91636948513913
- ],
- [
- -7.391837105324943,
- 54.93438395336098
- ],
- [
- -7.429640291235302,
- 54.95291983389722
- ],
- [
- -7.420420001988872,
- 54.99208185118366
- ],
- [
- -7.410277683817801,
- 55.03437621938347
- ],
- [
- -7.3577220351131585,
- 55.057619110599035
- ],
- [
- -7.265519142648871,
- 55.07557028899173
- ],
- [
- -7.138279151048154,
- 55.06131559970097
- ]
- ],
- [
- [
- -7.190498776293322,
- 52.26144368927652
- ],
- [
- -7.156844720543858,
- 52.28443443581867
- ],
- [
- -7.132871968503143,
- 52.27343421670601
- ],
- [
- -7.113278853854483,
- 52.26779201951648
- ],
- [
- -7.098295883829036,
- 52.27230583471742
- ],
- [
- -7.089767116276089,
- 52.25509445009032
- ],
- [
- -7.07109603055207,
- 52.259186286149074
- ],
- [
- -7.033984366335195,
- 52.257352061495865
- ],
- [
- -7.027530163862696,
- 52.250720000975015
- ],
- [
- -7.034675888028678,
- 52.247756419376
- ],
- [
- -7.031218279561267,
- 52.24013487190721
- ],
- [
- -7.034214873566356,
- 52.23222966213934
- ],
- [
- -7.050580886978767,
- 52.2296884028405
- ],
- [
- -7.062567262999124,
- 52.21980434486687
- ],
- [
- -7.076858711331088,
- 52.216132562953725
- ],
- [
- -7.084926464421715,
- 52.22065163604718
- ],
- [
- -7.084465449959392,
- 52.22785295843095
- ],
- [
- -7.101292477834124,
- 52.221498911062525
- ],
- [
- -7.105211100763858,
- 52.21726237433474
- ],
- [
- -7.111665303236357,
- 52.21796849185403
- ],
- [
- -7.107977187537785,
- 52.21104805609072
- ],
- [
- -7.117773744862115,
- 52.20928246619701
- ],
- [
- -7.129760120882472,
- 52.21690931136535
- ],
- [
- -7.14497359813908,
- 52.21782726924826
- ],
- [
- -7.150505771686938,
- 52.22375823207553
- ],
- [
- -7.158112510315241,
- 52.22262858593765
- ],
- [
- -7.158804032008724,
- 52.22700580464912
- ],
- [
- -7.158573524777563,
- 52.23180612902503
- ],
- [
- -7.167563306792832,
- 52.23985256723076
- ],
- [
- -7.16733279956167,
- 52.244580933687786
- ],
- [
- -7.172519212262786,
- 52.24676851484933
- ],
- [
- -7.177590371348324,
- 52.25114335361416
- ],
- [
- -7.190498776293322,
- 52.26144368927652
- ]
- ]
- ],
- "terms_url": "http://www.eea.europa.eu/data-and-maps/data/urban-atlas",
- "terms_text": "EEA GMES Urban Atlas"
- },
- {
- "name": "Kanton Aargau 25cm (AGIS 2011)",
- "type": "tms",
- "template": "http://tiles.poole.ch/AGIS/OF2011/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 14,
- 19
- ],
- "polygon": [
- [
- [
- 7.7,
- 47.12
- ],
- [
- 7.7,
- 47.63
- ],
- [
- 8.5,
- 47.63
- ],
- [
- 8.5,
- 47.12
- ],
- [
- 7.7,
- 47.12
- ]
- ]
- ],
- "terms_text": "AGIS OF2011"
- },
- {
- "name": "Katastrálna mapa Slovenska (KaPor, 2010-04)",
- "type": "tms",
- "template": "http://www.freemap.sk/tms/kapor2/{zoom}/{x}/{y}.jpg",
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_url": "http://wiki.freemap.sk/KatasterPortal",
- "terms_text": "Permisssion by UGKK"
- },
- {
- "name": "Katastrálna mapa Slovenska (KaPor, 2011-05)",
- "type": "tms",
- "template": "http://www.freemap.sk/tms/kapor2_201105/{zoom}/{x}/{y}.jpg",
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_url": "http://wiki.freemap.sk/KatasterPortal",
- "terms_text": "Permisssion by UGKK"
- },
- {
- "name": "Lithuania - ORT10LT",
- "type": "tms",
- "template": "http://mapproxy.openmap.lt/ort10lt/g/{z}/{x}/{y}.jpeg",
- "scaleExtent": [
- 4,
- 18
- ],
- "polygon": [
- [
- [
- 21,
- 53.88
- ],
- [
- 21,
- 56.45
- ],
- [
- 26.85,
- 56.45
- ],
- [
- 26.85,
- 53.88
- ],
- [
- 21,
- 53.88
- ]
- ]
- ]
- },
- {
- "name": "Locator Overlay",
- "type": "tms",
- "description": "Shows major features to help orient you.",
- "template": "http://{switch:a,b,c}.tiles.mapbox.com/v3/openstreetmap.map-btyhiati/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 16
- ],
- "terms_url": "http://www.mapbox.com/about/maps/",
- "terms_text": "Terms & Feedback",
- "default": true,
- "overlay": true
- },
- {
- "name": "MapBox Satellite",
- "type": "tms",
- "description": "Satellite and aerial imagery.",
- "template": "http://{switch:a,b,c}.tiles.mapbox.com/v3/openstreetmap.map-4wvf9l0l/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 16
- ],
- "terms_url": "http://www.mapbox.com/about/maps/",
- "terms_text": "Terms & Feedback",
- "default": true
- },
- {
- "name": "MapQuest Open Aerial",
- "type": "tms",
- "template": "http://oatile{switch:1,2,3,4}.mqcdn.com/tiles/1.0.0/sat/{zoom}/{x}/{y}.png",
- "default": true
- },
- {
- "name": "NLS - Bartholomew Half Inch, 1897-1907",
- "type": "tms",
- "template": "http://geo.nls.uk/mapdata2/bartholomew/great_britain/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 0,
- 15
- ],
- "polygon": [
- [
- [
- -9,
- 49.8
- ],
- [
- -9,
- 61.1
- ],
- [
- 1.9,
- 61.1
- ],
- [
- 1.9,
- 49.8
- ],
- [
- -9,
- 49.8
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "NLS - OS 1-inch 7th Series 1955-61",
- "type": "tms",
- "template": "http://geo.nls.uk/mapdata2/os/seventh/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 5,
- 16
- ],
- "polygon": [
- [
- [
- -6.4585407,
- 49.9044128
- ],
- [
- -6.3872009,
- 49.9841116
- ],
- [
- -6.2296827,
- 49.9896159
- ],
- [
- -6.2171269,
- 49.8680087
- ],
- [
- -6.4551164,
- 49.8591793
- ]
- ],
- [
- [
- -1.4495137,
- 60.8634056
- ],
- [
- -0.7167114,
- 60.8545122
- ],
- [
- -0.7349744,
- 60.4359756
- ],
- [
- -0.6938826,
- 60.4168218
- ],
- [
- -0.7258429,
- 60.3942735
- ],
- [
- -0.7395401,
- 60.0484714
- ],
- [
- -0.9267357,
- 60.0461918
- ],
- [
- -0.9381501,
- 59.8266157
- ],
- [
- -1.4586452,
- 59.831205
- ],
- [
- -1.4455187,
- 60.0535999
- ],
- [
- -1.463211,
- 60.0535999
- ],
- [
- -1.4643524,
- 60.0630002
- ],
- [
- -1.5716475,
- 60.0638546
- ],
- [
- -1.5693646,
- 60.1790005
- ],
- [
- -1.643558,
- 60.1807033
- ],
- [
- -1.643558,
- 60.1892162
- ],
- [
- -1.8216221,
- 60.1894999
- ],
- [
- -1.8204807,
- 60.3615507
- ],
- [
- -1.8415973,
- 60.3697345
- ],
- [
- -1.8216221,
- 60.3832755
- ],
- [
- -1.8179852,
- 60.5934321
- ],
- [
- -1.453168,
- 60.5934321
- ]
- ],
- [
- [
- -4.9089213,
- 54.4242078
- ],
- [
- -4.282598,
- 54.4429861
- ],
- [
- -4.2535417,
- 54.029769
- ],
- [
- -4.8766366,
- 54.0221831
- ]
- ],
- [
- [
- -5.8667408,
- 59.1444603
- ],
- [
- -5.7759966,
- 59.1470945
- ],
- [
- -5.7720016,
- 59.1014052
- ],
- [
- -5.8621751,
- 59.0990605
- ]
- ],
- [
- [
- -1.7065887,
- 59.5703599
- ],
- [
- -1.5579165,
- 59.5693481
- ],
- [
- -1.5564897,
- 59.4965695
- ],
- [
- -1.7054472,
- 59.4975834
- ]
- ],
- [
- [
- -7.6865827,
- 58.2940975
- ],
- [
- -7.5330594,
- 58.3006957
- ],
- [
- -7.5256401,
- 58.2646905
- ],
- [
- -7.6797341,
- 58.2577853
- ]
- ],
- [
- [
- -4.5338281,
- 59.0359871
- ],
- [
- -4.481322,
- 59.0371616
- ],
- [
- -4.4796099,
- 59.0186583
- ],
- [
- -4.5332574,
- 59.0180707
- ]
- ],
- [
- [
- -8.6710698,
- 57.8769896
- ],
- [
- -8.4673234,
- 57.8897332
- ],
- [
- -8.4467775,
- 57.7907
- ],
- [
- -8.6510947,
- 57.7779213
- ]
- ],
- [
- [
- -5.2395519,
- 50.3530581
- ],
- [
- -5.7920073,
- 50.3384899
- ],
- [
- -5.760047,
- 49.9317027
- ],
- [
- -4.6551363,
- 49.9581461
- ],
- [
- -4.677965,
- 50.2860073
- ],
- [
- -4.244219,
- 50.2801723
- ],
- [
- -4.2487848,
- 50.2042525
- ],
- [
- -3.3812929,
- 50.2042525
- ],
- [
- -3.4223846,
- 50.5188201
- ],
- [
- -3.1164796,
- 50.5246258
- ],
- [
- -3.1210453,
- 50.6579592
- ],
- [
- -2.6736357,
- 50.6619495
- ],
- [
- -2.5953453,
- 50.6394325
- ],
- [
- -2.5905026,
- 50.5728419
- ],
- [
- -2.4791203,
- 50.5733545
- ],
- [
- -2.4758919,
- 50.5066704
- ],
- [
- -2.3967943,
- 50.5056438
- ],
- [
- -2.401637,
- 50.5723293
- ],
- [
- -1.0400296,
- 50.5718167
- ],
- [
- -1.0335726,
- 50.7059289
- ],
- [
- -0.549302,
- 50.7038843
- ],
- [
- -0.5460736,
- 50.7886618
- ],
- [
- -0.0924734,
- 50.7856002
- ],
- [
- -0.0876307,
- 50.7181949
- ],
- [
- 0.4789659,
- 50.7120623
- ],
- [
- 0.487037,
- 50.8182467
- ],
- [
- 0.9761503,
- 50.8049868
- ],
- [
- 0.9922927,
- 51.0126311
- ],
- [
- 1.4491213,
- 51.0004424
- ],
- [
- 1.4781775,
- 51.4090372
- ],
- [
- 1.0229632,
- 51.4271576
- ],
- [
- 1.035877,
- 51.7640881
- ],
- [
- 1.6105448,
- 51.7500992
- ],
- [
- 1.646058,
- 52.1560003
- ],
- [
- 1.7267698,
- 52.1540195
- ],
- [
- 1.749369,
- 52.4481811
- ],
- [
- 1.7870672,
- 52.4811624
- ],
- [
- 1.759102,
- 52.522505
- ],
- [
- 1.7933451,
- 52.9602749
- ],
- [
- 0.3798147,
- 52.9958468
- ],
- [
- 0.3895238,
- 53.2511239
- ],
- [
- 0.3478614,
- 53.2511239
- ],
- [
- 0.3238912,
- 53.282186
- ],
- [
- 0.3461492,
- 53.6538501
- ],
- [
- 0.128487,
- 53.6575466
- ],
- [
- 0.116582,
- 53.6674703
- ],
- [
- 0.1350586,
- 54.0655731
- ],
- [
- -0.0609831,
- 54.065908
- ],
- [
- -0.0414249,
- 54.4709448
- ],
- [
- -0.5662701,
- 54.4771794
- ],
- [
- -0.5592078,
- 54.6565127
- ],
- [
- -1.1665638,
- 54.6623485
- ],
- [
- -1.1637389,
- 54.842611
- ],
- [
- -1.3316194,
- 54.843909
- ],
- [
- -1.3257065,
- 55.2470842
- ],
- [
- -1.529453,
- 55.2487108
- ],
- [
- -1.524178,
- 55.6540122
- ],
- [
- -1.7638798,
- 55.6540122
- ],
- [
- -1.7733693,
- 55.9719116
- ],
- [
- -2.1607858,
- 55.9682981
- ],
- [
- -2.1543289,
- 56.0621387
- ],
- [
- -2.4578051,
- 56.0585337
- ],
- [
- -2.4190635,
- 56.641717
- ],
- [
- -2.0962164,
- 56.641717
- ],
- [
- -2.0833025,
- 57.0021322
- ],
- [
- -1.9283359,
- 57.0126802
- ],
- [
- -1.9180966,
- 57.3590895
- ],
- [
- -1.7502161,
- 57.3625721
- ],
- [
- -1.7695869,
- 57.7608634
- ],
- [
- -3.6937554,
- 57.7574187
- ],
- [
- -3.7066693,
- 57.9806386
- ],
- [
- -3.5969013,
- 57.9772149
- ],
- [
- -3.6033582,
- 58.1207277
- ],
- [
- -3.0222335,
- 58.1309566
- ],
- [
- -3.0286905,
- 58.5410788
- ],
- [
- -2.8478961,
- 58.530968
- ],
- [
- -2.86081,
- 58.8430508
- ],
- [
- -2.679624,
- 58.8414991
- ],
- [
- -2.6841897,
- 58.885175
- ],
- [
- -2.6339665,
- 58.9052239
- ],
- [
- -2.679624,
- 58.9335083
- ],
- [
- -2.6887555,
- 59.0229231
- ],
- [
- -2.3668703,
- 59.0229231
- ],
- [
- -2.3702946,
- 59.2652861
- ],
- [
- -2.3429001,
- 59.2821989
- ],
- [
- -2.3714361,
- 59.2996861
- ],
- [
- -2.3737189,
- 59.3707083
- ],
- [
- -2.3429001,
- 59.385825
- ],
- [
- -2.3725775,
- 59.400354
- ],
- [
- -2.3714361,
- 59.4259098
- ],
- [
- -3.0734196,
- 59.4230067
- ],
- [
- -3.0711368,
- 59.3433649
- ],
- [
- -3.103097,
- 59.3311405
- ],
- [
- -3.0745611,
- 59.3136695
- ],
- [
- -3.0722782,
- 59.232603
- ],
- [
- -3.3850319,
- 59.1484167
- ],
- [
- -3.3747589,
- 58.9352753
- ],
- [
- -3.5653789,
- 58.9323303
- ],
- [
- -3.554829,
- 58.69759
- ],
- [
- -5.2808579,
- 58.6667732
- ],
- [
- -5.2534159,
- 58.3514125
- ],
- [
- -5.5068508,
- 58.3437887
- ],
- [
- -5.4761804,
- 58.0323557
- ],
- [
- -5.8974958,
- 58.0212436
- ],
- [
- -5.8522972,
- 57.6171758
- ],
- [
- -6.1396311,
- 57.6137174
- ],
- [
- -6.1541592,
- 57.7423183
- ],
- [
- -6.2913692,
- 57.7380102
- ],
- [
- -6.3365678,
- 58.1398784
- ],
- [
- -6.1121891,
- 58.1466944
- ],
- [
- -6.1473778,
- 58.5106285
- ],
- [
- -6.2934817,
- 58.5416182
- ],
- [
- -6.8413713,
- 58.2977321
- ],
- [
- -7.0057382,
- 58.2929331
- ],
- [
- -7.1016189,
- 58.2064403
- ],
- [
- -7.2573132,
- 58.1793148
- ],
- [
- -7.2531092,
- 58.1004928
- ],
- [
- -7.4070698,
- 58.0905566
- ],
- [
- -7.391347,
- 57.7911354
- ],
- [
- -7.790991,
- 57.7733151
- ],
- [
- -7.7624215,
- 57.5444165
- ],
- [
- -7.698501,
- 57.1453194
- ],
- [
- -7.7943817,
- 57.1304547
- ],
- [
- -7.716764,
- 56.7368628
- ],
- [
- -7.0122067,
- 56.7654359
- ],
- [
- -6.979922,
- 56.5453858
- ],
- [
- -7.0638622,
- 56.5453858
- ],
- [
- -7.0444914,
- 56.3562587
- ],
- [
- -6.500676,
- 56.3812917
- ],
- [
- -6.4491433,
- 55.9793649
- ],
- [
- -6.563287,
- 55.9691456
- ],
- [
- -6.5393742,
- 55.7030135
- ],
- [
- -6.5595521,
- 55.6907321
- ],
- [
- -6.5345315,
- 55.6761713
- ],
- [
- -6.5216176,
- 55.5704434
- ],
- [
- -5.8912587,
- 55.5923416
- ],
- [
- -5.8560127,
- 55.2320733
- ],
- [
- -5.2293639,
- 55.2515958
- ],
- [
- -5.1837064,
- 54.6254139
- ],
- [
- -3.6655956,
- 54.6518373
- ],
- [
- -3.6496155,
- 54.4320023
- ],
- [
- -3.5400375,
- 54.4306744
- ],
- [
- -3.530906,
- 54.0290181
- ],
- [
- -3.0697656,
- 54.030359
- ],
- [
- -3.0675737,
- 53.8221388
- ],
- [
- -3.0804876,
- 53.7739911
- ],
- [
- -3.0619239,
- 53.7477488
- ],
- [
- -3.0611168,
- 53.6737049
- ],
- [
- -3.2144691,
- 53.6708361
- ],
- [
- -3.2057699,
- 53.4226163
- ],
- [
- -3.2799632,
- 53.355224
- ],
- [
- -3.2896655,
- 53.3608441
- ],
- [
- -3.3327547,
- 53.364931
- ],
- [
- -3.3761293,
- 53.3540318
- ],
- [
- -4.0888976,
- 53.3433102
- ],
- [
- -4.0945474,
- 53.4612036
- ],
- [
- -4.697412,
- 53.4448624
- ],
- [
- -4.6882805,
- 53.3318598
- ],
- [
- -4.7202407,
- 53.2895771
- ],
- [
- -4.6837148,
- 53.2486184
- ],
- [
- -4.6768661,
- 53.1542644
- ],
- [
- -4.8480816,
- 53.1446807
- ],
- [
- -4.8178336,
- 52.7440299
- ],
- [
- -4.2545751,
- 52.7558939
- ],
- [
- -4.228876,
- 52.254876
- ],
- [
- -4.2607571,
- 52.2536408
- ],
- [
- -4.2724603,
- 52.2432637
- ],
- [
- -4.8136263,
- 52.230095
- ],
- [
- -4.8079191,
- 52.1138892
- ],
- [
- -5.3889104,
- 52.0991668
- ],
- [
- -5.3717888,
- 51.9129667
- ],
- [
- -5.4208706,
- 51.9101502
- ],
- [
- -5.414022,
- 51.8453218
- ],
- [
- -5.3683645,
- 51.8474373
- ],
- [
- -5.3466772,
- 51.5595332
- ],
- [
- -4.773676,
- 51.5758518
- ],
- [
- -4.7656859,
- 51.4885146
- ],
- [
- -4.1915432,
- 51.4970427
- ],
- [
- -4.1869775,
- 51.4344663
- ],
- [
- -3.6151177,
- 51.4444274
- ],
- [
- -3.6105519,
- 51.3746543
- ],
- [
- -3.1494115,
- 51.3789292
- ],
- [
- -3.1494115,
- 51.2919281
- ],
- [
- -4.3038735,
- 51.2745907
- ],
- [
- -4.2861169,
- 51.0508721
- ],
- [
- -4.8543277,
- 51.0366633
- ],
- [
- -4.8372201,
- 50.7212787
- ],
- [
- -5.2618345,
- 50.7082694
- ]
- ],
- [
- [
- -2.1502671,
- 60.171318
- ],
- [
- -2.0030218,
- 60.1696146
- ],
- [
- -2.0013096,
- 60.0997023
- ],
- [
- -2.148555,
- 60.1011247
- ]
- ],
- [
- [
- -6.2086011,
- 59.1163488
- ],
- [
- -6.1229934,
- 59.1166418
- ],
- [
- -6.121852,
- 59.0714985
- ],
- [
- -6.2097426,
- 59.0714985
- ]
- ],
- [
- [
- -4.4159559,
- 59.0889036
- ],
- [
- -4.4212022,
- 59.0770848
- ],
- [
- -4.3971904,
- 59.0779143
- ],
- [
- -4.3913388,
- 59.0897328
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "NLS - OS 1:25k 1st Series 1937-61",
- "type": "tms",
- "template": "http://geo.nls.uk/mapdata2/os/25000/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 5,
- 16
- ],
- "polygon": [
- [
- [
- -4.7157244,
- 54.6796556
- ],
- [
- -4.6850662,
- 54.6800268
- ],
- [
- -4.6835779,
- 54.6623245
- ],
- [
- -4.7148782,
- 54.6615818
- ]
- ],
- [
- [
- -3.7085748,
- 58.3371151
- ],
- [
- -3.5405937,
- 58.3380684
- ],
- [
- -3.5315137,
- 58.1608002
- ],
- [
- -3.3608086,
- 58.1622372
- ],
- [
- -3.3653486,
- 58.252173
- ],
- [
- -3.1610473,
- 58.2536063
- ],
- [
- -3.1610473,
- 58.3261509
- ],
- [
- -3.0275704,
- 58.3271045
- ],
- [
- -3.0366505,
- 58.6139001
- ],
- [
- -3.0021463,
- 58.614373
- ],
- [
- -3.0030543,
- 58.7036341
- ],
- [
- -3.4180129,
- 58.7003322
- ],
- [
- -3.4171049,
- 58.6290293
- ],
- [
- -3.7240109,
- 58.6266658
- ],
- [
- -3.7231029,
- 58.606806
- ],
- [
- -4.2361262,
- 58.5992374
- ],
- [
- -4.2334022,
- 58.5092347
- ],
- [
- -3.88836,
- 58.5144516
- ],
- [
- -3.8829119,
- 58.4261327
- ],
- [
- -3.7158389,
- 58.4270836
- ]
- ],
- [
- [
- -6.46676,
- 49.9943621
- ],
- [
- -6.1889102,
- 50.004868
- ],
- [
- -6.1789222,
- 49.8967815
- ],
- [
- -6.3169391,
- 49.8915171
- ],
- [
- -6.312399,
- 49.8200979
- ],
- [
- -6.4504159,
- 49.8159968
- ]
- ],
- [
- [
- -5.6453263,
- 50.2029809
- ],
- [
- -5.7801329,
- 50.2014076
- ],
- [
- -5.7637888,
- 50.0197267
- ],
- [
- -5.3479221,
- 50.0290604
- ],
- [
- -5.3388421,
- 49.9414854
- ],
- [
- -5.024672,
- 49.9473287
- ],
- [
- -5.0355681,
- 50.0383923
- ],
- [
- -5.0010639,
- 50.0453901
- ],
- [
- -4.9974319,
- 50.1304478
- ],
- [
- -4.855783,
- 50.13394
- ],
- [
- -4.861231,
- 50.206057
- ],
- [
- -4.6546085,
- 50.2140172
- ],
- [
- -4.6558926,
- 50.3018616
- ],
- [
- -4.5184924,
- 50.3026818
- ],
- [
- -4.51464,
- 50.325642
- ],
- [
- -4.2488284,
- 50.3264618
- ],
- [
- -4.2488284,
- 50.3100631
- ],
- [
- -4.10886,
- 50.3141633
- ],
- [
- -4.1062917,
- 50.2411267
- ],
- [
- -3.9648088,
- 50.2432047
- ],
- [
- -3.9640778,
- 50.2254158
- ],
- [
- -3.8522287,
- 50.2273626
- ],
- [
- -3.8503757,
- 50.1552563
- ],
- [
- -3.6921809,
- 50.1572487
- ],
- [
- -3.5414602,
- 50.1602198
- ],
- [
- -3.5465781,
- 50.3226814
- ],
- [
- -3.4068012,
- 50.3241013
- ],
- [
- -3.4165761,
- 50.5892711
- ],
- [
- -3.2746691,
- 50.5962721
- ],
- [
- -3.2749172,
- 50.6106323
- ],
- [
- -2.9971742,
- 50.613972
- ],
- [
- -2.9896008,
- 50.688537
- ],
- [
- -2.7120266,
- 50.690565
- ],
- [
- -2.710908,
- 50.6195964
- ],
- [
- -2.5695473,
- 50.6157538
- ],
- [
- -2.5651019,
- 50.5134083
- ],
- [
- -2.4014463,
- 50.513379
- ],
- [
- -2.3940583,
- 50.6160348
- ],
- [
- -2.2894123,
- 50.6147436
- ],
- [
- -2.2876184,
- 50.6008549
- ],
- [
- -2.1477855,
- 50.6048506
- ],
- [
- -2.1451013,
- 50.5325437
- ],
- [
- -1.9335117,
- 50.5347477
- ],
- [
- -1.9362139,
- 50.6170445
- ],
- [
- -1.8573025,
- 50.6228094
- ],
- [
- -1.8554865,
- 50.709139
- ],
- [
- -1.6066929,
- 50.709139
- ],
- [
- -1.6085089,
- 50.6239615
- ],
- [
- -1.4450678,
- 50.6228094
- ],
- [
- -1.4432518,
- 50.5317039
- ],
- [
- -1.1545059,
- 50.5293951
- ],
- [
- -1.1472419,
- 50.6170485
- ],
- [
- -1.011041,
- 50.6205051
- ],
- [
- -1.011041,
- 50.7056889
- ],
- [
- -0.704135,
- 50.7045388
- ],
- [
- -0.700503,
- 50.7769401
- ],
- [
- -0.5860943,
- 50.7723465
- ],
- [
- -0.5879103,
- 50.7907181
- ],
- [
- -0.0149586,
- 50.7798108
- ],
- [
- -0.0185906,
- 50.7625836
- ],
- [
- 0.0967261,
- 50.7620093
- ],
- [
- 0.0921861,
- 50.6913106
- ],
- [
- 0.3046595,
- 50.6890096
- ],
- [
- 0.3101075,
- 50.7757917
- ],
- [
- 0.5511831,
- 50.7726336
- ],
- [
- 0.5529991,
- 50.8432096
- ],
- [
- 0.695556,
- 50.8403428
- ],
- [
- 0.696464,
- 50.8592608
- ],
- [
- 0.9852099,
- 50.8523824
- ],
- [
- 0.9906579,
- 50.9417226
- ],
- [
- 1.0160821,
- 50.9411504
- ],
- [
- 1.0215301,
- 51.0303204
- ],
- [
- 1.2812198,
- 51.0240383
- ],
- [
- 1.2848518,
- 51.0948044
- ],
- [
- 1.4277848,
- 51.0948044
- ],
- [
- 1.4386809,
- 51.2882859
- ],
- [
- 1.4713691,
- 51.2871502
- ],
- [
- 1.4804492,
- 51.3994534
- ],
- [
- 1.1590151,
- 51.4073836
- ],
- [
- 1.1590151,
- 51.3869889
- ],
- [
- 1.0191822,
- 51.3903886
- ],
- [
- 1.0228142,
- 51.4798247
- ],
- [
- 0.8793493,
- 51.4843484
- ],
- [
- 0.8829813,
- 51.5566675
- ],
- [
- 1.0264462,
- 51.5544092
- ],
- [
- 1.0373423,
- 51.7493319
- ],
- [
- 1.2607117,
- 51.7482076
- ],
- [
- 1.2661598,
- 51.8279642
- ],
- [
- 1.3351682,
- 51.8335756
- ],
- [
- 1.3478803,
- 51.9199021
- ],
- [
- 1.4840812,
- 51.9199021
- ],
- [
- 1.4986093,
- 52.0038271
- ],
- [
- 1.6438902,
- 52.0027092
- ],
- [
- 1.6656823,
- 52.270221
- ],
- [
- 1.7310588,
- 52.270221
- ],
- [
- 1.7528509,
- 52.4465637
- ],
- [
- 1.8254914,
- 52.4476705
- ],
- [
- 1.8345714,
- 52.624408
- ],
- [
- 1.7690346,
- 52.6291402
- ],
- [
- 1.7741711,
- 52.717904
- ],
- [
- 1.6996925,
- 52.721793
- ],
- [
- 1.706113,
- 52.8103687
- ],
- [
- 1.559724,
- 52.8165777
- ],
- [
- 1.5648605,
- 52.9034116
- ],
- [
- 1.4184715,
- 52.9103818
- ],
- [
- 1.4223238,
- 52.9281894
- ],
- [
- 1.3439928,
- 52.9289635
- ],
- [
- 1.3491293,
- 53.0001194
- ],
- [
- 0.4515789,
- 53.022589
- ],
- [
- 0.4497629,
- 52.9351139
- ],
- [
- 0.3789384,
- 52.9351139
- ],
- [
- 0.3716744,
- 52.846365
- ],
- [
- 0.2227614,
- 52.8496552
- ],
- [
- 0.2336575,
- 52.9329248
- ],
- [
- 0.3062979,
- 52.9351139
- ],
- [
- 0.308114,
- 53.022589
- ],
- [
- 0.3807544,
- 53.0236813
- ],
- [
- 0.3993708,
- 53.2933729
- ],
- [
- 0.3248922,
- 53.2987454
- ],
- [
- 0.3274604,
- 53.3853782
- ],
- [
- 0.2504136,
- 53.38691
- ],
- [
- 0.2581183,
- 53.4748924
- ],
- [
- 0.1862079,
- 53.4779494
- ],
- [
- 0.1913443,
- 53.6548777
- ],
- [
- 0.1502527,
- 53.6594436
- ],
- [
- 0.1528209,
- 53.7666003
- ],
- [
- 0.0012954,
- 53.7734308
- ],
- [
- 0.0025796,
- 53.8424326
- ],
- [
- -0.0282392,
- 53.841675
- ],
- [
- -0.0226575,
- 53.9311501
- ],
- [
- -0.1406983,
- 53.9322193
- ],
- [
- -0.1416063,
- 54.0219323
- ],
- [
- -0.1706625,
- 54.0235326
- ],
- [
- -0.1679384,
- 54.0949482
- ],
- [
- -0.0126694,
- 54.0912206
- ],
- [
- -0.0099454,
- 54.1811226
- ],
- [
- -0.1615824,
- 54.1837795
- ],
- [
- -0.1606744,
- 54.2029038
- ],
- [
- -0.2405789,
- 54.2034349
- ],
- [
- -0.2378549,
- 54.2936234
- ],
- [
- -0.3894919,
- 54.2941533
- ],
- [
- -0.3857497,
- 54.3837321
- ],
- [
- -0.461638,
- 54.3856364
- ],
- [
- -0.4571122,
- 54.4939066
- ],
- [
- -0.6105651,
- 54.4965434
- ],
- [
- -0.6096571,
- 54.5676704
- ],
- [
- -0.7667421,
- 54.569776
- ],
- [
- -0.7640181,
- 54.5887213
- ],
- [
- -0.9192871,
- 54.5908258
- ],
- [
- -0.9148116,
- 54.6608348
- ],
- [
- -1.1485204,
- 54.6634343
- ],
- [
- -1.1472363,
- 54.7528316
- ],
- [
- -1.2268514,
- 54.7532021
- ],
- [
- -1.2265398,
- 54.8429879
- ],
- [
- -1.2991803,
- 54.8435107
- ],
- [
- -1.2991803,
- 54.9333391
- ],
- [
- -1.3454886,
- 54.9354258
- ],
- [
- -1.3436726,
- 55.0234878
- ],
- [
- -1.3772688,
- 55.0255698
- ],
- [
- -1.3754528,
- 55.1310877
- ],
- [
- -1.4997441,
- 55.1315727
- ],
- [
- -1.4969272,
- 55.2928323
- ],
- [
- -1.5296721,
- 55.2942946
- ],
- [
- -1.5258198,
- 55.6523803
- ],
- [
- -1.7659492,
- 55.6545537
- ],
- [
- -1.7620968,
- 55.7435626
- ],
- [
- -1.9688392,
- 55.7435626
- ],
- [
- -1.9698023,
- 55.8334505
- ],
- [
- -2.0019051,
- 55.8336308
- ],
- [
- -2.0015841,
- 55.9235526
- ],
- [
- -2.1604851,
- 55.9240613
- ],
- [
- -2.1613931,
- 55.9413549
- ],
- [
- -2.3202942,
- 55.9408463
- ],
- [
- -2.3212022,
- 56.0145126
- ],
- [
- -2.5627317,
- 56.0124824
- ],
- [
- -2.5645477,
- 56.1022207
- ],
- [
- -2.9658863,
- 56.0991822
- ],
- [
- -2.9667943,
- 56.1710304
- ],
- [
- -2.4828272,
- 56.1755797
- ],
- [
- -2.4882752,
- 56.2856078
- ],
- [
- -2.5645477,
- 56.2835918
- ],
- [
- -2.5681798,
- 56.3742075
- ],
- [
- -2.7261728,
- 56.3732019
- ],
- [
- -2.7316208,
- 56.4425301
- ],
- [
- -2.6190281,
- 56.4425301
- ],
- [
- -2.6153961,
- 56.5317671
- ],
- [
- -2.453771,
- 56.5347715
- ],
- [
- -2.4534686,
- 56.6420248
- ],
- [
- -2.4062523,
- 56.6440218
- ],
- [
- -2.3953562,
- 56.7297964
- ],
- [
- -2.2936596,
- 56.7337811
- ],
- [
- -2.2972916,
- 56.807423
- ],
- [
- -2.1629067,
- 56.8113995
- ],
- [
- -2.1592747,
- 56.9958425
- ],
- [
- -1.9922016,
- 57.0017771
- ],
- [
- -2.0067297,
- 57.2737477
- ],
- [
- -1.9195612,
- 57.2757112
- ],
- [
- -1.9304572,
- 57.3482876
- ],
- [
- -1.8106005,
- 57.3443682
- ],
- [
- -1.7997044,
- 57.4402728
- ],
- [
- -1.6616875,
- 57.4285429
- ],
- [
- -1.6689516,
- 57.5398256
- ],
- [
- -1.7452241,
- 57.5398256
- ],
- [
- -1.7524881,
- 57.6313302
- ],
- [
- -1.8287606,
- 57.6332746
- ],
- [
- -1.8287606,
- 57.7187255
- ],
- [
- -3.1768526,
- 57.7171219
- ],
- [
- -3.1794208,
- 57.734264
- ],
- [
- -3.5134082,
- 57.7292105
- ],
- [
- -3.5129542,
- 57.7112683
- ],
- [
- -3.7635638,
- 57.7076303
- ],
- [
- -3.7598539,
- 57.635713
- ],
- [
- -3.8420372,
- 57.6343382
- ],
- [
- -3.8458895,
- 57.6178365
- ],
- [
- -3.9794374,
- 57.6157733
- ],
- [
- -3.9794374,
- 57.686544
- ],
- [
- -3.8150708,
- 57.689976
- ],
- [
- -3.817639,
- 57.7968899
- ],
- [
- -3.6853753,
- 57.7989429
- ],
- [
- -3.6892276,
- 57.8891567
- ],
- [
- -3.9383458,
- 57.8877915
- ],
- [
- -3.9421981,
- 57.9750592
- ],
- [
- -3.6943641,
- 57.9784638
- ],
- [
- -3.6969323,
- 58.0695865
- ],
- [
- -4.0372226,
- 58.0641528
- ],
- [
- -4.0346543,
- 57.9730163
- ],
- [
- -4.2003051,
- 57.9702923
- ],
- [
- -4.1832772,
- 57.7012869
- ],
- [
- -4.518752,
- 57.6951111
- ],
- [
- -4.5122925,
- 57.6050682
- ],
- [
- -4.6789116,
- 57.6016628
- ],
- [
- -4.666022,
- 57.4218334
- ],
- [
- -3.6677696,
- 57.4394729
- ],
- [
- -3.671282,
- 57.5295384
- ],
- [
- -3.3384979,
- 57.5331943
- ],
- [
- -3.3330498,
- 57.4438859
- ],
- [
- -2.8336466,
- 57.4485275
- ],
- [
- -2.8236396,
- 56.9992706
- ],
- [
- -2.3305398,
- 57.0006693
- ],
- [
- -2.3298977,
- 56.9113932
- ],
- [
- -2.6579889,
- 56.9092901
- ],
- [
- -2.6559637,
- 56.8198406
- ],
- [
- -2.8216747,
- 56.8188467
- ],
- [
- -2.8184967,
- 56.7295397
- ],
- [
- -3.1449248,
- 56.7265508
- ],
- [
- -3.1435628,
- 56.6362749
- ],
- [
- -3.4679089,
- 56.6350265
- ],
- [
- -3.474265,
- 56.7238108
- ],
- [
- -3.8011471,
- 56.7188284
- ],
- [
- -3.785711,
- 56.4493026
- ],
- [
- -3.946428,
- 56.4457896
- ],
- [
- -3.9428873,
- 56.2659777
- ],
- [
- -4.423146,
- 56.2588459
- ],
- [
- -4.4141572,
- 56.0815506
- ],
- [
- -4.8944159,
- 56.0708008
- ],
- [
- -4.8791072,
- 55.8896994
- ],
- [
- -5.1994158,
- 55.8821374
- ],
- [
- -5.1852906,
- 55.7023791
- ],
- [
- -5.0273445,
- 55.7067203
- ],
- [
- -5.0222081,
- 55.6879046
- ],
- [
- -4.897649,
- 55.6907999
- ],
- [
- -4.8880181,
- 55.6002822
- ],
- [
- -4.7339244,
- 55.6046348
- ],
- [
- -4.7275038,
- 55.5342082
- ],
- [
- -4.773732,
- 55.5334815
- ],
- [
- -4.7685955,
- 55.4447227
- ],
- [
- -4.8494947,
- 55.4418092
- ],
- [
- -4.8405059,
- 55.3506535
- ],
- [
- -4.8700405,
- 55.3513836
- ],
- [
- -4.8649041,
- 55.2629462
- ],
- [
- -4.9920314,
- 55.2592875
- ],
- [
- -4.9907473,
- 55.1691779
- ],
- [
- -5.0600894,
- 55.1655105
- ],
- [
- -5.0575212,
- 55.0751884
- ],
- [
- -5.2141831,
- 55.0722477
- ],
- [
- -5.1991766,
- 54.8020337
- ],
- [
- -5.0466316,
- 54.8062205
- ],
- [
- -5.0502636,
- 54.7244996
- ],
- [
- -4.9703591,
- 54.7203043
- ],
- [
- -4.9776232,
- 54.6215905
- ],
- [
- -4.796022,
- 54.6342056
- ],
- [
- -4.796022,
- 54.7307917
- ],
- [
- -4.8977186,
- 54.7265971
- ],
- [
- -4.9086147,
- 54.8145928
- ],
- [
- -4.8069181,
- 54.8166856
- ],
- [
- -4.8105501,
- 54.7915648
- ],
- [
- -4.6943253,
- 54.7978465
- ],
- [
- -4.6761652,
- 54.7244996
- ],
- [
- -4.5744686,
- 54.7244996
- ],
- [
- -4.5599405,
- 54.6426135
- ],
- [
- -4.3093309,
- 54.6384098
- ],
- [
- -4.3333262,
- 54.8229889
- ],
- [
- -4.2626999,
- 54.8274274
- ],
- [
- -4.2549952,
- 54.7348587
- ],
- [
- -3.8338058,
- 54.7400481
- ],
- [
- -3.836374,
- 54.8141105
- ],
- [
- -3.7118149,
- 54.8133706
- ],
- [
- -3.7143831,
- 54.8318654
- ],
- [
- -3.5346072,
- 54.8355633
- ],
- [
- -3.5271039,
- 54.9066228
- ],
- [
- -3.4808758,
- 54.9084684
- ],
- [
- -3.4776655,
- 54.7457328
- ],
- [
- -3.5874573,
- 54.744621
- ],
- [
- -3.5836049,
- 54.6546166
- ],
- [
- -3.7107322,
- 54.6531308
- ],
- [
- -3.6991752,
- 54.4550407
- ],
- [
- -3.5746161,
- 54.4572801
- ],
- [
- -3.5759002,
- 54.3863042
- ],
- [
- -3.539945,
- 54.3855564
- ],
- [
- -3.5386609,
- 54.297224
- ],
- [
- -3.46033,
- 54.2957252
- ],
- [
- -3.4590458,
- 54.2079507
- ],
- [
- -3.3807149,
- 54.2102037
- ],
- [
- -3.381999,
- 54.1169788
- ],
- [
- -3.302878,
- 54.1160656
- ],
- [
- -3.300154,
- 54.0276224
- ],
- [
- -3.1013007,
- 54.0292224
- ],
- [
- -3.093596,
- 53.6062158
- ],
- [
- -3.2065981,
- 53.6016441
- ],
- [
- -3.2091663,
- 53.4917753
- ],
- [
- -3.2451215,
- 53.4887193
- ],
- [
- -3.2348486,
- 53.4045934
- ],
- [
- -3.5276266,
- 53.3999999
- ],
- [
- -3.5343966,
- 53.328481
- ],
- [
- -3.6488053,
- 53.3252272
- ],
- [
- -3.6527308,
- 53.3057716
- ],
- [
- -3.7271873,
- 53.3046865
- ],
- [
- -3.7315003,
- 53.3945257
- ],
- [
- -3.9108315,
- 53.3912769
- ],
- [
- -3.9071995,
- 53.3023804
- ],
- [
- -3.9521457,
- 53.3015665
- ],
- [
- -3.9566724,
- 53.3912183
- ],
- [
- -4.1081979,
- 53.3889209
- ],
- [
- -4.1081979,
- 53.4072967
- ],
- [
- -4.2622916,
- 53.4065312
- ],
- [
- -4.2635757,
- 53.4753707
- ],
- [
- -4.638537,
- 53.4677274
- ],
- [
- -4.6346847,
- 53.3812621
- ],
- [
- -4.7091633,
- 53.3774321
- ],
- [
- -4.7001745,
- 53.1954965
- ],
- [
- -4.5499332,
- 53.1962658
- ],
- [
- -4.5435126,
- 53.1092488
- ],
- [
- -4.3919871,
- 53.1100196
- ],
- [
- -4.3855666,
- 53.0236002
- ],
- [
- -4.6115707,
- 53.0205105
- ],
- [
- -4.603866,
- 52.9284932
- ],
- [
- -4.7566756,
- 52.9261709
- ],
- [
- -4.7476868,
- 52.8370555
- ],
- [
- -4.8208813,
- 52.8331768
- ],
- [
- -4.8208813,
- 52.7446476
- ],
- [
- -4.3701572,
- 52.7539749
- ],
- [
- -4.3765778,
- 52.8401583
- ],
- [
- -4.2314728,
- 52.8455875
- ],
- [
- -4.2237682,
- 52.7586379
- ],
- [
- -4.1056297,
- 52.7570836
- ],
- [
- -4.1015192,
- 52.6714874
- ],
- [
- -4.1487355,
- 52.6703862
- ],
- [
- -4.1305754,
- 52.4008596
- ],
- [
- -4.1995838,
- 52.3986435
- ],
- [
- -4.2050319,
- 52.3110195
- ],
- [
- -4.3466808,
- 52.303247
- ],
- [
- -4.3484968,
- 52.2365693
- ],
- [
- -4.4901457,
- 52.2332328
- ],
- [
- -4.4883297,
- 52.2098702
- ],
- [
- -4.6572188,
- 52.2098702
- ],
- [
- -4.6590348,
- 52.1385939
- ],
- [
- -4.7788916,
- 52.13525
- ],
- [
- -4.7807076,
- 52.1162967
- ],
- [
- -4.9259885,
- 52.1140663
- ],
- [
- -4.9187245,
- 52.0392855
- ],
- [
- -5.2365265,
- 52.0314653
- ],
- [
- -5.2347105,
- 51.9442339
- ],
- [
- -5.3473032,
- 51.9408755
- ],
- [
- -5.3473032,
- 51.9195995
- ],
- [
- -5.4925842,
- 51.9162392
- ],
- [
- -5.4853201,
- 51.8265386
- ],
- [
- -5.1983903,
- 51.8321501
- ],
- [
- -5.1893102,
- 51.7625177
- ],
- [
- -5.335825,
- 51.7589528
- ],
- [
- -5.3281204,
- 51.6686495
- ],
- [
- -5.1836575,
- 51.6730296
- ],
- [
- -5.1836575,
- 51.6539134
- ],
- [
- -5.0674452,
- 51.6578966
- ],
- [
- -5.0603825,
- 51.5677905
- ],
- [
- -4.5974594,
- 51.5809588
- ],
- [
- -4.60388,
- 51.6726314
- ],
- [
- -4.345773,
- 51.6726314
- ],
- [
- -4.3355001,
- 51.4962964
- ],
- [
- -3.9528341,
- 51.5106841
- ],
- [
- -3.9425611,
- 51.5905333
- ],
- [
- -3.8809237,
- 51.5953198
- ],
- [
- -3.8706508,
- 51.5074872
- ],
- [
- -3.7679216,
- 51.4978952
- ],
- [
- -3.7550805,
- 51.4242895
- ],
- [
- -3.5855774,
- 51.41468
- ],
- [
- -3.5778727,
- 51.3329177
- ],
- [
- -3.0796364,
- 51.3329177
- ],
- [
- -3.0770682,
- 51.2494018
- ],
- [
- -3.7216935,
- 51.2381477
- ],
- [
- -3.7216935,
- 51.2558315
- ],
- [
- -3.8706508,
- 51.2558315
- ],
- [
- -3.8680825,
- 51.2365398
- ],
- [
- -4.2944084,
- 51.2252825
- ],
- [
- -4.289272,
- 51.0496352
- ],
- [
- -4.5692089,
- 51.0431767
- ],
- [
- -4.5624122,
- 50.9497388
- ],
- [
- -4.5905604,
- 50.9520269
- ],
- [
- -4.5896524,
- 50.8627065
- ],
- [
- -4.6296046,
- 50.8592677
- ],
- [
- -4.6226411,
- 50.7691513
- ],
- [
- -4.6952816,
- 50.7680028
- ],
- [
- -4.6934655,
- 50.6967379
- ],
- [
- -4.8342064,
- 50.6938621
- ],
- [
- -4.8296664,
- 50.6046231
- ],
- [
- -4.9676833,
- 50.6000126
- ],
- [
- -4.9685913,
- 50.5821427
- ],
- [
- -5.1084242,
- 50.5786832
- ],
- [
- -5.1029762,
- 50.4892254
- ],
- [
- -5.1311244,
- 50.48807
- ],
- [
- -5.1274923,
- 50.4163798
- ],
- [
- -5.2664172,
- 50.4117509
- ],
- [
- -5.2609692,
- 50.3034214
- ],
- [
- -5.5124868,
- 50.2976214
- ],
- [
- -5.5061308,
- 50.2256428
- ],
- [
- -5.6468717,
- 50.2209953
- ]
- ],
- [
- [
- -5.1336607,
- 55.2630226
- ],
- [
- -5.1021999,
- 55.2639372
- ],
- [
- -5.0999527,
- 55.2458239
- ],
- [
- -5.1322161,
- 55.2446343
- ]
- ],
- [
- [
- -5.6431878,
- 55.5095745
- ],
- [
- -5.4861028,
- 55.5126594
- ],
- [
- -5.4715747,
- 55.3348829
- ],
- [
- -5.6277517,
- 55.3302345
- ]
- ],
- [
- [
- -4.7213517,
- 51.2180246
- ],
- [
- -4.5804201,
- 51.2212417
- ],
- [
- -4.5746416,
- 51.1306736
- ],
- [
- -4.7174993,
- 51.1280545
- ]
- ],
- [
- [
- -5.1608796,
- 55.4153626
- ],
- [
- -5.0045387,
- 55.4190069
- ],
- [
- -5.0184798,
- 55.6153521
- ],
- [
- -5.1755648,
- 55.6138137
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "NLS - OS 6-inch Scotland 1842-82",
- "type": "tms",
- "template": "http://geo.nls.uk/maps/os/six_inch/{zoom}/{x}/{-y}.png",
- "scaleExtent": [
- 5,
- 16
- ],
- "polygon": [
- [
- [
- -5.2112173,
- 54.8018593
- ],
- [
- -5.0642752,
- 54.8026508
- ],
- [
- -5.0560354,
- 54.6305176
- ],
- [
- -4.3158316,
- 54.6297227
- ],
- [
- -4.3117117,
- 54.7448258
- ],
- [
- -3.8530325,
- 54.7464112
- ],
- [
- -3.8530325,
- 54.8034424
- ],
- [
- -3.5522818,
- 54.8034424
- ],
- [
- -3.5522818,
- 54.8374644
- ],
- [
- -3.468511,
- 54.8406277
- ],
- [
- -3.4657644,
- 54.8983158
- ],
- [
- -3.3847403,
- 54.8991055
- ],
- [
- -3.3888601,
- 54.9559214
- ],
- [
- -3.0920786,
- 54.9539468
- ],
- [
- -3.0392359,
- 54.9923274
- ],
- [
- -3.0212713,
- 55.0493881
- ],
- [
- -2.9591232,
- 55.0463283
- ],
- [
- -2.9202807,
- 55.0666294
- ],
- [
- -2.7857081,
- 55.068652
- ],
- [
- -2.7852225,
- 55.0914426
- ],
- [
- -2.7337562,
- 55.0922761
- ],
- [
- -2.737616,
- 55.151204
- ],
- [
- -2.7648395,
- 55.1510672
- ],
- [
- -2.7013114,
- 55.1722505
- ],
- [
- -2.6635459,
- 55.2192808
- ],
- [
- -2.6460364,
- 55.2188891
- ],
- [
- -2.629042,
- 55.2233933
- ],
- [
- -2.6317886,
- 55.2287781
- ],
- [
- -2.6235488,
- 55.2446345
- ],
- [
- -2.6197723,
- 55.2454663
- ],
- [
- -2.6099017,
- 55.2454174
- ],
- [
- -2.6099876,
- 55.2486466
- ],
- [
- -2.6408121,
- 55.2590039
- ],
- [
- -2.6247896,
- 55.2615631
- ],
- [
- -2.6045186,
- 55.2823081
- ],
- [
- -2.5693176,
- 55.296132
- ],
- [
- -2.5479542,
- 55.3121617
- ],
- [
- -2.5091116,
- 55.3234891
- ],
- [
- -2.4780376,
- 55.3494471
- ],
- [
- -2.4421083,
- 55.3533118
- ],
- [
- -2.4052079,
- 55.3439256
- ],
- [
- -2.3726772,
- 55.3447539
- ],
- [
- -2.3221819,
- 55.3687665
- ],
- [
- -2.3241241,
- 55.3999337
- ],
- [
- -2.2576062,
- 55.425015
- ],
- [
- -2.1985547,
- 55.4273529
- ],
- [
- -2.1484296,
- 55.4717466
- ],
- [
- -2.1944348,
- 55.484199
- ],
- [
- -2.2040479,
- 55.529306
- ],
- [
- -2.2960584,
- 55.6379722
- ],
- [
- -2.2177808,
- 55.6379722
- ],
- [
- -2.1059266,
- 55.7452498
- ],
- [
- -1.9716874,
- 55.7462161
- ],
- [
- -1.9697453,
- 55.9190951
- ],
- [
- -2.1201694,
- 55.9207115
- ],
- [
- -2.1242893,
- 55.9776133
- ],
- [
- -2.3440159,
- 55.9783817
- ],
- [
- -2.3440159,
- 56.0390349
- ],
- [
- -2.5046909,
- 56.0413363
- ],
- [
- -2.500571,
- 56.1003588
- ],
- [
- -2.8823459,
- 56.0957629
- ],
- [
- -2.8823459,
- 56.1722898
- ],
- [
- -2.4126804,
- 56.1692316
- ],
- [
- -2.4181736,
- 56.2334017
- ],
- [
- -2.5857151,
- 56.2303484
- ],
- [
- -2.5719822,
- 56.3416356
- ],
- [
- -2.7257908,
- 56.3462022
- ],
- [
- -2.7312839,
- 56.4343808
- ],
- [
- -2.6928318,
- 56.4343808
- ],
- [
- -2.6928318,
- 56.4859769
- ],
- [
- -2.5307834,
- 56.4935587
- ],
- [
- -2.5307834,
- 56.570806
- ],
- [
- -2.5302878,
- 56.6047947
- ],
- [
- -2.3732428,
- 56.6044452
- ],
- [
- -2.3684363,
- 56.7398824
- ],
- [
- -2.3292975,
- 56.7398824
- ],
- [
- -2.3292975,
- 56.7888065
- ],
- [
- -2.3145346,
- 56.7891826
- ],
- [
- -2.3148779,
- 56.7967036
- ],
- [
- -2.171369,
- 56.7967036
- ],
- [
- -2.1703979,
- 56.9710595
- ],
- [
- -2.0101725,
- 56.9694716
- ],
- [
- -2.0101725,
- 57.0846832
- ],
- [
- -2.0817687,
- 57.085349
- ],
- [
- -2.0488097,
- 57.1259963
- ],
- [
- -2.0409133,
- 57.126369
- ],
- [
- -2.0383434,
- 57.2411129
- ],
- [
- -1.878118,
- 57.2421638
- ],
- [
- -1.8771469,
- 57.2978175
- ],
- [
- -1.9868771,
- 57.2983422
- ],
- [
- -1.9082209,
- 57.3560063
- ],
- [
- -1.8752048,
- 57.3560063
- ],
- [
- -1.8761758,
- 57.3769527
- ],
- [
- -1.8120857,
- 57.4120111
- ],
- [
- -1.7120661,
- 57.4120111
- ],
- [
- -1.7034646,
- 57.6441388
- ],
- [
- -1.8666032,
- 57.6451781
- ],
- [
- -1.8646611,
- 57.7033351
- ],
- [
- -3.1204292,
- 57.7064705
- ],
- [
- -3.1218025,
- 57.7504652
- ],
- [
- -3.4445259,
- 57.7526635
- ],
- [
- -3.4472724,
- 57.7138067
- ],
- [
- -3.5145637,
- 57.7094052
- ],
- [
- -3.5118171,
- 57.6939956
- ],
- [
- -3.7645027,
- 57.6917938
- ],
- [
- -3.7672492,
- 57.6344975
- ],
- [
- -3.842378,
- 57.6288312
- ],
- [
- -3.8438346,
- 57.5965825
- ],
- [
- -3.9414265,
- 57.5916386
- ],
- [
- -3.9404554,
- 57.6537782
- ],
- [
- -3.8894746,
- 57.6529989
- ],
- [
- -3.8826772,
- 57.7676408
- ],
- [
- -3.7224517,
- 57.766087
- ],
- [
- -3.7195385,
- 57.8819201
- ],
- [
- -3.9146888,
- 57.8853352
- ],
- [
- -3.916062,
- 57.9546243
- ],
- [
- -3.745774,
- 57.9538956
- ],
- [
- -3.7471473,
- 58.0688409
- ],
- [
- -3.5837256,
- 58.0695672
- ],
- [
- -3.5837256,
- 58.1116689
- ],
- [
- -3.4560096,
- 58.1138452
- ],
- [
- -3.4544646,
- 58.228503
- ],
- [
- -3.4379851,
- 58.2283222
- ],
- [
- -3.4243233,
- 58.2427725
- ],
- [
- -3.412307,
- 58.2438567
- ],
- [
- -3.3735115,
- 58.2695057
- ],
- [
- -3.3063919,
- 58.2862038
- ],
- [
- -3.1229154,
- 58.2859395
- ],
- [
- -3.123602,
- 58.3443661
- ],
- [
- -2.9574338,
- 58.3447264
- ],
- [
- -2.951254,
- 58.6422011
- ],
- [
- -2.8812162,
- 58.6429157
- ],
- [
- -2.8851004,
- 58.8112825
- ],
- [
- -2.7180775,
- 58.8142997
- ],
- [
- -2.7161354,
- 58.8715749
- ],
- [
- -2.556881,
- 58.8775984
- ],
- [
- -2.5544533,
- 58.9923453
- ],
- [
- -2.5567617,
- 59.0483775
- ],
- [
- -2.391893,
- 59.0485996
- ],
- [
- -2.3918002,
- 59.1106996
- ],
- [
- -2.4733695,
- 59.1106996
- ],
- [
- -2.5591563,
- 59.1783028
- ],
- [
- -2.5630406,
- 59.2210646
- ],
- [
- -2.3921334,
- 59.224046
- ],
- [
- -2.3911409,
- 59.2740075
- ],
- [
- -2.3639512,
- 59.2745036
- ],
- [
- -2.3658933,
- 59.285417
- ],
- [
- -2.3911409,
- 59.284921
- ],
- [
- -2.3911409,
- 59.3379505
- ],
- [
- -2.2221759,
- 59.3381981
- ],
- [
- -2.2233897,
- 59.395965
- ],
- [
- -2.3758467,
- 59.396583
- ],
- [
- -2.3899271,
- 59.4026383
- ],
- [
- -2.4008516,
- 59.3962122
- ],
- [
- -2.5637882,
- 59.3952604
- ],
- [
- -2.5637882,
- 59.3385811
- ],
- [
- -2.7320164,
- 59.3375306
- ],
- [
- -2.7333896,
- 59.3952604
- ],
- [
- -3.0726511,
- 59.3931174
- ],
- [
- -3.0703404,
- 59.3354759
- ],
- [
- -3.0753186,
- 59.3355634
- ],
- [
- -3.0749753,
- 59.3292593
- ],
- [
- -3.0698254,
- 59.3289091
- ],
- [
- -3.069801,
- 59.2196159
- ],
- [
- -3.2363384,
- 59.2166341
- ],
- [
- -3.2336751,
- 59.1606496
- ],
- [
- -3.4032766,
- 59.1588895
- ],
- [
- -3.394086,
- 58.9279316
- ],
- [
- -3.5664497,
- 58.9259268
- ],
- [
- -3.5611089,
- 58.8679885
- ],
- [
- -3.392508,
- 58.8699339
- ],
- [
- -3.3894734,
- 58.8698711
- ],
- [
- -3.3891093,
- 58.8684905
- ],
- [
- -3.3912942,
- 58.868616
- ],
- [
- -3.3884161,
- 58.7543084
- ],
- [
- -3.2238208,
- 58.7555677
- ],
- [
- -3.2189655,
- 58.691289
- ],
- [
- -3.4634113,
- 58.6905753
- ],
- [
- -3.4551716,
- 58.6341518
- ],
- [
- -3.787508,
- 58.6341518
- ],
- [
- -3.7861347,
- 58.5769211
- ],
- [
- -3.9028645,
- 58.5733411
- ],
- [
- -3.9028645,
- 58.6477304
- ],
- [
- -4.0690327,
- 58.6491594
- ],
- [
- -4.0690327,
- 58.5912376
- ],
- [
- -4.7364521,
- 58.5933845
- ],
- [
- -4.7364521,
- 58.6505884
- ],
- [
- -5.0715351,
- 58.6520173
- ],
- [
- -5.0654779,
- 58.5325854
- ],
- [
- -5.2332047,
- 58.5316087
- ],
- [
- -5.2283494,
- 58.4719947
- ],
- [
- -5.2424298,
- 58.4719947
- ],
- [
- -5.2366034,
- 58.4089731
- ],
- [
- -5.2283494,
- 58.4094818
- ],
- [
- -5.2210664,
- 58.3005859
- ],
- [
- -5.5657939,
- 58.2959933
- ],
- [
- -5.5580254,
- 58.2372573
- ],
- [
- -5.4146722,
- 58.2401326
- ],
- [
- -5.4141866,
- 58.2267768
- ],
- [
- -5.3885749,
- 58.2272242
- ],
- [
- -5.382714,
- 58.1198615
- ],
- [
- -5.51043,
- 58.1191362
- ],
- [
- -5.5114011,
- 58.006214
- ],
- [
- -5.6745397,
- 58.0041559
- ],
- [
- -5.6716266,
- 57.9449366
- ],
- [
- -5.6716266,
- 57.8887166
- ],
- [
- -5.8347652,
- 57.8856193
- ],
- [
- -5.8277052,
- 57.5988958
- ],
- [
- -6.0384259,
- 57.5986357
- ],
- [
- -6.0389115,
- 57.6459559
- ],
- [
- -6.1981658,
- 57.6456961
- ],
- [
- -6.2076123,
- 57.7600132
- ],
- [
- -6.537067,
- 57.7544033
- ],
- [
- -6.5312406,
- 57.6402392
- ],
- [
- -6.7002056,
- 57.6360809
- ],
- [
- -6.6807844,
- 57.5236293
- ],
- [
- -6.8516915,
- 57.5152857
- ],
- [
- -6.8361545,
- 57.3385811
- ],
- [
- -6.6730158,
- 57.3438213
- ],
- [
- -6.674958,
- 57.2850883
- ],
- [
- -6.5098772,
- 57.2850883
- ],
- [
- -6.4982244,
- 57.1757637
- ],
- [
- -6.3506228,
- 57.1820797
- ],
- [
- -6.3312015,
- 57.1251969
- ],
- [
- -6.1797156,
- 57.1230884
- ],
- [
- -6.1719471,
- 57.0682265
- ],
- [
- -6.4593819,
- 57.059779
- ],
- [
- -6.4564687,
- 57.1093806
- ],
- [
- -6.6671895,
- 57.1062165
- ],
- [
- -6.6730158,
- 57.002708
- ],
- [
- -6.5021087,
- 57.0048233
- ],
- [
- -6.4836097,
- 56.8917522
- ],
- [
- -6.3266104,
- 56.8894062
- ],
- [
- -6.3156645,
- 56.7799312
- ],
- [
- -6.2146739,
- 56.775675
- ],
- [
- -6.2146739,
- 56.7234965
- ],
- [
- -6.6866107,
- 56.7224309
- ],
- [
- -6.6769001,
- 56.6114413
- ],
- [
- -6.8419809,
- 56.607166
- ],
- [
- -6.8400387,
- 56.5483307
- ],
- [
- -7.1546633,
- 56.5461895
- ],
- [
- -7.1488369,
- 56.4872592
- ],
- [
- -6.9915246,
- 56.490476
- ],
- [
- -6.9876404,
- 56.4325329
- ],
- [
- -6.6827265,
- 56.4314591
- ],
- [
- -6.6769001,
- 56.5472601
- ],
- [
- -6.5292985,
- 56.5504717
- ],
- [
- -6.5234721,
- 56.4379018
- ],
- [
- -6.3661598,
- 56.4368281
- ],
- [
- -6.3642177,
- 56.3766524
- ],
- [
- -6.5273563,
- 56.3712749
- ],
- [
- -6.5171745,
- 56.2428427
- ],
- [
- -6.4869621,
- 56.247421
- ],
- [
- -6.4869621,
- 56.1893882
- ],
- [
- -6.3001945,
- 56.1985572
- ],
- [
- -6.3029411,
- 56.2581017
- ],
- [
- -5.9019401,
- 56.256576
- ],
- [
- -5.8964469,
- 56.0960466
- ],
- [
- -6.0282829,
- 56.0883855
- ],
- [
- -6.0392692,
- 56.1557502
- ],
- [
- -6.3853385,
- 56.1542205
- ],
- [
- -6.3606193,
- 55.96099
- ],
- [
- -6.2123039,
- 55.9640647
- ],
- [
- -6.2047508,
- 55.9202269
- ],
- [
- -6.5185478,
- 55.9129158
- ],
- [
- -6.5061881,
- 55.7501763
- ],
- [
- -6.6764762,
- 55.7409005
- ],
- [
- -6.6599967,
- 55.6263176
- ],
- [
- -6.3551261,
- 55.6232161
- ],
- [
- -6.3578727,
- 55.5689002
- ],
- [
- -6.0392692,
- 55.5720059
- ],
- [
- -6.0310294,
- 55.6247669
- ],
- [
- -5.7398917,
- 55.6309694
- ],
- [
- -5.7371452,
- 55.4569279
- ],
- [
- -5.8964469,
- 55.4600426
- ],
- [
- -5.8964469,
- 55.2789864
- ],
- [
- -5.4350211,
- 55.2821151
- ],
- [
- -5.4405143,
- 55.4506979
- ],
- [
- -5.2867057,
- 55.4569279
- ],
- [
- -5.3086784,
- 55.4070602
- ],
- [
- -4.9735954,
- 55.4008223
- ],
- [
- -4.9845817,
- 55.2038242
- ],
- [
- -5.1493766,
- 55.2038242
- ],
- [
- -5.1411369,
- 55.037337
- ],
- [
- -5.2152946,
- 55.0341891
- ]
- ],
- [
- [
- -2.1646559,
- 60.1622059
- ],
- [
- -1.9930299,
- 60.1609801
- ],
- [
- -1.9946862,
- 60.1035151
- ],
- [
- -2.1663122,
- 60.104743
- ]
- ],
- [
- [
- -1.5360658,
- 59.8570831
- ],
- [
- -1.3653566,
- 59.8559841
- ],
- [
- -1.366847,
- 59.7975565
- ],
- [
- -1.190628,
- 59.7964199
- ],
- [
- -1.1862046,
- 59.9695391
- ],
- [
- -1.0078652,
- 59.9683948
- ],
- [
- -1.0041233,
- 60.114145
- ],
- [
- -0.8360832,
- 60.1130715
- ],
- [
- -0.834574,
- 60.1716772
- ],
- [
- -1.0074262,
- 60.1727795
- ],
- [
- -1.0052165,
- 60.2583924
- ],
- [
- -0.8299659,
- 60.2572778
- ],
- [
- -0.826979,
- 60.3726551
- ],
- [
- -0.6507514,
- 60.3715381
- ],
- [
- -0.6477198,
- 60.4882292
- ],
- [
- -0.9984896,
- 60.4904445
- ],
- [
- -0.9970279,
- 60.546555
- ],
- [
- -0.6425288,
- 60.5443201
- ],
- [
- -0.6394896,
- 60.6606792
- ],
- [
- -0.8148133,
- 60.6617806
- ],
- [
- -0.8132987,
- 60.7196112
- ],
- [
- -0.6383298,
- 60.7185141
- ],
- [
- -0.635467,
- 60.8275393
- ],
- [
- -0.797568,
- 60.8285523
- ],
- [
- -0.9941426,
- 60.8297807
- ],
- [
- -0.9954966,
- 60.7782667
- ],
- [
- -1.1670282,
- 60.7793403
- ],
- [
- -1.1700357,
- 60.6646181
- ],
- [
- -1.5222599,
- 60.6668304
- ],
- [
- -1.5237866,
- 60.6084426
- ],
- [
- -1.6975673,
- 60.609536
- ],
- [
- -1.7021271,
- 60.4345249
- ],
- [
- -1.5260578,
- 60.4334111
- ],
- [
- -1.5275203,
- 60.3770719
- ],
- [
- -1.8751127,
- 60.3792746
- ],
- [
- -1.8781372,
- 60.2624647
- ],
- [
- -1.7019645,
- 60.2613443
- ],
- [
- -1.7049134,
- 60.1470532
- ],
- [
- -1.528659,
- 60.1459283
- ]
- ],
- [
- [
- -0.9847667,
- 60.8943762
- ],
- [
- -0.9860347,
- 60.8361105
- ],
- [
- -0.8078362,
- 60.8351904
- ],
- [
- -0.8065683,
- 60.8934578
- ]
- ],
- [
- [
- -7.7696901,
- 56.8788231
- ],
- [
- -7.7614504,
- 56.7608274
- ],
- [
- -7.6009049,
- 56.7641903
- ],
- [
- -7.5972473,
- 56.819332
- ],
- [
- -7.4479894,
- 56.8203948
- ],
- [
- -7.4489319,
- 56.8794098
- ],
- [
- -7.2841369,
- 56.8794098
- ],
- [
- -7.2813904,
- 57.0471152
- ],
- [
- -7.1303283,
- 57.0515969
- ],
- [
- -7.1330749,
- 57.511801
- ],
- [
- -6.96828,
- 57.5147514
- ],
- [
- -6.9765198,
- 57.6854668
- ],
- [
- -6.8062317,
- 57.6913392
- ],
- [
- -6.8089782,
- 57.8041985
- ],
- [
- -6.6496765,
- 57.8071252
- ],
- [
- -6.6441833,
- 57.8612267
- ],
- [
- -6.3200866,
- 57.8626878
- ],
- [
- -6.3200866,
- 58.1551617
- ],
- [
- -6.1607849,
- 58.1522633
- ],
- [
- -6.1552917,
- 58.20874
- ],
- [
- -5.9850036,
- 58.2101869
- ],
- [
- -5.9904968,
- 58.2680163
- ],
- [
- -6.1497986,
- 58.2665717
- ],
- [
- -6.1415588,
- 58.5557514
- ],
- [
- -6.3173401,
- 58.5557514
- ],
- [
- -6.3091003,
- 58.4983923
- ],
- [
- -6.4876282,
- 58.4955218
- ],
- [
- -6.4876282,
- 58.4423768
- ],
- [
- -6.6606628,
- 58.4395018
- ],
- [
- -6.6469299,
- 58.3819525
- ],
- [
- -6.8117248,
- 58.3805125
- ],
- [
- -6.8117248,
- 58.3286357
- ],
- [
- -6.9792663,
- 58.3286357
- ],
- [
- -6.9710266,
- 58.2694608
- ],
- [
- -7.1413147,
- 58.2680163
- ],
- [
- -7.1403816,
- 58.0358742
- ],
- [
- -7.3020636,
- 58.0351031
- ],
- [
- -7.3030347,
- 57.9774797
- ],
- [
- -7.1379539,
- 57.9777372
- ],
- [
- -7.1413526,
- 57.9202792
- ],
- [
- -7.1398961,
- 57.8640206
- ],
- [
- -7.3020636,
- 57.862471
- ],
- [
- -7.298484,
- 57.7442293
- ],
- [
- -7.4509193,
- 57.7456951
- ],
- [
- -7.4550392,
- 57.6899522
- ],
- [
- -7.6186131,
- 57.6906048
- ],
- [
- -7.6198341,
- 57.7456951
- ],
- [
- -7.7901222,
- 57.7442293
- ],
- [
- -7.7873756,
- 57.6855477
- ],
- [
- -7.6222332,
- 57.6853817
- ],
- [
- -7.6173779,
- 57.5712602
- ],
- [
- -7.788285,
- 57.5709998
- ],
- [
- -7.7892561,
- 57.512109
- ],
- [
- -7.7038025,
- 57.5115874
- ],
- [
- -7.6999183,
- 57.4546902
- ],
- [
- -7.5367796,
- 57.4552126
- ],
- [
- -7.5348375,
- 57.5126306
- ],
- [
- -7.4581235,
- 57.5131521
- ],
- [
- -7.4552103,
- 57.2824165
- ],
- [
- -7.6115515,
- 57.2845158
- ],
- [
- -7.6144647,
- 57.2272651
- ],
- [
- -7.451326,
- 57.2256881
- ],
- [
- -7.451326,
- 57.1103873
- ],
- [
- -7.6164068,
- 57.1088053
- ],
- [
- -7.603783,
- 56.8792358
- ]
- ],
- [
- [
- -1.7106618,
- 59.5626284
- ],
- [
- -1.5417509,
- 59.562215
- ],
- [
- -1.5423082,
- 59.5037224
- ],
- [
- -1.7112191,
- 59.5041365
- ]
- ]
- ],
- "terms_url": "http://geo.nls.uk/maps/",
- "terms_text": "National Library of Scotland Historic Maps"
- },
- {
- "name": "OS 1:25k historic (OSM)",
- "type": "tms",
- "template": "http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg",
- "scaleExtent": [
- 6,
- 17
- ],
- "polygon": [
- [
- [
- -9,
- 49.8
- ],
- [
- -9,
- 61.1
- ],
- [
- 1.9,
- 61.1
- ],
- [
- 1.9,
- 49.8
- ],
- [
- -9,
- 49.8
- ]
- ]
- ]
- },
- {
- "name": "OS New Popular Edition historic",
- "type": "tms",
- "template": "http://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- -5.8,
- 49.8
- ],
- [
- -5.8,
- 55.8
- ],
- [
- 1.9,
- 55.8
- ],
- [
- 1.9,
- 49.8
- ],
- [
- -5.8,
- 49.8
- ]
- ]
- ]
- },
- {
- "name": "OS OpenData Locator",
- "type": "tms",
- "template": "http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- -9,
- 49.8
- ],
- [
- -9,
- 61.1
- ],
- [
- 1.9,
- 61.1
- ],
- [
- 1.9,
- 49.8
- ],
- [
- -9,
- 49.8
- ]
- ]
- ],
- "overlay": true
- },
- {
- "name": "OS OpenData StreetView",
- "type": "tms",
- "template": "http://os.openstreetmap.org/sv/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 1,
- 18
- ],
- "polygon": [
- [
- [
- -5.8292886,
- 50.0229734
- ],
- [
- -5.8292886,
- 50.254819
- ],
- [
- -5.373356,
- 50.254819
- ],
- [
- -5.373356,
- 50.3530588
- ],
- [
- -5.1756021,
- 50.3530588
- ],
- [
- -5.1756021,
- 50.5925406
- ],
- [
- -4.9970743,
- 50.5925406
- ],
- [
- -4.9970743,
- 50.6935617
- ],
- [
- -4.7965738,
- 50.6935617
- ],
- [
- -4.7965738,
- 50.7822112
- ],
- [
- -4.6949503,
- 50.7822112
- ],
- [
- -4.6949503,
- 50.9607371
- ],
- [
- -4.6043131,
- 50.9607371
- ],
- [
- -4.6043131,
- 51.0692066
- ],
- [
- -4.3792215,
- 51.0692066
- ],
- [
- -4.3792215,
- 51.2521782
- ],
- [
- -3.9039346,
- 51.2521782
- ],
- [
- -3.9039346,
- 51.2916998
- ],
- [
- -3.7171671,
- 51.2916998
- ],
- [
- -3.7171671,
- 51.2453014
- ],
- [
- -3.1486246,
- 51.2453014
- ],
- [
- -3.1486246,
- 51.362067
- ],
- [
- -3.7446329,
- 51.362067
- ],
- [
- -3.7446329,
- 51.4340386
- ],
- [
- -3.8297769,
- 51.4340386
- ],
- [
- -3.8297769,
- 51.5298246
- ],
- [
- -4.0852091,
- 51.5298246
- ],
- [
- -4.0852091,
- 51.4939284
- ],
- [
- -4.3792215,
- 51.4939284
- ],
- [
- -4.3792215,
- 51.5427168
- ],
- [
- -5.1444195,
- 51.5427168
- ],
- [
- -5.1444195,
- 51.6296003
- ],
- [
- -5.7387103,
- 51.6296003
- ],
- [
- -5.7387103,
- 51.774037
- ],
- [
- -5.5095393,
- 51.774037
- ],
- [
- -5.5095393,
- 51.9802596
- ],
- [
- -5.198799,
- 51.9802596
- ],
- [
- -5.198799,
- 52.0973358
- ],
- [
- -4.8880588,
- 52.0973358
- ],
- [
- -4.8880588,
- 52.1831557
- ],
- [
- -4.4957492,
- 52.1831557
- ],
- [
- -4.4957492,
- 52.2925739
- ],
- [
- -4.3015365,
- 52.2925739
- ],
- [
- -4.3015365,
- 52.3685318
- ],
- [
- -4.1811246,
- 52.3685318
- ],
- [
- -4.1811246,
- 52.7933685
- ],
- [
- -4.4413696,
- 52.7933685
- ],
- [
- -4.4413696,
- 52.7369614
- ],
- [
- -4.8569847,
- 52.7369614
- ],
- [
- -4.8569847,
- 52.9317255
- ],
- [
- -4.7288044,
- 52.9317255
- ],
- [
- -4.7288044,
- 53.5038599
- ],
- [
- -4.1578191,
- 53.5038599
- ],
- [
- -4.1578191,
- 53.4113498
- ],
- [
- -3.3110518,
- 53.4113498
- ],
- [
- -3.3110518,
- 53.5038599
- ],
- [
- -3.2333667,
- 53.5038599
- ],
- [
- -3.2333667,
- 54.0159169
- ],
- [
- -3.3926211,
- 54.0159169
- ],
- [
- -3.3926211,
- 54.1980953
- ],
- [
- -3.559644,
- 54.1980953
- ],
- [
- -3.559644,
- 54.433732
- ],
- [
- -3.7188984,
- 54.433732
- ],
- [
- -3.7188984,
- 54.721897
- ],
- [
- -4.3015365,
- 54.721897
- ],
- [
- -4.3015365,
- 54.6140739
- ],
- [
- -5.0473132,
- 54.6140739
- ],
- [
- -5.0473132,
- 54.7532915
- ],
- [
- -5.2298731,
- 54.7532915
- ],
- [
- -5.2298731,
- 55.2190799
- ],
- [
- -5.6532567,
- 55.2190799
- ],
- [
- -5.6532567,
- 55.250088
- ],
- [
- -5.8979647,
- 55.250088
- ],
- [
- -5.8979647,
- 55.4822462
- ],
- [
- -6.5933212,
- 55.4822462
- ],
- [
- -6.5933212,
- 56.3013441
- ],
- [
- -7.1727691,
- 56.3013441
- ],
- [
- -7.1727691,
- 56.5601822
- ],
- [
- -6.8171722,
- 56.5601822
- ],
- [
- -6.8171722,
- 56.6991713
- ],
- [
- -6.5315276,
- 56.6991713
- ],
- [
- -6.5315276,
- 56.9066964
- ],
- [
- -6.811679,
- 56.9066964
- ],
- [
- -6.811679,
- 57.3716613
- ],
- [
- -6.8721038,
- 57.3716613
- ],
- [
- -6.8721038,
- 57.5518893
- ],
- [
- -7.0973235,
- 57.5518893
- ],
- [
- -7.0973235,
- 57.2411085
- ],
- [
- -7.1742278,
- 57.2411085
- ],
- [
- -7.1742278,
- 56.9066964
- ],
- [
- -7.3719817,
- 56.9066964
- ],
- [
- -7.3719817,
- 56.8075885
- ],
- [
- -7.5202972,
- 56.8075885
- ],
- [
- -7.5202972,
- 56.7142479
- ],
- [
- -7.8306806,
- 56.7142479
- ],
- [
- -7.8306806,
- 56.8994605
- ],
- [
- -7.6494061,
- 56.8994605
- ],
- [
- -7.6494061,
- 57.4739617
- ],
- [
- -7.8306806,
- 57.4739617
- ],
- [
- -7.8306806,
- 57.7915584
- ],
- [
- -7.4736249,
- 57.7915584
- ],
- [
- -7.4736249,
- 58.086063
- ],
- [
- -7.1879804,
- 58.086063
- ],
- [
- -7.1879804,
- 58.367197
- ],
- [
- -6.8034589,
- 58.367197
- ],
- [
- -6.8034589,
- 58.4155786
- ],
- [
- -6.638664,
- 58.4155786
- ],
- [
- -6.638664,
- 58.4673277
- ],
- [
- -6.5178143,
- 58.4673277
- ],
- [
- -6.5178143,
- 58.5625632
- ],
- [
- -6.0536224,
- 58.5625632
- ],
- [
- -6.0536224,
- 58.1568843
- ],
- [
- -6.1470062,
- 58.1568843
- ],
- [
- -6.1470062,
- 58.1105865
- ],
- [
- -6.2799798,
- 58.1105865
- ],
- [
- -6.2799798,
- 57.7122664
- ],
- [
- -6.1591302,
- 57.7122664
- ],
- [
- -6.1591302,
- 57.6667563
- ],
- [
- -5.9339104,
- 57.6667563
- ],
- [
- -5.9339104,
- 57.8892524
- ],
- [
- -5.80643,
- 57.8892524
- ],
- [
- -5.80643,
- 57.9621767
- ],
- [
- -5.6141692,
- 57.9621767
- ],
- [
- -5.6141692,
- 58.0911236
- ],
- [
- -5.490819,
- 58.0911236
- ],
- [
- -5.490819,
- 58.3733281
- ],
- [
- -5.3199118,
- 58.3733281
- ],
- [
- -5.3199118,
- 58.75015
- ],
- [
- -3.5719977,
- 58.75015
- ],
- [
- -3.5719977,
- 59.2091788
- ],
- [
- -3.1944501,
- 59.2091788
- ],
- [
- -3.1944501,
- 59.4759216
- ],
- [
- -2.243583,
- 59.4759216
- ],
- [
- -2.243583,
- 59.1388749
- ],
- [
- -2.4611012,
- 59.1388749
- ],
- [
- -2.4611012,
- 58.8185938
- ],
- [
- -2.7407675,
- 58.8185938
- ],
- [
- -2.7407675,
- 58.5804743
- ],
- [
- -2.9116746,
- 58.5804743
- ],
- [
- -2.9116746,
- 58.1157523
- ],
- [
- -3.4865441,
- 58.1157523
- ],
- [
- -3.4865441,
- 57.740386
- ],
- [
- -1.7153245,
- 57.740386
- ],
- [
- -1.7153245,
- 57.2225558
- ],
- [
- -1.9794538,
- 57.2225558
- ],
- [
- -1.9794538,
- 56.8760742
- ],
- [
- -2.1658979,
- 56.8760742
- ],
- [
- -2.1658979,
- 56.6333186
- ],
- [
- -2.3601106,
- 56.6333186
- ],
- [
- -2.3601106,
- 56.0477521
- ],
- [
- -1.9794538,
- 56.0477521
- ],
- [
- -1.9794538,
- 55.8650949
- ],
- [
- -1.4745008,
- 55.8650949
- ],
- [
- -1.4745008,
- 55.2499926
- ],
- [
- -1.3221997,
- 55.2499926
- ],
- [
- -1.3221997,
- 54.8221737
- ],
- [
- -1.0550014,
- 54.8221737
- ],
- [
- -1.0550014,
- 54.6746628
- ],
- [
- -0.6618765,
- 54.6746628
- ],
- [
- -0.6618765,
- 54.5527463
- ],
- [
- -0.3247617,
- 54.5527463
- ],
- [
- -0.3247617,
- 54.2865195
- ],
- [
- 0.0092841,
- 54.2865195
- ],
- [
- 0.0092841,
- 53.7938518
- ],
- [
- 0.2081962,
- 53.7938518
- ],
- [
- 0.2081962,
- 53.5217726
- ],
- [
- 0.4163548,
- 53.5217726
- ],
- [
- 0.4163548,
- 53.0298851
- ],
- [
- 1.4273388,
- 53.0298851
- ],
- [
- 1.4273388,
- 52.92021
- ],
- [
- 1.8333912,
- 52.92021
- ],
- [
- 1.8333912,
- 52.042488
- ],
- [
- 1.5235504,
- 52.042488
- ],
- [
- 1.5235504,
- 51.8261335
- ],
- [
- 1.2697049,
- 51.8261335
- ],
- [
- 1.2697049,
- 51.6967453
- ],
- [
- 1.116651,
- 51.6967453
- ],
- [
- 1.116651,
- 51.440346
- ],
- [
- 1.5235504,
- 51.440346
- ],
- [
- 1.5235504,
- 51.3331831
- ],
- [
- 1.4507565,
- 51.3331831
- ],
- [
- 1.4507565,
- 51.0207553
- ],
- [
- 1.0699883,
- 51.0207553
- ],
- [
- 1.0699883,
- 50.9008416
- ],
- [
- 0.7788126,
- 50.9008416
- ],
- [
- 0.7788126,
- 50.729843
- ],
- [
- -0.7255952,
- 50.729843
- ],
- [
- -0.7255952,
- 50.7038437
- ],
- [
- -1.0074383,
- 50.7038437
- ],
- [
- -1.0074383,
- 50.5736307
- ],
- [
- -2.3625252,
- 50.5736307
- ],
- [
- -2.3625252,
- 50.4846421
- ],
- [
- -2.4987805,
- 50.4846421
- ],
- [
- -2.4987805,
- 50.5736307
- ],
- [
- -3.4096378,
- 50.5736307
- ],
- [
- -3.4096378,
- 50.2057837
- ],
- [
- -3.6922446,
- 50.2057837
- ],
- [
- -3.6922446,
- 50.1347737
- ],
- [
- -5.005468,
- 50.1347737
- ],
- [
- -5.005468,
- 49.9474456
- ],
- [
- -5.2839506,
- 49.9474456
- ],
- [
- -5.2839506,
- 50.0229734
- ]
- ],
- [
- [
- -6.4580707,
- 49.8673563
- ],
- [
- -6.4580707,
- 49.9499935
- ],
- [
- -6.3978807,
- 49.9499935
- ],
- [
- -6.3978807,
- 50.0053797
- ],
- [
- -6.1799606,
- 50.0053797
- ],
- [
- -6.1799606,
- 49.9168614
- ],
- [
- -6.2540201,
- 49.9168614
- ],
- [
- -6.2540201,
- 49.8673563
- ]
- ],
- [
- [
- -5.8343165,
- 49.932156
- ],
- [
- -5.8343165,
- 49.9754641
- ],
- [
- -5.7683254,
- 49.9754641
- ],
- [
- -5.7683254,
- 49.932156
- ]
- ],
- [
- [
- -1.9483797,
- 60.6885737
- ],
- [
- -1.9483797,
- 60.3058841
- ],
- [
- -1.7543149,
- 60.3058841
- ],
- [
- -1.7543149,
- 60.1284428
- ],
- [
- -1.5754914,
- 60.1284428
- ],
- [
- -1.5754914,
- 59.797917
- ],
- [
- -1.0316959,
- 59.797917
- ],
- [
- -1.0316959,
- 60.0354518
- ],
- [
- -0.6626918,
- 60.0354518
- ],
- [
- -0.6626918,
- 60.9103862
- ],
- [
- -1.1034395,
- 60.9103862
- ],
- [
- -1.1034395,
- 60.8040022
- ],
- [
- -1.3506319,
- 60.8040022
- ],
- [
- -1.3506319,
- 60.6885737
- ]
- ],
- [
- [
- -2.203381,
- 60.1968568
- ],
- [
- -2.203381,
- 60.0929443
- ],
- [
- -1.9864011,
- 60.0929443
- ],
- [
- -1.9864011,
- 60.1968568
- ]
- ],
- [
- [
- -1.7543149,
- 59.5698289
- ],
- [
- -1.7543149,
- 59.4639383
- ],
- [
- -1.5373349,
- 59.4639383
- ],
- [
- -1.5373349,
- 59.5698289
- ]
- ],
- [
- [
- -4.5585981,
- 59.1370518
- ],
- [
- -4.5585981,
- 58.9569099
- ],
- [
- -4.2867004,
- 58.9569099
- ],
- [
- -4.2867004,
- 59.1370518
- ]
- ],
- [
- [
- -6.2787732,
- 59.2025744
- ],
- [
- -6.2787732,
- 59.0227769
- ],
- [
- -5.6650612,
- 59.0227769
- ],
- [
- -5.6650612,
- 59.2025744
- ]
- ],
- [
- [
- -8.7163482,
- 57.9440556
- ],
- [
- -8.7163482,
- 57.7305936
- ],
- [
- -8.3592926,
- 57.7305936
- ],
- [
- -8.3592926,
- 57.9440556
- ]
- ],
- [
- [
- -7.6077005,
- 50.4021026
- ],
- [
- -7.6077005,
- 50.2688657
- ],
- [
- -7.3907205,
- 50.2688657
- ],
- [
- -7.3907205,
- 50.4021026
- ]
- ],
- [
- [
- -7.7304303,
- 58.3579902
- ],
- [
- -7.7304303,
- 58.248313
- ],
- [
- -7.5134503,
- 58.248313
- ],
- [
- -7.5134503,
- 58.3579902
- ]
- ]
- ]
- },
- {
- "name": "OS Scottish Popular historic",
- "type": "tms",
- "template": "http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg",
- "scaleExtent": [
- 6,
- 15
- ],
- "polygon": [
- [
- [
- -7.8,
- 54.5
- ],
- [
- -7.8,
- 61.1
- ],
- [
- -1.1,
- 61.1
- ],
- [
- -1.1,
- 54.5
- ],
- [
- -7.8,
- 54.5
- ]
- ]
- ]
- },
- {
- "name": "OpenPT Map (overlay)",
- "type": "tms",
- "template": "http://openptmap.de/tiles/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 5,
- 16
- ],
- "polygon": [
- [
- [
- 6.4901072,
- 53.665658
- ],
- [
- 8.5665347,
- 53.9848257
- ],
- [
- 8.1339457,
- 54.709715
- ],
- [
- 8.317796,
- 55.0952362
- ],
- [
- 10.1887438,
- 54.7783834
- ],
- [
- 10.6321475,
- 54.4778841
- ],
- [
- 11.2702164,
- 54.6221504
- ],
- [
- 11.681176,
- 54.3709243
- ],
- [
- 12.0272473,
- 54.3898199
- ],
- [
- 13.3250145,
- 54.8531617
- ],
- [
- 13.9198245,
- 54.6972173
- ],
- [
- 14.2118221,
- 54.1308273
- ],
- [
- 14.493005,
- 53.2665063
- ],
- [
- 14.1577485,
- 52.8766495
- ],
- [
- 14.7525584,
- 52.5819369
- ],
- [
- 15.0986297,
- 51.0171541
- ],
- [
- 14.9364088,
- 50.8399279
- ],
- [
- 14.730929,
- 50.7920977
- ],
- [
- 14.4389313,
- 50.8808862
- ],
- [
- 12.9573138,
- 50.3939044
- ],
- [
- 12.51391,
- 50.3939044
- ],
- [
- 12.3084302,
- 50.1173237
- ],
- [
- 12.6112425,
- 49.9088337
- ],
- [
- 12.394948,
- 49.7344006
- ],
- [
- 12.7734634,
- 49.4047626
- ],
- [
- 14.1469337,
- 48.6031036
- ],
- [
- 14.6768553,
- 48.6531391
- ],
- [
- 15.0661855,
- 49.0445497
- ],
- [
- 16.2666202,
- 48.7459305
- ],
- [
- 16.4937294,
- 48.8741286
- ],
- [
- 16.904689,
- 48.7173975
- ],
- [
- 16.9371332,
- 48.5315383
- ],
- [
- 16.8384693,
- 48.3823161
- ],
- [
- 17.2017097,
- 48.010204
- ],
- [
- 17.1214145,
- 47.6997605
- ],
- [
- 16.777292,
- 47.6585709
- ],
- [
- 16.6090543,
- 47.7460598
- ],
- [
- 16.410228,
- 47.6637214
- ],
- [
- 16.7352326,
- 47.6147714
- ],
- [
- 16.5555242,
- 47.3589738
- ],
- [
- 16.4790525,
- 46.9768539
- ],
- [
- 16.0355168,
- 46.8096295
- ],
- [
- 16.0508112,
- 46.6366332
- ],
- [
- 14.9572663,
- 46.6313822
- ],
- [
- 14.574908,
- 46.3892866
- ],
- [
- 12.3954655,
- 46.6891149
- ],
- [
- 12.1507562,
- 47.0550608
- ],
- [
- 11.1183887,
- 46.9142058
- ],
- [
- 11.0342699,
- 46.7729797
- ],
- [
- 10.4836739,
- 46.8462544
- ],
- [
- 10.4607324,
- 46.5472973
- ],
- [
- 10.1013156,
- 46.5735879
- ],
- [
- 10.2007287,
- 46.1831867
- ],
- [
- 9.8948421,
- 46.3629068
- ],
- [
- 9.5966026,
- 46.2889758
- ],
- [
- 9.2983631,
- 46.505206
- ],
- [
- 9.2830687,
- 46.2572605
- ],
- [
- 9.0536537,
- 45.7953255
- ],
- [
- 8.4265861,
- 46.2466846
- ],
- [
- 8.4418804,
- 46.4736161
- ],
- [
- 7.8759901,
- 45.9284607
- ],
- [
- 7.0959791,
- 45.8645956
- ],
- [
- 6.7747981,
- 46.1620044
- ],
- [
- 6.8206811,
- 46.4051083
- ],
- [
- 6.5453831,
- 46.4578142
- ],
- [
- 6.3312624,
- 46.3840116
- ],
- [
- 6.3847926,
- 46.2466846
- ],
- [
- 5.8953739,
- 46.0878021
- ],
- [
- 6.1171418,
- 46.3681838
- ],
- [
- 6.0942003,
- 46.5998657
- ],
- [
- 6.4383228,
- 46.7782169
- ],
- [
- 6.4306756,
- 46.9298747
- ],
- [
- 7.0806847,
- 47.3460216
- ],
- [
- 6.8436226,
- 47.3719227
- ],
- [
- 6.9965659,
- 47.5012373
- ],
- [
- 7.1800979,
- 47.5064033
- ],
- [
- 7.2336281,
- 47.439206
- ],
- [
- 7.4553959,
- 47.4805683
- ],
- [
- 7.7842241,
- 48.645735
- ],
- [
- 8.1971711,
- 49.0282701
- ],
- [
- 7.6006921,
- 49.0382974
- ],
- [
- 7.4477487,
- 49.1634679
- ],
- [
- 7.2030394,
- 49.1034255
- ],
- [
- 6.6677378,
- 49.1634679
- ],
- [
- 6.6371491,
- 49.3331933
- ],
- [
- 6.3542039,
- 49.4576194
- ],
- [
- 6.5453831,
- 49.8043366
- ],
- [
- 6.2471436,
- 49.873384
- ],
- [
- 6.0789059,
- 50.1534883
- ],
- [
- 6.3618511,
- 50.3685934
- ],
- [
- 6.0865531,
- 50.7039632
- ],
- [
- 5.8800796,
- 51.0513752
- ],
- [
- 6.1247889,
- 51.1618085
- ],
- [
- 6.1936134,
- 51.491527
- ],
- [
- 5.9641984,
- 51.7526501
- ],
- [
- 6.0253758,
- 51.8897286
- ],
- [
- 6.4536171,
- 51.8661241
- ],
- [
- 6.8436226,
- 51.9557552
- ],
- [
- 6.6906793,
- 52.0499105
- ],
- [
- 7.0042131,
- 52.2282603
- ],
- [
- 7.0195074,
- 52.4525245
- ],
- [
- 6.6983264,
- 52.4665032
- ],
- [
- 6.6906793,
- 52.6524628
- ],
- [
- 7.0348017,
- 52.6385432
- ],
- [
- 7.0730376,
- 52.8330151
- ],
- [
- 7.2183337,
- 52.9852064
- ],
- [
- 7.1953922,
- 53.3428087
- ],
- [
- 7.0042131,
- 53.3291098
- ]
- ]
- ],
- "terms_url": "http://openstreetmap.org/",
- "terms_text": "© OpenStreetMap contributors, CC-BY-SA"
- },
- {
- "name": "OpenStreetMap (Mapnik)",
- "type": "tms",
- "description": "The default OpenStreetMap layer.",
- "template": "http://tile.openstreetmap.org/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 18
- ],
- "terms_url": "http://openstreetmap.org/",
- "terms_text": "© OpenStreetMap contributors, CC-BY-SA",
- "default": true
- },
- {
- "name": "OpenStreetMap GPS traces",
- "type": "tms",
- "description": "Public GPS traces uploaded to OpenStreetMap.",
- "template": "http://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 20
- ],
- "terms_url": "http://www.openstreetmap.org/copyright",
- "terms_text": "© OpenStreetMap contributors",
- "terms_html": "© <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap contributors</a>. North: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7fed11;'></span> South: <span style='display: inline-block; width: 10px; height: 10px; background-color: #7f11ed;'></span> East: <span style='display: inline-block; width: 10px; height: 10px; background-color: #ff3f3f;'></span> West: <span style='display: inline-block; width: 10px; height: 10px; background-color: #00bfbf;'></span>",
- "overlay": true
- },
- {
- "name": "Pangasinán/Bulacan (Phillipines HiRes)",
- "type": "tms",
- "template": "http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 12,
- 19
- ],
- "polygon": [
- [
- [
- 120.336593,
- 15.985768
- ],
- [
- 120.445995,
- 15.984
- ],
- [
- 120.446134,
- 15.974459
- ],
- [
- 120.476464,
- 15.974592
- ],
- [
- 120.594247,
- 15.946832
- ],
- [
- 120.598064,
- 16.090795
- ],
- [
- 120.596537,
- 16.197999
- ],
- [
- 120.368537,
- 16.218527
- ],
- [
- 120.347576,
- 16.042308
- ],
- [
- 120.336593,
- 15.985768
- ]
- ],
- [
- [
- 120.8268,
- 15.3658
- ],
- [
- 121.2684,
- 15.2602
- ],
- [
- 121.2699,
- 14.7025
- ],
- [
- 120.695,
- 14.8423
- ]
- ]
- ]
- },
- {
- "name": "Slovakia EEA CORINE 2006",
- "type": "tms",
- "template": "http://www.freemap.sk/tms/clc/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_url": "http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1",
- "terms_text": "EEA Corine 2006"
- },
- {
- "name": "Slovakia EEA GMES Urban Atlas",
- "type": "tms",
- "template": "http://www.freemap.sk/tms/urbanatlas/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- 19.83682,
- 49.25529
- ],
- [
- 19.80075,
- 49.42385
- ],
- [
- 19.60437,
- 49.48058
- ],
- [
- 19.49179,
- 49.63961
- ],
- [
- 19.21831,
- 49.52604
- ],
- [
- 19.16778,
- 49.42521
- ],
- [
- 19.00308,
- 49.42236
- ],
- [
- 18.97611,
- 49.5308
- ],
- [
- 18.54685,
- 49.51425
- ],
- [
- 18.31432,
- 49.33818
- ],
- [
- 18.15913,
- 49.2961
- ],
- [
- 18.05564,
- 49.11134
- ],
- [
- 17.56396,
- 48.84938
- ],
- [
- 17.17929,
- 48.88816
- ],
- [
- 17.058,
- 48.81105
- ],
- [
- 16.90426,
- 48.61947
- ],
- [
- 16.79685,
- 48.38561
- ],
- [
- 17.06762,
- 48.01116
- ],
- [
- 17.32787,
- 47.97749
- ],
- [
- 17.51699,
- 47.82535
- ],
- [
- 17.74776,
- 47.73093
- ],
- [
- 18.29515,
- 47.72075
- ],
- [
- 18.67959,
- 47.75541
- ],
- [
- 18.89755,
- 47.81203
- ],
- [
- 18.79463,
- 47.88245
- ],
- [
- 18.84318,
- 48.04046
- ],
- [
- 19.46212,
- 48.05333
- ],
- [
- 19.62064,
- 48.22938
- ],
- [
- 19.89585,
- 48.09387
- ],
- [
- 20.33766,
- 48.2643
- ],
- [
- 20.55395,
- 48.52358
- ],
- [
- 20.82335,
- 48.55714
- ],
- [
- 21.10271,
- 48.47096
- ],
- [
- 21.45863,
- 48.55513
- ],
- [
- 21.74536,
- 48.31435
- ],
- [
- 22.15293,
- 48.37179
- ],
- [
- 22.61255,
- 49.08914
- ],
- [
- 22.09997,
- 49.23814
- ],
- [
- 21.9686,
- 49.36363
- ],
- [
- 21.6244,
- 49.46989
- ],
- [
- 21.06873,
- 49.46402
- ],
- [
- 20.94336,
- 49.31088
- ],
- [
- 20.73052,
- 49.44006
- ],
- [
- 20.22804,
- 49.41714
- ],
- [
- 20.05234,
- 49.23052
- ],
- [
- 19.83682,
- 49.25529
- ]
- ]
- ],
- "terms_url": "http://www.eea.europa.eu/data-and-maps/data/urban-atlas",
- "terms_text": "EEA GMES Urban Atlas"
- },
- {
- "name": "Slovakia Historic Maps",
- "type": "tms",
- "template": "http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 12
- ],
- "polygon": [
- [
- [
- 16.8196949,
- 47.4927236
- ],
- [
- 16.8196949,
- 49.5030322
- ],
- [
- 22.8388318,
- 49.5030322
- ],
- [
- 22.8388318,
- 47.4927236
- ],
- [
- 16.8196949,
- 47.4927236
- ]
- ]
- ]
- },
- {
- "name": "South Africa CD:NGI Aerial",
- "type": "tms",
- "template": "http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg",
- "scaleExtent": [
- 1,
- 22
- ],
- "polygon": [
- [
- [
- 17.8396817,
- -32.7983384
- ],
- [
- 17.8893509,
- -32.6972835
- ],
- [
- 18.00364,
- -32.6982187
- ],
- [
- 18.0991679,
- -32.7485251
- ],
- [
- 18.2898747,
- -32.5526645
- ],
- [
- 18.2930182,
- -32.0487089
- ],
- [
- 18.105455,
- -31.6454966
- ],
- [
- 17.8529257,
- -31.3443951
- ],
- [
- 17.5480046,
- -30.902171
- ],
- [
- 17.4044506,
- -30.6374731
- ],
- [
- 17.2493704,
- -30.3991663
- ],
- [
- 16.9936977,
- -29.6543552
- ],
- [
- 16.7987996,
- -29.19437
- ],
- [
- 16.5494139,
- -28.8415949
- ],
- [
- 16.4498691,
- -28.691876
- ],
- [
- 16.4491046,
- -28.5515766
- ],
- [
- 16.6002551,
- -28.4825663
- ],
- [
- 16.7514057,
- -28.4486958
- ],
- [
- 16.7462192,
- -28.2458973
- ],
- [
- 16.8855148,
- -28.04729
- ],
- [
- 16.9929502,
- -28.0244005
- ],
- [
- 17.0529659,
- -28.0257086
- ],
- [
- 17.1007562,
- -28.0338839
- ],
- [
- 17.2011527,
- -28.0930546
- ],
- [
- 17.2026346,
- -28.2328424
- ],
- [
- 17.2474611,
- -28.2338215
- ],
- [
- 17.2507953,
- -28.198892
- ],
- [
- 17.3511919,
- -28.1975861
- ],
- [
- 17.3515624,
- -28.2442655
- ],
- [
- 17.4015754,
- -28.2452446
- ],
- [
- 17.4149122,
- -28.3489751
- ],
- [
- 17.4008345,
- -28.547997
- ],
- [
- 17.4526999,
- -28.5489733
- ],
- [
- 17.4512071,
- -28.6495106
- ],
- [
- 17.4983599,
- -28.6872054
- ],
- [
- 17.6028204,
- -28.6830048
- ],
- [
- 17.6499732,
- -28.6967928
- ],
- [
- 17.6525928,
- -28.7381457
- ],
- [
- 17.801386,
- -28.7381457
- ],
- [
- 17.9994276,
- -28.7560602
- ],
- [
- 18.0002748,
- -28.7956172
- ],
- [
- 18.1574507,
- -28.8718055
- ],
- [
- 18.5063811,
- -28.8718055
- ],
- [
- 18.6153564,
- -28.8295875
- ],
- [
- 18.9087513,
- -28.8277516
- ],
- [
- 19.1046973,
- -28.9488548
- ],
- [
- 19.1969071,
- -28.9378513
- ],
- [
- 19.243012,
- -28.8516164
- ],
- [
- 19.2314858,
- -28.802963
- ],
- [
- 19.2587296,
- -28.7009928
- ],
- [
- 19.4431493,
- -28.6973163
- ],
- [
- 19.5500289,
- -28.4958332
- ],
- [
- 19.6967264,
- -28.4939914
- ],
- [
- 19.698822,
- -28.4479358
- ],
- [
- 19.8507587,
- -28.4433291
- ],
- [
- 19.8497109,
- -28.4027818
- ],
- [
- 19.9953605,
- -28.399095
- ],
- [
- 19.9893671,
- -24.7497859
- ],
- [
- 20.2916682,
- -24.9192346
- ],
- [
- 20.4724562,
- -25.1501701
- ],
- [
- 20.6532441,
- -25.4529449
- ],
- [
- 20.733265,
- -25.6801957
- ],
- [
- 20.8281046,
- -25.8963498
- ],
- [
- 20.8429232,
- -26.215851
- ],
- [
- 20.6502804,
- -26.4840868
- ],
- [
- 20.6532441,
- -26.8204869
- ],
- [
- 21.0889134,
- -26.846933
- ],
- [
- 21.6727695,
- -26.8389998
- ],
- [
- 21.7765003,
- -26.6696268
- ],
- [
- 21.9721069,
- -26.6431395
- ],
- [
- 22.2803355,
- -26.3274702
- ],
- [
- 22.5707817,
- -26.1333967
- ],
- [
- 22.7752795,
- -25.6775246
- ],
- [
- 23.0005235,
- -25.2761948
- ],
- [
- 23.4658301,
- -25.2735148
- ],
- [
- 23.883717,
- -25.597366
- ],
- [
- 24.2364017,
- -25.613402
- ],
- [
- 24.603905,
- -25.7896563
- ],
- [
- 25.110704,
- -25.7389432
- ],
- [
- 25.5078447,
- -25.6855376
- ],
- [
- 25.6441766,
- -25.4823781
- ],
- [
- 25.8419267,
- -24.7805437
- ],
- [
- 25.846641,
- -24.7538456
- ],
- [
- 26.3928487,
- -24.6332894
- ],
- [
- 26.4739066,
- -24.5653312
- ],
- [
- 26.5089966,
- -24.4842437
- ],
- [
- 26.5861946,
- -24.4075775
- ],
- [
- 26.7300635,
- -24.3014458
- ],
- [
- 26.8567384,
- -24.2499463
- ],
- [
- 26.8574402,
- -24.1026901
- ],
- [
- 26.9215471,
- -23.8990957
- ],
- [
- 26.931831,
- -23.8461891
- ],
- [
- 26.9714827,
- -23.6994344
- ],
- [
- 27.0006074,
- -23.6367644
- ],
- [
- 27.0578041,
- -23.6052574
- ],
- [
- 27.1360547,
- -23.5203437
- ],
- [
- 27.3339623,
- -23.3973792
- ],
- [
- 27.5144057,
- -23.3593929
- ],
- [
- 27.5958145,
- -23.2085465
- ],
- [
- 27.8098634,
- -23.0994957
- ],
- [
- 27.8828506,
- -23.0620496
- ],
- [
- 27.9382928,
- -22.9496487
- ],
- [
- 28.0407556,
- -22.8255118
- ],
- [
- 28.2056786,
- -22.6552861
- ],
- [
- 28.3397223,
- -22.5639374
- ],
- [
- 28.4906093,
- -22.560697
- ],
- [
- 28.6108769,
- -22.5400248
- ],
- [
- 28.828175,
- -22.4550173
- ],
- [
- 28.9285324,
- -22.4232328
- ],
- [
- 28.9594116,
- -22.3090081
- ],
- [
- 29.0162574,
- -22.208335
- ],
- [
- 29.2324117,
- -22.1693453
- ],
- [
- 29.3531213,
- -22.1842926
- ],
- [
- 29.6548952,
- -22.1186426
- ],
- [
- 29.7777102,
- -22.1361956
- ],
- [
- 29.9292989,
- -22.1849425
- ],
- [
- 30.1166795,
- -22.2830348
- ],
- [
- 30.2563377,
- -22.2914767
- ],
- [
- 30.3033582,
- -22.3395204
- ],
- [
- 30.5061784,
- -22.3057617
- ],
- [
- 30.8374279,
- -22.284983
- ],
- [
- 31.0058599,
- -22.3077095
- ],
- [
- 31.1834152,
- -22.3232913
- ],
- [
- 31.2930586,
- -22.3674647
- ],
- [
- 31.5680579,
- -23.1903385
- ],
- [
- 31.5568311,
- -23.4430809
- ],
- [
- 31.6931122,
- -23.6175209
- ],
- [
- 31.7119696,
- -23.741136
- ],
- [
- 31.7774743,
- -23.8800628
- ],
- [
- 31.8886337,
- -23.9481098
- ],
- [
- 31.9144386,
- -24.1746736
- ],
- [
- 31.9948307,
- -24.3040878
- ],
- [
- 32.0166656,
- -24.4405988
- ],
- [
- 32.0077331,
- -24.6536578
- ],
- [
- 32.019643,
- -24.9140701
- ],
- [
- 32.035523,
- -25.0849767
- ],
- [
- 32.019643,
- -25.3821442
- ],
- [
- 31.9928457,
- -25.4493771
- ],
- [
- 31.9997931,
- -25.5165725
- ],
- [
- 32.0057481,
- -25.6078978
- ],
- [
- 32.0057481,
- -25.6624806
- ],
- [
- 31.9362735,
- -25.8403721
- ],
- [
- 31.9809357,
- -25.9546537
- ],
- [
- 31.8687838,
- -26.0037251
- ],
- [
- 31.4162062,
- -25.7277683
- ],
- [
- 31.3229117,
- -25.7438611
- ],
- [
- 31.2504595,
- -25.8296526
- ],
- [
- 31.1393001,
- -25.9162746
- ],
- [
- 31.1164727,
- -25.9912361
- ],
- [
- 30.9656135,
- -26.2665756
- ],
- [
- 30.8921689,
- -26.3279703
- ],
- [
- 30.8534616,
- -26.4035568
- ],
- [
- 30.8226943,
- -26.4488849
- ],
- [
- 30.8022583,
- -26.5240694
- ],
- [
- 30.8038369,
- -26.8082089
- ],
- [
- 30.9020939,
- -26.7807451
- ],
- [
- 30.9100338,
- -26.8489495
- ],
- [
- 30.9824859,
- -26.9082627
- ],
- [
- 30.976531,
- -27.0029222
- ],
- [
- 31.0034434,
- -27.0441587
- ],
- [
- 31.1543322,
- -27.1980416
- ],
- [
- 31.5015607,
- -27.311117
- ],
- [
- 31.9700183,
- -27.311117
- ],
- [
- 31.9700183,
- -27.120472
- ],
- [
- 31.9769658,
- -27.050664
- ],
- [
- 32.0002464,
- -26.7983892
- ],
- [
- 32.1069826,
- -26.7984645
- ],
- [
- 32.3114546,
- -26.8479493
- ],
- [
- 32.899986,
- -26.8516059
- ],
- [
- 32.886091,
- -26.9816971
- ],
- [
- 32.709427,
- -27.4785436
- ],
- [
- 32.6240724,
- -27.7775144
- ],
- [
- 32.5813951,
- -28.07479
- ],
- [
- 32.5387178,
- -28.2288046
- ],
- [
- 32.4275584,
- -28.5021568
- ],
- [
- 32.3640388,
- -28.5945699
- ],
- [
- 32.0702603,
- -28.8469827
- ],
- [
- 31.9878832,
- -28.9069497
- ],
- [
- 31.7764818,
- -28.969487
- ],
- [
- 31.4638459,
- -29.2859343
- ],
- [
- 31.359634,
- -29.3854348
- ],
- [
- 31.1680825,
- -29.6307408
- ],
- [
- 31.064863,
- -29.7893535
- ],
- [
- 31.0534493,
- -29.8470469
- ],
- [
- 31.0669933,
- -29.8640319
- ],
- [
- 31.0455459,
- -29.9502017
- ],
- [
- 30.9518556,
- -30.0033946
- ],
- [
- 30.8651833,
- -30.1024093
- ],
- [
- 30.7244725,
- -30.392502
- ],
- [
- 30.3556256,
- -30.9308873
- ],
- [
- 30.0972364,
- -31.2458274
- ],
- [
- 29.8673136,
- -31.4304296
- ],
- [
- 29.7409393,
- -31.5014699
- ],
- [
- 29.481312,
- -31.6978686
- ],
- [
- 28.8943171,
- -32.2898903
- ],
- [
- 28.5497137,
- -32.5894641
- ],
- [
- 28.1436499,
- -32.8320732
- ],
- [
- 28.0748735,
- -32.941689
- ],
- [
- 27.8450942,
- -33.082869
- ],
- [
- 27.3757956,
- -33.3860685
- ],
- [
- 26.8805407,
- -33.6458951
- ],
- [
- 26.5916871,
- -33.7480756
- ],
- [
- 26.4527308,
- -33.7935795
- ],
- [
- 26.206754,
- -33.7548943
- ],
- [
- 26.0077897,
- -33.7223961
- ],
- [
- 25.8055494,
- -33.7524272
- ],
- [
- 25.7511073,
- -33.8006512
- ],
- [
- 25.6529079,
- -33.8543597
- ],
- [
- 25.6529079,
- -33.9469768
- ],
- [
- 25.7195789,
- -34.0040115
- ],
- [
- 25.7202807,
- -34.0511235
- ],
- [
- 25.5508915,
- -34.063151
- ],
- [
- 25.3504571,
- -34.0502627
- ],
- [
- 25.2810609,
- -34.0020322
- ],
- [
- 25.0476316,
- -33.9994588
- ],
- [
- 24.954724,
- -34.0043594
- ],
- [
- 24.9496586,
- -34.1010363
- ],
- [
- 24.8770358,
- -34.1506456
- ],
- [
- 24.8762914,
- -34.2005281
- ],
- [
- 24.8532574,
- -34.2189562
- ],
- [
- 24.7645287,
- -34.2017946
- ],
- [
- 24.5001356,
- -34.2003254
- ],
- [
- 24.3486733,
- -34.1163824
- ],
- [
- 24.1988819,
- -34.1019039
- ],
- [
- 23.9963377,
- -34.0514443
- ],
- [
- 23.8017509,
- -34.0524332
- ],
- [
- 23.7493589,
- -34.0111855
- ],
- [
- 23.4973536,
- -34.009014
- ],
- [
- 23.4155191,
- -34.0434586
- ],
- [
- 23.4154284,
- -34.1140433
- ],
- [
- 22.9000853,
- -34.0993009
- ],
- [
- 22.8412418,
- -34.0547911
- ],
- [
- 22.6470321,
- -34.0502627
- ],
- [
- 22.6459843,
- -34.0072768
- ],
- [
- 22.570016,
- -34.0064081
- ],
- [
- 22.5050499,
- -34.0645866
- ],
- [
- 22.2519968,
- -34.0645866
- ],
- [
- 22.2221334,
- -34.1014701
- ],
- [
- 22.1621197,
- -34.1057019
- ],
- [
- 22.1712431,
- -34.1521766
- ],
- [
- 22.1576913,
- -34.2180897
- ],
- [
- 22.0015632,
- -34.2172232
- ],
- [
- 21.9496952,
- -34.3220009
- ],
- [
- 21.8611528,
- -34.4007145
- ],
- [
- 21.5614708,
- -34.4020114
- ],
- [
- 21.5468011,
- -34.3661242
- ],
- [
- 21.501744,
- -34.3669892
- ],
- [
- 21.5006961,
- -34.4020114
- ],
- [
- 21.4194886,
- -34.4465247
- ],
- [
- 21.1978706,
- -34.4478208
- ],
- [
- 21.0988193,
- -34.3991325
- ],
- [
- 21.0033746,
- -34.3753872
- ],
- [
- 20.893192,
- -34.3997115
- ],
- [
- 20.8976647,
- -34.4854003
- ],
- [
- 20.7446802,
- -34.4828092
- ],
- [
- 20.5042011,
- -34.486264
- ],
- [
- 20.2527197,
- -34.701477
- ],
- [
- 20.0803502,
- -34.8361855
- ],
- [
- 19.9923317,
- -34.8379056
- ],
- [
- 19.899074,
- -34.8275845
- ],
- [
- 19.8938348,
- -34.7936018
- ],
- [
- 19.5972963,
- -34.7961833
- ],
- [
- 19.3929677,
- -34.642015
- ],
- [
- 19.2877095,
- -34.6404784
- ],
- [
- 19.2861377,
- -34.5986563
- ],
- [
- 19.3474363,
- -34.5244458
- ],
- [
- 19.3285256,
- -34.4534372
- ],
- [
- 19.098001,
- -34.449981
- ],
- [
- 19.0725583,
- -34.3802371
- ],
- [
- 19.0023531,
- -34.3525593
- ],
- [
- 18.9520568,
- -34.3949373
- ],
- [
- 18.7975006,
- -34.3936403
- ],
- [
- 18.7984174,
- -34.1016376
- ],
- [
- 18.501748,
- -34.1015292
- ],
- [
- 18.4999545,
- -34.3616945
- ],
- [
- 18.4477325,
- -34.3620007
- ],
- [
- 18.4479944,
- -34.3522691
- ],
- [
- 18.3974362,
- -34.3514041
- ],
- [
- 18.3971742,
- -34.3022959
- ],
- [
- 18.3565705,
- -34.3005647
- ],
- [
- 18.3479258,
- -34.2020436
- ],
- [
- 18.2972095,
- -34.1950274
- ],
- [
- 18.2951139,
- -33.9937138
- ],
- [
- 18.3374474,
- -33.9914079
- ],
- [
- 18.3476638,
- -33.8492427
- ],
- [
- 18.3479258,
- -33.781555
- ],
- [
- 18.4124718,
- -33.7448849
- ],
- [
- 18.3615477,
- -33.6501624
- ],
- [
- 18.2992013,
- -33.585591
- ],
- [
- 18.2166839,
- -33.448872
- ],
- [
- 18.1389858,
- -33.3974083
- ],
- [
- 17.9473472,
- -33.1602647
- ],
- [
- 17.8855247,
- -33.0575732
- ],
- [
- 17.8485884,
- -32.9668505
- ],
- [
- 17.8396817,
- -32.8507302
- ]
- ]
- ]
- },
- {
- "name": "Stadt Uster Orthophoto 2008 10cm",
- "type": "tms",
- "template": "http://mapproxy.sosm.ch:8080/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw",
- "polygon": [
- [
- [
- 8.6,
- 47.31
- ],
- [
- 8.6,
- 47.39
- ],
- [
- 8.77,
- 47.39
- ],
- [
- 8.77,
- 47.31
- ],
- [
- 8.6,
- 47.31
- ]
- ]
- ],
- "terms_text": "Stadt Uster Vermessung Orthophoto 2008"
- },
- {
- "name": "Stevns (Denmark)",
- "type": "tms",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/stevns/2009/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 20
- ],
- "polygon": [
- [
- [
- 12.0913942,
- 55.3491574
- ],
- [
- 12.0943104,
- 55.3842256
- ],
- [
- 12.1573875,
- 55.3833103
- ],
- [
- 12.1587287,
- 55.4013326
- ],
- [
- 12.1903468,
- 55.400558
- ],
- [
- 12.1931411,
- 55.4364665
- ],
- [
- 12.2564251,
- 55.4347995
- ],
- [
- 12.2547073,
- 55.4168882
- ],
- [
- 12.3822489,
- 55.4134349
- ],
- [
- 12.3795942,
- 55.3954143
- ],
- [
- 12.4109213,
- 55.3946958
- ],
- [
- 12.409403,
- 55.3766417
- ],
- [
- 12.4407807,
- 55.375779
- ],
- [
- 12.4394142,
- 55.3578314
- ],
- [
- 12.4707413,
- 55.3569971
- ],
- [
- 12.4629475,
- 55.2672214
- ],
- [
- 12.4315633,
- 55.2681491
- ],
- [
- 12.430045,
- 55.2502103
- ],
- [
- 12.3672011,
- 55.2519673
- ],
- [
- 12.3656858,
- 55.2340267
- ],
- [
- 12.2714604,
- 55.2366031
- ],
- [
- 12.2744467,
- 55.272476
- ],
- [
- 12.2115654,
- 55.2741475
- ],
- [
- 12.2130078,
- 55.2920322
- ],
- [
- 12.1815665,
- 55.2928638
- ],
- [
- 12.183141,
- 55.3107091
- ],
- [
- 12.2144897,
- 55.3100981
- ],
- [
- 12.2159927,
- 55.3279764
- ],
- [
- 12.1214458,
- 55.3303379
- ],
- [
- 12.1229489,
- 55.3483291
- ]
- ]
- ],
- "terms_text": "Stevns Kommune"
- },
- {
- "name": "Surrey Air Survey",
- "type": "tms",
- "template": "http://gravitystorm.dev.openstreetmap.org/surrey/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- -0.856,
- 51.071
- ],
- [
- -0.856,
- 51.473
- ],
- [
- 0.062,
- 51.473
- ],
- [
- 0.062,
- 51.071
- ],
- [
- -0.856,
- 51.071
- ]
- ]
- ]
- },
- {
- "name": "TIGER 2012 Roads Overlay",
- "type": "tms",
- "description": "Public domain road data from the US Government.",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.us/tiger2012_roads_expanded/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 16,
- 19
- ],
- "polygon": [
- [
- [
- -124.7617886,
- 48.4130148
- ],
- [
- -124.6059492,
- 45.90245
- ],
- [
- -124.9934269,
- 40.0557614
- ],
- [
- -122.5369737,
- 36.8566086
- ],
- [
- -119.9775867,
- 33.0064099
- ],
- [
- -117.675935,
- 32.4630223
- ],
- [
- -114.8612307,
- 32.4799891
- ],
- [
- -111.0089311,
- 31.336015
- ],
- [
- -108.1992687,
- 31.3260016
- ],
- [
- -108.1871123,
- 31.7755116
- ],
- [
- -106.5307225,
- 31.7820947
- ],
- [
- -106.4842052,
- 31.7464455
- ],
- [
- -106.429317,
- 31.7520583
- ],
- [
- -106.2868855,
- 31.5613291
- ],
- [
- -106.205248,
- 31.446704
- ],
- [
- -105.0205259,
- 30.5360988
- ],
- [
- -104.5881916,
- 29.6997856
- ],
- [
- -103.2518856,
- 28.8908685
- ],
- [
- -102.7173632,
- 29.3920567
- ],
- [
- -102.1513983,
- 29.7475702
- ],
- [
- -101.2552871,
- 29.4810523
- ],
- [
- -100.0062436,
- 28.0082173
- ],
- [
- -99.2351068,
- 26.4475962
- ],
- [
- -98.0109067,
- 25.9928035
- ],
- [
- -97.435024,
- 25.8266009
- ],
- [
- -96.9555259,
- 25.9821589
- ],
- [
- -96.8061741,
- 27.7978168
- ],
- [
- -95.5563349,
- 28.5876066
- ],
- [
- -93.7405308,
- 29.4742093
- ],
- [
- -90.9028456,
- 28.8564513
- ],
- [
- -88.0156706,
- 28.9944338
- ],
- [
- -88.0162494,
- 30.0038862
- ],
- [
- -86.0277506,
- 30.0047454
- ],
- [
- -84.0187909,
- 28.9961781
- ],
- [
- -81.9971976,
- 25.9826768
- ],
- [
- -81.9966618,
- 25.0134917
- ],
- [
- -84.0165592,
- 25.0125783
- ],
- [
- -84.0160068,
- 24.0052745
- ],
- [
- -80.0199985,
- 24.007096
- ],
- [
- -79.8901116,
- 26.8550713
- ],
- [
- -80.0245309,
- 32.0161282
- ],
- [
- -75.4147385,
- 35.0531894
- ],
- [
- -74.0211163,
- 39.5727927
- ],
- [
- -72.002019,
- 40.9912464
- ],
- [
- -69.8797398,
- 40.9920457
- ],
- [
- -69.8489304,
- 43.2619916
- ],
- [
- -66.9452845,
- 44.7104937
- ],
- [
- -67.7596632,
- 47.0990024
- ],
- [
- -69.2505131,
- 47.5122328
- ],
- [
- -70.4614886,
- 46.2176574
- ],
- [
- -71.412273,
- 45.254878
- ],
- [
- -72.0222508,
- 45.0059846
- ],
- [
- -75.0798841,
- 44.9802854
- ],
- [
- -76.9023061,
- 43.8024568
- ],
- [
- -78.7623935,
- 43.6249578
- ],
- [
- -79.15798,
- 43.4462589
- ],
- [
- -79.0060087,
- 42.8005317
- ],
- [
- -82.662475,
- 41.6889458
- ],
- [
- -82.1761642,
- 43.588535
- ],
- [
- -83.2813977,
- 46.138853
- ],
- [
- -87.5064535,
- 48.0142702
- ],
- [
- -88.3492194,
- 48.2963271
- ],
- [
- -89.4353148,
- 47.9837822
- ],
- [
- -93.9981078,
- 49.0067142
- ],
- [
- -95.1105379,
- 49.412004
- ],
- [
- -96.0131199,
- 49.0060547
- ],
- [
- -123.3228926,
- 49.0042878
- ],
- [
- -123.2275233,
- 48.1849927
- ]
- ],
- [
- [
- -160.5787616,
- 22.5062947
- ],
- [
- -160.5782192,
- 21.4984647
- ],
- [
- -158.7470604,
- 21.2439843
- ],
- [
- -157.5083185,
- 20.995803
- ],
- [
- -155.9961942,
- 18.7790194
- ],
- [
- -154.6217803,
- 18.7586966
- ],
- [
- -154.6890176,
- 19.8805722
- ],
- [
- -156.2927622,
- 21.2225888
- ],
- [
- -157.5047384,
- 21.9984962
- ],
- [
- -159.0093692,
- 22.5070181
- ]
- ],
- [
- [
- -167.1571546,
- 68.721974
- ],
- [
- -164.8553982,
- 67.0255078
- ],
- [
- -168.002195,
- 66.0017503
- ],
- [
- -169.0087448,
- 66.001546
- ],
- [
- -169.0075381,
- 64.9987675
- ],
- [
- -172.5143281,
- 63.8767267
- ],
- [
- -173.8197023,
- 59.74014
- ],
- [
- -162.5018149,
- 58.0005815
- ],
- [
- -160.0159024,
- 58.0012389
- ],
- [
- -160.0149725,
- 57.000035
- ],
- [
- -160.5054788,
- 56.9999017
- ],
- [
- -165.8092575,
- 54.824847
- ],
- [
- -178.000097,
- 52.2446469
- ],
- [
- -177.9992996,
- 51.2554252
- ],
- [
- -171.4689067,
- 51.8215329
- ],
- [
- -162.40251,
- 53.956664
- ],
- [
- -159.0075717,
- 55.002502
- ],
- [
- -158.0190709,
- 55.0027849
- ],
- [
- -151.9963213,
- 55.9991902
- ],
- [
- -151.500341,
- 57.9987853
- ],
- [
- -151.5012894,
- 58.9919816
- ],
- [
- -138.5159989,
- 58.9953194
- ],
- [
- -138.5150471,
- 57.9986434
- ],
- [
- -133.9948193,
- 54.0031685
- ],
- [
- -130.0044418,
- 54.0043387
- ],
- [
- -130.0070826,
- 57.0000507
- ],
- [
- -131.975877,
- 56.9995156
- ],
- [
- -135.1229873,
- 59.756601
- ],
- [
- -138.0071813,
- 59.991805
- ],
- [
- -139.1715881,
- 60.4127229
- ],
- [
- -140.9874011,
- 61.0118551
- ],
- [
- -140.9683975,
- 69.9535069
- ],
- [
- -156.176891,
- 71.5633329
- ],
- [
- -160.413634,
- 70.7397728
- ],
- [
- -163.0218273,
- 69.9707435
- ],
- [
- -164.9717003,
- 68.994689
- ]
- ]
- ],
- "overlay": true
- },
- {
- "name": "Toulouse - Orthophotoplan 2007",
- "type": "tms",
- "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2007/{zoom}/{x}/{y}",
- "scaleExtent": [
- 0,
- 22
- ],
- "polygon": [
- [
- [
- 1.1919978,
- 43.6328791
- ],
- [
- 1.2015377,
- 43.6329729
- ],
- [
- 1.2011107,
- 43.6554932
- ],
- [
- 1.2227985,
- 43.6557029
- ],
- [
- 1.2226231,
- 43.6653353
- ],
- [
- 1.2275341,
- 43.6653849
- ],
- [
- 1.2275417,
- 43.6656387
- ],
- [
- 1.2337568,
- 43.6656883
- ],
- [
- 1.2337644,
- 43.6650153
- ],
- [
- 1.2351218,
- 43.6650319
- ],
- [
- 1.2350913,
- 43.6670729
- ],
- [
- 1.2443566,
- 43.6671556
- ],
- [
- 1.2441584,
- 43.6743925
- ],
- [
- 1.2493973,
- 43.6744256
- ],
- [
- 1.2493973,
- 43.6746628
- ],
- [
- 1.2555666,
- 43.6747234
- ],
- [
- 1.2555742,
- 43.6744532
- ],
- [
- 1.2569545,
- 43.6744697
- ],
- [
- 1.2568782,
- 43.678529
- ],
- [
- 1.2874873,
- 43.6788257
- ],
- [
- 1.2870803,
- 43.7013229
- ],
- [
- 1.3088219,
- 43.7014632
- ],
- [
- 1.3086493,
- 43.7127673
- ],
- [
- 1.3303262,
- 43.7129544
- ],
- [
- 1.3300242,
- 43.7305221
- ],
- [
- 1.3367106,
- 43.7305845
- ],
- [
- 1.3367322,
- 43.7312235
- ],
- [
- 1.3734338,
- 43.7310456
- ],
- [
- 1.3735848,
- 43.7245772
- ],
- [
- 1.4604504,
- 43.7252947
- ],
- [
- 1.4607783,
- 43.7028034
- ],
- [
- 1.4824875,
- 43.7029516
- ],
- [
- 1.4829828,
- 43.6692071
- ],
- [
- 1.5046832,
- 43.6693616
- ],
- [
- 1.5048383,
- 43.6581174
- ],
- [
- 1.5265475,
- 43.6582656
- ],
- [
- 1.5266945,
- 43.6470298
- ],
- [
- 1.548368,
- 43.6471633
- ],
- [
- 1.5485357,
- 43.6359385
- ],
- [
- 1.5702172,
- 43.636082
- ],
- [
- 1.5705123,
- 43.6135777
- ],
- [
- 1.5488166,
- 43.6134276
- ],
- [
- 1.549097,
- 43.5909479
- ],
- [
- 1.5707695,
- 43.5910694
- ],
- [
- 1.5709373,
- 43.5798341
- ],
- [
- 1.5793714,
- 43.5798894
- ],
- [
- 1.5794782,
- 43.5737682
- ],
- [
- 1.5809119,
- 43.5737792
- ],
- [
- 1.5810859,
- 43.5573794
- ],
- [
- 1.5712334,
- 43.5573131
- ],
- [
- 1.5716504,
- 43.5235497
- ],
- [
- 1.3984804,
- 43.5222618
- ],
- [
- 1.3986509,
- 43.5110113
- ],
- [
- 1.3120959,
- 43.5102543
- ],
- [
- 1.3118968,
- 43.5215192
- ],
- [
- 1.2902569,
- 43.5213126
- ],
- [
- 1.2898637,
- 43.5438168
- ],
- [
- 1.311517,
- 43.5440133
- ],
- [
- 1.3113271,
- 43.5552596
- ],
- [
- 1.3036924,
- 43.5551924
- ],
- [
- 1.3036117,
- 43.5595099
- ],
- [
- 1.2955449,
- 43.5594317
- ],
- [
- 1.2955449,
- 43.5595489
- ],
- [
- 1.2895595,
- 43.5594473
- ],
- [
- 1.2892899,
- 43.5775366
- ],
- [
- 1.2675698,
- 43.5773647
- ],
- [
- 1.2673973,
- 43.5886141
- ],
- [
- 1.25355,
- 43.5885047
- ],
- [
- 1.2533774,
- 43.5956282
- ],
- [
- 1.2518029,
- 43.5956282
- ],
- [
- 1.2518029,
- 43.5949409
- ],
- [
- 1.2350437,
- 43.5947847
- ],
- [
- 1.2350437,
- 43.5945972
- ],
- [
- 1.2239572,
- 43.5945972
- ],
- [
- 1.2239357,
- 43.5994708
- ],
- [
- 1.2139708,
- 43.599299
- ],
- [
- 1.2138845,
- 43.6046408
- ],
- [
- 1.2020647,
- 43.6044846
- ],
- [
- 1.2019464,
- 43.61048
- ],
- [
- 1.1924294,
- 43.6103695
- ]
- ]
- ],
- "terms_url": "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",
- "terms_text": "ToulouseMetropole"
- },
- {
- "name": "Toulouse - Orthophotoplan 2011",
- "type": "tms",
- "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2011/{zoom}/{x}/{y}",
- "scaleExtent": [
- 0,
- 22
- ],
- "polygon": [
- [
- [
- 1.1135067,
- 43.6867566
- ],
- [
- 1.1351836,
- 43.6870842
- ],
- [
- 1.1348907,
- 43.6983471
- ],
- [
- 1.1782867,
- 43.6990338
- ],
- [
- 1.1779903,
- 43.7102786
- ],
- [
- 1.1996591,
- 43.7106144
- ],
- [
- 1.1993387,
- 43.7218722
- ],
- [
- 1.2427356,
- 43.7225269
- ],
- [
- 1.2424336,
- 43.7337491
- ],
- [
- 1.2641536,
- 43.734092
- ],
- [
- 1.2638301,
- 43.7453588
- ],
- [
- 1.2855285,
- 43.7456548
- ],
- [
- 1.2852481,
- 43.756935
- ],
- [
- 1.306925,
- 43.757231
- ],
- [
- 1.3066446,
- 43.7684779
- ],
- [
- 1.3283431,
- 43.7687894
- ],
- [
- 1.3280842,
- 43.780034
- ],
- [
- 1.4367275,
- 43.7815757
- ],
- [
- 1.4373098,
- 43.7591004
- ],
- [
- 1.4590083,
- 43.7593653
- ],
- [
- 1.4593318,
- 43.7481479
- ],
- [
- 1.4810303,
- 43.7483972
- ],
- [
- 1.4813322,
- 43.7371777
- ],
- [
- 1.5030307,
- 43.7374115
- ],
- [
- 1.5035915,
- 43.7149664
- ],
- [
- 1.5253115,
- 43.7151846
- ],
- [
- 1.5256135,
- 43.7040057
- ],
- [
- 1.5472688,
- 43.7042552
- ],
- [
- 1.5475708,
- 43.6930431
- ],
- [
- 1.5692045,
- 43.6932926
- ],
- [
- 1.5695712,
- 43.6820316
- ],
- [
- 1.5912049,
- 43.6822656
- ],
- [
- 1.5917441,
- 43.6597998
- ],
- [
- 1.613421,
- 43.6600339
- ],
- [
- 1.613723,
- 43.6488291
- ],
- [
- 1.6353783,
- 43.6490788
- ],
- [
- 1.6384146,
- 43.5140731
- ],
- [
- 1.2921649,
- 43.5094658
- ],
- [
- 1.2918629,
- 43.5206966
- ],
- [
- 1.2702076,
- 43.5203994
- ],
- [
- 1.2698841,
- 43.5316437
- ],
- [
- 1.2482288,
- 43.531331
- ],
- [
- 1.2476048,
- 43.5537788
- ],
- [
- 1.2259628,
- 43.5534914
- ],
- [
- 1.2256819,
- 43.564716
- ],
- [
- 1.2039835,
- 43.564419
- ],
- [
- 1.2033148,
- 43.5869049
- ],
- [
- 1.1816164,
- 43.5865611
- ],
- [
- 1.1810237,
- 43.6090368
- ],
- [
- 1.1592821,
- 43.6086932
- ],
- [
- 1.1589585,
- 43.6199523
- ],
- [
- 1.1372601,
- 43.6196244
- ],
- [
- 1.1365933,
- 43.642094
- ],
- [
- 1.1149055,
- 43.6417629
- ]
- ]
- ],
- "terms_url": "https://wiki.openstreetmap.org/wiki/Toulouse/ToulouseMetropoleData",
- "terms_text": "ToulouseMetropole"
- },
- {
- "name": "Tours - Orthophotos 2008",
- "type": "tms",
- "template": "http://tms.mapspot.ge/tms/2/nonstandard/{zoom}/{x}/{y}.jpeg",
- "polygon": [
- [
- [
- 0.5457462,
- 47.465264
- ],
- [
- 0.54585,
- 47.4608163
- ],
- [
- 0.5392188,
- 47.4606983
- ],
- [
- 0.5393484,
- 47.456243
- ],
- [
- 0.5327959,
- 47.4561003
- ],
- [
- 0.5329011,
- 47.451565
- ],
- [
- 0.52619,
- 47.4514013
- ],
- [
- 0.5265854,
- 47.4424884
- ],
- [
- 0.5000941,
- 47.4420739
- ],
- [
- 0.5002357,
- 47.4375835
- ],
- [
- 0.4936014,
- 47.4374324
- ],
- [
- 0.4937,
- 47.4329285
- ],
- [
- 0.4606141,
- 47.4324593
- ],
- [
- 0.4607248,
- 47.4279827
- ],
- [
- 0.4541016,
- 47.4278125
- ],
- [
- 0.454932,
- 47.4053921
- ],
- [
- 0.4615431,
- 47.4054476
- ],
- [
- 0.4619097,
- 47.3964924
- ],
- [
- 0.4684346,
- 47.3966005
- ],
- [
- 0.4691319,
- 47.3786415
- ],
- [
- 0.4757125,
- 47.3787609
- ],
- [
- 0.4762116,
- 47.3652018
- ],
- [
- 0.4828297,
- 47.3653499
- ],
- [
- 0.4832223,
- 47.3518574
- ],
- [
- 0.5097927,
- 47.3522592
- ],
- [
- 0.5095688,
- 47.3567713
- ],
- [
- 0.5227698,
- 47.3569785
- ],
- [
- 0.5226429,
- 47.3614867
- ],
- [
- 0.5490721,
- 47.3618878
- ],
- [
- 0.5489087,
- 47.3663307
- ],
- [
- 0.5555159,
- 47.3664985
- ],
- [
- 0.5559105,
- 47.3575522
- ],
- [
- 0.6152789,
- 47.358407
- ],
- [
- 0.6152963,
- 47.362893
- ],
- [
- 0.6285093,
- 47.3630936
- ],
- [
- 0.6288256,
- 47.353987
- ],
- [
- 0.6155012,
- 47.3538823
- ],
- [
- 0.6157682,
- 47.3493424
- ],
- [
- 0.6090956,
- 47.3492991
- ],
- [
- 0.6094735,
- 47.3402962
- ],
- [
- 0.6160477,
- 47.3404448
- ],
- [
- 0.616083,
- 47.3369074
- ],
- [
- 0.77497,
- 47.3388218
- ],
- [
- 0.7745786,
- 47.351628
- ],
- [
- 0.7680363,
- 47.3515901
- ],
- [
- 0.767589,
- 47.3605298
- ],
- [
- 0.7742443,
- 47.3606238
- ],
- [
- 0.7733465,
- 47.3921266
- ],
- [
- 0.7667434,
- 47.3920195
- ],
- [
- 0.7664411,
- 47.4010837
- ],
- [
- 0.7730647,
- 47.4011115
- ],
- [
- 0.7728868,
- 47.4101297
- ],
- [
- 0.7661849,
- 47.4100226
- ],
- [
- 0.7660267,
- 47.4145044
- ],
- [
- 0.7527613,
- 47.4143038
- ],
- [
- 0.7529788,
- 47.4098086
- ],
- [
- 0.7462373,
- 47.4097016
- ],
- [
- 0.7459424,
- 47.4232208
- ],
- [
- 0.7392324,
- 47.4231451
- ],
- [
- 0.738869,
- 47.4366116
- ],
- [
- 0.7323267,
- 47.4365171
- ],
- [
- 0.7321869,
- 47.4410556
- ],
- [
- 0.7255048,
- 47.44098
- ],
- [
- 0.7254209,
- 47.4453479
- ],
- [
- 0.7318793,
- 47.4454803
- ],
- [
- 0.7318514,
- 47.4501126
- ],
- [
- 0.7384496,
- 47.450226
- ],
- [
- 0.7383098,
- 47.454631
- ],
- [
- 0.7449359,
- 47.4547444
- ],
- [
- 0.7443209,
- 47.4771985
- ],
- [
- 0.7310685,
- 47.4769717
- ],
- [
- 0.7309008,
- 47.4815445
- ],
- [
- 0.7176205,
- 47.4812611
- ],
- [
- 0.7177883,
- 47.4768394
- ],
- [
- 0.69777,
- 47.4764993
- ],
- [
- 0.6980496,
- 47.4719827
- ],
- [
- 0.6914514,
- 47.4718882
- ],
- [
- 0.6917309,
- 47.4630241
- ],
- [
- 0.6851048,
- 47.4629295
- ],
- [
- 0.684937,
- 47.4673524
- ],
- [
- 0.678255,
- 47.4673335
- ],
- [
- 0.6779754,
- 47.4762158
- ],
- [
- 0.6714051,
- 47.4761592
- ],
- [
- 0.6710417,
- 47.4881952
- ],
- [
- 0.6577334,
- 47.4879685
- ],
- [
- 0.6578173,
- 47.48504
- ],
- [
- 0.6511911,
- 47.4848322
- ],
- [
- 0.6514707,
- 47.4758568
- ],
- [
- 0.6448166,
- 47.4757245
- ],
- [
- 0.6449284,
- 47.4712646
- ],
- [
- 0.6117976,
- 47.4707543
- ],
- [
- 0.6118815,
- 47.4663129
- ],
- [
- 0.6052833,
- 47.4661239
- ],
- [
- 0.6054231,
- 47.4616631
- ],
- [
- 0.5988808,
- 47.4615497
- ],
- [
- 0.5990206,
- 47.4570886
- ],
- [
- 0.572488,
- 47.4566916
- ],
- [
- 0.5721805,
- 47.4656513
- ]
- ]
- ],
- "terms_url": "http://wiki.openstreetmap.org/wiki/Tours/Orthophoto",
- "terms_text": "Orthophoto Tour(s) Plus 2008"
- },
- {
- "name": "Tours - Orthophotos 2008-2010",
- "type": "tms",
- "template": "http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}",
- "scaleExtent": [
- 0,
- 20
- ],
- "polygon": [
- [
- [
- 0.5457462,
- 47.465264
- ],
- [
- 0.54585,
- 47.4608163
- ],
- [
- 0.5392188,
- 47.4606983
- ],
- [
- 0.5393484,
- 47.456243
- ],
- [
- 0.5327959,
- 47.4561003
- ],
- [
- 0.5329011,
- 47.451565
- ],
- [
- 0.52619,
- 47.4514013
- ],
- [
- 0.5265854,
- 47.4424884
- ],
- [
- 0.5000941,
- 47.4420739
- ],
- [
- 0.5002357,
- 47.4375835
- ],
- [
- 0.4936014,
- 47.4374324
- ],
- [
- 0.4937,
- 47.4329285
- ],
- [
- 0.4606141,
- 47.4324593
- ],
- [
- 0.4607248,
- 47.4279827
- ],
- [
- 0.4541016,
- 47.4278125
- ],
- [
- 0.454932,
- 47.4053921
- ],
- [
- 0.4615431,
- 47.4054476
- ],
- [
- 0.4619097,
- 47.3964924
- ],
- [
- 0.4684346,
- 47.3966005
- ],
- [
- 0.4691319,
- 47.3786415
- ],
- [
- 0.4757125,
- 47.3787609
- ],
- [
- 0.4762116,
- 47.3652018
- ],
- [
- 0.4828297,
- 47.3653499
- ],
- [
- 0.4829611,
- 47.3608321
- ],
- [
- 0.4763543,
- 47.360743
- ],
- [
- 0.476654,
- 47.3517263
- ],
- [
- 0.4700497,
- 47.3516186
- ],
- [
- 0.4701971,
- 47.3471313
- ],
- [
- 0.4637503,
- 47.3470104
- ],
- [
- 0.4571425,
- 47.3424146
- ],
- [
- 0.4572922,
- 47.3379061
- ],
- [
- 0.4506741,
- 47.3378081
- ],
- [
- 0.4508379,
- 47.3333051
- ],
- [
- 0.4442212,
- 47.3332032
- ],
- [
- 0.4443809,
- 47.328711
- ],
- [
- 0.4311392,
- 47.3284977
- ],
- [
- 0.4316262,
- 47.3150004
- ],
- [
- 0.4382432,
- 47.3151136
- ],
- [
- 0.4383815,
- 47.3106174
- ],
- [
- 0.4714487,
- 47.3111374
- ],
- [
- 0.4713096,
- 47.3156565
- ],
- [
- 0.477888,
- 47.3157542
- ],
- [
- 0.4780733,
- 47.3112802
- ],
- [
- 0.4846826,
- 47.3113639
- ],
- [
- 0.4848576,
- 47.3068686
- ],
- [
- 0.4914359,
- 47.3069803
- ],
- [
- 0.491745,
- 47.2979733
- ],
- [
- 0.4851578,
- 47.2978722
- ],
- [
- 0.4854269,
- 47.2888744
- ],
- [
- 0.4788485,
- 47.2887697
- ],
- [
- 0.4791574,
- 47.2797818
- ],
- [
- 0.4857769,
- 47.2799005
- ],
- [
- 0.4859107,
- 47.2753885
- ],
- [
- 0.492539,
- 47.2755029
- ],
- [
- 0.4926669,
- 47.2710127
- ],
- [
- 0.4992986,
- 47.2711066
- ],
- [
- 0.4994296,
- 47.2666116
- ],
- [
- 0.5192658,
- 47.2669245
- ],
- [
- 0.5194225,
- 47.2624231
- ],
- [
- 0.5260186,
- 47.2625205
- ],
- [
- 0.5258735,
- 47.2670183
- ],
- [
- 0.5456972,
- 47.2673383
- ],
- [
- 0.5455537,
- 47.2718283
- ],
- [
- 0.5587737,
- 47.2720366
- ],
- [
- 0.5586259,
- 47.2765185
- ],
- [
- 0.5652252,
- 47.2766278
- ],
- [
- 0.5650848,
- 47.2811206
- ],
- [
- 0.5716753,
- 47.2812285
- ],
- [
- 0.5715223,
- 47.2857217
- ],
- [
- 0.5781436,
- 47.2858299
- ],
- [
- 0.5779914,
- 47.2903294
- ],
- [
- 0.5846023,
- 47.2904263
- ],
- [
- 0.5843076,
- 47.2994231
- ],
- [
- 0.597499,
- 47.2996094
- ],
- [
- 0.5976637,
- 47.2951375
- ],
- [
- 0.6571596,
- 47.2960036
- ],
- [
- 0.6572988,
- 47.2915091
- ],
- [
- 0.6705019,
- 47.2917186
- ],
- [
- 0.6703475,
- 47.2962082
- ],
- [
- 0.6836175,
- 47.2963688
- ],
- [
- 0.6834322,
- 47.3008929
- ],
- [
- 0.690062,
- 47.3009558
- ],
- [
- 0.6899241,
- 47.3054703
- ],
- [
- 0.7362019,
- 47.3061157
- ],
- [
- 0.7360848,
- 47.3106063
- ],
- [
- 0.7559022,
- 47.3108935
- ],
- [
- 0.7557718,
- 47.315392
- ],
- [
- 0.7623755,
- 47.3154716
- ],
- [
- 0.7622314,
- 47.3199941
- ],
- [
- 0.7754911,
- 47.3201546
- ],
- [
- 0.77497,
- 47.3388218
- ],
- [
- 0.7745786,
- 47.351628
- ],
- [
- 0.7680363,
- 47.3515901
- ],
- [
- 0.767589,
- 47.3605298
- ],
- [
- 0.7742443,
- 47.3606238
- ],
- [
- 0.7733465,
- 47.3921266
- ],
- [
- 0.7667434,
- 47.3920195
- ],
- [
- 0.7664411,
- 47.4010837
- ],
- [
- 0.7730647,
- 47.4011115
- ],
- [
- 0.7728868,
- 47.4101297
- ],
- [
- 0.7661849,
- 47.4100226
- ],
- [
- 0.7660267,
- 47.4145044
- ],
- [
- 0.7527613,
- 47.4143038
- ],
- [
- 0.7529788,
- 47.4098086
- ],
- [
- 0.7462373,
- 47.4097016
- ],
- [
- 0.7459424,
- 47.4232208
- ],
- [
- 0.7392324,
- 47.4231451
- ],
- [
- 0.738869,
- 47.4366116
- ],
- [
- 0.7323267,
- 47.4365171
- ],
- [
- 0.7321869,
- 47.4410556
- ],
- [
- 0.7255048,
- 47.44098
- ],
- [
- 0.7254209,
- 47.4453479
- ],
- [
- 0.7318793,
- 47.4454803
- ],
- [
- 0.7318514,
- 47.4501126
- ],
- [
- 0.7384496,
- 47.450226
- ],
- [
- 0.7383098,
- 47.454631
- ],
- [
- 0.7449359,
- 47.4547444
- ],
- [
- 0.7443209,
- 47.4771985
- ],
- [
- 0.7310685,
- 47.4769717
- ],
- [
- 0.7309008,
- 47.4815445
- ],
- [
- 0.7176205,
- 47.4812611
- ],
- [
- 0.7177883,
- 47.4768394
- ],
- [
- 0.69777,
- 47.4764993
- ],
- [
- 0.6980496,
- 47.4719827
- ],
- [
- 0.6914514,
- 47.4718882
- ],
- [
- 0.6917309,
- 47.4630241
- ],
- [
- 0.6851048,
- 47.4629295
- ],
- [
- 0.684937,
- 47.4673524
- ],
- [
- 0.678255,
- 47.4673335
- ],
- [
- 0.6779754,
- 47.4762158
- ],
- [
- 0.6714051,
- 47.4761592
- ],
- [
- 0.6710417,
- 47.4881952
- ],
- [
- 0.6577334,
- 47.4879685
- ],
- [
- 0.6578173,
- 47.48504
- ],
- [
- 0.6511911,
- 47.4848322
- ],
- [
- 0.6514707,
- 47.4758568
- ],
- [
- 0.6448166,
- 47.4757245
- ],
- [
- 0.6449284,
- 47.4712646
- ],
- [
- 0.6117976,
- 47.4707543
- ],
- [
- 0.6118815,
- 47.4663129
- ],
- [
- 0.6052833,
- 47.4661239
- ],
- [
- 0.6054231,
- 47.4616631
- ],
- [
- 0.5988808,
- 47.4615497
- ],
- [
- 0.5990206,
- 47.4570886
- ],
- [
- 0.572488,
- 47.4566916
- ],
- [
- 0.5721805,
- 47.4656513
- ]
- ]
- ],
- "terms_url": "http://wiki.openstreetmap.org/wiki/Tours/Orthophoto",
- "terms_text": "Orthophoto Tour(s) Plus 2008"
- },
- {
- "name": "USGS Large Scale Imagery",
- "type": "tms",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_large_scale/{zoom}/{x}/{y}.jpg",
- "scaleExtent": [
- 12,
- 20
- ],
- "polygon": [
- [
- [
- -123.2549305,
- 48.7529029
- ],
- [
- -123.2549305,
- 48.5592263
- ],
- [
- -123.192224,
- 48.5592263
- ],
- [
- -123.192224,
- 48.4348366
- ],
- [
- -122.9419646,
- 48.4348366
- ],
- [
- -122.9419646,
- 48.3720812
- ],
- [
- -122.8806229,
- 48.3720812
- ],
- [
- -122.8806229,
- 48.3094763
- ],
- [
- -122.8167566,
- 48.3094763
- ],
- [
- -122.8167566,
- 48.1904587
- ],
- [
- -123.0041133,
- 48.1904587
- ],
- [
- -123.0041133,
- 48.1275918
- ],
- [
- -123.058416,
- 48.1275918
- ],
- [
- -123.058416,
- 48.190514
- ],
- [
- -123.254113,
- 48.190514
- ],
- [
- -123.254113,
- 48.1274982
- ],
- [
- -123.3706593,
- 48.1274982
- ],
- [
- -123.3706593,
- 48.1908403
- ],
- [
- -124.0582632,
- 48.1908403
- ],
- [
- -124.0582632,
- 48.253442
- ],
- [
- -124.1815163,
- 48.253442
- ],
- [
- -124.1815163,
- 48.3164666
- ],
- [
- -124.4319117,
- 48.3164666
- ],
- [
- -124.4319117,
- 48.3782613
- ],
- [
- -124.5564618,
- 48.3782613
- ],
- [
- -124.5564618,
- 48.4408305
- ],
- [
- -124.7555107,
- 48.4408305
- ],
- [
- -124.7555107,
- 48.1914986
- ],
- [
- -124.8185282,
- 48.1914986
- ],
- [
- -124.8185282,
- 48.1228381
- ],
- [
- -124.7552951,
- 48.1228381
- ],
- [
- -124.7552951,
- 47.5535253
- ],
- [
- -124.3812108,
- 47.5535253
- ],
- [
- -124.3812108,
- 47.1218696
- ],
- [
- -124.1928897,
- 47.1218696
- ],
- [
- -124.1928897,
- 43.7569431
- ],
- [
- -124.4443382,
- 43.7569431
- ],
- [
- -124.4443382,
- 43.1425556
- ],
- [
- -124.6398855,
- 43.1425556
- ],
- [
- -124.6398855,
- 42.6194503
- ],
- [
- -124.4438525,
- 42.6194503
- ],
- [
- -124.4438525,
- 39.8080662
- ],
- [
- -123.8815685,
- 39.8080662
- ],
- [
- -123.8815685,
- 39.1102825
- ],
- [
- -123.75805,
- 39.1102825
- ],
- [
- -123.75805,
- 38.4968799
- ],
- [
- -123.2702803,
- 38.4968799
- ],
- [
- -123.2702803,
- 37.9331905
- ],
- [
- -122.8148084,
- 37.9331905
- ],
- [
- -122.8148084,
- 37.8019606
- ],
- [
- -122.5664316,
- 37.8019606
- ],
- [
- -122.5664316,
- 36.9319611
- ],
- [
- -121.8784026,
- 36.9319611
- ],
- [
- -121.8784026,
- 36.6897596
- ],
- [
- -122.0034748,
- 36.6897596
- ],
- [
- -122.0034748,
- 36.4341056
- ],
- [
- -121.9414159,
- 36.4341056
- ],
- [
- -121.9414159,
- 35.9297636
- ],
- [
- -121.5040977,
- 35.9297636
- ],
- [
- -121.5040977,
- 35.8100273
- ],
- [
- -121.3790276,
- 35.8100273
- ],
- [
- -121.3790276,
- 35.4239164
- ],
- [
- -120.9426515,
- 35.4239164
- ],
- [
- -120.9426515,
- 35.1849683
- ],
- [
- -120.8171978,
- 35.1849683
- ],
- [
- -120.8171978,
- 35.1219894
- ],
- [
- -120.6918447,
- 35.1219894
- ],
- [
- -120.6918447,
- 34.4966794
- ],
- [
- -120.5045898,
- 34.4966794
- ],
- [
- -120.5045898,
- 34.4339651
- ],
- [
- -120.0078775,
- 34.4339651
- ],
- [
- -120.0078775,
- 34.3682626
- ],
- [
- -119.5283517,
- 34.3682626
- ],
- [
- -119.5283517,
- 34.0576434
- ],
- [
- -119.0060985,
- 34.0576434
- ],
- [
- -119.0060985,
- 33.9975267
- ],
- [
- -118.5046259,
- 33.9975267
- ],
- [
- -118.5046259,
- 33.8694631
- ],
- [
- -118.4413209,
- 33.8694631
- ],
- [
- -118.4413209,
- 33.6865253
- ],
- [
- -118.066912,
- 33.6865253
- ],
- [
- -118.066912,
- 33.3063832
- ],
- [
- -117.5030045,
- 33.3063832
- ],
- [
- -117.5030045,
- 33.0500337
- ],
- [
- -117.3188195,
- 33.0500337
- ],
- [
- -117.3188195,
- 32.6205888
- ],
- [
- -117.1917023,
- 32.6205888
- ],
- [
- -117.1917023,
- 32.4974566
- ],
- [
- -116.746496,
- 32.4974566
- ],
- [
- -116.746496,
- 32.5609161
- ],
- [
- -115.9970138,
- 32.5609161
- ],
- [
- -115.9970138,
- 32.6264942
- ],
- [
- -114.8808125,
- 32.6264942
- ],
- [
- -114.8808125,
- 32.4340796
- ],
- [
- -114.6294474,
- 32.4340796
- ],
- [
- -114.6294474,
- 32.3731636
- ],
- [
- -114.4447437,
- 32.3731636
- ],
- [
- -114.4447437,
- 32.3075418
- ],
- [
- -114.2557628,
- 32.3075418
- ],
- [
- -114.2557628,
- 32.2444561
- ],
- [
- -114.0680274,
- 32.2444561
- ],
- [
- -114.0680274,
- 32.1829113
- ],
- [
- -113.8166499,
- 32.1829113
- ],
- [
- -113.8166499,
- 32.1207622
- ],
- [
- -113.6307421,
- 32.1207622
- ],
- [
- -113.6307421,
- 32.0565099
- ],
- [
- -113.4417495,
- 32.0565099
- ],
- [
- -113.4417495,
- 31.9984372
- ],
- [
- -113.2546027,
- 31.9984372
- ],
- [
- -113.2546027,
- 31.9325434
- ],
- [
- -113.068072,
- 31.9325434
- ],
- [
- -113.068072,
- 31.8718062
- ],
- [
- -112.8161105,
- 31.8718062
- ],
- [
- -112.8161105,
- 31.8104171
- ],
- [
- -112.6308756,
- 31.8104171
- ],
- [
- -112.6308756,
- 31.7464723
- ],
- [
- -112.4418918,
- 31.7464723
- ],
- [
- -112.4418918,
- 31.6856001
- ],
- [
- -112.257192,
- 31.6856001
- ],
- [
- -112.257192,
- 31.6210352
- ],
- [
- -112.0033787,
- 31.6210352
- ],
- [
- -112.0033787,
- 31.559584
- ],
- [
- -111.815619,
- 31.559584
- ],
- [
- -111.815619,
- 31.4970238
- ],
- [
- -111.6278586,
- 31.4970238
- ],
- [
- -111.6278586,
- 31.4339867
- ],
- [
- -111.4418978,
- 31.4339867
- ],
- [
- -111.4418978,
- 31.3733859
- ],
- [
- -111.2559708,
- 31.3733859
- ],
- [
- -111.2559708,
- 31.3113225
- ],
- [
- -108.1845822,
- 31.3113225
- ],
- [
- -108.1845822,
- 31.7459502
- ],
- [
- -106.5065055,
- 31.7459502
- ],
- [
- -106.5065055,
- 31.6842308
- ],
- [
- -106.3797265,
- 31.6842308
- ],
- [
- -106.3797265,
- 31.621752
- ],
- [
- -106.317434,
- 31.621752
- ],
- [
- -106.317434,
- 31.4968167
- ],
- [
- -106.2551769,
- 31.4968167
- ],
- [
- -106.2551769,
- 31.4344889
- ],
- [
- -106.1924698,
- 31.4344889
- ],
- [
- -106.1924698,
- 31.3721296
- ],
- [
- -106.0039212,
- 31.3721296
- ],
- [
- -106.0039212,
- 31.309328
- ],
- [
- -105.9416582,
- 31.309328
- ],
- [
- -105.9416582,
- 31.2457547
- ],
- [
- -105.8798174,
- 31.2457547
- ],
- [
- -105.8798174,
- 31.1836194
- ],
- [
- -105.8162349,
- 31.1836194
- ],
- [
- -105.8162349,
- 31.1207155
- ],
- [
- -105.6921198,
- 31.1207155
- ],
- [
- -105.6921198,
- 31.0584835
- ],
- [
- -105.6302881,
- 31.0584835
- ],
- [
- -105.6302881,
- 30.9328271
- ],
- [
- -105.5044418,
- 30.9328271
- ],
- [
- -105.5044418,
- 30.8715864
- ],
- [
- -105.4412973,
- 30.8715864
- ],
- [
- -105.4412973,
- 30.808463
- ],
- [
- -105.3781497,
- 30.808463
- ],
- [
- -105.3781497,
- 30.7471828
- ],
- [
- -105.1904658,
- 30.7471828
- ],
- [
- -105.1904658,
- 30.6843231
- ],
- [
- -105.1286244,
- 30.6843231
- ],
- [
- -105.1286244,
- 30.6199737
- ],
- [
- -105.0036504,
- 30.6199737
- ],
- [
- -105.0036504,
- 30.5589058
- ],
- [
- -104.9417962,
- 30.5589058
- ],
- [
- -104.9417962,
- 30.4963236
- ],
- [
- -104.8782018,
- 30.4963236
- ],
- [
- -104.8782018,
- 30.3098261
- ],
- [
- -104.8155257,
- 30.3098261
- ],
- [
- -104.8155257,
- 30.2478305
- ],
- [
- -104.7536079,
- 30.2478305
- ],
- [
- -104.7536079,
- 29.9353916
- ],
- [
- -104.690949,
- 29.9353916
- ],
- [
- -104.690949,
- 29.8090156
- ],
- [
- -104.6291301,
- 29.8090156
- ],
- [
- -104.6291301,
- 29.6843577
- ],
- [
- -104.5659869,
- 29.6843577
- ],
- [
- -104.5659869,
- 29.6223459
- ],
- [
- -104.5037188,
- 29.6223459
- ],
- [
- -104.5037188,
- 29.5595436
- ],
- [
- -104.4410072,
- 29.5595436
- ],
- [
- -104.4410072,
- 29.4974832
- ],
- [
- -104.2537551,
- 29.4974832
- ],
- [
- -104.2537551,
- 29.3716718
- ],
- [
- -104.1291984,
- 29.3716718
- ],
- [
- -104.1291984,
- 29.3091621
- ],
- [
- -104.0688737,
- 29.3091621
- ],
- [
- -104.0688737,
- 29.2467276
- ],
- [
- -103.8187309,
- 29.2467276
- ],
- [
- -103.8187309,
- 29.1843076
- ],
- [
- -103.755736,
- 29.1843076
- ],
- [
- -103.755736,
- 29.1223174
- ],
- [
- -103.5667542,
- 29.1223174
- ],
- [
- -103.5667542,
- 29.0598119
- ],
- [
- -103.5049819,
- 29.0598119
- ],
- [
- -103.5049819,
- 28.9967506
- ],
- [
- -103.3165753,
- 28.9967506
- ],
- [
- -103.3165753,
- 28.9346923
- ],
- [
- -103.0597572,
- 28.9346923
- ],
- [
- -103.0597572,
- 29.0592965
- ],
- [
- -102.9979694,
- 29.0592965
- ],
- [
- -102.9979694,
- 29.1212855
- ],
- [
- -102.9331397,
- 29.1212855
- ],
- [
- -102.9331397,
- 29.1848575
- ],
- [
- -102.8095989,
- 29.1848575
- ],
- [
- -102.8095989,
- 29.2526154
- ],
- [
- -102.8701345,
- 29.2526154
- ],
- [
- -102.8701345,
- 29.308096
- ],
- [
- -102.8096681,
- 29.308096
- ],
- [
- -102.8096681,
- 29.3715484
- ],
- [
- -102.7475655,
- 29.3715484
- ],
- [
- -102.7475655,
- 29.5581899
- ],
- [
- -102.684554,
- 29.5581899
- ],
- [
- -102.684554,
- 29.6847655
- ],
- [
- -102.4967764,
- 29.6847655
- ],
- [
- -102.4967764,
- 29.7457694
- ],
- [
- -102.3086647,
- 29.7457694
- ],
- [
- -102.3086647,
- 29.8086627
- ],
- [
- -102.1909323,
- 29.8086627
- ],
- [
- -102.1909323,
- 29.7460097
- ],
- [
- -101.5049914,
- 29.7460097
- ],
- [
- -101.5049914,
- 29.6846777
- ],
- [
- -101.3805796,
- 29.6846777
- ],
- [
- -101.3805796,
- 29.5594459
- ],
- [
- -101.3175057,
- 29.5594459
- ],
- [
- -101.3175057,
- 29.4958934
- ],
- [
- -101.1910075,
- 29.4958934
- ],
- [
- -101.1910075,
- 29.4326115
- ],
- [
- -101.067501,
- 29.4326115
- ],
- [
- -101.067501,
- 29.308808
- ],
- [
- -100.9418897,
- 29.308808
- ],
- [
- -100.9418897,
- 29.2456231
- ],
- [
- -100.8167271,
- 29.2456231
- ],
- [
- -100.8167271,
- 29.1190449
- ],
- [
- -100.7522672,
- 29.1190449
- ],
- [
- -100.7522672,
- 29.0578214
- ],
- [
- -100.6925358,
- 29.0578214
- ],
- [
- -100.6925358,
- 28.8720431
- ],
- [
- -100.6290158,
- 28.8720431
- ],
- [
- -100.6290158,
- 28.8095363
- ],
- [
- -100.5679901,
- 28.8095363
- ],
- [
- -100.5679901,
- 28.622554
- ],
- [
- -100.5040411,
- 28.622554
- ],
- [
- -100.5040411,
- 28.5583804
- ],
- [
- -100.4421832,
- 28.5583804
- ],
- [
- -100.4421832,
- 28.4968266
- ],
- [
- -100.379434,
- 28.4968266
- ],
- [
- -100.379434,
- 28.3092865
- ],
- [
- -100.3171942,
- 28.3092865
- ],
- [
- -100.3171942,
- 28.1835681
- ],
- [
- -100.254483,
- 28.1835681
- ],
- [
- -100.254483,
- 28.1213885
- ],
- [
- -100.1282282,
- 28.1213885
- ],
- [
- -100.1282282,
- 28.059215
- ],
- [
- -100.0659537,
- 28.059215
- ],
- [
- -100.0659537,
- 27.9966087
- ],
- [
- -100.0023855,
- 27.9966087
- ],
- [
- -100.0023855,
- 27.9332152
- ],
- [
- -99.9426497,
- 27.9332152
- ],
- [
- -99.9426497,
- 27.7454658
- ],
- [
- -99.816851,
- 27.7454658
- ],
- [
- -99.816851,
- 27.6834301
- ],
- [
- -99.7541346,
- 27.6834301
- ],
- [
- -99.7541346,
- 27.6221543
- ],
- [
- -99.6291629,
- 27.6221543
- ],
- [
- -99.6291629,
- 27.5588977
- ],
- [
- -99.5672838,
- 27.5588977
- ],
- [
- -99.5672838,
- 27.4353752
- ],
- [
- -99.5041798,
- 27.4353752
- ],
- [
- -99.5041798,
- 27.3774021
- ],
- [
- -99.5671796,
- 27.3774021
- ],
- [
- -99.5671796,
- 27.2463726
- ],
- [
- -99.504975,
- 27.2463726
- ],
- [
- -99.504975,
- 26.9965649
- ],
- [
- -99.4427427,
- 26.9965649
- ],
- [
- -99.4427427,
- 26.872803
- ],
- [
- -99.3800633,
- 26.872803
- ],
- [
- -99.3800633,
- 26.8068179
- ],
- [
- -99.3190684,
- 26.8068179
- ],
- [
- -99.3190684,
- 26.7473614
- ],
- [
- -99.2537541,
- 26.7473614
- ],
- [
- -99.2537541,
- 26.6210068
- ],
- [
- -99.1910617,
- 26.6210068
- ],
- [
- -99.1910617,
- 26.4956737
- ],
- [
- -99.1300639,
- 26.4956737
- ],
- [
- -99.1300639,
- 26.3713808
- ],
- [
- -99.0029473,
- 26.3713808
- ],
- [
- -99.0029473,
- 26.3093836
- ],
- [
- -98.816572,
- 26.3093836
- ],
- [
- -98.816572,
- 26.2457762
- ],
- [
- -98.6920082,
- 26.2457762
- ],
- [
- -98.6920082,
- 26.1837096
- ],
- [
- -98.4440896,
- 26.1837096
- ],
- [
- -98.4440896,
- 26.1217217
- ],
- [
- -98.3823181,
- 26.1217217
- ],
- [
- -98.3823181,
- 26.0596488
- ],
- [
- -98.2532707,
- 26.0596488
- ],
- [
- -98.2532707,
- 25.9986871
- ],
- [
- -98.0109084,
- 25.9986871
- ],
- [
- -98.0109084,
- 25.9932255
- ],
- [
- -97.6932319,
- 25.9932255
- ],
- [
- -97.6932319,
- 25.9334103
- ],
- [
- -97.6313904,
- 25.9334103
- ],
- [
- -97.6313904,
- 25.8695893
- ],
- [
- -97.5046779,
- 25.8695893
- ],
- [
- -97.5046779,
- 25.8073488
- ],
- [
- -97.3083401,
- 25.8073488
- ],
- [
- -97.3083401,
- 25.8731159
- ],
- [
- -97.2456326,
- 25.8731159
- ],
- [
- -97.2456326,
- 25.9353731
- ],
- [
- -97.1138939,
- 25.9353731
- ],
- [
- -97.1138939,
- 27.6809179
- ],
- [
- -97.0571035,
- 27.6809179
- ],
- [
- -97.0571035,
- 27.8108242
- ],
- [
- -95.5810766,
- 27.8108242
- ],
- [
- -95.5810766,
- 28.7468827
- ],
- [
- -94.271041,
- 28.7468827
- ],
- [
- -94.271041,
- 29.5594076
- ],
- [
- -92.5029947,
- 29.5594076
- ],
- [
- -92.5029947,
- 29.4974754
- ],
- [
- -91.8776216,
- 29.4974754
- ],
- [
- -91.8776216,
- 29.3727013
- ],
- [
- -91.378418,
- 29.3727013
- ],
- [
- -91.378418,
- 29.2468326
- ],
- [
- -91.3153953,
- 29.2468326
- ],
- [
- -91.3153953,
- 29.1844301
- ],
- [
- -91.1294702,
- 29.1844301
- ],
- [
- -91.1294702,
- 29.1232559
- ],
- [
- -91.0052632,
- 29.1232559
- ],
- [
- -91.0052632,
- 28.9968437
- ],
- [
- -89.4500159,
- 28.9968437
- ],
- [
- -89.4500159,
- 28.8677422
- ],
- [
- -88.8104309,
- 28.8677422
- ],
- [
- -88.8104309,
- 30.1841864
- ],
- [
- -85.8791527,
- 30.1841864
- ],
- [
- -85.8791527,
- 29.5455038
- ],
- [
- -84.8368083,
- 29.5455038
- ],
- [
- -84.8368083,
- 29.6225158
- ],
- [
- -84.7482786,
- 29.6225158
- ],
- [
- -84.7482786,
- 29.683624
- ],
- [
- -84.685894,
- 29.683624
- ],
- [
- -84.685894,
- 29.7468386
- ],
- [
- -83.6296975,
- 29.7468386
- ],
- [
- -83.6296975,
- 29.4324361
- ],
- [
- -83.3174937,
- 29.4324361
- ],
- [
- -83.3174937,
- 29.0579442
- ],
- [
- -82.879659,
- 29.0579442
- ],
- [
- -82.879659,
- 27.7453529
- ],
- [
- -82.8182822,
- 27.7453529
- ],
- [
- -82.8182822,
- 26.9290868
- ],
- [
- -82.3796782,
- 26.9290868
- ],
- [
- -82.3796782,
- 26.3694183
- ],
- [
- -81.8777106,
- 26.3694183
- ],
- [
- -81.8777106,
- 25.805971
- ],
- [
- -81.5036862,
- 25.805971
- ],
- [
- -81.5036862,
- 25.7474753
- ],
- [
- -81.4405462,
- 25.7474753
- ],
- [
- -81.4405462,
- 25.6851489
- ],
- [
- -81.3155883,
- 25.6851489
- ],
- [
- -81.3155883,
- 25.5600985
- ],
- [
- -81.2538534,
- 25.5600985
- ],
- [
- -81.2538534,
- 25.4342361
- ],
- [
- -81.1902012,
- 25.4342361
- ],
- [
- -81.1902012,
- 25.1234341
- ],
- [
- -81.1288133,
- 25.1234341
- ],
- [
- -81.1288133,
- 25.0619389
- ],
- [
- -81.0649231,
- 25.0619389
- ],
- [
- -81.0649231,
- 24.8157807
- ],
- [
- -81.6289469,
- 24.8157807
- ],
- [
- -81.6289469,
- 24.7538367
- ],
- [
- -81.6907173,
- 24.7538367
- ],
- [
- -81.6907173,
- 24.6899374
- ],
- [
- -81.8173189,
- 24.6899374
- ],
- [
- -81.8173189,
- 24.6279161
- ],
- [
- -82.1910041,
- 24.6279161
- ],
- [
- -82.1910041,
- 24.496294
- ],
- [
- -81.6216596,
- 24.496294
- ],
- [
- -81.6216596,
- 24.559484
- ],
- [
- -81.372006,
- 24.559484
- ],
- [
- -81.372006,
- 24.6220687
- ],
- [
- -81.0593278,
- 24.6220687
- ],
- [
- -81.0593278,
- 24.684826
- ],
- [
- -80.9347147,
- 24.684826
- ],
- [
- -80.9347147,
- 24.7474828
- ],
- [
- -80.7471081,
- 24.7474828
- ],
- [
- -80.7471081,
- 24.8100618
- ],
- [
- -80.3629898,
- 24.8100618
- ],
- [
- -80.3629898,
- 25.1175858
- ],
- [
- -80.122344,
- 25.1175858
- ],
- [
- -80.122344,
- 25.7472357
- ],
- [
- -80.0588458,
- 25.7472357
- ],
- [
- -80.0588458,
- 26.3708251
- ],
- [
- -79.995837,
- 26.3708251
- ],
- [
- -79.995837,
- 26.9398003
- ],
- [
- -80.0587265,
- 26.9398003
- ],
- [
- -80.0587265,
- 27.1277466
- ],
- [
- -80.1226251,
- 27.1277466
- ],
- [
- -80.1226251,
- 27.2534279
- ],
- [
- -80.1846956,
- 27.2534279
- ],
- [
- -80.1846956,
- 27.3781229
- ],
- [
- -80.246175,
- 27.3781229
- ],
- [
- -80.246175,
- 27.5658729
- ],
- [
- -80.3094768,
- 27.5658729
- ],
- [
- -80.3094768,
- 27.7530311
- ],
- [
- -80.3721485,
- 27.7530311
- ],
- [
- -80.3721485,
- 27.8774451
- ],
- [
- -80.4351457,
- 27.8774451
- ],
- [
- -80.4351457,
- 28.0033366
- ],
- [
- -80.4966078,
- 28.0033366
- ],
- [
- -80.4966078,
- 28.1277326
- ],
- [
- -80.5587159,
- 28.1277326
- ],
- [
- -80.5587159,
- 28.3723509
- ],
- [
- -80.4966335,
- 28.3723509
- ],
- [
- -80.4966335,
- 29.5160326
- ],
- [
- -81.1213644,
- 29.5160326
- ],
- [
- -81.1213644,
- 31.6846966
- ],
- [
- -80.6018723,
- 31.6846966
- ],
- [
- -80.6018723,
- 32.2475309
- ],
- [
- -79.4921024,
- 32.2475309
- ],
- [
- -79.4921024,
- 32.9970261
- ],
- [
- -79.1116488,
- 32.9970261
- ],
- [
- -79.1116488,
- 33.3729457
- ],
- [
- -78.6153621,
- 33.3729457
- ],
- [
- -78.6153621,
- 33.8097638
- ],
- [
- -77.9316963,
- 33.8097638
- ],
- [
- -77.9316963,
- 33.8718243
- ],
- [
- -77.8692252,
- 33.8718243
- ],
- [
- -77.8692252,
- 34.0552454
- ],
- [
- -77.6826392,
- 34.0552454
- ],
- [
- -77.6826392,
- 34.2974598
- ],
- [
- -77.2453509,
- 34.2974598
- ],
- [
- -77.2453509,
- 34.5598585
- ],
- [
- -76.4973277,
- 34.5598585
- ],
- [
- -76.4973277,
- 34.622796
- ],
- [
- -76.4337602,
- 34.622796
- ],
- [
- -76.4337602,
- 34.6849285
- ],
- [
- -76.373212,
- 34.6849285
- ],
- [
- -76.373212,
- 34.7467674
- ],
- [
- -76.3059364,
- 34.7467674
- ],
- [
- -76.3059364,
- 34.808551
- ],
- [
- -76.2468017,
- 34.808551
- ],
- [
- -76.2468017,
- 34.8728418
- ],
- [
- -76.1825922,
- 34.8728418
- ],
- [
- -76.1825922,
- 34.9335332
- ],
- [
- -76.120814,
- 34.9335332
- ],
- [
- -76.120814,
- 34.9952359
- ],
- [
- -75.9979015,
- 34.9952359
- ],
- [
- -75.9979015,
- 35.0578182
- ],
- [
- -75.870338,
- 35.0578182
- ],
- [
- -75.870338,
- 35.1219097
- ],
- [
- -75.7462194,
- 35.1219097
- ],
- [
- -75.7462194,
- 35.1818911
- ],
- [
- -75.4929694,
- 35.1818911
- ],
- [
- -75.4929694,
- 35.3082988
- ],
- [
- -75.4325662,
- 35.3082988
- ],
- [
- -75.4325662,
- 35.7542495
- ],
- [
- -75.4969907,
- 35.7542495
- ],
- [
- -75.4969907,
- 37.8105602
- ],
- [
- -75.3082972,
- 37.8105602
- ],
- [
- -75.3082972,
- 37.8720088
- ],
- [
- -75.245601,
- 37.8720088
- ],
- [
- -75.245601,
- 37.9954849
- ],
- [
- -75.1828751,
- 37.9954849
- ],
- [
- -75.1828751,
- 38.0585079
- ],
- [
- -75.1184793,
- 38.0585079
- ],
- [
- -75.1184793,
- 38.2469091
- ],
- [
- -75.0592098,
- 38.2469091
- ],
- [
- -75.0592098,
- 38.3704316
- ],
- [
- -74.9948111,
- 38.3704316
- ],
- [
- -74.9948111,
- 38.8718417
- ],
- [
- -74.4878252,
- 38.8718417
- ],
- [
- -74.4878252,
- 39.3089428
- ],
- [
- -74.1766317,
- 39.3089428
- ],
- [
- -74.1766317,
- 39.6224653
- ],
- [
- -74.0567045,
- 39.6224653
- ],
- [
- -74.0567045,
- 39.933178
- ],
- [
- -73.9959035,
- 39.933178
- ],
- [
- -73.9959035,
- 40.1854852
- ],
- [
- -73.9341593,
- 40.1854852
- ],
- [
- -73.9341593,
- 40.4959486
- ],
- [
- -73.8723024,
- 40.4959486
- ],
- [
- -73.8723024,
- 40.5527135
- ],
- [
- -71.8074506,
- 40.5527135
- ],
- [
- -71.8074506,
- 41.3088005
- ],
- [
- -70.882512,
- 41.3088005
- ],
- [
- -70.882512,
- 41.184978
- ],
- [
- -70.7461947,
- 41.184978
- ],
- [
- -70.7461947,
- 41.3091865
- ],
- [
- -70.4337553,
- 41.3091865
- ],
- [
- -70.4337553,
- 41.4963885
- ],
- [
- -69.9334281,
- 41.4963885
- ],
- [
- -69.9334281,
- 41.6230802
- ],
- [
- -69.869857,
- 41.6230802
- ],
- [
- -69.869857,
- 41.8776895
- ],
- [
- -69.935791,
- 41.8776895
- ],
- [
- -69.935791,
- 42.0032342
- ],
- [
- -69.9975823,
- 42.0032342
- ],
- [
- -69.9975823,
- 42.0650191
- ],
- [
- -70.0606103,
- 42.0650191
- ],
- [
- -70.0606103,
- 42.1294348
- ],
- [
- -70.5572884,
- 42.1294348
- ],
- [
- -70.5572884,
- 43.2487079
- ],
- [
- -70.4974097,
- 43.2487079
- ],
- [
- -70.4974097,
- 43.3092194
- ],
- [
- -70.3704249,
- 43.3092194
- ],
- [
- -70.3704249,
- 43.371963
- ],
- [
- -70.3085701,
- 43.371963
- ],
- [
- -70.3085701,
- 43.4969879
- ],
- [
- -70.183921,
- 43.4969879
- ],
- [
- -70.183921,
- 43.6223531
- ],
- [
- -70.057583,
- 43.6223531
- ],
- [
- -70.057583,
- 43.6850173
- ],
- [
- -69.7455247,
- 43.6850173
- ],
- [
- -69.7455247,
- 43.7476571
- ],
- [
- -69.2472845,
- 43.7476571
- ],
- [
- -69.2472845,
- 43.8107035
- ],
- [
- -69.0560701,
- 43.8107035
- ],
- [
- -69.0560701,
- 43.8717247
- ],
- [
- -68.9950522,
- 43.8717247
- ],
- [
- -68.9950522,
- 43.9982022
- ],
- [
- -68.4963672,
- 43.9982022
- ],
- [
- -68.4963672,
- 44.0597368
- ],
- [
- -68.3081038,
- 44.0597368
- ],
- [
- -68.3081038,
- 44.122137
- ],
- [
- -68.1851802,
- 44.122137
- ],
- [
- -68.1851802,
- 44.3081382
- ],
- [
- -67.9956019,
- 44.3081382
- ],
- [
- -67.9956019,
- 44.3727489
- ],
- [
- -67.8103041,
- 44.3727489
- ],
- [
- -67.8103041,
- 44.435178
- ],
- [
- -67.4965289,
- 44.435178
- ],
- [
- -67.4965289,
- 44.4968776
- ],
- [
- -67.37102,
- 44.4968776
- ],
- [
- -67.37102,
- 44.5600642
- ],
- [
- -67.1848753,
- 44.5600642
- ],
- [
- -67.1848753,
- 44.6213345
- ],
- [
- -67.1221208,
- 44.6213345
- ],
- [
- -67.1221208,
- 44.6867918
- ],
- [
- -67.059365,
- 44.6867918
- ],
- [
- -67.059365,
- 44.7473657
- ],
- [
- -66.9311098,
- 44.7473657
- ],
- [
- -66.9311098,
- 44.9406566
- ],
- [
- -66.994683,
- 44.9406566
- ],
- [
- -66.994683,
- 45.0024514
- ],
- [
- -67.0595847,
- 45.0024514
- ],
- [
- -67.0595847,
- 45.1273377
- ],
- [
- -67.1201974,
- 45.1273377
- ],
- [
- -67.1201974,
- 45.1910115
- ],
- [
- -67.2469811,
- 45.1910115
- ],
- [
- -67.2469811,
- 45.253442
- ],
- [
- -67.3177546,
- 45.253442
- ],
- [
- -67.3177546,
- 45.1898369
- ],
- [
- -67.370749,
- 45.1898369
- ],
- [
- -67.370749,
- 45.2534001
- ],
- [
- -67.4326888,
- 45.2534001
- ],
- [
- -67.4326888,
- 45.3083409
- ],
- [
- -67.3708571,
- 45.3083409
- ],
- [
- -67.3708571,
- 45.4396986
- ],
- [
- -67.4305573,
- 45.4396986
- ],
- [
- -67.4305573,
- 45.4950095
- ],
- [
- -67.37099,
- 45.4950095
- ],
- [
- -67.37099,
- 45.6264543
- ],
- [
- -67.6214982,
- 45.6264543
- ],
- [
- -67.6214982,
- 45.6896133
- ],
- [
- -67.683828,
- 45.6896133
- ],
- [
- -67.683828,
- 45.753259
- ],
- [
- -67.7462097,
- 45.753259
- ],
- [
- -67.7462097,
- 47.1268165
- ],
- [
- -67.8700141,
- 47.1268165
- ],
- [
- -67.8700141,
- 47.1900278
- ],
- [
- -67.9323803,
- 47.1900278
- ],
- [
- -67.9323803,
- 47.2539678
- ],
- [
- -67.9959387,
- 47.2539678
- ],
- [
- -67.9959387,
- 47.3149737
- ],
- [
- -68.1206676,
- 47.3149737
- ],
- [
- -68.1206676,
- 47.3780823
- ],
- [
- -68.4423175,
- 47.3780823
- ],
- [
- -68.4423175,
- 47.3166082
- ],
- [
- -68.6314305,
- 47.3166082
- ],
- [
- -68.6314305,
- 47.2544676
- ],
- [
- -68.9978037,
- 47.2544676
- ],
- [
- -68.9978037,
- 47.439895
- ],
- [
- -69.0607223,
- 47.439895
- ],
- [
- -69.0607223,
- 47.5047558
- ],
- [
- -69.2538122,
- 47.5047558
- ],
- [
- -69.2538122,
- 47.4398084
- ],
- [
- -69.3179284,
- 47.4398084
- ],
- [
- -69.3179284,
- 47.378601
- ],
- [
- -69.4438546,
- 47.378601
- ],
- [
- -69.4438546,
- 47.3156274
- ],
- [
- -69.5038204,
- 47.3156274
- ],
- [
- -69.5038204,
- 47.2525839
- ],
- [
- -69.5667838,
- 47.2525839
- ],
- [
- -69.5667838,
- 47.1910884
- ],
- [
- -69.6303478,
- 47.1910884
- ],
- [
- -69.6303478,
- 47.128701
- ],
- [
- -69.6933103,
- 47.128701
- ],
- [
- -69.6933103,
- 47.0654307
- ],
- [
- -69.7557063,
- 47.0654307
- ],
- [
- -69.7557063,
- 47.0042751
- ],
- [
- -69.8180391,
- 47.0042751
- ],
- [
- -69.8180391,
- 46.9415344
- ],
- [
- -69.8804023,
- 46.9415344
- ],
- [
- -69.8804023,
- 46.8792519
- ],
- [
- -69.9421674,
- 46.8792519
- ],
- [
- -69.9421674,
- 46.8177399
- ],
- [
- -70.0063088,
- 46.8177399
- ],
- [
- -70.0063088,
- 46.6920295
- ],
- [
- -70.0704265,
- 46.6920295
- ],
- [
- -70.0704265,
- 46.4425926
- ],
- [
- -70.1945902,
- 46.4425926
- ],
- [
- -70.1945902,
- 46.3785887
- ],
- [
- -70.2562047,
- 46.3785887
- ],
- [
- -70.2562047,
- 46.3152628
- ],
- [
- -70.3203651,
- 46.3152628
- ],
- [
- -70.3203651,
- 46.0651209
- ],
- [
- -70.3814988,
- 46.0651209
- ],
- [
- -70.3814988,
- 45.93552
- ],
- [
- -70.3201618,
- 45.93552
- ],
- [
- -70.3201618,
- 45.879479
- ],
- [
- -70.4493131,
- 45.879479
- ],
- [
- -70.4493131,
- 45.7538713
- ],
- [
- -70.5070021,
- 45.7538713
- ],
- [
- -70.5070021,
- 45.6916912
- ],
- [
- -70.6316642,
- 45.6916912
- ],
- [
- -70.6316642,
- 45.6291619
- ],
- [
- -70.7575538,
- 45.6291619
- ],
- [
- -70.7575538,
- 45.4414685
- ],
- [
- -70.8809878,
- 45.4414685
- ],
- [
- -70.8809878,
- 45.3780612
- ],
- [
- -71.13328,
- 45.3780612
- ],
- [
- -71.13328,
- 45.3151452
- ],
- [
- -71.3830282,
- 45.3151452
- ],
- [
- -71.3830282,
- 45.253416
- ],
- [
- -71.5076448,
- 45.253416
- ],
- [
- -71.5076448,
- 45.0655726
- ],
- [
- -73.9418929,
- 45.0655726
- ],
- [
- -73.9418929,
- 45.0031242
- ],
- [
- -74.7469725,
- 45.0031242
- ],
- [
- -74.7469725,
- 45.0649003
- ],
- [
- -74.8800964,
- 45.0649003
- ],
- [
- -74.8800964,
- 45.0029023
- ],
- [
- -75.0662455,
- 45.0029023
- ],
- [
- -75.0662455,
- 44.9415167
- ],
- [
- -75.2539363,
- 44.9415167
- ],
- [
- -75.2539363,
- 44.8776043
- ],
- [
- -75.3789648,
- 44.8776043
- ],
- [
- -75.3789648,
- 44.8153462
- ],
- [
- -75.4431283,
- 44.8153462
- ],
- [
- -75.4431283,
- 44.7536053
- ],
- [
- -75.5666566,
- 44.7536053
- ],
- [
- -75.5666566,
- 44.6909879
- ],
- [
- -75.6290205,
- 44.6909879
- ],
- [
- -75.6290205,
- 44.6284958
- ],
- [
- -75.7540484,
- 44.6284958
- ],
- [
- -75.7540484,
- 44.566385
- ],
- [
- -75.817312,
- 44.566385
- ],
- [
- -75.817312,
- 44.5028932
- ],
- [
- -75.8799549,
- 44.5028932
- ],
- [
- -75.8799549,
- 44.3784946
- ],
- [
- -76.1300319,
- 44.3784946
- ],
- [
- -76.1300319,
- 44.3159227
- ],
- [
- -76.1926961,
- 44.3159227
- ],
- [
- -76.1926961,
- 44.2534378
- ],
- [
- -76.3182619,
- 44.2534378
- ],
- [
- -76.3182619,
- 44.1916726
- ],
- [
- -76.3792975,
- 44.1916726
- ],
- [
- -76.3792975,
- 44.0653733
- ],
- [
- -76.4427584,
- 44.0653733
- ],
- [
- -76.4427584,
- 43.9963825
- ],
- [
- -76.317027,
- 43.9963825
- ],
- [
- -76.317027,
- 43.9414581
- ],
- [
- -76.5076611,
- 43.9414581
- ],
- [
- -76.5076611,
- 43.8723335
- ],
- [
- -76.3829974,
- 43.8723335
- ],
- [
- -76.3829974,
- 43.8091872
- ],
- [
- -76.2534102,
- 43.8091872
- ],
- [
- -76.2534102,
- 43.5665222
- ],
- [
- -76.5064833,
- 43.5665222
- ],
- [
- -76.5064833,
- 43.5033881
- ],
- [
- -76.6331208,
- 43.5033881
- ],
- [
- -76.6331208,
- 43.4432252
- ],
- [
- -76.6951085,
- 43.4432252
- ],
- [
- -76.6951085,
- 43.3786858
- ],
- [
- -76.8177798,
- 43.3786858
- ],
- [
- -76.8177798,
- 43.318066
- ],
- [
- -77.682,
- 43.318066
- ],
- [
- -77.682,
- 43.3789376
- ],
- [
- -78.0565883,
- 43.3789376
- ],
- [
- -78.0565883,
- 43.4396918
- ],
- [
- -78.4389748,
- 43.4396918
- ],
- [
- -78.4389748,
- 43.3794382
- ],
- [
- -78.8803396,
- 43.3794382
- ],
- [
- -78.8803396,
- 43.3149724
- ],
- [
- -79.1298858,
- 43.3149724
- ],
- [
- -79.1298858,
- 43.2429286
- ],
- [
- -79.0669615,
- 43.2429286
- ],
- [
- -79.0669615,
- 43.1299931
- ],
- [
- -79.1298858,
- 43.1299931
- ],
- [
- -79.1298858,
- 43.0577305
- ],
- [
- -79.071264,
- 43.0577305
- ],
- [
- -79.071264,
- 42.9294906
- ],
- [
- -78.943264,
- 42.9294906
- ],
- [
- -78.943264,
- 42.7542165
- ],
- [
- -79.069439,
- 42.7542165
- ],
- [
- -79.069439,
- 42.6941622
- ],
- [
- -79.133439,
- 42.6941622
- ],
- [
- -79.133439,
- 42.6296973
- ],
- [
- -79.1947499,
- 42.6296973
- ],
- [
- -79.1947499,
- 42.5663538
- ],
- [
- -79.3786827,
- 42.5663538
- ],
- [
- -79.3786827,
- 42.5033425
- ],
- [
- -79.4442961,
- 42.5033425
- ],
- [
- -79.4442961,
- 42.4410614
- ],
- [
- -79.5679936,
- 42.4410614
- ],
- [
- -79.5679936,
- 42.3775264
- ],
- [
- -79.6906154,
- 42.3775264
- ],
- [
- -79.6906154,
- 42.3171086
- ],
- [
- -79.8164642,
- 42.3171086
- ],
- [
- -79.8164642,
- 42.2534481
- ],
- [
- -80.0052373,
- 42.2534481
- ],
- [
- -80.0052373,
- 42.1909188
- ],
- [
- -80.1916829,
- 42.1909188
- ],
- [
- -80.1916829,
- 42.1272555
- ],
- [
- -80.3167992,
- 42.1272555
- ],
- [
- -80.3167992,
- 42.0669857
- ],
- [
- -80.5063234,
- 42.0669857
- ],
- [
- -80.5063234,
- 42.0034331
- ],
- [
- -80.6930471,
- 42.0034331
- ],
- [
- -80.6930471,
- 41.9415141
- ],
- [
- -80.9440403,
- 41.9415141
- ],
- [
- -80.9440403,
- 41.8781193
- ],
- [
- -81.1942729,
- 41.8781193
- ],
- [
- -81.1942729,
- 41.8166455
- ],
- [
- -81.3190089,
- 41.8166455
- ],
- [
- -81.3190089,
- 41.7545453
- ],
- [
- -81.4418435,
- 41.7545453
- ],
- [
- -81.4418435,
- 41.690965
- ],
- [
- -81.5053523,
- 41.690965
- ],
- [
- -81.5053523,
- 41.6301643
- ],
- [
- -82.7470081,
- 41.6301643
- ],
- [
- -82.7470081,
- 41.7536942
- ],
- [
- -82.8839135,
- 41.7536942
- ],
- [
- -82.8839135,
- 41.5656075
- ],
- [
- -82.9957195,
- 41.5656075
- ],
- [
- -82.9957195,
- 41.6270375
- ],
- [
- -83.1257796,
- 41.6270375
- ],
- [
- -83.1257796,
- 41.6878411
- ],
- [
- -83.2474733,
- 41.6878411
- ],
- [
- -83.2474733,
- 41.7536942
- ],
- [
- -83.3737305,
- 41.7536942
- ],
- [
- -83.3737305,
- 41.809276
- ],
- [
- -83.3106019,
- 41.809276
- ],
- [
- -83.3106019,
- 41.8716064
- ],
- [
- -83.2474733,
- 41.8716064
- ],
- [
- -83.2474733,
- 41.9361393
- ],
- [
- -83.1843447,
- 41.9361393
- ],
- [
- -83.1843447,
- 41.9960851
- ],
- [
- -83.1207681,
- 41.9960851
- ],
- [
- -83.1207681,
- 42.2464812
- ],
- [
- -83.0589194,
- 42.2464812
- ],
- [
- -83.0589194,
- 42.3089555
- ],
- [
- -82.8685328,
- 42.3089555
- ],
- [
- -82.8685328,
- 42.3717652
- ],
- [
- -82.8072219,
- 42.3717652
- ],
- [
- -82.8072219,
- 42.558553
- ],
- [
- -82.7553745,
- 42.558553
- ],
- [
- -82.7553745,
- 42.4954945
- ],
- [
- -82.5599041,
- 42.4954945
- ],
- [
- -82.5599041,
- 42.558553
- ],
- [
- -82.4967755,
- 42.558553
- ],
- [
- -82.4967755,
- 42.6833607
- ],
- [
- -82.4328863,
- 42.6833607
- ],
- [
- -82.4328863,
- 42.9342196
- ],
- [
- -82.3700552,
- 42.9342196
- ],
- [
- -82.3700552,
- 43.0648071
- ],
- [
- -82.4328863,
- 43.0648071
- ],
- [
- -82.4328863,
- 43.1917566
- ],
- [
- -82.4947464,
- 43.1917566
- ],
- [
- -82.4947464,
- 43.5034627
- ],
- [
- -82.557133,
- 43.5034627
- ],
- [
- -82.557133,
- 43.8160901
- ],
- [
- -82.6197884,
- 43.8160901
- ],
- [
- -82.6197884,
- 43.9422098
- ],
- [
- -82.6839499,
- 43.9422098
- ],
- [
- -82.6839499,
- 44.0022641
- ],
- [
- -82.7465346,
- 44.0022641
- ],
- [
- -82.7465346,
- 44.0670545
- ],
- [
- -82.8708696,
- 44.0670545
- ],
- [
- -82.8708696,
- 44.1291935
- ],
- [
- -83.008517,
- 44.1291935
- ],
- [
- -83.008517,
- 44.0664786
- ],
- [
- -83.1336086,
- 44.0664786
- ],
- [
- -83.1336086,
- 44.0053949
- ],
- [
- -83.2414522,
- 44.0053949
- ],
- [
- -83.2414522,
- 44.9962034
- ],
- [
- -83.1806112,
- 44.9962034
- ],
- [
- -83.1806112,
- 45.067302
- ],
- [
- -83.2455172,
- 45.067302
- ],
- [
- -83.2455172,
- 45.1287382
- ],
- [
- -83.3065878,
- 45.1287382
- ],
- [
- -83.3065878,
- 45.2551509
- ],
- [
- -83.3706087,
- 45.2551509
- ],
- [
- -83.3706087,
- 45.3165923
- ],
- [
- -83.4325644,
- 45.3165923
- ],
- [
- -83.4325644,
- 45.3792105
- ],
- [
- -83.6178415,
- 45.3792105
- ],
- [
- -83.6178415,
- 45.4419665
- ],
- [
- -83.8084291,
- 45.4419665
- ],
- [
- -83.8084291,
- 45.5036189
- ],
- [
- -84.0550718,
- 45.5036189
- ],
- [
- -84.0550718,
- 45.5647907
- ],
- [
- -84.1235181,
- 45.5647907
- ],
- [
- -84.1235181,
- 45.6287845
- ],
- [
- -84.1807534,
- 45.6287845
- ],
- [
- -84.1807534,
- 45.6914688
- ],
- [
- -84.3111554,
- 45.6914688
- ],
- [
- -84.3111554,
- 45.9337076
- ],
- [
- -83.8209974,
- 45.9337076
- ],
- [
- -83.8209974,
- 45.8725113
- ],
- [
- -83.4968086,
- 45.8725113
- ],
- [
- -83.4968086,
- 45.9337076
- ],
- [
- -83.4338066,
- 45.9337076
- ],
- [
- -83.4338066,
- 46.0016863
- ],
- [
- -83.4962697,
- 46.0016863
- ],
- [
- -83.4962697,
- 46.0668178
- ],
- [
- -83.5599956,
- 46.0668178
- ],
- [
- -83.5599956,
- 46.1261576
- ],
- [
- -83.9954558,
- 46.1261576
- ],
- [
- -83.9954558,
- 46.1931747
- ],
- [
- -84.0591816,
- 46.1931747
- ],
- [
- -84.0591816,
- 46.3814972
- ],
- [
- -84.1152614,
- 46.3814972
- ],
- [
- -84.1152614,
- 46.4953584
- ],
- [
- -84.0591816,
- 46.4953584
- ],
- [
- -84.0591816,
- 46.5682653
- ],
- [
- -84.2579545,
- 46.5682653
- ],
- [
- -84.2579545,
- 46.5051232
- ],
- [
- -84.3071879,
- 46.5051232
- ],
- [
- -84.3071879,
- 46.5682653
- ],
- [
- -84.4415364,
- 46.5682653
- ],
- [
- -84.4415364,
- 46.504525
- ],
- [
- -84.9965729,
- 46.504525
- ],
- [
- -84.9965729,
- 46.6842882
- ],
- [
- -84.9298158,
- 46.6842882
- ],
- [
- -84.9298158,
- 46.818077
- ],
- [
- -85.3165894,
- 46.818077
- ],
- [
- -85.3165894,
- 46.7535825
- ],
- [
- -87.5562645,
- 46.7535825
- ],
- [
- -87.5562645,
- 47.4407371
- ],
- [
- -87.6825361,
- 47.4407371
- ],
- [
- -87.6825361,
- 47.5035554
- ],
- [
- -88.2560738,
- 47.5035554
- ],
- [
- -88.2560738,
- 47.4433716
- ],
- [
- -88.4417419,
- 47.4433716
- ],
- [
- -88.4417419,
- 47.3789949
- ],
- [
- -88.50683,
- 47.3789949
- ],
- [
- -88.50683,
- 47.3153881
- ],
- [
- -88.6312821,
- 47.3153881
- ],
- [
- -88.6312821,
- 47.2539782
- ],
- [
- -88.7569636,
- 47.2539782
- ],
- [
- -88.7569636,
- 47.1934682
- ],
- [
- -88.8838253,
- 47.1934682
- ],
- [
- -88.8838253,
- 47.1284735
- ],
- [
- -88.9434208,
- 47.1284735
- ],
- [
- -88.9434208,
- 47.0662127
- ],
- [
- -89.0708726,
- 47.0662127
- ],
- [
- -89.0708726,
- 47.0026826
- ],
- [
- -89.2565553,
- 47.0026826
- ],
- [
- -89.2565553,
- 46.9410806
- ],
- [
- -90.3677669,
- 46.9410806
- ],
- [
- -90.3677669,
- 47.6844827
- ],
- [
- -90.3069978,
- 47.6844827
- ],
- [
- -90.3069978,
- 47.7460174
- ],
- [
- -89.994859,
- 47.7460174
- ],
- [
- -89.994859,
- 47.8082719
- ],
- [
- -89.8048615,
- 47.8082719
- ],
- [
- -89.8048615,
- 47.8700562
- ],
- [
- -89.6797699,
- 47.8700562
- ],
- [
- -89.6797699,
- 47.9339637
- ],
- [
- -89.4933757,
- 47.9339637
- ],
- [
- -89.4933757,
- 47.9957956
- ],
- [
- -89.4284697,
- 47.9957956
- ],
- [
- -89.4284697,
- 48.0656377
- ],
- [
- -89.9932739,
- 48.0656377
- ],
- [
- -89.9932739,
- 48.1282966
- ],
- [
- -90.7455933,
- 48.1282966
- ],
- [
- -90.7455933,
- 48.1893056
- ],
- [
- -90.8087291,
- 48.1893056
- ],
- [
- -90.8087291,
- 48.2522065
- ],
- [
- -91.067763,
- 48.2522065
- ],
- [
- -91.067763,
- 48.1916658
- ],
- [
- -91.1946247,
- 48.1916658
- ],
- [
- -91.1946247,
- 48.1279027
- ],
- [
- -91.6814196,
- 48.1279027
- ],
- [
- -91.6814196,
- 48.2525994
- ],
- [
- -91.9321927,
- 48.2525994
- ],
- [
- -91.9321927,
- 48.3142454
- ],
- [
- -91.9929683,
- 48.3142454
- ],
- [
- -91.9929683,
- 48.3780845
- ],
- [
- -92.3189383,
- 48.3780845
- ],
- [
- -92.3189383,
- 48.2529081
- ],
- [
- -92.3732233,
- 48.2529081
- ],
- [
- -92.3732233,
- 48.3153385
- ],
- [
- -92.4322288,
- 48.3153385
- ],
- [
- -92.4322288,
- 48.4411448
- ],
- [
- -92.4977248,
- 48.4411448
- ],
- [
- -92.4977248,
- 48.501781
- ],
- [
- -92.5679413,
- 48.501781
- ],
- [
- -92.5679413,
- 48.439579
- ],
- [
- -92.6210462,
- 48.439579
- ],
- [
- -92.6210462,
- 48.5650783
- ],
- [
- -92.8086835,
- 48.5650783
- ],
- [
- -92.8086835,
- 48.6286865
- ],
- [
- -92.8086835,
- 48.6267365
- ],
- [
- -92.933185,
- 48.6267365
- ],
- [
- -92.933185,
- 48.6922145
- ],
- [
- -93.0051716,
- 48.6922145
- ],
- [
- -93.0051716,
- 48.6282965
- ],
- [
- -93.1225924,
- 48.6282965
- ],
- [
- -93.1225924,
- 48.6922145
- ],
- [
- -93.3190806,
- 48.6922145
- ],
- [
- -93.3190806,
- 48.6267365
- ],
- [
- -93.5049477,
- 48.6267365
- ],
- [
- -93.5049477,
- 48.5635164
- ],
- [
- -93.7474601,
- 48.5635164
- ],
- [
- -93.7474601,
- 48.6267365
- ],
- [
- -93.8135461,
- 48.6267365
- ],
- [
- -93.8135461,
- 48.6898775
- ],
- [
- -94.2453121,
- 48.6898775
- ],
- [
- -94.2453121,
- 48.7554327
- ],
- [
- -94.6183171,
- 48.7554327
- ],
- [
- -94.6183171,
- 48.941036
- ],
- [
- -94.6809018,
- 48.941036
- ],
- [
- -94.6809018,
- 49.0029737
- ],
- [
- -94.7441532,
- 49.0029737
- ],
- [
- -94.7441532,
- 49.2536079
- ],
- [
- -94.8084069,
- 49.2536079
- ],
- [
- -94.8084069,
- 49.3784134
- ],
- [
- -95.1192391,
- 49.3784134
- ],
- [
- -95.1192391,
- 49.4425264
- ],
- [
- -95.1934341,
- 49.4425264
- ],
- [
- -95.1934341,
- 49.0035292
- ],
- [
- -96.87069,
- 49.0035292
- ],
- [
- -96.87069,
- 49.0656063
- ],
- [
- -99.0049312,
- 49.0656063
- ],
- [
- -99.0049312,
- 49.0050714
- ],
- [
- -109.3699257,
- 49.0050714
- ],
- [
- -109.3699257,
- 49.0668231
- ],
- [
- -109.5058746,
- 49.0668231
- ],
- [
- -109.5058746,
- 49.0050714
- ],
- [
- -114.1830014,
- 49.0050714
- ],
- [
- -114.1830014,
- 49.0687317
- ],
- [
- -114.7578709,
- 49.0687317
- ],
- [
- -114.7578709,
- 49.0050714
- ],
- [
- -115.433731,
- 49.0050714
- ],
- [
- -115.433731,
- 49.0671412
- ],
- [
- -116.5062706,
- 49.0671412
- ],
- [
- -116.5062706,
- 49.0050714
- ],
- [
- -117.3089504,
- 49.0050714
- ],
- [
- -117.3089504,
- 49.0659803
- ],
- [
- -119.882945,
- 49.0659803
- ],
- [
- -119.882945,
- 49.0050714
- ],
- [
- -120.1208555,
- 49.0050714
- ],
- [
- -120.1208555,
- 49.0678367
- ],
- [
- -121.4451636,
- 49.0678367
- ],
- [
- -121.4451636,
- 49.0050714
- ],
- [
- -121.9311808,
- 49.0050714
- ],
- [
- -121.9311808,
- 49.0656099
- ],
- [
- -122.817484,
- 49.0656099
- ],
- [
- -122.817484,
- 49.0029143
- ],
- [
- -122.8795155,
- 49.0029143
- ],
- [
- -122.8795155,
- 48.9347018
- ],
- [
- -122.8174629,
- 48.9347018
- ],
- [
- -122.8174629,
- 48.8101998
- ],
- [
- -122.7538859,
- 48.8101998
- ],
- [
- -122.7538859,
- 48.7533758
- ],
- [
- -122.8712937,
- 48.7533758
- ],
- [
- -122.8712937,
- 48.8153948
- ],
- [
- -123.0055391,
- 48.8153948
- ],
- [
- -123.0055391,
- 48.7529529
- ],
- [
- -123.1296926,
- 48.7529529
- ],
- [
- -123.1296926,
- 48.6902201
- ],
- [
- -123.1838197,
- 48.6902201
- ],
- [
- -123.1838197,
- 48.7529029
- ]
- ],
- [
- [
- -122.9341743,
- 37.7521547
- ],
- [
- -122.9347457,
- 37.6842013
- ],
- [
- -123.0679013,
- 37.6849023
- ],
- [
- -123.0673747,
- 37.7475251
- ],
- [
- -123.1292603,
- 37.7478506
- ],
- [
- -123.1286894,
- 37.815685
- ],
- [
- -123.0590687,
- 37.8153192
- ],
- [
- -123.0595947,
- 37.7528143
- ]
- ],
- [
- [
- -71.6299464,
- 41.2540893
- ],
- [
- -71.4966465,
- 41.2541393
- ],
- [
- -71.4965596,
- 41.122965
- ],
- [
- -71.6298594,
- 41.1229149
- ]
- ],
- [
- [
- -70.3184265,
- 41.3775196
- ],
- [
- -70.3183384,
- 41.2448243
- ],
- [
- -70.1906612,
- 41.2448722
- ],
- [
- -70.1906239,
- 41.1886019
- ],
- [
- -69.9336025,
- 41.1886984
- ],
- [
- -69.933729,
- 41.3791941
- ],
- [
- -69.9950664,
- 41.3791712
- ],
- [
- -69.995109,
- 41.443159
- ],
- [
- -70.0707828,
- 41.4431307
- ],
- [
- -70.0706972,
- 41.3144915
- ],
- [
- -70.2461667,
- 41.3144258
- ],
- [
- -70.2462087,
- 41.3775467
- ]
- ],
- [
- [
- -68.9403374,
- 43.9404062
- ],
- [
- -68.6856948,
- 43.9404977
- ],
- [
- -68.6856475,
- 43.8721797
- ],
- [
- -68.7465405,
- 43.8721577
- ],
- [
- -68.7464976,
- 43.8102529
- ],
- [
- -68.8090782,
- 43.8102304
- ],
- [
- -68.8090343,
- 43.746728
- ],
- [
- -68.8773094,
- 43.7467034
- ],
- [
- -68.8773544,
- 43.8117826
- ],
- [
- -68.9402483,
- 43.8117599
- ]
- ],
- [
- [
- -123.1291466,
- 49.0645144
- ],
- [
- -122.9954224,
- 49.0645144
- ],
- [
- -122.9954224,
- 48.9343243
- ],
- [
- -123.1291466,
- 48.9343243
- ]
- ],
- [
- [
- -82.9407144,
- 24.7535913
- ],
- [
- -82.8719398,
- 24.7535913
- ],
- [
- -82.8719398,
- 24.6905653
- ],
- [
- -82.7446233,
- 24.6905653
- ],
- [
- -82.7446233,
- 24.6214593
- ],
- [
- -82.8088038,
- 24.6214593
- ],
- [
- -82.8088038,
- 24.5594908
- ],
- [
- -82.9407144,
- 24.5594908
- ]
- ]
- ]
- },
- {
- "name": "USGS Topographic Maps",
- "type": "tms",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_scanned_topos/{zoom}/{x}/{y}.png",
- "polygon": [
- [
- [
- -125.990173,
- 48.9962416
- ],
- [
- -125.989419,
- 47.9948396
- ],
- [
- -123.9929739,
- 47.9955062
- ],
- [
- -123.9922429,
- 47.0059202
- ],
- [
- -125.988688,
- 47.0052409
- ],
- [
- -125.9879604,
- 46.0015618
- ],
- [
- -123.9939396,
- 46.0022529
- ],
- [
- -123.9925238,
- 43.9961708
- ],
- [
- -124.9931832,
- 43.9958116
- ],
- [
- -124.9918175,
- 41.9942149
- ],
- [
- -125.9851789,
- 41.9938465
- ],
- [
- -125.9838655,
- 40.0076111
- ],
- [
- -123.9833285,
- 40.0083757
- ],
- [
- -123.9814115,
- 37.002615
- ],
- [
- -122.21903,
- 37.0033173
- ],
- [
- -122.2184144,
- 36.011671
- ],
- [
- -122.020087,
- 36.011751
- ],
- [
- -122.0188591,
- 33.9961766
- ],
- [
- -119.9787757,
- 33.9970206
- ],
- [
- -119.9775867,
- 31.9987658
- ],
- [
- -114.0122833,
- 32.00129
- ],
- [
- -114.0116894,
- 30.9862401
- ],
- [
- -105.998294,
- 30.9896679
- ],
- [
- -105.9971419,
- 28.9901065
- ],
- [
- -102.0210506,
- 28.9918418
- ],
- [
- -102.0204916,
- 28.00733
- ],
- [
- -100.0062436,
- 28.0082173
- ],
- [
- -100.0051143,
- 25.991909
- ],
- [
- -98.0109067,
- 25.9928035
- ],
- [
- -98.0103613,
- 25.0063461
- ],
- [
- -97.0161086,
- 25.0067957
- ],
- [
- -97.016654,
- 25.9932494
- ],
- [
- -95.9824825,
- 25.9937132
- ],
- [
- -95.9835999,
- 27.9891175
- ],
- [
- -94.0200898,
- 27.9899826
- ],
- [
- -94.0206586,
- 28.9918129
- ],
- [
- -88.0156706,
- 28.9944338
- ],
- [
- -88.0162494,
- 30.0038862
- ],
- [
- -86.0277506,
- 30.0047454
- ],
- [
- -86.0271719,
- 28.9953016
- ],
- [
- -84.0187909,
- 28.9961781
- ],
- [
- -84.017095,
- 25.9817708
- ],
- [
- -81.9971976,
- 25.9826768
- ],
- [
- -81.9966618,
- 25.0134917
- ],
- [
- -84.0165592,
- 25.0125783
- ],
- [
- -84.0160068,
- 24.0052745
- ],
- [
- -80.0199985,
- 24.007096
- ],
- [
- -80.0245309,
- 32.0161282
- ],
- [
- -78.0066484,
- 32.0169819
- ],
- [
- -78.0072238,
- 32.9894278
- ],
- [
- -77.8807233,
- 32.9894807
- ],
- [
- -77.8813253,
- 33.9955918
- ],
- [
- -76.0115411,
- 33.9963653
- ],
- [
- -76.0121459,
- 34.9952552
- ],
- [
- -74.0068449,
- 34.9960749
- ],
- [
- -74.0099997,
- 40.0084254
- ],
- [
- -72.0013745,
- 40.0091931
- ],
- [
- -72.002019,
- 40.9912464
- ],
- [
- -69.8797398,
- 40.9920457
- ],
- [
- -69.8804173,
- 42.00893
- ],
- [
- -69.9927682,
- 42.0088883
- ],
- [
- -69.9934462,
- 43.0105166
- ],
- [
- -67.9845366,
- 43.0112496
- ],
- [
- -67.985224,
- 44.0103812
- ],
- [
- -65.9892568,
- 44.0110975
- ],
- [
- -65.9921237,
- 47.9993584
- ],
- [
- -70.006442,
- 47.9980181
- ],
- [
- -70.005708,
- 47.0042007
- ],
- [
- -72.023686,
- 47.003514
- ],
- [
- -72.0222508,
- 45.0059846
- ],
- [
- -78.0146667,
- 45.0038705
- ],
- [
- -78.0139662,
- 44.0026998
- ],
- [
- -80.029686,
- 44.0019763
- ],
- [
- -80.0290052,
- 43.0122994
- ],
- [
- -81.995479,
- 43.011582
- ],
- [
- -81.9982986,
- 47.0042713
- ],
- [
- -87.505706,
- 47.0023972
- ],
- [
- -87.5064535,
- 48.0142702
- ],
- [
- -88.0260889,
- 48.0140968
- ],
- [
- -88.026838,
- 49.0086686
- ],
- [
- -93.9981078,
- 49.0067142
- ],
- [
- -93.9988778,
- 50.0086456
- ],
- [
- -96.0138899,
- 50.0079995
- ],
- [
- -96.0131199,
- 49.0060547
- ]
- ],
- [
- [
- -160.5787616,
- 22.5062947
- ],
- [
- -160.5782192,
- 21.4984647
- ],
- [
- -159.0030121,
- 21.499196
- ],
- [
- -159.0027422,
- 20.9951068
- ],
- [
- -157.5083185,
- 20.995803
- ],
- [
- -157.5080519,
- 20.4960241
- ],
- [
- -155.966889,
- 20.4967444
- ],
- [
- -155.9674267,
- 21.5028287
- ],
- [
- -157.5044717,
- 21.5021151
- ],
- [
- -157.5047384,
- 21.9984962
- ],
- [
- -159.0090946,
- 21.9978002
- ],
- [
- -159.0093692,
- 22.5070181
- ]
- ],
- [
- [
- -168.006102,
- 68.9941463
- ],
- [
- -168.0047628,
- 68.0107853
- ],
- [
- -165.4842481,
- 68.0112562
- ],
- [
- -165.4829337,
- 67.0037303
- ],
- [
- -168.0034485,
- 67.0032389
- ],
- [
- -168.002195,
- 66.0017503
- ],
- [
- -169.0087448,
- 66.001546
- ],
- [
- -169.0075381,
- 64.9987675
- ],
- [
- -168.0009882,
- 64.9989798
- ],
- [
- -167.9998282,
- 63.9982374
- ],
- [
- -164.9871288,
- 63.9988964
- ],
- [
- -164.9860062,
- 62.9950845
- ],
- [
- -167.9987057,
- 62.9944019
- ],
- [
- -167.9946035,
- 59.0153692
- ],
- [
- -162.5027857,
- 59.0167799
- ],
- [
- -162.5018149,
- 58.0005815
- ],
- [
- -160.0159024,
- 58.0012389
- ],
- [
- -160.0149725,
- 57.000035
- ],
- [
- -160.5054788,
- 56.9999017
- ],
- [
- -160.5045719,
- 55.9968161
- ],
- [
- -164.012195,
- 55.9958373
- ],
- [
- -164.0113186,
- 55.00107
- ],
- [
- -165.994782,
- 55.0005023
- ],
- [
- -165.9941266,
- 54.2400584
- ],
- [
- -168.0002944,
- 54.2394734
- ],
- [
- -168.0000986,
- 54.0094921
- ],
- [
- -170.0156134,
- 54.0089011
- ],
- [
- -170.0147683,
- 53.0016446
- ],
- [
- -171.9993636,
- 53.0010487
- ],
- [
- -171.9989488,
- 52.4977745
- ],
- [
- -176.0083239,
- 52.4965566
- ],
- [
- -176.0081186,
- 52.2452555
- ],
- [
- -178.000097,
- 52.2446469
- ],
- [
- -177.9992996,
- 51.2554252
- ],
- [
- -176.0073212,
- 51.2560472
- ],
- [
- -176.0075146,
- 51.4980163
- ],
- [
- -171.9981395,
- 51.4992617
- ],
- [
- -171.9985419,
- 51.9985373
- ],
- [
- -167.9984317,
- 51.9997661
- ],
- [
- -167.9994645,
- 53.2560877
- ],
- [
- -165.9932968,
- 53.2566866
- ],
- [
- -165.9939308,
- 54.0100804
- ],
- [
- -159.0067205,
- 54.0121291
- ],
- [
- -159.0075717,
- 55.002502
- ],
- [
- -158.0190709,
- 55.0027849
- ],
- [
- -158.0199473,
- 55.9975094
- ],
- [
- -151.9963213,
- 55.9991902
- ],
- [
- -151.9981536,
- 57.9986536
- ],
- [
- -151.500341,
- 57.9987853
- ],
- [
- -151.5012894,
- 58.9919816
- ],
- [
- -138.5159989,
- 58.9953194
- ],
- [
- -138.5150471,
- 57.9986434
- ],
- [
- -136.6872422,
- 57.9991267
- ],
- [
- -136.6863158,
- 57.0016688
- ],
- [
- -135.9973698,
- 57.001856
- ],
- [
- -135.9964667,
- 56.0030544
- ],
- [
- -134.6717732,
- 56.003424
- ],
- [
- -134.6708865,
- 54.9969623
- ],
- [
- -133.9956734,
- 54.9971556
- ],
- [
- -133.9948193,
- 54.0031685
- ],
- [
- -130.0044418,
- 54.0043387
- ],
- [
- -130.0070826,
- 57.0000507
- ],
- [
- -131.975877,
- 56.9995156
- ],
- [
- -131.9787378,
- 59.9933094
- ],
- [
- -138.0071813,
- 59.991805
- ],
- [
- -138.0082158,
- 61.0125755
- ],
- [
- -140.9874011,
- 61.0118551
- ],
- [
- -140.99984,
- 71.0039309
- ],
- [
- -154.5023956,
- 71.0017377
- ],
- [
- -154.5039632,
- 71.9983391
- ],
- [
- -157.499048,
- 71.9978773
- ],
- [
- -157.4974758,
- 70.9982877
- ],
- [
- -163.0233611,
- 70.9973899
- ],
- [
- -163.0218273,
- 69.9707435
- ],
- [
- -164.9730896,
- 69.97041
- ],
- [
- -164.9717003,
- 68.994689
- ]
- ],
- [
- [
- -168.5133204,
- 62.8689586
- ],
- [
- -168.5144423,
- 63.8765677
- ],
- [
- -172.0202755,
- 63.8757975
- ],
- [
- -172.0191536,
- 62.8681608
- ]
- ],
- [
- [
- -170.9947111,
- 59.9954089
- ],
- [
- -170.995726,
- 60.9969787
- ],
- [
- -174.0045311,
- 60.9962508
- ],
- [
- -174.0035162,
- 59.9946581
- ]
- ],
- [
- [
- -156.0717261,
- 20.2854602
- ],
- [
- -154.7940471,
- 20.2860582
- ],
- [
- -154.7933145,
- 18.9029464
- ],
- [
- -156.0709936,
- 18.9023432
- ]
- ]
- ]
- },
- {
- "name": "Vejmidte (Denmark)",
- "type": "tms",
- "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/danmark/vejmidte/{zoom}/{x}/{y}.png",
- "scaleExtent": [
- 0,
- 20
- ],
- "polygon": [
- [
- [
- 8.3743941,
- 54.9551655
- ],
- [
- 8.3683809,
- 55.4042149
- ],
- [
- 8.2103997,
- 55.4039795
- ],
- [
- 8.2087314,
- 55.4937345
- ],
- [
- 8.0502655,
- 55.4924731
- ],
- [
- 8.0185123,
- 56.7501399
- ],
- [
- 8.1819161,
- 56.7509948
- ],
- [
- 8.1763274,
- 57.0208898
- ],
- [
- 8.3413329,
- 57.0219872
- ],
- [
- 8.3392467,
- 57.1119574
- ],
- [
- 8.5054433,
- 57.1123212
- ],
- [
- 8.5033923,
- 57.2020499
- ],
- [
- 9.3316304,
- 57.2027636
- ],
- [
- 9.3319079,
- 57.2924835
- ],
- [
- 9.4978864,
- 57.2919578
- ],
- [
- 9.4988593,
- 57.3820608
- ],
- [
- 9.6649749,
- 57.3811615
- ],
- [
- 9.6687295,
- 57.5605591
- ],
- [
- 9.8351961,
- 57.5596265
- ],
- [
- 9.8374896,
- 57.6493322
- ],
- [
- 10.1725726,
- 57.6462818
- ],
- [
- 10.1754245,
- 57.7367768
- ],
- [
- 10.5118282,
- 57.7330269
- ],
- [
- 10.5152095,
- 57.8228945
- ],
- [
- 10.6834853,
- 57.8207722
- ],
- [
- 10.6751613,
- 57.6412021
- ],
- [
- 10.5077045,
- 57.6433097
- ],
- [
- 10.5039992,
- 57.5535088
- ],
- [
- 10.671038,
- 57.5514113
- ],
- [
- 10.6507805,
- 57.1024538
- ],
- [
- 10.4857673,
- 57.1045138
- ],
- [
- 10.4786236,
- 56.9249051
- ],
- [
- 10.3143981,
- 56.9267573
- ],
- [
- 10.3112341,
- 56.8369269
- ],
- [
- 10.4750295,
- 56.83509
- ],
- [
- 10.4649016,
- 56.5656681
- ],
- [
- 10.9524239,
- 56.5589761
- ],
- [
- 10.9479249,
- 56.4692243
- ],
- [
- 11.1099335,
- 56.4664675
- ],
- [
- 11.1052639,
- 56.376833
- ],
- [
- 10.9429901,
- 56.3795284
- ],
- [
- 10.9341235,
- 56.1994768
- ],
- [
- 10.7719685,
- 56.2020244
- ],
- [
- 10.7694751,
- 56.1120103
- ],
- [
- 10.6079695,
- 56.1150259
- ],
- [
- 10.4466742,
- 56.116717
- ],
- [
- 10.2865948,
- 56.118675
- ],
- [
- 10.2831527,
- 56.0281851
- ],
- [
- 10.4439274,
- 56.0270388
- ],
- [
- 10.4417713,
- 55.7579243
- ],
- [
- 10.4334961,
- 55.6693533
- ],
- [
- 10.743814,
- 55.6646861
- ],
- [
- 10.743814,
- 55.5712253
- ],
- [
- 10.8969041,
- 55.5712253
- ],
- [
- 10.9051793,
- 55.3953852
- ],
- [
- 11.0613726,
- 55.3812841
- ],
- [
- 11.0593038,
- 55.1124061
- ],
- [
- 11.0458567,
- 55.0318621
- ],
- [
- 11.2030844,
- 55.0247474
- ],
- [
- 11.2030844,
- 55.117139
- ],
- [
- 11.0593038,
- 55.1124061
- ],
- [
- 11.0613726,
- 55.3812841
- ],
- [
- 11.0789572,
- 55.5712253
- ],
- [
- 10.8969041,
- 55.5712253
- ],
- [
- 10.9258671,
- 55.6670198
- ],
- [
- 10.743814,
- 55.6646861
- ],
- [
- 10.7562267,
- 55.7579243
- ],
- [
- 10.4417713,
- 55.7579243
- ],
- [
- 10.4439274,
- 56.0270388
- ],
- [
- 10.4466742,
- 56.116717
- ],
- [
- 10.6079695,
- 56.1150259
- ],
- [
- 10.6052053,
- 56.0247462
- ],
- [
- 10.9258671,
- 56.0201215
- ],
- [
- 10.9197132,
- 55.9309388
- ],
- [
- 11.0802782,
- 55.92792
- ],
- [
- 11.0858066,
- 56.0178284
- ],
- [
- 11.7265047,
- 56.005058
- ],
- [
- 11.7319981,
- 56.0952142
- ],
- [
- 12.0540333,
- 56.0871256
- ],
- [
- 12.0608477,
- 56.1762576
- ],
- [
- 12.7023469,
- 56.1594405
- ],
- [
- 12.6611131,
- 55.7114318
- ],
- [
- 12.9792318,
- 55.7014026
- ],
- [
- 12.9612912,
- 55.5217294
- ],
- [
- 12.3268659,
- 55.5412096
- ],
- [
- 12.3206071,
- 55.4513655
- ],
- [
- 12.4778226,
- 55.447067
- ],
- [
- 12.4702432,
- 55.3570479
- ],
- [
- 12.6269738,
- 55.3523837
- ],
- [
- 12.6200898,
- 55.2632576
- ],
- [
- 12.4627339,
- 55.26722
- ],
- [
- 12.4552949,
- 55.1778223
- ],
- [
- 12.2987046,
- 55.1822303
- ],
- [
- 12.2897344,
- 55.0923641
- ],
- [
- 12.6048608,
- 55.0832904
- ],
- [
- 12.5872011,
- 54.9036285
- ],
- [
- 12.2766618,
- 54.9119031
- ],
- [
- 12.2610181,
- 54.7331602
- ],
- [
- 12.1070691,
- 54.7378161
- ],
- [
- 12.0858621,
- 54.4681655
- ],
- [
- 11.7794953,
- 54.4753579
- ],
- [
- 11.7837381,
- 54.5654783
- ],
- [
- 11.1658525,
- 54.5782155
- ],
- [
- 11.1706443,
- 54.6686508
- ],
- [
- 10.8617173,
- 54.6733956
- ],
- [
- 10.8651245,
- 54.7634667
- ],
- [
- 10.7713646,
- 54.7643888
- ],
- [
- 10.7707276,
- 54.7372807
- ],
- [
- 10.7551428,
- 54.7375776
- ],
- [
- 10.7544039,
- 54.7195666
- ],
- [
- 10.7389074,
- 54.7197588
- ],
- [
- 10.7384368,
- 54.7108482
- ],
- [
- 10.7074486,
- 54.7113045
- ],
- [
- 10.7041094,
- 54.6756741
- ],
- [
- 10.5510973,
- 54.6781698
- ],
- [
- 10.5547184,
- 54.7670245
- ],
- [
- 10.2423994,
- 54.7705935
- ],
- [
- 10.2459845,
- 54.8604673
- ],
- [
- 10.0902268,
- 54.8622134
- ],
- [
- 10.0873731,
- 54.7723851
- ],
- [
- 9.1555798,
- 54.7769557
- ],
- [
- 9.1562752,
- 54.8675369
- ],
- [
- 8.5321973,
- 54.8663765
- ],
- [
- 8.531432,
- 54.95516
- ]
- ],
- [
- [
- 11.4577738,
- 56.819554
- ],
- [
- 11.7849181,
- 56.8127385
- ],
- [
- 11.7716715,
- 56.6332796
- ],
- [
- 11.4459621,
- 56.6401087
- ]
- ],
- [
- [
- 11.3274736,
- 57.3612962
- ],
- [
- 11.3161808,
- 57.1818004
- ],
- [
- 11.1508692,
- 57.1847276
- ],
- [
- 11.1456628,
- 57.094962
- ],
- [
- 10.8157703,
- 57.1001693
- ],
- [
- 10.8290599,
- 57.3695272
- ]
- ],
- [
- [
- 11.5843266,
- 56.2777928
- ],
- [
- 11.5782882,
- 56.1880397
- ],
- [
- 11.7392309,
- 56.1845765
- ],
- [
- 11.7456428,
- 56.2743186
- ]
- ],
- [
- [
- 14.6825922,
- 55.3639405
- ],
- [
- 14.8395247,
- 55.3565231
- ],
- [
- 14.8263755,
- 55.2671261
- ],
- [
- 15.1393406,
- 55.2517359
- ],
- [
- 15.1532015,
- 55.3410836
- ],
- [
- 15.309925,
- 55.3330556
- ],
- [
- 15.295719,
- 55.2437356
- ],
- [
- 15.1393406,
- 55.2517359
- ],
- [
- 15.1255631,
- 55.1623802
- ],
- [
- 15.2815819,
- 55.1544167
- ],
- [
- 15.2535578,
- 54.9757646
- ],
- [
- 14.6317464,
- 55.0062496
- ]
- ]
- ],
- "terms_url": "http://wiki.openstreetmap.org/wiki/Vejmidte",
- "terms_text": "Danish municipalities"
- },
- {
- "name": "Vienna: Beschriftungen (annotations)",
- "type": "tms",
- "template": "http://www.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png",
- "scaleExtent": [
- 0,
- 19
- ],
- "polygon": [
- [
- [
- 16.17,
- 48.1
- ],
- [
- 16.17,
- 48.33
- ],
- [
- 16.58,
- 48.33
- ],
- [
- 16.58,
- 48.1
- ],
- [
- 16.17,
- 48.1
- ]
- ]
- ],
- "terms_url": "http://data.wien.gv.at/",
- "terms_text": "Stadt Wien"
- },
- {
- "name": "Vienna: Mehrzweckkarte (general purpose)",
- "type": "tms",
- "template": "http://www.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg",
- "scaleExtent": [
- 0,
- 19
- ],
- "polygon": [
- [
- [
- 16.17,
- 48.1
- ],
- [
- 16.17,
- 48.33
- ],
- [
- 16.58,
- 48.33
- ],
- [
- 16.58,
- 48.1
- ],
- [
- 16.17,
- 48.1
- ]
- ]
- ],
- "terms_url": "http://data.wien.gv.at/",
- "terms_text": "Stadt Wien"
- },
- {
- "name": "Vienna: Orthofoto (aerial image)",
- "type": "tms",
- "template": "http://www.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg",
- "scaleExtent": [
- 0,
- 19
- ],
- "polygon": [
- [
- [
- 16.17,
- 48.1
- ],
- [
- 16.17,
- 48.33
- ],
- [
- 16.58,
- 48.33
- ],
- [
- 16.58,
- 48.1
- ],
- [
- 16.17,
- 48.1
- ]
- ]
- ],
- "terms_url": "http://data.wien.gv.at/",
- "terms_text": "Stadt Wien"
- }
- ],
- "wikipedia": [
- [
- "English",
- "English",
- "en"
- ],
- [
- "German",
- "Deutsch",
- "de"
- ],
- [
- "Dutch",
- "Nederlands",
- "nl"
- ],
- [
- "French",
- "Français",
- "fr"
- ],
- [
- "Italian",
- "Italiano",
- "it"
- ],
- [
- "Russian",
- "Русский",
- "ru"
- ],
- [
- "Spanish",
- "Español",
- "es"
- ],
- [
- "Polish",
- "Polski",
- "pl"
- ],
- [
- "Swedish",
- "Svenska",
- "sv"
- ],
- [
- "Japanese",
- "日本語",
- "ja"
- ],
- [
- "Portuguese",
- "Português",
- "pt"
- ],
- [
- "Chinese",
- "中文",
- "zh"
- ],
- [
- "Vietnamese",
- "Tiếng Việt",
- "vi"
- ],
- [
- "Ukrainian",
- "Українська",
- "uk"
- ],
- [
- "Catalan",
- "Català",
- "ca"
- ],
- [
- "Norwegian (Bokmål)",
- "Norsk (Bokmål)",
- "no"
- ],
- [
- "Waray-Waray",
- "Winaray",
- "war"
- ],
- [
- "Cebuano",
- "Sinugboanong Binisaya",
- "ceb"
- ],
- [
- "Finnish",
- "Suomi",
- "fi"
- ],
- [
- "Persian",
- "فارسی",
- "fa"
- ],
- [
- "Czech",
- "Čeština",
- "cs"
- ],
- [
- "Hungarian",
- "Magyar",
- "hu"
- ],
- [
- "Korean",
- "한국어",
- "ko"
- ],
- [
- "Romanian",
- "Română",
- "ro"
- ],
- [
- "Arabic",
- "العربية",
- "ar"
- ],
- [
- "Turkish",
- "Türkçe",
- "tr"
- ],
- [
- "Indonesian",
- "Bahasa Indonesia",
- "id"
- ],
- [
- "Kazakh",
- "Қазақша",
- "kk"
- ],
- [
- "Malay",
- "Bahasa Melayu",
- "ms"
- ],
- [
- "Serbian",
- "Српски / Srpski",
- "sr"
- ],
- [
- "Slovak",
- "Slovenčina",
- "sk"
- ],
- [
- "Esperanto",
- "Esperanto",
- "eo"
- ],
- [
- "Danish",
- "Dansk",
- "da"
- ],
- [
- "Lithuanian",
- "Lietuvių",
- "lt"
- ],
- [
- "Basque",
- "Euskara",
- "eu"
- ],
- [
- "Bulgarian",
- "Български",
- "bg"
- ],
- [
- "Hebrew",
- "עברית",
- "he"
- ],
- [
- "Slovenian",
- "Slovenščina",
- "sl"
- ],
- [
- "Croatian",
- "Hrvatski",
- "hr"
- ],
- [
- "Volapük",
- "Volapük",
- "vo"
- ],
- [
- "Estonian",
- "Eesti",
- "et"
- ],
- [
- "Hindi",
- "हिन्दी",
- "hi"
- ],
- [
- "Uzbek",
- "O‘zbek",
- "uz"
- ],
- [
- "Galician",
- "Galego",
- "gl"
- ],
- [
- "Norwegian (Nynorsk)",
- "Nynorsk",
- "nn"
- ],
- [
- "Simple English",
- "Simple English",
- "simple"
- ],
- [
- "Azerbaijani",
- "Azərbaycanca",
- "az"
- ],
- [
- "Latin",
- "Latina",
- "la"
- ],
- [
- "Greek",
- "Ελληνικά",
- "el"
- ],
- [
- "Thai",
- "ไทย",
- "th"
- ],
- [
- "Serbo-Croatian",
- "Srpskohrvatski / Српскохрватски",
- "sh"
- ],
- [
- "Georgian",
- "ქართული",
- "ka"
- ],
- [
- "Occitan",
- "Occitan",
- "oc"
- ],
- [
- "Macedonian",
- "Македонски",
- "mk"
- ],
- [
- "Newar / Nepal Bhasa",
- "नेपाल भाषा",
- "new"
- ],
- [
- "Tagalog",
- "Tagalog",
- "tl"
- ],
- [
- "Piedmontese",
- "Piemontèis",
- "pms"
- ],
- [
- "Belarusian",
- "Беларуская",
- "be"
- ],
- [
- "Haitian",
- "Krèyol ayisyen",
- "ht"
- ],
- [
- "Tamil",
- "தமிழ்",
- "ta"
- ],
- [
- "Telugu",
- "తెలుగు",
- "te"
- ],
- [
- "Belarusian (Taraškievica)",
- "Беларуская (тарашкевіца)",
- "be-x-old"
- ],
- [
- "Latvian",
- "Latviešu",
- "lv"
- ],
- [
- "Breton",
- "Brezhoneg",
- "br"
- ],
- [
- "Malagasy",
- "Malagasy",
- "mg"
- ],
- [
- "Albanian",
- "Shqip",
- "sq"
- ],
- [
- "Armenian",
- "Հայերեն",
- "hy"
- ],
- [
- "Tatar",
- "Tatarça / Татарча",
- "tt"
- ],
- [
- "Javanese",
- "Basa Jawa",
- "jv"
- ],
- [
- "Welsh",
- "Cymraeg",
- "cy"
- ],
- [
- "Marathi",
- "मराठी",
- "mr"
- ],
- [
- "Luxembourgish",
- "Lëtzebuergesch",
- "lb"
- ],
- [
- "Icelandic",
- "Íslenska",
- "is"
- ],
- [
- "Bosnian",
- "Bosanski",
- "bs"
- ],
- [
- "Burmese",
- "မြန်မာဘာသာ",
- "my"
- ],
- [
- "Yoruba",
- "Yorùbá",
- "yo"
- ],
- [
- "Bashkir",
- "Башҡорт",
- "ba"
- ],
- [
- "Malayalam",
- "മലയാളം",
- "ml"
- ],
- [
- "Aragonese",
- "Aragonés",
- "an"
- ],
- [
- "Lombard",
- "Lumbaart",
- "lmo"
- ],
- [
- "Afrikaans",
- "Afrikaans",
- "af"
- ],
- [
- "West Frisian",
- "Frysk",
- "fy"
- ],
- [
- "Western Panjabi",
- "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
- "pnb"
- ],
- [
- "Bengali",
- "বাংলা",
- "bn"
- ],
- [
- "Swahili",
- "Kiswahili",
- "sw"
- ],
- [
- "Bishnupriya Manipuri",
- "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
- "bpy"
- ],
- [
- "Ido",
- "Ido",
- "io"
- ],
- [
- "Kirghiz",
- "Кыргызча",
- "ky"
- ],
- [
- "Urdu",
- "اردو",
- "ur"
- ],
- [
- "Nepali",
- "नेपाली",
- "ne"
- ],
- [
- "Sicilian",
- "Sicilianu",
- "scn"
- ],
- [
- "Gujarati",
- "ગુજરાતી",
- "gu"
- ],
- [
- "Cantonese",
- "粵語",
- "zh-yue"
- ],
- [
- "Low Saxon",
- "Plattdüütsch",
- "nds"
- ],
- [
- "Kurdish",
- "Kurdî / كوردی",
- "ku"
- ],
- [
- "Irish",
- "Gaeilge",
- "ga"
- ],
- [
- "Asturian",
- "Asturianu",
- "ast"
- ],
- [
- "Quechua",
- "Runa Simi",
- "qu"
- ],
- [
- "Sundanese",
- "Basa Sunda",
- "su"
- ],
- [
- "Chuvash",
- "Чăваш",
- "cv"
- ],
- [
- "Scots",
- "Scots",
- "sco"
- ],
- [
- "Interlingua",
- "Interlingua",
- "ia"
- ],
- [
- "Alemannic",
- "Alemannisch",
- "als"
- ],
- [
- "Buginese",
- "Basa Ugi",
- "bug"
- ],
- [
- "Neapolitan",
- "Nnapulitano",
- "nap"
- ],
- [
- "Samogitian",
- "Žemaitėška",
- "bat-smg"
- ],
- [
- "Kannada",
- "ಕನ್ನಡ",
- "kn"
- ],
- [
- "Banyumasan",
- "Basa Banyumasan",
- "map-bms"
- ],
- [
- "Walloon",
- "Walon",
- "wa"
- ],
- [
- "Amharic",
- "አማርኛ",
- "am"
- ],
- [
- "Sorani",
- "Soranî / کوردی",
- "ckb"
- ],
- [
- "Scottish Gaelic",
- "Gàidhlig",
- "gd"
- ],
- [
- "Fiji Hindi",
- "Fiji Hindi",
- "hif"
- ],
- [
- "Min Nan",
- "Bân-lâm-gú",
- "zh-min-nan"
- ],
- [
- "Tajik",
- "Тоҷикӣ",
- "tg"
- ],
- [
- "Mazandarani",
- "مَزِروني",
- "mzn"
- ],
- [
- "Egyptian Arabic",
- "مصرى (Maṣrī)",
- "arz"
- ],
- [
- "Yiddish",
- "ייִדיש",
- "yi"
- ],
- [
- "Venetian",
- "Vèneto",
- "vec"
- ],
- [
- "Mongolian",
- "Монгол",
- "mn"
- ],
- [
- "Tarantino",
- "Tarandíne",
- "roa-tara"
- ],
- [
- "Sanskrit",
- "संस्कृतम्",
- "sa"
- ],
- [
- "Nahuatl",
- "Nāhuatl",
- "nah"
- ],
- [
- "Ossetian",
- "Иронау",
- "os"
- ],
- [
- "Sakha",
- "Саха тыла (Saxa Tyla)",
- "sah"
- ],
- [
- "Kapampangan",
- "Kapampangan",
- "pam"
- ],
- [
- "Upper Sorbian",
- "Hornjoserbsce",
- "hsb"
- ],
- [
- "Sinhalese",
- "සිංහල",
- "si"
- ],
- [
- "Northern Sami",
- "Sámegiella",
- "se"
- ],
- [
- "Limburgish",
- "Limburgs",
- "li"
- ],
- [
- "Maori",
- "Māori",
- "mi"
- ],
- [
- "Bavarian",
- "Boarisch",
- "bar"
- ],
- [
- "Corsican",
- "Corsu",
- "co"
- ],
- [
- "Ilokano",
- "Ilokano",
- "ilo"
- ],
- [
- "Gan",
- "贛語",
- "gan"
- ],
- [
- "Tibetan",
- "བོད་སྐད",
- "bo"
- ],
- [
- "Gilaki",
- "گیلکی",
- "glk"
- ],
- [
- "Faroese",
- "Føroyskt",
- "fo"
- ],
- [
- "Rusyn",
- "русиньскый язык",
- "rue"
- ],
- [
- "Punjabi",
- "ਪੰਜਾਬੀ",
- "pa"
- ],
- [
- "Central_Bicolano",
- "Bikol",
- "bcl"
- ],
- [
- "Hill Mari",
- "Кырык Мары (Kyryk Mary) ",
- "mrj"
- ],
- [
- "Võro",
- "Võro",
- "fiu-vro"
- ],
- [
- "Dutch Low Saxon",
- "Nedersaksisch",
- "nds-nl"
- ],
- [
- "Turkmen",
- "تركمن / Туркмен",
- "tk"
- ],
- [
- "Pashto",
- "پښتو",
- "ps"
- ],
- [
- "West Flemish",
- "West-Vlams",
- "vls"
- ],
- [
- "Mingrelian",
- "მარგალური (Margaluri)",
- "xmf"
- ],
- [
- "Manx",
- "Gaelg",
- "gv"
- ],
- [
- "Zazaki",
- "Zazaki",
- "diq"
- ],
- [
- "Pangasinan",
- "Pangasinan",
- "pag"
- ],
- [
- "Komi",
- "Коми",
- "kv"
- ],
- [
- "Zeelandic",
- "Zeêuws",
- "zea"
- ],
- [
- "Divehi",
- "ދިވެހިބަސް",
- "dv"
- ],
- [
- "Oriya",
- "ଓଡ଼ିଆ",
- "or"
- ],
- [
- "Khmer",
- "ភាសាខ្មែរ",
- "km"
- ],
- [
- "Norman",
- "Nouormand/Normaund",
- "nrm"
- ],
- [
- "Romansh",
- "Rumantsch",
- "rm"
- ],
- [
- "Komi-Permyak",
- "Перем Коми (Perem Komi)",
- "koi"
- ],
- [
- "Udmurt",
- "Удмурт кыл",
- "udm"
- ],
- [
- "Meadow Mari",
- "Олык Марий (Olyk Marij)",
- "mhr"
- ],
- [
- "Ladino",
- "Dzhudezmo",
- "lad"
- ],
- [
- "North Frisian",
- "Nordfriisk",
- "frr"
- ],
- [
- "Kashubian",
- "Kaszëbsczi",
- "csb"
- ],
- [
- "Ligurian",
- "Líguru",
- "lij"
- ],
- [
- "Wu",
- "吴语",
- "wuu"
- ],
- [
- "Friulian",
- "Furlan",
- "fur"
- ],
- [
- "Vepsian",
- "Vepsän",
- "vep"
- ],
- [
- "Classical Chinese",
- "古文 / 文言文",
- "zh-classical"
- ],
- [
- "Uyghur",
- "ئۇيغۇر تىلى",
- "ug"
- ],
- [
- "Saterland Frisian",
- "Seeltersk",
- "stq"
- ],
- [
- "Sardinian",
- "Sardu",
- "sc"
- ],
- [
- "Aromanian",
- "Armãneashce",
- "roa-rup"
- ],
- [
- "Pali",
- "पाऴि",
- "pi"
- ],
- [
- "Somali",
- "Soomaaliga",
- "so"
- ],
- [
- "Bihari",
- "भोजपुरी",
- "bh"
- ],
- [
- "Maltese",
- "Malti",
- "mt"
- ],
- [
- "Aymara",
- "Aymar",
- "ay"
- ],
- [
- "Ripuarian",
- "Ripoarisch",
- "ksh"
- ],
- [
- "Novial",
- "Novial",
- "nov"
- ],
- [
- "Anglo-Saxon",
- "Englisc",
- "ang"
- ],
- [
- "Cornish",
- "Kernewek/Karnuack",
- "kw"
- ],
- [
- "Navajo",
- "Diné bizaad",
- "nv"
- ],
- [
- "Picard",
- "Picard",
- "pcd"
- ],
- [
- "Hakka",
- "Hak-kâ-fa / 客家話",
- "hak"
- ],
- [
- "Guarani",
- "Avañe'ẽ",
- "gn"
- ],
- [
- "Extremaduran",
- "Estremeñu",
- "ext"
- ],
- [
- "Franco-Provençal/Arpitan",
- "Arpitan",
- "frp"
- ],
- [
- "Assamese",
- "অসমীয়া",
- "as"
- ],
- [
- "Silesian",
- "Ślůnski",
- "szl"
- ],
- [
- "Gagauz",
- "Gagauz",
- "gag"
- ],
- [
- "Interlingue",
- "Interlingue",
- "ie"
- ],
- [
- "Lingala",
- "Lingala",
- "ln"
- ],
- [
- "Emilian-Romagnol",
- "Emiliàn e rumagnòl",
- "eml"
- ],
- [
- "Chechen",
- "Нохчийн",
- "ce"
- ],
- [
- "Kalmyk",
- "Хальмг",
- "xal"
- ],
- [
- "Palatinate German",
- "Pfälzisch",
- "pfl"
- ],
- [
- "Hawaiian",
- "Hawai`i",
- "haw"
- ],
- [
- "Karachay-Balkar",
- "Къарачай-Малкъар (Qarachay-Malqar)",
- "krc"
- ],
- [
- "Pennsylvania German",
- "Deitsch",
- "pdc"
- ],
- [
- "Kinyarwanda",
- "Ikinyarwanda",
- "rw"
- ],
- [
- "Crimean Tatar",
- "Qırımtatarca",
- "crh"
- ],
- [
- "Acehnese",
- "Bahsa Acèh",
- "ace"
- ],
- [
- "Tongan",
- "faka Tonga",
- "to"
- ],
- [
- "Greenlandic",
- "Kalaallisut",
- "kl"
- ],
- [
- "Lower Sorbian",
- "Dolnoserbski",
- "dsb"
- ],
- [
- "Aramaic",
- "ܐܪܡܝܐ",
- "arc"
- ],
- [
- "Erzya",
- "Эрзянь (Erzjanj Kelj)",
- "myv"
- ],
- [
- "Lezgian",
- "Лезги чІал (Lezgi č’al)",
- "lez"
- ],
- [
- "Banjar",
- "Bahasa Banjar",
- "bjn"
- ],
- [
- "Shona",
- "chiShona",
- "sn"
- ],
- [
- "Papiamentu",
- "Papiamentu",
- "pap"
- ],
- [
- "Kabyle",
- "Taqbaylit",
- "kab"
- ],
- [
- "Tok Pisin",
- "Tok Pisin",
- "tpi"
- ],
- [
- "Lak",
- "Лакку",
- "lbe"
- ],
- [
- "Buryat (Russia)",
- "Буряад",
- "bxr"
- ],
- [
- "Lojban",
- "Lojban",
- "jbo"
- ],
- [
- "Wolof",
- "Wolof",
- "wo"
- ],
- [
- "Moksha",
- "Мокшень (Mokshanj Kälj)",
- "mdf"
- ],
- [
- "Zamboanga Chavacano",
- "Chavacano de Zamboanga",
- "cbk-zam"
- ],
- [
- "Avar",
- "Авар",
- "av"
- ],
- [
- "Sranan",
- "Sranantongo",
- "srn"
- ],
- [
- "Mirandese",
- "Mirandés",
- "mwl"
- ],
- [
- "Kabardian Circassian",
- "Адыгэбзэ (Adighabze)",
- "kbd"
- ],
- [
- "Tahitian",
- "Reo Mā`ohi",
- "ty"
- ],
- [
- "Lao",
- "ລາວ",
- "lo"
- ],
- [
- "Abkhazian",
- "Аҧсуа",
- "ab"
- ],
- [
- "Tetum",
- "Tetun",
- "tet"
- ],
- [
- "Latgalian",
- "Latgaļu",
- "ltg"
- ],
- [
- "Nauruan",
- "dorerin Naoero",
- "na"
- ],
- [
- "Kongo",
- "KiKongo",
- "kg"
- ],
- [
- "Igbo",
- "Igbo",
- "ig"
- ],
- [
- "Northern Sotho",
- "Sesotho sa Leboa",
- "nso"
- ],
- [
- "Zhuang",
- "Cuengh",
- "za"
- ],
- [
- "Karakalpak",
- "Qaraqalpaqsha",
- "kaa"
- ],
- [
- "Zulu",
- "isiZulu",
- "zu"
- ],
- [
- "Cheyenne",
- "Tsetsêhestâhese",
- "chy"
- ],
- [
- "Romani",
- "romani - रोमानी",
- "rmy"
- ],
- [
- "Old Church Slavonic",
- "Словѣньскъ",
- "cu"
- ],
- [
- "Tswana",
- "Setswana",
- "tn"
- ],
- [
- "Cherokee",
- "ᏣᎳᎩ",
- "chr"
- ],
- [
- "Bislama",
- "Bislama",
- "bi"
- ],
- [
- "Min Dong",
- "Mìng-dĕ̤ng-ngṳ̄",
- "cdo"
- ],
- [
- "Gothic",
- "𐌲𐌿𐍄𐌹𐍃𐌺",
- "got"
- ],
- [
- "Samoan",
- "Gagana Samoa",
- "sm"
- ],
- [
- "Moldovan",
- "Молдовеняскэ",
- "mo"
- ],
- [
- "Bambara",
- "Bamanankan",
- "bm"
- ],
- [
- "Inuktitut",
- "ᐃᓄᒃᑎᑐᑦ",
- "iu"
- ],
- [
- "Norfolk",
- "Norfuk",
- "pih"
- ],
- [
- "Pontic",
- "Ποντιακά",
- "pnt"
- ],
- [
- "Sindhi",
- "سنڌي، سندھی ، सिन्ध",
- "sd"
- ],
- [
- "Swati",
- "SiSwati",
- "ss"
- ],
- [
- "Kikuyu",
- "Gĩkũyũ",
- "ki"
- ],
- [
- "Ewe",
- "Eʋegbe",
- "ee"
- ],
- [
- "Hausa",
- "هَوُسَ",
- "ha"
- ],
- [
- "Oromo",
- "Oromoo",
- "om"
- ],
- [
- "Fijian",
- "Na Vosa Vakaviti",
- "fj"
- ],
- [
- "Tigrinya",
- "ትግርኛ",
- "ti"
- ],
- [
- "Tsonga",
- "Xitsonga",
- "ts"
- ],
- [
- "Kashmiri",
- "कश्मीरी / كشميري",
- "ks"
- ],
- [
- "Venda",
- "Tshivenda",
- "ve"
- ],
- [
- "Sango",
- "Sängö",
- "sg"
- ],
- [
- "Kirundi",
- "Kirundi",
- "rn"
- ],
- [
- "Sesotho",
- "Sesotho",
- "st"
- ],
- [
- "Dzongkha",
- "ཇོང་ཁ",
- "dz"
- ],
- [
- "Cree",
- "Nehiyaw",
- "cr"
- ],
- [
- "Akan",
- "Akana",
- "ak"
- ],
- [
- "Tumbuka",
- "chiTumbuka",
- "tum"
- ],
- [
- "Luganda",
- "Luganda",
- "lg"
- ],
- [
- "Chichewa",
- "Chi-Chewa",
- "ny"
- ],
- [
- "Fula",
- "Fulfulde",
- "ff"
- ],
- [
- "Inupiak",
- "Iñupiak",
- "ik"
- ],
- [
- "Chamorro",
- "Chamoru",
- "ch"
- ],
- [
- "Twi",
- "Twi",
- "tw"
- ],
- [
- "Xhosa",
- "isiXhosa",
- "xh"
- ],
- [
- "Ndonga",
- "Oshiwambo",
- "ng"
- ],
- [
- "Sichuan Yi",
- "ꆇꉙ",
- "ii"
- ],
- [
- "Choctaw",
- "Choctaw",
- "cho"
- ],
- [
- "Marshallese",
- "Ebon",
- "mh"
- ],
- [
- "Afar",
- "Afar",
- "aa"
- ],
- [
- "Kuanyama",
- "Kuanyama",
- "kj"
- ],
- [
- "Hiri Motu",
- "Hiri Motu",
- "ho"
- ],
- [
- "Muscogee",
- "Muskogee",
- "mus"
- ],
- [
- "Kanuri",
- "Kanuri",
- "kr"
- ],
- [
- "Herero",
- "Otsiherero",
- "hz"
- ]
- ],
- "presets": {
- "presets": {
- "address": {
- "fields": [
- "address"
- ],
- "geometry": [
- "point"
- ],
- "tags": {
- "addr:housenumber": "*"
- },
- "addTags": {},
- "matchScore": 0.2,
- "name": "Address"
- },
- "aeroway": {
- "icon": "airport",
- "fields": [
- "aeroway"
- ],
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "aeroway": "*"
- },
- "name": "Aeroway"
- },
- "aeroway/aerodrome": {
- "icon": "airport",
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "airplane",
- "airport",
- "aerodrome"
- ],
- "fields": [
- "ref",
- "iata",
- "icao",
- "operator"
- ],
- "tags": {
- "aeroway": "aerodrome"
- },
- "name": "Airport"
- },
- "aeroway/apron": {
- "icon": "airport",
- "geometry": [
- "area"
- ],
- "terms": [
- "ramp"
- ],
- "fields": [
- "ref",
- "surface"
- ],
- "tags": {
- "aeroway": "apron"
- },
- "name": "Apron"
- },
- "aeroway/gate": {
- "icon": "airport",
- "geometry": [
- "point"
- ],
- "fields": [
- "ref"
- ],
- "tags": {
- "aeroway": "gate"
- },
- "name": "Airport gate"
- },
- "aeroway/hangar": {
- "geometry": [
- "area"
- ],
- "fields": [
- "building_area"
- ],
- "tags": {
- "aeroway": "hangar"
- },
- "name": "Hangar"
- },
- "aeroway/helipad": {
- "icon": "heliport",
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "helicopter",
- "helipad",
- "heliport"
- ],
- "tags": {
- "aeroway": "helipad"
- },
- "name": "Helipad"
- },
- "aeroway/runway": {
- "geometry": [
- "line",
- "area"
- ],
- "terms": [
- "landing strip"
- ],
- "fields": [
- "ref",
- "surface"
- ],
- "tags": {
- "aeroway": "runway"
- },
- "name": "Runway"
- },
- "aeroway/taxiway": {
- "geometry": [
- "line"
- ],
- "fields": [
- "ref",
- "surface"
- ],
- "tags": {
- "aeroway": "taxiway"
- },
- "name": "Taxiway"
- },
- "aeroway/terminal": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "airport",
- "aerodrome"
- ],
- "fields": [
- "operator",
- "building_area"
- ],
- "tags": {
- "aeroway": "terminal"
- },
- "name": "Airport terminal"
- },
- "amenity": {
- "fields": [
- "amenity"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "*"
- },
- "name": "Amenity"
- },
- "amenity/arts_centre": {
- "name": "Arts Center",
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "arts",
- "arts centre"
- ],
- "tags": {
- "amenity": "arts_centre"
- },
- "icon": "theatre",
- "fields": [
- "building_area",
- "address"
- ]
- },
- "amenity/atm": {
- "icon": "bank",
- "fields": [
- "operator"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "amenity": "atm"
- },
- "name": "ATM"
- },
- "amenity/bank": {
- "icon": "bank",
- "fields": [
- "atm",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "coffer",
- "countinghouse",
- "credit union",
- "depository",
- "exchequer",
- "fund",
- "hoard",
- "investment firm",
- "repository",
- "reserve",
- "reservoir",
- "safe",
- "savings",
- "stock",
- "stockpile",
- "store",
- "storehouse",
- "thrift",
- "treasury",
- "trust company",
- "vault"
- ],
- "tags": {
- "amenity": "bank"
- },
- "name": "Bank"
- },
- "amenity/bar": {
- "icon": "bar",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "bar"
- },
- "terms": [],
- "name": "Bar"
- },
- "amenity/bench": {
- "geometry": [
- "point",
- "vertex",
- "line"
- ],
- "tags": {
- "amenity": "bench"
- },
- "fields": [
- "backrest"
- ],
- "name": "Bench"
- },
- "amenity/bicycle_parking": {
- "icon": "bicycle",
- "fields": [
- "bicycle_parking",
- "capacity",
- "operator"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "bicycle_parking"
- },
- "name": "Bicycle Parking"
- },
- "amenity/bicycle_rental": {
- "icon": "bicycle",
- "fields": [
- "capacity",
- "network",
- "operator"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "bicycle_rental"
- },
- "name": "Bicycle Rental"
- },
- "amenity/boat_rental": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "boat_rental"
- },
- "fields": [
- "operator"
- ],
- "name": "Boat Rental"
- },
- "amenity/cafe": {
- "icon": "cafe",
- "fields": [
- "cuisine",
- "internet_access",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "coffee",
- "tea",
- "coffee shop"
- ],
- "tags": {
- "amenity": "cafe"
- },
- "name": "Cafe"
- },
- "amenity/car_rental": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "car_rental"
- },
- "fields": [
- "operator"
- ],
- "name": "Car Rental"
- },
- "amenity/car_sharing": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "car_sharing"
- },
- "fields": [
- "operator",
- "capacity"
- ],
- "name": "Car Sharing"
- },
- "amenity/car_wash": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "car_wash"
- },
- "fields": [
- "building_area"
- ],
- "name": "Car Wash"
- },
- "amenity/childcare": {
- "icon": "school",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "nursery",
- "orphanage",
- "playgroup"
- ],
- "tags": {
- "amenity": "childcare"
- },
- "name": "Childcare"
- },
- "amenity/cinema": {
- "icon": "cinema",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "big screen",
- "bijou",
- "cine",
- "drive-in",
- "film",
- "flicks",
- "motion pictures",
- "movie house",
- "movie theater",
- "moving pictures",
- "nabes",
- "photoplay",
- "picture show",
- "pictures",
- "playhouse",
- "show",
- "silver screen"
- ],
- "tags": {
- "amenity": "cinema"
- },
- "name": "Cinema"
- },
- "amenity/college": {
- "icon": "college",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "college"
- },
- "terms": [],
- "name": "College"
- },
- "amenity/courthouse": {
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "courthouse"
- },
- "name": "Courthouse"
- },
- "amenity/drinking_water": {
- "icon": "water",
- "geometry": [
- "point"
- ],
- "tags": {
- "amenity": "drinking_water"
- },
- "terms": [
- "water fountain",
- "potable water"
- ],
- "name": "Drinking Water"
- },
- "amenity/embassy": {
- "geometry": [
- "area",
- "point"
- ],
- "tags": {
- "amenity": "embassy"
- },
- "fields": [
- "country",
- "building_area"
- ],
- "icon": "embassy",
- "name": "Embassy"
- },
- "amenity/fast_food": {
- "icon": "fast-food",
- "fields": [
- "cuisine",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "fast_food"
- },
- "terms": [],
- "name": "Fast Food"
- },
- "amenity/fire_station": {
- "icon": "fire-station",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "fire_station"
- },
- "terms": [],
- "name": "Fire Station"
- },
- "amenity/fountain": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "amenity": "fountain"
- },
- "name": "Fountain"
- },
- "amenity/fuel": {
- "icon": "fuel",
- "fields": [
- "operator",
- "address",
- "building_yes"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "petrol",
- "fuel",
- "propane",
- "diesel",
- "lng",
- "cng",
- "biodiesel"
- ],
- "tags": {
- "amenity": "fuel"
- },
- "name": "Gas Station"
- },
- "amenity/grave_yard": {
- "icon": "cemetery",
- "fields": [
- "religion"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "grave_yard"
- },
- "name": "Graveyard"
- },
- "amenity/hospital": {
- "icon": "hospital",
- "fields": [
- "emergency",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "clinic",
- "emergency room",
- "health service",
- "hospice",
- "infirmary",
- "institution",
- "nursing home",
- "rest home",
- "sanatorium",
- "sanitarium",
- "sick bay",
- "surgery",
- "ward"
- ],
- "tags": {
- "amenity": "hospital"
- },
- "name": "Hospital"
- },
- "amenity/kindergarten": {
- "icon": "school",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "nursery",
- "preschool"
- ],
- "tags": {
- "amenity": "kindergarten"
- },
- "name": "Kindergarten"
- },
- "amenity/library": {
- "icon": "library",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "library"
- },
- "terms": [],
- "name": "Library"
- },
- "amenity/marketplace": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "marketplace"
- },
- "fields": [
- "building_area"
- ],
- "name": "Marketplace"
- },
- "amenity/parking": {
- "icon": "parking",
- "fields": [
- "parking",
- "capacity",
- "fee",
- "supervised",
- "park_ride",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "parking"
- },
- "terms": [],
- "name": "Parking"
- },
- "amenity/pharmacy": {
- "icon": "pharmacy",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "pharmacy"
- },
- "terms": [],
- "name": "Pharmacy"
- },
- "amenity/place_of_worship": {
- "icon": "place-of-worship",
- "fields": [
- "religion",
- "denomination",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "abbey",
- "basilica",
- "bethel",
- "cathedral",
- "chancel",
- "chantry",
- "chapel",
- "church",
- "fold",
- "house of God",
- "house of prayer",
- "house of worship",
- "minster",
- "mission",
- "mosque",
- "oratory",
- "parish",
- "sacellum",
- "sanctuary",
- "shrine",
- "synagogue",
- "tabernacle",
- "temple"
- ],
- "tags": {
- "amenity": "place_of_worship"
- },
- "name": "Place of Worship"
- },
- "amenity/place_of_worship/buddhist": {
- "icon": "place-of-worship",
- "fields": [
- "denomination",
- "building_yes",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "stupa",
- "vihara",
- "monastery",
- "temple",
- "pagoda",
- "zendo",
- "dojo"
- ],
- "tags": {
- "amenity": "place_of_worship",
- "religion": "buddhist"
- },
- "name": "Buddhist Temple"
- },
- "amenity/place_of_worship/christian": {
- "icon": "religious-christian",
- "fields": [
- "denomination",
- "building_yes",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "christian",
- "abbey",
- "basilica",
- "bethel",
- "cathedral",
- "chancel",
- "chantry",
- "chapel",
- "church",
- "fold",
- "house of God",
- "house of prayer",
- "house of worship",
- "minster",
- "mission",
- "oratory",
- "parish",
- "sacellum",
- "sanctuary",
- "shrine",
- "tabernacle",
- "temple"
- ],
- "tags": {
- "amenity": "place_of_worship",
- "religion": "christian"
- },
- "name": "Church"
- },
- "amenity/place_of_worship/jewish": {
- "icon": "religious-jewish",
- "fields": [
- "denomination",
- "building_yes",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "jewish",
- "synagogue"
- ],
- "tags": {
- "amenity": "place_of_worship",
- "religion": "jewish"
- },
- "name": "Synagogue"
- },
- "amenity/place_of_worship/muslim": {
- "icon": "religious-muslim",
- "fields": [
- "denomination",
- "building_yes",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "muslim",
- "mosque"
- ],
- "tags": {
- "amenity": "place_of_worship",
- "religion": "muslim"
- },
- "name": "Mosque"
- },
- "amenity/police": {
- "icon": "police",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "badge",
- "bear",
- "blue",
- "bluecoat",
- "bobby",
- "boy scout",
- "bull",
- "constable",
- "constabulary",
- "cop",
- "copper",
- "corps",
- "county mounty",
- "detective",
- "fed",
- "flatfoot",
- "force",
- "fuzz",
- "gendarme",
- "gumshoe",
- "heat",
- "law",
- "law enforcement",
- "man",
- "narc",
- "officers",
- "patrolman",
- "police"
- ],
- "tags": {
- "amenity": "police"
- },
- "name": "Police"
- },
- "amenity/post_box": {
- "icon": "post",
- "fields": [
- "operator",
- "collection_times"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "amenity": "post_box"
- },
- "terms": [
- "letter drop",
- "letterbox",
- "mail drop",
- "mailbox",
- "pillar box",
- "postbox"
- ],
- "name": "Mailbox"
- },
- "amenity/post_office": {
- "icon": "post",
- "fields": [
- "operator",
- "collection_times",
- "building_area"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "post_office"
- },
- "name": "Post Office"
- },
- "amenity/pub": {
- "icon": "beer",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "pub"
- },
- "terms": [],
- "name": "Pub"
- },
- "amenity/ranger_station": {
- "fields": [
- "building_area",
- "opening_hours",
- "operator",
- "phone"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "visitor center",
- "visitor centre",
- "permit center",
- "permit centre",
- "backcountry office"
- ],
- "tags": {
- "amenity": "ranger_station"
- },
- "name": "Ranger Station"
- },
- "amenity/restaurant": {
- "icon": "restaurant",
- "fields": [
- "cuisine",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "bar",
- "cafeteria",
- "café",
- "canteen",
- "chophouse",
- "coffee shop",
- "diner",
- "dining room",
- "dive*",
- "doughtnut shop",
- "drive-in",
- "eatery",
- "eating house",
- "eating place",
- "fast-food place",
- "fish and chips",
- "greasy spoon",
- "grill",
- "hamburger stand",
- "hashery",
- "hideaway",
- "hotdog stand",
- "inn",
- "joint*",
- "luncheonette",
- "lunchroom",
- "night club",
- "outlet*",
- "pizzeria",
- "saloon",
- "soda fountain",
- "watering hole"
- ],
- "tags": {
- "amenity": "restaurant"
- },
- "name": "Restaurant"
- },
- "amenity/school": {
- "icon": "school",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "academy",
- "alma mater",
- "blackboard",
- "college",
- "department",
- "discipline",
- "establishment",
- "faculty",
- "hall",
- "halls of ivy",
- "institute",
- "institution",
- "jail*",
- "schoolhouse",
- "seminary",
- "university"
- ],
- "tags": {
- "amenity": "school"
- },
- "name": "School"
- },
- "amenity/swimming_pool": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "swimming_pool"
- },
- "icon": "swimming",
- "searchable": false,
- "name": "Swimming Pool"
- },
- "amenity/taxi": {
- "fields": [
- "operator"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "cab"
- ],
- "tags": {
- "amenity": "taxi"
- },
- "name": "Taxi Stand"
- },
- "amenity/telephone": {
- "icon": "telephone",
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "amenity": "telephone"
- },
- "name": "Telephone"
- },
- "amenity/theatre": {
- "icon": "theatre",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "theatre",
- "performance",
- "play",
- "musical"
- ],
- "tags": {
- "amenity": "theatre"
- },
- "name": "Theater"
- },
- "amenity/toilets": {
- "fields": [
- "toilets/disposal",
- "operator",
- "building_area",
- "access_toilets"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "bathroom",
- "restroom",
- "outhouse",
- "privy",
- "head",
- "lavatory",
- "latrine",
- "water closet",
- "WC",
- "W.C."
- ],
- "tags": {
- "amenity": "toilets"
- },
- "icon": "toilets",
- "name": "Toilets"
- },
- "amenity/townhall": {
- "icon": "town-hall",
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "village hall",
- "city government",
- "courthouse",
- "municipal building",
- "municipal center",
- "municipal centre"
- ],
- "tags": {
- "amenity": "townhall"
- },
- "name": "Town Hall"
- },
- "amenity/university": {
- "icon": "college",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "amenity": "university"
- },
- "terms": [
- "college"
- ],
- "name": "University"
- },
- "amenity/vending_machine": {
- "fields": [
- "vending",
- "operator"
- ],
- "geometry": [
- "point"
- ],
- "tags": {
- "amenity": "vending_machine"
- },
- "name": "Vending Machine"
- },
- "amenity/waste_basket": {
- "icon": "waste-basket",
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "amenity": "waste_basket"
- },
- "terms": [
- "rubbish bin",
- "litter bin",
- "trash can",
- "garbage can"
- ],
- "name": "Waste Basket"
- },
- "area": {
- "name": "Area",
- "tags": {
- "area": "yes"
- },
- "geometry": [
- "area"
- ]
- },
- "barrier": {
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "barrier": "*"
- },
- "fields": [
- "barrier"
- ],
- "name": "Barrier"
- },
- "barrier/block": {
- "fields": [
- "access"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "barrier": "block"
- },
- "name": "Block"
- },
- "barrier/bollard": {
- "fields": [
- "access"
- ],
- "geometry": [
- "point",
- "vertex",
- "line"
- ],
- "tags": {
- "barrier": "bollard"
- },
- "name": "Bollard"
- },
- "barrier/cattle_grid": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "barrier": "cattle_grid"
- },
- "name": "Cattle Grid"
- },
- "barrier/city_wall": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "city_wall"
- },
- "name": "City Wall"
- },
- "barrier/cycle_barrier": {
- "fields": [
- "access"
- ],
- "geometry": [
- "vertex"
- ],
- "tags": {
- "barrier": "cycle_barrier"
- },
- "name": "Cycle Barrier"
- },
- "barrier/ditch": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "ditch"
- },
- "name": "Ditch"
- },
- "barrier/entrance": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "barrier": "entrance"
- },
- "name": "Entrance",
- "searchable": false
- },
- "barrier/fence": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "fence"
- },
- "name": "Fence"
- },
- "barrier/gate": {
- "fields": [
- "access"
- ],
- "geometry": [
- "point",
- "vertex",
- "line"
- ],
- "tags": {
- "barrier": "gate"
- },
- "name": "Gate"
- },
- "barrier/hedge": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "hedge"
- },
- "name": "Hedge"
- },
- "barrier/kissing_gate": {
- "fields": [
- "access"
- ],
- "geometry": [
- "vertex"
- ],
- "tags": {
- "barrier": "kissing_gate"
- },
- "name": "Kissing Gate"
- },
- "barrier/lift_gate": {
- "fields": [
- "access"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "barrier": "lift_gate"
- },
- "name": "Lift Gate"
- },
- "barrier/retaining_wall": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "retaining_wall"
- },
- "name": "Retaining Wall"
- },
- "barrier/stile": {
- "fields": [
- "access"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "barrier": "stile"
- },
- "name": "Stile"
- },
- "barrier/toll_booth": {
- "fields": [
- "access"
- ],
- "geometry": [
- "vertex"
- ],
- "tags": {
- "barrier": "toll_booth"
- },
- "name": "Toll Booth"
- },
- "barrier/wall": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "barrier": "wall"
- },
- "name": "Wall"
- },
- "boundary/administrative": {
- "name": "Administrative Boundary",
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "boundary": "administrative"
- },
- "fields": [
- "admin_level"
- ]
- },
- "building": {
- "icon": "building",
- "fields": [
- "building_yes",
- "levels",
- "address"
- ],
- "geometry": [
- "area"
- ],
- "tags": {
- "building": "*"
- },
- "terms": [],
- "name": "Building"
- },
- "building/apartments": {
- "icon": "commercial",
- "fields": [
- "address",
- "levels"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "apartments"
- },
- "name": "Apartments"
- },
- "building/commercial": {
- "icon": "commercial",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "commercial"
- },
- "name": "Commercial Building"
- },
- "building/entrance": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "building": "entrance"
- },
- "name": "Entrance",
- "searchable": false
- },
- "building/garage": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "garage"
- },
- "name": "Garage"
- },
- "building/house": {
- "icon": "building",
- "fields": [
- "address",
- "levels"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "building": "house"
- },
- "name": "House"
- },
- "building/hut": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "hut"
- },
- "name": "Hut"
- },
- "building/industrial": {
- "icon": "industrial",
- "fields": [
- "address",
- "levels"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "industrial"
- },
- "name": "Industrial Building"
- },
- "building/residential": {
- "icon": "building",
- "fields": [
- "address",
- "levels"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "building": "residential"
- },
- "name": "Residential Building"
- },
- "emergency/ambulance_station": {
- "fields": [
- "operator"
- ],
- "geometry": [
- "area",
- "point",
- "vertex"
- ],
- "tags": {
- "emergency": "ambulance_station"
- },
- "name": "Ambulance Station"
- },
- "emergency/fire_hydrant": {
- "fields": [
- "fire_hydrant/type"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "emergency": "fire_hydrant"
- },
- "name": "Fire Hydrant"
- },
- "emergency/phone": {
- "icon": "emergency-telephone",
- "fields": [
- "operator"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "emergency": "phone"
- },
- "name": "Emergency Phone"
- },
- "entrance": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "entrance": "*"
- },
- "fields": [
- "entrance",
- "address"
- ],
- "name": "Entrance"
- },
- "highway": {
- "fields": [
- "highway"
- ],
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "highway": "*"
- },
- "name": "Highway"
- },
- "highway/bridleway": {
- "fields": [
- "access",
- "surface",
- "structure"
- ],
- "icon": "highway-bridleway",
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "bridleway"
- },
- "terms": [
- "bridleway",
- "equestrian trail",
- "horse riding path",
- "bridle road",
- "horse trail"
- ],
- "name": "Bridle Path"
- },
- "highway/bus_stop": {
- "icon": "bus",
- "fields": [
- "operator",
- "shelter"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "highway": "bus_stop"
- },
- "terms": [],
- "name": "Bus Stop"
- },
- "highway/crossing": {
- "fields": [
- "crossing"
- ],
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "crossing"
- },
- "terms": [
- "crosswalk",
- "zebra crossing"
- ],
- "name": "Crossing"
- },
- "highway/cycleway": {
- "icon": "highway-cycleway",
- "fields": [
- "surface",
- "lit",
- "structure",
- "access",
- "oneway"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "cycleway"
- },
- "terms": [],
- "name": "Cycle Path"
- },
- "highway/footway": {
- "icon": "highway-footway",
- "fields": [
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line",
- "area"
- ],
- "terms": [
- "beaten path",
- "boulevard",
- "clearing",
- "course",
- "cut*",
- "drag*",
- "footpath",
- "highway",
- "lane",
- "line",
- "orbit",
- "passage",
- "pathway",
- "rail",
- "rails",
- "road",
- "roadway",
- "route",
- "street",
- "thoroughfare",
- "trackway",
- "trail",
- "trajectory",
- "walk"
- ],
- "tags": {
- "highway": "footway"
- },
- "name": "Foot Path"
- },
- "highway/living_street": {
- "icon": "highway-living-street",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "living_street"
- },
- "name": "Living Street"
- },
- "highway/mini_roundabout": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "mini_roundabout"
- },
- "fields": [
- "clock_direction"
- ],
- "name": "Mini-Roundabout"
- },
- "highway/motorway": {
- "icon": "highway-motorway",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "lanes",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "motorway"
- },
- "terms": [],
- "name": "Motorway"
- },
- "highway/motorway_junction": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "motorway_junction"
- },
- "fields": [
- "ref"
- ],
- "name": "Motorway Junction"
- },
- "highway/motorway_link": {
- "icon": "highway-motorway-link",
- "fields": [
- "oneway_yes",
- "maxspeed",
- "structure",
- "access",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "motorway_link"
- },
- "terms": [
- "ramp",
- "on ramp",
- "off ramp"
- ],
- "name": "Motorway Link"
- },
- "highway/path": {
- "icon": "highway-path",
- "fields": [
- "structure",
- "access",
- "sac_scale",
- "surface",
- "incline",
- "trail_visibility",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "path"
- },
- "terms": [],
- "name": "Path"
- },
- "highway/pedestrian": {
- "fields": [
- "access",
- "oneway",
- "surface"
- ],
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "highway": "pedestrian"
- },
- "terms": [],
- "name": "Pedestrian"
- },
- "highway/primary": {
- "icon": "highway-primary",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "lanes",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "primary"
- },
- "terms": [],
- "name": "Primary Road"
- },
- "highway/primary_link": {
- "icon": "highway-primary-link",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "primary_link"
- },
- "terms": [
- "ramp",
- "on ramp",
- "off ramp"
- ],
- "name": "Primary Link"
- },
- "highway/residential": {
- "icon": "highway-residential",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "residential"
- },
- "terms": [],
- "name": "Residential Road"
- },
- "highway/road": {
- "icon": "highway-road",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "road"
- },
- "terms": [],
- "name": "Unknown Road"
- },
- "highway/secondary": {
- "icon": "highway-secondary",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "lanes",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "secondary"
- },
- "terms": [],
- "name": "Secondary Road"
- },
- "highway/secondary_link": {
- "icon": "highway-secondary-link",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "secondary_link"
- },
- "terms": [
- "ramp",
- "on ramp",
- "off ramp"
- ],
- "name": "Secondary Link"
- },
- "highway/service": {
- "icon": "highway-service",
- "fields": [
- "service",
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service"
- },
- "terms": [],
- "name": "Service Road"
- },
- "highway/service/alley": {
- "icon": "highway-service",
- "fields": [
- "oneway",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service",
- "service": "alley"
- },
- "name": "Alley"
- },
- "highway/service/drive-through": {
- "icon": "highway-service",
- "fields": [
- "oneway",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service",
- "service": "drive-through"
- },
- "name": "Drive-Through"
- },
- "highway/service/driveway": {
- "icon": "highway-service",
- "fields": [
- "oneway",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service",
- "service": "driveway"
- },
- "name": "Driveway"
- },
- "highway/service/emergency_access": {
- "icon": "highway-service",
- "fields": [
- "oneway",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service",
- "service": "emergency_access"
- },
- "name": "Emergency Access"
- },
- "highway/service/parking_aisle": {
- "icon": "highway-service",
- "fields": [
- "oneway",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "service",
- "service": "parking_aisle"
- },
- "name": "Parking Aisle"
- },
- "highway/steps": {
- "fields": [
- "access",
- "surface"
- ],
- "icon": "highway-steps",
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "steps"
- },
- "terms": [
- "stairs",
- "staircase"
- ],
- "name": "Steps"
- },
- "highway/stop": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "stop"
- },
- "terms": [
- "stop sign"
- ],
- "name": "Stop Sign"
- },
- "highway/tertiary": {
- "icon": "highway-tertiary",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "lanes",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "tertiary"
- },
- "terms": [],
- "name": "Tertiary Road"
- },
- "highway/tertiary_link": {
- "icon": "highway-tertiary-link",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "tertiary_link"
- },
- "terms": [
- "ramp",
- "on ramp",
- "off ramp"
- ],
- "name": "Tertiary Link"
- },
- "highway/track": {
- "icon": "highway-track",
- "fields": [
- "tracktype",
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "track"
- },
- "terms": [],
- "name": "Track"
- },
- "highway/traffic_signals": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "traffic_signals"
- },
- "terms": [
- "light",
- "stoplight",
- "traffic light"
- ],
- "name": "Traffic Signals"
- },
- "highway/trunk": {
- "icon": "highway-trunk",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "lanes",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "trunk"
- },
- "terms": [],
- "name": "Trunk Road"
- },
- "highway/trunk_link": {
- "icon": "highway-trunk-link",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface",
- "ref"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "trunk_link"
- },
- "terms": [
- "ramp",
- "on ramp",
- "off ramp"
- ],
- "name": "Trunk Link"
- },
- "highway/turning_circle": {
- "icon": "circle",
- "geometry": [
- "vertex"
- ],
- "tags": {
- "highway": "turning_circle"
- },
- "terms": [],
- "name": "Turning Circle"
- },
- "highway/unclassified": {
- "icon": "highway-unclassified",
- "fields": [
- "oneway",
- "maxspeed",
- "structure",
- "access",
- "surface"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "highway": "unclassified"
- },
- "terms": [],
- "name": "Unclassified Road"
- },
- "historic": {
- "fields": [
- "historic"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "*"
- },
- "name": "Historic Site"
- },
- "historic/archaeological_site": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "archaeological_site"
- },
- "name": "Archaeological Site"
- },
- "historic/boundary_stone": {
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "historic": "boundary_stone"
- },
- "name": "Boundary Stone"
- },
- "historic/castle": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "castle"
- },
- "name": "Castle"
- },
- "historic/memorial": {
- "icon": "monument",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "memorial"
- },
- "name": "Memorial"
- },
- "historic/monument": {
- "icon": "monument",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "monument"
- },
- "name": "Monument"
- },
- "historic/ruins": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "ruins"
- },
- "name": "Ruins"
- },
- "historic/wayside_cross": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "wayside_cross"
- },
- "name": "Wayside Cross"
- },
- "historic/wayside_shrine": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "historic": "wayside_shrine"
- },
- "name": "Wayside Shrine"
- },
- "landuse": {
- "fields": [
- "landuse"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "landuse": "*"
- },
- "name": "Landuse"
- },
- "landuse/allotments": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "allotments"
- },
- "terms": [],
- "name": "Allotments"
- },
- "landuse/basin": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "basin"
- },
- "terms": [],
- "name": "Basin"
- },
- "landuse/cemetery": {
- "icon": "cemetery",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "cemetery"
- },
- "terms": [],
- "name": "Cemetery"
- },
- "landuse/commercial": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "commercial"
- },
- "terms": [],
- "name": "Commercial"
- },
- "landuse/construction": {
- "fields": [
- "construction",
- "operator"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "construction"
- },
- "terms": [],
- "name": "Construction"
- },
- "landuse/farm": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "farm"
- },
- "terms": [],
- "name": "Farm",
- "icon": "farm"
- },
- "landuse/farmyard": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "farmyard"
- },
- "terms": [],
- "name": "Farmyard",
- "icon": "farm"
- },
- "landuse/forest": {
- "fields": [
- "wood"
- ],
- "icon": "park2",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "forest"
- },
- "terms": [],
- "name": "Forest"
- },
- "landuse/grass": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "grass"
- },
- "terms": [],
- "name": "Grass"
- },
- "landuse/industrial": {
- "icon": "industrial",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "industrial"
- },
- "terms": [],
- "name": "Industrial"
- },
- "landuse/meadow": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "meadow"
- },
- "terms": [],
- "name": "Meadow"
- },
- "landuse/orchard": {
- "icon": "park2",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "orchard"
- },
- "terms": [],
- "name": "Orchard"
- },
- "landuse/quarry": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "quarry"
- },
- "terms": [],
- "name": "Quarry"
- },
- "landuse/residential": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "residential"
- },
- "terms": [],
- "name": "Residential"
- },
- "landuse/retail": {
- "icon": "shop",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "retail"
- },
- "name": "Retail"
- },
- "landuse/vineyard": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "landuse": "vineyard"
- },
- "terms": [],
- "name": "Vineyard"
- },
- "leisure": {
- "fields": [
- "leisure"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "leisure": "*"
- },
- "name": "Leisure"
- },
- "leisure/common": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "open space"
- ],
- "tags": {
- "leisure": "common"
- },
- "name": "Common"
- },
- "leisure/dog_park": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [],
- "tags": {
- "leisure": "dog_park"
- },
- "name": "Dog Park",
- "icon": "dog-park"
- },
- "leisure/garden": {
- "icon": "garden",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "leisure": "garden"
- },
- "name": "Garden"
- },
- "leisure/golf_course": {
- "icon": "golf",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "golf_course"
- },
- "terms": [],
- "name": "Golf Course"
- },
- "leisure/marina": {
- "icon": "harbor",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "leisure": "marina"
- },
- "name": "Marina"
- },
- "leisure/park": {
- "icon": "park",
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "esplanade",
- "estate",
- "forest",
- "garden",
- "grass",
- "green",
- "grounds",
- "lawn",
- "lot",
- "meadow",
- "parkland",
- "place",
- "playground",
- "plaza",
- "pleasure garden",
- "recreation area",
- "square",
- "tract",
- "village green",
- "woodland"
- ],
- "tags": {
- "leisure": "park"
- },
- "name": "Park"
- },
- "leisure/pitch": {
- "icon": "pitch",
- "fields": [
- "sport",
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch"
- },
- "terms": [],
- "name": "Sport Pitch"
- },
- "leisure/pitch/american_football": {
- "icon": "america-football",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "american_football"
- },
- "terms": [],
- "name": "American Football Field"
- },
- "leisure/pitch/baseball": {
- "icon": "baseball",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "baseball"
- },
- "terms": [],
- "name": "Baseball Diamond"
- },
- "leisure/pitch/basketball": {
- "icon": "basketball",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "basketball"
- },
- "terms": [],
- "name": "Basketball Court"
- },
- "leisure/pitch/skateboard": {
- "icon": "pitch",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "skateboard"
- },
- "terms": [],
- "name": "Skate Park"
- },
- "leisure/pitch/soccer": {
- "icon": "soccer",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "soccer"
- },
- "terms": [],
- "name": "Soccer Field"
- },
- "leisure/pitch/tennis": {
- "icon": "tennis",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "tennis"
- },
- "terms": [],
- "name": "Tennis Court"
- },
- "leisure/pitch/volleyball": {
- "icon": "pitch",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "pitch",
- "sport": "volleyball"
- },
- "terms": [],
- "name": "Volleyball Court"
- },
- "leisure/playground": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "playground"
- },
- "name": "Playground",
- "terms": [
- "jungle gym",
- "play area"
- ]
- },
- "leisure/slipway": {
- "geometry": [
- "point",
- "line"
- ],
- "tags": {
- "leisure": "slipway"
- },
- "name": "Slipway"
- },
- "leisure/sports_center": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "sports_centre"
- },
- "terms": [
- "gym"
- ],
- "icon": "sports",
- "name": "Sports Center"
- },
- "leisure/stadium": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "leisure": "stadium"
- },
- "fields": [
- "sport"
- ],
- "name": "Stadium"
- },
- "leisure/swimming_pool": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "leisure": "swimming_pool"
- },
- "icon": "swimming",
- "name": "Swimming Pool"
- },
- "leisure/track": {
- "icon": "pitch",
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "line",
- "area"
- ],
- "tags": {
- "leisure": "track"
- },
- "name": "Race Track"
- },
- "line": {
- "name": "Line",
- "tags": {},
- "geometry": [
- "line"
- ]
- },
- "man_made": {
- "fields": [
- "man_made"
- ],
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "man_made": "*"
- },
- "name": "Man Made"
- },
- "man_made/breakwater": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "man_made": "breakwater"
- },
- "name": "Breakwater"
- },
- "man_made/cutline": {
- "geometry": [
- "line"
- ],
- "tags": {
- "man_made": "cutline"
- },
- "name": "Cut line"
- },
- "man_made/lighthouse": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "lighthouse"
- },
- "name": "Lighthouse",
- "icon": "lighthouse"
- },
- "man_made/observation": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "lookout tower",
- "fire tower"
- ],
- "tags": {
- "man_made": "tower",
- "tower:type": "observation"
- },
- "name": "Observation Tower"
- },
- "man_made/pier": {
- "geometry": [
- "line",
- "area"
- ],
- "tags": {
- "man_made": "pier"
- },
- "name": "Pier"
- },
- "man_made/pipeline": {
- "geometry": [
- "line"
- ],
- "tags": {
- "man_made": "pipeline"
- },
- "fields": [
- "location",
- "operator"
- ],
- "name": "Pipeline",
- "icon": "pipeline"
- },
- "man_made/survey_point": {
- "icon": "monument",
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "man_made": "survey_point"
- },
- "fields": [
- "ref"
- ],
- "name": "Survey Point"
- },
- "man_made/tower": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "tower"
- },
- "fields": [
- "towertype"
- ],
- "name": "Tower"
- },
- "man_made/wastewater_plant": {
- "icon": "water",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "wastewater_plant"
- },
- "name": "Wastewater Plant",
- "terms": [
- "sewage works",
- "sewage treatment plant",
- "water treatment plant",
- "reclamation plant"
- ]
- },
- "man_made/water_tower": {
- "icon": "water",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "water_tower"
- },
- "name": "Water Tower"
- },
- "man_made/water_well": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "water_well"
- },
- "name": "Water well"
- },
- "man_made/water_works": {
- "icon": "water",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "man_made": "water_works"
- },
- "name": "Water Works"
- },
- "natural": {
- "fields": [
- "natural"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "natural": "*"
- },
- "name": "Natural"
- },
- "natural/bay": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "bay"
- },
- "name": "Bay"
- },
- "natural/beach": {
- "fields": [
- "surface"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "beach"
- },
- "name": "Beach"
- },
- "natural/cliff": {
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "cliff"
- },
- "name": "Cliff"
- },
- "natural/coastline": {
- "geometry": [
- "line"
- ],
- "terms": [
- "shore"
- ],
- "tags": {
- "natural": "coastline"
- },
- "name": "Coastline"
- },
- "natural/fell": {
- "geometry": [
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "fell"
- },
- "name": "Fell"
- },
- "natural/glacier": {
- "geometry": [
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "glacier"
- },
- "name": "Glacier"
- },
- "natural/grassland": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "grassland"
- },
- "name": "Grassland"
- },
- "natural/heath": {
- "geometry": [
- "area"
- ],
- "terms": [],
- "tags": {
- "natural": "heath"
- },
- "name": "Heath"
- },
- "natural/peak": {
- "icon": "triangle",
- "fields": [
- "elevation"
- ],
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "natural": "peak"
- },
- "terms": [
- "acme",
- "aiguille",
- "alp",
- "climax",
- "crest",
- "crown",
- "hill",
- "mount",
- "mountain",
- "pinnacle",
- "summit",
- "tip",
- "top"
- ],
- "name": "Peak"
- },
- "natural/scree": {
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "scree"
- },
- "terms": [
- "loose rocks"
- ],
- "name": "Scree"
- },
- "natural/scrub": {
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "scrub"
- },
- "terms": [],
- "name": "Scrub"
- },
- "natural/spring": {
- "geometry": [
- "point",
- "vertex"
- ],
- "terms": [],
- "tags": {
- "natural": "spring"
- },
- "name": "Spring"
- },
- "natural/tree": {
- "fields": [
- "denotation"
- ],
- "icon": "park",
- "geometry": [
- "point",
- "vertex"
- ],
- "terms": [],
- "tags": {
- "natural": "tree"
- },
- "name": "Tree"
- },
- "natural/water": {
- "fields": [
- "water"
- ],
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "water"
- },
- "icon": "water",
- "name": "Water"
- },
- "natural/water/lake": {
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "water",
- "water": "lake"
- },
- "terms": [
- "lakelet",
- "loch",
- "mere"
- ],
- "icon": "water",
- "name": "Lake"
- },
- "natural/water/pond": {
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "water",
- "water": "pond"
- },
- "terms": [
- "lakelet",
- "millpond",
- "tarn",
- "pool",
- "mere"
- ],
- "icon": "water",
- "name": "Pond"
- },
- "natural/water/reservoir": {
- "geometry": [
- "area"
- ],
- "tags": {
- "natural": "water",
- "water": "reservoir"
- },
- "icon": "water",
- "name": "Reservoir"
- },
- "natural/wetland": {
- "icon": "wetland",
- "fields": [
- "wetland"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "natural": "wetland"
- },
- "terms": [],
- "name": "Wetland"
- },
- "natural/wood": {
- "fields": [
- "wood"
- ],
- "icon": "park2",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "natural": "wood"
- },
- "terms": [],
- "name": "Wood"
- },
- "office": {
- "icon": "commercial",
- "fields": [
- "office",
- "address",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "office": "*"
- },
- "terms": [],
- "name": "Office"
- },
- "place": {
- "fields": [
- "place"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "place": "*"
- },
- "name": "Place"
- },
- "place/city": {
- "icon": "city",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "city"
- },
- "name": "City"
- },
- "place/hamlet": {
- "icon": "triangle-stroked",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "hamlet"
- },
- "name": "Hamlet"
- },
- "place/island": {
- "geometry": [
- "point",
- "area"
- ],
- "terms": [
- "archipelago",
- "atoll",
- "bar",
- "cay",
- "isle",
- "islet",
- "key",
- "reef"
- ],
- "tags": {
- "place": "island"
- },
- "name": "Island"
- },
- "place/isolated_dwelling": {
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "isolated_dwelling"
- },
- "name": "Isolated Dwelling"
- },
- "place/locality": {
- "icon": "marker",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "locality"
- },
- "name": "Locality"
- },
- "place/town": {
- "icon": "town",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "town"
- },
- "name": "Town"
- },
- "place/village": {
- "icon": "village",
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "place": "village"
- },
- "name": "Village"
- },
- "point": {
- "name": "Point",
- "tags": {},
- "geometry": [
- "point"
- ]
- },
- "power": {
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "power": "*"
- },
- "fields": [
- "power"
- ],
- "name": "Power"
- },
- "power/generator": {
- "name": "Power Generator",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "power": "generator"
- },
- "fields": [
- "generator/source",
- "generator/method",
- "generator/type"
- ]
- },
- "power/line": {
- "geometry": [
- "line"
- ],
- "tags": {
- "power": "line"
- },
- "name": "Power Line",
- "icon": "power-line"
- },
- "power/pole": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "power": "pole"
- },
- "name": "Power Pole"
- },
- "power/sub_station": {
- "fields": [
- "operator",
- "building"
- ],
- "geometry": [
- "point",
- "area"
- ],
- "tags": {
- "power": "sub_station"
- },
- "name": "Substation"
- },
- "power/tower": {
- "geometry": [
- "vertex"
- ],
- "tags": {
- "power": "tower"
- },
- "name": "High-Voltage Tower"
- },
- "power/transformer": {
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "power": "transformer"
- },
- "name": "Transformer"
- },
- "railway": {
- "fields": [
- "railway"
- ],
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "railway": "*"
- },
- "name": "Railway"
- },
- "railway/abandoned": {
- "icon": "railway-abandoned",
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "abandoned"
- },
- "fields": [
- "structure"
- ],
- "terms": [],
- "name": "Abandoned Railway"
- },
- "railway/disused": {
- "icon": "railway-disused",
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "disused"
- },
- "fields": [
- "structure"
- ],
- "terms": [],
- "name": "Disused Railway"
- },
- "railway/halt": {
- "icon": "rail",
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "railway": "halt"
- },
- "name": "Railway Halt",
- "terms": [
- "break",
- "interrupt",
- "rest",
- "wait",
- "interruption"
- ]
- },
- "railway/level_crossing": {
- "icon": "cross",
- "geometry": [
- "vertex"
- ],
- "tags": {
- "railway": "level_crossing"
- },
- "terms": [
- "crossing",
- "railroad crossing",
- "railway crossing",
- "grade crossing",
- "road through railroad",
- "train crossing"
- ],
- "name": "Level Crossing"
- },
- "railway/monorail": {
- "icon": "railway-monorail",
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "monorail"
- },
- "fields": [
- "structure"
- ],
- "terms": [],
- "name": "Monorail"
- },
- "railway/platform": {
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "railway": "platform"
- },
- "name": "Railway Platform"
- },
- "railway/rail": {
- "icon": "railway-rail",
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "rail"
- },
- "fields": [
- "structure"
- ],
- "terms": [],
- "name": "Rail"
- },
- "railway/station": {
- "icon": "rail",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "railway": "station"
- },
- "name": "Railway Station"
- },
- "railway/subway": {
- "icon": "railway-subway",
- "fields": [
- "structure"
- ],
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "subway"
- },
- "terms": [],
- "name": "Subway"
- },
- "railway/subway_entrance": {
- "icon": "rail-underground",
- "geometry": [
- "point"
- ],
- "tags": {
- "railway": "subway_entrance"
- },
- "terms": [],
- "name": "Subway Entrance"
- },
- "railway/tram": {
- "icon": "railway-light-rail",
- "geometry": [
- "line"
- ],
- "tags": {
- "railway": "tram"
- },
- "fields": [
- "structure"
- ],
- "terms": [
- "streetcar"
- ],
- "name": "Tram"
- },
- "relation": {
- "name": "Relation",
- "icon": "relation",
- "tags": {},
- "geometry": [
- "relation"
- ],
- "fields": [
- "relation"
- ]
- },
- "route/ferry": {
- "icon": "ferry",
- "geometry": [
- "line"
- ],
- "tags": {
- "route": "ferry"
- },
- "name": "Ferry Route"
- },
- "shop": {
- "icon": "shop",
- "fields": [
- "shop",
- "address",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "*"
- },
- "terms": [],
- "name": "Shop"
- },
- "shop/alcohol": {
- "icon": "alcohol-shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "alcohol"
- },
- "terms": [
- "alcohol"
- ],
- "name": "Liquor Store"
- },
- "shop/bakery": {
- "icon": "bakery",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "bakery"
- },
- "name": "Bakery"
- },
- "shop/beauty": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "nail spa",
- "spa",
- "salon",
- "tanning"
- ],
- "tags": {
- "shop": "beauty"
- },
- "name": "Beauty Shop"
- },
- "shop/beverages": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "beverages"
- },
- "name": "Beverage Store"
- },
- "shop/bicycle": {
- "icon": "bicycle",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "bicycle"
- },
- "name": "Bicycle Shop"
- },
- "shop/books": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "books"
- },
- "name": "Bookstore"
- },
- "shop/boutique": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "boutique"
- },
- "name": "Boutique"
- },
- "shop/butcher": {
- "icon": "slaughterhouse",
- "fields": [
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [],
- "tags": {
- "shop": "butcher"
- },
- "name": "Butcher"
- },
- "shop/car": {
- "icon": "shop",
- "fields": [
- "address",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "car"
- },
- "name": "Car Dealership"
- },
- "shop/car_parts": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "car_parts"
- },
- "name": "Car Parts Store"
- },
- "shop/car_repair": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "car_repair"
- },
- "name": "Car Repair Shop"
- },
- "shop/chemist": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "chemist"
- },
- "name": "Chemist"
- },
- "shop/clothes": {
- "icon": "clothing-store",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "clothes"
- },
- "name": "Clothing Store"
- },
- "shop/computer": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "computer"
- },
- "name": "Computer Store"
- },
- "shop/confectionery": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "confectionery"
- },
- "name": "Confectionery"
- },
- "shop/convenience": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "convenience"
- },
- "name": "Convenience Store"
- },
- "shop/deli": {
- "icon": "restaurant",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "deli"
- },
- "name": "Deli"
- },
- "shop/department_store": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "department_store"
- },
- "name": "Department Store"
- },
- "shop/doityourself": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "doityourself"
- },
- "name": "DIY Store"
- },
- "shop/dry_cleaning": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "dry_cleaning"
- },
- "name": "Dry Cleaners"
- },
- "shop/electronics": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "electronics"
- },
- "name": "Electronics Store"
- },
- "shop/farm": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "farm"
- },
- "terms": [
- "farm shop",
- "farm stand"
- ],
- "name": "Produce Stand"
- },
- "shop/fishmonger": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "fishmonger"
- },
- "name": "Fishmonger"
- },
- "shop/florist": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "florist"
- },
- "name": "Florist"
- },
- "shop/furniture": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "furniture"
- },
- "name": "Furniture Store"
- },
- "shop/garden_centre": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "garden centre"
- ],
- "tags": {
- "shop": "garden_centre"
- },
- "name": "Garden Center"
- },
- "shop/gift": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "gift"
- },
- "name": "Gift Shop"
- },
- "shop/greengrocer": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "greengrocer"
- },
- "name": "Greengrocer"
- },
- "shop/hairdresser": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "hairdresser"
- },
- "name": "Hairdresser"
- },
- "shop/hardware": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "hardware"
- },
- "name": "Hardware Store"
- },
- "shop/hifi": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "hifi"
- },
- "name": "Hifi Store"
- },
- "shop/jewelry": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "jewelry"
- },
- "name": "Jeweler"
- },
- "shop/kiosk": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "kiosk"
- },
- "name": "Kiosk"
- },
- "shop/laundry": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "laundry"
- },
- "name": "Laundry"
- },
- "shop/locksmith": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "keys"
- ],
- "tags": {
- "shop": "locksmith"
- },
- "name": "Locksmith"
- },
- "shop/mall": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "mall"
- },
- "name": "Mall"
- },
- "shop/mobile_phone": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "mobile_phone"
- },
- "name": "Mobile Phone Store"
- },
- "shop/motorcycle": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "motorcycle"
- },
- "name": "Motorcycle Dealership"
- },
- "shop/music": {
- "icon": "music",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "music"
- },
- "name": "Music Store"
- },
- "shop/newsagent": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "newsagent"
- },
- "name": "Newsagent"
- },
- "shop/optician": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "optician"
- },
- "name": "Optician"
- },
- "shop/outdoor": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "outdoor"
- },
- "name": "Outdoor Store"
- },
- "shop/pet": {
- "icon": "dog-park",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "pet"
- },
- "name": "Pet Store"
- },
- "shop/photo": {
- "icon": "camera",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "photo"
- },
- "name": "Photography Store"
- },
- "shop/shoes": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "shoes"
- },
- "name": "Shoe Store"
- },
- "shop/sports": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "sports"
- },
- "name": "Sporting Goods Store"
- },
- "shop/stationery": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "stationery"
- },
- "name": "Stationery Store"
- },
- "shop/supermarket": {
- "icon": "grocery",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "bazaar",
- "boutique",
- "chain",
- "co-op",
- "cut-rate store",
- "discount store",
- "five-and-dime",
- "flea market",
- "galleria",
- "grocery store",
- "mall",
- "mart",
- "outlet",
- "outlet store",
- "shop",
- "shopping center",
- "shopping centre",
- "shopping plaza",
- "stand",
- "store",
- "supermarket",
- "thrift shop"
- ],
- "tags": {
- "shop": "supermarket"
- },
- "name": "Supermarket"
- },
- "shop/toys": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "toys"
- },
- "name": "Toy Store"
- },
- "shop/travel_agency": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "travel_agency"
- },
- "name": "Travel Agency"
- },
- "shop/tyres": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "tyres"
- },
- "name": "Tire Store"
- },
- "shop/vacant": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "vacant"
- },
- "name": "Vacant Shop"
- },
- "shop/variety_store": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "variety_store"
- },
- "name": "Variety Store"
- },
- "shop/video": {
- "icon": "shop",
- "fields": [
- "address",
- "building_area",
- "opening_hours"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "shop": "video"
- },
- "name": "Video Store"
- },
- "tourism": {
- "fields": [
- "tourism"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "*"
- },
- "name": "Tourism"
- },
- "tourism/alpine_hut": {
- "icon": "lodging",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "alpine_hut"
- },
- "name": "Alpine Hut"
- },
- "tourism/artwork": {
- "fields": [
- "artwork_type",
- "artist"
- ],
- "icon": "art-gallery",
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "artwork"
- },
- "terms": [
- "mural",
- "sculpture",
- "statue"
- ],
- "name": "Artwork"
- },
- "tourism/attraction": {
- "icon": "monument",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "attraction"
- },
- "name": "Tourist Attraction"
- },
- "tourism/camp_site": {
- "icon": "campsite",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [],
- "tags": {
- "tourism": "camp_site"
- },
- "name": "Camp Site"
- },
- "tourism/caravan_site": {
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "caravan_site"
- },
- "name": "RV Park"
- },
- "tourism/chalet": {
- "icon": "lodging",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "chalet"
- },
- "name": "Chalet"
- },
- "tourism/guest_house": {
- "icon": "lodging",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "guest_house"
- },
- "terms": [
- "B&B",
- "Bed & Breakfast",
- "Bed and Breakfast"
- ],
- "name": "Guest House"
- },
- "tourism/hostel": {
- "icon": "lodging",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "hostel"
- },
- "name": "Hostel"
- },
- "tourism/hotel": {
- "icon": "lodging",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [],
- "tags": {
- "tourism": "hotel"
- },
- "name": "Hotel"
- },
- "tourism/information": {
- "fields": [
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "information"
- },
- "name": "Information"
- },
- "tourism/motel": {
- "icon": "lodging",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "motel"
- },
- "name": "Motel"
- },
- "tourism/museum": {
- "icon": "museum",
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [
- "exhibition",
- "exhibits archive",
- "foundation",
- "gallery",
- "hall",
- "institution",
- "library",
- "menagerie",
- "repository",
- "salon",
- "storehouse",
- "treasury",
- "vault"
- ],
- "tags": {
- "tourism": "museum"
- },
- "name": "Museum"
- },
- "tourism/picnic_site": {
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "terms": [],
- "tags": {
- "tourism": "picnic_site"
- },
- "name": "Picnic Site"
- },
- "tourism/theme_park": {
- "fields": [
- "operator",
- "building_area",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "theme_park"
- },
- "name": "Theme Park"
- },
- "tourism/viewpoint": {
- "geometry": [
- "point",
- "vertex"
- ],
- "tags": {
- "tourism": "viewpoint"
- },
- "name": "Viewpoint"
- },
- "tourism/zoo": {
- "icon": "zoo",
- "fields": [
- "operator",
- "address"
- ],
- "geometry": [
- "point",
- "vertex",
- "area"
- ],
- "tags": {
- "tourism": "zoo"
- },
- "name": "Zoo"
- },
- "type/boundary": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "boundary"
- },
- "name": "Boundary",
- "icon": "boundary",
- "fields": [
- "boundary"
- ]
- },
- "type/boundary/administrative": {
- "name": "Administrative Boundary",
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "boundary",
- "boundary": "administrative"
- },
- "fields": [
- "admin_level"
- ],
- "icon": "boundary"
- },
- "type/multipolygon": {
- "geometry": [
- "area",
- "relation"
- ],
- "tags": {
- "type": "multipolygon"
- },
- "removeTags": {},
- "name": "Multipolygon",
- "icon": "multipolygon",
- "searchable": false,
- "matchScore": 0.1
- },
- "type/restriction": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "restriction"
- },
- "name": "Restriction",
- "icon": "restriction",
- "fields": [
- "restriction"
- ]
- },
- "type/route": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route"
- },
- "name": "Route",
- "icon": "route",
- "fields": [
- "route",
- "ref"
- ]
- },
- "type/route/bicycle": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "bicycle"
- },
- "name": "Cycle Route",
- "icon": "route-bicycle",
- "fields": [
- "ref",
- "network"
- ]
- },
- "type/route/bus": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "bus"
- },
- "name": "Bus Route",
- "icon": "route-bus",
- "fields": [
- "ref",
- "operator",
- "network"
- ]
- },
- "type/route/detour": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "detour"
- },
- "name": "Detour Route",
- "icon": "route-detour",
- "fields": [
- "ref"
- ]
- },
- "type/route/ferry": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "ferry"
- },
- "name": "Ferry Route",
- "icon": "route-ferry",
- "fields": [
- "ref",
- "operator",
- "network"
- ]
- },
- "type/route/foot": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "foot"
- },
- "name": "Foot Route",
- "icon": "route-foot",
- "fields": [
- "ref",
- "operator",
- "network"
- ]
- },
- "type/route/hiking": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "hiking"
- },
- "name": "Hiking Route",
- "icon": "route-foot",
- "fields": [
- "ref",
- "operator",
- "network"
- ]
- },
- "type/route/pipeline": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "pipeline"
- },
- "name": "Pipeline Route",
- "icon": "route-pipeline",
- "fields": [
- "ref",
- "operator"
- ]
- },
- "type/route/power": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "power"
- },
- "name": "Power Route",
- "icon": "route-power",
- "fields": [
- "ref",
- "operator"
- ]
- },
- "type/route/road": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "road"
- },
- "name": "Road Route",
- "icon": "route-road",
- "fields": [
- "ref"
- ]
- },
- "type/route/train": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "train"
- },
- "name": "Train Route",
- "icon": "route-train",
- "fields": [
- "ref",
- "operator"
- ]
- },
- "type/route/tram": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route",
- "route": "tram"
- },
- "name": "Tram Route",
- "icon": "route-tram",
- "fields": [
- "ref",
- "operator"
- ]
- },
- "type/route_master": {
- "geometry": [
- "relation"
- ],
- "tags": {
- "type": "route_master"
- },
- "name": "Route Master",
- "icon": "route-master",
- "fields": [
- "route_master",
- "ref",
- "operator",
- "network"
- ]
- },
- "vertex": {
- "name": "Other",
- "tags": {},
- "geometry": [
- "vertex"
- ]
- },
- "waterway": {
- "fields": [
- "waterway"
- ],
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "waterway": "*"
- },
- "name": "Waterway"
- },
- "waterway/canal": {
- "icon": "waterway-canal",
- "geometry": [
- "line"
- ],
- "tags": {
- "waterway": "canal"
- },
- "name": "Canal"
- },
- "waterway/dam": {
- "icon": "dam",
- "geometry": [
- "point",
- "vertex",
- "line",
- "area"
- ],
- "tags": {
- "waterway": "dam"
- },
- "name": "Dam"
- },
- "waterway/ditch": {
- "icon": "waterway-ditch",
- "geometry": [
- "line"
- ],
- "tags": {
- "waterway": "ditch"
- },
- "name": "Ditch"
- },
- "waterway/drain": {
- "icon": "waterway-stream",
- "geometry": [
- "line"
- ],
- "tags": {
- "waterway": "drain"
- },
- "name": "Drain"
- },
- "waterway/river": {
- "icon": "waterway-river",
- "geometry": [
- "line"
- ],
- "terms": [
- "beck",
- "branch",
- "brook",
- "course",
- "creek",
- "estuary",
- "rill",
- "rivulet",
- "run",
- "runnel",
- "stream",
- "tributary",
- "watercourse"
- ],
- "tags": {
- "waterway": "river"
- },
- "name": "River"
- },
- "waterway/riverbank": {
- "icon": "water",
- "geometry": [
- "area"
- ],
- "tags": {
- "waterway": "riverbank"
- },
- "name": "Riverbank"
- },
- "waterway/stream": {
- "icon": "waterway-stream",
- "fields": [
- "layer"
- ],
- "geometry": [
- "line"
- ],
- "terms": [
- "beck",
- "branch",
- "brook",
- "burn",
- "course",
- "creek",
- "current",
- "drift",
- "flood",
- "flow",
- "freshet",
- "race",
- "rill",
- "rindle",
- "rivulet",
- "run",
- "runnel",
- "rush",
- "spate",
- "spritz",
- "surge",
- "tide",
- "torrent",
- "tributary",
- "watercourse"
- ],
- "tags": {
- "waterway": "stream"
- },
- "name": "Stream"
- },
- "waterway/weir": {
- "icon": "dam",
- "geometry": [
- "vertex",
- "line"
- ],
- "tags": {
- "waterway": "weir"
- },
- "name": "Weir"
- }
- },
- "defaults": {
- "area": [
- "category-landuse",
- "building",
- "leisure/park",
- "natural/water",
- "amenity/hospital",
- "amenity/place_of_worship",
- "amenity/cafe",
- "amenity/restaurant",
- "area"
- ],
- "line": [
- "category-road",
- "category-rail",
- "category-path",
- "category-water",
- "power/line",
- "line"
- ],
- "point": [
- "leisure/park",
- "amenity/hospital",
- "amenity/place_of_worship",
- "amenity/cafe",
- "amenity/restaurant",
- "amenity/bar",
- "amenity/bank",
- "shop/supermarket",
- "point"
- ],
- "vertex": [
- "highway/crossing",
- "railway/level_crossing",
- "highway/traffic_signals",
- "highway/turning_circle",
- "highway/mini_roundabout",
- "highway/motorway_junction",
- "vertex"
- ],
- "relation": [
- "category-route",
- "type/boundary",
- "type/restriction",
- "type/multipolygon",
- "relation"
- ]
- },
- "categories": {
- "category-landuse": {
- "geometry": "area",
- "name": "Land Use",
- "icon": "land-use",
- "members": [
- "landuse/residential",
- "landuse/industrial",
- "landuse/commercial",
- "landuse/retail",
- "landuse/farm",
- "landuse/farmyard",
- "landuse/forest",
- "landuse/meadow",
- "landuse/cemetery"
- ]
- },
- "category-path": {
- "geometry": "line",
- "name": "Path",
- "icon": "category-path",
- "members": [
- "highway/footway",
- "highway/cycleway",
- "highway/bridleway",
- "highway/path",
- "highway/steps"
- ]
- },
- "category-rail": {
- "geometry": "line",
- "name": "Rail",
- "icon": "category-rail",
- "members": [
- "railway/rail",
- "railway/subway",
- "railway/tram",
- "railway/monorail",
- "railway/disused",
- "railway/abandoned"
- ]
- },
- "category-road": {
- "geometry": "line",
- "name": "Road",
- "icon": "category-roads",
- "members": [
- "highway/residential",
- "highway/motorway",
- "highway/trunk",
- "highway/primary",
- "highway/secondary",
- "highway/tertiary",
- "highway/service",
- "highway/motorway_link",
- "highway/trunk_link",
- "highway/primary_link",
- "highway/secondary_link",
- "highway/tertiary_link",
- "highway/unclassified",
- "highway/track",
- "highway/road"
- ]
- },
- "category-route": {
- "geometry": "relation",
- "name": "Route",
- "icon": "route",
- "members": [
- "type/route/road",
- "type/route/bicycle",
- "type/route/foot",
- "type/route/hiking",
- "type/route/bus",
- "type/route/train",
- "type/route/tram",
- "type/route/ferry",
- "type/route/power",
- "type/route/pipeline",
- "type/route/detour",
- "type/route_master",
- "type/route"
- ]
- },
- "category-water": {
- "geometry": "line",
- "name": "Water",
- "icon": "category-water",
- "members": [
- "waterway/river",
- "waterway/stream",
- "waterway/canal",
- "waterway/ditch"
- ]
- }
- },
- "fields": {
- "access": {
- "keys": [
- "access",
- "foot",
- "motor_vehicle",
- "bicycle",
- "horse"
- ],
- "type": "access",
- "label": "Access",
- "placeholder": "Unknown",
- "strings": {
- "types": {
- "access": "General",
- "foot": "Foot",
- "motor_vehicle": "Motor Vehicles",
- "bicycle": "Bicycles",
- "horse": "Horses"
- },
- "options": {
- "yes": {
- "title": "Allowed",
- "description": "Access permitted by law; a right of way"
- },
- "no": {
- "title": "Prohibited",
- "description": "Access not permitted to the general public"
- },
- "permissive": {
- "title": "Permissive",
- "description": "Access permitted until such time as the owner revokes the permission"
- },
- "private": {
- "title": "Private",
- "description": "Access permitted only with permission of the owner on an individual basis"
- },
- "designated": {
- "title": "Designated",
- "description": "Access permitted according to signs or specific local laws"
- },
- "destination": {
- "title": "Destination",
- "description": "Access permitted only to reach a destination"
- }
- }
- }
- },
- "access_toilets": {
- "key": "access",
- "type": "combo",
- "label": "Access",
- "options": [
- "public",
- "permissive",
- "private",
- "customers"
- ]
- },
- "address": {
- "type": "address",
- "keys": [
- "addr:housename",
- "addr:housenumber",
- "addr:street",
- "addr:city",
- "addr:postcode"
- ],
- "icon": "address",
- "universal": true,
- "label": "Address",
- "strings": {
- "placeholders": {
- "housename": "Housename",
- "number": "123",
- "street": "Street",
- "city": "City",
- "postcode": "Postal code"
- }
- }
- },
- "admin_level": {
- "key": "admin_level",
- "type": "number",
- "label": "Admin Level"
- },
- "aeroway": {
- "key": "aeroway",
- "type": "typeCombo",
- "label": "Type"
- },
- "amenity": {
- "key": "amenity",
- "type": "typeCombo",
- "label": "Type"
- },
- "artist": {
- "key": "artist_name",
- "type": "text",
- "label": "Artist"
- },
- "artwork_type": {
- "key": "artwork_type",
- "type": "combo",
- "label": "Type"
- },
- "atm": {
- "key": "atm",
- "type": "check",
- "label": "ATM"
- },
- "backrest": {
- "key": "backrest",
- "type": "check",
- "label": "Backrest"
- },
- "barrier": {
- "key": "barrier",
- "type": "typeCombo",
- "label": "Type"
- },
- "bicycle_parking": {
- "key": "bicycle_parking",
- "type": "combo",
- "label": "Type"
- },
- "boundary": {
- "key": "boundary",
- "type": "combo",
- "label": "Type"
- },
- "building": {
- "key": "building",
- "type": "typeCombo",
- "label": "Building"
- },
- "building_area": {
- "key": "building",
- "type": "check",
- "default": "yes",
- "geometry": "area",
- "label": "Building"
- },
- "building_yes": {
- "key": "building",
- "type": "combo",
- "default": "yes",
- "label": "Building"
- },
- "capacity": {
- "key": "capacity",
- "type": "number",
- "label": "Capacity",
- "placeholder": "50, 100, 200..."
- },
- "cardinal_direction": {
- "key": "direction",
- "type": "combo",
- "options": [
- "N",
- "E",
- "S",
- "W",
- "NE",
- "SE",
- "SW",
- "NNE",
- "ENE",
- "ESE",
- "SSE",
- "SSW",
- "WSW",
- "WNW",
- "NNW"
- ],
- "label": "Direction"
- },
- "clock_direction": {
- "key": "direction",
- "type": "combo",
- "options": [
- "clockwise",
- "anticlockwise"
- ],
- "label": "Direction",
- "strings": {
- "options": {
- "clockwise": "Clockwise",
- "anticlockwise": "Counterclockwise"
- }
- }
- },
- "collection_times": {
- "key": "collection_times",
- "type": "text",
- "label": "Collection Times"
- },
- "construction": {
- "key": "construction",
- "type": "combo",
- "label": "Type"
- },
- "country": {
- "key": "country",
- "type": "combo",
- "label": "Country"
- },
- "crossing": {
- "key": "crossing",
- "type": "combo",
- "label": "Type"
- },
- "cuisine": {
- "key": "cuisine",
- "type": "combo",
- "indexed": true,
- "label": "Cuisine"
- },
- "denomination": {
- "key": "denomination",
- "type": "combo",
- "label": "Denomination"
- },
- "denotation": {
- "key": "denotation",
- "type": "combo",
- "label": "Denotation"
- },
- "description": {
- "key": "description",
- "type": "textarea",
- "label": "Description"
- },
- "elevation": {
- "key": "ele",
- "type": "number",
- "icon": "elevation",
- "universal": true,
- "label": "Elevation"
- },
- "emergency": {
- "key": "emergency",
- "type": "check",
- "label": "Emergency"
- },
- "entrance": {
- "key": "entrance",
- "type": "typeCombo",
- "label": "Type"
- },
- "fax": {
- "key": "fax",
- "type": "tel",
- "label": "Fax",
- "placeholder": "+31 42 123 4567"
- },
- "fee": {
- "key": "fee",
- "type": "check",
- "label": "Fee"
- },
- "fire_hydrant/type": {
- "key": "fire_hydrant:type",
- "type": "combo",
- "options": [
- "pillar",
- "pond",
- "underground",
- "wall"
- ],
- "label": "Type"
- },
- "fixme": {
- "key": "fixme",
- "type": "textarea",
- "label": "Fix Me"
- },
- "generator/method": {
- "key": "generator:method",
- "type": "combo",
- "label": "Method"
- },
- "generator/source": {
- "key": "generator:source",
- "type": "combo",
- "label": "Source"
- },
- "generator/type": {
- "key": "generator:type",
- "type": "combo",
- "label": "Type"
- },
- "highway": {
- "key": "highway",
- "type": "typeCombo",
- "label": "Type"
- },
- "historic": {
- "key": "historic",
- "type": "typeCombo",
- "label": "Type"
- },
- "iata": {
- "key": "iata",
- "type": "text",
- "label": "IATA"
- },
- "icao": {
- "key": "icao",
- "type": "text",
- "label": "ICAO"
- },
- "incline": {
- "key": "incline",
- "type": "combo",
- "label": "Incline"
- },
- "internet_access": {
- "key": "internet_access",
- "type": "combo",
- "options": [
- "yes",
- "no",
- "wlan",
- "wired",
- "terminal"
- ],
- "label": "Internet Access",
- "strings": {
- "options": {
- "yes": "Yes",
- "no": "No",
- "wlan": "Wifi",
- "wired": "Wired",
- "terminal": "Terminal"
- }
- }
- },
- "landuse": {
- "key": "landuse",
- "type": "typeCombo",
- "label": "Type"
- },
- "lanes": {
- "key": "lanes",
- "type": "number",
- "label": "Lanes",
- "placeholder": "1, 2, 3..."
- },
- "layer": {
- "key": "layer",
- "type": "combo",
- "label": "Layer"
- },
- "leisure": {
- "key": "leisure",
- "type": "typeCombo",
- "label": "Type"
- },
- "levels": {
- "key": "building:levels",
- "type": "number",
- "label": "Levels",
- "placeholder": "2, 4, 6..."
- },
- "lit": {
- "key": "lit",
- "type": "check",
- "label": "Lit"
- },
- "location": {
- "key": "location",
- "type": "combo",
- "label": "Location"
- },
- "man_made": {
- "key": "man_made",
- "type": "typeCombo",
- "label": "Type"
- },
- "maxspeed": {
- "key": "maxspeed",
- "type": "maxspeed",
- "label": "Speed Limit",
- "placeholder": "40, 50, 60..."
- },
- "name": {
- "key": "name",
- "type": "localized",
- "label": "Name",
- "placeholder": "Common name (if any)"
- },
- "natural": {
- "key": "natural",
- "type": "typeCombo",
- "label": "Natural"
- },
- "network": {
- "key": "network",
- "type": "text",
- "label": "Network"
- },
- "note": {
- "key": "note",
- "type": "textarea",
- "universal": true,
- "icon": "note",
- "label": "Note"
- },
- "office": {
- "key": "office",
- "type": "typeCombo",
- "label": "Type"
- },
- "oneway": {
- "key": "oneway",
- "type": "check",
- "label": "One Way"
- },
- "oneway_yes": {
- "key": "oneway",
- "type": "check",
- "default": "yes",
- "label": "One Way"
- },
- "opening_hours": {
- "key": "opening_hours",
- "type": "text",
- "label": "Hours"
- },
- "operator": {
- "key": "operator",
- "type": "text",
- "label": "Operator"
- },
- "park_ride": {
- "key": "park_ride",
- "type": "check",
- "label": "Park and Ride"
- },
- "parking": {
- "key": "parking",
- "type": "combo",
- "options": [
- "surface",
- "multi-storey",
- "underground",
- "sheds",
- "carports",
- "garage_boxes",
- "lane"
- ],
- "label": "Type"
- },
- "phone": {
- "key": "phone",
- "type": "tel",
- "icon": "telephone",
- "universal": true,
- "label": "Phone",
- "placeholder": "+31 42 123 4567"
- },
- "place": {
- "key": "place",
- "type": "typeCombo",
- "label": "Type"
- },
- "power": {
- "key": "power",
- "type": "typeCombo",
- "label": "Type"
- },
- "railway": {
- "key": "railway",
- "type": "typeCombo",
- "label": "Type"
- },
- "ref": {
- "key": "ref",
- "type": "text",
- "label": "Reference"
- },
- "relation": {
- "key": "type",
- "type": "combo",
- "label": "Type"
- },
- "religion": {
- "key": "religion",
- "type": "combo",
- "options": [
- "christian",
- "muslim",
- "buddhist",
- "jewish",
- "hindu",
- "shinto",
- "taoist"
- ],
- "label": "Religion",
- "strings": {
- "options": {
- "christian": "Christian",
- "muslim": "Muslim",
- "buddhist": "Buddhist",
- "jewish": "Jewish",
- "hindu": "Hindu",
- "shinto": "Shinto",
- "taoist": "Taoist"
- }
- }
- },
- "restriction": {
- "key": "restriction",
- "type": "combo",
- "label": "Type"
- },
- "route": {
- "key": "route",
- "type": "combo",
- "label": "Type"
- },
- "route_master": {
- "key": "route_master",
- "type": "combo",
- "label": "Type"
- },
- "sac_scale": {
- "key": "sac_scale",
- "type": "combo",
- "label": "Path Difficulty"
- },
- "service": {
- "key": "service",
- "type": "combo",
- "options": [
- "parking_aisle",
- "driveway",
- "alley",
- "drive-through",
- "emergency_access"
- ],
- "label": "Type"
- },
- "shelter": {
- "key": "shelter",
- "type": "check",
- "label": "Shelter"
- },
- "shop": {
- "key": "shop",
- "type": "typeCombo",
- "label": "Type"
- },
- "source": {
- "key": "source",
- "type": "text",
- "icon": "source",
- "universal": true,
- "label": "Source"
- },
- "sport": {
- "key": "sport",
- "type": "combo",
- "label": "Sport"
- },
- "structure": {
- "type": "radio",
- "keys": [
- "bridge",
- "tunnel",
- "embankment",
- "cutting"
- ],
- "label": "Structure",
- "placeholder": "Unknown",
- "strings": {
- "options": {
- "bridge": "Bridge",
- "tunnel": "Tunnel",
- "embankment": "Embankment",
- "cutting": "Cutting"
- }
- }
- },
- "supervised": {
- "key": "supervised",
- "type": "check",
- "label": "Supervised"
- },
- "surface": {
- "key": "surface",
- "type": "combo",
- "label": "Surface"
- },
- "toilets/disposal": {
- "key": "toilets:disposal",
- "type": "combo",
- "label": "Disposal"
- },
- "tourism": {
- "key": "tourism",
- "type": "typeCombo",
- "label": "Type"
- },
- "towertype": {
- "key": "tower:type",
- "type": "combo",
- "label": "Tower type"
- },
- "tracktype": {
- "key": "tracktype",
- "type": "combo",
- "label": "Type"
- },
- "trail_visibility": {
- "key": "trail_visibility",
- "type": "combo",
- "label": "Trail Visibility"
- },
- "vending": {
- "key": "vending",
- "type": "combo",
- "label": "Type of Goods"
- },
- "water": {
- "key": "water",
- "type": "combo",
- "label": "Type"
- },
- "waterway": {
- "key": "waterway",
- "type": "typeCombo",
- "label": "Type"
- },
- "website": {
- "key": "website",
- "type": "url",
- "icon": "website",
- "placeholder": "http://example.com/",
- "universal": true,
- "label": "Website"
- },
- "wetland": {
- "key": "wetland",
- "type": "combo",
- "label": "Type"
- },
- "wheelchair": {
- "key": "wheelchair",
- "type": "radio",
- "options": [
- "yes",
- "limited",
- "no"
- ],
- "icon": "wheelchair",
- "universal": true,
- "label": "Wheelchair Access"
- },
- "wikipedia": {
- "key": "wikipedia",
- "type": "wikipedia",
- "icon": "wikipedia",
- "universal": true,
- "label": "Wikipedia"
- },
- "wood": {
- "key": "wood",
- "type": "combo",
- "label": "Type"
- }
- }
- },
- "imperial": {
- "type": "FeatureCollection",
- "features": [
- {
- "type": "Feature",
- "properties": {
- "id": 0
- },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [
- -1.426496,
- 50.639342
- ],
- [
- -1.445953,
- 50.648139
- ],
- [
- -1.452789,
- 50.654283
- ],
- [
- -1.485951,
- 50.669338
- ],
- [
- -1.497426,
- 50.672309
- ],
- [
- -1.535146,
- 50.669379
- ],
- [
- -1.551503,
- 50.665107
- ],
- [
- -1.569488,
- 50.658026
- ],
- [
- -1.545318,
- 50.686103
- ],
- [
- -1.50593,
- 50.707709
- ],
- [
- -1.418691,
- 50.733791
- ],
- [
- -1.420888,
- 50.730455
- ],
- [
- -1.423451,
- 50.7237
- ],
- [
- -1.425364,
- 50.72012
- ],
- [
- -1.400868,
- 50.721991
- ],
- [
- -1.377553,
- 50.734198
- ],
- [
- -1.343495,
- 50.761054
- ],
- [
- -1.318512,
- 50.772162
- ],
- [
- -1.295766,
- 50.773179
- ],
- [
- -1.144276,
- 50.733791
- ],
- [
- -1.119537,
- 50.734198
- ],
- [
- -1.10912,
- 50.732856
- ],
- [
- -1.097035,
- 50.726955
- ],
- [
- -1.096425,
- 50.724433
- ],
- [
- -1.097646,
- 50.71601
- ],
- [
- -1.097035,
- 50.713324
- ],
- [
- -1.094228,
- 50.712633
- ],
- [
- -1.085561,
- 50.714016
- ],
- [
- -1.082753,
- 50.713324
- ],
- [
- -1.062327,
- 50.692816
- ],
- [
- -1.062327,
- 50.685289
- ],
- [
- -1.066965,
- 50.685248
- ],
- [
- -1.069651,
- 50.683498
- ],
- [
- -1.071889,
- 50.680976
- ],
- [
- -1.075307,
- 50.678534
- ],
- [
- -1.112701,
- 50.671454
- ],
- [
- -1.128651,
- 50.666449
- ],
- [
- -1.156361,
- 50.650784
- ],
- [
- -1.162221,
- 50.645982
- ],
- [
- -1.164703,
- 50.640937
- ],
- [
- -1.164666,
- 50.639543
- ],
- [
- -1.426496,
- 50.639342
- ]
- ]
- ],
- [
- [
- [
- -7.240314,
- 55.050389
- ],
- [
- -7.013736,
- 55.1615
- ],
- [
- -6.958913,
- 55.20349
- ],
- [
- -6.571562,
- 55.268366
- ],
- [
- -6.509633,
- 55.31398
- ],
- [
- -6.226158,
- 55.344406
- ],
- [
- -6.07105,
- 55.25001
- ],
- [
- -5.712696,
- 55.017635
- ],
- [
- -5.242021,
- 54.415204
- ],
- [
- -5.695554,
- 54.14284
- ],
- [
- -5.72473,
- 54.07455
- ],
- [
- -6.041633,
- 54.006238
- ],
- [
- -6.153953,
- 54.054931
- ],
- [
- -6.220539,
- 54.098803
- ],
- [
- -6.242502,
- 54.099758
- ],
- [
- -6.263661,
- 54.104682
- ],
- [
- -6.269887,
- 54.097927
- ],
- [
- -6.28465,
- 54.105226
- ],
- [
- -6.299585,
- 54.104037
- ],
- [
- -6.313796,
- 54.099696
- ],
- [
- -6.327128,
- 54.097888
- ],
- [
- -6.338962,
- 54.102952
- ],
- [
- -6.346662,
- 54.109877
- ],
- [
- -6.354827,
- 54.110652
- ],
- [
- -6.368108,
- 54.097319
- ],
- [
- -6.369348,
- 54.091118
- ],
- [
- -6.367643,
- 54.083418
- ],
- [
- -6.366919,
- 54.075098
- ],
- [
- -6.371157,
- 54.066778
- ],
- [
- -6.377513,
- 54.063264
- ],
- [
- -6.401026,
- 54.060887
- ],
- [
- -6.426761,
- 54.05541
- ],
- [
- -6.433892,
- 54.055306
- ],
- [
- -6.4403,
- 54.057993
- ],
- [
- -6.446243,
- 54.062438
- ],
- [
- -6.450222,
- 54.066675
- ],
- [
- -6.450894,
- 54.068432
- ],
- [
- -6.47854,
- 54.067709
- ],
- [
- -6.564013,
- 54.04895
- ],
- [
- -6.571868,
- 54.049519
- ],
- [
- -6.587164,
- 54.053343
- ],
- [
- -6.595071,
- 54.052412
- ],
- [
- -6.60029,
- 54.04895
- ],
- [
- -6.605217,
- 54.044475
- ],
- [
- -6.610987,
- 54.039235
- ],
- [
- -6.616465,
- 54.037271
- ],
- [
- -6.630624,
- 54.041819
- ],
- [
- -6.657289,
- 54.061146
- ],
- [
- -6.672534,
- 54.068432
- ],
- [
- -6.657082,
- 54.091945
- ],
- [
- -6.655791,
- 54.103314
- ],
- [
- -6.666436,
- 54.114786
- ],
- [
- -6.643957,
- 54.131839
- ],
- [
- -6.634552,
- 54.150133
- ],
- [
- -6.640339,
- 54.168013
- ],
- [
- -6.648448,
- 54.173665
- ],
- [
- -6.663025,
- 54.183826
- ],
- [
- -6.683954,
- 54.194368
- ],
- [
- -6.694651,
- 54.197985
- ],
- [
- -6.706537,
- 54.198915
- ],
- [
- -6.717234,
- 54.195143
- ],
- [
- -6.724779,
- 54.188631
- ],
- [
- -6.73284,
- 54.183567
- ],
- [
- -6.744777,
- 54.184187
- ],
- [
- -6.766481,
- 54.192352
- ],
- [
- -6.787824,
- 54.202998
- ],
- [
- -6.807358,
- 54.21633
- ],
- [
- -6.823946,
- 54.23235
- ],
- [
- -6.829733,
- 54.242375
- ],
- [
- -6.833196,
- 54.25209
- ],
- [
- -6.837743,
- 54.260513
- ],
- [
- -6.846683,
- 54.266456
- ],
- [
- -6.882185,
- 54.277257
- ],
- [
- -6.864667,
- 54.282734
- ],
- [
- -6.856657,
- 54.292811
- ],
- [
- -6.858414,
- 54.307332
- ],
- [
- -6.870015,
- 54.326001
- ],
- [
- -6.879705,
- 54.341594
- ],
- [
- -6.885957,
- 54.345624
- ],
- [
- -6.897895,
- 54.346193
- ],
- [
- -6.905956,
- 54.349035
- ],
- [
- -6.915051,
- 54.365933
- ],
- [
- -6.922028,
- 54.372703
- ],
- [
- -6.984091,
- 54.403089
- ],
- [
- -7.017836,
- 54.413166
- ],
- [
- -7.049255,
- 54.411512
- ],
- [
- -7.078504,
- 54.394717
- ],
- [
- -7.127028,
- 54.349759
- ],
- [
- -7.159894,
- 54.335186
- ],
- [
- -7.168059,
- 54.335031
- ],
- [
- -7.185629,
- 54.336943
- ],
- [
- -7.18947,
- 54.335692
- ],
- [
- -7.19245,
- 54.334721
- ],
- [
- -7.193949,
- 54.329967
- ],
- [
- -7.191468,
- 54.323869
- ],
- [
- -7.187644,
- 54.318804
- ],
- [
- -7.185009,
- 54.317254
- ],
- [
- -7.184647,
- 54.316634
- ],
- [
- -7.192399,
- 54.307384
- ],
- [
- -7.193691,
- 54.307539
- ],
- [
- -7.199168,
- 54.303457
- ],
- [
- -7.206661,
- 54.304903
- ],
- [
- -7.211467,
- 54.30418
- ],
- [
- -7.209038,
- 54.293431
- ],
- [
- -7.1755,
- 54.283664
- ],
- [
- -7.181495,
- 54.269763
- ],
- [
- -7.14589,
- 54.25209
- ],
- [
- -7.159739,
- 54.24067
- ],
- [
- -7.153331,
- 54.224237
- ],
- [
- -7.174725,
- 54.216072
- ],
- [
- -7.229502,
- 54.207545
- ],
- [
- -7.240871,
- 54.202326
- ],
- [
- -7.249088,
- 54.197416
- ],
- [
- -7.255496,
- 54.190854
- ],
- [
- -7.261128,
- 54.18088
- ],
- [
- -7.256322,
- 54.176901
- ],
- [
- -7.247021,
- 54.17225
- ],
- [
- -7.24578,
- 54.166979
- ],
- [
- -7.265366,
- 54.16114
- ],
- [
- -7.26087,
- 54.151166
- ],
- [
- -7.263505,
- 54.140986
- ],
- [
- -7.27074,
- 54.132253
- ],
- [
- -7.280042,
- 54.126155
- ],
- [
- -7.293788,
- 54.122021
- ],
- [
- -7.297353,
- 54.125896
- ],
- [
- -7.29632,
- 54.134991
- ],
- [
- -7.296423,
- 54.146515
- ],
- [
- -7.295028,
- 54.155404
- ],
- [
- -7.292134,
- 54.162638
- ],
- [
- -7.295545,
- 54.165119
- ],
- [
- -7.325982,
- 54.154577
- ],
- [
- -7.333165,
- 54.149409
- ],
- [
- -7.333165,
- 54.142743
- ],
- [
- -7.310324,
- 54.114683
- ],
- [
- -7.316489,
- 54.11428
- ],
- [
- -7.326964,
- 54.113597
- ],
- [
- -7.375488,
- 54.123312
- ],
- [
- -7.390216,
- 54.121194
- ],
- [
- -7.39466,
- 54.121917
- ],
- [
- -7.396624,
- 54.126258
- ],
- [
- -7.403962,
- 54.135043
- ],
- [
- -7.41223,
- 54.136438
- ],
- [
- -7.422255,
- 54.135456
- ],
- [
- -7.425769,
- 54.136955
- ],
- [
- -7.414659,
- 54.145688
- ],
- [
- -7.439619,
- 54.146929
- ],
- [
- -7.480753,
- 54.127653
- ],
- [
- -7.502302,
- 54.125121
- ],
- [
- -7.609014,
- 54.139901
- ],
- [
- -7.620796,
- 54.144965
- ],
- [
- -7.624052,
- 54.153336
- ],
- [
- -7.625706,
- 54.162173
- ],
- [
- -7.632682,
- 54.168529
- ],
- [
- -7.70477,
- 54.200362
- ],
- [
- -7.722599,
- 54.202326
- ],
- [
- -7.782078,
- 54.2
- ],
- [
- -7.836959,
- 54.204341
- ],
- [
- -7.856441,
- 54.211421
- ],
- [
- -7.86967,
- 54.226872
- ],
- [
- -7.873649,
- 54.271055
- ],
- [
- -7.880264,
- 54.287023
- ],
- [
- -7.894966,
- 54.293586
- ],
- [
- -7.93411,
- 54.297049
- ],
- [
- -7.942075,
- 54.298873
- ],
- [
- -7.950802,
- 54.300873
- ],
- [
- -7.96801,
- 54.31219
- ],
- [
- -7.981033,
- 54.326556
- ],
- [
- -8.002194,
- 54.357923
- ],
- [
- -8.03134,
- 54.358027
- ],
- [
- -8.05648,
- 54.365882
- ],
- [
- -8.079941,
- 54.380196
- ],
- [
- -8.122419,
- 54.415233
- ],
- [
- -8.146346,
- 54.430736
- ],
- [
- -8.156035,
- 54.439055
- ],
- [
- -8.158128,
- 54.447117
- ],
- [
- -8.161177,
- 54.454817
- ],
- [
- -8.173837,
- 54.461741
- ],
- [
- -8.168467,
- 54.463477
- ],
- [
- -8.15017,
- 54.46939
- ],
- [
- -8.097046,
- 54.478588
- ],
- [
- -8.072448,
- 54.487063
- ],
- [
- -8.060976,
- 54.493316
- ],
- [
- -8.05586,
- 54.497553
- ],
- [
- -8.043561,
- 54.512229
- ],
- [
- -8.023278,
- 54.529696
- ],
- [
- -8.002194,
- 54.543442
- ],
- [
- -7.926411,
- 54.533055
- ],
- [
- -7.887137,
- 54.532125
- ],
- [
- -7.848844,
- 54.54091
- ],
- [
- -7.749264,
- 54.596152
- ],
- [
- -7.707871,
- 54.604162
- ],
- [
- -7.707944,
- 54.604708
- ],
- [
- -7.707951,
- 54.604763
- ],
- [
- -7.710558,
- 54.624264
- ],
- [
- -7.721204,
- 54.625866
- ],
- [
- -7.736758,
- 54.619251
- ],
- [
- -7.753553,
- 54.614497
- ],
- [
- -7.769159,
- 54.618011
- ],
- [
- -7.801199,
- 54.634806
- ],
- [
- -7.814996,
- 54.639457
- ],
- [
- -7.822541,
- 54.638113
- ],
- [
- -7.838044,
- 54.63124
- ],
- [
- -7.846416,
- 54.631447
- ],
- [
- -7.85427,
- 54.636408
- ],
- [
- -7.864347,
- 54.649069
- ],
- [
- -7.872771,
- 54.652221
- ],
- [
- -7.890082,
- 54.655063
- ],
- [
- -7.906619,
- 54.661316
- ],
- [
- -7.914835,
- 54.671651
- ],
- [
- -7.907135,
- 54.686689
- ],
- [
- -7.913233,
- 54.688653
- ],
- [
- -7.929666,
- 54.696714
- ],
- [
- -7.880109,
- 54.711029
- ],
- [
- -7.845899,
- 54.731027
- ],
- [
- -7.832153,
- 54.730614
- ],
- [
- -7.803576,
- 54.716145
- ],
- [
- -7.770503,
- 54.706016
- ],
- [
- -7.736603,
- 54.707463
- ],
- [
- -7.70229,
- 54.718883
- ],
- [
- -7.667512,
- 54.738779
- ],
- [
- -7.649683,
- 54.744877
- ],
- [
- -7.61537,
- 54.739347
- ],
- [
- -7.585398,
- 54.744722
- ],
- [
- -7.566639,
- 54.738675
- ],
- [
- -7.556149,
- 54.738365
- ],
- [
- -7.543075,
- 54.741673
- ],
- [
- -7.543023,
- 54.743791
- ],
- [
- -7.548398,
- 54.747202
- ],
- [
- -7.551705,
- 54.754695
- ],
- [
- -7.549741,
- 54.779603
- ],
- [
- -7.543385,
- 54.793091
- ],
- [
- -7.470831,
- 54.845284
- ],
- [
- -7.45507,
- 54.863009
- ],
- [
- -7.444735,
- 54.884455
- ],
- [
- -7.444735,
- 54.894893
- ],
- [
- -7.448972,
- 54.920318
- ],
- [
- -7.445251,
- 54.932152
- ],
- [
- -7.436983,
- 54.938301
- ],
- [
- -7.417139,
- 54.943056
- ],
- [
- -7.415755,
- 54.944372
- ],
- [
- -7.408665,
- 54.951117
- ],
- [
- -7.407424,
- 54.959437
- ],
- [
- -7.413109,
- 54.984965
- ],
- [
- -7.409078,
- 54.992045
- ],
- [
- -7.403755,
- 54.99313
- ],
- [
- -7.40112,
- 54.994836
- ],
- [
- -7.405254,
- 55.003569
- ],
- [
- -7.376987,
- 55.02889
- ],
- [
- -7.366962,
- 55.035557
- ],
- [
- -7.355024,
- 55.040931
- ],
- [
- -7.291152,
- 55.046615
- ],
- [
- -7.282987,
- 55.051835
- ],
- [
- -7.275288,
- 55.058863
- ],
- [
- -7.266503,
- 55.065167
- ],
- [
- -7.247097,
- 55.069328
- ],
- [
- -7.2471,
- 55.069322
- ],
- [
- -7.256744,
- 55.050686
- ],
- [
- -7.240956,
- 55.050279
- ],
- [
- -7.240314,
- 55.050389
- ]
- ]
- ],
- [
- [
- [
- -13.688588,
- 57.596259
- ],
- [
- -13.690419,
- 57.596259
- ],
- [
- -13.691314,
- 57.596503
- ],
- [
- -13.691314,
- 57.597154
- ],
- [
- -13.690419,
- 57.597805
- ],
- [
- -13.688588,
- 57.597805
- ],
- [
- -13.687652,
- 57.597154
- ],
- [
- -13.687652,
- 57.596869
- ],
- [
- -13.688588,
- 57.596259
- ]
- ]
- ],
- [
- [
- [
- -4.839121,
- 54.469789
- ],
- [
- -4.979941,
- 54.457977
- ],
- [
- -5.343644,
- 54.878637
- ],
- [
- -5.308469,
- 55.176452
- ],
- [
- -6.272566,
- 55.418443
- ],
- [
- -8.690528,
- 57.833706
- ],
- [
- -6.344705,
- 59.061083
- ],
- [
- -4.204785,
- 58.63305
- ],
- [
- -2.31566,
- 60.699068
- ],
- [
- -1.695335,
- 60.76432
- ],
- [
- -1.58092,
- 60.866001
- ],
- [
- -0.17022,
- 60.897204
- ],
- [
- -0.800508,
- 59.770037
- ],
- [
- -1.292368,
- 57.732574
- ],
- [
- -1.850077,
- 55.766368
- ],
- [
- -1.73054,
- 55.782219
- ],
- [
- 1.892395,
- 52.815229
- ],
- [
- 1.742775,
- 51.364209
- ],
- [
- 1.080173,
- 50.847526
- ],
- [
- 0.000774,
- 50.664982
- ],
- [
- -0.162997,
- 50.752401
- ],
- [
- -0.725152,
- 50.731879
- ],
- [
- -0.768853,
- 50.741516
- ],
- [
- -0.770985,
- 50.736884
- ],
- [
- -0.789947,
- 50.730048
- ],
- [
- -0.812815,
- 50.734768
- ],
- [
- -0.877742,
- 50.761156
- ],
- [
- -0.942879,
- 50.758338
- ],
- [
- -0.992581,
- 50.737379
- ],
- [
- -1.18513,
- 50.766989
- ],
- [
- -1.282741,
- 50.792353
- ],
- [
- -1.375004,
- 50.772063
- ],
- [
- -1.523427,
- 50.719605
- ],
- [
- -1.630649,
- 50.695128
- ],
- [
- -1.663617,
- 50.670508
- ],
- [
- -1.498021,
- 50.40831
- ],
- [
- -4.097427,
- 49.735486
- ],
- [
- -6.825199,
- 49.700905
- ],
- [
- -5.541541,
- 51.446591
- ],
- [
- -6.03361,
- 51.732369
- ],
- [
- -4.791746,
- 52.635365
- ],
- [
- -4.969244,
- 52.637413
- ],
- [
- -5.049473,
- 53.131209
- ],
- [
- -4.787393,
- 53.409491
- ],
- [
- -4.734148,
- 53.424866
- ],
- [
- -4.917096,
- 53.508212
- ],
- [
- -4.839121,
- 54.469789
- ]
- ]
- ]
- ]
- }
- },
- {
- "type": "Feature",
- "properties": {
- "id": 0
- },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [
- -157.018938,
- 19.300864
- ],
- [
- -179.437336,
- 27.295312
- ],
- [
- -179.480084,
- 28.991459
- ],
- [
- -168.707465,
- 26.30325
- ],
- [
- -163.107414,
- 24.60499
- ],
- [
- -153.841679,
- 20.079306
- ],
- [
- -154.233846,
- 19.433391
- ],
- [
- -153.61725,
- 18.900587
- ],
- [
- -154.429471,
- 18.171036
- ],
- [
- -156.780638,
- 18.718492
- ],
- [
- -157.018938,
- 19.300864
- ]
- ]
- ],
- [
- [
- [
- -78.91269,
- 43.037032
- ],
- [
- -78.964351,
- 42.976393
- ],
- [
- -78.981718,
- 42.979043
- ],
- [
- -78.998055,
- 42.991111
- ],
- [
- -79.01189,
- 43.004358
- ],
- [
- -79.022046,
- 43.010539
- ],
- [
- -79.023076,
- 43.017015
- ],
- [
- -79.00983,
- 43.050867
- ],
- [
- -79.011449,
- 43.065291
- ],
- [
- -78.993051,
- 43.066174
- ],
- [
- -78.975536,
- 43.069707
- ],
- [
- -78.958905,
- 43.070884
- ],
- [
- -78.943304,
- 43.065291
- ],
- [
- -78.917399,
- 43.058521
- ],
- [
- -78.908569,
- 43.049396
- ],
- [
- -78.91269,
- 43.037032
- ]
- ]
- ],
- [
- [
- [
- -123.03529,
- 48.992515
- ],
- [
- -123.035308,
- 48.992499
- ],
- [
- -123.045277,
- 48.984361
- ],
- [
- -123.08849,
- 48.972235
- ],
- [
- -123.089345,
- 48.987982
- ],
- [
- -123.090484,
- 48.992499
- ],
- [
- -123.090488,
- 48.992515
- ],
- [
- -123.035306,
- 48.992515
- ],
- [
- -123.03529,
- 48.992515
- ]
- ]
- ],
- [
- [
- [
- -103.837038,
- 29.279906
- ],
- [
- -103.864121,
- 29.281366
- ],
- [
- -103.928122,
- 29.293019
- ],
- [
- -104.01915,
- 29.32033
- ],
- [
- -104.057313,
- 29.339037
- ],
- [
- -104.105424,
- 29.385675
- ],
- [
- -104.139789,
- 29.400584
- ],
- [
- -104.161648,
- 29.416759
- ],
- [
- -104.194514,
- 29.448927
- ],
- [
- -104.212291,
- 29.484661
- ],
- [
- -104.218698,
- 29.489829
- ],
- [
- -104.227148,
- 29.493033
- ],
- [
- -104.251022,
- 29.508588
- ],
- [
- -104.267171,
- 29.526571
- ],
- [
- -104.292751,
- 29.532824
- ],
- [
- -104.320604,
- 29.532255
- ],
- [
- -104.338484,
- 29.524013
- ],
- [
- -104.349026,
- 29.537578
- ],
- [
- -104.430443,
- 29.582795
- ],
- [
- -104.437832,
- 29.58543
- ],
- [
- -104.444008,
- 29.589203
- ],
- [
- -104.448555,
- 29.597678
- ],
- [
- -104.452069,
- 29.607109
- ],
- [
- -104.455222,
- 29.613387
- ],
- [
- -104.469381,
- 29.625402
- ],
- [
- -104.516639,
- 29.654315
- ],
- [
- -104.530824,
- 29.667906
- ],
- [
- -104.535036,
- 29.677802
- ],
- [
- -104.535191,
- 29.687853
- ],
- [
- -104.537103,
- 29.702116
- ],
- [
- -104.543666,
- 29.71643
- ],
- [
- -104.561391,
- 29.745421
- ],
- [
- -104.570279,
- 29.787511
- ],
- [
- -104.583586,
- 29.802575
- ],
- [
- -104.601207,
- 29.81477
- ],
- [
- -104.619682,
- 29.833064
- ],
- [
- -104.623764,
- 29.841487
- ],
- [
- -104.637588,
- 29.887996
- ],
- [
- -104.656346,
- 29.908201
- ],
- [
- -104.660635,
- 29.918433
- ],
- [
- -104.663478,
- 29.923084
- ],
- [
- -104.676526,
- 29.93683
- ],
- [
- -104.680479,
- 29.942308
- ],
- [
- -104.682469,
- 29.952126
- ],
- [
- -104.680117,
- 29.967784
- ],
- [
- -104.680479,
- 29.976466
- ],
- [
- -104.699108,
- 30.03145
- ],
- [
- -104.701589,
- 30.055324
- ],
- [
- -104.698592,
- 30.075271
- ],
- [
- -104.684639,
- 30.111135
- ],
- [
- -104.680479,
- 30.134131
- ],
- [
- -104.67867,
- 30.170356
- ],
- [
- -104.681564,
- 30.192939
- ],
- [
- -104.695853,
- 30.208441
- ],
- [
- -104.715231,
- 30.243995
- ],
- [
- -104.724585,
- 30.252211
- ],
- [
- -104.742155,
- 30.25986
- ],
- [
- -104.74939,
- 30.264459
- ],
- [
- -104.761689,
- 30.284199
- ],
- [
- -104.774143,
- 30.311588
- ],
- [
- -104.788767,
- 30.335927
- ],
- [
- -104.807732,
- 30.346418
- ],
- [
- -104.8129,
- 30.350707
- ],
- [
- -104.814967,
- 30.360577
- ],
- [
- -104.816001,
- 30.371997
- ],
- [
- -104.818274,
- 30.380524
- ],
- [
- -104.824269,
- 30.38719
- ],
- [
- -104.83755,
- 30.394063
- ],
- [
- -104.844939,
- 30.40104
- ],
- [
- -104.853259,
- 30.41215
- ],
- [
- -104.855016,
- 30.417473
- ],
- [
- -104.853621,
- 30.423984
- ],
- [
- -104.852432,
- 30.438867
- ],
- [
- -104.854655,
- 30.448737
- ],
- [
- -104.864473,
- 30.462018
- ],
- [
- -104.866695,
- 30.473025
- ],
- [
- -104.865248,
- 30.479898
- ],
- [
- -104.859615,
- 30.491112
- ],
- [
- -104.859254,
- 30.497261
- ],
- [
- -104.863026,
- 30.502377
- ],
- [
- -104.879718,
- 30.510852
- ],
- [
- -104.882146,
- 30.520929
- ],
- [
- -104.884007,
- 30.541858
- ],
- [
- -104.886591,
- 30.551883
- ],
- [
- -104.898166,
- 30.569401
- ],
- [
- -104.928242,
- 30.599529
- ],
- [
- -104.93434,
- 30.610536
- ],
- [
- -104.941057,
- 30.61405
- ],
- [
- -104.972735,
- 30.618029
- ],
- [
- -104.98276,
- 30.620716
- ],
- [
- -104.989117,
- 30.629553
- ],
- [
- -104.991649,
- 30.640301
- ],
- [
- -104.992941,
- 30.651464
- ],
- [
- -104.995783,
- 30.661747
- ],
- [
- -105.008495,
- 30.676992
- ],
- [
- -105.027977,
- 30.690117
- ],
- [
- -105.049475,
- 30.699264
- ],
- [
- -105.06813,
- 30.702675
- ],
- [
- -105.087043,
- 30.709806
- ],
- [
- -105.133604,
- 30.757917
- ],
- [
- -105.140425,
- 30.750476
- ],
- [
- -105.153241,
- 30.763188
- ],
- [
- -105.157788,
- 30.76572
- ],
- [
- -105.160889,
- 30.764118
- ],
- [
- -105.162698,
- 30.774919
- ],
- [
- -105.167297,
- 30.781171
- ],
- [
- -105.17479,
- 30.783962
- ],
- [
- -105.185125,
- 30.784634
- ],
- [
- -105.195306,
- 30.787941
- ],
- [
- -105.204917,
- 30.80241
- ],
- [
- -105.2121,
- 30.805718
- ],
- [
- -105.21825,
- 30.806803
- ],
- [
- -105.229257,
- 30.810214
- ],
- [
- -105.232874,
- 30.809128
- ],
- [
- -105.239851,
- 30.801532
- ],
- [
- -105.243985,
- 30.799103
- ],
- [
- -105.249049,
- 30.798845
- ],
- [
- -105.259488,
- 30.802979
- ],
- [
- -105.265844,
- 30.808405
- ],
- [
- -105.270753,
- 30.814348
- ],
- [
- -105.277006,
- 30.819412
- ],
- [
- -105.334315,
- 30.843803
- ],
- [
- -105.363771,
- 30.850366
- ],
- [
- -105.376173,
- 30.859565
- ],
- [
- -105.41555,
- 30.902456
- ],
- [
- -105.496682,
- 30.95651
- ],
- [
- -105.530789,
- 30.991701
- ],
- [
- -105.555955,
- 31.002605
- ],
- [
- -105.565722,
- 31.016661
- ],
- [
- -105.578641,
- 31.052163
- ],
- [
- -105.59094,
- 31.071438
- ],
- [
- -105.605875,
- 31.081928
- ],
- [
- -105.623496,
- 31.090351
- ],
- [
- -105.643805,
- 31.103684
- ],
- [
- -105.668042,
- 31.127869
- ],
- [
- -105.675225,
- 31.131951
- ],
- [
- -105.692278,
- 31.137635
- ],
- [
- -105.76819,
- 31.18001
- ],
- [
- -105.777854,
- 31.192722
- ],
- [
- -105.78483,
- 31.211016
- ],
- [
- -105.861983,
- 31.288376
- ],
- [
- -105.880147,
- 31.300881
- ],
- [
- -105.896994,
- 31.305997
- ],
- [
- -105.897149,
- 31.309511
- ],
- [
- -105.908802,
- 31.317004
- ],
- [
- -105.928052,
- 31.326461
- ],
- [
- -105.934563,
- 31.335504
- ],
- [
- -105.941772,
- 31.352351
- ],
- [
- -105.948515,
- 31.361239
- ],
- [
- -105.961202,
- 31.371006
- ],
- [
- -106.004739,
- 31.396948
- ],
- [
- -106.021147,
- 31.402167
- ],
- [
- -106.046261,
- 31.404648
- ],
- [
- -106.065304,
- 31.410952
- ],
- [
- -106.099385,
- 31.428884
- ],
- [
- -106.141113,
- 31.439167
- ],
- [
- -106.164316,
- 31.447797
- ],
- [
- -106.174471,
- 31.460251
- ],
- [
- -106.209249,
- 31.477305
- ],
- [
- -106.215424,
- 31.483919
- ],
- [
- -106.21744,
- 31.488725
- ],
- [
- -106.218731,
- 31.494616
- ],
- [
- -106.222891,
- 31.50459
- ],
- [
- -106.232658,
- 31.519938
- ],
- [
- -106.274749,
- 31.562622
- ],
- [
- -106.286298,
- 31.580141
- ],
- [
- -106.312292,
- 31.648612
- ],
- [
- -106.331309,
- 31.68215
- ],
- [
- -106.35849,
- 31.717548
- ],
- [
- -106.39177,
- 31.745919
- ],
- [
- -106.428951,
- 31.758476
- ],
- [
- -106.473135,
- 31.755065
- ],
- [
- -106.492797,
- 31.759044
- ],
- [
- -106.501425,
- 31.766344
- ],
- [
- -106.506052,
- 31.770258
- ],
- [
- -106.517189,
- 31.773824
- ],
- [
- -106.558969,
- 31.773876
- ],
- [
- -106.584859,
- 31.773927
- ],
- [
- -106.610697,
- 31.773979
- ],
- [
- -106.636587,
- 31.774082
- ],
- [
- -106.662477,
- 31.774134
- ],
- [
- -106.688315,
- 31.774237
- ],
- [
- -106.714205,
- 31.774237
- ],
- [
- -106.740095,
- 31.774289
- ],
- [
- -106.765933,
- 31.774392
- ],
- [
- -106.791823,
- 31.774444
- ],
- [
- -106.817713,
- 31.774496
- ],
- [
- -106.843603,
- 31.774547
- ],
- [
- -106.869441,
- 31.774599
- ],
- [
- -106.895331,
- 31.774702
- ],
- [
- -106.921221,
- 31.774702
- ],
- [
- -106.947111,
- 31.774754
- ],
- [
- -106.973001,
- 31.774857
- ],
- [
- -106.998891,
- 31.774909
- ],
- [
- -107.02478,
- 31.774961
- ],
- [
- -107.05067,
- 31.775013
- ],
- [
- -107.076509,
- 31.775064
- ],
- [
- -107.102398,
- 31.775168
- ],
- [
- -107.128288,
- 31.775168
- ],
- [
- -107.154127,
- 31.775219
- ],
- [
- -107.180016,
- 31.775374
- ],
- [
- -107.205906,
- 31.775374
- ],
- [
- -107.231796,
- 31.775426
- ],
- [
- -107.257634,
- 31.775478
- ],
- [
- -107.283524,
- 31.775529
- ],
- [
- -107.309414,
- 31.775633
- ],
- [
- -107.335252,
- 31.775684
- ],
- [
- -107.361142,
- 31.775788
- ],
- [
- -107.387032,
- 31.775788
- ],
- [
- -107.412896,
- 31.775839
- ],
- [
- -107.438786,
- 31.775943
- ],
- [
- -107.464676,
- 31.775994
- ],
- [
- -107.490566,
- 31.776098
- ],
- [
- -107.516404,
- 31.776149
- ],
- [
- -107.542294,
- 31.776201
- ],
- [
- -107.568184,
- 31.776253
- ],
- [
- -107.594074,
- 31.776304
- ],
- [
- -107.619964,
- 31.776408
- ],
- [
- -107.645854,
- 31.776459
- ],
- [
- -107.671744,
- 31.776459
- ],
- [
- -107.697633,
- 31.776563
- ],
- [
- -107.723472,
- 31.776614
- ],
- [
- -107.749362,
- 31.776666
- ],
- [
- -107.775251,
- 31.776718
- ],
- [
- -107.801141,
- 31.77677
- ],
- [
- -107.82698,
- 31.776873
- ],
- [
- -107.852869,
- 31.776925
- ],
- [
- -107.878759,
- 31.776925
- ],
- [
- -107.904598,
- 31.777028
- ],
- [
- -107.930487,
- 31.77708
- ],
- [
- -107.956377,
- 31.777131
- ],
- [
- -107.982216,
- 31.777183
- ],
- [
- -108.008105,
- 31.777235
- ],
- [
- -108.033995,
- 31.777338
- ],
- [
- -108.059885,
- 31.77739
- ],
- [
- -108.085723,
- 31.77739
- ],
- [
- -108.111613,
- 31.777545
- ],
- [
- -108.137503,
- 31.777545
- ],
- [
- -108.163341,
- 31.777648
- ],
- [
- -108.189283,
- 31.7777
- ],
- [
- -108.215121,
- 31.777751
- ],
- [
- -108.215121,
- 31.770723
- ],
- [
- -108.215121,
- 31.763695
- ],
- [
- -108.215121,
- 31.756667
- ],
- [
- -108.215121,
- 31.749639
- ],
- [
- -108.215121,
- 31.74256
- ],
- [
- -108.215121,
- 31.735583
- ],
- [
- -108.215121,
- 31.728555
- ],
- [
- -108.215121,
- 31.721476
- ],
- [
- -108.215121,
- 31.714396
- ],
- [
- -108.215121,
- 31.70742
- ],
- [
- -108.215121,
- 31.700392
- ],
- [
- -108.215121,
- 31.693312
- ],
- [
- -108.215121,
- 31.686284
- ],
- [
- -108.215121,
- 31.679256
- ],
- [
- -108.215121,
- 31.672176
- ],
- [
- -108.21507,
- 31.665148
- ],
- [
- -108.215018,
- 31.658172
- ],
- [
- -108.215018,
- 31.651092
- ],
- [
- -108.215018,
- 31.644064
- ],
- [
- -108.215018,
- 31.637036
- ],
- [
- -108.215018,
- 31.630008
- ],
- [
- -108.215018,
- 31.62298
- ],
- [
- -108.215018,
- 31.615952
- ],
- [
- -108.215018,
- 31.608873
- ],
- [
- -108.215018,
- 31.601845
- ],
- [
- -108.215018,
- 31.594817
- ],
- [
- -108.215018,
- 31.587789
- ],
- [
- -108.215018,
- 31.580761
- ],
- [
- -108.215018,
- 31.573733
- ],
- [
- -108.215018,
- 31.566653
- ],
- [
- -108.215018,
- 31.559625
- ],
- [
- -108.214966,
- 31.552597
- ],
- [
- -108.214966,
- 31.545569
- ],
- [
- -108.214966,
- 31.538489
- ],
- [
- -108.214966,
- 31.531461
- ],
- [
- -108.214966,
- 31.524485
- ],
- [
- -108.214966,
- 31.517405
- ],
- [
- -108.214966,
- 31.510378
- ],
- [
- -108.214966,
- 31.503401
- ],
- [
- -108.214966,
- 31.496322
- ],
- [
- -108.214966,
- 31.489242
- ],
- [
- -108.214966,
- 31.482214
- ],
- [
- -108.214966,
- 31.475238
- ],
- [
- -108.214966,
- 31.468158
- ],
- [
- -108.214966,
- 31.46113
- ],
- [
- -108.214966,
- 31.454102
- ],
- [
- -108.214966,
- 31.447074
- ],
- [
- -108.214915,
- 31.440046
- ],
- [
- -108.214863,
- 31.432966
- ],
- [
- -108.214863,
- 31.425938
- ],
- [
- -108.214863,
- 31.41891
- ],
- [
- -108.214863,
- 31.411882
- ],
- [
- -108.214863,
- 31.404803
- ],
- [
- -108.214863,
- 31.397826
- ],
- [
- -108.214863,
- 31.390798
- ],
- [
- -108.214863,
- 31.383719
- ],
- [
- -108.214863,
- 31.376639
- ],
- [
- -108.214863,
- 31.369663
- ],
- [
- -108.214863,
- 31.362635
- ],
- [
- -108.214863,
- 31.355555
- ],
- [
- -108.214863,
- 31.348527
- ],
- [
- -108.214863,
- 31.341551
- ],
- [
- -108.214863,
- 31.334471
- ],
- [
- -108.214811,
- 31.327443
- ],
- [
- -108.257573,
- 31.327391
- ],
- [
- -108.300336,
- 31.327391
- ],
- [
- -108.34302,
- 31.327391
- ],
- [
- -108.385731,
- 31.327391
- ],
- [
- -108.428442,
- 31.327391
- ],
- [
- -108.471152,
- 31.327391
- ],
- [
- -108.513837,
- 31.327391
- ],
- [
- -108.556547,
- 31.327391
- ],
- [
- -108.59931,
- 31.327391
- ],
- [
- -108.64202,
- 31.327391
- ],
- [
- -108.684757,
- 31.327391
- ],
- [
- -108.727467,
- 31.327391
- ],
- [
- -108.770178,
- 31.327391
- ],
- [
- -108.812914,
- 31.327391
- ],
- [
- -108.855625,
- 31.327391
- ],
- [
- -108.898335,
- 31.327391
- ],
- [
- -108.941046,
- 31.327391
- ],
- [
- -108.968282,
- 31.327391
- ],
- [
- -108.983731,
- 31.327391
- ],
- [
- -109.026493,
- 31.327391
- ],
- [
- -109.04743,
- 31.327391
- ],
- [
- -109.069203,
- 31.327391
- ],
- [
- -109.111914,
- 31.327391
- ],
- [
- -109.154599,
- 31.327391
- ],
- [
- -109.197361,
- 31.327391
- ],
- [
- -109.240072,
- 31.32734
- ],
- [
- -109.282782,
- 31.32734
- ],
- [
- -109.325519,
- 31.32734
- ],
- [
- -109.368229,
- 31.32734
- ],
- [
- -109.410914,
- 31.32734
- ],
- [
- -109.45365,
- 31.32734
- ],
- [
- -109.496387,
- 31.32734
- ],
- [
- -109.539071,
- 31.32734
- ],
- [
- -109.581808,
- 31.32734
- ],
- [
- -109.624493,
- 31.32734
- ],
- [
- -109.667177,
- 31.32734
- ],
- [
- -109.709965,
- 31.32734
- ],
- [
- -109.75265,
- 31.32734
- ],
- [
- -109.795335,
- 31.32734
- ],
- [
- -109.838123,
- 31.32734
- ],
- [
- -109.880808,
- 31.32734
- ],
- [
- -109.923596,
- 31.327288
- ],
- [
- -109.96628,
- 31.327236
- ],
- [
- -110.008965,
- 31.327236
- ],
- [
- -110.051702,
- 31.327236
- ],
- [
- -110.094386,
- 31.327236
- ],
- [
- -110.137071,
- 31.327236
- ],
- [
- -110.179807,
- 31.327236
- ],
- [
- -110.222544,
- 31.327236
- ],
- [
- -110.265229,
- 31.327236
- ],
- [
- -110.308017,
- 31.327236
- ],
- [
- -110.350753,
- 31.327236
- ],
- [
- -110.39349,
- 31.327236
- ],
- [
- -110.436174,
- 31.327236
- ],
- [
- -110.478859,
- 31.327236
- ],
- [
- -110.521595,
- 31.327236
- ],
- [
- -110.56428,
- 31.327236
- ],
- [
- -110.606965,
- 31.327236
- ],
- [
- -110.649727,
- 31.327236
- ],
- [
- -110.692438,
- 31.327236
- ],
- [
- -110.7352,
- 31.327236
- ],
- [
- -110.777885,
- 31.327236
- ],
- [
- -110.820595,
- 31.327236
- ],
- [
- -110.863358,
- 31.327236
- ],
- [
- -110.906068,
- 31.327236
- ],
- [
- -110.948753,
- 31.327185
- ],
- [
- -111.006269,
- 31.327185
- ],
- [
- -111.067118,
- 31.333644
- ],
- [
- -111.094455,
- 31.342532
- ],
- [
- -111.145924,
- 31.359069
- ],
- [
- -111.197446,
- 31.375554
- ],
- [
- -111.248864,
- 31.392142
- ],
- [
- -111.300333,
- 31.40873
- ],
- [
- -111.351803,
- 31.425318
- ],
- [
- -111.403299,
- 31.441855
- ],
- [
- -111.454768,
- 31.458339
- ],
- [
- -111.506238,
- 31.474979
- ],
- [
- -111.915464,
- 31.601431
- ],
- [
- -112.324715,
- 31.727987
- ],
- [
- -112.733967,
- 31.854543
- ],
- [
- -113.143218,
- 31.981046
- ],
- [
- -113.552444,
- 32.107602
- ],
- [
- -113.961696,
- 32.234132
- ],
- [
- -114.370921,
- 32.360687
- ],
- [
- -114.780147,
- 32.487243
- ],
- [
- -114.816785,
- 32.498534
- ],
- [
- -114.819373,
- 32.499363
- ],
- [
- -114.822108,
- 32.50024
- ],
- [
- -114.809447,
- 32.511324
- ],
- [
- -114.795546,
- 32.552226
- ],
- [
- -114.794203,
- 32.574111
- ],
- [
- -114.802678,
- 32.594497
- ],
- [
- -114.786813,
- 32.621033
- ],
- [
- -114.781542,
- 32.628061
- ],
- [
- -114.758804,
- 32.64483
- ],
- [
- -114.751156,
- 32.65222
- ],
- [
- -114.739477,
- 32.669066
- ],
- [
- -114.731209,
- 32.686636
- ],
- [
- -114.723871,
- 32.711519
- ],
- [
- -114.724284,
- 32.712835
- ],
- [
- -114.724285,
- 32.712836
- ],
- [
- -114.764541,
- 32.709839
- ],
- [
- -114.838076,
- 32.704206
- ],
- [
- -114.911612,
- 32.698703
- ],
- [
- -114.985199,
- 32.693122
- ],
- [
- -115.058734,
- 32.687567
- ],
- [
- -115.13227,
- 32.681986
- ],
- [
- -115.205806,
- 32.676456
- ],
- [
- -115.27929,
- 32.670823
- ],
- [
- -115.352851,
- 32.665346
- ],
- [
- -115.426386,
- 32.659765
- ],
- [
- -115.499922,
- 32.654209
- ],
- [
- -115.573535,
- 32.648654
- ],
- [
- -115.647019,
- 32.643073
- ],
- [
- -115.720529,
- 32.637518
- ],
- [
- -115.794064,
- 32.631963
- ],
- [
- -115.8676,
- 32.626408
- ],
- [
- -115.941213,
- 32.620827
- ],
- [
- -116.014748,
- 32.615271
- ],
- [
- -116.088232,
- 32.609664
- ],
- [
- -116.161742,
- 32.604161
- ],
- [
- -116.235329,
- 32.598554
- ],
- [
- -116.308891,
- 32.593025
- ],
- [
- -116.382426,
- 32.587469
- ],
- [
- -116.455962,
- 32.581888
- ],
- [
- -116.529472,
- 32.576333
- ],
- [
- -116.603007,
- 32.570804
- ],
- [
- -116.676543,
- 32.565223
- ],
- [
- -116.750104,
- 32.559667
- ],
- [
- -116.82364,
- 32.554086
- ],
- [
- -116.897201,
- 32.548531
- ],
- [
- -116.970737,
- 32.542976
- ],
- [
- -117.044221,
- 32.537421
- ],
- [
- -117.125121,
- 32.531669
- ],
- [
- -117.125969,
- 32.538258
- ],
- [
- -117.239623,
- 32.531308
- ],
- [
- -120.274098,
- 32.884264
- ],
- [
- -121.652736,
- 34.467248
- ],
- [
- -124.367265,
- 37.662798
- ],
- [
- -126.739806,
- 41.37928
- ],
- [
- -126.996297,
- 45.773888
- ],
- [
- -124.770704,
- 48.44258
- ],
- [
- -123.734053,
- 48.241906
- ],
- [
- -123.1663,
- 48.27837
- ],
- [
- -123.193018,
- 48.501035
- ],
- [
- -123.176987,
- 48.65482
- ],
- [
- -122.912481,
- 48.753561
- ],
- [
- -122.899122,
- 48.897797
- ],
- [
- -122.837671,
- 48.97502
- ],
- [
- -122.743986,
- 48.980582
- ],
- [
- -122.753,
- 48.992499
- ],
- [
- -122.753012,
- 48.992515
- ],
- [
- -122.653258,
- 48.992515
- ],
- [
- -122.433375,
- 48.992515
- ],
- [
- -122.213517,
- 48.992515
- ],
- [
- -121.993763,
- 48.992515
- ],
- [
- -121.773958,
- 48.992515
- ],
- [
- -121.554152,
- 48.992515
- ],
- [
- -121.33432,
- 48.992515
- ],
- [
- -121.114515,
- 48.992515
- ],
- [
- -95.396937,
- 48.99267
- ],
- [
- -95.177106,
- 48.99267
- ],
- [
- -95.168527,
- 48.995047
- ],
- [
- -95.161887,
- 49.001145
- ],
- [
- -95.159329,
- 49.01179
- ],
- [
- -95.159665,
- 49.10951
- ],
- [
- -95.160027,
- 49.223353
- ],
- [
- -95.160337,
- 49.313012
- ],
- [
- -95.160569,
- 49.369494
- ],
- [
- -95.102821,
- 49.35394
- ],
- [
- -94.982518,
- 49.356162
- ],
- [
- -94.926087,
- 49.345568
- ],
- [
- -94.856195,
- 49.318283
- ],
- [
- -94.839142,
- 49.308878
- ],
- [
- -94.827256,
- 49.292858
- ],
- [
- -94.819892,
- 49.252034
- ],
- [
- -94.810358,
- 49.229606
- ],
- [
- -94.806121,
- 49.210899
- ],
- [
- -94.811185,
- 49.166561
- ],
- [
- -94.803743,
- 49.146407
- ],
- [
- -94.792039,
- 49.12646
- ],
- [
- -94.753772,
- 49.026156
- ],
- [
- -94.711217,
- 48.914586
- ],
- [
- -94.711734,
- 48.862755
- ],
- [
- -94.712147,
- 48.842446
- ],
- [
- -94.713284,
- 48.823843
- ],
- [
- -94.710907,
- 48.807513
- ],
- [
- -94.701786,
- 48.790098
- ],
- [
- -94.688893,
- 48.778832
- ],
- [
- -94.592852,
- 48.726433
- ],
- [
- -94.519161,
- 48.70447
- ],
- [
- -94.4795,
- 48.700698
- ],
- [
- -94.311577,
- 48.713927
- ],
- [
- -94.292586,
- 48.711912
- ],
- [
- -94.284034,
- 48.709069
- ],
- [
- -94.274499,
- 48.704108
- ],
- [
- -94.265482,
- 48.697752
- ],
- [
- -94.258454,
- 48.690828
- ],
- [
- -94.255767,
- 48.683541
- ],
- [
- -94.252459,
- 48.662405
- ],
- [
- -94.251038,
- 48.65729
- ],
- [
- -94.23215,
- 48.652019
- ],
- [
- -94.03485,
- 48.643311
- ],
- [
- -93.874885,
- 48.636206
- ],
- [
- -93.835741,
- 48.617137
- ],
- [
- -93.809386,
- 48.543576
- ],
- [
- -93.778664,
- 48.519468
- ],
- [
- -93.756779,
- 48.516549
- ],
- [
- -93.616297,
- 48.531302
- ],
- [
- -93.599889,
- 48.526341
- ],
- [
- -93.566584,
- 48.538279
- ],
- [
- -93.491756,
- 48.542309
- ],
- [
- -93.459924,
- 48.557399
- ],
- [
- -93.45225,
- 48.572721
- ],
- [
- -93.453774,
- 48.586958
- ],
- [
- -93.451475,
- 48.597422
- ],
- [
- -93.417316,
- 48.604114
- ],
- [
- -93.385716,
- 48.614863
- ],
- [
- -93.25774,
- 48.630314
- ],
- [
- -93.131701,
- 48.62463
- ],
- [
- -92.97972,
- 48.61768
- ],
- [
- -92.955588,
- 48.612228
- ],
- [
- -92.884197,
- 48.579878
- ],
- [
- -92.72555,
- 48.548692
- ],
- [
- -92.648604,
- 48.536263
- ],
- [
- -92.630181,
- 48.519468
- ],
- [
- -92.627468,
- 48.502777
- ],
- [
- -92.646743,
- 48.497428
- ],
- [
- -92.691366,
- 48.489858
- ],
- [
- -92.710641,
- 48.482882
- ],
- [
- -92.718909,
- 48.459782
- ],
- [
- -92.704052,
- 48.445158
- ],
- [
- -92.677129,
- 48.441747
- ],
- [
- -92.657053,
- 48.438233
- ],
- [
- -92.570521,
- 48.446656
- ],
- [
- -92.526932,
- 48.445623
- ],
- [
- -92.490629,
- 48.433117
- ],
- [
- -92.474532,
- 48.410483
- ],
- [
- -92.467581,
- 48.394282
- ],
- [
- -92.467064,
- 48.353225
- ],
- [
- -92.462465,
- 48.329299
- ],
- [
- -92.451381,
- 48.312685
- ],
- [
- -92.41823,
- 48.282041
- ],
- [
- -92.38464,
- 48.232406
- ],
- [
- -92.371851,
- 48.222587
- ],
- [
- -92.353815,
- 48.222897
- ],
- [
- -92.327874,
- 48.229435
- ],
- [
- -92.303663,
- 48.239279
- ],
- [
- -92.291029,
- 48.249562
- ],
- [
- -92.292062,
- 48.270336
- ],
- [
- -92.301416,
- 48.290645
- ],
- [
- -92.303095,
- 48.310928
- ],
- [
- -92.281598,
- 48.33178
- ],
- [
- -92.259118,
- 48.339635
- ],
- [
- -92.154732,
- 48.350125
- ],
- [
- -92.070499,
- 48.346714
- ],
- [
- -92.043421,
- 48.334596
- ],
- [
- -92.030114,
- 48.313176
- ],
- [
- -92.021355,
- 48.287441
- ],
- [
- -92.007997,
- 48.262482
- ],
- [
- -91.992158,
- 48.247909
- ],
- [
- -91.975492,
- 48.236566
- ],
- [
- -91.957302,
- 48.228323
- ],
- [
- -91.852244,
- 48.195974
- ],
- [
- -91.764988,
- 48.187344
- ],
- [
- -91.744137,
- 48.179593
- ],
- [
- -91.727575,
- 48.168327
- ],
- [
- -91.695509,
- 48.13758
- ],
- [
- -91.716438,
- 48.112051
- ],
- [
- -91.692512,
- 48.097866
- ],
- [
- -91.618615,
- 48.089572
- ],
- [
- -91.597479,
- 48.090399
- ],
- [
- -91.589676,
- 48.088332
- ],
- [
- -91.581098,
- 48.080942
- ],
- [
- -91.579806,
- 48.070969
- ],
- [
- -91.585129,
- 48.06084
- ],
- [
- -91.586989,
- 48.052572
- ],
- [
- -91.574845,
- 48.048205
- ],
- [
- -91.487098,
- 48.053476
- ],
- [
- -91.464722,
- 48.048955
- ],
- [
- -91.446274,
- 48.040738
- ],
- [
- -91.427929,
- 48.036449
- ],
- [
- -91.3654,
- 48.057843
- ],
- [
- -91.276362,
- 48.064768
- ],
- [
- -91.23807,
- 48.082648
- ],
- [
- -91.203963,
- 48.107659
- ],
- [
- -91.071103,
- 48.170859
- ],
- [
- -91.02816,
- 48.184838
- ],
- [
- -91.008109,
- 48.194372
- ],
- [
- -90.923153,
- 48.227109
- ],
- [
- -90.873802,
- 48.234344
- ],
- [
- -90.840678,
- 48.220107
- ],
- [
- -90.837939,
- 48.210547
- ],
- [
- -90.848843,
- 48.198713
- ],
- [
- -90.849721,
- 48.189566
- ],
- [
- -90.843003,
- 48.176983
- ],
- [
- -90.83427,
- 48.171789
- ],
- [
- -90.823883,
- 48.168327
- ],
- [
- -90.812307,
- 48.160989
- ],
- [
- -90.803057,
- 48.147166
- ],
- [
- -90.796701,
- 48.117064
- ],
- [
- -90.786469,
- 48.10045
- ],
- [
- -90.750347,
- 48.083991
- ],
- [
- -90.701307,
- 48.08456
- ],
- [
- -90.611079,
- 48.103499
- ],
- [
- -90.586843,
- 48.104817
- ],
- [
- -90.573872,
- 48.097892
- ],
- [
- -90.562194,
- 48.088849
- ],
- [
- -90.542014,
- 48.083733
- ],
- [
- -90.531601,
- 48.08456
- ],
- [
- -90.501887,
- 48.094275
- ],
- [
- -90.490493,
- 48.096239
- ],
- [
- -90.483465,
- 48.094482
- ],
- [
- -90.477858,
- 48.091536
- ],
- [
- -90.470623,
- 48.089882
- ],
- [
- -90.178625,
- 48.116444
- ],
- [
- -90.120386,
- 48.115359
- ],
- [
- -90.073257,
- 48.101199
- ],
- [
- -90.061036,
- 48.091019
- ],
- [
- -90.008222,
- 48.029731
- ],
- [
- -89.995329,
- 48.018595
- ],
- [
- -89.980317,
- 48.010094
- ],
- [
- -89.92045,
- 47.98746
- ],
- [
- -89.902441,
- 47.985909
- ],
- [
- -89.803454,
- 48.013763
- ],
- [
- -89.780975,
- 48.017199
- ],
- [
- -89.763302,
- 48.017303
- ],
- [
- -89.745964,
- 48.013763
- ],
- [
- -89.724596,
- 48.005908
- ],
- [
- -89.712788,
- 48.003376
- ],
- [
- -89.678656,
- 48.008699
- ],
- [
- -89.65659,
- 48.007975
- ],
- [
- -89.593105,
- 47.996503
- ],
- [
- -89.581753,
- 47.996333
- ],
- [
- -89.586724,
- 47.992938
- ],
- [
- -89.310872,
- 47.981097
- ],
- [
- -89.072861,
- 48.046842
- ],
- [
- -88.49789,
- 48.212841
- ],
- [
- -88.286621,
- 48.156675
- ],
- [
- -85.939935,
- 47.280501
- ],
- [
- -84.784644,
- 46.770068
- ],
- [
- -84.516909,
- 46.435083
- ],
- [
- -84.489712,
- 46.446652
- ],
- [
- -84.491052,
- 46.457658
- ],
- [
- -84.478301,
- 46.466467
- ],
- [
- -84.465408,
- 46.478172
- ],
- [
- -84.448096,
- 46.489722
- ],
- [
- -84.42324,
- 46.511581
- ],
- [
- -84.389702,
- 46.520262
- ],
- [
- -84.352469,
- 46.522743
- ],
- [
- -84.30534,
- 46.501607
- ],
- [
- -84.242011,
- 46.526464
- ],
- [
- -84.197285,
- 46.546359
- ],
- [
- -84.147676,
- 46.541346
- ],
- [
- -84.110443,
- 46.526464
- ],
- [
- -84.158812,
- 46.433343
- ],
- [
- -84.147676,
- 46.399882
- ],
- [
- -84.129046,
- 46.375026
- ],
- [
- -84.10543,
- 46.347741
- ],
- [
- -84.105944,
- 46.346374
- ],
- [
- -84.117195,
- 46.347157
- ],
- [
- -84.117489,
- 46.338326
- ],
- [
- -84.122361,
- 46.331922
- ],
- [
- -84.112061,
- 46.287102
- ],
- [
- -84.092672,
- 46.227469
- ],
- [
- -84.111983,
- 46.20337
- ],
- [
- -84.015118,
- 46.149712
- ],
- [
- -83.957038,
- 46.045736
- ],
- [
- -83.676821,
- 46.15388
- ],
- [
- -83.429449,
- 46.086221
- ],
- [
- -83.523049,
- 45.892052
- ],
- [
- -83.574563,
- 45.890259
- ],
- [
- -82.551615,
- 44.857931
- ],
- [
- -82.655591,
- 43.968545
- ],
- [
- -82.440632,
- 43.096285
- ],
- [
- -82.460131,
- 43.084392
- ],
- [
- -82.458894,
- 43.083247
- ],
- [
- -82.431813,
- 43.039387
- ],
- [
- -82.424748,
- 43.02408
- ],
- [
- -82.417242,
- 43.01731
- ],
- [
- -82.416369,
- 43.01742
- ],
- [
- -82.416412,
- 43.017143
- ],
- [
- -82.414603,
- 42.983243
- ],
- [
- -82.430442,
- 42.951307
- ],
- [
- -82.453179,
- 42.918983
- ],
- [
- -82.464781,
- 42.883637
- ],
- [
- -82.468036,
- 42.863974
- ],
- [
- -82.482325,
- 42.835113
- ],
- [
- -82.485271,
- 42.818524
- ],
- [
- -82.473618,
- 42.798164
- ],
- [
- -82.470982,
- 42.790568
- ],
- [
- -82.471344,
- 42.779845
- ],
- [
- -82.476951,
- 42.761474
- ],
- [
- -82.48341,
- 42.719254
- ],
- [
- -82.511264,
- 42.646675
- ],
- [
- -82.526224,
- 42.619906
- ],
- [
- -82.549246,
- 42.590941
- ],
- [
- -82.575833,
- 42.571795
- ],
- [
- -82.608467,
- 42.561098
- ],
- [
- -82.644331,
- 42.557817
- ],
- [
- -82.644698,
- 42.557533
- ],
- [
- -82.644932,
- 42.561634
- ],
- [
- -82.637132,
- 42.568405
- ],
- [
- -82.60902,
- 42.579296
- ],
- [
- -82.616673,
- 42.582828
- ],
- [
- -82.636985,
- 42.599607
- ],
- [
- -82.625357,
- 42.616092
- ],
- [
- -82.629331,
- 42.626394
- ],
- [
- -82.638751,
- 42.633459
- ],
- [
- -82.644344,
- 42.640524
- ],
- [
- -82.644166,
- 42.641056
- ],
- [
- -82.716083,
- 42.617461
- ],
- [
- -82.777592,
- 42.408506
- ],
- [
- -82.888693,
- 42.406093
- ],
- [
- -82.889991,
- 42.403266
- ],
- [
- -82.905739,
- 42.387665
- ],
- [
- -82.923842,
- 42.374419
- ],
- [
- -82.937972,
- 42.366176
- ],
- [
- -82.947686,
- 42.363527
- ],
- [
- -82.979624,
- 42.359406
- ],
- [
- -83.042618,
- 42.340861
- ],
- [
- -83.061899,
- 42.32732
- ],
- [
- -83.081622,
- 42.30907
- ],
- [
- -83.11342,
- 42.279619
- ],
- [
- -83.145306,
- 42.066968
- ],
- [
- -83.177398,
- 41.960666
- ],
- [
- -83.21512,
- 41.794493
- ],
- [
- -82.219051,
- 41.516445
- ],
- [
- -80.345329,
- 42.13344
- ],
- [
- -80.316455,
- 42.123137
- ],
- [
- -79.270266,
- 42.591872
- ],
- [
- -79.221058,
- 42.582892
- ],
- [
- -78.871842,
- 42.860012
- ],
- [
- -78.875011,
- 42.867184
- ],
- [
- -78.896205,
- 42.897209
- ],
- [
- -78.901651,
- 42.908101
- ],
- [
- -78.90901,
- 42.952255
- ],
- [
- -78.913426,
- 42.957848
- ],
- [
- -78.932118,
- 42.9708
- ],
- [
- -78.936386,
- 42.979631
- ],
- [
- -78.927997,
- 43.002003
- ],
- [
- -78.893114,
- 43.029379
- ],
- [
- -78.887963,
- 43.051456
- ],
- [
- -78.914897,
- 43.076477
- ],
- [
- -79.026167,
- 43.086485
- ],
- [
- -79.065231,
- 43.10573
- ],
- [
- -79.065273,
- 43.105897
- ],
- [
- -79.065738,
- 43.120237
- ],
- [
- -79.061423,
- 43.130288
- ],
- [
- -79.055583,
- 43.138427
- ],
- [
- -79.051604,
- 43.146851
- ],
- [
- -79.04933,
- 43.159847
- ],
- [
- -79.048607,
- 43.170622
- ],
- [
- -79.053775,
- 43.260358
- ],
- [
- -79.058425,
- 43.277799
- ],
- [
- -79.058631,
- 43.2782
- ],
- [
- -78.990696,
- 43.286947
- ],
- [
- -78.862059,
- 43.324332
- ],
- [
- -78.767813,
- 43.336418
- ],
- [
- -78.516117,
- 43.50645
- ],
- [
- -76.363317,
- 43.943219
- ],
- [
- -76.396746,
- 44.106667
- ],
- [
- -76.364697,
- 44.111631
- ],
- [
- -76.366146,
- 44.117349
- ],
- [
- -76.357462,
- 44.131478
- ],
- [
- -76.183493,
- 44.223025
- ],
- [
- -76.162644,
- 44.229888
- ],
- [
- -76.176117,
- 44.30795
- ],
- [
- -76.046414,
- 44.354817
- ],
- [
- -75.928746,
- 44.391137
- ],
- [
- -75.852508,
- 44.381639
- ],
- [
- -75.849095,
- 44.386103
- ],
- [
- -75.847623,
- 44.392579
- ],
- [
- -75.84674,
- 44.398172
- ],
- [
- -75.845415,
- 44.40141
- ],
- [
- -75.780803,
- 44.432318
- ],
- [
- -75.770205,
- 44.446153
- ],
- [
- -75.772266,
- 44.463815
- ],
- [
- -75.779184,
- 44.48236
- ],
- [
- -75.791496,
- 44.496513
- ],
- [
- -75.791183,
- 44.496768
- ],
- [
- -75.754622,
- 44.527567
- ],
- [
- -75.69969,
- 44.581673
- ],
- [
- -75.578199,
- 44.661513
- ],
- [
- -75.455958,
- 44.741766
- ],
- [
- -75.341831,
- 44.816749
- ],
- [
- -75.270233,
- 44.863774
- ],
- [
- -75.129647,
- 44.925166
- ],
- [
- -75.075594,
- 44.935501
- ],
- [
- -75.058721,
- 44.941031
- ],
- [
- -75.0149,
- 44.96599
- ],
- [
- -74.998647,
- 44.972398
- ],
- [
- -74.940201,
- 44.987746
- ],
- [
- -74.903744,
- 45.005213
- ],
- [
- -74.88651,
- 45.009398
- ],
- [
- -74.868474,
- 45.010122
- ],
- [
- -74.741557,
- 44.998857
- ],
- [
- -74.712961,
- 44.999254
- ],
- [
- -74.695875,
- 44.99803
- ],
- [
- -74.596114,
- 44.998495
- ],
- [
- -74.496352,
- 44.999012
- ],
- [
- -74.197146,
- 45.000458
- ],
- [
- -71.703551,
- 45.012757
- ],
- [
- -71.603816,
- 45.013274
- ],
- [
- -71.505848,
- 45.013731
- ],
- [
- -71.50408,
- 45.013739
- ],
- [
- -71.506613,
- 45.037045
- ],
- [
- -71.504752,
- 45.052962
- ],
- [
- -71.497259,
- 45.066553
- ],
- [
- -71.45659,
- 45.110994
- ],
- [
- -71.451215,
- 45.121691
- ],
- [
- -71.445996,
- 45.140295
- ],
- [
- -71.441604,
- 45.150682
- ],
- [
- -71.413026,
- 45.186184
- ],
- [
- -71.406567,
- 45.204942
- ],
- [
- -71.42269,
- 45.217189
- ],
- [
- -71.449045,
- 45.226905
- ],
- [
- -71.438813,
- 45.233468
- ],
- [
- -71.394888,
- 45.241529
- ],
- [
- -71.381245,
- 45.250779
- ],
- [
- -71.3521,
- 45.278323
- ],
- [
- -71.334323,
- 45.28871
- ],
- [
- -71.311534,
- 45.294136
- ],
- [
- -71.293396,
- 45.292327
- ],
- [
- -71.20937,
- 45.254758
- ],
- [
- -71.185133,
- 45.248557
- ],
- [
- -71.160329,
- 45.245767
- ],
- [
- -71.141725,
- 45.252329
- ],
- [
- -71.111029,
- 45.287108
- ],
- [
- -71.095242,
- 45.300905
- ],
- [
- -71.085553,
- 45.304213
- ],
- [
- -71.084952,
- 45.304293
- ],
- [
- -71.064211,
- 45.307055
- ],
- [
- -71.054418,
- 45.310362
- ],
- [
- -71.036667,
- 45.323385
- ],
- [
- -71.027598,
- 45.33465
- ],
- [
- -71.016539,
- 45.343125
- ],
- [
- -70.993155,
- 45.347827
- ],
- [
- -70.968118,
- 45.34452
- ],
- [
- -70.951608,
- 45.332014
- ],
- [
- -70.906908,
- 45.246232
- ],
- [
- -70.892412,
- 45.234604
- ],
- [
- -70.874351,
- 45.245663
- ],
- [
- -70.870605,
- 45.255275
- ],
- [
- -70.872491,
- 45.274189
- ],
- [
- -70.870243,
- 45.283129
- ],
- [
- -70.862621,
- 45.290363
- ],
- [
- -70.842389,
- 45.301215
- ],
- [
- -70.835258,
- 45.309794
- ],
- [
- -70.83208,
- 45.328552
- ],
- [
- -70.835465,
- 45.373097
- ],
- [
- -70.833837,
- 45.393096
- ],
- [
- -70.825982,
- 45.410459
- ],
- [
- -70.812986,
- 45.42343
- ],
- [
- -70.794873,
- 45.430406
- ],
- [
- -70.771877,
- 45.430045
- ],
- [
- -70.75255,
- 45.422345
- ],
- [
- -70.718004,
- 45.397282
- ],
- [
- -70.696739,
- 45.388652
- ],
- [
- -70.675785,
- 45.388704
- ],
- [
- -70.65359,
- 45.395473
- ],
- [
- -70.641316,
- 45.408496
- ],
- [
- -70.650257,
- 45.427461
- ],
- [
- -70.668162,
- 45.439036
- ],
- [
- -70.707385,
- 45.4564
- ],
- [
- -70.722836,
- 45.470921
- ],
- [
- -70.732009,
- 45.491591
- ],
- [
- -70.730329,
- 45.507973
- ],
- [
- -70.686792,
- 45.572723
- ],
- [
- -70.589614,
- 45.651788
- ],
- [
- -70.572406,
- 45.662279
- ],
- [
- -70.514735,
- 45.681709
- ],
- [
- -70.484763,
- 45.699641
- ],
- [
- -70.4728,
- 45.703568
- ],
- [
- -70.450424,
- 45.703723
- ],
- [
- -70.439132,
- 45.705893
- ],
- [
- -70.419315,
- 45.716901
- ],
- [
- -70.407351,
- 45.731525
- ],
- [
- -70.402442,
- 45.749663
- ],
- [
- -70.403941,
- 45.771161
- ],
- [
- -70.408282,
- 45.781651
- ],
- [
- -70.413682,
- 45.787697
- ],
- [
- -70.41717,
- 45.793795
- ],
- [
- -70.415232,
- 45.804389
- ],
- [
- -70.409935,
- 45.810745
- ],
- [
- -70.389807,
- 45.825059
- ],
- [
- -70.312654,
- 45.867641
- ],
- [
- -70.283173,
- 45.890482
- ],
- [
- -70.262528,
- 45.923038
- ],
- [
- -70.255939,
- 45.948876
- ],
- [
- -70.263148,
- 45.956834
- ],
- [
- -70.280434,
- 45.959315
- ],
- [
- -70.303947,
- 45.968616
- ],
- [
- -70.316298,
- 45.982982
- ],
- [
- -70.316892,
- 45.999002
- ],
- [
- -70.306143,
- 46.035331
- ],
- [
- -70.303637,
- 46.038483
- ],
- [
- -70.294309,
- 46.044943
- ],
- [
- -70.29201,
- 46.048663
- ],
- [
- -70.293017,
- 46.054038
- ],
- [
- -70.296092,
- 46.057862
- ],
- [
- -70.300795,
- 46.061737
- ],
- [
- -70.304774,
- 46.065975
- ],
- [
- -70.311362,
- 46.071866
- ],
- [
- -70.312629,
- 46.079566
- ],
- [
- -70.30033,
- 46.089281
- ],
- [
- -70.26444,
- 46.106593
- ],
- [
- -70.24948,
- 46.120597
- ],
- [
- -70.244002,
- 46.141009
- ],
- [
- -70.249247,
- 46.162765
- ],
- [
- -70.263329,
- 46.183229
- ],
- [
- -70.284801,
- 46.191859
- ],
- [
- -70.280899,
- 46.211857
- ],
- [
- -70.253407,
- 46.251493
- ],
- [
- -70.236173,
- 46.288339
- ],
- [
- -70.223693,
- 46.300793
- ],
- [
- -70.201886,
- 46.305495
- ],
- [
- -70.199509,
- 46.315262
- ],
- [
- -70.197028,
- 46.336863
- ],
- [
- -70.188398,
- 46.358412
- ],
- [
- -70.167418,
- 46.368179
- ],
- [
- -70.153052,
- 46.372829
- ],
- [
- -70.074323,
- 46.419545
- ],
- [
- -70.061817,
- 46.445409
- ],
- [
- -70.050086,
- 46.511271
- ],
- [
- -70.032723,
- 46.609766
- ],
- [
- -70.023628,
- 46.661287
- ],
- [
- -70.007763,
- 46.704075
- ],
- [
- -69.989961,
- 46.721697
- ],
- [
- -69.899708,
- 46.811562
- ],
- [
- -69.809403,
- 46.901299
- ],
- [
- -69.719099,
- 46.991086
- ],
- [
- -69.628794,
- 47.080797
- ],
- [
- -69.538464,
- 47.17061
- ],
- [
- -69.448159,
- 47.260346
- ],
- [
- -69.357906,
- 47.350134
- ],
- [
- -69.267628,
- 47.439844
- ],
- [
- -69.25091,
- 47.452919
- ],
- [
- -69.237268,
- 47.45881
- ],
- [
- -69.221972,
- 47.459688
- ],
- [
- -69.069655,
- 47.431886
- ],
- [
- -69.054023,
- 47.418399
- ],
- [
- -69.054333,
- 47.389253
- ],
- [
- -69.066193,
- 47.32967
- ],
- [
- -69.065134,
- 47.296339
- ],
- [
- -69.06356,
- 47.290809
- ],
- [
- -69.057486,
- 47.269467
- ],
- [
- -69.0402,
- 47.249055
- ],
- [
- -68.906229,
- 47.190221
- ],
- [
- -68.889718,
- 47.190609
- ],
- [
- -68.761819,
- 47.23704
- ],
- [
- -68.71779,
- 47.245231
- ],
- [
- -68.668801,
- 47.243422
- ],
- [
- -68.644203,
- 47.245283
- ],
- [
- -68.6256,
- 47.255205
- ],
- [
- -68.607926,
- 47.269829
- ],
- [
- -68.58524,
- 47.28249
- ],
- [
- -68.539662,
- 47.299853
- ],
- [
- -68.518009,
- 47.304762
- ],
- [
- -68.492016,
- 47.307553
- ],
- [
- -68.466746,
- 47.305692
- ],
- [
- -68.435327,
- 47.291275
- ],
- [
- -68.422563,
- 47.293109
- ],
- [
- -68.410212,
- 47.297424
- ],
- [
- -68.385614,
- 47.301713
- ],
- [
- -68.383392,
- 47.307139
- ],
- [
- -68.384839,
- 47.315873
- ],
- [
- -68.382049,
- 47.32781
- ],
- [
- -68.347839,
- 47.358506
- ],
- [
- -68.299728,
- 47.367833
- ],
- [
- -68.24645,
- 47.360573
- ],
- [
- -68.197047,
- 47.341401
- ],
- [
- -68.184335,
- 47.333133
- ],
- [
- -68.156068,
- 47.306674
- ],
- [
- -68.145061,
- 47.301455
- ],
- [
- -68.115398,
- 47.292282
- ],
- [
- -68.101446,
- 47.286185
- ],
- [
- -68.039382,
- 47.245231
- ],
- [
- -67.993184,
- 47.223217
- ],
- [
- -67.962436,
- 47.197689
- ],
- [
- -67.953703,
- 47.18663
- ],
- [
- -67.949982,
- 47.172936
- ],
- [
- -67.943419,
- 47.164538
- ],
- [
- -67.899132,
- 47.138778
- ],
- [
- -67.870607,
- 47.107358
- ],
- [
- -67.854742,
- 47.09785
- ],
- [
- -67.813556,
- 47.081908
- ],
- [
- -67.808699,
- 47.075138
- ],
- [
- -67.805185,
- 47.035631
- ],
- [
- -67.802549,
- 46.901247
- ],
- [
- -67.800017,
- 46.766785
- ],
- [
- -67.797433,
- 46.632297
- ],
- [
- -67.794849,
- 46.497861
- ],
- [
- -67.792317,
- 46.363476
- ],
- [
- -67.789733,
- 46.229014
- ],
- [
- -67.78715,
- 46.094552
- ],
- [
- -67.784566,
- 45.960142
- ],
- [
- -67.782757,
- 45.95053
- ],
- [
- -67.776556,
- 45.942933
- ],
- [
- -67.767461,
- 45.935957
- ],
- [
- -67.759658,
- 45.928567
- ],
- [
- -67.757849,
- 45.919472
- ],
- [
- -67.769425,
- 45.903969
- ],
- [
- -67.787356,
- 45.890017
- ],
- [
- -67.799242,
- 45.875651
- ],
- [
- -67.792627,
- 45.858907
- ],
- [
- -67.776091,
- 45.840821
- ],
- [
- -67.772835,
- 45.828057
- ],
- [
- -67.779863,
- 45.815706
- ],
- [
- -67.794126,
- 45.799169
- ],
- [
- -67.80627,
- 45.781754
- ],
- [
- -67.811127,
- 45.76651
- ],
- [
- -67.810816,
- 45.762414
- ],
- [
- -67.817811,
- 45.754896
- ],
- [
- -67.821785,
- 45.740767
- ],
- [
- -67.827673,
- 45.739001
- ],
- [
- -67.868884,
- 45.744593
- ],
- [
- -67.856815,
- 45.723694
- ],
- [
- -67.835768,
- 45.703971
- ],
- [
- -67.793821,
- 45.676301
- ],
- [
- -67.733034,
- 45.651869
- ],
- [
- -67.723173,
- 45.645393
- ],
- [
- -67.711546,
- 45.642155
- ],
- [
- -67.697564,
- 45.64922
- ],
- [
- -67.66695,
- 45.620077
- ],
- [
- -67.649435,
- 45.611247
- ],
- [
- -67.603073,
- 45.605948
- ],
- [
- -67.561862,
- 45.596234
- ],
- [
- -67.54052,
- 45.593879
- ],
- [
- -67.442056,
- 45.603593
- ],
- [
- -67.440939,
- 45.604586
- ],
- [
- -67.431306,
- 45.597941
- ],
- [
- -67.422107,
- 45.568796
- ],
- [
- -67.42619,
- 45.533449
- ],
- [
- -67.443036,
- 45.522184
- ],
- [
- -67.467531,
- 45.508283
- ],
- [
- -67.493214,
- 45.493142
- ],
- [
- -67.48231,
- 45.455521
- ],
- [
- -67.428825,
- 45.38705
- ],
- [
- -67.434561,
- 45.350308
- ],
- [
- -67.459056,
- 45.318424
- ],
- [
- -67.468668,
- 45.301835
- ],
- [
- -67.475024,
- 45.282353
- ],
- [
- -67.471303,
- 45.266282
- ],
- [
- -67.427585,
- 45.236568
- ],
- [
- -67.390533,
- 45.193108
- ],
- [
- -67.356272,
- 45.165926
- ],
- [
- -67.31922,
- 45.153886
- ],
- [
- -67.284648,
- 45.169699
- ],
- [
- -67.279584,
- 45.179052
- ],
- [
- -67.279222,
- 45.187372
- ],
- [
- -67.277207,
- 45.195072
- ],
- [
- -67.267336,
- 45.202513
- ],
- [
- -67.254986,
- 45.205045
- ],
- [
- -67.242428,
- 45.202565
- ],
- [
- -67.219071,
- 45.192126
- ],
- [
- -67.206166,
- 45.189401
- ],
- [
- -67.176015,
- 45.178656
- ],
- [
- -67.191274,
- 45.180365
- ],
- [
- -67.204376,
- 45.178209
- ],
- [
- -67.204724,
- 45.177791
- ],
- [
- -67.152423,
- 45.148932
- ],
- [
- -67.048033,
- 45.043407
- ],
- [
- -66.962727,
- 45.047088
- ],
- [
- -66.857192,
- 44.968696
- ],
- [
- -66.897268,
- 44.817275
- ],
- [
- -67.2159,
- 44.593511
- ],
- [
- -67.122366,
- 44.423624
- ],
- [
- -67.68447,
- 44.192544
- ],
- [
- -67.459678,
- 40.781645
- ],
- [
- -76.607854,
- 32.495823
- ],
- [
- -76.798479,
- 32.713735
- ],
- [
- -78.561892,
- 29.037718
- ],
- [
- -78.892446,
- 29.039659
- ],
- [
- -79.762295,
- 26.719312
- ],
- [
- -80.026352,
- 24.932961
- ],
- [
- -82.368794,
- 23.994833
- ],
- [
- -83.806281,
- 29.068506
- ],
- [
- -87.460772,
- 29.089961
- ],
- [
- -87.922646,
- 28.666131
- ],
- [
- -90.461001,
- 28.246758
- ],
- [
- -91.787336,
- 29.11536
- ],
- [
- -93.311871,
- 29.12431
- ],
- [
- -96.423449,
- 26.057857
- ],
- [
- -97.129057,
- 25.991017
- ],
- [
- -97.129509,
- 25.966833
- ],
- [
- -97.139358,
- 25.965876
- ],
- [
- -97.202171,
- 25.960893
- ],
- [
- -97.202176,
- 25.960857
- ],
- [
- -97.204941,
- 25.960639
- ],
- [
- -97.253051,
- 25.963481
- ],
- [
- -97.266358,
- 25.960639
- ],
- [
- -97.2692,
- 25.944361
- ],
- [
- -97.287649,
- 25.928651
- ],
- [
- -97.310981,
- 25.922088
- ],
- [
- -97.328447,
- 25.933302
- ],
- [
- -97.351107,
- 25.918419
- ],
- [
- -97.355112,
- 25.912786
- ],
- [
- -97.35227,
- 25.894493
- ],
- [
- -97.345165,
- 25.871704
- ],
- [
- -97.345733,
- 25.852222
- ],
- [
- -97.36599,
- 25.843902
- ],
- [
- -97.376015,
- 25.846744
- ],
- [
- -97.380124,
- 25.853203
- ],
- [
- -97.383121,
- 25.860541
- ],
- [
- -97.389891,
- 25.865657
- ],
- [
- -97.397823,
- 25.865812
- ],
- [
- -97.399476,
- 25.861162
- ],
- [
- -97.39989,
- 25.855115
- ],
- [
- -97.404179,
- 25.851395
- ],
- [
- -97.425418,
- 25.854857
- ],
- [
- -97.435727,
- 25.869275
- ],
- [
- -97.441309,
- 25.884933
- ],
- [
- -97.448259,
- 25.892322
- ],
- [
- -97.469421,
- 25.892943
- ],
- [
- -97.486319,
- 25.895733
- ],
- [
- -97.502209,
- 25.901883
- ],
- [
- -97.52027,
- 25.912786
- ],
- [
- -97.565177,
- 25.954748
- ],
- [
- -97.594322,
- 25.966375
- ],
- [
- -97.604787,
- 25.979966
- ],
- [
- -97.613055,
- 25.995985
- ],
- [
- -97.622641,
- 26.00906
- ],
- [
- -97.641451,
- 26.022495
- ],
- [
- -97.659874,
- 26.03066
- ],
- [
- -97.679614,
- 26.034639
- ],
- [
- -97.766948,
- 26.039652
- ],
- [
- -97.780306,
- 26.043218
- ],
- [
- -97.782321,
- 26.058617
- ],
- [
- -97.80201,
- 26.063733
- ],
- [
- -97.878181,
- 26.063733
- ],
- [
- -97.941666,
- 26.056809
- ],
- [
- -97.999233,
- 26.064302
- ],
- [
- -98.013057,
- 26.063682
- ],
- [
- -98.044166,
- 26.048799
- ],
- [
- -98.065457,
- 26.042184
- ],
- [
- -98.075146,
- 26.046628
- ],
- [
- -98.083311,
- 26.070916
- ],
- [
- -98.103103,
- 26.074947
- ],
- [
- -98.150232,
- 26.063682
- ],
- [
- -98.185062,
- 26.065232
- ],
- [
- -98.222656,
- 26.075412
- ],
- [
- -98.300429,
- 26.111431
- ],
- [
- -98.309809,
- 26.121094
- ],
- [
- -98.333037,
- 26.15303
- ],
- [
- -98.339264,
- 26.159851
- ],
- [
- -98.365774,
- 26.160161
- ],
- [
- -98.377272,
- 26.163572
- ],
- [
- -98.377272,
- 26.173649
- ],
- [
- -98.36934,
- 26.19401
- ],
- [
- -98.397193,
- 26.201141
- ],
- [
- -98.428845,
- 26.217729
- ],
- [
- -98.456544,
- 26.225946
- ],
- [
- -98.472383,
- 26.207652
- ],
- [
- -98.49295,
- 26.230596
- ],
- [
- -98.521527,
- 26.240932
- ],
- [
- -98.552791,
- 26.248321
- ],
- [
- -98.581627,
- 26.262274
- ],
- [
- -98.640564,
- 26.24181
- ],
- [
- -98.653663,
- 26.244291
- ],
- [
- -98.664696,
- 26.250647
- ],
- [
- -98.685289,
- 26.268475
- ],
- [
- -98.693325,
- 26.270542
- ],
- [
- -98.702239,
- 26.271628
- ],
- [
- -98.704255,
- 26.27664
- ],
- [
- -98.691465,
- 26.290231
- ],
- [
- -98.701413,
- 26.299119
- ],
- [
- -98.713169,
- 26.303357
- ],
- [
- -98.726217,
- 26.30439
- ],
- [
- -98.739911,
- 26.303253
- ],
- [
- -98.735932,
- 26.320048
- ],
- [
- -98.746397,
- 26.332141
- ],
- [
- -98.780839,
- 26.351674
- ],
- [
- -98.795851,
- 26.368314
- ],
- [
- -98.801329,
- 26.372138
- ],
- [
- -98.810295,
- 26.372448
- ],
- [
- -98.817323,
- 26.368521
- ],
- [
- -98.825023,
- 26.366454
- ],
- [
- -98.836081,
- 26.372138
- ],
- [
- -98.842334,
- 26.365834
- ],
- [
- -98.850835,
- 26.364077
- ],
- [
- -98.860524,
- 26.366299
- ],
- [
- -98.870214,
- 26.372138
- ],
- [
- -98.893029,
- 26.367849
- ],
- [
- -98.9299,
- 26.39224
- ],
- [
- -98.945377,
- 26.378288
- ],
- [
- -98.954136,
- 26.393946
- ],
- [
- -98.962844,
- 26.399527
- ],
- [
- -98.986951,
- 26.400095
- ],
- [
- -99.004056,
- 26.393842
- ],
- [
- -99.010515,
- 26.392602
- ],
- [
- -99.016432,
- 26.394462
- ],
- [
- -99.022995,
- 26.403351
- ],
- [
- -99.027878,
- 26.406245
- ],
- [
- -99.047645,
- 26.406968
- ],
- [
- -99.066351,
- 26.404746
- ],
- [
- -99.085498,
- 26.40764
- ],
- [
- -99.106427,
- 26.423039
- ],
- [
- -99.108907,
- 26.434253
- ],
- [
- -99.102525,
- 26.446966
- ],
- [
- -99.09374,
- 26.459781
- ],
- [
- -99.089373,
- 26.47115
- ],
- [
- -99.091492,
- 26.484018
- ],
- [
- -99.10299,
- 26.512078
- ],
- [
- -99.115108,
- 26.525617
- ],
- [
- -99.140946,
- 26.531405
- ],
- [
- -99.164873,
- 26.540448
- ],
- [
- -99.17128,
- 26.563961
- ],
- [
- -99.171548,
- 26.56583
- ],
- [
- -99.213953,
- 26.568537
- ],
- [
- -99.242801,
- 26.579723
- ],
- [
- -99.254575,
- 26.6018
- ],
- [
- -99.258844,
- 26.614752
- ],
- [
- -99.277683,
- 26.638007
- ],
- [
- -99.281951,
- 26.649781
- ],
- [
- -99.277389,
- 26.657729
- ],
- [
- -99.26635,
- 26.653314
- ],
- [
- -99.252662,
- 26.644483
- ],
- [
- -99.240299,
- 26.639184
- ],
- [
- -99.244861,
- 26.652431
- ],
- [
- -99.240299,
- 26.697763
- ],
- [
- -99.242507,
- 26.713658
- ],
- [
- -99.252368,
- 26.743683
- ],
- [
- -99.254575,
- 26.75899
- ],
- [
- -99.252368,
- 26.799024
- ],
- [
- -99.254575,
- 26.810504
- ],
- [
- -99.257666,
- 26.813153
- ],
- [
- -99.262229,
- 26.814036
- ],
- [
- -99.266497,
- 26.817863
- ],
- [
- -99.268263,
- 26.827872
- ],
- [
- -99.271649,
- 26.832876
- ],
- [
- -99.289458,
- 26.84465
- ],
- [
- -99.308444,
- 26.830521
- ],
- [
- -99.316539,
- 26.822279
- ],
- [
- -99.323457,
- 26.810504
- ],
- [
- -99.328166,
- 26.797258
- ],
- [
- -99.329197,
- 26.789016
- ],
- [
- -99.331699,
- 26.78254
- ],
- [
- -99.340383,
- 26.77312
- ],
- [
- -99.366728,
- 26.761345
- ],
- [
- -99.380269,
- 26.777241
- ],
- [
- -99.391896,
- 26.796963
- ],
- [
- -99.412207,
- 26.796963
- ],
- [
- -99.410883,
- 26.808149
- ],
- [
- -99.405437,
- 26.818452
- ],
- [
- -99.396606,
- 26.824928
- ],
- [
- -99.384979,
- 26.824928
- ],
- [
- -99.377178,
- 26.816686
- ],
- [
- -99.374823,
- 26.804028
- ],
- [
- -99.374234,
- 26.791076
- ],
- [
- -99.371291,
- 26.783128
- ],
- [
- -99.360694,
- 26.780479
- ],
- [
- -99.359369,
- 26.790487
- ],
- [
- -99.36452,
- 26.810504
- ],
- [
- -99.357897,
- 26.822279
- ],
- [
- -99.351274,
- 26.83111
- ],
- [
- -99.346123,
- 26.840824
- ],
- [
- -99.344062,
- 26.855247
- ],
- [
- -99.348772,
- 26.899696
- ],
- [
- -99.355101,
- 26.920302
- ],
- [
- -99.36452,
- 26.934726
- ],
- [
- -99.403377,
- 26.952093
- ],
- [
- -99.413974,
- 26.964162
- ],
- [
- -99.401758,
- 26.985651
- ],
- [
- -99.399991,
- 26.999192
- ],
- [
- -99.418831,
- 27.007728
- ],
- [
- -99.441938,
- 27.013615
- ],
- [
- -99.453271,
- 27.019797
- ],
- [
- -99.455332,
- 27.025979
- ],
- [
- -99.464751,
- 27.039225
- ],
- [
- -99.466959,
- 27.047467
- ],
- [
- -99.462544,
- 27.057181
- ],
- [
- -99.461635,
- 27.056839
- ],
- [
- -99.461728,
- 27.056954
- ],
- [
- -99.442039,
- 27.089614
- ],
- [
- -99.439404,
- 27.098347
- ],
- [
- -99.441419,
- 27.107494
- ],
- [
- -99.445734,
- 27.114728
- ],
- [
- -99.450178,
- 27.120465
- ],
- [
- -99.452452,
- 27.125012
- ],
- [
- -99.450333,
- 27.145166
- ],
- [
- -99.435786,
- 27.188419
- ],
- [
- -99.431988,
- 27.207591
- ],
- [
- -99.434029,
- 27.22697
- ],
- [
- -99.440902,
- 27.244798
- ],
- [
- -99.451832,
- 27.26118
- ],
- [
- -99.46612,
- 27.276527
- ],
- [
- -99.468963,
- 27.278233
- ],
- [
- -99.480409,
- 27.283297
- ],
- [
- -99.482941,
- 27.286708
- ],
- [
- -99.484879,
- 27.294821
- ],
- [
- -99.486584,
- 27.297611
- ],
- [
- -99.493199,
- 27.30128
- ],
- [
- -99.521362,
- 27.311254
- ],
- [
- -99.5148,
- 27.321796
- ],
- [
- -99.497591,
- 27.338798
- ],
- [
- -99.494026,
- 27.348203
- ],
- [
- -99.492889,
- 27.358848
- ],
- [
- -99.487721,
- 27.37187
- ],
- [
- -99.484621,
- 27.391766
- ],
- [
- -99.475706,
- 27.414762
- ],
- [
- -99.472916,
- 27.426647
- ],
- [
- -99.473639,
- 27.463803
- ],
- [
- -99.472916,
- 27.468299
- ],
- [
- -99.47643,
- 27.48251
- ],
- [
- -99.480409,
- 27.490778
- ],
- [
- -99.48829,
- 27.494654
- ],
- [
- -99.503689,
- 27.495584
- ],
- [
- -99.509503,
- 27.500028
- ],
- [
- -99.510071,
- 27.510518
- ],
- [
- -99.507074,
- 27.533437
- ],
- [
- -99.507203,
- 27.57377
- ],
- [
- -99.515006,
- 27.588601
- ],
- [
- -99.535031,
- 27.604828
- ],
- [
- -99.55503,
- 27.613509
- ],
- [
- -99.572264,
- 27.61847
- ],
- [
- -99.578232,
- 27.622811
- ],
- [
- -99.590247,
- 27.642061
- ],
- [
- -99.600169,
- 27.646427
- ],
- [
- -99.612442,
- 27.643637
- ],
- [
- -99.633526,
- 27.633069
- ],
- [
- -99.644869,
- 27.632733
- ],
- [
- -99.648642,
- 27.636919
- ],
- [
- -99.658693,
- 27.654024
- ],
- [
- -99.664739,
- 27.659398
- ],
- [
- -99.70037,
- 27.659191
- ],
- [
- -99.705692,
- 27.66317
- ],
- [
- -99.710674,
- 27.670116
- ],
- [
- -99.723056,
- 27.687381
- ],
- [
- -99.730652,
- 27.691825
- ],
- [
- -99.734037,
- 27.702031
- ],
- [
- -99.736311,
- 27.713607
- ],
- [
- -99.740445,
- 27.722159
- ],
- [
- -99.747344,
- 27.726009
- ],
- [
- -99.765198,
- 27.731177
- ],
- [
- -99.774577,
- 27.735828
- ],
- [
- -99.78685,
- 27.748488
- ],
- [
- -99.795428,
- 27.761924
- ],
- [
- -99.806963,
- 27.771423
- ],
- [
- -99.808167,
- 27.772414
- ],
- [
- -99.83292,
- 27.776755
- ],
- [
- -99.832971,
- 27.782181
- ],
- [
- -99.844779,
- 27.793576
- ],
- [
- -99.858241,
- 27.803524
- ],
- [
- -99.863357,
- 27.804661
- ],
- [
- -99.864727,
- 27.814324
- ],
- [
- -99.861858,
- 27.83608
- ],
- [
- -99.863357,
- 27.845666
- ],
- [
- -99.870928,
- 27.854477
- ],
- [
- -99.880204,
- 27.859231
- ],
- [
- -99.888007,
- 27.864812
- ],
- [
- -99.891288,
- 27.876026
- ],
- [
- -99.882684,
- 27.89158
- ],
- [
- -99.878808,
- 27.901838
- ],
- [
- -99.88134,
- 27.906463
- ],
- [
- -99.896766,
- 27.912923
- ],
- [
- -99.914336,
- 27.928245
- ],
- [
- -99.929916,
- 27.946331
- ],
- [
- -99.939683,
- 27.961085
- ],
- [
- -99.928289,
- 27.975761
- ],
- [
- -99.940717,
- 27.983254
- ],
- [
- -99.961852,
- 27.987492
- ],
- [
- -99.976606,
- 27.992453
- ],
- [
- -99.991127,
- 28.007801
- ],
- [
- -100.000584,
- 28.02041
- ],
- [
- -100.007457,
- 28.033561
- ],
- [
- -100.014123,
- 28.050459
- ],
- [
- -100.013503,
- 28.056971
- ],
- [
- -100.010506,
- 28.063611
- ],
- [
- -100.010196,
- 28.068882
- ],
- [
- -100.017585,
- 28.070949
- ],
- [
- -100.031538,
- 28.081801
- ],
- [
- -100.045077,
- 28.095289
- ],
- [
- -100.048023,
- 28.102523
- ],
- [
- -100.048901,
- 28.115959
- ],
- [
- -100.056498,
- 28.137922
- ],
- [
- -100.074895,
- 28.154407
- ],
- [
- -100.172873,
- 28.198538
- ],
- [
- -100.189203,
- 28.201329
- ],
- [
- -100.197626,
- 28.207168
- ],
- [
- -100.201192,
- 28.220346
- ],
- [
- -100.202949,
- 28.234428
- ],
- [
- -100.205946,
- 28.242877
- ],
- [
- -100.212819,
- 28.245073
- ],
- [
- -100.240724,
- 28.249698
- ],
- [
- -100.257932,
- 28.260524
- ],
- [
- -100.275089,
- 28.277242
- ],
- [
- -100.284339,
- 28.296517
- ],
- [
- -100.277931,
- 28.314888
- ],
- [
- -100.278551,
- 28.331088
- ],
- [
- -100.293899,
- 28.353413
- ],
- [
- -100.322631,
- 28.386899
- ],
- [
- -100.331675,
- 28.422013
- ],
- [
- -100.336326,
- 28.458574
- ],
- [
- -100.340201,
- 28.464259
- ],
- [
- -100.348315,
- 28.470253
- ],
- [
- -100.355549,
- 28.478185
- ],
- [
- -100.35679,
- 28.489322
- ],
- [
- -100.351622,
- 28.496711
- ],
- [
- -100.322631,
- 28.510406
- ],
- [
- -100.364024,
- 28.524797
- ],
- [
- -100.38423,
- 28.537174
- ],
- [
- -100.397769,
- 28.557586
- ],
- [
- -100.398751,
- 28.568645
- ],
- [
- -100.397097,
- 28.592726
- ],
- [
- -100.401438,
- 28.60226
- ],
- [
- -100.411463,
- 28.609314
- ],
- [
- -100.434821,
- 28.619133
- ],
- [
- -100.44619,
- 28.626497
- ],
- [
- -100.444898,
- 28.643782
- ],
- [
- -100.481381,
- 28.686054
- ],
- [
- -100.493939,
- 28.708378
- ],
- [
- -100.519054,
- 28.804961
- ],
- [
- -100.524996,
- 28.814831
- ],
- [
- -100.529285,
- 28.819947
- ],
- [
- -100.534453,
- 28.830231
- ],
- [
- -100.538639,
- 28.835631
- ],
- [
- -100.54515,
- 28.83899
- ],
- [
- -100.559671,
- 28.839378
- ],
- [
- -100.566234,
- 28.842504
- ],
- [
- -100.569696,
- 28.84961
- ],
- [
- -100.56334,
- 28.86209
- ],
- [
- -100.566234,
- 28.869789
- ],
- [
- -100.571763,
- 28.8732
- ],
- [
- -100.586543,
- 28.879789
- ],
- [
- -100.58954,
- 28.883458
- ],
- [
- -100.594966,
- 28.899322
- ],
- [
- -100.606955,
- 28.910123
- ],
- [
- -100.618841,
- 28.917926
- ],
- [
- -100.624318,
- 28.924721
- ],
- [
- -100.624783,
- 28.93777
- ],
- [
- -100.626696,
- 28.948338
- ],
- [
- -100.630778,
- 28.956683
- ],
- [
- -100.637909,
- 28.962884
- ],
- [
- -100.628918,
- 28.98433
- ],
- [
- -100.632793,
- 29.005156
- ],
- [
- -100.652224,
- 29.044817
- ],
- [
- -100.660854,
- 29.102669
- ],
- [
- -100.668967,
- 29.116208
- ],
- [
- -100.678165,
- 29.119412
- ],
- [
- -100.690826,
- 29.121014
- ],
- [
- -100.70204,
- 29.12365
- ],
- [
- -100.706846,
- 29.130187
- ],
- [
- -100.70974,
- 29.135561
- ],
- [
- -100.762501,
- 29.173776
- ],
- [
- -100.770098,
- 29.187289
- ],
- [
- -100.762088,
- 29.208658
- ],
- [
- -100.783172,
- 29.243074
- ],
- [
- -100.796143,
- 29.257673
- ],
- [
- -100.81609,
- 29.270773
- ],
- [
- -100.86389,
- 29.290616
- ],
- [
- -100.871797,
- 29.296456
- ],
- [
- -100.891227,
- 29.318547
- ],
- [
- -100.91474,
- 29.337048
- ],
- [
- -100.987397,
- 29.366322
- ],
- [
- -100.998301,
- 29.372472
- ],
- [
- -101.008068,
- 29.380585
- ],
- [
- -101.016232,
- 29.390068
- ],
- [
- -101.022175,
- 29.40048
- ],
- [
- -101.025948,
- 29.414356
- ],
- [
- -101.029617,
- 29.442984
- ],
- [
- -101.037782,
- 29.460063
- ],
- [
- -101.039026,
- 29.460452
- ],
- [
- -101.040188,
- 29.457132
- ],
- [
- -101.045487,
- 29.451245
- ],
- [
- -101.060205,
- 29.449184
- ],
- [
- -101.067711,
- 29.45095
- ],
- [
- -101.076101,
- 29.453894
- ],
- [
- -101.085962,
- 29.454483
- ],
- [
- -101.098031,
- 29.449184
- ],
- [
- -101.113043,
- 29.466552
- ],
- [
- -101.142774,
- 29.475383
- ],
- [
- -101.174124,
- 29.475971
- ],
- [
- -101.193699,
- 29.469495
- ],
- [
- -101.198703,
- 29.473911
- ],
- [
- -101.198851,
- 29.476854
- ],
- [
- -101.184132,
- 29.497754
- ],
- [
- -101.184868,
- 29.512767
- ],
- [
- -101.195171,
- 29.521892
- ],
- [
- -101.214157,
- 29.518065
- ],
- [
- -101.245213,
- 29.493044
- ],
- [
- -101.265818,
- 29.487157
- ],
- [
- -101.290545,
- 29.49746
- ],
- [
- -101.297315,
- 29.503936
- ],
- [
- -101.300995,
- 29.512767
- ],
- [
- -101.294372,
- 29.520715
- ],
- [
- -101.273177,
- 29.524247
- ],
- [
- -101.259195,
- 29.533372
- ],
- [
- -101.243888,
- 29.554861
- ],
- [
- -101.231966,
- 29.580176
- ],
- [
- -101.227845,
- 29.599899
- ],
- [
- -101.239178,
- 29.616677
- ],
- [
- -101.26052,
- 29.613439
- ],
- [
- -101.281272,
- 29.597249
- ],
- [
- -101.290545,
- 29.575761
- ],
- [
- -101.295255,
- 29.570168
- ],
- [
- -101.306146,
- 29.574583
- ],
- [
- -101.317626,
- 29.584003
- ],
- [
- -101.323955,
- 29.592539
- ],
- [
- -101.323661,
- 29.603137
- ],
- [
- -101.318804,
- 29.616383
- ],
- [
- -101.311445,
- 29.628158
- ],
- [
- -101.303497,
- 29.634045
- ],
- [
- -101.303669,
- 29.631411
- ],
- [
- -101.302727,
- 29.633851
- ],
- [
- -101.301073,
- 29.649509
- ],
- [
- -101.30978,
- 29.654548
- ],
- [
- -101.336239,
- 29.654315
- ],
- [
- -101.349029,
- 29.660103
- ],
- [
- -101.357684,
- 29.667441
- ],
- [
- -101.364351,
- 29.676665
- ],
- [
- -101.376624,
- 29.700643
- ],
- [
- -101.383368,
- 29.718497
- ],
- [
- -101.39962,
- 29.740718
- ],
- [
- -101.406545,
- 29.752888
- ],
- [
- -101.409309,
- 29.765781
- ],
- [
- -101.405098,
- 29.778442
- ],
- [
- -101.414012,
- 29.774411
- ],
- [
- -101.424218,
- 29.771414
- ],
- [
- -101.435096,
- 29.770122
- ],
- [
- -101.446103,
- 29.771052
- ],
- [
- -101.455689,
- 29.77591
- ],
- [
- -101.462433,
- 29.788932
- ],
- [
- -101.470908,
- 29.791516
- ],
- [
- -101.490286,
- 29.785547
- ],
- [
- -101.505763,
- 29.773894
- ],
- [
- -101.521809,
- 29.765936
- ],
- [
- -101.542893,
- 29.771052
- ],
- [
- -101.539689,
- 29.779191
- ],
- [
- -101.530516,
- 29.796477
- ],
- [
- -101.528604,
- 29.801438
- ],
- [
- -101.531912,
- 29.811101
- ],
- [
- -101.539172,
- 29.817974
- ],
- [
- -101.546458,
- 29.820145
- ],
- [
- -101.549766,
- 29.815701
- ],
- [
- -101.553977,
- 29.796684
- ],
- [
- -101.564907,
- 29.786478
- ],
- [
- -101.580281,
- 29.781568
- ],
- [
- -101.632216,
- 29.775651
- ],
- [
- -101.794531,
- 29.795857
- ],
- [
- -101.80298,
- 29.801438
- ],
- [
- -101.805978,
- 29.811928
- ],
- [
- -101.812695,
- 29.812032
- ],
- [
- -101.82409,
- 29.805184
- ],
- [
- -101.857602,
- 29.805184
- ],
- [
- -101.877524,
- 29.810843
- ],
- [
- -101.88742,
- 29.81229
- ],
- [
- -101.895455,
- 29.808621
- ],
- [
- -101.90238,
- 29.803247
- ],
- [
- -101.910881,
- 29.799888
- ],
- [
- -101.920157,
- 29.798182
- ],
- [
- -101.929613,
- 29.797717
- ],
- [
- -101.942662,
- 29.803608
- ],
- [
- -101.957054,
- 29.814047
- ],
- [
- -101.972246,
- 29.818181
- ],
- [
- -101.98793,
- 29.805184
- ],
- [
- -102.014595,
- 29.810998
- ],
- [
- -102.109344,
- 29.80211
- ],
- [
- -102.145647,
- 29.815701
- ],
- [
- -102.157248,
- 29.824537
- ],
- [
- -102.203679,
- 29.846138
- ],
- [
- -102.239775,
- 29.849135
- ],
- [
- -102.253444,
- 29.855285
- ],
- [
- -102.258276,
- 29.873475
- ],
- [
- -102.276181,
- 29.869547
- ],
- [
- -102.289023,
- 29.878126
- ],
- [
- -102.302175,
- 29.889391
- ],
- [
- -102.321011,
- 29.893939
- ],
- [
- -102.330235,
- 29.888926
- ],
- [
- -102.339769,
- 29.870633
- ],
- [
- -102.351061,
- 29.866602
- ],
- [
- -102.36323,
- 29.864276
- ],
- [
- -102.370723,
- 29.857765
- ],
- [
- -102.374547,
- 29.848102
- ],
- [
- -102.376589,
- 29.821488
- ],
- [
- -102.380051,
- 29.811386
- ],
- [
- -102.404132,
- 29.780793
- ],
- [
- -102.406096,
- 29.777279
- ],
- [
- -102.515288,
- 29.784721
- ],
- [
- -102.523066,
- 29.782318
- ],
- [
- -102.531127,
- 29.769915
- ],
- [
- -102.54154,
- 29.762474
- ],
- [
- -102.543349,
- 29.760123
- ],
- [
- -102.546578,
- 29.757875
- ],
- [
- -102.553141,
- 29.756738
- ],
- [
- -102.558309,
- 29.759089
- ],
- [
- -102.562882,
- 29.769347
- ],
- [
- -102.566758,
- 29.771052
- ],
- [
- -102.58531,
- 29.764696
- ],
- [
- -102.621225,
- 29.747281
- ],
- [
- -102.638743,
- 29.743715
- ],
- [
- -102.676054,
- 29.74449
- ],
- [
- -102.683469,
- 29.743715
- ],
- [
- -102.69104,
- 29.736817
- ],
- [
- -102.693624,
- 29.729401
- ],
- [
- -102.694709,
- 29.720616
- ],
- [
- -102.697758,
- 29.709557
- ],
- [
- -102.726748,
- 29.664495
- ],
- [
- -102.73127,
- 29.650594
- ],
- [
- -102.735507,
- 29.649509
- ],
- [
- -102.751656,
- 29.622457
- ],
- [
- -102.75176,
- 29.620157
- ],
- [
- -102.761346,
- 29.603414
- ],
- [
- -102.767598,
- 29.59729
- ],
- [
- -102.779665,
- 29.592303
- ],
- [
- -102.774084,
- 29.579617
- ],
- [
- -102.776461,
- 29.575948
- ],
- [
- -102.785892,
- 29.571814
- ],
- [
- -102.78075,
- 29.558249
- ],
- [
- -102.786512,
- 29.550497
- ],
- [
- -102.795478,
- 29.54427
- ],
- [
- -102.827311,
- 29.470502
- ],
- [
- -102.833951,
- 29.461355
- ],
- [
- -102.839067,
- 29.45195
- ],
- [
- -102.841134,
- 29.438308
- ],
- [
- -102.838705,
- 29.426939
- ],
- [
- -102.834984,
- 29.415699
- ],
- [
- -102.835191,
- 29.403839
- ],
- [
- -102.844545,
- 29.390533
- ],
- [
- -102.845578,
- 29.384719
- ],
- [
- -102.838033,
- 29.370534
- ],
- [
- -102.837672,
- 29.366322
- ],
- [
- -102.84656,
- 29.361749
- ],
- [
- -102.853872,
- 29.361
- ],
- [
- -102.859867,
- 29.361155
- ],
- [
- -102.864957,
- 29.359527
- ],
- [
- -102.876972,
- 29.350871
- ],
- [
- -102.883069,
- 29.343766
- ],
- [
- -102.885188,
- 29.333379
- ],
- [
- -102.885498,
- 29.314801
- ],
- [
- -102.899399,
- 29.276095
- ],
- [
- -102.899709,
- 29.2639
- ],
- [
- -102.892139,
- 29.254391
- ],
- [
- -102.867954,
- 29.240387
- ],
- [
- -102.858781,
- 29.229147
- ],
- [
- -102.869866,
- 29.224781
- ],
- [
- -102.896893,
- 29.220285
- ],
- [
- -102.942265,
- 29.190209
- ],
- [
- -102.947536,
- 29.182018
- ],
- [
- -102.969757,
- 29.192845
- ],
- [
- -102.988386,
- 29.177135
- ],
- [
- -103.015826,
- 29.126776
- ],
- [
- -103.024275,
- 29.116157
- ],
- [
- -103.032621,
- 29.110214
- ],
- [
- -103.072541,
- 29.091404
- ],
- [
- -103.080758,
- 29.085203
- ],
- [
- -103.085589,
- 29.07572
- ],
- [
- -103.091532,
- 29.057866
- ],
- [
- -103.095356,
- 29.060294
- ],
- [
- -103.104684,
- 29.057866
- ],
- [
- -103.109205,
- 29.023372
- ],
- [
- -103.122771,
- 28.996474
- ],
- [
- -103.147989,
- 28.985105
- ],
- [
- -103.187108,
- 28.990221
- ],
- [
- -103.241756,
- 29.003502
- ],
- [
- -103.301545,
- 29.002365
- ],
- [
- -103.316247,
- 29.010065
- ],
- [
- -103.311514,
- 29.026043
- ],
- [
- -103.309994,
- 29.031175
- ],
- [
- -103.3248,
- 29.026808
- ],
- [
- -103.330484,
- 29.023733
- ],
- [
- -103.342602,
- 29.041226
- ],
- [
- -103.351671,
- 29.039417
- ],
- [
- -103.360534,
- 29.029831
- ],
- [
- -103.372083,
- 29.023733
- ],
- [
- -103.38663,
- 29.028798
- ],
- [
- -103.414639,
- 29.052414
- ],
- [
- -103.423605,
- 29.057866
- ],
- [
- -103.435697,
- 29.061121
- ],
- [
- -103.478537,
- 29.08205
- ],
- [
- -103.529748,
- 29.126776
- ],
- [
- -103.535588,
- 29.135122
- ],
- [
- -103.538223,
- 29.142408
- ],
- [
- -103.541711,
- 29.148816
- ],
- [
- -103.550238,
- 29.154656
- ],
- [
- -103.558015,
- 29.156206
- ],
- [
- -103.58499,
- 29.154656
- ],
- [
- -103.673125,
- 29.173569
- ],
- [
- -103.702477,
- 29.187858
- ],
- [
- -103.749476,
- 29.222972
- ],
- [
- -103.759062,
- 29.226848
- ],
- [
- -103.770767,
- 29.229845
- ],
- [
- -103.777718,
- 29.235297
- ],
- [
- -103.769424,
- 29.257543
- ],
- [
- -103.774229,
- 29.267517
- ],
- [
- -103.78366,
- 29.274803
- ],
- [
- -103.794177,
- 29.277594
- ],
- [
- -103.837038,
- 29.279906
- ]
- ]
- ],
- [
- [
- [
- 178.301106,
- 52.056551
- ],
- [
- 179.595462,
- 52.142083
- ],
- [
- 179.825447,
- 51.992849
- ],
- [
- 179.661729,
- 51.485763
- ],
- [
- 179.723231,
- 51.459963
- ],
- [
- 179.408066,
- 51.209841
- ],
- [
- 178.411463,
- 51.523605
- ],
- [
- 177.698335,
- 51.877899
- ],
- [
- 177.16784,
- 51.581866
- ],
- [
- 176.487008,
- 52.175325
- ],
- [
- 174.484678,
- 52.08716
- ],
- [
- 172.866263,
- 52.207379
- ],
- [
- 172.825506,
- 52.716846
- ],
- [
- 172.747012,
- 52.654022
- ],
- [
- 172.08261,
- 52.952695
- ],
- [
- 172.942925,
- 53.183013
- ],
- [
- 173.029416,
- 52.993628
- ],
- [
- 173.127208,
- 52.99494
- ],
- [
- 173.143321,
- 52.990383
- ],
- [
- 173.175059,
- 52.971747
- ],
- [
- 173.182932,
- 52.968373
- ],
- [
- 176.45233,
- 52.628178
- ],
- [
- 176.468135,
- 52.488358
- ],
- [
- 177.900385,
- 52.488358
- ],
- [
- 178.007601,
- 52.179677
- ],
- [
- 178.301106,
- 52.056551
- ]
- ]
- ],
- [
- [
- [
- -168.899607,
- 65.747626
- ],
- [
- -168.909861,
- 65.739569
- ],
- [
- -168.926218,
- 65.739895
- ],
- [
- -168.942128,
- 65.74372
- ],
- [
- -168.951731,
- 65.75316
- ],
- [
- -168.942983,
- 65.764716
- ],
- [
- -168.920115,
- 65.768866
- ],
- [
- -168.907908,
- 65.768297
- ],
- [
- -168.902781,
- 65.761542
- ],
- [
- -168.899607,
- 65.747626
- ]
- ]
- ],
- [
- [
- [
- -131.160718,
- 54.787192
- ],
- [
- -132.853508,
- 54.482536
- ],
- [
- -134.77719,
- 54.717786
- ],
- [
- -142.6966,
- 55.845503
- ],
- [
- -142.861997,
- 49.948308
- ],
- [
- -155.675916,
- 51.109976
- ],
- [
- -164.492732,
- 50.603976
- ],
- [
- -164.691217,
- 50.997975
- ],
- [
- -171.246993,
- 49.948308
- ],
- [
- -171.215436,
- 50.576636
- ],
- [
- -173.341669,
- 50.968826
- ],
- [
- -173.362022,
- 51.082198
- ],
- [
- -177.799603,
- 51.272899
- ],
- [
- -179.155463,
- 50.982285
- ],
- [
- -179.476076,
- 52.072632
- ],
- [
- -177.11459,
- 52.248701
- ],
- [
- -177.146284,
- 52.789384
- ],
- [
- -174.777218,
- 52.443779
- ],
- [
- -174.773743,
- 52.685853
- ],
- [
- -173.653194,
- 52.704099
- ],
- [
- -173.790528,
- 53.469081
- ],
- [
- -171.063371,
- 53.604473
- ],
- [
- -170.777733,
- 59.291898
- ],
- [
- -174.324884,
- 60.332184
- ],
- [
- -171.736408,
- 62.68026
- ],
- [
- -172.315705,
- 62.725352
- ],
- [
- -171.995091,
- 63.999658
- ],
- [
- -168.501424,
- 65.565173
- ],
- [
- -168.714145,
- 65.546708
- ],
- [
- -168.853077,
- 68.370871
- ],
- [
- -161.115601,
- 72.416214
- ],
- [
- -146.132257,
- 70.607941
- ],
- [
- -140.692512,
- 69.955349
- ],
- [
- -141.145395,
- 69.671641
- ],
- [
- -141.015207,
- 69.654202
- ],
- [
- -141.006459,
- 69.651272
- ],
- [
- -141.005564,
- 69.650946
- ],
- [
- -141.005549,
- 69.650941
- ],
- [
- -141.005471,
- 69.505164
- ],
- [
- -141.001208,
- 60.466879
- ],
- [
- -141.001156,
- 60.321074
- ],
- [
- -140.994929,
- 60.304382
- ],
- [
- -140.979555,
- 60.295804
- ],
- [
- -140.909146,
- 60.28366
- ],
- [
- -140.768457,
- 60.259269
- ],
- [
- -140.660505,
- 60.24051
- ],
- [
- -140.533743,
- 60.218548
- ],
- [
- -140.518705,
- 60.22387
- ],
- [
- -140.506664,
- 60.236324
- ],
- [
- -140.475323,
- 60.276477
- ],
- [
- -140.462791,
- 60.289138
- ],
- [
- -140.447805,
- 60.29446
- ],
- [
- -140.424111,
- 60.293168
- ],
- [
- -140.32497,
- 60.267537
- ],
- [
- -140.169243,
- 60.227229
- ],
- [
- -140.01579,
- 60.187387
- ],
- [
- -139.967757,
- 60.188369
- ],
- [
- -139.916933,
- 60.207851
- ],
- [
- -139.826318,
- 60.256478
- ],
- [
- -139.728417,
- 60.309033
- ],
- [
- -139.679816,
- 60.32681
- ],
- [
- -139.628346,
- 60.334096
- ],
- [
- -139.517965,
- 60.336732
- ],
- [
- -139.413992,
- 60.339212
- ],
- [
- -139.262193,
- 60.342778
- ],
- [
- -139.101608,
- 60.346602
- ],
- [
- -139.079465,
- 60.341021
- ],
- [
- -139.06869,
- 60.322056
- ],
- [
- -139.073186,
- 60.299835
- ],
- [
- -139.113468,
- 60.226816
- ],
- [
- -139.149615,
- 60.161187
- ],
- [
- -139.183231,
- 60.100157
- ],
- [
- -139.182146,
- 60.073389
- ],
- [
- -139.112305,
- 60.031376
- ],
- [
- -139.060207,
- 60.000059
- ],
- [
- -139.051611,
- 59.994892
- ],
- [
- -139.003759,
- 59.977219
- ],
- [
- -138.842425,
- 59.937686
- ],
- [
- -138.742586,
- 59.913192
- ],
- [
- -138.704888,
- 59.898464
- ],
- [
- -138.697188,
- 59.89371
- ],
- [
- -138.692098,
- 59.886888
- ],
- [
- -138.654349,
- 59.805498
- ],
- [
- -138.63745,
- 59.784052
- ],
- [
- -138.59921,
- 59.753822
- ],
- [
- -138.488881,
- 59.696357
- ],
- [
- -138.363617,
- 59.631142
- ],
- [
- -138.219543,
- 59.556004
- ],
- [
- -138.067614,
- 59.476991
- ],
- [
- -137.91057,
- 59.395187
- ],
- [
- -137.758305,
- 59.315915
- ],
- [
- -137.611363,
- 59.239331
- ],
- [
- -137.594181,
- 59.225275
- ],
- [
- -137.582088,
- 59.206568
- ],
- [
- -137.5493,
- 59.134531
- ],
- [
- -137.521007,
- 59.072364
- ],
- [
- -137.484394,
- 58.991904
- ],
- [
- -137.507752,
- 58.939969
- ],
- [
- -137.50876,
- 58.914906
- ],
- [
- -137.486875,
- 58.900075
- ],
- [
- -137.453466,
- 58.899145
- ],
- [
- -137.423106,
- 58.907723
- ],
- [
- -137.338098,
- 58.955472
- ],
- [
- -137.2819,
- 58.98715
- ],
- [
- -137.172346,
- 59.027148
- ],
- [
- -137.062367,
- 59.067572
- ],
- [
- -137.047109,
- 59.07331
- ],
- [
- -136.942282,
- 59.11107
- ],
- [
- -136.840816,
- 59.148174
- ],
- [
- -136.785496,
- 59.157217
- ],
- [
- -136.671911,
- 59.150809
- ],
- [
- -136.613491,
- 59.15422
- ],
- [
- -136.569489,
- 59.172152
- ],
- [
- -136.484791,
- 59.2538
- ],
- [
- -136.483551,
- 59.257469
- ],
- [
- -136.466549,
- 59.287803
- ],
- [
- -136.467092,
- 59.38449
- ],
- [
- -136.467557,
- 59.461643
- ],
- [
- -136.415958,
- 59.452238
- ],
- [
- -136.36684,
- 59.449551
- ],
- [
- -136.319995,
- 59.459059
- ],
- [
- -136.275036,
- 59.486448
- ],
- [
- -136.244728,
- 59.528202
- ],
- [
- -136.258474,
- 59.556107
- ],
- [
- -136.29935,
- 59.575745
- ],
- [
- -136.350329,
- 59.592384
- ],
- [
- -136.2585,
- 59.621582
- ],
- [
- -136.145406,
- 59.636826
- ],
- [
- -136.02686,
- 59.652846
- ],
- [
- -135.923818,
- 59.666747
- ],
- [
- -135.830955,
- 59.693257
- ],
- [
- -135.641251,
- 59.747362
- ],
- [
- -135.482759,
- 59.792475
- ],
- [
- -135.465137,
- 59.789685
- ],
- [
- -135.404392,
- 59.753305
- ],
- [
- -135.345791,
- 59.731032
- ],
- [
- -135.259879,
- 59.698218
- ],
- [
- -135.221897,
- 59.675273
- ],
- [
- -135.192028,
- 59.64711
- ],
- [
- -135.157792,
- 59.623287
- ],
- [
- -135.106684,
- 59.613158
- ],
- [
- -135.087874,
- 59.606544
- ],
- [
- -135.032942,
- 59.573109
- ],
- [
- -135.018524,
- 59.559363
- ],
- [
- -135.016198,
- 59.543447
- ],
- [
- -135.01948,
- 59.493166
- ],
- [
- -135.023252,
- 59.477146
- ],
- [
- -135.037489,
- 59.461591
- ],
- [
- -135.078598,
- 59.438337
- ],
- [
- -135.095754,
- 59.418855
- ],
- [
- -134.993254,
- 59.381906
- ],
- [
- -135.00483,
- 59.367127
- ],
- [
- -135.014441,
- 59.35152
- ],
- [
- -135.016198,
- 59.336173
- ],
- [
- -134.979973,
- 59.297415
- ],
- [
- -134.95783,
- 59.280982
- ],
- [
- -134.932431,
- 59.270647
- ],
- [
- -134.839465,
- 59.258141
- ],
- [
- -134.74345,
- 59.245119
- ],
- [
- -134.70552,
- 59.240106
- ],
- [
- -134.692084,
- 59.235249
- ],
- [
- -134.68286,
- 59.223001
- ],
- [
- -134.671439,
- 59.193752
- ],
- [
- -134.66038,
- 59.181298
- ],
- [
- -134.610771,
- 59.144556
- ],
- [
- -134.582788,
- 59.128847
- ],
- [
- -134.556717,
- 59.123059
- ],
- [
- -134.509072,
- 59.122801
- ],
- [
- -134.477575,
- 59.114946
- ],
- [
- -134.451013,
- 59.097893
- ],
- [
- -134.398019,
- 59.051952
- ],
- [
- -134.387167,
- 59.036863
- ],
- [
- -134.385591,
- 59.018828
- ],
- [
- -134.399389,
- 58.974954
- ],
- [
- -134.343423,
- 58.968857
- ],
- [
- -134.329651,
- 58.963017
- ],
- [
- -134.320039,
- 58.952682
- ],
- [
- -134.32314,
- 58.949168
- ],
- [
- -134.330323,
- 58.945344
- ],
- [
- -134.333036,
- 58.93413
- ],
- [
- -134.327403,
- 58.916457
- ],
- [
- -134.316939,
- 58.903796
- ],
- [
- -134.22219,
- 58.842714
- ],
- [
- -134.108838,
- 58.808246
- ],
- [
- -133.983109,
- 58.769902
- ],
- [
- -133.87123,
- 58.735899
- ],
- [
- -133.831129,
- 58.718019
- ],
- [
- -133.796402,
- 58.693421
- ],
- [
- -133.700077,
- 58.59937
- ],
- [
- -133.626283,
- 58.546402
- ],
- [
- -133.547063,
- 58.505577
- ],
- [
- -133.463089,
- 58.462221
- ],
- [
- -133.392241,
- 58.403878
- ],
- [
- -133.43012,
- 58.372097
- ],
- [
- -133.41503,
- 58.330549
- ],
- [
- -133.374567,
- 58.290965
- ],
- [
- -133.257262,
- 58.210298
- ],
- [
- -133.165588,
- 58.147305
- ],
- [
- -133.142127,
- 58.120588
- ],
- [
- -133.094843,
- 58.0331
- ],
- [
- -133.075154,
- 58.007882
- ],
- [
- -132.99335,
- 57.941917
- ],
- [
- -132.917153,
- 57.880499
- ],
- [
- -132.83212,
- 57.791564
- ],
- [
- -132.70944,
- 57.663303
- ],
- [
- -132.629057,
- 57.579277
- ],
- [
- -132.552447,
- 57.499075
- ],
- [
- -132.455735,
- 57.420992
- ],
- [
- -132.362304,
- 57.3457
- ],
- [
- -132.304684,
- 57.280355
- ],
- [
- -132.230994,
- 57.19682
- ],
- [
- -132.276366,
- 57.14889
- ],
- [
- -132.34122,
- 57.080393
- ],
- [
- -132.16229,
- 57.050317
- ],
- [
- -132.031859,
- 57.028406
- ],
- [
- -132.107384,
- 56.858753
- ],
- [
- -131.871558,
- 56.79346
- ],
- [
- -131.865874,
- 56.785708
- ],
- [
- -131.872411,
- 56.77297
- ],
- [
- -131.882617,
- 56.759146
- ],
- [
- -131.887966,
- 56.747958
- ],
- [
- -131.886028,
- 56.737055
- ],
- [
- -131.880705,
- 56.728838
- ],
- [
- -131.864789,
- 56.71349
- ],
- [
- -131.838976,
- 56.682278
- ],
- [
- -131.830424,
- 56.664759
- ],
- [
- -131.826574,
- 56.644606
- ],
- [
- -131.832103,
- 56.603368
- ],
- [
- -131.825592,
- 56.593343
- ],
- [
- -131.799108,
- 56.587658
- ],
- [
- -131.692293,
- 56.585074
- ],
- [
- -131.585891,
- 56.595048
- ],
- [
- -131.560363,
- 56.594066
- ],
- [
- -131.536437,
- 56.585229
- ],
- [
- -131.491659,
- 56.560166
- ],
- [
- -131.345699,
- 56.503271
- ],
- [
- -131.215604,
- 56.45255
- ],
- [
- -131.100546,
- 56.407669
- ],
- [
- -131.016934,
- 56.38705
- ],
- [
- -130.839089,
- 56.372452
- ],
- [
- -130.760334,
- 56.345192
- ],
- [
- -130.645768,
- 56.261942
- ],
- [
- -130.602256,
- 56.247059
- ],
- [
- -130.495518,
- 56.232434
- ],
- [
- -130.47229,
- 56.22489
- ],
- [
- -130.458053,
- 56.210653
- ],
- [
- -130.427926,
- 56.143964
- ],
- [
- -130.418159,
- 56.129702
- ],
- [
- -130.403974,
- 56.121898
- ],
- [
- -130.290311,
- 56.10097
- ],
- [
- -130.243156,
- 56.092391
- ],
- [
- -130.211246,
- 56.089962
- ],
- [
- -130.116756,
- 56.105646
- ],
- [
- -130.094328,
- 56.101486
- ],
- [
- -130.071539,
- 56.084123
- ],
- [
- -130.039319,
- 56.045521
- ],
- [
- -130.026632,
- 56.024101
- ],
- [
- -130.01901,
- 56.002216
- ],
- [
- -130.014695,
- 55.963252
- ],
- [
- -130.016788,
- 55.918913
- ],
- [
- -130.019612,
- 55.907978
- ],
- [
- -130.019618,
- 55.907952
- ],
- [
- -130.022817,
- 55.901353
- ],
- [
- -130.049387,
- 55.871405
- ],
- [
- -130.104726,
- 55.825263
- ],
- [
- -130.136627,
- 55.806464
- ],
- [
- -130.148834,
- 55.795356
- ],
- [
- -130.163482,
- 55.771145
- ],
- [
- -130.167307,
- 55.766262
- ],
- [
- -130.170806,
- 55.759833
- ],
- [
- -130.173655,
- 55.749498
- ],
- [
- -130.170806,
- 55.740953
- ],
- [
- -130.163808,
- 55.734565
- ],
- [
- -130.160064,
- 55.727118
- ],
- [
- -130.167388,
- 55.715399
- ],
- [
- -130.155914,
- 55.700141
- ],
- [
- -130.142893,
- 55.689521
- ],
- [
- -130.131825,
- 55.676581
- ],
- [
- -130.126454,
- 55.653998
- ],
- [
- -130.12857,
- 55.63642
- ],
- [
- -130.135121,
- 55.619127
- ],
- [
- -130.153147,
- 55.58511
- ],
- [
- -130.148671,
- 55.578192
- ],
- [
- -130.146881,
- 55.569322
- ],
- [
- -130.146962,
- 55.547187
- ],
- [
- -130.112172,
- 55.509345
- ],
- [
- -130.101674,
- 55.481147
- ],
- [
- -130.095082,
- 55.472113
- ],
- [
- -130.065419,
- 55.446112
- ],
- [
- -130.057525,
- 55.434882
- ],
- [
- -130.052561,
- 55.414008
- ],
- [
- -130.054311,
- 55.366645
- ],
- [
- -130.05012,
- 55.345445
- ],
- [
- -130.039296,
- 55.330756
- ],
- [
- -129.989247,
- 55.284003
- ],
- [
- -130.031239,
- 55.26435
- ],
- [
- -130.050038,
- 55.252875
- ],
- [
- -130.067494,
- 55.239
- ],
- [
- -130.078236,
- 55.233791
- ],
- [
- -130.100494,
- 55.230292
- ],
- [
- -130.104726,
- 55.225653
- ],
- [
- -130.105702,
- 55.211127
- ],
- [
- -130.10912,
- 55.200751
- ],
- [
- -130.115793,
- 55.191596
- ],
- [
- -130.126454,
- 55.180976
- ],
- [
- -130.151967,
- 55.163275
- ],
- [
- -130.159983,
- 55.153713
- ],
- [
- -130.167592,
- 55.129584
- ],
- [
- -130.173695,
- 55.117743
- ],
- [
- -130.200266,
- 55.104153
- ],
- [
- -130.211781,
- 55.084133
- ],
- [
- -130.228871,
- 55.04385
- ],
- [
- -130.238678,
- 55.03441
- ],
- [
- -130.261342,
- 55.022895
- ],
- [
- -130.269846,
- 55.016547
- ],
- [
- -130.275706,
- 55.006985
- ],
- [
- -130.286366,
- 54.983222
- ],
- [
- -130.294342,
- 54.971869
- ],
- [
- -130.326568,
- 54.952094
- ],
- [
- -130.335561,
- 54.938707
- ],
- [
- -130.365387,
- 54.907294
- ],
- [
- -130.385243,
- 54.896552
- ],
- [
- -130.430816,
- 54.881252
- ],
- [
- -130.488759,
- 54.844184
- ],
- [
- -130.580312,
- 54.806383
- ],
- [
- -130.597485,
- 54.803391
- ],
- [
- -130.71074,
- 54.733215
- ],
- [
- -131.160718,
- 54.787192
- ]
- ]
- ]
- ]
- }
- }
- ]
- },
- "featureIcons": {
- "circle-stroked": {
- "12": [
- 42,
- 0
- ],
- "18": [
- 24,
- 0
- ],
- "24": [
- 0,
- 0
- ]
- },
- "circle": {
- "12": [
- 96,
- 0
- ],
- "18": [
- 78,
- 0
- ],
- "24": [
- 54,
- 0
- ]
- },
- "square-stroked": {
- "12": [
- 150,
- 0
- ],
- "18": [
- 132,
- 0
- ],
- "24": [
- 108,
- 0
- ]
- },
- "square": {
- "12": [
- 204,
- 0
- ],
- "18": [
- 186,
- 0
- ],
- "24": [
- 162,
- 0
- ]
- },
- "triangle-stroked": {
- "12": [
- 258,
- 0
- ],
- "18": [
- 240,
- 0
- ],
- "24": [
- 216,
- 0
- ]
- },
- "triangle": {
- "12": [
- 42,
- 24
- ],
- "18": [
- 24,
- 24
- ],
- "24": [
- 0,
- 24
- ]
- },
- "star-stroked": {
- "12": [
- 96,
- 24
- ],
- "18": [
- 78,
- 24
- ],
- "24": [
- 54,
- 24
- ]
- },
- "star": {
- "12": [
- 150,
- 24
- ],
- "18": [
- 132,
- 24
- ],
- "24": [
- 108,
- 24
- ]
- },
- "cross": {
- "12": [
- 204,
- 24
- ],
- "18": [
- 186,
- 24
- ],
- "24": [
- 162,
- 24
- ]
- },
- "marker-stroked": {
- "12": [
- 258,
- 24
- ],
- "18": [
- 240,
- 24
- ],
- "24": [
- 216,
- 24
- ]
- },
- "marker": {
- "12": [
- 42,
- 48
- ],
- "18": [
- 24,
- 48
- ],
- "24": [
- 0,
- 48
- ]
- },
- "religious-jewish": {
- "12": [
- 96,
- 48
- ],
- "18": [
- 78,
- 48
- ],
- "24": [
- 54,
- 48
- ]
- },
- "religious-christian": {
- "12": [
- 150,
- 48
- ],
- "18": [
- 132,
- 48
- ],
- "24": [
- 108,
- 48
- ]
- },
- "religious-muslim": {
- "12": [
- 204,
- 48
- ],
- "18": [
- 186,
- 48
- ],
- "24": [
- 162,
- 48
- ]
- },
- "cemetery": {
- "12": [
- 258,
- 48
- ],
- "18": [
- 240,
- 48
- ],
- "24": [
- 216,
- 48
- ]
- },
- "rocket": {
- "12": [
- 42,
- 72
- ],
- "18": [
- 24,
- 72
- ],
- "24": [
- 0,
- 72
- ]
- },
- "airport": {
- "12": [
- 96,
- 72
- ],
- "18": [
- 78,
- 72
- ],
- "24": [
- 54,
- 72
- ]
- },
- "heliport": {
- "12": [
- 150,
- 72
- ],
- "18": [
- 132,
- 72
- ],
- "24": [
- 108,
- 72
- ]
- },
- "rail": {
- "12": [
- 204,
- 72
- ],
- "18": [
- 186,
- 72
- ],
- "24": [
- 162,
- 72
- ]
- },
- "rail-underground": {
- "12": [
- 258,
- 72
- ],
- "18": [
- 240,
- 72
- ],
- "24": [
- 216,
- 72
- ]
- },
- "rail-above": {
- "12": [
- 42,
- 96
- ],
- "18": [
- 24,
- 96
- ],
- "24": [
- 0,
- 96
- ]
- },
- "bus": {
- "12": [
- 96,
- 96
- ],
- "18": [
- 78,
- 96
- ],
- "24": [
- 54,
- 96
- ]
- },
- "fuel": {
- "12": [
- 150,
- 96
- ],
- "18": [
- 132,
- 96
- ],
- "24": [
- 108,
- 96
- ]
- },
- "parking": {
- "12": [
- 204,
- 96
- ],
- "18": [
- 186,
- 96
- ],
- "24": [
- 162,
- 96
- ]
- },
- "parking-garage": {
- "12": [
- 258,
- 96
- ],
- "18": [
- 240,
- 96
- ],
- "24": [
- 216,
- 96
- ]
- },
- "airfield": {
- "12": [
- 42,
- 120
- ],
- "18": [
- 24,
- 120
- ],
- "24": [
- 0,
- 120
- ]
- },
- "roadblock": {
- "12": [
- 96,
- 120
- ],
- "18": [
- 78,
- 120
- ],
- "24": [
- 54,
- 120
- ]
- },
- "ferry": {
- "12": [
- 150,
- 120
- ],
- "18": [
- 132,
- 120
- ],
- "24": [
- 108,
- 120
- ],
- "line": [
- 2240,
- 25
- ]
- },
- "harbor": {
- "12": [
- 204,
- 120
- ],
- "18": [
- 186,
- 120
- ],
- "24": [
- 162,
- 120
- ]
- },
- "bicycle": {
- "12": [
- 258,
- 120
- ],
- "18": [
- 240,
- 120
- ],
- "24": [
- 216,
- 120
- ]
- },
- "park": {
- "12": [
- 42,
- 144
- ],
- "18": [
- 24,
- 144
- ],
- "24": [
- 0,
- 144
- ]
- },
- "park2": {
- "12": [
- 96,
- 144
- ],
- "18": [
- 78,
- 144
- ],
- "24": [
- 54,
- 144
- ]
- },
- "museum": {
- "12": [
- 150,
- 144
- ],
- "18": [
- 132,
- 144
- ],
- "24": [
- 108,
- 144
- ]
- },
- "lodging": {
- "12": [
- 204,
- 144
- ],
- "18": [
- 186,
- 144
- ],
- "24": [
- 162,
- 144
- ]
- },
- "monument": {
- "12": [
- 258,
- 144
- ],
- "18": [
- 240,
- 144
- ],
- "24": [
- 216,
- 144
- ]
- },
- "zoo": {
- "12": [
- 42,
- 168
- ],
- "18": [
- 24,
- 168
- ],
- "24": [
- 0,
- 168
- ]
- },
- "garden": {
- "12": [
- 96,
- 168
- ],
- "18": [
- 78,
- 168
- ],
- "24": [
- 54,
- 168
- ]
- },
- "campsite": {
- "12": [
- 150,
- 168
- ],
- "18": [
- 132,
- 168
- ],
- "24": [
- 108,
- 168
- ]
- },
- "theatre": {
- "12": [
- 204,
- 168
- ],
- "18": [
- 186,
- 168
- ],
- "24": [
- 162,
- 168
- ]
- },
- "art-gallery": {
- "12": [
- 258,
- 168
- ],
- "18": [
- 240,
- 168
- ],
- "24": [
- 216,
- 168
- ]
- },
- "pitch": {
- "12": [
- 42,
- 192
- ],
- "18": [
- 24,
- 192
- ],
- "24": [
- 0,
- 192
- ]
- },
- "soccer": {
- "12": [
- 96,
- 192
- ],
- "18": [
- 78,
- 192
- ],
- "24": [
- 54,
- 192
- ]
- },
- "america-football": {
- "12": [
- 150,
- 192
- ],
- "18": [
- 132,
- 192
- ],
- "24": [
- 108,
- 192
- ]
- },
- "tennis": {
- "12": [
- 204,
- 192
- ],
- "18": [
- 186,
- 192
- ],
- "24": [
- 162,
- 192
- ]
- },
- "basketball": {
- "12": [
- 258,
- 192
- ],
- "18": [
- 240,
- 192
- ],
- "24": [
- 216,
- 192
- ]
- },
- "baseball": {
- "12": [
- 42,
- 216
- ],
- "18": [
- 24,
- 216
- ],
- "24": [
- 0,
- 216
- ]
- },
- "golf": {
- "12": [
- 96,
- 216
- ],
- "18": [
- 78,
- 216
- ],
- "24": [
- 54,
- 216
- ]
- },
- "swimming": {
- "12": [
- 150,
- 216
- ],
- "18": [
- 132,
- 216
- ],
- "24": [
- 108,
- 216
- ]
- },
- "cricket": {
- "12": [
- 204,
- 216
- ],
- "18": [
- 186,
- 216
- ],
- "24": [
- 162,
- 216
- ]
- },
- "skiing": {
- "12": [
- 258,
- 216
- ],
- "18": [
- 240,
- 216
- ],
- "24": [
- 216,
- 216
- ]
- },
- "school": {
- "12": [
- 42,
- 240
- ],
- "18": [
- 24,
- 240
- ],
- "24": [
- 0,
- 240
- ]
- },
- "college": {
- "12": [
- 96,
- 240
- ],
- "18": [
- 78,
- 240
- ],
- "24": [
- 54,
- 240
- ]
- },
- "library": {
- "12": [
- 150,
- 240
- ],
- "18": [
- 132,
- 240
- ],
- "24": [
- 108,
- 240
- ]
- },
- "post": {
- "12": [
- 204,
- 240
- ],
- "18": [
- 186,
- 240
- ],
- "24": [
- 162,
- 240
- ]
- },
- "fire-station": {
- "12": [
- 258,
- 240
- ],
- "18": [
- 240,
- 240
- ],
- "24": [
- 216,
- 240
- ]
- },
- "town-hall": {
- "12": [
- 42,
- 264
- ],
- "18": [
- 24,
- 264
- ],
- "24": [
- 0,
- 264
- ]
- },
- "police": {
- "12": [
- 96,
- 264
- ],
- "18": [
- 78,
- 264
- ],
- "24": [
- 54,
- 264
- ]
- },
- "prison": {
- "12": [
- 150,
- 264
- ],
- "18": [
- 132,
- 264
- ],
- "24": [
- 108,
- 264
- ]
- },
- "embassy": {
- "12": [
- 204,
- 264
- ],
- "18": [
- 186,
- 264
- ],
- "24": [
- 162,
- 264
- ]
- },
- "beer": {
- "12": [
- 258,
- 264
- ],
- "18": [
- 240,
- 264
- ],
- "24": [
- 216,
- 264
- ]
- },
- "restaurant": {
- "12": [
- 42,
- 288
- ],
- "18": [
- 24,
- 288
- ],
- "24": [
- 0,
- 288
- ]
- },
- "cafe": {
- "12": [
- 96,
- 288
- ],
- "18": [
- 78,
- 288
- ],
- "24": [
- 54,
- 288
- ]
- },
- "shop": {
- "12": [
- 150,
- 288
- ],
- "18": [
- 132,
- 288
- ],
- "24": [
- 108,
- 288
- ]
- },
- "fast-food": {
- "12": [
- 204,
- 288
- ],
- "18": [
- 186,
- 288
- ],
- "24": [
- 162,
- 288
- ]
- },
- "bar": {
- "12": [
- 258,
- 288
- ],
- "18": [
- 240,
- 288
- ],
- "24": [
- 216,
- 288
- ]
- },
- "bank": {
- "12": [
- 42,
- 312
- ],
- "18": [
- 24,
- 312
- ],
- "24": [
- 0,
- 312
- ]
- },
- "grocery": {
- "12": [
- 96,
- 312
- ],
- "18": [
- 78,
- 312
- ],
- "24": [
- 54,
- 312
- ]
- },
- "cinema": {
- "12": [
- 150,
- 312
- ],
- "18": [
- 132,
- 312
- ],
- "24": [
- 108,
- 312
- ]
- },
- "pharmacy": {
- "12": [
- 204,
- 312
- ],
- "18": [
- 186,
- 312
- ],
- "24": [
- 162,
- 312
- ]
- },
- "hospital": {
- "12": [
- 258,
- 312
- ],
- "18": [
- 240,
- 312
- ],
- "24": [
- 216,
- 312
- ]
- },
- "danger": {
- "12": [
- 42,
- 336
- ],
- "18": [
- 24,
- 336
- ],
- "24": [
- 0,
- 336
- ]
- },
- "industrial": {
- "12": [
- 96,
- 336
- ],
- "18": [
- 78,
- 336
- ],
- "24": [
- 54,
- 336
- ]
- },
- "warehouse": {
- "12": [
- 150,
- 336
- ],
- "18": [
- 132,
- 336
- ],
- "24": [
- 108,
- 336
- ]
- },
- "commercial": {
- "12": [
- 204,
- 336
- ],
- "18": [
- 186,
- 336
- ],
- "24": [
- 162,
- 336
- ]
- },
- "building": {
- "12": [
- 258,
- 336
- ],
- "18": [
- 240,
- 336
- ],
- "24": [
- 216,
- 336
- ]
- },
- "place-of-worship": {
- "12": [
- 42,
- 360
- ],
- "18": [
- 24,
- 360
- ],
- "24": [
- 0,
- 360
- ]
- },
- "alcohol-shop": {
- "12": [
- 96,
- 360
- ],
- "18": [
- 78,
- 360
- ],
- "24": [
- 54,
- 360
- ]
- },
- "logging": {
- "12": [
- 150,
- 360
- ],
- "18": [
- 132,
- 360
- ],
- "24": [
- 108,
- 360
- ]
- },
- "oil-well": {
- "12": [
- 204,
- 360
- ],
- "18": [
- 186,
- 360
- ],
- "24": [
- 162,
- 360
- ]
- },
- "slaughterhouse": {
- "12": [
- 258,
- 360
- ],
- "18": [
- 240,
- 360
- ],
- "24": [
- 216,
- 360
- ]
- },
- "dam": {
- "12": [
- 42,
- 384
- ],
- "18": [
- 24,
- 384
- ],
- "24": [
- 0,
- 384
- ]
- },
- "water": {
- "12": [
- 96,
- 384
- ],
- "18": [
- 78,
- 384
- ],
- "24": [
- 54,
- 384
- ]
- },
- "wetland": {
- "12": [
- 150,
- 384
- ],
- "18": [
- 132,
- 384
- ],
- "24": [
- 108,
- 384
- ]
- },
- "disability": {
- "12": [
- 204,
- 384
- ],
- "18": [
- 186,
- 384
- ],
- "24": [
- 162,
- 384
- ]
- },
- "telephone": {
- "12": [
- 258,
- 384
- ],
- "18": [
- 240,
- 384
- ],
- "24": [
- 216,
- 384
- ]
- },
- "emergency-telephone": {
- "12": [
- 42,
- 408
- ],
- "18": [
- 24,
- 408
- ],
- "24": [
- 0,
- 408
- ]
- },
- "toilets": {
- "12": [
- 96,
- 408
- ],
- "18": [
- 78,
- 408
- ],
- "24": [
- 54,
- 408
- ]
- },
- "waste-basket": {
- "12": [
- 150,
- 408
- ],
- "18": [
- 132,
- 408
- ],
- "24": [
- 108,
- 408
- ]
- },
- "music": {
- "12": [
- 204,
- 408
- ],
- "18": [
- 186,
- 408
- ],
- "24": [
- 162,
- 408
- ]
- },
- "land-use": {
- "12": [
- 258,
- 408
- ],
- "18": [
- 240,
- 408
- ],
- "24": [
- 216,
- 408
- ]
- },
- "city": {
- "12": [
- 42,
- 432
- ],
- "18": [
- 24,
- 432
- ],
- "24": [
- 0,
- 432
- ]
- },
- "town": {
- "12": [
- 96,
- 432
- ],
- "18": [
- 78,
- 432
- ],
- "24": [
- 54,
- 432
- ]
- },
- "village": {
- "12": [
- 150,
- 432
- ],
- "18": [
- 132,
- 432
- ],
- "24": [
- 108,
- 432
- ]
- },
- "farm": {
- "12": [
- 204,
- 432
- ],
- "18": [
- 186,
- 432
- ],
- "24": [
- 162,
- 432
- ]
- },
- "bakery": {
- "12": [
- 258,
- 432
- ],
- "18": [
- 240,
- 432
- ],
- "24": [
- 216,
- 432
- ]
- },
- "dog-park": {
- "12": [
- 42,
- 456
- ],
- "18": [
- 24,
- 456
- ],
- "24": [
- 0,
- 456
- ]
- },
- "lighthouse": {
- "12": [
- 96,
- 456
- ],
- "18": [
- 78,
- 456
- ],
- "24": [
- 54,
- 456
- ]
- },
- "clothing-store": {
- "12": [
- 150,
- 456
- ],
- "18": [
- 132,
- 456
- ],
- "24": [
- 108,
- 456
- ]
- },
- "london-underground": {
- "12": [
- 204,
- 456
- ],
- "18": [
- 186,
- 456
- ],
- "24": [
- 162,
- 456
- ]
- },
- "minefield": {
- "12": [
- 258,
- 456
- ],
- "18": [
- 240,
- 456
- ],
- "24": [
- 216,
- 456
- ]
- },
- "camera": {
- "12": [
- 42,
- 480
- ],
- "18": [
- 24,
- 480
- ],
- "24": [
- 0,
- 480
- ]
- },
- "highway-motorway": {
- "line": [
- 20,
- 25
- ]
- },
- "highway-trunk": {
- "line": [
- 80,
- 25
- ]
- },
- "highway-primary": {
- "line": [
- 140,
- 25
- ]
- },
- "highway-secondary": {
- "line": [
- 200,
- 25
- ]
- },
- "highway-tertiary": {
- "line": [
- 260,
- 25
- ]
- },
- "highway-motorway-link": {
- "line": [
- 320,
- 25
- ]
- },
- "highway-trunk-link": {
- "line": [
- 380,
- 25
- ]
- },
- "highway-primary-link": {
- "line": [
- 440,
- 25
- ]
- },
- "highway-secondary-link": {
- "line": [
- 500,
- 25
- ]
- },
- "highway-tertiary-link": {
- "line": [
- 560,
- 25
- ]
- },
- "highway-residential": {
- "line": [
- 620,
- 25
- ]
- },
- "highway-unclassified": {
- "line": [
- 680,
- 25
- ]
- },
- "highway-service": {
- "line": [
- 740,
- 25
- ]
- },
- "highway-road": {
- "line": [
- 800,
- 25
- ]
- },
- "highway-track": {
- "line": [
- 860,
- 25
- ]
- },
- "highway-living-street": {
- "line": [
- 920,
- 25
- ]
- },
- "highway-path": {
- "line": [
- 980,
- 25
- ]
- },
- "highway-cycleway": {
- "line": [
- 1040,
- 25
- ]
- },
- "highway-footway": {
- "line": [
- 1100,
- 25
- ]
- },
- "highway-bridleway": {
- "line": [
- 1160,
- 25
- ]
- },
- "highway-steps": {
- "line": [
- 1220,
- 25
- ]
- },
- "railway-rail": {
- "line": [
- 1280,
- 25
- ]
- },
- "railway-disused": {
- "line": [
- 1340,
- 25
- ]
- },
- "railway-abandoned": {
- "line": [
- 1400,
- 25
- ]
- },
- "railway-subway": {
- "line": [
- 1460,
- 25
- ]
- },
- "railway-light-rail": {
- "line": [
- 1520,
- 25
- ]
- },
- "railway-monorail": {
- "line": [
- 1580,
- 25
- ]
- },
- "waterway-river": {
- "line": [
- 1640,
- 25
- ]
- },
- "waterway-stream": {
- "line": [
- 1700,
- 25
- ]
- },
- "waterway-canal": {
- "line": [
- 1760,
- 25
- ]
- },
- "waterway-ditch": {
- "line": [
- 1820,
- 25
- ]
- },
- "power-line": {
- "line": [
- 1880,
- 25
- ]
- },
- "other-line": {
- "line": [
- 1940,
- 25
- ]
- },
- "category-roads": {
- "line": [
- 2000,
- 25
- ]
- },
- "category-rail": {
- "line": [
- 2060,
- 25
- ]
- },
- "category-path": {
- "line": [
- 2120,
- 25
- ]
- },
- "category-water": {
- "line": [
- 2180,
- 25
- ]
- },
- "pipeline": {
- "line": [
- 2300,
- 25
- ]
- },
- "relation": {
- "relation": [
- 20,
- 25
- ]
- },
- "restriction": {
- "relation": [
- 80,
- 25
- ]
- },
- "multipolygon": {
- "relation": [
- 140,
- 25
- ]
- },
- "boundary": {
- "relation": [
- 200,
- 25
- ]
- },
- "route": {
- "relation": [
- 260,
- 25
- ]
- },
- "route-road": {
- "relation": [
- 320,
- 25
- ]
- },
- "route-bicycle": {
- "relation": [
- 380,
- 25
- ]
- },
- "route-foot": {
- "relation": [
- 440,
- 25
- ]
- },
- "route-bus": {
- "relation": [
- 500,
- 25
- ]
- },
- "route-train": {
- "relation": [
- 560,
- 25
- ]
- },
- "route-detour": {
- "relation": [
- 620,
- 25
- ]
- },
- "route-tram": {
- "relation": [
- 680,
- 25
- ]
- },
- "route-ferry": {
- "relation": [
- 740,
- 25
- ]
- },
- "route-power": {
- "relation": [
- 800,
- 25
- ]
- },
- "route-pipeline": {
- "relation": [
- 860,
- 25
- ]
- },
- "route-master": {
- "relation": [
- 920,
- 25
- ]
+ inputs.forEach(function(d, i) {
+ func(d, function done(err, data) {
+ errors[i] = err;
+ results[i] = data;
+ remaining--;
+ if (!remaining) callback(errors, results);
+ });
+ });
+ }
+
+
+ // wraps an index to an interval [0..length-1]
+ function utilWrap(index, length) {
+ if (index < 0)
+ index += Math.ceil(-index/length)*length;
+ return index % length;
+ }
+
+
+ /**
+ * a replacement for functor
+ *
+ * @param {*} value any value
+ * @returns {Function} a function that returns that value or the value if it's a function
+ */
+ function utilFunctor(value) {
+ if (typeof value === 'function') return value;
+ return function() {
+ return value;
+ };
+ }
+
+
+ function utilNoAuto(selection) {
+ var isText = (selection.size() && selection.node().tagName.toLowerCase() === 'textarea');
+
+ return selection
+ .attr('autocomplete', 'off')
+ .attr('autocorrect', 'off')
+ .attr('autocapitalize', 'off')
+ .attr('spellcheck', isText ? 'true' : 'false');
+ }
+
+ // note the function should be of low priority
+ // and should not be returning a value.
+ function utilCallWhenIdle(func, timeout) {
+ return function() {
+ var args = arguments;
+ var that = this;
+ window.requestIdleCallback(function() {
+ func.apply(that, args);
+ }, {timeout: timeout});
+ };
+ }
+
+ function utilCleanTags(tags) {
+ var out = {};
+ for (var k in tags) {
+ if (!k) continue;
+ var v = tags[k];
+ if (v !== undefined) {
+ out[k] = cleanValue(k, v);
+ }
+ }
+
+ return out;
+
+
+ function cleanValue(k, v) {
+ function keepSpaces(k) {
+ return /_hours|_times|:conditional$/.test(k);
+ }
+
+ function skip(k) {
+ return /^(description|note|fixme)$/.test(k);
+ }
+
+ if (skip(k)) return v;
+
+ var cleaned = v
+ .split(';')
+ .map(function(s) { return s.trim(); })
+ .join(keepSpaces(k) ? '; ' : ';');
+
+ // The code below is not intended to validate websites and emails.
+ // It is only intended to prevent obvious copy-paste errors. (#2323)
+ // clean website- and email-like tags
+ if (k.indexOf('website') !== -1 ||
+ k.indexOf('email') !== -1 ||
+ cleaned.indexOf('http') === 0) {
+ cleaned = cleaned
+ .replace(/[\u200B-\u200F\uFEFF]/g, ''); // strip LRM and other zero width chars
+
+ }
+
+ return cleaned;
+ }
+ }
+
+ // Like selection.property('value', ...), but avoids no-op value sets,
+ // which can result in layout/repaint thrashing in some situations.
+ function utilGetSetValue(selection, value) {
+ function d3_selection_value(value) {
+ function valueNull() {
+ delete this.value;
+ }
+
+ function valueConstant() {
+ if (this.value !== value) {
+ this.value = value;
+ }
+ }
+
+ function valueFunction() {
+ var x = value.apply(this, arguments);
+ if (x == null) {
+ delete this.value;
+ } else if (this.value !== x) {
+ this.value = x;
+ }
+ }
+
+ return value == null
+ ? valueNull : (typeof value === 'function'
+ ? valueFunction : valueConstant);
+ }
+
+ if (arguments.length === 1) {
+ return selection.property('value');
+ }
+
+ return selection.each(d3_selection_value(value));
+ }
+
+ function utilIdleWorker(tasks, processor, callback) {
+ var results = [], result;
+ for (var i = 0; i < tasks.length; i++) {
+ result = processor(tasks[i]);
+ if (result) results.push(result);
+ }
+ callback(results);
+
+ // var processed = [];
+ // var currentPos = 0;
+ // var totalTasks = tasks.length;
+
+ // function worker(deadline) {
+ // while (deadline.timeRemaining() > 0 && currentPos < totalTasks) {
+ // var result = processor(tasks[currentPos]);
+
+ // // if falsy dont add to the processed list
+ // if (result) processed.push(result);
+ // currentPos++;
+ // }
+
+ // // more tasks are left, we might need more idleCallbacks
+ // if (currentPos < totalTasks) {
+ // return window.requestIdleCallback(function(deadline) {worker(deadline);});
+ // }
+
+ // // tasks are completed
+ // return callback(processed);
+ // }
+
+ // window.requestIdleCallback(function(deadline) {worker(deadline);});
+ }
+
+ // shim
+ window.requestIdleCallback =
+ window.requestIdleCallback ||
+ function(cb) {
+ var start = Date.now();
+ return setTimeout(function() {
+ cb({
+ didTimeout: false,
+ timeRemaining: function() {
+ return Math.max(0, 50 - (Date.now() - start));
+ }
+ });
+ }, 1);
+ };
+
+ window.cancelIdleCallback =
+ window.cancelIdleCallback ||
+ function(id) {
+ clearTimeout(id);
+ };
+
+ // Copies a variable number of methods from source to target.
+ function utilRebind(target, source) {
+ var i = 1, n = arguments.length, method;
+ while (++i < n) {
+ target[method = arguments[i]] = d3_rebind(target, source, source[method]);
+ }
+ return target;
+ }
+
+ // Method is assumed to be a standard D3 getter-setter:
+ // If passed with no arguments, gets the value.
+ // If passed with arguments, sets the value and returns the target.
+ function d3_rebind(target, source, method) {
+ return function() {
+ var value = method.apply(source, arguments);
+ return value === source ? target : value;
+ };
+ }
+
+ // A per-domain session mutex backed by a cookie and dead man's
+ // switch. If the session crashes, the mutex will auto-release
+ // after 5 seconds.
+
+ // This accepts a string and returns an object that complies with utilSessionMutexType
+ function utilSessionMutex(name) {
+ var mutex = {};
+ var intervalID;
+
+ function renew() {
+ var expires = new Date();
+ expires.setSeconds(expires.getSeconds() + 5);
+ document.cookie = name + '=1; expires=' + expires.toUTCString();
+ }
+
+ mutex.lock = function () {
+ if (intervalID) return true;
+ var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1');
+ if (cookie) return false;
+ renew();
+ intervalID = window.setInterval(renew, 4000);
+ return true;
+ };
+
+ mutex.unlock = function () {
+ if (!intervalID) return;
+ document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
+ clearInterval(intervalID);
+ intervalID = null;
+ };
+
+ mutex.locked = function () {
+ return !!intervalID;
+ };
+
+ return mutex;
+ }
+
+ function utilSuggestNames(preset, suggestions) {
+ preset = preset.id.split('/', 2);
+ var k = preset[0],
+ v = preset[1];
+
+ return function(value, callback) {
+ var result = [];
+ if (value && value.length > 2) {
+ if (suggestions[k] && suggestions[k][v]) {
+ for (var sugg in suggestions[k][v]) {
+ var dist = utilEditDistance(value, sugg.substring(0, value.length));
+ if (dist < 3) {
+ result.push({
+ title: sugg,
+ value: sugg,
+ dist: dist
+ });
+ }
+ }
+ }
+ result.sort(function(a, b) {
+ return a.dist - b.dist;
+ });
+ }
+ result = result.slice(0,3);
+ callback(result);
+ };
+ }
+
+ function utilTriggerEvent(target, type) {
+ target.each(function() {
+ var evt = document.createEvent('HTMLEvents');
+ evt.initEvent(type, true, true);
+ this.dispatchEvent(evt);
+ });
+ }
+
+ function validationDeprecatedTag() {
+
+ var validation = function(changes) {
+ var warnings = [];
+ for (var i = 0; i < changes.created.length; i++) {
+ var change = changes.created[i],
+ deprecatedTags = change.deprecatedTags();
+
+ if (!isEmpty(deprecatedTags)) {
+ var tags = utilTagText({ tags: deprecatedTags });
+ warnings.push({
+ id: 'deprecated_tags',
+ message: t('validations.deprecated_tags', { tags: tags }),
+ entity: change
+ });
+ }
+ }
+
+ return warnings;
+ };
+
+
+ return validation;
+ }
+
+ function validationDisconnectedHighway() {
+
+ function isDisconnectedHighway(entity, graph) {
+ if (!entity.tags.highway) return false;
+ if (entity.geometry(graph) !== 'line') return false;
+
+ return graph.childNodes(entity)
+ .every(function(vertex) {
+ var parents = graph.parentWays(vertex);
+ if (parents.length === 1) { // standalone vertex
+ return true;
+ } else { // shared vertex
+ return !vertex.tags.entrance &&
+ parents.filter(function(parent) {
+ return parent.tags.highway && parent !== entity;
+ }).length === 0;
+ }
+ });
+ }
+
+
+ var validation = function(changes, graph) {
+ var warnings = [];
+ for (var i = 0; i < changes.created.length; i++) {
+ var entity = changes.created[i];
+
+ if (isDisconnectedHighway(entity, graph)) {
+ warnings.push({
+ id: 'disconnected_highway',
+ message: t('validations.disconnected_highway'),
+ tooltip: t('validations.disconnected_highway_tooltip'),
+ entity: entity
+ });
+ }
+ }
+
+ return warnings;
+ };
+
+
+ return validation;
+ }
+
+ function validationManyDeletions() {
+ var threshold = 100;
+
+ var validation = function(changes, graph) {
+ var warnings = [];
+ var nodes=0, ways=0, areas=0, relations=0;
+
+ changes.deleted.forEach(function(c) {
+ if (c.type === 'node') {nodes++;}
+ else if (c.type === 'way' && c.geometry(graph) === 'line') {ways++;}
+ else if (c.type === 'way' && c.geometry(graph) === 'area') {areas++;}
+ else if (c.type === 'relation') {relations++;}
+ });
+ if (changes.deleted.length > threshold) {
+ warnings.push({
+ id: 'many_deletions',
+ message: t('validations.many_deletions',
+ { n: changes.deleted.length, p: nodes, l: ways, a:areas, r: relations })
+ });
+ }
+
+ return warnings;
+ };
+
+
+ return validation;
+ }
+
+ function validationMissingTag() {
+
+ // Slightly stricter check than Entity#isUsed (#3091)
+ function hasTags(entity, graph) {
+ return without(Object.keys(entity.tags), 'area', 'name').length > 0 ||
+ graph.parentRelations(entity).length > 0;
+ }
+
+ var validation = function(changes, graph) {
+ var types = ['point', 'line', 'area', 'relation'],
+ warnings = [];
+
+ for (var i = 0; i < changes.created.length; i++) {
+ var change = changes.created[i],
+ geometry = change.geometry(graph);
+
+ if (types.indexOf(geometry) !== -1 && !hasTags(change, graph)) {
+ warnings.push({
+ id: 'missing_tag',
+ message: t('validations.untagged_' + geometry),
+ tooltip: t('validations.untagged_' + geometry + '_tooltip'),
+ entity: change
+ });
+ }
+ }
+
+ return warnings;
+ };
+
+
+ return validation;
+ }
+
+ function validationOldMultipolygon() {
+
+ return function validation(changes, graph) {
+ var warnings = [];
+ for (var i = 0; i < changes.created.length; i++) {
+ var entity = changes.created[i];
+ var parent = osmIsSimpleMultipolygonOuterMember(entity, graph);
+ if (parent) {
+ warnings.push({
+ id: 'old_multipolygon',
+ message: t('validations.old_multipolygon'),
+ tooltip: t('validations.old_multipolygon_tooltip'),
+ entity: parent
+ });
+ }
+ }
+ return warnings;
+ };
+ }
+
+ // https://github.com/openstreetmap/josm/blob/mirror/src/org/
+ // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
+ function validationTagSuggestsArea() {
+
+ function tagSuggestsArea(tags) {
+ if (isEmpty(tags)) return false;
+
+ var presence = ['landuse', 'amenities', 'tourism', 'shop'];
+ for (var i = 0; i < presence.length; i++) {
+ if (tags[presence[i]] !== undefined) {
+ return presence[i] + '=' + tags[presence[i]];
+ }
+ }
+
+ if (tags.building && tags.building === 'yes') return 'building=yes';
+ }
+
+
+ var validation = function(changes, graph) {
+ var warnings = [];
+ for (var i = 0; i < changes.created.length; i++) {
+ var change = changes.created[i],
+ geometry = change.geometry(graph),
+ suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined);
+
+ if (suggestion) {
+ warnings.push({
+ id: 'tag_suggests_area',
+ message: t('validations.tag_suggests_area', { tag: suggestion }),
+ entity: change
+ });
+ }
+ }
+
+ return warnings;
+ };
+
+
+ return validation;
+ }
+
+
+
+ var Validations = /*#__PURE__*/Object.freeze({
+ validationDeprecatedTag: validationDeprecatedTag,
+ validationDisconnectedHighway: validationDisconnectedHighway,
+ validationManyDeletions: validationManyDeletions,
+ validationMissingTag: validationMissingTag,
+ validationOldMultipolygon: validationOldMultipolygon,
+ validationTagSuggestsArea: validationTagSuggestsArea
+ });
+
+ /**
+ * Performs a deep comparison between two values to determine if they are
+ * equivalent.
+ *
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
+ * by their own, not inherited, enumerable properties. Functions and DOM
+ * nodes are compared by strict equality, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ * @example
+ *
+ * var object = { 'a': 1 };
+ * var other = { 'a': 1 };
+ *
+ * _.isEqual(object, other);
+ * // => true
+ *
+ * object === other;
+ * // => false
+ */
+ function isEqual(value, other) {
+ return baseIsEqual(value, other);
+ }
+
+ /*
+ iD.Difference represents the difference between two graphs.
+ It knows how to calculate the set of entities that were
+ created, modified, or deleted, and also contains the logic
+ for recursively extending a difference to the complete set
+ of entities that will require a redraw, taking into account
+ child and parent relationships.
+ */
+ function coreDifference(base, head) {
+ var _changes = {};
+ var _diff = {};
+ var _length = 0;
+ var i, k, h, b, keys;
+
+ function changed(h, b) {
+ if (h === b) return false;
+ if (!h || !b) return true;
+
+ if (h.loc || b.loc) {
+ if (!h.loc && b.loc || h.loc && !b.loc ||
+ h.loc[0] !== b.loc[0] || h.loc[1] !== b.loc[1]) return true;
+ }
+ if (h.nodes || b.nodes) {
+ if (!isEqual(h.nodes, b.nodes)) return true;
+ }
+ if (h.members || b.members) {
+ if (!isEqual(h.members, b.members)) return true;
+ }
+ return !isEqual(h.tags, b.tags);
+ }
+
+
+ keys = Object.keys(head.entities);
+ for (i = 0; i < keys.length; i++) {
+ k = keys[i];
+ h = head.entities[k];
+ b = base.entities[k];
+ if (changed(h, b)) {
+ _changes[k] = {base: b, head: h};
+ _length++;
+ }
+ }
+
+ keys = Object.keys(base.entities);
+ for (i = 0; i < keys.length; i++) {
+ k = keys[i];
+ h = head.entities[k];
+ b = base.entities[k];
+ if (!_changes[k] && changed(h, b)) {
+ _changes[k] = {base: b, head: h};
+ _length++;
+ }
+ }
+
+
+ function addParents(parents, result) {
+ for (var i = 0; i < parents.length; i++) {
+ var parent = parents[i];
+
+ if (parent.id in result)
+ continue;
+
+ result[parent.id] = parent;
+ addParents(head.parentRelations(parent), result);
+ }
+ }
+
+
+ _diff.length = function length() {
+ return _length;
+ };
+
+
+ _diff.changes = function changes() {
+ return _changes;
+ };
+
+
+ _diff.extantIDs = function extantIDs() {
+ var result = [];
+ forEach(_changes, function(change, id) {
+ if (change.head) result.push(id);
+ });
+ return result;
+ };
+
+
+ _diff.modified = function modified() {
+ var result = [];
+ forEach(_changes, function(change) {
+ if (change.base && change.head) result.push(change.head);
+ });
+ return result;
+ };
+
+
+ _diff.created = function created() {
+ var result = [];
+ forEach(_changes, function(change) {
+ if (!change.base && change.head) result.push(change.head);
+ });
+ return result;
+ };
+
+
+ _diff.deleted = function deleted() {
+ var result = [];
+ forEach(_changes, function(change) {
+ if (change.base && !change.head) result.push(change.base);
+ });
+ return result;
+ };
+
+
+ _diff.summary = function summary() {
+ var relevant = {};
+
+ function addEntity(entity, graph, changeType) {
+ relevant[entity.id] = {
+ entity: entity,
+ graph: graph,
+ changeType: changeType
+ };
+ }
+
+ function addParents(entity) {
+ var parents = head.parentWays(entity);
+ for (var j = parents.length - 1; j >= 0; j--) {
+ var parent = parents[j];
+ if (!(parent.id in relevant)) addEntity(parent, head, 'modified');
+ }
+ }
+
+ var keys = Object.keys(_changes);
+ for (var i = 0; i < keys.length; i++) {
+ var change = _changes[keys[i]];
+
+ if (change.head && change.head.geometry(head) !== 'vertex') {
+ addEntity(change.head, head, change.base ? 'modified' : 'created');
+
+ } else if (change.base && change.base.geometry(base) !== 'vertex') {
+ addEntity(change.base, base, 'deleted');
+
+ } else if (change.base && change.head) { // modified vertex
+ var moved = !isEqual(change.base.loc, change.head.loc);
+ var retagged = !isEqual(change.base.tags, change.head.tags);
+
+ if (moved) {
+ addParents(change.head);
+ }
+
+ if (retagged || (moved && change.head.hasInterestingTags())) {
+ addEntity(change.head, head, 'modified');
+ }
+
+ } else if (change.head && change.head.hasInterestingTags()) { // created vertex
+ addEntity(change.head, head, 'created');
+
+ } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex
+ addEntity(change.base, base, 'deleted');
+ }
+ }
+
+ return values$1(relevant);
+ };
+
+
+ _diff.complete = function complete(extent) {
+ var result = {};
+ var id, change;
+
+ for (id in _changes) {
+ change = _changes[id];
+
+ var h = change.head;
+ var b = change.base;
+ var entity = h || b;
+
+ if (extent &&
+ (!h || !h.intersects(extent, head)) &&
+ (!b || !b.intersects(extent, base)))
+ continue;
+
+ result[id] = h;
+
+ if (entity.type === 'way') {
+ var nh = h ? h.nodes : [];
+ var nb = b ? b.nodes : [];
+ var diff, i;
+
+ diff = difference(nh, nb);
+ for (i = 0; i < diff.length; i++) {
+ result[diff[i]] = head.hasEntity(diff[i]);
+ }
+
+ diff = difference(nb, nh);
+ for (i = 0; i < diff.length; i++) {
+ result[diff[i]] = head.hasEntity(diff[i]);
+ }
+ }
+
+ addParents(head.parentWays(entity), result);
+ addParents(head.parentRelations(entity), result);
+ }
+
+ return result;
+ };
+
+
+ return _diff;
+ }
+
+ /** Used for built-in method references. */
+ var objectProto$18 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$15 = objectProto$18.hasOwnProperty;
+
+ /**
+ * Assigns own enumerable string keyed properties of source objects to the
+ * destination object. Source objects are applied from left to right.
+ * Subsequent sources overwrite property assignments of previous sources.
+ *
+ * **Note:** This method mutates `object` and is loosely based on
+ * [`Object.assign`](https://mdn.io/Object/assign).
+ *
+ * @static
+ * @memberOf _
+ * @since 0.10.0
+ * @category Object
+ * @param {Object} object The destination object.
+ * @param {...Object} [sources] The source objects.
+ * @returns {Object} Returns `object`.
+ * @see _.assignIn
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * }
+ *
+ * function Bar() {
+ * this.c = 3;
+ * }
+ *
+ * Foo.prototype.b = 2;
+ * Bar.prototype.d = 4;
+ *
+ * _.assign({ 'a': 0 }, new Foo, new Bar);
+ * // => { 'a': 1, 'c': 3 }
+ */
+ var assign = createAssigner(function(object, source) {
+ if (isPrototype(source) || isArrayLike(source)) {
+ copyObject(source, keys$1(source), object);
+ return;
+ }
+ for (var key in source) {
+ if (hasOwnProperty$15.call(source, key)) {
+ assignValue(object, key, source[key]);
+ }
+ }
+ });
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax$3 = Math.max;
+
+ /**
+ * Checks if `value` is in `collection`. If `collection` is a string, it's
+ * checked for a substring of `value`, otherwise
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * is used for equality comparisons. If `fromIndex` is negative, it's used as
+ * the offset from the end of `collection`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Collection
+ * @param {Array|Object|string} collection The collection to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
+ * @returns {boolean} Returns `true` if `value` is found, else `false`.
+ * @example
+ *
+ * _.includes([1, 2, 3], 1);
+ * // => true
+ *
+ * _.includes([1, 2, 3], 1, 2);
+ * // => false
+ *
+ * _.includes({ 'a': 1, 'b': 2 }, 1);
+ * // => true
+ *
+ * _.includes('abcd', 'bc');
+ * // => true
+ */
+ function includes(collection, value, fromIndex, guard) {
+ collection = isArrayLike(collection) ? collection : values$1(collection);
+ fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;
+
+ var length = collection.length;
+ if (fromIndex < 0) {
+ fromIndex = nativeMax$3(length + fromIndex, 0);
+ }
+ return isString(collection)
+ ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)
+ : (!!length && baseIndexOf(collection, value, fromIndex) > -1);
+ }
+
+ function coreGraph$$1(other, mutable) {
+ if (!(this instanceof coreGraph$$1)) return new coreGraph$$1(other, mutable);
+
+ if (other instanceof coreGraph$$1) {
+ var base = other.base();
+ this.entities = assign(Object.create(base.entities), other.entities);
+ this._parentWays = assign(Object.create(base.parentWays), other._parentWays);
+ this._parentRels = assign(Object.create(base.parentRels), other._parentRels);
+
+ } else {
+ this.entities = Object.create({});
+ this._parentWays = Object.create({});
+ this._parentRels = Object.create({});
+ this.rebase(other || [], [this]);
+ }
+
+ this.transients = {};
+ this._childNodes = {};
+ this.frozen = !mutable;
+ }
+
+
+ coreGraph$$1.prototype = {
+
+ hasEntity: function(id) {
+ return this.entities[id];
+ },
+
+
+ entity: function(id) {
+ var entity = this.entities[id];
+
+ //https://github.com/openstreetmap/iD/issues/3973#issuecomment-307052376
+ if (!entity) {
+ entity = this.entities.__proto__[id]; // eslint-disable-line no-proto
+ }
+
+ if (!entity) {
+ throw new Error('entity ' + id + ' not found');
+ }
+ return entity;
+ },
+
+
+ transient: function(entity, key, fn) {
+ var id = entity.id,
+ transients = this.transients[id] ||
+ (this.transients[id] = {});
+
+ if (transients[key] !== undefined) {
+ return transients[key];
+ }
+
+ transients[key] = fn.call(entity);
+
+ return transients[key];
+ },
+
+
+ parentWays: function(entity) {
+ var parents = this._parentWays[entity.id],
+ result = [];
+
+ if (parents) {
+ for (var i = 0; i < parents.length; i++) {
+ result.push(this.entity(parents[i]));
+ }
+ }
+ return result;
+ },
+
+
+ isPoi: function(entity) {
+ var parentWays = this._parentWays[entity.id];
+ return !parentWays || parentWays.length === 0;
+ },
+
+
+ isShared: function(entity) {
+ var parentWays = this._parentWays[entity.id];
+ return parentWays && parentWays.length > 1;
+ },
+
+
+ parentRelations: function(entity) {
+ var parents = this._parentRels[entity.id],
+ result = [];
+
+ if (parents) {
+ for (var i = 0; i < parents.length; i++) {
+ result.push(this.entity(parents[i]));
+ }
+ }
+ return result;
+ },
+
+
+ childNodes: function(entity) {
+ if (this._childNodes[entity.id]) return this._childNodes[entity.id];
+ if (!entity.nodes) return [];
+
+ var nodes = [];
+ for (var i = 0; i < entity.nodes.length; i++) {
+ nodes[i] = this.entity(entity.nodes[i]);
+ }
+
+ if (debug) Object.freeze(nodes);
+
+ this._childNodes[entity.id] = nodes;
+ return this._childNodes[entity.id];
+ },
+
+
+ base: function() {
+ return {
+ 'entities': utilGetPrototypeOf(this.entities),
+ 'parentWays': utilGetPrototypeOf(this._parentWays),
+ 'parentRels': utilGetPrototypeOf(this._parentRels)
+ };
+ },
+
+
+ // Unlike other graph methods, rebase mutates in place. This is because it
+ // is used only during the history operation that merges newly downloaded
+ // data into each state. To external consumers, it should appear as if the
+ // graph always contained the newly downloaded data.
+ rebase: function(entities, stack, force) {
+ var base = this.base(),
+ i, j, k, id;
+
+ for (i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+
+ if (!entity.visible || (!force && base.entities[entity.id]))
+ continue;
+
+ // Merging data into the base graph
+ base.entities[entity.id] = entity;
+ this._updateCalculated(undefined, entity, base.parentWays, base.parentRels);
+
+ // Restore provisionally-deleted nodes that are discovered to have an extant parent
+ if (entity.type === 'way') {
+ for (j = 0; j < entity.nodes.length; j++) {
+ id = entity.nodes[j];
+ for (k = 1; k < stack.length; k++) {
+ var ents = stack[k].entities;
+ if (ents.hasOwnProperty(id) && ents[id] === undefined) {
+ delete ents[id];
+ }
+ }
+ }
+ }
+ }
+
+ for (i = 0; i < stack.length; i++) {
+ stack[i]._updateRebased();
+ }
+ },
+
+
+ _updateRebased: function() {
+ var base = this.base(),
+ i, k, child, id, keys;
+
+ keys = Object.keys(this._parentWays);
+ for (i = 0; i < keys.length; i++) {
+ child = keys[i];
+ if (base.parentWays[child]) {
+ for (k = 0; k < base.parentWays[child].length; k++) {
+ id = base.parentWays[child][k];
+ if (!this.entities.hasOwnProperty(id) && !includes(this._parentWays[child], id)) {
+ this._parentWays[child].push(id);
+ }
+ }
+ }
+ }
+
+ keys = Object.keys(this._parentRels);
+ for (i = 0; i < keys.length; i++) {
+ child = keys[i];
+ if (base.parentRels[child]) {
+ for (k = 0; k < base.parentRels[child].length; k++) {
+ id = base.parentRels[child][k];
+ if (!this.entities.hasOwnProperty(id) && !includes(this._parentRels[child], id)) {
+ this._parentRels[child].push(id);
+ }
+ }
+ }
+ }
+
+ this.transients = {};
+
+ // this._childNodes is not updated, under the assumption that
+ // ways are always downloaded with their child nodes.
+ },
+
+
+ // Updates calculated properties (parentWays, parentRels) for the specified change
+ _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
+
+ parentWays = parentWays || this._parentWays;
+ parentRels = parentRels || this._parentRels;
+
+ var type = entity && entity.type || oldentity && oldentity.type,
+ removed, added, ways, rels, i;
+
+
+ if (type === 'way') {
+
+ // Update parentWays
+ if (oldentity && entity) {
+ removed = difference(oldentity.nodes, entity.nodes);
+ added = difference(entity.nodes, oldentity.nodes);
+ } else if (oldentity) {
+ removed = oldentity.nodes;
+ added = [];
+ } else if (entity) {
+ removed = [];
+ added = entity.nodes;
+ }
+ for (i = 0; i < removed.length; i++) {
+ parentWays[removed[i]] = without(parentWays[removed[i]], oldentity.id);
+ }
+ for (i = 0; i < added.length; i++) {
+ ways = without(parentWays[added[i]], entity.id);
+ ways.push(entity.id);
+ parentWays[added[i]] = ways;
+ }
+
+ } else if (type === 'relation') {
+
+ // Update parentRels
+ if (oldentity && entity) {
+ removed = difference(oldentity.members, entity.members);
+ added = difference(entity.members, oldentity);
+ } else if (oldentity) {
+ removed = oldentity.members;
+ added = [];
+ } else if (entity) {
+ removed = [];
+ added = entity.members;
+ }
+ for (i = 0; i < removed.length; i++) {
+ parentRels[removed[i].id] = without(parentRels[removed[i].id], oldentity.id);
+ }
+ for (i = 0; i < added.length; i++) {
+ rels = without(parentRels[added[i].id], entity.id);
+ rels.push(entity.id);
+ parentRels[added[i].id] = rels;
+ }
+ }
+ },
+
+
+ replace: function(entity) {
+ if (this.entities[entity.id] === entity)
+ return this;
+
+ return this.update(function() {
+ this._updateCalculated(this.entities[entity.id], entity);
+ this.entities[entity.id] = entity;
+ });
+ },
+
+
+ remove: function(entity) {
+ return this.update(function() {
+ this._updateCalculated(entity, undefined);
+ this.entities[entity.id] = undefined;
+ });
+ },
+
+
+ revert: function(id) {
+ var baseEntity = this.base().entities[id],
+ headEntity = this.entities[id];
+
+ if (headEntity === baseEntity)
+ return this;
+
+ return this.update(function() {
+ this._updateCalculated(headEntity, baseEntity);
+ delete this.entities[id];
+ });
+ },
+
+
+ update: function() {
+ var graph = this.frozen ? coreGraph$$1(this, true) : this;
+
+ for (var i = 0; i < arguments.length; i++) {
+ arguments[i].call(graph, graph);
+ }
+
+ if (this.frozen) graph.frozen = true;
+
+ return graph;
+ },
+
+
+ // Obliterates any existing entities
+ load: function(entities) {
+ var base = this.base();
+ this.entities = Object.create(base.entities);
+
+ for (var i in entities) {
+ this.entities[i] = entities[i];
+ this._updateCalculated(base.entities[i], this.entities[i]);
+ }
+
+ return this;
+ }
+ };
+
+ function coreTree(head) {
+ var rtree = rbush_1(),
+ bboxes = {},
+ tree = {};
+
+
+ function entityBBox(entity) {
+ var bbox = entity.extent(head).bbox();
+ bbox.id = entity.id;
+ bboxes[entity.id] = bbox;
+ return bbox;
+ }
+
+
+ function updateParents(entity, insertions, memo) {
+ head.parentWays(entity).forEach(function(way) {
+ if (bboxes[way.id]) {
+ rtree.remove(bboxes[way.id]);
+ insertions[way.id] = way;
+ }
+ updateParents(way, insertions, memo);
+ });
+
+ head.parentRelations(entity).forEach(function(relation) {
+ if (memo[entity.id]) return;
+ memo[entity.id] = true;
+ if (bboxes[relation.id]) {
+ rtree.remove(bboxes[relation.id]);
+ insertions[relation.id] = relation;
+ }
+ updateParents(relation, insertions, memo);
+ });
+ }
+
+
+ tree.rebase = function(entities, force) {
+ var insertions = {};
+
+ for (var i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+
+ if (!entity.visible)
+ continue;
+
+ if (head.entities.hasOwnProperty(entity.id) || bboxes[entity.id]) {
+ if (!force) {
+ continue;
+ } else if (bboxes[entity.id]) {
+ rtree.remove(bboxes[entity.id]);
+ }
+ }
+
+ insertions[entity.id] = entity;
+ updateParents(entity, insertions, {});
+ }
+
+ rtree.load(map$3(insertions, entityBBox));
+
+ return tree;
+ };
+
+
+ tree.intersects = function(extent, graph) {
+ if (graph !== head) {
+ var diff = coreDifference(head, graph),
+ insertions = {};
+
+ head = graph;
+
+ diff.deleted().forEach(function(entity) {
+ rtree.remove(bboxes[entity.id]);
+ delete bboxes[entity.id];
+ });
+
+ diff.modified().forEach(function(entity) {
+ rtree.remove(bboxes[entity.id]);
+ insertions[entity.id] = entity;
+ updateParents(entity, insertions, {});
+ });
+
+ diff.created().forEach(function(entity) {
+ insertions[entity.id] = entity;
+ });
+
+ rtree.load(map$3(insertions, entityBBox));
+ }
+
+ return rtree.search(extent.bbox()).map(function(bbox) {
+ return head.entity(bbox.id);
+ });
+ };
+
+
+ return tree;
+ }
+
+ /*
+ * This code is licensed under the MIT license.
+ *
+ * Copyright © 2013, iD authors.
+ *
+ * Portions copyright © 2011, Keith Cirkel
+ * See https://github.com/keithamus/jwerty
+ *
+ */
+ function d3keybinding(namespace$$1) {
+ var bindings = [];
+
+
+ function testBindings(isCapturing) {
+ var didMatch = false,
+ i, binding;
+
+ // Most key shortcuts will accept either lower or uppercase ('h' or 'H'),
+ // so we don't strictly match on the shift key, but we prioritize
+ // shifted bindings first, and fallback to unshifted only if no match.
+ // (This lets us differentiate between '←'/'⇧←' or '⌘Z'/'⌘⇧Z')
+
+ // priority match shifted bindings first
+ for (i = 0; i < bindings.length; i++) {
+ binding = bindings[i];
+ if (!binding.event.modifiers.shiftKey) continue; // no shift
+ if (!!binding.capture !== isCapturing) continue;
+ if (matches(binding, true)) {
+ binding.callback();
+ didMatch = true;
+ }
+ }
+
+ // then unshifted bindings
+ if (didMatch) return;
+ for (i = 0; i < bindings.length; i++) {
+ binding = bindings[i];
+ if (binding.event.modifiers.shiftKey) continue; // shift
+ if (!!binding.capture !== isCapturing) continue;
+ if (matches(binding, false)) {
+ binding.callback();
+ }
+ }
+
+
+ function matches(binding, testShift) {
+ var event$$1 = event;
+ var isMatch = false;
+ var tryKeyCode = true;
+
+ // Prefer a match on `KeyboardEvent.key`
+ if (event$$1.key !== undefined) {
+ tryKeyCode = (event$$1.key.charCodeAt(0) > 255); // outside ISO-Latin-1
+ isMatch = true;
+
+ if (binding.event.key === undefined) {
+ isMatch = false;
+ } else if (Array.isArray(binding.event.key)) {
+ if (binding.event.key.map(function(s) { return s.toLowerCase(); }).indexOf(event$$1.key.toLowerCase()) === -1)
+ isMatch = false;
+ } else {
+ if (event$$1.key.toLowerCase() !== binding.event.key.toLowerCase())
+ isMatch = false;
+ }
+ }
+
+ // Fallback match on `KeyboardEvent.keyCode`, can happen if:
+ // - browser doesn't support `KeyboardEvent.key`
+ // - `KeyboardEvent.key` is outside ISO-Latin-1 range (cyrillic?)
+ if (!isMatch && tryKeyCode) {
+ isMatch = (event$$1.keyCode === binding.event.keyCode);
+ }
+
+ if (!isMatch) return false;
+
+ // test modifier keys
+ if (!(event$$1.ctrlKey && event$$1.altKey)) { // if both are set, assume AltGr and skip it - #4096
+ if (event$$1.ctrlKey !== binding.event.modifiers.ctrlKey) return false;
+ if (event$$1.altKey !== binding.event.modifiers.altKey) return false;
+ }
+ if (event$$1.metaKey !== binding.event.modifiers.metaKey) return false;
+ if (testShift && event$$1.shiftKey !== binding.event.modifiers.shiftKey) return false;
+
+ return true;
+ }
+ }
+
+
+ function capture() {
+ testBindings(true);
+ }
+
+
+ function bubble() {
+ var tagName = select(event.target).node().tagName;
+ if (tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA') {
+ return;
+ }
+ testBindings(false);
+ }
+
+
+ function keybinding(selection$$1) {
+ selection$$1 = selection$$1 || select(document);
+ selection$$1.on('keydown.capture' + namespace$$1, capture, true);
+ selection$$1.on('keydown.bubble' + namespace$$1, bubble, false);
+ return keybinding;
+ }
+
+
+ keybinding.off = function(selection$$1) {
+ bindings = [];
+ selection$$1 = selection$$1 || select(document);
+ selection$$1.on('keydown.capture' + namespace$$1, null);
+ selection$$1.on('keydown.bubble' + namespace$$1, null);
+ return keybinding;
+ };
+
+
+ keybinding.on = function(codes, callback, capture) {
+ var arr = [].concat(codes);
+ for (var i = 0; i < arr.length; i++) {
+ var code = arr[i];
+ var binding = {
+ event: {
+ key: undefined, // preferred
+ keyCode: 0, // fallback
+ modifiers: {
+ shiftKey: false,
+ ctrlKey: false,
+ altKey: false,
+ metaKey: false
+ }
+ },
+ capture: capture,
+ callback: callback
+ };
+
+ code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g);
+
+ for (var j = 0; j < code.length; j++) {
+ // Normalise matching errors
+ if (code[j] === '++') code[j] = '+';
+
+ if (code[j] in d3keybinding.modifierCodes) {
+ binding.event.modifiers[d3keybinding.modifierProperties[d3keybinding.modifierCodes[code[j]]]] = true;
+ } else {
+ binding.event.key = d3keybinding.keys[code[j]] || code[j];
+ if (code[j] in d3keybinding.keyCodes) {
+ binding.event.keyCode = d3keybinding.keyCodes[code[j]];
+ }
+ }
+ }
+
+ bindings.push(binding);
+ }
+
+ return keybinding;
+ };
+
+ return keybinding;
+ }
+
+
+ d3keybinding.modifierCodes = {
+ // Shift key, ⇧
+ '⇧': 16, shift: 16,
+ // CTRL key, on Mac: ⌃
+ '⌃': 17, ctrl: 17,
+ // ALT key, on Mac: ⌥ (Alt)
+ '⌥': 18, alt: 18, option: 18,
+ // META, on Mac: ⌘ (CMD), on Windows (Win), on Linux (Super)
+ '⌘': 91, meta: 91, cmd: 91, 'super': 91, win: 91
+ };
+
+ d3keybinding.modifierProperties = {
+ 16: 'shiftKey',
+ 17: 'ctrlKey',
+ 18: 'altKey',
+ 91: 'metaKey'
+ };
+
+ d3keybinding.keys = {
+ // Backspace key, on Mac: ⌫ (Backspace)
+ '⌫': 'Backspace', backspace: 'Backspace',
+ // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
+ '⇥': 'Tab', '⇆': 'Tab', tab: 'Tab',
+ // Return key, ↩
+ '↩': 'Enter', 'return': 'Enter', enter: 'Enter', '⌅': 'Enter',
+ // Pause/Break key
+ 'pause': 'Pause', 'pause-break': 'Pause',
+ // Caps Lock key, ⇪
+ '⇪': 'CapsLock', caps: 'CapsLock', 'caps-lock': 'CapsLock',
+ // Escape key, on Mac: ⎋, on Windows: Esc
+ '⎋': ['Escape', 'Esc'], escape: ['Escape', 'Esc'], esc: ['Escape', 'Esc'],
+ // Space key
+ space: [' ', 'Spacebar'],
+ // Page-Up key, or pgup, on Mac: ↖
+ '↖': 'PageUp', pgup: 'PageUp', 'page-up': 'PageUp',
+ // Page-Down key, or pgdown, on Mac: ↘
+ '↘': 'PageDown', pgdown: 'PageDown', 'page-down': 'PageDown',
+ // END key, on Mac: ⇟
+ '⇟': 'End', end: 'End',
+ // HOME key, on Mac: ⇞
+ '⇞': 'Home', home: 'Home',
+ // Insert key, or ins
+ ins: 'Insert', insert: 'Insert',
+ // Delete key, on Mac: ⌦ (Delete)
+ '⌦': ['Delete', 'Del'], del: ['Delete', 'Del'], 'delete': ['Delete', 'Del'],
+ // Left Arrow Key, or ←
+ '←': ['ArrowLeft', 'Left'], left: ['ArrowLeft', 'Left'], 'arrow-left': ['ArrowLeft', 'Left'],
+ // Up Arrow Key, or ↑
+ '↑': ['ArrowUp', 'Up'], up: ['ArrowUp', 'Up'], 'arrow-up': ['ArrowUp', 'Up'],
+ // Right Arrow Key, or →
+ '→': ['ArrowRight', 'Right'], right: ['ArrowRight', 'Right'], 'arrow-right': ['ArrowRight', 'Right'],
+ // Up Arrow Key, or ↓
+ '↓': ['ArrowDown', 'Down'], down: ['ArrowDown', 'Down'], 'arrow-down': ['ArrowDown', 'Down'],
+ // odities, stuff for backward compatibility (browsers and code):
+ // Num-Multiply, or *
+ '*': ['*', 'Multiply'], star: ['*', 'Multiply'], asterisk: ['*', 'Multiply'], multiply: ['*', 'Multiply'],
+ // Num-Plus or +
+ '+': ['+', 'Add'], 'plus': ['+', 'Add'],
+ // Num-Subtract, or -
+ '-': ['-', 'Subtract'], subtract: ['-', 'Subtract'], 'dash': ['-', 'Subtract'],
+ // Semicolon
+ semicolon: ';',
+ // = or equals
+ equals: '=',
+ // Comma, or ,
+ comma: ',',
+ // Period, or ., or full-stop
+ period: '.', 'full-stop': '.',
+ // Slash, or /, or forward-slash
+ slash: '/', 'forward-slash': '/',
+ // Tick, or `, or back-quote
+ tick: '`', 'back-quote': '`',
+ // Open bracket, or [
+ 'open-bracket': '[',
+ // Back slash, or \
+ 'back-slash': '\\',
+ // Close backet, or ]
+ 'close-bracket': ']',
+ // Apostrophe, or Quote, or '
+ quote: '\'', apostrophe: '\'',
+ // NUMPAD 0-9
+ 'num-0': '0',
+ 'num-1': '1',
+ 'num-2': '2',
+ 'num-3': '3',
+ 'num-4': '4',
+ 'num-5': '5',
+ 'num-6': '6',
+ 'num-7': '7',
+ 'num-8': '8',
+ 'num-9': '9',
+ // F1-F25
+ f1: 'F1',
+ f2: 'F2',
+ f3: 'F3',
+ f4: 'F4',
+ f5: 'F5',
+ f6: 'F6',
+ f7: 'F7',
+ f8: 'F8',
+ f9: 'F9',
+ f10: 'F10',
+ f11: 'F11',
+ f12: 'F12',
+ f13: 'F13',
+ f14: 'F14',
+ f15: 'F15',
+ f16: 'F16',
+ f17: 'F17',
+ f18: 'F18',
+ f19: 'F19',
+ f20: 'F20',
+ f21: 'F21',
+ f22: 'F22',
+ f23: 'F23',
+ f24: 'F24',
+ f25: 'F25'
+ };
+
+ d3keybinding.keyCodes = {
+ // Backspace key, on Mac: ⌫ (Backspace)
+ '⌫': 8, backspace: 8,
+ // Tab Key, on Mac: ⇥ (Tab), on Windows ⇥⇥
+ '⇥': 9, '⇆': 9, tab: 9,
+ // Return key, ↩
+ '↩': 13, 'return': 13, enter: 13, '⌅': 13,
+ // Pause/Break key
+ 'pause': 19, 'pause-break': 19,
+ // Caps Lock key, ⇪
+ '⇪': 20, caps: 20, 'caps-lock': 20,
+ // Escape key, on Mac: ⎋, on Windows: Esc
+ '⎋': 27, escape: 27, esc: 27,
+ // Space key
+ space: 32,
+ // Page-Up key, or pgup, on Mac: ↖
+ '↖': 33, pgup: 33, 'page-up': 33,
+ // Page-Down key, or pgdown, on Mac: ↘
+ '↘': 34, pgdown: 34, 'page-down': 34,
+ // END key, on Mac: ⇟
+ '⇟': 35, end: 35,
+ // HOME key, on Mac: ⇞
+ '⇞': 36, home: 36,
+ // Insert key, or ins
+ ins: 45, insert: 45,
+ // Delete key, on Mac: ⌦ (Delete)
+ '⌦': 46, del: 46, 'delete': 46,
+ // Left Arrow Key, or ←
+ '←': 37, left: 37, 'arrow-left': 37,
+ // Up Arrow Key, or ↑
+ '↑': 38, up: 38, 'arrow-up': 38,
+ // Right Arrow Key, or →
+ '→': 39, right: 39, 'arrow-right': 39,
+ // Up Arrow Key, or ↓
+ '↓': 40, down: 40, 'arrow-down': 40,
+ // odities, printing characters that come out wrong:
+ // Firefox Equals
+ 'ffequals': 61,
+ // Num-Multiply, or *
+ '*': 106, star: 106, asterisk: 106, multiply: 106,
+ // Num-Plus or +
+ '+': 107, 'plus': 107,
+ // Num-Subtract, or -
+ '-': 109, subtract: 109,
+ // Firefox Plus
+ 'ffplus': 171,
+ // Firefox Minus
+ 'ffminus': 173,
+ // Semicolon
+ ';': 186, semicolon: 186,
+ // = or equals
+ '=': 187, 'equals': 187,
+ // Comma, or ,
+ ',': 188, comma: 188,
+ // Dash / Underscore key
+ 'dash': 189,
+ // Period, or ., or full-stop
+ '.': 190, period: 190, 'full-stop': 190,
+ // Slash, or /, or forward-slash
+ '/': 191, slash: 191, 'forward-slash': 191,
+ // Tick, or `, or back-quote
+ '`': 192, tick: 192, 'back-quote': 192,
+ // Open bracket, or [
+ '[': 219, 'open-bracket': 219,
+ // Back slash, or \
+ '\\': 220, 'back-slash': 220,
+ // Close backet, or ]
+ ']': 221, 'close-bracket': 221,
+ // Apostrophe, or Quote, or '
+ '\'': 222, quote: 222, apostrophe: 222
+ };
+
+ // NUMPAD 0-9
+ var i$1 = 95, n = 0;
+ while (++i$1 < 106) {
+ d3keybinding.keyCodes['num-' + n] = i$1;
+ ++n;
+ }
+
+ // 0-9
+ i$1 = 47; n = 0;
+ while (++i$1 < 58) {
+ d3keybinding.keyCodes[n] = i$1;
+ ++n;
+ }
+
+ // F1-F25
+ i$1 = 111; n = 1;
+ while (++i$1 < 136) {
+ d3keybinding.keyCodes['f' + n] = i$1;
+ ++n;
+ }
+
+ // a-z
+ i$1 = 64;
+ while (++i$1 < 91) {
+ d3keybinding.keyCodes[String.fromCharCode(i$1).toLowerCase()] = i$1;
+ }
+
+ function tooltip() {
+ var tooltip = function(selection$$1) {
+ selection$$1.each(setup);
+ },
+ animation = utilFunctor(false),
+ html = utilFunctor(false),
+ title = function() {
+ var title = this.getAttribute('data-original-title');
+ if (title) {
+ return title;
+ } else {
+ title = this.getAttribute('title');
+ this.removeAttribute('title');
+ this.setAttribute('data-original-title', title);
+ }
+ return title;
+ },
+ over = 'mouseenter.tooltip',
+ out = 'mouseleave.tooltip',
+ placement = utilFunctor('top');
+
+
+ tooltip.title = function(_) {
+ if (arguments.length) {
+ title = utilFunctor(_);
+ return tooltip;
+ } else {
+ return title;
+ }
+ };
+
+
+ tooltip.html = function(_) {
+ if (arguments.length) {
+ html = utilFunctor(_);
+ return tooltip;
+ } else {
+ return html;
+ }
+ };
+
+
+ tooltip.placement = function(_) {
+ if (arguments.length) {
+ placement = utilFunctor(_);
+ return tooltip;
+ } else {
+ return placement;
+ }
+ };
+
+
+ tooltip.show = function(selection$$1) {
+ selection$$1.each(show);
+ };
+
+
+ tooltip.hide = function(selection$$1) {
+ selection$$1.each(hide);
+ };
+
+
+ tooltip.toggle = function(selection$$1) {
+ selection$$1.each(toggle);
+ };
+
+
+ tooltip.destroy = function(selection$$1) {
+ selection$$1
+ .on(over, null)
+ .on(out, null)
+ .attr('title', function() {
+ return this.getAttribute('data-original-title') || this.getAttribute('title');
+ })
+ .attr('data-original-title', null)
+ .selectAll('.tooltip')
+ .remove();
+ };
+
+
+ function setup() {
+ var root = select(this),
+ animate = animation.apply(this, arguments),
+ tip = root.selectAll('.tooltip').data([0]);
+
+ var enter = tip.enter()
+ .append('div')
+ .attr('class', 'tooltip');
+
+ enter
+ .append('div')
+ .attr('class', 'tooltip-arrow');
+
+ enter
+ .append('div')
+ .attr('class', 'tooltip-inner');
+
+ tip = enter
+ .merge(tip);
+
+ if (animate) {
+ tip.classed('fade', true);
+ }
+
+ var place = placement.apply(this, arguments);
+ tip.classed(place, true);
+
+ root.on(over, show);
+ root.on(out, hide);
+ }
+
+
+ function show() {
+ var root = select(this),
+ content = title.apply(this, arguments),
+ tip = root.selectAll('.tooltip')
+ .classed('in', true),
+ markup = html.apply(this, arguments);
+
+ tip.selectAll('.tooltip-inner')[markup ? 'html' : 'text'](content);
+ var place = placement.apply(this, arguments),
+ outer = getPosition(root.node()),
+ inner = getPosition(tip.node()),
+ pos;
+
+ switch (place) {
+ case 'top':
+ pos = {x: outer.x + (outer.w - inner.w) / 2, y: outer.y - inner.h};
+ break;
+ case 'right':
+ pos = {x: outer.x + outer.w, y: outer.y + (outer.h - inner.h) / 2};
+ break;
+ case 'left':
+ pos = {x: outer.x - inner.w, y: outer.y + (outer.h - inner.h) / 2};
+ break;
+ case 'bottom':
+ pos = {x: Math.max(0, outer.x + (outer.w - inner.w) / 2), y: outer.y + outer.h};
+ break;
+ }
+
+ if (pos) {
+ tip.style('left', ~~pos.x + 'px').style('top', ~~pos.y + 'px');
+ } else {
+ tip.style('left', null).style('top', null);
+ }
+
+ this.tooltipVisible = true;
+ }
+
+
+ function hide() {
+ select(this).selectAll('.tooltip')
+ .classed('in', false);
+
+ this.tooltipVisible = false;
+ }
+
+
+ function toggle() {
+ if (this.tooltipVisible) {
+ hide.apply(this, arguments);
+ } else {
+ show.apply(this, arguments);
+ }
+ }
+
+ return tooltip;
+ }
+
+
+ function getPosition(node) {
+ var mode = select(node).style('position');
+ if (mode === 'absolute' || mode === 'static') {
+ return {
+ x: node.offsetLeft,
+ y: node.offsetTop,
+ w: node.offsetWidth,
+ h: node.offsetHeight
+ };
+ } else {
+ return {
+ x: 0,
+ y: 0,
+ w: node.offsetWidth,
+ h: node.offsetHeight
+ };
+ }
+ }
+
+ function behaviorEdit(context) {
+
+ function edit() {
+ context.map()
+ .minzoom(context.minEditableZoom());
+ }
+
+
+ edit.off = function() {
+ context.map()
+ .minzoom(0);
+ };
+
+
+ return edit;
+ }
+
+ /*
+ The hover behavior adds the `.hover` class on mouseover to all elements to which
+ the identical datum is bound, and removes it on mouseout.
+
+ The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
+ representation may consist of several elements scattered throughout the DOM hierarchy.
+ Only one of these elements can have the :hover pseudo-class, but all of them will
+ have the .hover class.
+ */
+ function behaviorHover(context) {
+ var dispatch$$1 = dispatch('hover');
+ var _selection = select(null);
+ var _newId = null;
+ var _buttonDown;
+ var _altDisables;
+ var _target;
+
+
+ function keydown() {
+ if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) {
+ _selection.selectAll('.hover')
+ .classed('hover-suppressed', true)
+ .classed('hover', false);
+
+ _selection
+ .classed('hover-disabled', true);
+
+ dispatch$$1.call('hover', this, null);
+ }
+ }
+
+
+ function keyup() {
+ if (_altDisables && event.keyCode === d3keybinding.modifierCodes.alt) {
+ _selection.selectAll('.hover-suppressed')
+ .classed('hover-suppressed', false)
+ .classed('hover', true);
+
+ _selection
+ .classed('hover-disabled', false);
+
+ dispatch$$1.call('hover', this, _target ? _target.id : null);
+ }
+ }
+
+
+ var hover = function(selection$$1) {
+ _selection = selection$$1;
+ _newId = null;
+
+ _selection
+ .on('mouseover.hover', mouseover)
+ .on('mouseout.hover', mouseout)
+ .on('mousedown.hover', mousedown);
+
+ select(window)
+ .on('keydown.hover', keydown)
+ .on('keyup.hover', keyup);
+
+
+ function mouseover() {
+ if (_buttonDown) return;
+ var target = event.target;
+ enter(target ? target.__data__ : null);
+ }
+
+
+ function mouseout() {
+ if (_buttonDown) return;
+ var target = event.relatedTarget;
+ enter(target ? target.__data__ : null);
+ }
+
+
+ function mousedown() {
+ _buttonDown = true;
+ select(window)
+ .on('mouseup.hover', mouseup, true);
+ }
+
+
+ function mouseup() {
+ _buttonDown = false;
+ select(window)
+ .on('mouseup.hover', null, true);
+ }
+
+
+ function enter(datum) {
+ if (datum === _target) return;
+ _target = datum;
+
+ _selection.selectAll('.hover')
+ .classed('hover', false);
+ _selection.selectAll('.hover-suppressed')
+ .classed('hover-suppressed', false);
+
+ var entity;
+ if (datum instanceof osmEntity$$1) {
+ entity = datum;
+ } else {
+ entity = datum && datum.properties && datum.properties.entity;
+ }
+
+ if (entity && entity.id !== _newId) {
+ // If drawing a way, don't hover on a node that was just placed. #3974
+ var mode = context.mode() && context.mode().id;
+ if ((mode === 'draw-line' || mode === 'draw-area') && !_newId && entity.type === 'node') {
+ _newId = entity.id;
+ return;
+ }
+
+ var selector$$1 = '.' + entity.id;
+
+ if (entity.type === 'relation') {
+ entity.members.forEach(function(member) {
+ selector$$1 += ', .' + member.id;
+ });
+ }
+
+ var suppressed = _altDisables && event && event.altKey;
+
+ _selection.selectAll(selector$$1)
+ .classed(suppressed ? 'hover-suppressed' : 'hover', true);
+
+ dispatch$$1.call('hover', this, !suppressed && entity.id);
+
+ } else {
+ dispatch$$1.call('hover', this, null);
+ }
+ }
+
+ };
+
+
+ hover.off = function(selection$$1) {
+ selection$$1.selectAll('.hover')
+ .classed('hover', false);
+ selection$$1.selectAll('.hover-suppressed')
+ .classed('hover-suppressed', false);
+ selection$$1
+ .classed('hover-disabled', false);
+
+ selection$$1
+ .on('mouseover.hover', null)
+ .on('mouseout.hover', null)
+ .on('mousedown.hover', null);
+
+ select(window)
+ .on('keydown.hover', null)
+ .on('keyup.hover', null);
+ };
+
+
+ hover.altDisables = function(_) {
+ if (!arguments.length) return _altDisables;
+ _altDisables = _;
+ return hover;
+ };
+
+
+ return utilRebind(hover, dispatch$$1, 'on');
+ }
+
+ function refresh(selection, node) {
+ var cr = node.getBoundingClientRect();
+ var prop = [cr.width, cr.height];
+ selection.property('__dimensions__', prop);
+ return prop;
+ }
+
+ function utilGetDimensions(selection, force) {
+ if (!selection || selection.empty()) {
+ return [0, 0];
+ }
+ var node = selection.node(),
+ cached = selection.property('__dimensions__');
+ return (!cached || force) ? refresh(selection, node) : cached;
+ }
+
+
+ function utilSetDimensions(selection, dimensions) {
+ if (!selection || selection.empty()) {
+ return selection;
+ }
+ var node = selection.node();
+ if (dimensions === null) {
+ refresh(selection, node);
+ return selection;
+ }
+ return selection
+ .property('__dimensions__', [dimensions[0], dimensions[1]])
+ .attr('width', dimensions[0])
+ .attr('height', dimensions[1]);
+ }
+
+ function behaviorTail() {
+ var text,
+ container,
+ xmargin = 25,
+ tooltipSize = [0, 0],
+ selectionSize = [0, 0];
+
+
+ function tail(selection$$1) {
+ if (!text) return;
+
+ select(window)
+ .on('resize.tail', function() { selectionSize = utilGetDimensions(selection$$1); });
+
+ container = select(document.body)
+ .append('div')
+ .style('display', 'none')
+ .attr('class', 'tail tooltip-inner');
+
+ container.append('div')
+ .text(text);
+
+ selection$$1
+ .on('mousemove.tail', mousemove)
+ .on('mouseenter.tail', mouseenter)
+ .on('mouseleave.tail', mouseleave);
+
+ container
+ .on('mousemove.tail', mousemove);
+
+ tooltipSize = utilGetDimensions(container);
+ selectionSize = utilGetDimensions(selection$$1);
+
+
+ function show() {
+ container.style('display', 'block');
+ tooltipSize = utilGetDimensions(container);
+ }
+
+
+ function mousemove() {
+ if (container.style('display') === 'none') show();
+ var xoffset = ((event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ?
+ -tooltipSize[0] - xmargin : xmargin;
+ container.classed('left', xoffset > 0);
+ utilSetTransform(container, event.clientX + xoffset, event.clientY);
+ }
+
+
+ function mouseleave() {
+ if (event.relatedTarget !== container.node()) {
+ container.style('display', 'none');
+ }
+ }
+
+
+ function mouseenter() {
+ if (event.relatedTarget !== container.node()) {
+ show();
+ }
+ }
+ }
+
+
+ tail.off = function(selection$$1) {
+ if (!text) return;
+
+ container
+ .on('mousemove.tail', null)
+ .remove();
+
+ selection$$1
+ .on('mousemove.tail', null)
+ .on('mouseenter.tail', null)
+ .on('mouseleave.tail', null);
+
+ select(window)
+ .on('resize.tail', null);
+ };
+
+
+ tail.text = function(_) {
+ if (!arguments.length) return text;
+ text = _;
+ return tail;
+ };
+
+
+ return tail;
+ }
+
+ var _usedTails = {};
+ var _disableSpace = false;
+ var _lastSpace = null;
+
+
+ function behaviorDraw(context) {
+ var dispatch$$1 = dispatch(
+ 'move', 'click', 'clickWay', 'clickNode', 'undo', 'cancel', 'finish'
+ );
+
+ var keybinding = d3keybinding('draw');
+
+ var hover = behaviorHover(context).altDisables(true)
+ .on('hover', context.ui().sidebar.hover);
+ var tail = behaviorTail();
+ var edit = behaviorEdit(context);
+
+ var closeTolerance = 4;
+ var tolerance = 12;
+ var _mouseLeave = false;
+ var _lastMouse = null;
+
+
+ // related code
+ // - `mode/drag_node.js` `datum()`
+ function datum() {
+ if (event.altKey) return {};
+
+ var element;
+ if (event.type === 'keydown') {
+ element = _lastMouse && _lastMouse.target;
+ } else {
+ element = event.target;
+ }
+
+ // When drawing, snap only to touch targets..
+ // (this excludes area fills and active drawing elements)
+ var d = element.__data__;
+ return (d && d.properties && d.properties.target) ? d : {};
+ }
+
+
+ function mousedown() {
+
+ function point$$1() {
+ var p = context.container().node();
+ return touchId !== null ? d3_touches(p).filter(function(p) {
+ return p.identifier === touchId;
+ })[0] : mouse(p);
+ }
+
+ var element = select(this);
+ var touchId = event.touches ? event.changedTouches[0].identifier : null;
+ var t1 = +new Date();
+ var p1 = point$$1();
+
+ element.on('mousemove.draw', null);
+
+ select(window).on('mouseup.draw', function() {
+ var t2 = +new Date();
+ var p2 = point$$1();
+ var dist = geoVecLength(p1, p2);
+
+ element.on('mousemove.draw', mousemove);
+ select(window).on('mouseup.draw', null);
+
+ if (dist < closeTolerance || (dist < tolerance && (t2 - t1) < 500)) {
+ // Prevent a quick second click
+ select(window).on('click.draw-block', function() {
+ event.stopPropagation();
+ }, true);
+
+ context.map().dblclickEnable(false);
+
+ window.setTimeout(function() {
+ context.map().dblclickEnable(true);
+ select(window).on('click.draw-block', null);
+ }, 500);
+
+ click();
+ }
+ }, true);
+ }
+
+
+ function mousemove() {
+ _lastMouse = event;
+ dispatch$$1.call('move', this, datum());
+ }
+
+
+ function mouseenter() {
+ _mouseLeave = false;
+ }
+
+
+ function mouseleave() {
+ _mouseLeave = true;
+ }
+
+
+ // related code
+ // - `mode/drag_node.js` `doMode()`
+ // - `behavior/draw.js` `click()`
+ // - `behavior/draw_way.js` `move()`
+ function click() {
+ var d = datum();
+ var target = d && d.properties && d.properties.entity;
+
+ if (target && target.type === 'node') { // Snap to a node
+ dispatch$$1.call('clickNode', this, target, d);
+ return;
+
+ } else if (target && target.type === 'way') { // Snap to a way
+ var choice = geoChooseEdge(
+ context.childNodes(target), context.mouse(), context.projection, context.activeID()
+ );
+ if (choice) {
+ var edge = [target.nodes[choice.index - 1], target.nodes[choice.index]];
+ dispatch$$1.call('clickWay', this, choice.loc, edge, d);
+ return;
+ }
+ }
+
+ dispatch$$1.call('click', this, context.map().mouseCoordinates(), d);
+ }
+
+
+ function space() {
+ event.preventDefault();
+ event.stopPropagation();
+
+ var currSpace = context.mouse();
+ if (_disableSpace && _lastSpace) {
+ var dist = geoVecLength(_lastSpace, currSpace);
+ if (dist > tolerance) {
+ _disableSpace = false;
+ }
+ }
+
+ if (_disableSpace || _mouseLeave || !_lastMouse) return;
+
+ // user must move mouse or release space bar to allow another click
+ _lastSpace = currSpace;
+ _disableSpace = true;
+
+ select(window).on('keyup.space-block', function() {
+ event.preventDefault();
+ event.stopPropagation();
+ _disableSpace = false;
+ select(window).on('keyup.space-block', null);
+ });
+
+ click();
+ }
+
+
+ function backspace() {
+ event.preventDefault();
+ dispatch$$1.call('undo');
+ }
+
+
+ function del() {
+ event.preventDefault();
+ dispatch$$1.call('cancel');
+ }
+
+
+ function ret() {
+ event.preventDefault();
+ dispatch$$1.call('finish');
+ }
+
+
+ function draw(selection$$1) {
+ context.install(hover);
+ context.install(edit);
+
+ if (!context.inIntro() && !_usedTails[tail.text()]) {
+ context.install(tail);
+ }
+
+ keybinding
+ .on('⌫', backspace)
+ .on('⌦', del)
+ .on('⎋', ret)
+ .on('↩', ret)
+ .on('space', space)
+ .on('⌥space', space);
+
+ selection$$1
+ .on('mouseenter.draw', mouseenter)
+ .on('mouseleave.draw', mouseleave)
+ .on('mousedown.draw', mousedown)
+ .on('mousemove.draw', mousemove);
+
+ select(document)
+ .call(keybinding);
+
+ return draw;
+ }
+
+
+ draw.off = function(selection$$1) {
+ context.ui().sidebar.hover.cancel();
+ context.uninstall(hover);
+ context.uninstall(edit);
+
+ if (!context.inIntro() && !_usedTails[tail.text()]) {
+ context.uninstall(tail);
+ _usedTails[tail.text()] = true;
+ }
+
+ selection$$1
+ .on('mouseenter.draw', null)
+ .on('mouseleave.draw', null)
+ .on('mousedown.draw', null)
+ .on('mousemove.draw', null);
+
+ select(window)
+ .on('mouseup.draw', null);
+ // note: keyup.space-block, click.draw-block should remain
+
+ select(document)
+ .call(keybinding.off);
+ };
+
+
+ draw.tail = function(_) {
+ tail.text(_);
+ return draw;
+ };
+
+
+ return utilRebind(draw, dispatch$$1, 'on');
+ }
+
+ function modeAddArea$$1(context) {
+ var mode = {
+ id: 'add-area',
+ button: 'area',
+ title: t('modes.add_area.title'),
+ description: t('modes.add_area.description'),
+ key: '3'
+ };
+
+ var behavior = behaviorAddWay(context)
+ .tail(t('modes.add_area.tail'))
+ .on('start', start)
+ .on('startFromWay', startFromWay)
+ .on('startFromNode', startFromNode),
+ defaultTags = { area: 'yes' };
+
+
+ function actionClose(wayId) {
+ return function (graph) {
+ return graph.replace(graph.entity(wayId).close());
+ };
+ }
+
+
+ function start(loc) {
+ var startGraph = context.graph(),
+ node = osmNode({ loc: loc }),
+ way = osmWay({ tags: defaultTags });
+
+ context.perform(
+ actionAddEntity(node),
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id),
+ actionClose(way.id)
+ );
+
+ context.enter(modeDrawArea(context, way.id, startGraph));
+ }
+
+
+ function startFromWay(loc, edge) {
+ var startGraph = context.graph(),
+ node = osmNode({ loc: loc }),
+ way = osmWay({ tags: defaultTags });
+
+ context.perform(
+ actionAddEntity(node),
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id),
+ actionClose(way.id),
+ actionAddMidpoint({ loc: loc, edge: edge }, node)
+ );
+
+ context.enter(modeDrawArea(context, way.id, startGraph));
+ }
+
+
+ function startFromNode(node) {
+ var startGraph = context.graph(),
+ way = osmWay({ tags: defaultTags });
+
+ context.perform(
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id),
+ actionClose(way.id)
+ );
+
+ context.enter(modeDrawArea(context, way.id, startGraph));
+ }
+
+
+ mode.enter = function() {
+ context.install(behavior);
+ };
+
+
+ mode.exit = function() {
+ context.uninstall(behavior);
+ };
+
+
+ return mode;
+ }
+
+ function modeAddLine$$1(context) {
+ var mode = {
+ id: 'add-line',
+ button: 'line',
+ title: t('modes.add_line.title'),
+ description: t('modes.add_line.description'),
+ key: '2'
+ };
+
+ var behavior = behaviorAddWay(context)
+ .tail(t('modes.add_line.tail'))
+ .on('start', start)
+ .on('startFromWay', startFromWay)
+ .on('startFromNode', startFromNode);
+
+
+ function start(loc) {
+ var startGraph = context.graph(),
+ node = osmNode({ loc: loc }),
+ way = osmWay();
+
+ context.perform(
+ actionAddEntity(node),
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id)
+ );
+
+ context.enter(modeDrawLine(context, way.id, startGraph));
+ }
+
+
+ function startFromWay(loc, edge) {
+ var startGraph = context.graph(),
+ node = osmNode({ loc: loc }),
+ way = osmWay();
+
+ context.perform(
+ actionAddEntity(node),
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id),
+ actionAddMidpoint({ loc: loc, edge: edge }, node)
+ );
+
+ context.enter(modeDrawLine(context, way.id, startGraph));
+ }
+
+
+ function startFromNode(node) {
+ var startGraph = context.graph(),
+ way = osmWay();
+
+ context.perform(
+ actionAddEntity(way),
+ actionAddVertex(way.id, node.id)
+ );
+
+ context.enter(modeDrawLine(context, way.id, startGraph));
+ }
+
+
+ mode.enter = function() {
+ context.install(behavior);
+ };
+
+
+ mode.exit = function() {
+ context.uninstall(behavior);
+ };
+
+ return mode;
+ }
+
+ function modeAddPoint$$1(context) {
+ var mode = {
+ id: 'add-point',
+ button: 'point',
+ title: t('modes.add_point.title'),
+ description: t('modes.add_point.description'),
+ key: '1'
+ };
+
+ var behavior = behaviorDraw(context)
+ .tail(t('modes.add_point.tail'))
+ .on('click', add)
+ .on('clickWay', addWay)
+ .on('clickNode', addNode)
+ .on('cancel', cancel)
+ .on('finish', cancel);
+
+
+ function add(loc) {
+ var node = osmNode({ loc: loc });
+
+ context.perform(
+ actionAddEntity(node),
+ t('operations.add.annotation.point')
+ );
+
+ context.enter(
+ modeSelect(context, [node.id]).newFeature(true)
+ );
+ }
+
+
+ function addWay(loc) {
+ add(loc);
+ }
+
+
+ function addNode(node) {
+ add(node.loc);
+ }
+
+
+ function cancel() {
+ context.enter(modeBrowse(context));
+ }
+
+
+ mode.enter = function() {
+ context.install(behavior);
+ };
+
+
+ mode.exit = function() {
+ context.uninstall(behavior);
+ };
+
+
+ return mode;
+ }
+
+ function modeDragNode$$1(context) {
+ var mode = {
+ id: 'drag-node',
+ button: 'browse'
+ };
+ var hover = behaviorHover(context).altDisables(true)
+ .on('hover', context.ui().sidebar.hover);
+ var edit = behaviorEdit(context);
+
+ var _nudgeInterval;
+ var _restoreSelectedIDs = [];
+ var _wasMidpoint = false;
+ var _isCancelled = false;
+ var _activeEntity;
+ var _startLoc;
+ var _lastLoc;
+
+
+ function startNudge(entity, nudge) {
+ if (_nudgeInterval) window.clearInterval(_nudgeInterval);
+ _nudgeInterval = window.setInterval(function() {
+ context.pan(nudge);
+ doMove(entity, nudge);
+ }, 50);
+ }
+
+
+ function stopNudge() {
+ if (_nudgeInterval) {
+ window.clearInterval(_nudgeInterval);
+ _nudgeInterval = null;
+ }
+ }
+
+
+ function moveAnnotation(entity) {
+ return t('operations.move.annotation.' + entity.geometry(context.graph()));
+ }
+
+
+ function connectAnnotation(entity) {
+ return t('operations.connect.annotation.' + entity.geometry(context.graph()));
+ }
+
+
+ function origin(entity) {
+ return context.projection(entity.loc);
+ }
+
+
+ function keydown() {
+ if (event.keyCode === d3keybinding.modifierCodes.alt) {
+ if (context.surface().classed('nope')) {
+ context.surface()
+ .classed('nope-suppressed', true);
+ }
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-disabled', true);
+ }
+ }
+
+
+ function keyup() {
+ if (event.keyCode === d3keybinding.modifierCodes.alt) {
+ if (context.surface().classed('nope-suppressed')) {
+ context.surface()
+ .classed('nope', true);
+ }
+ context.surface()
+ .classed('nope-suppressed', false)
+ .classed('nope-disabled', false);
+ }
+ }
+
+
+ function start(entity) {
+ _wasMidpoint = entity.type === 'midpoint';
+ var hasHidden = context.features().hasHiddenConnections(entity, context.graph());
+ _isCancelled = event.sourceEvent.shiftKey || hasHidden;
+
+
+ if (_isCancelled) {
+ if (hasHidden) {
+ uiFlash()
+ .duration(4000)
+ .text(t('modes.drag_node.connected_to_hidden'))();
+ }
+ return drag.cancel();
+ }
+
+ if (_wasMidpoint) {
+ var midpoint = entity;
+ entity = osmNode();
+ context.perform(actionAddMidpoint(midpoint, entity));
+ entity = context.entity(entity.id); // get post-action entity
+
+ var vertex = context.surface().selectAll('.' + entity.id);
+ drag.target(vertex.node(), entity);
+
+ } else {
+ context.perform(actionNoop());
+ }
+
+ _activeEntity = entity;
+ _startLoc = entity.loc;
+
+ context.surface().selectAll('.' + _activeEntity.id)
+ .classed('active', true);
+
+ context.enter(mode);
+ }
+
+
+ // related code
+ // - `behavior/draw.js` `datum()`
+ function datum() {
+ var event$$1 = event && event.sourceEvent;
+ if (!event$$1 || event$$1.altKey) {
+ return {};
+ } else {
+ // When dragging, snap only to touch targets..
+ // (this excludes area fills and active drawing elements)
+ var d = event$$1.target.__data__;
+ return (d && d.properties && d.properties.target) ? d : {};
+ }
+ }
+
+
+ function doMove(entity, nudge) {
+ nudge = nudge || [0, 0];
+
+ var currPoint = (event && event.point) || context.projection(_lastLoc);
+ var currMouse = geoVecSubtract(currPoint, nudge);
+ var loc = context.projection.invert(currMouse);
+
+ if (!_nudgeInterval) { // If not nudging at the edge of the viewport, try to snap..
+ // related code
+ // - `mode/drag_node.js` `doMode()`
+ // - `behavior/draw.js` `click()`
+ // - `behavior/draw_way.js` `move()`
+ var d = datum();
+ var target = d && d.properties && d.properties.entity;
+ var targetLoc = target && target.loc;
+ var targetNodes = d && d.properties && d.properties.nodes;
+ var edge;
+
+ if (targetLoc) { // snap to node/vertex - a point target with `.loc`
+ loc = targetLoc;
+
+ } else if (targetNodes) { // snap to way - a line target with `.nodes`
+ edge = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id);
+ if (edge) {
+ loc = edge.loc;
+ }
+ }
+ }
+
+ context.replace(
+ actionMoveNode(entity.id, loc),
+ moveAnnotation(entity)
+ );
+
+ // Below here: validations
+ var isInvalid = false;
+
+ // Check if this connection to `target` could cause relations to break..
+ if (target) {
+ isInvalid = hasRelationConflict(entity, target, edge, context.graph());
+ }
+
+ // Check if this drag causes the geometry to break..
+ if (!isInvalid) {
+ isInvalid = hasInvalidGeometry(entity, context.graph());
+ }
+
+
+ var nope = context.surface().classed('nope');
+ if (isInvalid === 'relation' || isInvalid === 'restriction') {
+ if (!nope) { // about to nope - show hint
+ uiFlash()
+ .duration(4000)
+ .text(t('operations.connect.' + isInvalid,
+ { relation: context.presets().item('type/restriction').name() }
+ ))();
+ }
+ } else {
+ if (nope) { // about to un-nope, remove hint
+ uiFlash()
+ .duration(1)
+ .text('')();
+ }
+ }
+
+
+ var nopeDisabled = context.surface().classed('nope-disabled');
+ if (nopeDisabled) {
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-suppressed', isInvalid);
+ } else {
+ context.surface()
+ .classed('nope', isInvalid)
+ .classed('nope-suppressed', false);
+ }
+
+ _lastLoc = loc;
+ }
+
+
+ // Uses `actionConnect.disabled()` to know whether this connection is ok..
+ function hasRelationConflict(entity, target, edge, graph) {
+ var testGraph = graph.update(); // copy
+
+ // if snapping to way - add midpoint there and consider that the target..
+ if (edge) {
+ var midpoint = osmNode();
+ var action = actionAddMidpoint({
+ loc: edge.loc,
+ edge: [target.nodes[edge.index - 1], target.nodes[edge.index]]
+ }, midpoint);
+
+ testGraph = action(testGraph);
+ target = midpoint;
+ }
+
+ // can we connect to it?
+ var ids = [entity.id, target.id];
+ return actionConnect(ids).disabled(testGraph);
+ }
+
+
+ function hasInvalidGeometry(entity, graph) {
+ var parents = graph.parentWays(entity);
+ var i, j, k;
+
+ for (i = 0; i < parents.length; i++) {
+ var parent = parents[i];
+ var nodes = [];
+ var activeIndex = null; // which multipolygon ring contains node being dragged
+
+ // test any parent multipolygons for valid geometry
+ var relations = graph.parentRelations(parent);
+ for (j = 0; j < relations.length; j++) {
+ if (!relations[j].isMultipolygon()) continue;
+
+ var rings = osmJoinWays(relations[j].members, graph);
+
+ // find active ring and test it for self intersections
+ for (k = 0; k < rings.length; k++) {
+ nodes = rings[k].nodes;
+ if (find$1(nodes, function(n) { return n.id === entity.id; })) {
+ activeIndex = k;
+ if (geoHasSelfIntersections(nodes, entity.id)) {
+ return true;
+ }
+ }
+ rings[k].coords = nodes.map(function(n) { return n.loc; });
+ }
+
+ // test active ring for intersections with other rings in the multipolygon
+ for (k = 0; k < rings.length; k++) {
+ if (k === activeIndex) continue;
+
+ // make sure active ring doesnt cross passive rings
+ if (geoHasLineIntersections(rings[activeIndex].nodes, rings[k].nodes, entity.id)) {
+ return true;
+ }
+ }
+ }
+
+
+ // If we still haven't tested this node's parent way for self-intersections.
+ // (because it's not a member of a multipolygon), test it now.
+ if (activeIndex === null) {
+ nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); });
+ if (nodes.length && geoHasSelfIntersections(nodes, entity.id)) {
+ return true;
+ }
+ }
+
+ }
+
+ return false;
+ }
+
+
+ function move(entity) {
+ if (_isCancelled) return;
+ event.sourceEvent.stopPropagation();
+
+ context.surface().classed('nope-disabled', event.sourceEvent.altKey);
+
+ _lastLoc = context.projection.invert(event.point);
+
+ doMove(entity);
+ var nudge = geoViewportEdge(event.point, context.map().dimensions());
+ if (nudge) {
+ startNudge(entity, nudge);
+ } else {
+ stopNudge();
+ }
+ }
+
+
+ function end(entity) {
+ if (_isCancelled) return;
+
+ var d = datum();
+ var nope = (d && d.properties && d.properties.nope) || context.surface().classed('nope');
+ var target = d && d.properties && d.properties.entity; // entity to snap to
+
+ if (nope) { // bounce back
+ context.perform(
+ _actionBounceBack(entity.id, _startLoc)
+ );
+
+ } else if (target && target.type === 'way') {
+ var choice = geoChooseEdge(context.childNodes(target), context.mouse(), context.projection, entity.id);
+ context.replace(
+ actionAddMidpoint({
+ loc: choice.loc,
+ edge: [target.nodes[choice.index - 1], target.nodes[choice.index]]
+ }, entity),
+ connectAnnotation(target)
+ );
+
+ } else if (target && target.type === 'node') {
+ context.replace(
+ actionConnect([target.id, entity.id]),
+ connectAnnotation(target)
+ );
+
+ } else if (_wasMidpoint) {
+ context.replace(
+ actionNoop(),
+ t('operations.add.annotation.vertex')
+ );
+
+ } else {
+ context.replace(
+ actionNoop(),
+ moveAnnotation(entity)
+ );
+ }
+
+ var reselection = _restoreSelectedIDs.filter(function(id) {
+ return context.graph().hasEntity(id);
+ });
+
+ if (reselection.length) {
+ context.enter(modeSelect(context, reselection));
+ } else {
+ context.enter(modeBrowse(context));
+ }
+ }
+
+
+ function _actionBounceBack(nodeID, toLoc) {
+ var moveNode = actionMoveNode(nodeID, toLoc);
+ var action = function(graph, t$$1) {
+ // last time through, pop off the bounceback perform.
+ // it will then overwrite the initial perform with a moveNode that does nothing
+ if (t$$1 === 1) context.pop();
+ return moveNode(graph, t$$1);
+ };
+ action.transitionable = true;
+ return action;
+ }
+
+
+ function cancel() {
+ drag.cancel();
+ context.enter(modeBrowse(context));
+ }
+
+
+ var drag = behaviorDrag()
+ .selector('.layer-points-targets .target')
+ .surface(select('#map').node())
+ .origin(origin)
+ .on('start', start)
+ .on('move', move)
+ .on('end', end);
+
+
+ mode.enter = function() {
+ context.install(hover);
+ context.install(edit);
+
+ select(window)
+ .on('keydown.drawWay', keydown)
+ .on('keyup.drawWay', keyup);
+
+ context.history()
+ .on('undone.drag-node', cancel);
+ };
+
+
+ mode.exit = function() {
+ context.ui().sidebar.hover.cancel();
+ context.uninstall(hover);
+ context.uninstall(edit);
+
+ select(window)
+ .on('keydown.hover', null)
+ .on('keyup.hover', null);
+
+ context.history()
+ .on('undone.drag-node', null);
+
+ context.map()
+ .on('drawn.drag-node', null);
+
+ _activeEntity = null;
+
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-suppressed', false)
+ .classed('nope-disabled', false)
+ .selectAll('.active')
+ .classed('active', false);
+
+ stopNudge();
+ };
+
+
+ mode.selectedIDs = function() {
+ if (!arguments.length) return _activeEntity ? [_activeEntity.id] : [];
+ // no assign
+ return mode;
+ };
+
+
+ mode.activeID = function() {
+ if (!arguments.length) return _activeEntity && _activeEntity.id;
+ // no assign
+ return mode;
+ };
+
+
+ mode.restoreSelectedIDs = function(_) {
+ if (!arguments.length) return _restoreSelectedIDs;
+ _restoreSelectedIDs = _;
+ return mode;
+ };
+
+
+ mode.behavior = drag;
+
+
+ return mode;
+ }
+
+ function modeBrowse(context) {
+ var mode = {
+ button: 'browse',
+ id: 'browse',
+ title: t('modes.browse.title'),
+ description: t('modes.browse.description')
+ }, sidebar;
+
+ var behaviors = [
+ behaviorPaste(context),
+ behaviorHover(context).on('hover', context.ui().sidebar.hover),
+ behaviorSelect(context),
+ behaviorLasso(context),
+ modeDragNode$$1(context).behavior
+ ];
+
+
+ mode.enter = function() {
+ behaviors.forEach(function(behavior) {
+ context.install(behavior);
+ });
+
+ // Get focus on the body.
+ if (document.activeElement && document.activeElement.blur) {
+ document.activeElement.blur();
+ }
+
+ if (sidebar) {
+ context.ui().sidebar.show(sidebar);
+ } else {
+ context.ui().sidebar.select(null);
+ }
+ };
+
+
+ mode.exit = function() {
+ context.ui().sidebar.hover.cancel();
+ behaviors.forEach(function(behavior) {
+ context.uninstall(behavior);
+ });
+
+ if (sidebar) {
+ context.ui().sidebar.hide();
+ }
+ };
+
+
+ mode.sidebar = function(_) {
+ if (!arguments.length) return sidebar;
+ sidebar = _;
+ return mode;
+ };
+
+
+ return mode;
+ }
+
+ function modeDrawArea(context, wayId, startGraph) {
+ var mode = {
+ button: 'area',
+ id: 'draw-area'
+ };
+
+ var behavior;
+
+
+ mode.enter = function() {
+ var way = context.entity(wayId);
+
+ behavior = behaviorDrawWay(context, wayId, undefined, mode, startGraph)
+ .tail(t('modes.draw_area.tail'));
+
+ var addNode = behavior.addNode;
+
+ behavior.addNode = function(node, d) {
+ var length = way.nodes.length;
+ var penultimate = length > 2 ? way.nodes[length - 2] : null;
+
+ if (node.id === way.first() || node.id === penultimate) {
+ behavior.finish();
+ } else {
+ addNode(node, d);
+ }
+ };
+
+ context.install(behavior);
+ };
+
+
+ mode.exit = function() {
+ context.uninstall(behavior);
+ };
+
+
+ mode.selectedIDs = function() {
+ return [wayId];
+ };
+
+
+ mode.activeID = function() {
+ return (behavior && behavior.activeID()) || [];
+ };
+
+
+ return mode;
+ }
+
+ function modeDrawLine(context, wayId, startGraph, affix) {
+ var mode = {
+ button: 'line',
+ id: 'draw-line'
+ };
+
+ var behavior;
+
+
+ mode.enter = function() {
+ var way = context.entity(wayId);
+ var index = (affix === 'prefix') ? 0 : undefined;
+ var headId = (affix === 'prefix') ? way.first() : way.last();
+
+ behavior = behaviorDrawWay(context, wayId, index, mode, startGraph)
+ .tail(t('modes.draw_line.tail'));
+
+ var addNode = behavior.addNode;
+ behavior.addNode = function(node, d) {
+ if (node.id === headId) {
+ behavior.finish();
+ } else {
+ addNode(node, d);
+ }
+ };
+
+ context.install(behavior);
+ };
+
+
+ mode.exit = function() {
+ context.uninstall(behavior);
+ };
+
+
+ mode.selectedIDs = function() {
+ return [wayId];
+ };
+
+
+ mode.activeID = function() {
+ return (behavior && behavior.activeID()) || [];
+ };
+
+ return mode;
+ }
+
+ function operationCircularize(selectedIDs, context) {
+ var entityId = selectedIDs[0],
+ entity = context.entity(entityId),
+ extent = entity.extent(context.graph()),
+ geometry = context.geometry(entityId),
+ action = actionCircularize(entityId, context.projection);
+
+
+ var operation = function() {
+ context.perform(action, operation.annotation());
+ };
+
+
+ operation.available = function() {
+ return selectedIDs.length === 1 &&
+ entity.type === 'way' &&
+ uniq(entity.nodes).length > 1;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (context.hasHiddenConnections(entityId)) {
+ reason = 'connected_to_hidden';
+ }
+ return action.disabled(context.graph()) || reason;
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.circularize.' + disable) :
+ t('operations.circularize.description.' + geometry);
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.circularize.annotation.' + geometry);
+ };
+
+
+ operation.id = 'circularize';
+ operation.keys = [t('operations.circularize.key')];
+ operation.title = t('operations.circularize.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationContinue(selectedIDs, context) {
+ var graph = context.graph(),
+ entities = selectedIDs.map(function(id) { return graph.entity(id); }),
+ geometries = assignIn({ line: [], vertex: [] },
+ groupBy(entities, function(entity) { return entity.geometry(graph); })),
+ vertex = geometries.vertex[0];
+
+
+ function candidateWays() {
+ return graph.parentWays(vertex).filter(function(parent) {
+ return parent.geometry(graph) === 'line' &&
+ !parent.isClosed() &&
+ parent.affix(vertex.id) &&
+ (geometries.line.length === 0 || geometries.line[0] === parent);
+ });
+ }
+
+
+ var operation = function() {
+ var candidate = candidateWays()[0];
+ context.enter(
+ modeDrawLine(context, candidate.id, context.graph(), candidate.affix(vertex.id))
+ );
+ };
+
+
+ operation.available = function() {
+ return geometries.vertex.length === 1 && geometries.line.length <= 1 &&
+ !context.features().hasHiddenConnections(vertex, context.graph());
+ };
+
+
+ operation.disabled = function() {
+ var candidates = candidateWays();
+ if (candidates.length === 0)
+ return 'not_eligible';
+ if (candidates.length > 1)
+ return 'multiple';
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.continue.' + disable) :
+ t('operations.continue.description');
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.continue.annotation.line');
+ };
+
+
+ operation.id = 'continue';
+ operation.keys = [t('operations.continue.key')];
+ operation.title = t('operations.continue.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationDelete(selectedIDs, context) {
+ var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'),
+ action = actionDeleteMultiple(selectedIDs),
+ extent = selectedIDs.reduce(function(extent, id) {
+ return extent.extend(context.entity(id).extent(context.graph()));
+ }, geoExtent$$1());
+
+
+ var operation = function() {
+ var nextSelectedID;
+ var nextSelectedLoc;
+
+ if (selectedIDs.length === 1) {
+ var id = selectedIDs[0],
+ entity = context.entity(id),
+ geometry = context.geometry(id),
+ parents = context.graph().parentWays(entity),
+ parent = parents[0];
+
+ // Select the next closest node in the way.
+ if (geometry === 'vertex') {
+ var nodes = parent.nodes,
+ i = nodes.indexOf(id);
+
+ if (i === 0) {
+ i++;
+ } else if (i === nodes.length - 1) {
+ i--;
+ } else {
+ var a = geoSphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc),
+ b = geoSphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc);
+ i = a < b ? i - 1 : i + 1;
+ }
+
+ nextSelectedID = nodes[i];
+ nextSelectedLoc = context.entity(nextSelectedID).loc;
+ }
+ }
+
+ context.perform(action, operation.annotation());
+
+ if (nextSelectedID && nextSelectedLoc) {
+ if (context.hasEntity(nextSelectedID)) {
+ context.enter(modeSelect(context, [nextSelectedID]).follow(true));
+ } else {
+ context.map().centerEase(nextSelectedLoc);
+ context.enter(modeBrowse(context));
+ }
+ } else {
+ context.enter(modeBrowse(context));
+ }
+
+ };
+
+
+ operation.available = function() {
+ return true;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ } else if (some(selectedIDs, protectedMember)) {
+ reason = 'part_of_relation';
+ } else if (some(selectedIDs, incompleteRelation)) {
+ reason = 'incomplete_relation';
+ }
+ return reason;
+
+ function incompleteRelation(id) {
+ var entity = context.entity(id);
+ return entity.type === 'relation' && !entity.isComplete(context.graph());
+ }
+
+ function protectedMember(id) {
+ var entity = context.entity(id);
+ if (entity.type !== 'way') return false;
+
+ var parents = context.graph().parentRelations(entity);
+ for (var i = 0; i < parents.length; i++) {
+ var parent = parents[i],
+ type = parent.tags.type,
+ role = parent.memberById(id).role || 'outer';
+ if (type === 'route' || type === 'boundary' || (type === 'multipolygon' && role === 'outer')) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.delete.' + disable + '.' + multi) :
+ t('operations.delete.description' + '.' + multi);
+ };
+
+
+ operation.annotation = function() {
+ return selectedIDs.length === 1 ?
+ t('operations.delete.annotation.' + context.geometry(selectedIDs[0])) :
+ t('operations.delete.annotation.multiple', { n: selectedIDs.length });
+ };
+
+
+ operation.id = 'delete';
+ operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')];
+ operation.title = t('operations.delete.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationDisconnect(selectedIDs, context) {
+ var vertices = filter(selectedIDs, function(entityId) {
+ return context.geometry(entityId) === 'vertex';
+ });
+
+ var entityId = vertices[0],
+ action = actionDisconnect(entityId);
+
+ if (selectedIDs.length > 1) {
+ action.limitWays(without(selectedIDs, entityId));
+ }
+
+
+ var operation = function() {
+ context.perform(action, operation.annotation());
+ };
+
+
+ operation.available = function() {
+ return vertices.length === 1;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ }
+ return action.disabled(context.graph()) || reason;
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.disconnect.' + disable) :
+ t('operations.disconnect.description');
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.disconnect.annotation');
+ };
+
+
+ operation.id = 'disconnect';
+ operation.keys = [t('operations.disconnect.key')];
+ operation.title = t('operations.disconnect.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationMerge(selectedIDs, context) {
+
+ function updatePresetTags(newGraph, ids) {
+ var id = ids[0],
+ newEntity = newGraph.hasEntity(id);
+
+ if (!newEntity) return;
+
+ var newPreset = context.presets().match(newEntity, newGraph);
+
+ context.replace(actionChangePreset(id, null, newPreset), operation.annotation());
+ }
+
+
+ var join = actionJoin(selectedIDs),
+ merge = actionMerge(selectedIDs),
+ mergePolygon = actionMergePolygon(selectedIDs);
+
+
+ var operation = function() {
+ var origGraph = context.graph(),
+ action;
+
+ if (!join.disabled(origGraph)) {
+ action = join;
+ } else if (!merge.disabled(origGraph)) {
+ action = merge;
+ } else {
+ action = mergePolygon;
+ }
+
+ context.perform(action, operation.annotation());
+
+ var ids = selectedIDs.filter(function(id) {
+ var entity = context.hasEntity(id);
+ return entity && entity.type !== 'node';
+ });
+
+ // if we merged tags, rematch preset to update tags if necessary (#3851)
+ if (action === merge) {
+ updatePresetTags(context.graph(), ids);
+ }
+
+ context.enter(modeSelect(context, ids));
+ };
+
+
+ operation.available = function() {
+ return selectedIDs.length >= 2;
+ };
+
+
+ operation.disabled = function() {
+ return join.disabled(context.graph()) &&
+ merge.disabled(context.graph()) &&
+ mergePolygon.disabled(context.graph());
+ };
+
+
+ operation.tooltip = function() {
+ var j = join.disabled(context.graph()),
+ m = merge.disabled(context.graph()),
+ p = mergePolygon.disabled(context.graph());
+
+ if (j === 'restriction' && m && p) {
+ return t('operations.merge.restriction',
+ { relation: context.presets().item('type/restriction').name() });
+ }
+
+ if (p === 'incomplete_relation' && j && m) {
+ return t('operations.merge.incomplete_relation');
+ }
+
+ if (j && m && p) {
+ return t('operations.merge.' + j);
+ }
+
+ return t('operations.merge.description');
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.merge.annotation', { n: selectedIDs.length });
+ };
+
+
+ operation.id = 'merge';
+ operation.keys = [t('operations.merge.key')];
+ operation.title = t('operations.merge.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationMove(selectedIDs, context) {
+ var multi = (selectedIDs.length === 1 ? 'single' : 'multiple');
+ var extent = selectedIDs.reduce(function(extent, id) {
+ return extent.extend(context.entity(id).extent(context.graph()));
+ }, geoExtent$$1());
+
+
+ var operation = function() {
+ context.enter(modeMove$$1(context, selectedIDs));
+ };
+
+
+ operation.available = function() {
+ return selectedIDs.length > 1 ||
+ context.entity(selectedIDs[0]).type !== 'node';
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ } else if (some(selectedIDs, incompleteRelation)) {
+ reason = 'incomplete_relation';
+ }
+ return reason;
+
+ function incompleteRelation(id) {
+ var entity = context.entity(id);
+ return entity.type === 'relation' && !entity.isComplete(context.graph());
+ }
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.move.' + disable + '.' + multi) :
+ t('operations.move.description.' + multi);
+ };
+
+
+ operation.annotation = function() {
+ return selectedIDs.length === 1 ?
+ t('operations.move.annotation.' + context.geometry(selectedIDs[0])) :
+ t('operations.move.annotation.multiple');
+ };
+
+
+ operation.id = 'move';
+ operation.keys = [t('operations.move.key')];
+ operation.title = t('operations.move.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationOrthogonalize(selectedIDs, context) {
+ var entityId = selectedIDs[0],
+ entity = context.entity(entityId),
+ extent = entity.extent(context.graph()),
+ geometry = context.geometry(entityId),
+ action = actionOrthogonalize(entityId, context.projection);
+
+
+ var operation = function() {
+ context.perform(action, operation.annotation());
+ };
+
+
+ operation.available = function() {
+ return selectedIDs.length === 1 &&
+ entity.type === 'way' &&
+ entity.isClosed() &&
+ uniq(entity.nodes).length > 2;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (context.hasHiddenConnections(entityId)) {
+ reason = 'connected_to_hidden';
+ }
+ return action.disabled(context.graph()) || reason;
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.orthogonalize.' + disable) :
+ t('operations.orthogonalize.description.' + geometry);
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.orthogonalize.annotation.' + geometry);
+ };
+
+
+ operation.id = 'orthogonalize';
+ operation.keys = [t('operations.orthogonalize.key')];
+ operation.title = t('operations.orthogonalize.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ /**
+ * This method is like `_.uniq` except that it accepts `iteratee` which is
+ * invoked for each element in `array` to generate the criterion by which
+ * uniqueness is computed. The order of result values is determined by the
+ * order they occur in the array. The iteratee is invoked with one argument:
+ * (value).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
+ * @returns {Array} Returns the new duplicate free array.
+ * @example
+ *
+ * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
+ * // => [2.1, 1.2]
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */
+ function uniqBy(array, iteratee) {
+ return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];
+ }
+
+ function operationReflectShort(selectedIDs, context) {
+ return operationReflect(selectedIDs, context, 'short');
+ }
+
+
+ function operationReflectLong(selectedIDs, context) {
+ return operationReflect(selectedIDs, context, 'long');
+ }
+
+
+ function operationReflect(selectedIDs, context, axis) {
+ axis = axis || 'long';
+ var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'),
+ extent = selectedIDs.reduce(function(extent, id) {
+ return extent.extend(context.entity(id).extent(context.graph()));
+ }, geoExtent$$1());
+
+
+ var operation = function() {
+ var action = actionReflect(selectedIDs, context.projection)
+ .useLongAxis(Boolean(axis === 'long'));
+ context.perform(action, operation.annotation());
+ };
+
+
+ operation.available = function() {
+ var nodes = utilGetAllNodes(selectedIDs, context.graph());
+ return uniqBy(nodes, function(n) { return n.loc; }).length >= 3;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ } else if (some(selectedIDs, incompleteRelation)) {
+ reason = 'incomplete_relation';
+ }
+ return reason;
+
+ function incompleteRelation(id) {
+ var entity = context.entity(id);
+ return entity.type === 'relation' && !entity.isComplete(context.graph());
+ }
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.reflect.' + disable + '.' + multi) :
+ t('operations.reflect.description.' + axis + '.' + multi);
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.reflect.annotation.' + axis + '.' + multi);
+ };
+
+
+ operation.id = 'reflect-' + axis;
+ operation.keys = [t('operations.reflect.key.' + axis)];
+ operation.title = t('operations.reflect.title.' + axis);
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationReverse(selectedIDs, context) {
+ var entityId = selectedIDs[0];
+
+ var operation = function() {
+ context.perform(actionReverse(entityId), operation.annotation());
+ };
+
+
+ operation.available = function() {
+ return selectedIDs.length === 1 && context.geometry(entityId) === 'line';
+ };
+
+
+ operation.disabled = function() {
+ return false;
+ };
+
+
+ operation.tooltip = function() {
+ return t('operations.reverse.description');
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.reverse.annotation');
+ };
+
+
+ operation.id = 'reverse';
+ operation.keys = [t('operations.reverse.key')];
+ operation.title = t('operations.reverse.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationRotate(selectedIDs, context) {
+ var multi = (selectedIDs.length === 1 ? 'single' : 'multiple'),
+ extent = selectedIDs.reduce(function(extent, id) {
+ return extent.extend(context.entity(id).extent(context.graph()));
+ }, geoExtent$$1());
+
+
+ var operation = function() {
+ context.enter(modeRotate$$1(context, selectedIDs));
+ };
+
+
+ operation.available = function() {
+ var nodes = utilGetAllNodes(selectedIDs, context.graph());
+ return uniqBy(nodes, function(n) { return n.loc; }).length >= 2;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+ reason = 'too_large';
+ } else if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ } else if (some(selectedIDs, incompleteRelation)) {
+ reason = 'incomplete_relation';
+ }
+ return reason;
+
+ function incompleteRelation(id) {
+ var entity = context.entity(id);
+ return entity.type === 'relation' && !entity.isComplete(context.graph());
+ }
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.rotate.' + disable + '.' + multi) :
+ t('operations.rotate.description.' + multi);
+ };
+
+
+ operation.annotation = function() {
+ return selectedIDs.length === 1 ?
+ t('operations.rotate.annotation.' + context.geometry(selectedIDs[0])) :
+ t('operations.rotate.annotation.multiple');
+ };
+
+
+ operation.id = 'rotate';
+ operation.keys = [t('operations.rotate.key')];
+ operation.title = t('operations.rotate.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationSplit(selectedIDs, context) {
+ var vertices = filter(selectedIDs, function(entityId) {
+ return context.geometry(entityId) === 'vertex';
+ });
+
+ var entityId = vertices[0],
+ action = actionSplit(entityId),
+ ways = [];
+
+ if (vertices.length === 1) {
+ if (selectedIDs.length > 1) {
+ action.limitWays(without(selectedIDs, entityId));
+ }
+ ways = action.ways(context.graph());
+ }
+
+
+ var operation = function() {
+ var difference = context.perform(action, operation.annotation());
+ context.enter(modeSelect(context, difference.extantIDs()));
+ };
+
+
+ operation.available = function() {
+ return vertices.length === 1;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (some(selectedIDs, context.hasHiddenConnections)) {
+ reason = 'connected_to_hidden';
+ }
+ return action.disabled(context.graph()) || reason;
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ if (disable) {
+ return t('operations.split.' + disable);
+ }
+ if (ways.length === 1) {
+ return t('operations.split.description.' + context.geometry(ways[0].id));
+ } else {
+ return t('operations.split.description.multiple');
+ }
+ };
+
+
+ operation.annotation = function() {
+ return ways.length === 1 ?
+ t('operations.split.annotation.' + context.geometry(ways[0].id)) :
+ t('operations.split.annotation.multiple', { n: ways.length });
+ };
+
+
+ operation.id = 'split';
+ operation.keys = [t('operations.split.key')];
+ operation.title = t('operations.split.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+ function operationStraighten(selectedIDs, context) {
+ var entityId = selectedIDs[0],
+ action = actionStraighten(entityId, context.projection);
+
+
+ function operation() {
+ context.perform(action, operation.annotation());
+ }
+
+
+ operation.available = function() {
+ var entity = context.entity(entityId);
+ return selectedIDs.length === 1 &&
+ entity.type === 'way' &&
+ !entity.isClosed() &&
+ uniq(entity.nodes).length > 2;
+ };
+
+
+ operation.disabled = function() {
+ var reason;
+ if (context.hasHiddenConnections(entityId)) {
+ reason = 'connected_to_hidden';
+ }
+ return action.disabled(context.graph()) || reason;
+ };
+
+
+ operation.tooltip = function() {
+ var disable = operation.disabled();
+ return disable ?
+ t('operations.straighten.' + disable) :
+ t('operations.straighten.description');
+ };
+
+
+ operation.annotation = function() {
+ return t('operations.straighten.annotation');
+ };
+
+
+ operation.id = 'straighten';
+ operation.keys = [t('operations.straighten.key')];
+ operation.title = t('operations.straighten.title');
+ operation.behavior = behaviorOperation(context).which(operation);
+
+ return operation;
+ }
+
+
+
+ var Operations = /*#__PURE__*/Object.freeze({
+ operationCircularize: operationCircularize,
+ operationContinue: operationContinue,
+ operationDelete: operationDelete,
+ operationDisconnect: operationDisconnect,
+ operationMerge: operationMerge,
+ operationMove: operationMove,
+ operationOrthogonalize: operationOrthogonalize,
+ operationReflectShort: operationReflectShort,
+ operationReflectLong: operationReflectLong,
+ operationReverse: operationReverse,
+ operationRotate: operationRotate,
+ operationSplit: operationSplit,
+ operationStraighten: operationStraighten
+ });
+
+ function modeMove$$1(context, entityIDs, baseGraph) {
+ var mode = {
+ id: 'move',
+ button: 'browse'
+ };
+
+ var keybinding = d3keybinding('move');
+ var behaviors = [
+ behaviorEdit(context),
+ operationCircularize(entityIDs, context).behavior,
+ operationDelete(entityIDs, context).behavior,
+ operationOrthogonalize(entityIDs, context).behavior,
+ operationReflectLong(entityIDs, context).behavior,
+ operationReflectShort(entityIDs, context).behavior,
+ operationRotate(entityIDs, context).behavior
+ ];
+ var annotation = entityIDs.length === 1 ?
+ t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
+ t('operations.move.annotation.multiple');
+
+ var _prevGraph;
+ var _cache;
+ var _origin;
+ var _nudgeInterval;
+
+
+ function doMove(nudge) {
+ nudge = nudge || [0, 0];
+
+ var fn;
+ if (_prevGraph !== context.graph()) {
+ _cache = {};
+ _origin = context.map().mouseCoordinates();
+ fn = context.perform;
+ } else {
+ fn = context.overwrite;
+ }
+
+ var currMouse = context.mouse();
+ var origMouse = context.projection(_origin);
+ var delta = geoVecSubtract(geoVecSubtract(currMouse, origMouse), nudge);
+
+ fn(actionMove(entityIDs, delta, context.projection, _cache), annotation);
+ _prevGraph = context.graph();
+ }
+
+
+ function startNudge(nudge) {
+ if (_nudgeInterval) window.clearInterval(_nudgeInterval);
+ _nudgeInterval = window.setInterval(function() {
+ context.pan(nudge);
+ doMove(nudge);
+ }, 50);
+ }
+
+
+ function stopNudge() {
+ if (_nudgeInterval) {
+ window.clearInterval(_nudgeInterval);
+ _nudgeInterval = null;
+ }
+ }
+
+
+ function move() {
+ doMove();
+ var nudge = geoViewportEdge(context.mouse(), context.map().dimensions());
+ if (nudge) {
+ startNudge(nudge);
+ } else {
+ stopNudge();
+ }
+ }
+
+
+ function finish() {
+ event.stopPropagation();
+ context.enter(modeSelect(context, entityIDs));
+ stopNudge();
+ }
+
+
+ function cancel() {
+ if (baseGraph) {
+ while (context.graph() !== baseGraph) context.pop();
+ context.enter(modeBrowse(context));
+ } else {
+ context.pop();
+ context.enter(modeSelect(context, entityIDs));
+ }
+ stopNudge();
+ }
+
+
+ function undone() {
+ context.enter(modeBrowse(context));
+ }
+
+
+ mode.enter = function() {
+ _origin = context.map().mouseCoordinates();
+ _prevGraph = null;
+ _cache = {};
+
+ behaviors.forEach(function(behavior) {
+ context.install(behavior);
+ });
+
+ context.surface()
+ .on('mousemove.move', move)
+ .on('click.move', finish);
+
+ context.history()
+ .on('undone.move', undone);
+
+ keybinding
+ .on('⎋', cancel)
+ .on('↩', finish);
+
+ select(document)
+ .call(keybinding);
+ };
+
+
+ mode.exit = function() {
+ stopNudge();
+
+ behaviors.forEach(function(behavior) {
+ context.uninstall(behavior);
+ });
+
+ context.surface()
+ .on('mousemove.move', null)
+ .on('click.move', null);
+
+ context.history()
+ .on('undone.move', null);
+
+ keybinding.off();
+ };
+
+
+ mode.selectedIDs = function() {
+ if (!arguments.length) return entityIDs;
+ // no assign
+ return mode;
+ };
+
+
+ return mode;
+ }
+
+ function modeRotate$$1(context, entityIDs) {
+ var mode = {
+ id: 'rotate',
+ button: 'browse'
+ };
+
+ var keybinding = d3keybinding('rotate');
+ var behaviors = [
+ behaviorEdit(context),
+ operationCircularize(entityIDs, context).behavior,
+ operationDelete(entityIDs, context).behavior,
+ operationMove(entityIDs, context).behavior,
+ operationOrthogonalize(entityIDs, context).behavior,
+ operationReflectLong(entityIDs, context).behavior,
+ operationReflectShort(entityIDs, context).behavior
+ ];
+ var annotation = entityIDs.length === 1 ?
+ t('operations.rotate.annotation.' + context.geometry(entityIDs[0])) :
+ t('operations.rotate.annotation.multiple');
+
+ var _prevGraph;
+ var _prevAngle;
+ var _prevTransform;
+ var _pivot;
+
+
+ function doRotate() {
+ var fn;
+ if (context.graph() !== _prevGraph) {
+ fn = context.perform;
+ } else {
+ fn = context.replace;
+ }
+
+ // projection changed, recalculate _pivot
+ var projection = context.projection;
+ var currTransform = projection.transform();
+ if (!_prevTransform ||
+ currTransform.k !== _prevTransform.k ||
+ currTransform.x !== _prevTransform.x ||
+ currTransform.y !== _prevTransform.y) {
+
+ var nodes = utilGetAllNodes(entityIDs, context.graph());
+ var points = nodes.map(function(n) { return projection(n.loc); });
+
+ if (points.length === 1) { // degenerate case
+ _pivot = points[0];
+ } else if (points.length === 2) {
+ _pivot = geoVecInterp(points[0], points[1], 0.5);
+ } else {
+ _pivot = d3_polygonCentroid(d3_polygonHull(points));
+ }
+ _prevAngle = undefined;
+ }
+
+
+ var currMouse = context.mouse();
+ var currAngle = Math.atan2(currMouse[1] - _pivot[1], currMouse[0] - _pivot[0]);
+
+ if (typeof _prevAngle === 'undefined') _prevAngle = currAngle;
+ var delta = currAngle - _prevAngle;
+
+ fn(actionRotate(entityIDs, _pivot, delta, projection), annotation);
+
+ _prevTransform = currTransform;
+ _prevAngle = currAngle;
+ _prevGraph = context.graph();
+ }
+
+
+ function finish() {
+ event.stopPropagation();
+ context.enter(modeSelect(context, entityIDs));
+ }
+
+
+ function cancel() {
+ context.pop();
+ context.enter(modeSelect(context, entityIDs));
+ }
+
+
+ function undone() {
+ context.enter(modeBrowse(context));
+ }
+
+
+ mode.enter = function() {
+ behaviors.forEach(function(behavior) {
+ context.install(behavior);
+ });
+
+ context.surface()
+ .on('mousemove.rotate', doRotate)
+ .on('click.rotate', finish);
+
+ context.history()
+ .on('undone.rotate', undone);
+
+ keybinding
+ .on('⎋', cancel)
+ .on('↩', finish);
+
+ select(document)
+ .call(keybinding);
+ };
+
+
+ mode.exit = function() {
+ behaviors.forEach(function(behavior) {
+ context.uninstall(behavior);
+ });
+
+ context.surface()
+ .on('mousemove.rotate', null)
+ .on('click.rotate', null);
+
+ context.history()
+ .on('undone.rotate', null);
+
+ keybinding.off();
+ };
+
+
+ mode.selectedIDs = function() {
+ if (!arguments.length) return entityIDs;
+ // no assign
+ return mode;
+ };
+
+
+ return mode;
+ }
+
+ /**
+ * A specialized version of `_.reduce` for arrays without support for
+ * iteratee shorthands.
+ *
+ * @private
+ * @param {Array} [array] The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @param {boolean} [initAccum] Specify using the first element of `array` as
+ * the initial value.
+ * @returns {*} Returns the accumulated value.
+ */
+ function arrayReduce(array, iteratee, accumulator, initAccum) {
+ var index = -1,
+ length = array == null ? 0 : array.length;
+
+ if (initAccum && length) {
+ accumulator = array[++index];
+ }
+ while (++index < length) {
+ accumulator = iteratee(accumulator, array[index], index, array);
+ }
+ return accumulator;
+ }
+
+ /**
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
+ *
+ * @private
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {*} accumulator The initial value.
+ * @param {boolean} initAccum Specify using the first or last element of
+ * `collection` as the initial value.
+ * @param {Function} eachFunc The function to iterate over `collection`.
+ * @returns {*} Returns the accumulated value.
+ */
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
+ eachFunc(collection, function(value, index, collection) {
+ accumulator = initAccum
+ ? (initAccum = false, value)
+ : iteratee(accumulator, value, index, collection);
+ });
+ return accumulator;
+ }
+
+ /**
+ * Reduces `collection` to a value which is the accumulated result of running
+ * each element in `collection` thru `iteratee`, where each successive
+ * invocation is supplied the return value of the previous. If `accumulator`
+ * is not given, the first element of `collection` is used as the initial
+ * value. The iteratee is invoked with four arguments:
+ * (accumulator, value, index|key, collection).
+ *
+ * Many lodash methods are guarded to work as iteratees for methods like
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
+ *
+ * The guarded methods are:
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
+ * and `sortBy`
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Collection
+ * @param {Array|Object} collection The collection to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @param {*} [accumulator] The initial value.
+ * @returns {*} Returns the accumulated value.
+ * @see _.reduceRight
+ * @example
+ *
+ * _.reduce([1, 2], function(sum, n) {
+ * return sum + n;
+ * }, 0);
+ * // => 3
+ *
+ * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
+ * (result[value] || (result[value] = [])).push(key);
+ * return result;
+ * }, {});
+ * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
+ */
+ function reduce(collection, iteratee, accumulator) {
+ var func = isArray(collection) ? arrayReduce : baseReduce,
+ initAccum = arguments.length < 3;
+
+ return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);
+ }
+
+ function d3geoTile() {
+ var size = [960, 500],
+ scale = 256,
+ scaleExtent = [0, 20],
+ translate = [size[0] / 2, size[1] / 2],
+ zoomDelta = 0;
+
+ function bound(_) {
+ return Math.min(scaleExtent[1], Math.max(scaleExtent[0], _));
+ }
+
+ function tile() {
+ var z = Math.max(Math.log(scale) / Math.LN2 - 8, 0),
+ z0 = bound(Math.round(z + zoomDelta)),
+ k = Math.pow(2, z - z0 + 8),
+ origin = [(translate[0] - scale / 2) / k, (translate[1] - scale / 2) / k],
+ tiles = [],
+ cols = range(Math.max(0, Math.floor(-origin[0])), Math.max(0, Math.ceil(size[0] / k - origin[0]))),
+ rows = range(Math.max(0, Math.floor(-origin[1])), Math.max(0, Math.ceil(size[1] / k - origin[1])));
+
+ rows.forEach(function(y) {
+ cols.forEach(function(x) {
+ tiles.push([x, y, z0]);
+ });
+ });
+
+ tiles.translate = origin;
+ tiles.scale = k;
+
+ return tiles;
+ }
+
+ tile.scaleExtent = function(_) {
+ if (!arguments.length) return scaleExtent;
+ scaleExtent = _;
+ return tile;
+ };
+
+ tile.size = function(_) {
+ if (!arguments.length) return size;
+ size = _;
+ return tile;
+ };
+
+ tile.scale = function(_) {
+ if (!arguments.length) return scale;
+ scale = _;
+ return tile;
+ };
+
+ tile.translate = function(_) {
+ if (!arguments.length) return translate;
+ translate = _;
+ return tile;
+ };
+
+ tile.zoomDelta = function(_) {
+ if (!arguments.length) return zoomDelta;
+ zoomDelta = +_;
+ return tile;
+ };
+
+ return tile;
+ }
+
+ /* global Mapillary:false */
+
+
+ var apibase = 'https://a.mapillary.com/v3/',
+ viewercss = 'mapillary-js/mapillary.min.css',
+ viewerjs = 'mapillary-js/mapillary.min.js',
+ clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi',
+ maxResults = 1000,
+ tileZoom = 14,
+ dispatch$1 = dispatch('loadedImages', 'loadedSigns'),
+ _mlyFallback = false,
+ _mlyCache,
+ _mlyClicks,
+ _mlySelectedImage,
+ _mlySignDefs,
+ _mlySignSprite,
+ _mlyViewer;
+
+
+ function abortRequest(i) {
+ i.abort();
+ }
+
+
+ function nearNullIsland(x, y, z) {
+ if (z >= 7) {
+ var center = Math.pow(2, z - 1),
+ width = Math.pow(2, z - 6),
+ min$$1 = center - (width / 2),
+ max$$1 = center + (width / 2) - 1;
+ return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1;
+ }
+ return false;
+ }
+
+
+ function maxPageAtZoom(z) {
+ if (z < 15) return 2;
+ if (z === 15) return 5;
+ if (z === 16) return 10;
+ if (z === 17) return 20;
+ if (z === 18) return 40;
+ if (z > 18) return 80;
+ }
+
+
+ function localeTimestamp(s) {
+ if (!s) return null;
+ var detected = utilDetect();
+ var options = {
+ day: 'numeric', month: 'short', year: 'numeric',
+ hour: 'numeric', minute: 'numeric', second: 'numeric',
+ timeZone: 'UTC'
+ };
+ var d = new Date(s);
+ if (isNaN(d.getTime())) return null;
+ return d.toLocaleString(detected.locale, options);
+ }
+
+
+ function getTiles(projection) {
+ var s = projection.scale() * 2 * Math.PI,
+ z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
+ ts = 256 * Math.pow(2, z - tileZoom),
+ origin = [
+ s / 2 - projection.translate()[0],
+ s / 2 - projection.translate()[1]];
+
+ return d3geoTile()
+ .scaleExtent([tileZoom, tileZoom])
+ .scale(s)
+ .size(projection.clipExtent()[1])
+ .translate(projection.translate())()
+ .map(function(tile) {
+ var x = tile[0] * ts - origin[0],
+ y = tile[1] * ts - origin[1];
+
+ return {
+ id: tile.toString(),
+ xyz: tile,
+ extent: geoExtent$$1(
+ projection.invert([x, y + ts]),
+ projection.invert([x + ts, y])
+ )
+ };
+ });
+ }
+
+
+ function loadTiles(which, url, projection) {
+ var s = projection.scale() * 2 * Math.PI,
+ currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0));
+
+ var tiles = getTiles(projection).filter(function(t) {
+ return !nearNullIsland(t.xyz[0], t.xyz[1], t.xyz[2]);
+ });
+
+ filter(which.inflight, function(v, k) {
+ var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); });
+ if (!wanted) delete which.inflight[k];
+ return !wanted;
+ }).map(abortRequest);
+
+ tiles.forEach(function(tile) {
+ loadNextTilePage(which, currZoom, url, tile);
+ });
+ }
+
+
+ function loadNextTilePage(which, currZoom, url, tile) {
+ var cache = _mlyCache[which],
+ rect = tile.extent.rectangle(),
+ maxPages = maxPageAtZoom(currZoom),
+ nextPage = cache.nextPage[tile.id] || 0,
+ nextURL = cache.nextURL[tile.id] || url +
+ utilQsString({
+ per_page: maxResults,
+ page: nextPage,
+ client_id: clientId,
+ bbox: [rect[0], rect[1], rect[2], rect[3]].join(','),
+ });
+
+ if (nextPage > maxPages) return;
+
+ var id = tile.id + ',' + String(nextPage);
+ if (cache.loaded[id] || cache.inflight[id]) return;
+ cache.inflight[id] = request(nextURL)
+ .mimeType('application/json')
+ .response(function(xhr) {
+ var linkHeader = xhr.getResponseHeader('Link');
+ if (linkHeader) {
+ var pagination = parsePagination(xhr.getResponseHeader('Link'));
+ if (pagination.next) {
+ cache.nextURL[tile.id] = pagination.next;
+ }
+ }
+ return JSON.parse(xhr.responseText);
+ })
+ .get(function(err, data) {
+ cache.loaded[id] = true;
+ delete cache.inflight[id];
+ if (err || !data.features || !data.features.length) return;
+
+ var features = data.features.map(function(feature) {
+ var loc = feature.geometry.coordinates,
+ d;
+
+ if (which === 'images') {
+ d = {
+ loc: loc,
+ key: feature.properties.key,
+ ca: feature.properties.ca,
+ captured_at: feature.properties.captured_at,
+ captured_by: feature.properties.username,
+ pano: feature.properties.pano
+ };
+ cache.forImageKey[d.key] = d; // cache imageKey -> image
+
+ } else if (which === 'sequences') {
+ var sequenceKey = feature.properties.key;
+ cache.lineString[sequenceKey] = feature; // cache sequenceKey -> lineString
+ feature.properties.coordinateProperties.image_keys.forEach(function(imageKey) {
+ cache.forImageKey[imageKey] = sequenceKey; // cache imageKey -> sequenceKey
+ });
+ return false; // because no `d` data worth loading into an rbush
+
+ } else if (which === 'objects') {
+ d = {
+ loc: loc,
+ key: feature.properties.key,
+ value: feature.properties.value,
+ package: feature.properties.package,
+ detections: feature.properties.detections
+ };
+
+ // cache imageKey -> detectionKey
+ feature.properties.detections.forEach(function(detection) {
+ var imageKey = detection.image_key;
+ var detectionKey = detection.detection_key;
+ if (!_mlyCache.detections[imageKey]) {
+ _mlyCache.detections[imageKey] = {};
+ }
+ if (!_mlyCache.detections[imageKey][detectionKey]) {
+ _mlyCache.detections[imageKey][detectionKey] = {};
+ }
+ });
+ }
+
+ return {
+ minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d
+ };
+
+ }).filter(Boolean);
+
+ cache.rtree.load(features);
+
+ if (which === 'images' || which === 'sequences') {
+ dispatch$1.call('loadedImages');
+ } else if (which === 'objects') {
+ dispatch$1.call('loadedSigns');
+ }
+
+ if (data.features.length === maxResults) { // more pages to load
+ cache.nextPage[tile.id] = nextPage + 1;
+ loadNextTilePage(which, currZoom, url, tile);
+ } else {
+ cache.nextPage[tile.id] = Infinity; // no more pages to load
+ }
+ });
+ }
+
+ // extract links to pages of API results
+ function parsePagination(links) {
+ return links.split(',').map(function(rel) {
+ var elements = rel.split(';');
+ if (elements.length === 2) {
+ return [
+ /<(.+)>/.exec(elements[0])[1],
+ /rel="(.+)"/.exec(elements[1])[1]
+ ];
+ } else {
+ return ['',''];
+ }
+ }).reduce(function(pagination, val) {
+ pagination[val[1]] = val[0];
+ return pagination;
+ }, {});
+ }
+
+
+ // partition viewport into `psize` x `psize` regions
+ function partitionViewport(psize, projection) {
+ var dimensions = projection.clipExtent()[1];
+ psize = psize || 16;
+ var cols = range(0, dimensions[0], psize),
+ rows = range(0, dimensions[1], psize),
+ partitions = [];
+
+ rows.forEach(function(y) {
+ cols.forEach(function(x) {
+ var min$$1 = [x, y + psize],
+ max$$1 = [x + psize, y];
+ partitions.push(
+ geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)));
+ });
+ });
+
+ return partitions;
+ }
+
+
+ // no more than `limit` results per partition.
+ function searchLimited(psize, limit, projection, rtree) {
+ limit = limit || 3;
+
+ var partitions = partitionViewport(psize, projection);
+ var results;
+
+ // console.time('previous');
+ results = flatten(map$3(partitions, function(extent$$1) {
+ return rtree.search(extent$$1.bbox())
+ .slice(0, limit)
+ .map(function(d) { return d.data; });
+ }));
+ // console.timeEnd('previous');
+
+ // console.time('new');
+ // results = partitions.reduce(function(result, extent) {
+ // var found = rtree.search(extent.bbox())
+ // .map(function(d) { return d.data; })
+ // .sort(function(a, b) {
+ // return a.loc[1] - b.loc[1];
+ // // return a.key.localeCompare(b.key);
+ // })
+ // .slice(0, limit);
+
+ // return (found.length ? result.concat(found) : result);
+ // }, []);
+ // console.timeEnd('new');
+
+ return results;
+ }
+
+
+
+ var serviceMapillary = {
+
+ init: function() {
+ if (!_mlyCache) {
+ this.reset();
+ }
+
+ this.event = utilRebind(this, dispatch$1, 'on');
+ },
+
+ reset: function() {
+ var cache = _mlyCache;
+
+ if (cache) {
+ if (cache.images && cache.images.inflight) {
+ forEach(cache.images.inflight, abortRequest);
+ }
+ if (cache.objects && cache.objects.inflight) {
+ forEach(cache.objects.inflight, abortRequest);
+ }
+ if (cache.sequences && cache.sequences.inflight) {
+ forEach(cache.sequences.inflight, abortRequest);
+ }
+ }
+
+ _mlyCache = {
+ images: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {} },
+ objects: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1() },
+ sequences: { inflight: {}, loaded: {}, nextPage: {}, nextURL: {}, rtree: rbush_1(), forImageKey: {}, lineString: {} },
+ detections: {}
+ };
+
+ _mlySelectedImage = null;
+ _mlyClicks = [];
+ },
+
+
+ images: function(projection) {
+ var psize = 16, limit = 3;
+ return searchLimited(psize, limit, projection, _mlyCache.images.rtree);
+ },
+
+
+ signs: function(projection) {
+ var psize = 32, limit = 3;
+ return searchLimited(psize, limit, projection, _mlyCache.objects.rtree);
+ },
+
+
+ sequences: function(projection) {
+ var viewport = projection.clipExtent();
+ var min$$1 = [viewport[0][0], viewport[1][1]];
+ var max$$1 = [viewport[1][0], viewport[0][1]];
+ var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox();
+ var sequenceKeys = {};
+
+ // all sequences for images in viewport
+ _mlyCache.images.rtree.search(bbox)
+ .forEach(function(d) {
+ var sequenceKey = _mlyCache.sequences.forImageKey[d.data.key];
+ if (sequenceKey) {
+ sequenceKeys[sequenceKey] = true;
+ }
+ });
+
+ // Return lineStrings for the sequences
+ return Object.keys(sequenceKeys).map(function(sequenceKey) {
+ return _mlyCache.sequences.lineString[sequenceKey];
+ });
+ },
+
+
+ signsSupported: function() {
+ var detected = utilDetect();
+ if (detected.ie) return false;
+ if ((detected.browser.toLowerCase() === 'safari') && (parseFloat(detected.version) < 10)) return false;
+ return true;
+ },
+
+
+ signHTML: function(d) {
+ if (!_mlySignDefs || !_mlySignSprite) return;
+ var position = _mlySignDefs[d.value];
+ if (!position) return '<div></div>';
+ var iconStyle = [
+ 'background-image:url(' + _mlySignSprite + ')',
+ 'background-repeat:no-repeat',
+ 'height:' + position.height + 'px',
+ 'width:' + position.width + 'px',
+ 'background-position-x:-' + position.x + 'px',
+ 'background-position-y:-' + position.y + 'px',
+ ];
+
+ return '<div style="' + iconStyle.join(';') +'"></div>';
+ },
+
+
+ loadImages: function(projection) {
+ loadTiles('images', apibase + 'images?', projection);
+ loadTiles('sequences', apibase + 'sequences?', projection);
+ },
+
+
+ loadSigns: function(context, projection) {
+ // if we are looking at signs, we'll actually need to fetch images too
+ loadTiles('images', apibase + 'images?', projection);
+ loadTiles('objects', apibase + 'objects?', projection);
+
+ // load traffic sign defs
+ if (!_mlySignDefs) {
+ _mlySignSprite = context.asset('img/traffic-signs/traffic-signs.png');
+ _mlySignDefs = {};
+ d3_json(context.asset('img/traffic-signs/traffic-signs.json'), function(err, data) {
+ if (err) return;
+ _mlySignDefs = data;
+ });
+ }
+ },
+
+
+ loadViewer: function(context) {
+ // add mly-wrapper
+ var wrap = select('#photoviewer').selectAll('.mly-wrapper')
+ .data([0]);
+
+ var wrapEnter = wrap.enter()
+ .append('div')
+ .attr('id', 'mly')
+ .attr('class', 'photo-wrapper mly-wrapper')
+ .classed('hide', true);
+
+ wrapEnter
+ .append('div')
+ .attr('class', 'photo-attribution fillD');
+
+
+ // load mapillary-viewercss
+ select('head').selectAll('#mapillary-viewercss')
+ .data([0])
+ .enter()
+ .append('link')
+ .attr('id', 'mapillary-viewercss')
+ .attr('rel', 'stylesheet')
+ .attr('href', context.asset(viewercss));
+
+ // load mapillary-viewerjs
+ select('head').selectAll('#mapillary-viewerjs')
+ .data([0])
+ .enter()
+ .append('script')
+ .attr('id', 'mapillary-viewerjs')
+ .attr('src', context.asset(viewerjs));
+ },
+
+
+ showViewer: function() {
+ var wrap = select('#photoviewer')
+ .classed('hide', false);
+
+ var isHidden = wrap.selectAll('.photo-wrapper.mly-wrapper.hide').size();
+
+ if (isHidden) {
+ wrap
+ .selectAll('.photo-wrapper:not(.mly-wrapper)')
+ .classed('hide', true);
+
+ wrap
+ .selectAll('.photo-wrapper.mly-wrapper')
+ .classed('hide', false);
+
+ _mlyViewer.resize();
+ }
+
+ return this;
+ },
+
+
+ hideViewer: function() {
+ _mlySelectedImage = null;
+
+ if (!_mlyFallback && _mlyViewer) {
+ _mlyViewer.getComponent('sequence').stop();
+ }
+
+ var viewer = select('#photoviewer');
+ if (!viewer.empty()) viewer.datum(null);
+
+ viewer
+ .classed('hide', true)
+ .selectAll('.photo-wrapper')
+ .classed('hide', true);
+
+ d3_selectAll('.viewfield-group, .sequence, .icon-sign')
+ .classed('selected', false);
+
+ return this.setStyles(null, true);
+ },
+
+
+ parsePagination: parsePagination,
+
+
+ updateViewer: function(imageKey, context) {
+ if (!imageKey) return this;
+
+ if (!_mlyViewer) {
+ this.initViewer(imageKey, context);
+ } else {
+ _mlyViewer.moveToKey(imageKey)
+ .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console
+ }
+
+ return this;
+ },
+
+
+ initViewer: function(imageKey, context) {
+ var that = this;
+ if (Mapillary && imageKey) {
+ var opts = {
+ baseImageSize: 320,
+ component: {
+ cover: false,
+ keyboard: false,
+ tag: true
+ }
+ };
+
+ // Disable components requiring WebGL support
+ if (!Mapillary.isSupported() && Mapillary.isFallbackSupported()) {
+ _mlyFallback = true;
+ opts.component = {
+ cover: false,
+ direction: false,
+ imagePlane: false,
+ keyboard: false,
+ mouse: false,
+ sequence: false,
+ tag: false,
+ image: true, // fallback
+ navigation: true // fallback
+ };
+ }
+
+ _mlyViewer = new Mapillary.Viewer('mly', clientId, null, opts);
+ _mlyViewer.on('nodechanged', nodeChanged);
+ _mlyViewer.moveToKey(imageKey)
+ .catch(function(e) { console.error('mly3', e); }); // eslint-disable-line no-console
+ }
+
+ // nodeChanged: called after the viewer has changed images and is ready.
+ //
+ // There is some logic here to batch up clicks into a _mlyClicks array
+ // because the user might click on a lot of markers quickly and nodechanged
+ // may be called out of order asychronously.
+ //
+ // Clicks are added to the array in `selectedImage` and removed here.
+ //
+ function nodeChanged(node) {
+ if (!_mlyFallback) {
+ _mlyViewer.getComponent('tag').removeAll(); // remove previous detections
+ }
+
+ var clicks = _mlyClicks;
+ var index = clicks.indexOf(node.key);
+ var selectedKey = _mlySelectedImage && _mlySelectedImage.key;
+
+ if (index > -1) { // `nodechanged` initiated from clicking on a marker..
+ clicks.splice(index, 1); // remove the click
+ // If `node.key` matches the current _mlySelectedImage, call `selectImage()`
+ // one more time to update the detections and attribution..
+ if (node.key === selectedKey) {
+ that.selectImage(_mlySelectedImage, node.key, true);
+ }
+ } else { // `nodechanged` initiated from the Mapillary viewer controls..
+ var loc = node.computedLatLon ? [node.computedLatLon.lon, node.computedLatLon.lat] : [node.latLon.lon, node.latLon.lat];
+ context.map().centerEase(loc);
+ that.selectImage(undefined, node.key, true);
+ }
+ }
+ },
+
+
+ // Pass the image datum itself in `d` or the `imageKey` string.
+ // This allows images to be selected from places that dont have access
+ // to the full image datum (like the street signs layer or the js viewer)
+ selectImage: function(d, imageKey, fromViewer) {
+ if (!d && imageKey) {
+ // If the user clicked on something that's not an image marker, we
+ // might get in here.. Cache lookup can fail, e.g. if the user
+ // clicked a streetsign, but images are loading slowly asynchronously.
+ // We'll try to carry on anyway if there is no datum. There just
+ // might be a delay before user sees detections, captured_at, etc.
+ d = _mlyCache.images.forImageKey[imageKey];
+ }
+
+ _mlySelectedImage = d;
+ var viewer = select('#photoviewer');
+ if (!viewer.empty()) viewer.datum(d);
+
+ imageKey = (d && d.key) || imageKey;
+ if (!fromViewer && imageKey) {
+ _mlyClicks.push(imageKey);
+ }
+
+ this.setStyles(null, true);
+
+ d3_selectAll('.layer-mapillary-signs .icon-sign')
+ .classed('selected', function(d) {
+ return some(d.detections, function(detection) {
+ return detection.image_key === imageKey;
+ });
+ });
+
+ var wrap = select('#photoviewer .mly-wrapper');
+ var attribution = wrap.selectAll('.photo-attribution').html('');
+
+ if (d) {
+ if (d.captured_by) {
+ attribution
+ .append('a')
+ .attr('class', 'captured_by')
+ .attr('target', '_blank')
+ .attr('href', 'https://www.mapillary.com/app/user/' + encodeURIComponent(d.captured_by))
+ .text('@' + d.captured_by);
+
+ attribution
+ .append('span')
+ .text('|');
+ }
+
+ if (d.captured_at) {
+ attribution
+ .append('span')
+ .attr('class', 'captured_at')
+ .text(localeTimestamp(d.captured_at));
+
+ attribution
+ .append('span')
+ .text('|');
+ }
+
+ attribution
+ .append('a')
+ .attr('class', 'image_link')
+ .attr('target', '_blank')
+ .attr('href', 'https://www.mapillary.com/app/?pKey=' + encodeURIComponent(d.key) +
+ '&focus=photo&lat=' + d.loc[1] + '&lng=' + d.loc[0] + '&z=17')
+ .text('mapillary.com');
+
+ this.updateDetections(d);
+ }
+
+ return this;
+ },
+
+
+ getSelectedImage: function() {
+ return _mlySelectedImage;
+ },
+
+
+ getSequenceKeyForImage: function(d) {
+ var imageKey = d && d.key;
+ return imageKey && _mlyCache.sequences.forImageKey[imageKey];
+ },
+
+
+ setStyles: function(hovered, reset) {
+ if (reset) { // reset all layers
+ d3_selectAll('.viewfield-group')
+ .classed('highlighted', false)
+ .classed('hovered', false)
+ .classed('selected', false);
+
+ d3_selectAll('.sequence')
+ .classed('highlighted', false)
+ .classed('selected', false);
+ }
+
+ var hoveredImageKey = hovered && hovered.key;
+ var hoveredSequenceKey = this.getSequenceKeyForImage(hovered);
+ var hoveredLineString = hoveredSequenceKey && _mlyCache.sequences.lineString[hoveredSequenceKey];
+ var hoveredImageKeys = (hoveredLineString && hoveredLineString.properties.coordinateProperties.image_keys) || [];
+
+ var viewer = select('#photoviewer');
+ var selected = viewer.empty() ? undefined : viewer.datum();
+ var selectedImageKey = selected && selected.key;
+ var selectedSequenceKey = this.getSequenceKeyForImage(selected);
+ var selectedLineString = selectedSequenceKey && _mlyCache.sequences.lineString[selectedSequenceKey];
+ var selectedImageKeys = (selectedLineString && selectedLineString.properties.coordinateProperties.image_keys) || [];
+
+ // highlight sibling viewfields on either the selected or the hovered sequences
+ var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys);
+
+ d3_selectAll('.layer-mapillary-images .viewfield-group')
+ .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; })
+ .classed('hovered', function(d) { return d.key === hoveredImageKey; })
+ .classed('selected', function(d) { return d.key === selectedImageKey; });
+
+ d3_selectAll('.layer-mapillary-images .sequence')
+ .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; })
+ .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; });
+
+ return this;
+ },
+
+
+ updateDetections: function(d) {
+ if (!_mlyViewer || _mlyFallback) return;
+
+ var imageKey = d && d.key;
+ var detections = (imageKey && _mlyCache.detections[imageKey]) || [];
+
+ forEach(detections, function(data, k) {
+ if (isEmpty(data)) {
+ loadDetection(k);
+ } else {
+ var tag = makeTag(data);
+ if (tag) {
+ var tagComponent = _mlyViewer.getComponent('tag');
+ tagComponent.add([tag]);
+ }
+ }
+ });
+
+
+ function loadDetection(detectionKey) {
+ var url = apibase + 'detections/'+
+ detectionKey + '?' + utilQsString({
+ client_id: clientId,
+ });
+
+ request(url)
+ .mimeType('application/json')
+ .response(function(xhr) {
+ return JSON.parse(xhr.responseText);
+ })
+ .get(function(err, data) {
+ if (!data || !data.properties) return;
+
+ var imageKey = data.properties.image_key;
+ _mlyCache.detections[imageKey][detectionKey] = data;
+
+ var selectedKey = _mlySelectedImage && _mlySelectedImage.key;
+ if (imageKey === selectedKey) {
+ var tag = makeTag(data);
+ if (tag) {
+ var tagComponent = _mlyViewer.getComponent('tag');
+ tagComponent.add([tag]);
+ }
+ }
+ });
+ }
+
+
+ function makeTag(data) {
+ var valueParts = data.properties.value.split('--');
+ if (valueParts.length !== 3) return;
+
+ var text = valueParts[1].replace(/-/g, ' ');
+ var tag;
+
+ // Currently only two shapes <Polygon|Point>
+ if (data.properties.shape.type === 'Polygon') {
+ var polygonGeometry = new Mapillary
+ .TagComponent
+ .PolygonGeometry(data.properties.shape.coordinates[0]);
+
+ tag = new Mapillary.TagComponent.OutlineTag(
+ data.properties.key,
+ polygonGeometry,
+ {
+ text: text,
+ textColor: 0xffff00,
+ lineColor: 0xffff00,
+ lineWidth: 2,
+ fillColor: 0xffff00,
+ fillOpacity: 0.3,
+ }
+ );
+
+ } else if (data.properties.shape.type === 'Point') {
+ var pointGeometry = new Mapillary
+ .TagComponent
+ .PointGeometry(data.properties.shape.coordinates[0]);
+
+ tag = new Mapillary.TagComponent.SpotTag(
+ data.properties.key,
+ pointGeometry,
+ {
+ text: text,
+ color: 0xffff00,
+ textColor: 0xffff00
+ }
+ );
+ }
+
+ return tag;
+ }
+ },
+
+
+ cache: function() {
+ return _mlyCache;
+ },
+
+
+ signDefs: function(_) {
+ if (!arguments.length) return _mlySignDefs;
+ _mlySignDefs = _;
+ return this;
+ }
+
+ };
+
+ var apibase$1 = 'https://nominatim.openstreetmap.org/',
+ inflight = {},
+ nominatimCache;
+
+
+ var serviceNominatim = {
+
+ init: function() {
+ inflight = {};
+ nominatimCache = rbush_1();
+ },
+
+ reset: function() {
+ forEach(inflight, function(req) { req.abort(); });
+ inflight = {};
+ nominatimCache = rbush_1();
+ },
+
+
+ countryCode: function (location, callback) {
+ this.reverse(location, function(err, result) {
+ if (err) {
+ return callback(err);
+ } else if (result.address) {
+ return callback(null, result.address.country_code);
+ } else {
+ return callback('Unable to geocode', null);
+ }
+ });
+ },
+
+
+ reverse: function (location, callback) {
+ var cached = nominatimCache.search(
+ { minX: location[0], minY: location[1], maxX: location[0], maxY: location[1] }
+ );
+
+ if (cached.length > 0) {
+ return callback(null, cached[0].data);
+ }
+
+ var params = { zoom: 13, format: 'json', addressdetails: 1, lat: location[1], lon: location[0] };
+ var url = apibase$1 + 'reverse?' + utilQsString(params);
+ if (inflight[url]) return;
+
+ inflight[url] = d3_json(url, function(err, result) {
+ delete inflight[url];
+
+ if (err) {
+ return callback(err);
+ } else if (result && result.error) {
+ return callback(result.error);
+ }
+
+ var extent = geoExtent$$1(location).padByMeters(200);
+ nominatimCache.insert(assign(extent.bbox(), {data: result}));
+
+ callback(null, result);
+ });
+ },
+
+
+ search: function (val, callback) {
+ var searchVal = encodeURIComponent(val);
+ var url = apibase$1 + 'search/' + searchVal + '?limit=10&format=json';
+ if (inflight[url]) return;
+
+ inflight[url] = d3_json(url, function(err, result) {
+ delete inflight[url];
+ callback(err, result);
+ });
+ }
+
+ };
+
+ var apibase$2 = 'https://openstreetcam.org',
+ maxResults$1 = 1000,
+ tileZoom$1 = 14,
+ dispatch$2 = dispatch('loadedImages'),
+ imgZoom = d3_zoom()
+ .extent([[0, 0], [320, 240]])
+ .translateExtent([[0, 0], [320, 240]])
+ .scaleExtent([1, 15])
+ .on('zoom', zoomPan),
+ _oscCache,
+ _oscSelectedImage;
+
+
+ function abortRequest$1(i) {
+ i.abort();
+ }
+
+
+ function nearNullIsland$1(x, y, z) {
+ if (z >= 7) {
+ var center = Math.pow(2, z - 1),
+ width = Math.pow(2, z - 6),
+ min$$1 = center - (width / 2),
+ max$$1 = center + (width / 2) - 1;
+ return x >= min$$1 && x <= max$$1 && y >= min$$1 && y <= max$$1;
+ }
+ return false;
+ }
+
+
+ function maxPageAtZoom$1(z) {
+ if (z < 15) return 2;
+ if (z === 15) return 5;
+ if (z === 16) return 10;
+ if (z === 17) return 20;
+ if (z === 18) return 40;
+ if (z > 18) return 80;
+ }
+
+
+ function getTiles$1(projection) {
+ var s = projection.scale() * 2 * Math.PI,
+ z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
+ ts = 256 * Math.pow(2, z - tileZoom$1),
+ origin = [
+ s / 2 - projection.translate()[0],
+ s / 2 - projection.translate()[1]];
+
+ return d3geoTile()
+ .scaleExtent([tileZoom$1, tileZoom$1])
+ .scale(s)
+ .size(projection.clipExtent()[1])
+ .translate(projection.translate())()
+ .map(function(tile) {
+ var x = tile[0] * ts - origin[0],
+ y = tile[1] * ts - origin[1];
+
+ return {
+ id: tile.toString(),
+ xyz: tile,
+ extent: geoExtent$$1(
+ projection.invert([x, y + ts]),
+ projection.invert([x + ts, y])
+ )
+ };
+ });
+ }
+
+
+ function loadTiles$1(which, url, projection) {
+ var s = projection.scale() * 2 * Math.PI,
+ currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0));
+
+ var tiles = getTiles$1(projection).filter(function(t) {
+ return !nearNullIsland$1(t.xyz[0], t.xyz[1], t.xyz[2]);
+ });
+
+ filter(which.inflight, function(v, k) {
+ var wanted = find$1(tiles, function(tile) { return k === (tile.id + ',0'); });
+ if (!wanted) delete which.inflight[k];
+ return !wanted;
+ }).map(abortRequest$1);
+
+ tiles.forEach(function(tile) {
+ loadNextTilePage$1(which, currZoom, url, tile);
+ });
+ }
+
+
+ function loadNextTilePage$1(which, currZoom, url, tile) {
+ var cache = _oscCache[which];
+ var bbox = tile.extent.bbox();
+ var maxPages = maxPageAtZoom$1(currZoom);
+ var nextPage = cache.nextPage[tile.id] || 1;
+ var params = utilQsString({
+ ipp: maxResults$1,
+ page: nextPage,
+ // client_id: clientId,
+ bbTopLeft: [bbox.maxY, bbox.minX].join(','),
+ bbBottomRight: [bbox.minY, bbox.maxX].join(',')
+ }, true);
+
+ if (nextPage > maxPages) return;
+
+ var id = tile.id + ',' + String(nextPage);
+ if (cache.loaded[id] || cache.inflight[id]) return;
+
+ cache.inflight[id] = request(url)
+ .mimeType('application/json')
+ .header('Content-type', 'application/x-www-form-urlencoded')
+ .response(function(xhr) { return JSON.parse(xhr.responseText); })
+ .post(params, function(err, data) {
+ cache.loaded[id] = true;
+ delete cache.inflight[id];
+ if (err || !data.currentPageItems || !data.currentPageItems.length) return;
+
+ function localeDateString(s) {
+ if (!s) return null;
+ var detected = utilDetect();
+ var options = { day: 'numeric', month: 'short', year: 'numeric' };
+ var d = new Date(s);
+ if (isNaN(d.getTime())) return null;
+ return d.toLocaleDateString(detected.locale, options);
+ }
+
+ var features = data.currentPageItems.map(function(item) {
+ var loc = [+item.lng, +item.lat],
+ d;
+
+ if (which === 'images') {
+ d = {
+ loc: loc,
+ key: item.id,
+ ca: +item.heading,
+ captured_at: localeDateString(item.shot_date || item.date_added),
+ captured_by: item.username,
+ imagePath: item.lth_name,
+ sequence_id: item.sequence_id,
+ sequence_index: +item.sequence_index
+ };
+
+ // cache sequence info
+ var seq = _oscCache.sequences[d.sequence_id];
+ if (!seq) {
+ seq = { rotation: 0, images: [] };
+ _oscCache.sequences[d.sequence_id] = seq;
+ }
+ seq.images[d.sequence_index] = d;
+ }
+
+ return {
+ minX: loc[0], minY: loc[1], maxX: loc[0], maxY: loc[1], data: d
+ };
+ });
+
+ cache.rtree.load(features);
+
+ if (which === 'images') {
+ dispatch$2.call('loadedImages');
+ }
+
+ if (data.currentPageItems.length === maxResults$1) { // more pages to load
+ cache.nextPage[tile.id] = nextPage + 1;
+ loadNextTilePage$1(which, currZoom, url, tile);
+ } else {
+ cache.nextPage[tile.id] = Infinity; // no more pages to load
+ }
+ });
+ }
+
+
+ // partition viewport into `psize` x `psize` regions
+ function partitionViewport$1(psize, projection) {
+ var dimensions = projection.clipExtent()[1];
+ psize = psize || 16;
+ var cols = range(0, dimensions[0], psize),
+ rows = range(0, dimensions[1], psize),
+ partitions = [];
+
+ rows.forEach(function(y) {
+ cols.forEach(function(x) {
+ var min$$1 = [x, y + psize],
+ max$$1 = [x + psize, y];
+ partitions.push(
+ geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)));
+ });
+ });
+
+ return partitions;
+ }
+
+
+ // no more than `limit` results per partition.
+ function searchLimited$1(psize, limit, projection, rtree) {
+ limit = limit || 3;
+
+ var partitions = partitionViewport$1(psize, projection);
+ var results;
+
+ results = flatten(map$3(partitions, function(extent$$1) {
+ return rtree.search(extent$$1.bbox())
+ .slice(0, limit)
+ .map(function(d) { return d.data; });
+ }));
+ return results;
+ }
+
+
+ function zoomPan() {
+ var t = event.transform;
+ select('#photoviewer .osc-image-wrap')
+ .call(utilSetTransform, t.x, t.y, t.k);
+ }
+
+
+ var serviceOpenstreetcam = {
+
+ init: function() {
+ if (!_oscCache) {
+ this.reset();
+ }
+
+ this.event = utilRebind(this, dispatch$2, 'on');
+ },
+
+ reset: function() {
+ var cache = _oscCache;
+
+ if (cache) {
+ if (cache.images && cache.images.inflight) {
+ forEach(cache.images.inflight, abortRequest$1);
+ }
+ }
+
+ _oscCache = {
+ images: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush_1() },
+ sequences: {}
+ };
+
+ _oscSelectedImage = null;
+ },
+
+
+ images: function(projection) {
+ var psize = 16, limit = 3;
+ return searchLimited$1(psize, limit, projection, _oscCache.images.rtree);
+ },
+
+
+ sequences: function(projection) {
+ var viewport = projection.clipExtent();
+ var min$$1 = [viewport[0][0], viewport[1][1]];
+ var max$$1 = [viewport[1][0], viewport[0][1]];
+ var bbox = geoExtent$$1(projection.invert(min$$1), projection.invert(max$$1)).bbox();
+ var sequenceKeys = {};
+
+ // all sequences for images in viewport
+ _oscCache.images.rtree.search(bbox)
+ .forEach(function(d) { sequenceKeys[d.data.sequence_id] = true; });
+
+ // make linestrings from those sequences
+ var lineStrings = [];
+ Object.keys(sequenceKeys)
+ .forEach(function(sequenceKey) {
+ var seq = _oscCache.sequences[sequenceKey];
+ var images = seq && seq.images;
+ if (images) {
+ lineStrings.push({
+ type: 'LineString',
+ coordinates: images.map(function (d) { return d.loc; }).filter(Boolean),
+ properties: { key: sequenceKey }
+ });
+ }
+ });
+ return lineStrings;
+ },
+
+
+ loadImages: function(projection) {
+ var url = apibase$2 + '/1.0/list/nearby-photos/';
+ loadTiles$1('images', url, projection);
+ },
+
+
+ loadViewer: function(context) {
+ var that = this;
+
+ // add osc-wrapper
+ var wrap = select('#photoviewer').selectAll('.osc-wrapper')
+ .data([0]);
+
+ var wrapEnter = wrap.enter()
+ .append('div')
+ .attr('class', 'photo-wrapper osc-wrapper')
+ .classed('hide', true)
+ .call(imgZoom)
+ .on('dblclick.zoom', null);
+
+ wrapEnter
+ .append('div')
+ .attr('class', 'photo-attribution fillD');
+
+ var controlsEnter = wrapEnter
+ .append('div')
+ .attr('class', 'osc-controls-wrap')
+ .append('div')
+ .attr('class', 'osc-controls');
+
+ controlsEnter
+ .append('button')
+ .on('click.back', step(-1))
+ .text('◄');
+
+ controlsEnter
+ .append('button')
+ .on('click.rotate-ccw', rotate(-90))
+ .text('⤿');
+
+ controlsEnter
+ .append('button')
+ .on('click.rotate-cw', rotate(90))
+ .text('⤾');
+
+ controlsEnter
+ .append('button')
+ .on('click.forward', step(1))
+ .text('►');
+
+ wrapEnter
+ .append('div')
+ .attr('class', 'osc-image-wrap');
+
+
+ function rotate(deg) {
+ return function() {
+ if (!_oscSelectedImage) return;
+ var sequenceKey = _oscSelectedImage.sequence_id;
+ var sequence = _oscCache.sequences[sequenceKey];
+ if (!sequence) return;
+
+ var r = sequence.rotation || 0;
+ r += deg;
+
+ if (r > 180) r -= 360;
+ if (r < -180) r += 360;
+ sequence.rotation = r;
+
+ var wrap = select('#photoviewer .osc-wrapper');
+
+ wrap
+ .transition()
+ .duration(100)
+ .call(imgZoom.transform, identity$7);
+
+ wrap.selectAll('.osc-image')
+ .transition()
+ .duration(100)
+ .style('transform', 'rotate(' + r + 'deg)');
+ };
+ }
+
+ function step(stepBy) {
+ return function() {
+ if (!_oscSelectedImage) return;
+ var sequenceKey = _oscSelectedImage.sequence_id;
+ var sequence = _oscCache.sequences[sequenceKey];
+ if (!sequence) return;
+
+ var nextIndex = _oscSelectedImage.sequence_index + stepBy;
+ var nextImage = sequence.images[nextIndex];
+ if (!nextImage) return;
+
+ context.map().centerEase(nextImage.loc);
+
+ that
+ .selectImage(nextImage)
+ .updateViewer(nextImage);
+ };
+ }
+ },
+
+
+ showViewer: function() {
+ var viewer = select('#photoviewer')
+ .classed('hide', false);
+
+ var isHidden = viewer.selectAll('.photo-wrapper.osc-wrapper.hide').size();
+
+ if (isHidden) {
+ viewer
+ .selectAll('.photo-wrapper:not(.osc-wrapper)')
+ .classed('hide', true);
+
+ viewer
+ .selectAll('.photo-wrapper.osc-wrapper')
+ .classed('hide', false);
+ }
+
+ return this;
+ },
+
+
+ hideViewer: function() {
+ _oscSelectedImage = null;
+
+ var viewer = select('#photoviewer');
+ if (!viewer.empty()) viewer.datum(null);
+
+ viewer
+ .classed('hide', true)
+ .selectAll('.photo-wrapper')
+ .classed('hide', true);
+
+ d3_selectAll('.viewfield-group, .sequence, .icon-sign')
+ .classed('selected', false);
+
+ return this.setStyles(null, true);
+ },
+
+
+ updateViewer: function(d) {
+ var wrap = select('#photoviewer .osc-wrapper');
+ var imageWrap = wrap.selectAll('.osc-image-wrap');
+ var attribution = wrap.selectAll('.photo-attribution').html('');
+
+ wrap
+ .transition()
+ .duration(100)
+ .call(imgZoom.transform, identity$7);
+
+ imageWrap
+ .selectAll('.osc-image')
+ .remove();
+
+ if (d) {
+ var sequence = _oscCache.sequences[d.sequence_id];
+ var r = (sequence && sequence.rotation) || 0;
+
+ imageWrap
+ .append('img')
+ .attr('class', 'osc-image')
+ .attr('src', apibase$2 + '/' + d.imagePath)
+ .style('transform', 'rotate(' + r + 'deg)');
+
+ if (d.captured_by) {
+ attribution
+ .append('a')
+ .attr('class', 'captured_by')
+ .attr('target', '_blank')
+ .attr('href', 'https://openstreetcam.org/user/' + encodeURIComponent(d.captured_by))
+ .text('@' + d.captured_by);
+
+ attribution
+ .append('span')
+ .text('|');
+ }
+
+ if (d.captured_at) {
+ attribution
+ .append('span')
+ .attr('class', 'captured_at')
+ .text(d.captured_at);
+
+ attribution
+ .append('span')
+ .text('|');
+ }
+
+ attribution
+ .append('a')
+ .attr('class', 'image_link')
+ .attr('target', '_blank')
+ .attr('href', 'https://openstreetcam.org/details/' + d.sequence_id + '/' + d.sequence_index)
+ .text('openstreetcam.org');
+ }
+ return this;
+ },
+
+
+ selectImage: function(d) {
+ _oscSelectedImage = d;
+ var viewer = select('#photoviewer');
+ if (!viewer.empty()) viewer.datum(d);
+
+ this.setStyles(null, true);
+
+ d3_selectAll('.icon-sign')
+ .classed('selected', false);
+
+ return this;
+ },
+
+
+ getSelectedImage: function() {
+ return _oscSelectedImage;
+ },
+
+
+ getSequenceKeyForImage: function(d) {
+ return d && d.sequence_id;
+ },
+
+
+ setStyles: function(hovered, reset) {
+ if (reset) { // reset all layers
+ d3_selectAll('.viewfield-group')
+ .classed('highlighted', false)
+ .classed('hovered', false)
+ .classed('selected', false);
+
+ d3_selectAll('.sequence')
+ .classed('highlighted', false)
+ .classed('selected', false);
+ }
+
+ var hoveredImageKey = hovered && hovered.key;
+ var hoveredSequenceKey = this.getSequenceKeyForImage(hovered);
+ var hoveredSequence = hoveredSequenceKey && _oscCache.sequences[hoveredSequenceKey];
+ var hoveredImageKeys = (hoveredSequence && hoveredSequence.images.map(function (d) { return d.key; })) || [];
+
+ var viewer = select('#photoviewer');
+ var selected = viewer.empty() ? undefined : viewer.datum();
+ var selectedImageKey = selected && selected.key;
+ var selectedSequenceKey = this.getSequenceKeyForImage(selected);
+ var selectedSequence = selectedSequenceKey && _oscCache.sequences[selectedSequenceKey];
+ var selectedImageKeys = (selectedSequence && selectedSequence.images.map(function (d) { return d.key; })) || [];
+
+ // highlight sibling viewfields on either the selected or the hovered sequences
+ var highlightedImageKeys = union(hoveredImageKeys, selectedImageKeys);
+
+ d3_selectAll('.layer-openstreetcam-images .viewfield-group')
+ .classed('highlighted', function(d) { return highlightedImageKeys.indexOf(d.key) !== -1; })
+ .classed('hovered', function(d) { return d.key === hoveredImageKey; })
+ .classed('selected', function(d) { return d.key === selectedImageKey; });
+
+ d3_selectAll('.layer-openstreetcam-images .sequence')
+ .classed('highlighted', function(d) { return d.properties.key === hoveredSequenceKey; })
+ .classed('selected', function(d) { return d.properties.key === selectedSequenceKey; });
+
+ return this;
+ },
+
+
+ cache: function() {
+ return _oscCache;
+ }
+
+ };
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeCeil = Math.ceil,
+ nativeMax$4 = Math.max;
+
+ /**
+ * Creates an array of elements split into groups the length of `size`.
+ * If `array` can't be split evenly, the final chunk will be the remaining
+ * elements.
+ *
+ * @static
+ * @memberOf _
+ * @since 3.0.0
+ * @category Array
+ * @param {Array} array The array to process.
+ * @param {number} [size=1] The length of each chunk
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
+ * @returns {Array} Returns the new array of chunks.
+ * @example
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 2);
+ * // => [['a', 'b'], ['c', 'd']]
+ *
+ * _.chunk(['a', 'b', 'c', 'd'], 3);
+ * // => [['a', 'b', 'c'], ['d']]
+ */
+ function chunk(array, size, guard) {
+ if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {
+ size = 1;
+ } else {
+ size = nativeMax$4(toInteger(size), 0);
+ }
+ var length = array == null ? 0 : array.length;
+ if (!length || size < 1) {
+ return [];
+ }
+ var index = 0,
+ resIndex = 0,
+ result = Array(nativeCeil(length / size));
+
+ while (index < length) {
+ result[resIndex++] = baseSlice(array, index, (index += size));
+ }
+ return result;
+ }
+
+ var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+ function createCommonjsModule(fn, module) {
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
+ }
+
+ var hashes = createCommonjsModule(function (module, exports) {
+ /**
+ * jshashes - https://github.com/h2non/jshashes
+ * Released under the "New BSD" license
+ *
+ * Algorithms specification:
+ *
+ * MD5 - http://www.ietf.org/rfc/rfc1321.txt
+ * RIPEMD-160 - http://homes.esat.kuleuven.be/~bosselae/ripemd160.html
+ * SHA1 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+ * SHA256 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+ * SHA512 - http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
+ * HMAC - http://www.ietf.org/rfc/rfc2104.txt
+ */
+ (function() {
+ var Hashes;
+
+ function utf8Encode(str) {
+ var x, y, output = '',
+ i = -1,
+ l;
+
+ if (str && str.length) {
+ l = str.length;
+ while ((i += 1) < l) {
+ /* Decode utf-16 surrogate pairs */
+ x = str.charCodeAt(i);
+ y = i + 1 < l ? str.charCodeAt(i + 1) : 0;
+ if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
+ x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
+ i += 1;
+ }
+ /* Encode output as utf-8 */
+ if (x <= 0x7F) {
+ output += String.fromCharCode(x);
+ } else if (x <= 0x7FF) {
+ output += String.fromCharCode(0xC0 | ((x >>> 6) & 0x1F),
+ 0x80 | (x & 0x3F));
+ } else if (x <= 0xFFFF) {
+ output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
+ 0x80 | ((x >>> 6) & 0x3F),
+ 0x80 | (x & 0x3F));
+ } else if (x <= 0x1FFFFF) {
+ output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
+ 0x80 | ((x >>> 12) & 0x3F),
+ 0x80 | ((x >>> 6) & 0x3F),
+ 0x80 | (x & 0x3F));
+ }
+ }
+ }
+ return output;
+ }
+
+ function utf8Decode(str) {
+ var i, ac, c1, c2, c3, arr = [],
+ l;
+ i = ac = c1 = c2 = c3 = 0;
+
+ if (str && str.length) {
+ l = str.length;
+ str += '';
+
+ while (i < l) {
+ c1 = str.charCodeAt(i);
+ ac += 1;
+ if (c1 < 128) {
+ arr[ac] = String.fromCharCode(c1);
+ i += 1;
+ } else if (c1 > 191 && c1 < 224) {
+ c2 = str.charCodeAt(i + 1);
+ arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
+ i += 2;
+ } else {
+ c2 = str.charCodeAt(i + 1);
+ c3 = str.charCodeAt(i + 2);
+ arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+ i += 3;
+ }
+ }
+ }
+ return arr.join('');
+ }
+
+ /**
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+ * to work around bugs in some JS interpreters.
+ */
+
+ function safe_add(x, y) {
+ var lsw = (x & 0xFFFF) + (y & 0xFFFF),
+ msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+ return (msw << 16) | (lsw & 0xFFFF);
+ }
+
+ /**
+ * Bitwise rotate a 32-bit number to the left.
+ */
+
+ function bit_rol(num, cnt) {
+ return (num << cnt) | (num >>> (32 - cnt));
+ }
+
+ /**
+ * Convert a raw string to a hex string
+ */
+
+ function rstr2hex(input, hexcase) {
+ var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',
+ output = '',
+ x, i = 0,
+ l = input.length;
+ for (; i < l; i += 1) {
+ x = input.charCodeAt(i);
+ output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
+ }
+ return output;
+ }
+
+ /**
+ * Convert an array of big-endian words to a string
+ */
+
+ function binb2rstr(input) {
+ var i, l = input.length * 32,
+ output = '';
+ for (i = 0; i < l; i += 8) {
+ output += String.fromCharCode((input[i >> 5] >>> (24 - i % 32)) & 0xFF);
+ }
+ return output;
+ }
+
+ /**
+ * Convert an array of little-endian words to a string
+ */
+
+ function binl2rstr(input) {
+ var i, l = input.length * 32,
+ output = '';
+ for (i = 0; i < l; i += 8) {
+ output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
+ }
+ return output;
+ }
+
+ /**
+ * Convert a raw string to an array of little-endian words
+ * Characters >255 have their high-byte silently ignored.
+ */
+
+ function rstr2binl(input) {
+ var i, l = input.length * 8,
+ output = Array(input.length >> 2),
+ lo = output.length;
+ for (i = 0; i < lo; i += 1) {
+ output[i] = 0;
+ }
+ for (i = 0; i < l; i += 8) {
+ output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);
+ }
+ return output;
+ }
+
+ /**
+ * Convert a raw string to an array of big-endian words
+ * Characters >255 have their high-byte silently ignored.
+ */
+
+ function rstr2binb(input) {
+ var i, l = input.length * 8,
+ output = Array(input.length >> 2),
+ lo = output.length;
+ for (i = 0; i < lo; i += 1) {
+ output[i] = 0;
+ }
+ for (i = 0; i < l; i += 8) {
+ output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
+ }
+ return output;
+ }
+
+ /**
+ * Convert a raw string to an arbitrary string encoding
+ */
+
+ function rstr2any(input, encoding) {
+ var divisor = encoding.length,
+ remainders = Array(),
+ i, q, x, ld, quotient, dividend, output, full_length;
+
+ /* Convert to an array of 16-bit big-endian values, forming the dividend */
+ dividend = Array(Math.ceil(input.length / 2));
+ ld = dividend.length;
+ for (i = 0; i < ld; i += 1) {
+ dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
+ }
+
+ /**
+ * Repeatedly perform a long division. The binary array forms the dividend,
+ * the length of the encoding is the divisor. Once computed, the quotient
+ * forms the dividend for the next step. We stop when the dividend is zerHashes.
+ * All remainders are stored for later use.
+ */
+ while (dividend.length > 0) {
+ quotient = Array();
+ x = 0;
+ for (i = 0; i < dividend.length; i += 1) {
+ x = (x << 16) + dividend[i];
+ q = Math.floor(x / divisor);
+ x -= q * divisor;
+ if (quotient.length > 0 || q > 0) {
+ quotient[quotient.length] = q;
+ }
+ }
+ remainders[remainders.length] = x;
+ dividend = quotient;
+ }
+
+ /* Convert the remainders to the output string */
+ output = '';
+ for (i = remainders.length - 1; i >= 0; i--) {
+ output += encoding.charAt(remainders[i]);
+ }
+
+ /* Append leading zero equivalents */
+ full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));
+ for (i = output.length; i < full_length; i += 1) {
+ output = encoding[0] + output;
+ }
+ return output;
+ }
+
+ /**
+ * Convert a raw string to a base-64 string
+ */
+
+ function rstr2b64(input, b64pad) {
+ var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ output = '',
+ len = input.length,
+ i, j, triplet;
+ b64pad = b64pad || '=';
+ for (i = 0; i < len; i += 3) {
+ triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0);
+ for (j = 0; j < 4; j += 1) {
+ if (i * 8 + j * 6 > input.length * 8) {
+ output += b64pad;
+ } else {
+ output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
+ }
+ }
+ }
+ return output;
+ }
+
+ Hashes = {
+ /**
+ * @property {String} version
+ * @readonly
+ */
+ VERSION: '1.0.6',
+ /**
+ * @member Hashes
+ * @class Base64
+ * @constructor
+ */
+ Base64: function() {
+ // private properties
+ var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+ pad = '=', // default pad according with the RFC standard
+ utf8 = true; // by default enable UTF-8 support encoding
+
+ // public method for encoding
+ this.encode = function(input) {
+ var i, j, triplet,
+ output = '',
+ len = input.length;
+
+ pad = pad || '=';
+ input = (utf8) ? utf8Encode(input) : input;
+
+ for (i = 0; i < len; i += 3) {
+ triplet = (input.charCodeAt(i) << 16) | (i + 1 < len ? input.charCodeAt(i + 1) << 8 : 0) | (i + 2 < len ? input.charCodeAt(i + 2) : 0);
+ for (j = 0; j < 4; j += 1) {
+ if (i * 8 + j * 6 > len * 8) {
+ output += pad;
+ } else {
+ output += tab.charAt((triplet >>> 6 * (3 - j)) & 0x3F);
+ }
+ }
+ }
+ return output;
+ };
+
+ // public method for decoding
+ this.decode = function(input) {
+ // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+ var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,
+ dec = '',
+ arr = [];
+ if (!input) {
+ return input;
+ }
+
+ i = ac = 0;
+ input = input.replace(new RegExp('\\' + pad, 'gi'), ''); // use '='
+ //input += '';
+
+ do { // unpack four hexets into three octets using index points in b64
+ h1 = tab.indexOf(input.charAt(i += 1));
+ h2 = tab.indexOf(input.charAt(i += 1));
+ h3 = tab.indexOf(input.charAt(i += 1));
+ h4 = tab.indexOf(input.charAt(i += 1));
+
+ bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
+
+ o1 = bits >> 16 & 0xff;
+ o2 = bits >> 8 & 0xff;
+ o3 = bits & 0xff;
+ ac += 1;
+
+ if (h3 === 64) {
+ arr[ac] = String.fromCharCode(o1);
+ } else if (h4 === 64) {
+ arr[ac] = String.fromCharCode(o1, o2);
+ } else {
+ arr[ac] = String.fromCharCode(o1, o2, o3);
+ }
+ } while (i < input.length);
+
+ dec = arr.join('');
+ dec = (utf8) ? utf8Decode(dec) : dec;
+
+ return dec;
+ };
+
+ // set custom pad string
+ this.setPad = function(str) {
+ pad = str || pad;
+ return this;
+ };
+ // set custom tab string characters
+ this.setTab = function(str) {
+ tab = str || tab;
+ return this;
+ };
+ this.setUTF8 = function(bool) {
+ if (typeof bool === 'boolean') {
+ utf8 = bool;
+ }
+ return this;
+ };
+ },
+
+ /**
+ * CRC-32 calculation
+ * @member Hashes
+ * @method CRC32
+ * @static
+ * @param {String} str Input String
+ * @return {String}
+ */
+ CRC32: function(str) {
+ var crc = 0,
+ x = 0,
+ y = 0,
+ table, i, iTop;
+ str = utf8Encode(str);
+
+ table = [
+ '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ',
+ '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ',
+ '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ',
+ '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ',
+ 'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ',
+ '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ',
+ 'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ',
+ '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ',
+ 'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ',
+ '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ',
+ 'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ',
+ '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ',
+ 'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ',
+ '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ',
+ '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ',
+ '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ',
+ '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ',
+ 'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ',
+ '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ',
+ 'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ',
+ '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ',
+ 'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ',
+ '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ',
+ 'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ',
+ '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ',
+ 'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D'
+ ].join('');
+
+ crc = crc ^ (-1);
+ for (i = 0, iTop = str.length; i < iTop; i += 1) {
+ y = (crc ^ str.charCodeAt(i)) & 0xFF;
+ x = '0x' + table.substr(y * 9, 8);
+ crc = (crc >>> 8) ^ x;
+ }
+ // always return a positive number (that's what >>> 0 does)
+ return (crc ^ (-1)) >>> 0;
+ },
+ /**
+ * @member Hashes
+ * @class MD5
+ * @constructor
+ * @param {Object} [config]
+ *
+ * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
+ * Digest Algorithm, as defined in RFC 1321.
+ * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * See <http://pajhome.org.uk/crypt/md5> for more infHashes.
+ */
+ MD5: function(options) {
+ /**
+ * Private config properties. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+ */
+ var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+ b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+ utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
+
+ // privileged (public) methods
+ this.hex = function(s) {
+ return rstr2hex(rstr(s, utf8), hexcase);
+ };
+ this.b64 = function(s) {
+ return rstr2b64(rstr(s), b64pad);
+ };
+ this.any = function(s, e) {
+ return rstr2any(rstr(s, utf8), e);
+ };
+ this.raw = function(s) {
+ return rstr(s, utf8);
+ };
+ this.hex_hmac = function(k, d) {
+ return rstr2hex(rstr_hmac(k, d), hexcase);
+ };
+ this.b64_hmac = function(k, d) {
+ return rstr2b64(rstr_hmac(k, d), b64pad);
+ };
+ this.any_hmac = function(k, d, e) {
+ return rstr2any(rstr_hmac(k, d), e);
+ };
+ /**
+ * Perform a simple self-test to see if the VM is working
+ * @return {String} Hexadecimal hash sample
+ */
+ this.vm_test = function() {
+ return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+ };
+ /**
+ * Enable/disable uppercase hexadecimal returned string
+ * @param {Boolean}
+ * @return {Object} this
+ */
+ this.setUpperCase = function(a) {
+ if (typeof a === 'boolean') {
+ hexcase = a;
+ }
+ return this;
+ };
+ /**
+ * Defines a base64 pad string
+ * @param {String} Pad
+ * @return {Object} this
+ */
+ this.setPad = function(a) {
+ b64pad = a || b64pad;
+ return this;
+ };
+ /**
+ * Defines a base64 pad string
+ * @param {Boolean}
+ * @return {Object} [this]
+ */
+ this.setUTF8 = function(a) {
+ if (typeof a === 'boolean') {
+ utf8 = a;
+ }
+ return this;
+ };
+
+ // private methods
+
+ /**
+ * Calculate the MD5 of a raw string
+ */
+
+ function rstr(s) {
+ s = (utf8) ? utf8Encode(s) : s;
+ return binl2rstr(binl(rstr2binl(s), s.length * 8));
+ }
+
+ /**
+ * Calculate the HMAC-MD5, of a key and some data (raw strings)
+ */
+
+ function rstr_hmac(key, data) {
+ var bkey, ipad, opad, hash, i;
+
+ key = (utf8) ? utf8Encode(key) : key;
+ data = (utf8) ? utf8Encode(data) : data;
+ bkey = rstr2binl(key);
+ if (bkey.length > 16) {
+ bkey = binl(bkey, key.length * 8);
+ }
+
+ ipad = Array(16), opad = Array(16);
+ for (i = 0; i < 16; i += 1) {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+ hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+ return binl2rstr(binl(opad.concat(hash), 512 + 128));
+ }
+
+ /**
+ * Calculate the MD5 of an array of little-endian words, and a bit length.
+ */
+
+ function binl(x, len) {
+ var i, olda, oldb, oldc, oldd,
+ a = 1732584193,
+ b = -271733879,
+ c = -1732584194,
+ d = 271733878;
+
+ /* append padding */
+ x[len >> 5] |= 0x80 << ((len) % 32);
+ x[(((len + 64) >>> 9) << 4) + 14] = len;
+
+ for (i = 0; i < x.length; i += 16) {
+ olda = a;
+ oldb = b;
+ oldc = c;
+ oldd = d;
+
+ a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
+ d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
+ c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
+ b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
+ a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
+ d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
+ c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
+ b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
+ a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
+ d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
+ c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
+ b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
+ a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
+ d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
+ c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
+ b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
+
+ a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
+ d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
+ c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
+ b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
+ a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
+ d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
+ c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
+ b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
+ a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
+ d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
+ c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
+ b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
+ a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
+ d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
+ c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
+ b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
+
+ a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
+ d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
+ c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
+ b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
+ a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
+ d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
+ c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
+ b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
+ a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
+ d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
+ c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
+ b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
+ a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
+ d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
+ c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
+ b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
+
+ a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
+ d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
+ c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
+ b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
+ a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
+ d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
+ c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
+ b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
+ a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
+ d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
+ c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
+ b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
+ a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
+ d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
+ c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
+ b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
+
+ a = safe_add(a, olda);
+ b = safe_add(b, oldb);
+ c = safe_add(c, oldc);
+ d = safe_add(d, oldd);
+ }
+ return Array(a, b, c, d);
+ }
+
+ /**
+ * These functions implement the four basic operations the algorithm uses.
+ */
+
+ function md5_cmn(q, a, b, x, s, t) {
+ return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
+ }
+
+ function md5_ff(a, b, c, d, x, s, t) {
+ return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
+ }
+
+ function md5_gg(a, b, c, d, x, s, t) {
+ return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
+ }
+
+ function md5_hh(a, b, c, d, x, s, t) {
+ return md5_cmn(b ^ c ^ d, a, b, x, s, t);
+ }
+
+ function md5_ii(a, b, c, d, x, s, t) {
+ return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
+ }
+ },
+ /**
+ * @member Hashes
+ * @class Hashes.SHA1
+ * @param {Object} [config]
+ * @constructor
+ *
+ * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1
+ * Version 2.2 Copyright Paul Johnston 2000 - 2009.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ */
+ SHA1: function(options) {
+ /**
+ * Private config properties. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+ */
+ var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+ b64pad = (options && typeof options.pad === 'string') ? options.pad : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+ utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
+
+ // public methods
+ this.hex = function(s) {
+ return rstr2hex(rstr(s, utf8), hexcase);
+ };
+ this.b64 = function(s) {
+ return rstr2b64(rstr(s, utf8), b64pad);
+ };
+ this.any = function(s, e) {
+ return rstr2any(rstr(s, utf8), e);
+ };
+ this.raw = function(s) {
+ return rstr(s, utf8);
+ };
+ this.hex_hmac = function(k, d) {
+ return rstr2hex(rstr_hmac(k, d));
+ };
+ this.b64_hmac = function(k, d) {
+ return rstr2b64(rstr_hmac(k, d), b64pad);
+ };
+ this.any_hmac = function(k, d, e) {
+ return rstr2any(rstr_hmac(k, d), e);
+ };
+ /**
+ * Perform a simple self-test to see if the VM is working
+ * @return {String} Hexadecimal hash sample
+ * @public
+ */
+ this.vm_test = function() {
+ return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+ };
+ /**
+ * @description Enable/disable uppercase hexadecimal returned string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUpperCase = function(a) {
+ if (typeof a === 'boolean') {
+ hexcase = a;
+ }
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {string} Pad
+ * @return {Object} this
+ * @public
+ */
+ this.setPad = function(a) {
+ b64pad = a || b64pad;
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUTF8 = function(a) {
+ if (typeof a === 'boolean') {
+ utf8 = a;
+ }
+ return this;
+ };
+
+ // private methods
+
+ /**
+ * Calculate the SHA-512 of a raw string
+ */
+
+ function rstr(s) {
+ s = (utf8) ? utf8Encode(s) : s;
+ return binb2rstr(binb(rstr2binb(s), s.length * 8));
+ }
+
+ /**
+ * Calculate the HMAC-SHA1 of a key and some data (raw strings)
+ */
+
+ function rstr_hmac(key, data) {
+ var bkey, ipad, opad, i, hash;
+ key = (utf8) ? utf8Encode(key) : key;
+ data = (utf8) ? utf8Encode(data) : data;
+ bkey = rstr2binb(key);
+
+ if (bkey.length > 16) {
+ bkey = binb(bkey, key.length * 8);
+ }
+ ipad = Array(16), opad = Array(16);
+ for (i = 0; i < 16; i += 1) {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+ hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+ return binb2rstr(binb(opad.concat(hash), 512 + 160));
+ }
+
+ /**
+ * Calculate the SHA-1 of an array of big-endian words, and a bit length
+ */
+
+ function binb(x, len) {
+ var i, j, t, olda, oldb, oldc, oldd, olde,
+ w = Array(80),
+ a = 1732584193,
+ b = -271733879,
+ c = -1732584194,
+ d = 271733878,
+ e = -1009589776;
+
+ /* append padding */
+ x[len >> 5] |= 0x80 << (24 - len % 32);
+ x[((len + 64 >> 9) << 4) + 15] = len;
+
+ for (i = 0; i < x.length; i += 16) {
+ olda = a;
+ oldb = b;
+ oldc = c;
+ oldd = d;
+ olde = e;
+
+ for (j = 0; j < 80; j += 1) {
+ if (j < 16) {
+ w[j] = x[i + j];
+ } else {
+ w[j] = bit_rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);
+ }
+ t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),
+ safe_add(safe_add(e, w[j]), sha1_kt(j)));
+ e = d;
+ d = c;
+ c = bit_rol(b, 30);
+ b = a;
+ a = t;
+ }
+
+ a = safe_add(a, olda);
+ b = safe_add(b, oldb);
+ c = safe_add(c, oldc);
+ d = safe_add(d, oldd);
+ e = safe_add(e, olde);
+ }
+ return Array(a, b, c, d, e);
+ }
+
+ /**
+ * Perform the appropriate triplet combination function for the current
+ * iteration
+ */
+
+ function sha1_ft(t, b, c, d) {
+ if (t < 20) {
+ return (b & c) | ((~b) & d);
+ }
+ if (t < 40) {
+ return b ^ c ^ d;
+ }
+ if (t < 60) {
+ return (b & c) | (b & d) | (c & d);
+ }
+ return b ^ c ^ d;
+ }
+
+ /**
+ * Determine the appropriate additive constant for the current iteration
+ */
+
+ function sha1_kt(t) {
+ return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
+ (t < 60) ? -1894007588 : -899497514;
+ }
+ },
+ /**
+ * @class Hashes.SHA256
+ * @param {config}
+ *
+ * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2
+ * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ * Also http://anmar.eu.org/projects/jssha2/
+ */
+ SHA256: function(options) {
+ /**
+ * Private properties configuration variables. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ * @see this.setUpperCase() method
+ * @see this.setPad() method
+ */
+ var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase */
+ b64pad = (options && typeof options.pad === 'string') ? options.pad : '=',
+ /* base-64 pad character. Default '=' for strict RFC compliance */
+ utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+ /* enable/disable utf8 encoding */
+ sha256_K;
+
+ /* privileged (public) methods */
+ this.hex = function(s) {
+ return rstr2hex(rstr(s, utf8));
+ };
+ this.b64 = function(s) {
+ return rstr2b64(rstr(s, utf8), b64pad);
+ };
+ this.any = function(s, e) {
+ return rstr2any(rstr(s, utf8), e);
+ };
+ this.raw = function(s) {
+ return rstr(s, utf8);
+ };
+ this.hex_hmac = function(k, d) {
+ return rstr2hex(rstr_hmac(k, d));
+ };
+ this.b64_hmac = function(k, d) {
+ return rstr2b64(rstr_hmac(k, d), b64pad);
+ };
+ this.any_hmac = function(k, d, e) {
+ return rstr2any(rstr_hmac(k, d), e);
+ };
+ /**
+ * Perform a simple self-test to see if the VM is working
+ * @return {String} Hexadecimal hash sample
+ * @public
+ */
+ this.vm_test = function() {
+ return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+ };
+ /**
+ * Enable/disable uppercase hexadecimal returned string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUpperCase = function(a) {
+ if (typeof a === 'boolean') {
+ hexcase = a;
+ }
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {string} Pad
+ * @return {Object} this
+ * @public
+ */
+ this.setPad = function(a) {
+ b64pad = a || b64pad;
+ return this;
+ };
+ /**
+ * Defines a base64 pad string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUTF8 = function(a) {
+ if (typeof a === 'boolean') {
+ utf8 = a;
+ }
+ return this;
+ };
+
+ // private methods
+
+ /**
+ * Calculate the SHA-512 of a raw string
+ */
+
+ function rstr(s, utf8) {
+ s = (utf8) ? utf8Encode(s) : s;
+ return binb2rstr(binb(rstr2binb(s), s.length * 8));
+ }
+
+ /**
+ * Calculate the HMAC-sha256 of a key and some data (raw strings)
+ */
+
+ function rstr_hmac(key, data) {
+ key = (utf8) ? utf8Encode(key) : key;
+ data = (utf8) ? utf8Encode(data) : data;
+ var hash, i = 0,
+ bkey = rstr2binb(key),
+ ipad = Array(16),
+ opad = Array(16);
+
+ if (bkey.length > 16) {
+ bkey = binb(bkey, key.length * 8);
+ }
+
+ for (; i < 16; i += 1) {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+
+ hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+ return binb2rstr(binb(opad.concat(hash), 512 + 256));
+ }
+
+ /*
+ * Main sha256 function, with its support functions
+ */
+
+ function sha256_S(X, n) {
+ return (X >>> n) | (X << (32 - n));
+ }
+
+ function sha256_R(X, n) {
+ return (X >>> n);
+ }
+
+ function sha256_Ch(x, y, z) {
+ return ((x & y) ^ ((~x) & z));
+ }
+
+ function sha256_Maj(x, y, z) {
+ return ((x & y) ^ (x & z) ^ (y & z));
+ }
+
+ function sha256_Sigma0256(x) {
+ return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));
+ }
+
+ function sha256_Sigma1256(x) {
+ return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));
+ }
+
+ function sha256_Gamma0256(x) {
+ return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));
+ }
+
+ function sha256_Gamma1256(x) {
+ return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));
+ }
+
+ sha256_K = [
+ 1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,
+ 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,
+ 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,
+ 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
+ 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885, -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,
+ 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
+ 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817, -965641998
+ ];
+
+ function binb(m, l) {
+ var HASH = [1779033703, -1150833019, 1013904242, -1521486534,
+ 1359893119, -1694144372, 528734635, 1541459225
+ ];
+ var W = new Array(64);
+ var a, b, c, d, e, f, g, h;
+ var i, j, T1, T2;
+
+ /* append padding */
+ m[l >> 5] |= 0x80 << (24 - l % 32);
+ m[((l + 64 >> 9) << 4) + 15] = l;
+
+ for (i = 0; i < m.length; i += 16) {
+ a = HASH[0];
+ b = HASH[1];
+ c = HASH[2];
+ d = HASH[3];
+ e = HASH[4];
+ f = HASH[5];
+ g = HASH[6];
+ h = HASH[7];
+
+ for (j = 0; j < 64; j += 1) {
+ if (j < 16) {
+ W[j] = m[j + i];
+ } else {
+ W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),
+ sha256_Gamma0256(W[j - 15])), W[j - 16]);
+ }
+
+ T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),
+ sha256_K[j]), W[j]);
+ T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));
+ h = g;
+ g = f;
+ f = e;
+ e = safe_add(d, T1);
+ d = c;
+ c = b;
+ b = a;
+ a = safe_add(T1, T2);
+ }
+
+ HASH[0] = safe_add(a, HASH[0]);
+ HASH[1] = safe_add(b, HASH[1]);
+ HASH[2] = safe_add(c, HASH[2]);
+ HASH[3] = safe_add(d, HASH[3]);
+ HASH[4] = safe_add(e, HASH[4]);
+ HASH[5] = safe_add(f, HASH[5]);
+ HASH[6] = safe_add(g, HASH[6]);
+ HASH[7] = safe_add(h, HASH[7]);
+ }
+ return HASH;
+ }
+
+ },
+
+ /**
+ * @class Hashes.SHA512
+ * @param {config}
+ *
+ * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2
+ * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ */
+ SHA512: function(options) {
+ /**
+ * Private properties configuration variables. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ * @see this.setUpperCase() method
+ * @see this.setPad() method
+ */
+ var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,
+ /* hexadecimal output case format. false - lowercase; true - uppercase */
+ b64pad = (options && typeof options.pad === 'string') ? options.pad : '=',
+ /* base-64 pad character. Default '=' for strict RFC compliance */
+ utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+ /* enable/disable utf8 encoding */
+ sha512_k;
+
+ /* privileged (public) methods */
+ this.hex = function(s) {
+ return rstr2hex(rstr(s));
+ };
+ this.b64 = function(s) {
+ return rstr2b64(rstr(s), b64pad);
+ };
+ this.any = function(s, e) {
+ return rstr2any(rstr(s), e);
+ };
+ this.raw = function(s) {
+ return rstr(s, utf8);
+ };
+ this.hex_hmac = function(k, d) {
+ return rstr2hex(rstr_hmac(k, d));
+ };
+ this.b64_hmac = function(k, d) {
+ return rstr2b64(rstr_hmac(k, d), b64pad);
+ };
+ this.any_hmac = function(k, d, e) {
+ return rstr2any(rstr_hmac(k, d), e);
+ };
+ /**
+ * Perform a simple self-test to see if the VM is working
+ * @return {String} Hexadecimal hash sample
+ * @public
+ */
+ this.vm_test = function() {
+ return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+ };
+ /**
+ * @description Enable/disable uppercase hexadecimal returned string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUpperCase = function(a) {
+ if (typeof a === 'boolean') {
+ hexcase = a;
+ }
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {string} Pad
+ * @return {Object} this
+ * @public
+ */
+ this.setPad = function(a) {
+ b64pad = a || b64pad;
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUTF8 = function(a) {
+ if (typeof a === 'boolean') {
+ utf8 = a;
+ }
+ return this;
+ };
+
+ /* private methods */
+
+ /**
+ * Calculate the SHA-512 of a raw string
+ */
+
+ function rstr(s) {
+ s = (utf8) ? utf8Encode(s) : s;
+ return binb2rstr(binb(rstr2binb(s), s.length * 8));
+ }
+ /*
+ * Calculate the HMAC-SHA-512 of a key and some data (raw strings)
+ */
+
+ function rstr_hmac(key, data) {
+ key = (utf8) ? utf8Encode(key) : key;
+ data = (utf8) ? utf8Encode(data) : data;
+
+ var hash, i = 0,
+ bkey = rstr2binb(key),
+ ipad = Array(32),
+ opad = Array(32);
+
+ if (bkey.length > 32) {
+ bkey = binb(bkey, key.length * 8);
+ }
+
+ for (; i < 32; i += 1) {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+
+ hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
+ return binb2rstr(binb(opad.concat(hash), 1024 + 512));
+ }
+
+ /**
+ * Calculate the SHA-512 of an array of big-endian dwords, and a bit length
+ */
+
+ function binb(x, len) {
+ var j, i, l,
+ W = new Array(80),
+ hash = new Array(16),
+ //Initial hash values
+ H = [
+ new int64(0x6a09e667, -205731576),
+ new int64(-1150833019, -2067093701),
+ new int64(0x3c6ef372, -23791573),
+ new int64(-1521486534, 0x5f1d36f1),
+ new int64(0x510e527f, -1377402159),
+ new int64(-1694144372, 0x2b3e6c1f),
+ new int64(0x1f83d9ab, -79577749),
+ new int64(0x5be0cd19, 0x137e2179)
+ ],
+ T1 = new int64(0, 0),
+ T2 = new int64(0, 0),
+ a = new int64(0, 0),
+ b = new int64(0, 0),
+ c = new int64(0, 0),
+ d = new int64(0, 0),
+ e = new int64(0, 0),
+ f = new int64(0, 0),
+ g = new int64(0, 0),
+ h = new int64(0, 0),
+ //Temporary variables not specified by the document
+ s0 = new int64(0, 0),
+ s1 = new int64(0, 0),
+ Ch = new int64(0, 0),
+ Maj = new int64(0, 0),
+ r1 = new int64(0, 0),
+ r2 = new int64(0, 0),
+ r3 = new int64(0, 0);
+
+ if (sha512_k === undefined) {
+ //SHA512 constants
+ sha512_k = [
+ new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
+ new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
+ new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
+ new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
+ new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
+ new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
+ new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
+ new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
+ new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
+ new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
+ new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
+ new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
+ new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
+ new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
+ new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
+ new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
+ new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
+ new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
+ new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
+ new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
+ new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
+ new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
+ new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
+ new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
+ new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
+ new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
+ new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
+ new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
+ new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
+ new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
+ new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
+ new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
+ new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
+ new int64(-354779690, -840897762), new int64(-176337025, -294727304),
+ new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
+ new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
+ new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
+ new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
+ new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
+ new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)
+ ];
+ }
+
+ for (i = 0; i < 80; i += 1) {
+ W[i] = new int64(0, 0);
+ }
+
+ // append padding to the source string. The format is described in the FIPS.
+ x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
+ x[((len + 128 >> 10) << 5) + 31] = len;
+ l = x.length;
+ for (i = 0; i < l; i += 32) { //32 dwords is the block size
+ int64copy(a, H[0]);
+ int64copy(b, H[1]);
+ int64copy(c, H[2]);
+ int64copy(d, H[3]);
+ int64copy(e, H[4]);
+ int64copy(f, H[5]);
+ int64copy(g, H[6]);
+ int64copy(h, H[7]);
+
+ for (j = 0; j < 16; j += 1) {
+ W[j].h = x[i + 2 * j];
+ W[j].l = x[i + 2 * j + 1];
+ }
+
+ for (j = 16; j < 80; j += 1) {
+ //sigma1
+ int64rrot(r1, W[j - 2], 19);
+ int64revrrot(r2, W[j - 2], 29);
+ int64shr(r3, W[j - 2], 6);
+ s1.l = r1.l ^ r2.l ^ r3.l;
+ s1.h = r1.h ^ r2.h ^ r3.h;
+ //sigma0
+ int64rrot(r1, W[j - 15], 1);
+ int64rrot(r2, W[j - 15], 8);
+ int64shr(r3, W[j - 15], 7);
+ s0.l = r1.l ^ r2.l ^ r3.l;
+ s0.h = r1.h ^ r2.h ^ r3.h;
+
+ int64add4(W[j], s1, W[j - 7], s0, W[j - 16]);
+ }
+
+ for (j = 0; j < 80; j += 1) {
+ //Ch
+ Ch.l = (e.l & f.l) ^ (~e.l & g.l);
+ Ch.h = (e.h & f.h) ^ (~e.h & g.h);
+
+ //Sigma1
+ int64rrot(r1, e, 14);
+ int64rrot(r2, e, 18);
+ int64revrrot(r3, e, 9);
+ s1.l = r1.l ^ r2.l ^ r3.l;
+ s1.h = r1.h ^ r2.h ^ r3.h;
+
+ //Sigma0
+ int64rrot(r1, a, 28);
+ int64revrrot(r2, a, 2);
+ int64revrrot(r3, a, 7);
+ s0.l = r1.l ^ r2.l ^ r3.l;
+ s0.h = r1.h ^ r2.h ^ r3.h;
+
+ //Maj
+ Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
+ Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
+
+ int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
+ int64add(T2, s0, Maj);
+
+ int64copy(h, g);
+ int64copy(g, f);
+ int64copy(f, e);
+ int64add(e, d, T1);
+ int64copy(d, c);
+ int64copy(c, b);
+ int64copy(b, a);
+ int64add(a, T1, T2);
+ }
+ int64add(H[0], H[0], a);
+ int64add(H[1], H[1], b);
+ int64add(H[2], H[2], c);
+ int64add(H[3], H[3], d);
+ int64add(H[4], H[4], e);
+ int64add(H[5], H[5], f);
+ int64add(H[6], H[6], g);
+ int64add(H[7], H[7], h);
+ }
+
+ //represent the hash as an array of 32-bit dwords
+ for (i = 0; i < 8; i += 1) {
+ hash[2 * i] = H[i].h;
+ hash[2 * i + 1] = H[i].l;
+ }
+ return hash;
+ }
+
+ //A constructor for 64-bit numbers
+
+ function int64(h, l) {
+ this.h = h;
+ this.l = l;
+ //this.toString = int64toString;
+ }
+
+ //Copies src into dst, assuming both are 64-bit numbers
+
+ function int64copy(dst, src) {
+ dst.h = src.h;
+ dst.l = src.l;
+ }
+
+ //Right-rotates a 64-bit number by shift
+ //Won't handle cases of shift>=32
+ //The function revrrot() is for that
+
+ function int64rrot(dst, x, shift) {
+ dst.l = (x.l >>> shift) | (x.h << (32 - shift));
+ dst.h = (x.h >>> shift) | (x.l << (32 - shift));
+ }
+
+ //Reverses the dwords of the source and then rotates right by shift.
+ //This is equivalent to rotation by 32+shift
+
+ function int64revrrot(dst, x, shift) {
+ dst.l = (x.h >>> shift) | (x.l << (32 - shift));
+ dst.h = (x.l >>> shift) | (x.h << (32 - shift));
+ }
+
+ //Bitwise-shifts right a 64-bit number by shift
+ //Won't handle shift>=32, but it's never needed in SHA512
+
+ function int64shr(dst, x, shift) {
+ dst.l = (x.l >>> shift) | (x.h << (32 - shift));
+ dst.h = (x.h >>> shift);
+ }
+
+ //Adds two 64-bit numbers
+ //Like the original implementation, does not rely on 32-bit operations
+
+ function int64add(dst, x, y) {
+ var w0 = (x.l & 0xffff) + (y.l & 0xffff);
+ var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
+ var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
+ var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
+ dst.l = (w0 & 0xffff) | (w1 << 16);
+ dst.h = (w2 & 0xffff) | (w3 << 16);
+ }
+
+ //Same, except with 4 addends. Works faster than adding them one by one.
+
+ function int64add4(dst, a, b, c, d) {
+ var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
+ var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
+ var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
+ var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
+ dst.l = (w0 & 0xffff) | (w1 << 16);
+ dst.h = (w2 & 0xffff) | (w3 << 16);
+ }
+
+ //Same, except with 5 addends
+
+ function int64add5(dst, a, b, c, d, e) {
+ var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),
+ w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),
+ w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),
+ w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
+ dst.l = (w0 & 0xffff) | (w1 << 16);
+ dst.h = (w2 & 0xffff) | (w3 << 16);
+ }
+ },
+ /**
+ * @class Hashes.RMD160
+ * @constructor
+ * @param {Object} [config]
+ *
+ * A JavaScript implementation of the RIPEMD-160 Algorithm
+ * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
+ */
+ RMD160: function(options) {
+ /**
+ * Private properties configuration variables. You may need to tweak these to be compatible with
+ * the server-side, but the defaults work in most cases.
+ * @see this.setUpperCase() method
+ * @see this.setPad() method
+ */
+ var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,
+ /* hexadecimal output case format. false - lowercase; true - uppercase */
+ b64pad = (options && typeof options.pad === 'string') ? options.pa : '=',
+ /* base-64 pad character. Default '=' for strict RFC compliance */
+ utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true,
+ /* enable/disable utf8 encoding */
+ rmd160_r1 = [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
+ 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
+ 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
+ 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
+ ],
+ rmd160_r2 = [
+ 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
+ 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
+ 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
+ 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
+ 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
+ ],
+ rmd160_s1 = [
+ 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
+ 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
+ 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
+ 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
+ 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
+ ],
+ rmd160_s2 = [
+ 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
+ 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
+ 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
+ 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
+ 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
+ ];
+
+ /* privileged (public) methods */
+ this.hex = function(s) {
+ return rstr2hex(rstr(s, utf8));
+ };
+ this.b64 = function(s) {
+ return rstr2b64(rstr(s, utf8), b64pad);
+ };
+ this.any = function(s, e) {
+ return rstr2any(rstr(s, utf8), e);
+ };
+ this.raw = function(s) {
+ return rstr(s, utf8);
+ };
+ this.hex_hmac = function(k, d) {
+ return rstr2hex(rstr_hmac(k, d));
+ };
+ this.b64_hmac = function(k, d) {
+ return rstr2b64(rstr_hmac(k, d), b64pad);
+ };
+ this.any_hmac = function(k, d, e) {
+ return rstr2any(rstr_hmac(k, d), e);
+ };
+ /**
+ * Perform a simple self-test to see if the VM is working
+ * @return {String} Hexadecimal hash sample
+ * @public
+ */
+ this.vm_test = function() {
+ return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+ };
+ /**
+ * @description Enable/disable uppercase hexadecimal returned string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUpperCase = function(a) {
+ if (typeof a === 'boolean') {
+ hexcase = a;
+ }
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {string} Pad
+ * @return {Object} this
+ * @public
+ */
+ this.setPad = function(a) {
+ if (typeof a !== 'undefined') {
+ b64pad = a;
+ }
+ return this;
+ };
+ /**
+ * @description Defines a base64 pad string
+ * @param {boolean}
+ * @return {Object} this
+ * @public
+ */
+ this.setUTF8 = function(a) {
+ if (typeof a === 'boolean') {
+ utf8 = a;
+ }
+ return this;
+ };
+
+ /* private methods */
+
+ /**
+ * Calculate the rmd160 of a raw string
+ */
+
+ function rstr(s) {
+ s = (utf8) ? utf8Encode(s) : s;
+ return binl2rstr(binl(rstr2binl(s), s.length * 8));
+ }
+
+ /**
+ * Calculate the HMAC-rmd160 of a key and some data (raw strings)
+ */
+
+ function rstr_hmac(key, data) {
+ key = (utf8) ? utf8Encode(key) : key;
+ data = (utf8) ? utf8Encode(data) : data;
+ var i, hash,
+ bkey = rstr2binl(key),
+ ipad = Array(16),
+ opad = Array(16);
+
+ if (bkey.length > 16) {
+ bkey = binl(bkey, key.length * 8);
+ }
+
+ for (i = 0; i < 16; i += 1) {
+ ipad[i] = bkey[i] ^ 0x36363636;
+ opad[i] = bkey[i] ^ 0x5C5C5C5C;
+ }
+ hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+ return binl2rstr(binl(opad.concat(hash), 512 + 160));
+ }
+
+ /**
+ * Convert an array of little-endian words to a string
+ */
+
+ function binl2rstr(input) {
+ var i, output = '',
+ l = input.length * 32;
+ for (i = 0; i < l; i += 8) {
+ output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);
+ }
+ return output;
+ }
+
+ /**
+ * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.
+ */
+
+ function binl(x, len) {
+ var T, j, i, l,
+ h0 = 0x67452301,
+ h1 = 0xefcdab89,
+ h2 = 0x98badcfe,
+ h3 = 0x10325476,
+ h4 = 0xc3d2e1f0,
+ A1, B1, C1, D1, E1,
+ A2, B2, C2, D2, E2;
+
+ /* append padding */
+ x[len >> 5] |= 0x80 << (len % 32);
+ x[(((len + 64) >>> 9) << 4) + 14] = len;
+ l = x.length;
+
+ for (i = 0; i < l; i += 16) {
+ A1 = A2 = h0;
+ B1 = B2 = h1;
+ C1 = C2 = h2;
+ D1 = D2 = h3;
+ E1 = E2 = h4;
+ for (j = 0; j <= 79; j += 1) {
+ T = safe_add(A1, rmd160_f(j, B1, C1, D1));
+ T = safe_add(T, x[i + rmd160_r1[j]]);
+ T = safe_add(T, rmd160_K1(j));
+ T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
+ A1 = E1;
+ E1 = D1;
+ D1 = bit_rol(C1, 10);
+ C1 = B1;
+ B1 = T;
+ T = safe_add(A2, rmd160_f(79 - j, B2, C2, D2));
+ T = safe_add(T, x[i + rmd160_r2[j]]);
+ T = safe_add(T, rmd160_K2(j));
+ T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
+ A2 = E2;
+ E2 = D2;
+ D2 = bit_rol(C2, 10);
+ C2 = B2;
+ B2 = T;
+ }
+
+ T = safe_add(h1, safe_add(C1, D2));
+ h1 = safe_add(h2, safe_add(D1, E2));
+ h2 = safe_add(h3, safe_add(E1, A2));
+ h3 = safe_add(h4, safe_add(A1, B2));
+ h4 = safe_add(h0, safe_add(B1, C2));
+ h0 = T;
+ }
+ return [h0, h1, h2, h3, h4];
+ }
+
+ // specific algorithm methods
+
+ function rmd160_f(j, x, y, z) {
+ return (0 <= j && j <= 15) ? (x ^ y ^ z) :
+ (16 <= j && j <= 31) ? (x & y) | (~x & z) :
+ (32 <= j && j <= 47) ? (x | ~y) ^ z :
+ (48 <= j && j <= 63) ? (x & z) | (y & ~z) :
+ (64 <= j && j <= 79) ? x ^ (y | ~z) :
+ 'rmd160_f: j out of range';
+ }
+
+ function rmd160_K1(j) {
+ return (0 <= j && j <= 15) ? 0x00000000 :
+ (16 <= j && j <= 31) ? 0x5a827999 :
+ (32 <= j && j <= 47) ? 0x6ed9eba1 :
+ (48 <= j && j <= 63) ? 0x8f1bbcdc :
+ (64 <= j && j <= 79) ? 0xa953fd4e :
+ 'rmd160_K1: j out of range';
+ }
+
+ function rmd160_K2(j) {
+ return (0 <= j && j <= 15) ? 0x50a28be6 :
+ (16 <= j && j <= 31) ? 0x5c4dd124 :
+ (32 <= j && j <= 47) ? 0x6d703ef3 :
+ (48 <= j && j <= 63) ? 0x7a6d76e9 :
+ (64 <= j && j <= 79) ? 0x00000000 :
+ 'rmd160_K2: j out of range';
+ }
+ }
+ };
+
+ // exposes Hashes
+ (function(window, undefined) {
+ var freeExports = false;
+ {
+ freeExports = exports;
+ if (exports && typeof commonjsGlobal === 'object' && commonjsGlobal && commonjsGlobal === commonjsGlobal.global) {
+ window = commonjsGlobal;
+ }
+ }
+
+ if (typeof undefined === 'function' && typeof undefined.amd === 'object' && undefined.amd) {
+ // define as an anonymous module, so, through path mapping, it can be aliased
+ undefined(function() {
+ return Hashes;
+ });
+ } else if (freeExports) {
+ // in Node.js or RingoJS v0.8.0+
+ if (module && module.exports === freeExports) {
+ module.exports = Hashes;
+ }
+ // in Narwhal or RingoJS v0.7.0-
+ else {
+ freeExports.Hashes = Hashes;
+ }
+ } else {
+ // in a browser or Rhino
+ window.Hashes = Hashes;
+ }
+ }(this));
+ }()); // IIFE
+ });
+
+ var hashes$1 = /*#__PURE__*/Object.freeze({
+ default: hashes,
+ __moduleExports: hashes
+ });
+
+ var immutable = extend$2;
+
+ var hasOwnProperty$16 = Object.prototype.hasOwnProperty;
+
+ function extend$2() {
+ var target = {};
+
+ for (var i = 0; i < arguments.length; i++) {
+ var source = arguments[i];
+
+ for (var key in source) {
+ if (hasOwnProperty$16.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+
+ return target
+ }
+
+ var immutable$1 = /*#__PURE__*/Object.freeze({
+ default: immutable,
+ __moduleExports: immutable
+ });
+
+ var hashes$2 = ( hashes$1 && hashes ) || hashes$1;
+
+ var xtend = ( immutable$1 && immutable ) || immutable$1;
+
+ var sha1 = new hashes$2.SHA1();
+
+ var ohauth = {};
+
+ ohauth.qsString = function(obj) {
+ return Object.keys(obj).sort().map(function(key) {
+ return ohauth.percentEncode(key) + '=' +
+ ohauth.percentEncode(obj[key]);
+ }).join('&');
+ };
+
+ ohauth.stringQs = function(str) {
+ return str.split('&').filter(function (pair) {
+ return pair !== '';
+ }).reduce(function(obj, pair){
+ var parts = pair.split('=');
+ obj[decodeURIComponent(parts[0])] = (null === parts[1]) ?
+ '' : decodeURIComponent(parts[1]);
+ return obj;
+ }, {});
+ };
+
+ ohauth.rawxhr = function(method, url, data, headers, callback) {
+ var xhr = new XMLHttpRequest(),
+ twoHundred = /^20\d$/;
+ xhr.onreadystatechange = function() {
+ if (4 === xhr.readyState && 0 !== xhr.status) {
+ if (twoHundred.test(xhr.status)) callback(null, xhr);
+ else return callback(xhr, null);
+ }
+ };
+ xhr.onerror = function(e) { return callback(e, null); };
+ xhr.open(method, url, true);
+ for (var h in headers) xhr.setRequestHeader(h, headers[h]);
+ xhr.send(data);
+ return xhr;
+ };
+
+ ohauth.xhr = function(method, url, auth, data, options, callback) {
+ var headers = (options && options.header) || {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ };
+ headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
+ return ohauth.rawxhr(method, url, data, headers, callback);
+ };
+
+ ohauth.nonce = function() {
+ for (var o = ''; o.length < 6;) {
+ o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
+ }
+ return o;
+ };
+
+ ohauth.authHeader = function(obj) {
+ return Object.keys(obj).sort().map(function(key) {
+ return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
+ }).join(', ');
+ };
+
+ ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
+
+ ohauth.percentEncode = function(s) {
+ return encodeURIComponent(s)
+ .replace(/\!/g, '%21').replace(/\'/g, '%27')
+ .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
+ };
+
+ ohauth.baseString = function(method, url, params) {
+ if (params.oauth_signature) delete params.oauth_signature;
+ return [
+ method,
+ ohauth.percentEncode(url),
+ ohauth.percentEncode(ohauth.qsString(params))].join('&');
+ };
+
+ ohauth.signature = function(oauth_secret, token_secret, baseString) {
+ return sha1.b64_hmac(
+ ohauth.percentEncode(oauth_secret) + '&' +
+ ohauth.percentEncode(token_secret),
+ baseString);
+ };
+
+ /**
+ * Takes an options object for configuration (consumer_key,
+ * consumer_secret, version, signature_method, token, token_secret)
+ * and returns a function that generates the Authorization header
+ * for given data.
+ *
+ * The returned function takes these parameters:
+ * - method: GET/POST/...
+ * - uri: full URI with protocol, port, path and query string
+ * - extra_params: any extra parameters (that are passed in the POST data),
+ * can be an object or a from-urlencoded string.
+ *
+ * Returned function returns full OAuth header with "OAuth" string in it.
+ */
+
+ ohauth.headerGenerator = function(options) {
+ options = options || {};
+ var consumer_key = options.consumer_key || '',
+ consumer_secret = options.consumer_secret || '',
+ signature_method = options.signature_method || 'HMAC-SHA1',
+ version = options.version || '1.0',
+ token = options.token || '',
+ token_secret = options.token_secret || '';
+
+ return function(method, uri, extra_params) {
+ method = method.toUpperCase();
+ if (typeof extra_params === 'string' && extra_params.length > 0) {
+ extra_params = ohauth.stringQs(extra_params);
+ }
+
+ var uri_parts = uri.split('?', 2),
+ base_uri = uri_parts[0];
+
+ var query_params = uri_parts.length === 2 ?
+ ohauth.stringQs(uri_parts[1]) : {};
+
+ var oauth_params = {
+ oauth_consumer_key: consumer_key,
+ oauth_signature_method: signature_method,
+ oauth_version: version,
+ oauth_timestamp: ohauth.timestamp(),
+ oauth_nonce: ohauth.nonce()
+ };
+
+ if (token) oauth_params.oauth_token = token;
+
+ var all_params = xtend({}, oauth_params, query_params, extra_params),
+ base_str = ohauth.baseString(method, base_uri, all_params);
+
+ oauth_params.oauth_signature = ohauth.signature(consumer_secret, token_secret, base_str);
+
+ return 'OAuth ' + ohauth.authHeader(oauth_params);
+ };
+ };
+
+ var ohauth_1 = ohauth;
+
+ var ohauth$1 = /*#__PURE__*/Object.freeze({
+ default: ohauth_1,
+ __moduleExports: ohauth_1
+ });
+
+ var resolveUrl = createCommonjsModule(function (module, exports) {
+ // Copyright 2014 Simon Lydell
+ // X11 (“MIT”) Licensed. (See LICENSE.)
+
+ void (function(root, factory) {
+ if (typeof undefined === "function" && undefined.amd) {
+ undefined(factory);
+ } else {
+ module.exports = factory();
+ }
+ }(commonjsGlobal, function() {
+
+ function resolveUrl(/* ...urls */) {
+ var numUrls = arguments.length;
+
+ if (numUrls === 0) {
+ throw new Error("resolveUrl requires at least one argument; got none.")
+ }
+
+ var base = document.createElement("base");
+ base.href = arguments[0];
+
+ if (numUrls === 1) {
+ return base.href
+ }
+
+ var head = document.getElementsByTagName("head")[0];
+ head.insertBefore(base, head.firstChild);
+
+ var a = document.createElement("a");
+ var resolved;
+
+ for (var index = 1; index < numUrls; index++) {
+ a.href = arguments[index];
+ resolved = a.href;
+ base.href = resolved;
+ }
+
+ head.removeChild(base);
+
+ return resolved
+ }
+
+ return resolveUrl
+
+ }));
+ });
+
+ var resolveUrl$1 = /*#__PURE__*/Object.freeze({
+ default: resolveUrl,
+ __moduleExports: resolveUrl
+ });
+
+ var assign$1 = make_assign();
+ var create$2 = make_create();
+ var trim = make_trim();
+ var Global = (typeof window !== 'undefined' ? window : commonjsGlobal);
+
+ var util = {
+ assign: assign$1,
+ create: create$2,
+ trim: trim,
+ bind: bind,
+ slice: slice$7,
+ each: each,
+ map: map$4,
+ pluck: pluck,
+ isList: isList,
+ isFunction: isFunction$1,
+ isObject: isObject$1,
+ Global: Global
+ };
+
+ function make_assign() {
+ if (Object.assign) {
+ return Object.assign
+ } else {
+ return function shimAssign(obj, props1, props2, etc) {
+ for (var i = 1; i < arguments.length; i++) {
+ each(Object(arguments[i]), function(val, key) {
+ obj[key] = val;
+ });
+ }
+ return obj
+ }
+ }
+ }
+
+ function make_create() {
+ if (Object.create) {
+ return function create(obj, assignProps1, assignProps2, etc) {
+ var assignArgsList = slice$7(arguments, 1);
+ return assign$1.apply(this, [Object.create(obj)].concat(assignArgsList))
+ }
+ } else {
+ function F() {} // eslint-disable-line no-inner-declarations
+ return function create(obj, assignProps1, assignProps2, etc) {
+ var assignArgsList = slice$7(arguments, 1);
+ F.prototype = obj;
+ return assign$1.apply(this, [new F()].concat(assignArgsList))
+ }
+ }
+ }
+
+ function make_trim() {
+ if (String.prototype.trim) {
+ return function trim(str) {
+ return String.prototype.trim.call(str)
+ }
+ } else {
+ return function trim(str) {
+ return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')
+ }
+ }
+ }
+
+ function bind(obj, fn) {
+ return function() {
+ return fn.apply(obj, Array.prototype.slice.call(arguments, 0))
+ }
+ }
+
+ function slice$7(arr, index) {
+ return Array.prototype.slice.call(arr, index || 0)
+ }
+
+ function each(obj, fn) {
+ pluck(obj, function(val, key) {
+ fn(val, key);
+ return false
+ });
+ }
+
+ function map$4(obj, fn) {
+ var res = (isList(obj) ? [] : {});
+ pluck(obj, function(v, k) {
+ res[k] = fn(v, k);
+ return false
+ });
+ return res
+ }
+
+ function pluck(obj, fn) {
+ if (isList(obj)) {
+ for (var i=0; i<obj.length; i++) {
+ if (fn(obj[i], i)) {
+ return obj[i]
+ }
+ }
+ } else {
+ for (var key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ if (fn(obj[key], key)) {
+ return obj[key]
+ }
+ }
+ }
+ }
+ }
+
+ function isList(val) {
+ return (val != null && typeof val != 'function' && typeof val.length == 'number')
+ }
+
+ function isFunction$1(val) {
+ return val && {}.toString.call(val) === '[object Function]'
+ }
+
+ function isObject$1(val) {
+ return val && {}.toString.call(val) === '[object Object]'
+ }
+ var util_1 = util.assign;
+ var util_2 = util.create;
+ var util_3 = util.trim;
+ var util_4 = util.bind;
+ var util_5 = util.slice;
+ var util_6 = util.each;
+ var util_7 = util.map;
+ var util_8 = util.pluck;
+ var util_9 = util.isList;
+ var util_10 = util.isFunction;
+ var util_11 = util.isObject;
+ var util_12 = util.Global;
+
+ var util$1 = /*#__PURE__*/Object.freeze({
+ default: util,
+ __moduleExports: util,
+ assign: util_1,
+ create: util_2,
+ trim: util_3,
+ bind: util_4,
+ slice: util_5,
+ each: util_6,
+ map: util_7,
+ pluck: util_8,
+ isList: util_9,
+ isFunction: util_10,
+ isObject: util_11,
+ Global: util_12
+ });
+
+ var util$2 = ( util$1 && util ) || util$1;
+
+ var slice$8 = util$2.slice;
+ var pluck$1 = util$2.pluck;
+ var each$1 = util$2.each;
+ var bind$1 = util$2.bind;
+ var create$3 = util$2.create;
+ var isList$1 = util$2.isList;
+ var isFunction$2 = util$2.isFunction;
+ var isObject$2 = util$2.isObject;
+
+ var storeEngine = {
+ createStore: createStore
+ };
+
+ var storeAPI = {
+ version: '2.0.12',
+ enabled: false,
+
+ // get returns the value of the given key. If that value
+ // is undefined, it returns optionalDefaultValue instead.
+ get: function(key, optionalDefaultValue) {
+ var data = this.storage.read(this._namespacePrefix + key);
+ return this._deserialize(data, optionalDefaultValue)
+ },
+
+ // set will store the given value at key and returns value.
+ // Calling set with value === undefined is equivalent to calling remove.
+ set: function(key, value) {
+ if (value === undefined) {
+ return this.remove(key)
+ }
+ this.storage.write(this._namespacePrefix + key, this._serialize(value));
+ return value
+ },
+
+ // remove deletes the key and value stored at the given key.
+ remove: function(key) {
+ this.storage.remove(this._namespacePrefix + key);
+ },
+
+ // each will call the given callback once for each key-value pair
+ // in this store.
+ each: function(callback) {
+ var self = this;
+ this.storage.each(function(val, namespacedKey) {
+ callback.call(self, self._deserialize(val), (namespacedKey || '').replace(self._namespaceRegexp, ''));
+ });
+ },
+
+ // clearAll will remove all the stored key-value pairs in this store.
+ clearAll: function() {
+ this.storage.clearAll();
+ },
+
+ // additional functionality that can't live in plugins
+ // ---------------------------------------------------
+
+ // hasNamespace returns true if this store instance has the given namespace.
+ hasNamespace: function(namespace) {
+ return (this._namespacePrefix == '__storejs_'+namespace+'_')
+ },
+
+ // createStore creates a store.js instance with the first
+ // functioning storage in the list of storage candidates,
+ // and applies the the given mixins to the instance.
+ createStore: function() {
+ return createStore.apply(this, arguments)
+ },
+
+ addPlugin: function(plugin) {
+ this._addPlugin(plugin);
+ },
+
+ namespace: function(namespace) {
+ return createStore(this.storage, this.plugins, namespace)
+ }
+ };
+
+ function _warn() {
+ var _console = (typeof console == 'undefined' ? null : console);
+ if (!_console) { return }
+ var fn = (_console.warn ? _console.warn : _console.log);
+ fn.apply(_console, arguments);
+ }
+
+ function createStore(storages, plugins, namespace) {
+ if (!namespace) {
+ namespace = '';
+ }
+ if (storages && !isList$1(storages)) {
+ storages = [storages];
+ }
+ if (plugins && !isList$1(plugins)) {
+ plugins = [plugins];
+ }
+
+ var namespacePrefix = (namespace ? '__storejs_'+namespace+'_' : '');
+ var namespaceRegexp = (namespace ? new RegExp('^'+namespacePrefix) : null);
+ var legalNamespaces = /^[a-zA-Z0-9_\-]*$/; // alpha-numeric + underscore and dash
+ if (!legalNamespaces.test(namespace)) {
+ throw new Error('store.js namespaces can only have alphanumerics + underscores and dashes')
+ }
+
+ var _privateStoreProps = {
+ _namespacePrefix: namespacePrefix,
+ _namespaceRegexp: namespaceRegexp,
+
+ _testStorage: function(storage) {
+ try {
+ var testStr = '__storejs__test__';
+ storage.write(testStr, testStr);
+ var ok = (storage.read(testStr) === testStr);
+ storage.remove(testStr);
+ return ok
+ } catch(e) {
+ return false
+ }
+ },
+
+ _assignPluginFnProp: function(pluginFnProp, propName) {
+ var oldFn = this[propName];
+ this[propName] = function pluginFn() {
+ var args = slice$8(arguments, 0);
+ var self = this;
+
+ // super_fn calls the old function which was overwritten by
+ // this mixin.
+ function super_fn() {
+ if (!oldFn) { return }
+ each$1(arguments, function(arg, i) {
+ args[i] = arg;
+ });
+ return oldFn.apply(self, args)
+ }
+
+ // Give mixing function access to super_fn by prefixing all mixin function
+ // arguments with super_fn.
+ var newFnArgs = [super_fn].concat(args);
+
+ return pluginFnProp.apply(self, newFnArgs)
+ };
+ },
+
+ _serialize: function(obj) {
+ return JSON.stringify(obj)
+ },
+
+ _deserialize: function(strVal, defaultVal) {
+ if (!strVal) { return defaultVal }
+ // It is possible that a raw string value has been previously stored
+ // in a storage without using store.js, meaning it will be a raw
+ // string value instead of a JSON serialized string. By defaulting
+ // to the raw string value in case of a JSON parse error, we allow
+ // for past stored values to be forwards-compatible with store.js
+ var val = '';
+ try { val = JSON.parse(strVal); }
+ catch(e) { val = strVal; }
+
+ return (val !== undefined ? val : defaultVal)
+ },
+
+ _addStorage: function(storage) {
+ if (this.enabled) { return }
+ if (this._testStorage(storage)) {
+ this.storage = storage;
+ this.enabled = true;
+ }
+ },
+
+ _addPlugin: function(plugin) {
+ var self = this;
+
+ // If the plugin is an array, then add all plugins in the array.
+ // This allows for a plugin to depend on other plugins.
+ if (isList$1(plugin)) {
+ each$1(plugin, function(plugin) {
+ self._addPlugin(plugin);
+ });
+ return
+ }
+
+ // Keep track of all plugins we've seen so far, so that we
+ // don't add any of them twice.
+ var seenPlugin = pluck$1(this.plugins, function(seenPlugin) {
+ return (plugin === seenPlugin)
+ });
+ if (seenPlugin) {
+ return
+ }
+ this.plugins.push(plugin);
+
+ // Check that the plugin is properly formed
+ if (!isFunction$2(plugin)) {
+ throw new Error('Plugins must be function values that return objects')
+ }
+
+ var pluginProperties = plugin.call(this);
+ if (!isObject$2(pluginProperties)) {
+ throw new Error('Plugins must return an object of function properties')
+ }
+
+ // Add the plugin function properties to this store instance.
+ each$1(pluginProperties, function(pluginFnProp, propName) {
+ if (!isFunction$2(pluginFnProp)) {
+ throw new Error('Bad plugin property: '+propName+' from plugin '+plugin.name+'. Plugins should only return functions.')
+ }
+ self._assignPluginFnProp(pluginFnProp, propName);
+ });
+ },
+
+ // Put deprecated properties in the private API, so as to not expose it to accidential
+ // discovery through inspection of the store object.
+
+ // Deprecated: addStorage
+ addStorage: function(storage) {
+ _warn('store.addStorage(storage) is deprecated. Use createStore([storages])');
+ this._addStorage(storage);
+ }
+ };
+
+ var store = create$3(_privateStoreProps, storeAPI, {
+ plugins: []
+ });
+ store.raw = {};
+ each$1(store, function(prop, propName) {
+ if (isFunction$2(prop)) {
+ store.raw[propName] = bind$1(store, prop);
+ }
+ });
+ each$1(storages, function(storage) {
+ store._addStorage(storage);
+ });
+ each$1(plugins, function(plugin) {
+ store._addPlugin(plugin);
+ });
+ return store
+ }
+ var storeEngine_1 = storeEngine.createStore;
+
+ var storeEngine$1 = /*#__PURE__*/Object.freeze({
+ default: storeEngine,
+ __moduleExports: storeEngine,
+ createStore: storeEngine_1
+ });
+
+ var Global$1 = util$2.Global;
+
+ var localStorage_1 = {
+ name: 'localStorage',
+ read: read,
+ write: write,
+ each: each$2,
+ remove: remove$2,
+ clearAll: clearAll,
+ };
+
+ function localStorage$1() {
+ return Global$1.localStorage
+ }
+
+ function read(key) {
+ return localStorage$1().getItem(key)
+ }
+
+ function write(key, data) {
+ return localStorage$1().setItem(key, data)
+ }
+
+ function each$2(fn) {
+ for (var i = localStorage$1().length - 1; i >= 0; i--) {
+ var key = localStorage$1().key(i);
+ fn(read(key), key);
+ }
+ }
+
+ function remove$2(key) {
+ return localStorage$1().removeItem(key)
+ }
+
+ function clearAll() {
+ return localStorage$1().clear()
+ }
+ var localStorage_2 = localStorage_1.name;
+ var localStorage_3 = localStorage_1.read;
+ var localStorage_4 = localStorage_1.write;
+ var localStorage_5 = localStorage_1.each;
+ var localStorage_6 = localStorage_1.remove;
+ var localStorage_7 = localStorage_1.clearAll;
+
+ var localStorage$2 = /*#__PURE__*/Object.freeze({
+ default: localStorage_1,
+ __moduleExports: localStorage_1,
+ name: localStorage_2,
+ read: localStorage_3,
+ write: localStorage_4,
+ each: localStorage_5,
+ remove: localStorage_6,
+ clearAll: localStorage_7
+ });
+
+ // oldFF-globalStorage provides storage for Firefox
+ // versions 6 and 7, where no localStorage, etc
+ // is available.
+
+
+ var Global$2 = util$2.Global;
+
+ var oldFFGlobalStorage = {
+ name: 'oldFF-globalStorage',
+ read: read$1,
+ write: write$1,
+ each: each$3,
+ remove: remove$3,
+ clearAll: clearAll$1,
+ };
+
+ var globalStorage = Global$2.globalStorage;
+
+ function read$1(key) {
+ return globalStorage[key]
+ }
+
+ function write$1(key, data) {
+ globalStorage[key] = data;
+ }
+
+ function each$3(fn) {
+ for (var i = globalStorage.length - 1; i >= 0; i--) {
+ var key = globalStorage.key(i);
+ fn(globalStorage[key], key);
+ }
+ }
+
+ function remove$3(key) {
+ return globalStorage.removeItem(key)
+ }
+
+ function clearAll$1() {
+ each$3(function(key, _) {
+ delete globalStorage[key];
+ });
+ }
+ var oldFFGlobalStorage_1 = oldFFGlobalStorage.name;
+ var oldFFGlobalStorage_2 = oldFFGlobalStorage.read;
+ var oldFFGlobalStorage_3 = oldFFGlobalStorage.write;
+ var oldFFGlobalStorage_4 = oldFFGlobalStorage.each;
+ var oldFFGlobalStorage_5 = oldFFGlobalStorage.remove;
+ var oldFFGlobalStorage_6 = oldFFGlobalStorage.clearAll;
+
+ var oldFFGlobalStorage$1 = /*#__PURE__*/Object.freeze({
+ default: oldFFGlobalStorage,
+ __moduleExports: oldFFGlobalStorage,
+ name: oldFFGlobalStorage_1,
+ read: oldFFGlobalStorage_2,
+ write: oldFFGlobalStorage_3,
+ each: oldFFGlobalStorage_4,
+ remove: oldFFGlobalStorage_5,
+ clearAll: oldFFGlobalStorage_6
+ });
+
+ // oldIE-userDataStorage provides storage for Internet Explorer
+ // versions 6 and 7, where no localStorage, sessionStorage, etc
+ // is available.
+
+
+ var Global$3 = util$2.Global;
+
+ var oldIEUserDataStorage = {
+ name: 'oldIE-userDataStorage',
+ write: write$2,
+ read: read$2,
+ each: each$4,
+ remove: remove$4,
+ clearAll: clearAll$2,
+ };
+
+ var storageName = 'storejs';
+ var doc = Global$3.document;
+ var _withStorageEl = _makeIEStorageElFunction();
+ var disable = (Global$3.navigator ? Global$3.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\./); // MSIE 9.x, MSIE 10.x
+
+ function write$2(unfixedKey, data) {
+ if (disable) { return }
+ var fixedKey = fixKey(unfixedKey);
+ _withStorageEl(function(storageEl) {
+ storageEl.setAttribute(fixedKey, data);
+ storageEl.save(storageName);
+ });
+ }
+
+ function read$2(unfixedKey) {
+ if (disable) { return }
+ var fixedKey = fixKey(unfixedKey);
+ var res = null;
+ _withStorageEl(function(storageEl) {
+ res = storageEl.getAttribute(fixedKey);
+ });
+ return res
+ }
+
+ function each$4(callback) {
+ _withStorageEl(function(storageEl) {
+ var attributes = storageEl.XMLDocument.documentElement.attributes;
+ for (var i=attributes.length-1; i>=0; i--) {
+ var attr = attributes[i];
+ callback(storageEl.getAttribute(attr.name), attr.name);
+ }
+ });
+ }
+
+ function remove$4(unfixedKey) {
+ var fixedKey = fixKey(unfixedKey);
+ _withStorageEl(function(storageEl) {
+ storageEl.removeAttribute(fixedKey);
+ storageEl.save(storageName);
+ });
+ }
+
+ function clearAll$2() {
+ _withStorageEl(function(storageEl) {
+ var attributes = storageEl.XMLDocument.documentElement.attributes;
+ storageEl.load(storageName);
+ for (var i=attributes.length-1; i>=0; i--) {
+ storageEl.removeAttribute(attributes[i].name);
+ }
+ storageEl.save(storageName);
+ });
+ }
+
+ // Helpers
+ //////////
+
+ // In IE7, keys cannot start with a digit or contain certain chars.
+ // See https://github.com/marcuswestin/store.js/issues/40
+ // See https://github.com/marcuswestin/store.js/issues/83
+ var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g");
+ function fixKey(key) {
+ return key.replace(/^\d/, '___$&').replace(forbiddenCharsRegex, '___')
+ }
+
+ function _makeIEStorageElFunction() {
+ if (!doc || !doc.documentElement || !doc.documentElement.addBehavior) {
+ return null
+ }
+ var scriptTag = 'script',
+ storageOwner,
+ storageContainer,
+ storageEl;
+
+ // Since #userData storage applies only to specific paths, we need to
+ // somehow link our data to a specific path. We choose /favicon.ico
+ // as a pretty safe option, since all browsers already make a request to
+ // this URL anyway and being a 404 will not hurt us here. We wrap an
+ // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
+ // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
+ // since the iframe access rules appear to allow direct access and
+ // manipulation of the document element, even for a 404 page. This
+ // document can be used instead of the current document (which would
+ // have been limited to the current path) to perform #userData storage.
+ try {
+ /* global ActiveXObject */
+ storageContainer = new ActiveXObject('htmlfile');
+ storageContainer.open();
+ storageContainer.write('<'+scriptTag+'>document.w=window</'+scriptTag+'><iframe src="/favicon.ico"></iframe>');
+ storageContainer.close();
+ storageOwner = storageContainer.w.frames[0].document;
+ storageEl = storageOwner.createElement('div');
+ } catch(e) {
+ // somehow ActiveXObject instantiation failed (perhaps some special
+ // security settings or otherwse), fall back to per-path storage
+ storageEl = doc.createElement('div');
+ storageOwner = doc.body;
+ }
+
+ return function(storeFunction) {
+ var args = [].slice.call(arguments, 0);
+ args.unshift(storageEl);
+ // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
+ // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
+ storageOwner.appendChild(storageEl);
+ storageEl.addBehavior('#default#userData');
+ storageEl.load(storageName);
+ storeFunction.apply(this, args);
+ storageOwner.removeChild(storageEl);
+ return
+ }
+ }
+ var oldIEUserDataStorage_1 = oldIEUserDataStorage.name;
+ var oldIEUserDataStorage_2 = oldIEUserDataStorage.write;
+ var oldIEUserDataStorage_3 = oldIEUserDataStorage.read;
+ var oldIEUserDataStorage_4 = oldIEUserDataStorage.each;
+ var oldIEUserDataStorage_5 = oldIEUserDataStorage.remove;
+ var oldIEUserDataStorage_6 = oldIEUserDataStorage.clearAll;
+
+ var oldIEUserDataStorage$1 = /*#__PURE__*/Object.freeze({
+ default: oldIEUserDataStorage,
+ __moduleExports: oldIEUserDataStorage,
+ name: oldIEUserDataStorage_1,
+ write: oldIEUserDataStorage_2,
+ read: oldIEUserDataStorage_3,
+ each: oldIEUserDataStorage_4,
+ remove: oldIEUserDataStorage_5,
+ clearAll: oldIEUserDataStorage_6
+ });
+
+ // cookieStorage is useful Safari private browser mode, where localStorage
+ // doesn't work but cookies do. This implementation is adopted from
+ // https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
+
+
+ var Global$4 = util$2.Global;
+ var trim$1 = util$2.trim;
+
+ var cookieStorage = {
+ name: 'cookieStorage',
+ read: read$3,
+ write: write$3,
+ each: each$5,
+ remove: remove$5,
+ clearAll: clearAll$3,
+ };
+
+ var doc$1 = Global$4.document;
+
+ function read$3(key) {
+ if (!key || !_has(key)) { return null }
+ var regexpStr = "(?:^|.*;\\s*)" +
+ escape(key).replace(/[\-\.\+\*]/g, "\\$&") +
+ "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";
+ return unescape(doc$1.cookie.replace(new RegExp(regexpStr), "$1"))
+ }
+
+ function each$5(callback) {
+ var cookies = doc$1.cookie.split(/; ?/g);
+ for (var i = cookies.length - 1; i >= 0; i--) {
+ if (!trim$1(cookies[i])) {
+ continue
+ }
+ var kvp = cookies[i].split('=');
+ var key = unescape(kvp[0]);
+ var val = unescape(kvp[1]);
+ callback(val, key);
+ }
+ }
+
+ function write$3(key, data) {
+ if(!key) { return }
+ doc$1.cookie = escape(key) + "=" + escape(data) + "; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/";
+ }
+
+ function remove$5(key) {
+ if (!key || !_has(key)) {
+ return
+ }
+ doc$1.cookie = escape(key) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
+ }
+
+ function clearAll$3() {
+ each$5(function(_, key) {
+ remove$5(key);
+ });
+ }
+
+ function _has(key) {
+ return (new RegExp("(?:^|;\\s*)" + escape(key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(doc$1.cookie)
+ }
+ var cookieStorage_1 = cookieStorage.name;
+ var cookieStorage_2 = cookieStorage.read;
+ var cookieStorage_3 = cookieStorage.write;
+ var cookieStorage_4 = cookieStorage.each;
+ var cookieStorage_5 = cookieStorage.remove;
+ var cookieStorage_6 = cookieStorage.clearAll;
+
+ var cookieStorage$1 = /*#__PURE__*/Object.freeze({
+ default: cookieStorage,
+ __moduleExports: cookieStorage,
+ name: cookieStorage_1,
+ read: cookieStorage_2,
+ write: cookieStorage_3,
+ each: cookieStorage_4,
+ remove: cookieStorage_5,
+ clearAll: cookieStorage_6
+ });
+
+ var Global$5 = util$2.Global;
+
+ var sessionStorage_1 = {
+ name: 'sessionStorage',
+ read: read$4,
+ write: write$4,
+ each: each$6,
+ remove: remove$6,
+ clearAll: clearAll$4
+ };
+
+ function sessionStorage() {
+ return Global$5.sessionStorage
+ }
+
+ function read$4(key) {
+ return sessionStorage().getItem(key)
+ }
+
+ function write$4(key, data) {
+ return sessionStorage().setItem(key, data)
+ }
+
+ function each$6(fn) {
+ for (var i = sessionStorage().length - 1; i >= 0; i--) {
+ var key = sessionStorage().key(i);
+ fn(read$4(key), key);
+ }
+ }
+
+ function remove$6(key) {
+ return sessionStorage().removeItem(key)
+ }
+
+ function clearAll$4() {
+ return sessionStorage().clear()
+ }
+ var sessionStorage_2 = sessionStorage_1.name;
+ var sessionStorage_3 = sessionStorage_1.read;
+ var sessionStorage_4 = sessionStorage_1.write;
+ var sessionStorage_5 = sessionStorage_1.each;
+ var sessionStorage_6 = sessionStorage_1.remove;
+ var sessionStorage_7 = sessionStorage_1.clearAll;
+
+ var sessionStorage$1 = /*#__PURE__*/Object.freeze({
+ default: sessionStorage_1,
+ __moduleExports: sessionStorage_1,
+ name: sessionStorage_2,
+ read: sessionStorage_3,
+ write: sessionStorage_4,
+ each: sessionStorage_5,
+ remove: sessionStorage_6,
+ clearAll: sessionStorage_7
+ });
+
+ // memoryStorage is a useful last fallback to ensure that the store
+ // is functions (meaning store.get(), store.set(), etc will all function).
+ // However, stored values will not persist when the browser navigates to
+ // a new page or reloads the current page.
+
+ var memoryStorage_1 = {
+ name: 'memoryStorage',
+ read: read$5,
+ write: write$5,
+ each: each$7,
+ remove: remove$7,
+ clearAll: clearAll$5,
+ };
+
+ var memoryStorage = {};
+
+ function read$5(key) {
+ return memoryStorage[key]
+ }
+
+ function write$5(key, data) {
+ memoryStorage[key] = data;
+ }
+
+ function each$7(callback) {
+ for (var key in memoryStorage) {
+ if (memoryStorage.hasOwnProperty(key)) {
+ callback(memoryStorage[key], key);
+ }
+ }
+ }
+
+ function remove$7(key) {
+ delete memoryStorage[key];
+ }
+
+ function clearAll$5(key) {
+ memoryStorage = {};
+ }
+ var memoryStorage_2 = memoryStorage_1.name;
+ var memoryStorage_3 = memoryStorage_1.read;
+ var memoryStorage_4 = memoryStorage_1.write;
+ var memoryStorage_5 = memoryStorage_1.each;
+ var memoryStorage_6 = memoryStorage_1.remove;
+ var memoryStorage_7 = memoryStorage_1.clearAll;
+
+ var memoryStorage$1 = /*#__PURE__*/Object.freeze({
+ default: memoryStorage_1,
+ __moduleExports: memoryStorage_1,
+ name: memoryStorage_2,
+ read: memoryStorage_3,
+ write: memoryStorage_4,
+ each: memoryStorage_5,
+ remove: memoryStorage_6,
+ clearAll: memoryStorage_7
+ });
+
+ var require$$0$2 = ( localStorage$2 && localStorage_1 ) || localStorage$2;
+
+ var require$$1$2 = ( oldFFGlobalStorage$1 && oldFFGlobalStorage ) || oldFFGlobalStorage$1;
+
+ var require$$2$1 = ( oldIEUserDataStorage$1 && oldIEUserDataStorage ) || oldIEUserDataStorage$1;
+
+ var require$$3$1 = ( cookieStorage$1 && cookieStorage ) || cookieStorage$1;
+
+ var require$$4$1 = ( sessionStorage$1 && sessionStorage_1 ) || sessionStorage$1;
+
+ var require$$5$1 = ( memoryStorage$1 && memoryStorage_1 ) || memoryStorage$1;
+
+ var all$3 = [
+ // Listed in order of usage preference
+ require$$0$2,
+ require$$1$2,
+ require$$2$1,
+ require$$3$1,
+ require$$4$1,
+ require$$5$1
+ ];
+
+ var all$4 = /*#__PURE__*/Object.freeze({
+ default: all$3,
+ __moduleExports: all$3
+ });
+
+ /* eslint-disable */
+
+ // json2.js
+ // 2016-10-28
+ // Public Domain.
+ // NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ // See http://www.JSON.org/js.html
+ // This code should be minified before deployment.
+ // See http://javascript.crockford.com/jsmin.html
+
+ // USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
+ // NOT CONTROL.
+
+ // This file creates a global JSON object containing two methods: stringify
+ // and parse. This file provides the ES5 JSON capability to ES3 systems.
+ // If a project might run on IE8 or earlier, then this file should be included.
+ // This file does nothing on ES5 systems.
+
+ // JSON.stringify(value, replacer, space)
+ // value any JavaScript value, usually an object or array.
+ // replacer an optional parameter that determines how object
+ // values are stringified for objects. It can be a
+ // function or an array of strings.
+ // space an optional parameter that specifies the indentation
+ // of nested structures. If it is omitted, the text will
+ // be packed without extra whitespace. If it is a number,
+ // it will specify the number of spaces to indent at each
+ // level. If it is a string (such as "\t" or " "),
+ // it contains the characters used to indent at each level.
+ // This method produces a JSON text from a JavaScript value.
+ // When an object value is found, if the object contains a toJSON
+ // method, its toJSON method will be called and the result will be
+ // stringified. A toJSON method does not serialize: it returns the
+ // value represented by the name/value pair that should be serialized,
+ // or undefined if nothing should be serialized. The toJSON method
+ // will be passed the key associated with the value, and this will be
+ // bound to the value.
+
+ // For example, this would serialize Dates as ISO strings.
+
+ // Date.prototype.toJSON = function (key) {
+ // function f(n) {
+ // // Format integers to have at least two digits.
+ // return (n < 10)
+ // ? "0" + n
+ // : n;
+ // }
+ // return this.getUTCFullYear() + "-" +
+ // f(this.getUTCMonth() + 1) + "-" +
+ // f(this.getUTCDate()) + "T" +
+ // f(this.getUTCHours()) + ":" +
+ // f(this.getUTCMinutes()) + ":" +
+ // f(this.getUTCSeconds()) + "Z";
+ // };
+
+ // You can provide an optional replacer method. It will be passed the
+ // key and value of each member, with this bound to the containing
+ // object. The value that is returned from your method will be
+ // serialized. If your method returns undefined, then the member will
+ // be excluded from the serialization.
+
+ // If the replacer parameter is an array of strings, then it will be
+ // used to select the members to be serialized. It filters the results
+ // such that only members with keys listed in the replacer array are
+ // stringified.
+
+ // Values that do not have JSON representations, such as undefined or
+ // functions, will not be serialized. Such values in objects will be
+ // dropped; in arrays they will be replaced with null. You can use
+ // a replacer function to replace those with JSON values.
+
+ // JSON.stringify(undefined) returns undefined.
+
+ // The optional space parameter produces a stringification of the
+ // value that is filled with line breaks and indentation to make it
+ // easier to read.
+
+ // If the space parameter is a non-empty string, then that string will
+ // be used for indentation. If the space parameter is a number, then
+ // the indentation will be that many spaces.
+
+ // Example:
+
+ // text = JSON.stringify(["e", {pluribus: "unum"}]);
+ // // text is '["e",{"pluribus":"unum"}]'
+
+ // text = JSON.stringify(["e", {pluribus: "unum"}], null, "\t");
+ // // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
+
+ // text = JSON.stringify([new Date()], function (key, value) {
+ // return this[key] instanceof Date
+ // ? "Date(" + this[key] + ")"
+ // : value;
+ // });
+ // // text is '["Date(---current time---)"]'
+
+ // JSON.parse(text, reviver)
+ // This method parses a JSON text to produce an object or array.
+ // It can throw a SyntaxError exception.
+
+ // The optional reviver parameter is a function that can filter and
+ // transform the results. It receives each of the keys and values,
+ // and its return value is used instead of the original value.
+ // If it returns what it received, then the structure is not modified.
+ // If it returns undefined then the member is deleted.
+
+ // Example:
+
+ // // Parse the text. Values that look like ISO date strings will
+ // // be converted to Date objects.
+
+ // myData = JSON.parse(text, function (key, value) {
+ // var a;
+ // if (typeof value === "string") {
+ // a =
+ // /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
+ // if (a) {
+ // return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
+ // +a[5], +a[6]));
+ // }
+ // }
+ // return value;
+ // });
+
+ // myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
+ // var d;
+ // if (typeof value === "string" &&
+ // value.slice(0, 5) === "Date(" &&
+ // value.slice(-1) === ")") {
+ // d = new Date(value.slice(5, -1));
+ // if (d) {
+ // return d;
+ // }
+ // }
+ // return value;
+ // });
+
+ // This is a reference implementation. You are free to copy, modify, or
+ // redistribute.
+
+ /*jslint
+ eval, for, this
+ */
+
+ /*property
+ JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
+ getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
+ lastIndex, length, parse, prototype, push, replace, slice, stringify,
+ test, toJSON, toString, valueOf
+ */
+
+
+ // Create a JSON object only if one does not already exist. We create the
+ // methods in a closure to avoid creating global variables.
+
+ if (typeof JSON !== "object") {
+ JSON = {};
+ }
+
+ (function () {
+
+ var rx_one = /^[\],:{}\s]*$/;
+ var rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g;
+ var rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g;
+ var rx_four = /(?:^|:|,)(?:\s*\[)+/g;
+ var rx_escapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
+ var rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
+
+ function f(n) {
+ // Format integers to have at least two digits.
+ return n < 10
+ ? "0" + n
+ : n;
+ }
+
+ function this_value() {
+ return this.valueOf();
+ }
+
+ if (typeof Date.prototype.toJSON !== "function") {
+
+ Date.prototype.toJSON = function () {
+
+ return isFinite(this.valueOf())
+ ? this.getUTCFullYear() + "-" +
+ f(this.getUTCMonth() + 1) + "-" +
+ f(this.getUTCDate()) + "T" +
+ f(this.getUTCHours()) + ":" +
+ f(this.getUTCMinutes()) + ":" +
+ f(this.getUTCSeconds()) + "Z"
+ : null;
+ };
+
+ Boolean.prototype.toJSON = this_value;
+ Number.prototype.toJSON = this_value;
+ String.prototype.toJSON = this_value;
+ }
+
+ var gap;
+ var indent;
+ var meta;
+ var rep;
+
+
+ function quote(string) {
+
+ // If the string contains no control characters, no quote characters, and no
+ // backslash characters, then we can safely slap some quotes around it.
+ // Otherwise we must also replace the offending characters with safe escape
+ // sequences.
+
+ rx_escapable.lastIndex = 0;
+ return rx_escapable.test(string)
+ ? "\"" + string.replace(rx_escapable, function (a) {
+ var c = meta[a];
+ return typeof c === "string"
+ ? c
+ : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
+ }) + "\""
+ : "\"" + string + "\"";
+ }
+
+
+ function str(key, holder) {
+
+ // Produce a string from holder[key].
+
+ var i; // The loop counter.
+ var k; // The member key.
+ var v; // The member value.
+ var length;
+ var mind = gap;
+ var partial;
+ var value = holder[key];
+
+ // If the value has a toJSON method, call it to obtain a replacement value.
+
+ if (value && typeof value === "object" &&
+ typeof value.toJSON === "function") {
+ value = value.toJSON(key);
+ }
+
+ // If we were called with a replacer function, then call the replacer to
+ // obtain a replacement value.
+
+ if (typeof rep === "function") {
+ value = rep.call(holder, key, value);
+ }
+
+ // What happens next depends on the value's type.
+
+ switch (typeof value) {
+ case "string":
+ return quote(value);
+
+ case "number":
+
+ // JSON numbers must be finite. Encode non-finite numbers as null.
+
+ return isFinite(value)
+ ? String(value)
+ : "null";
+
+ case "boolean":
+ case "null":
+
+ // If the value is a boolean or null, convert it to a string. Note:
+ // typeof null does not produce "null". The case is included here in
+ // the remote chance that this gets fixed someday.
+
+ return String(value);
+
+ // If the type is "object", we might be dealing with an object or an array or
+ // null.
+
+ case "object":
+
+ // Due to a specification blunder in ECMAScript, typeof null is "object",
+ // so watch out for that case.
+
+ if (!value) {
+ return "null";
+ }
+
+ // Make an array to hold the partial results of stringifying this object value.
+
+ gap += indent;
+ partial = [];
+
+ // Is the value an array?
+
+ if (Object.prototype.toString.apply(value) === "[object Array]") {
+
+ // The value is an array. Stringify every element. Use null as a placeholder
+ // for non-JSON values.
+
+ length = value.length;
+ for (i = 0; i < length; i += 1) {
+ partial[i] = str(i, value) || "null";
+ }
+
+ // Join all of the elements together, separated with commas, and wrap them in
+ // brackets.
+
+ v = partial.length === 0
+ ? "[]"
+ : gap
+ ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]"
+ : "[" + partial.join(",") + "]";
+ gap = mind;
+ return v;
+ }
+
+ // If the replacer is an array, use it to select the members to be stringified.
+
+ if (rep && typeof rep === "object") {
+ length = rep.length;
+ for (i = 0; i < length; i += 1) {
+ if (typeof rep[i] === "string") {
+ k = rep[i];
+ v = str(k, value);
+ if (v) {
+ partial.push(quote(k) + (
+ gap
+ ? ": "
+ : ":"
+ ) + v);
+ }
+ }
+ }
+ } else {
+
+ // Otherwise, iterate through all of the keys in the object.
+
+ for (k in value) {
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
+ v = str(k, value);
+ if (v) {
+ partial.push(quote(k) + (
+ gap
+ ? ": "
+ : ":"
+ ) + v);
+ }
+ }
+ }
+ }
+
+ // Join all of the member texts together, separated with commas,
+ // and wrap them in braces.
+
+ v = partial.length === 0
+ ? "{}"
+ : gap
+ ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}"
+ : "{" + partial.join(",") + "}";
+ gap = mind;
+ return v;
+ }
+ }
+
+ // If the JSON object does not yet have a stringify method, give it one.
+
+ if (typeof JSON.stringify !== "function") {
+ meta = { // table of character substitutions
+ "\b": "\\b",
+ "\t": "\\t",
+ "\n": "\\n",
+ "\f": "\\f",
+ "\r": "\\r",
+ "\"": "\\\"",
+ "\\": "\\\\"
+ };
+ JSON.stringify = function (value, replacer, space) {
+
+ // The stringify method takes a value and an optional replacer, and an optional
+ // space parameter, and returns a JSON text. The replacer can be a function
+ // that can replace values, or an array of strings that will select the keys.
+ // A default replacer method can be provided. Use of the space parameter can
+ // produce text that is more easily readable.
+
+ var i;
+ gap = "";
+ indent = "";
+
+ // If the space parameter is a number, make an indent string containing that
+ // many spaces.
+
+ if (typeof space === "number") {
+ for (i = 0; i < space; i += 1) {
+ indent += " ";
+ }
+
+ // If the space parameter is a string, it will be used as the indent string.
+
+ } else if (typeof space === "string") {
+ indent = space;
+ }
+
+ // If there is a replacer, it must be a function or an array.
+ // Otherwise, throw an error.
+
+ rep = replacer;
+ if (replacer && typeof replacer !== "function" &&
+ (typeof replacer !== "object" ||
+ typeof replacer.length !== "number")) {
+ throw new Error("JSON.stringify");
+ }
+
+ // Make a fake root object containing our value under the key of "".
+ // Return the result of stringifying the value.
+
+ return str("", {"": value});
+ };
+ }
+
+
+ // If the JSON object does not yet have a parse method, give it one.
+
+ if (typeof JSON.parse !== "function") {
+ JSON.parse = function (text, reviver) {
+
+ // The parse method takes a text and an optional reviver function, and returns
+ // a JavaScript value if the text is a valid JSON text.
+
+ var j;
+
+ function walk(holder, key) {
+
+ // The walk method is used to recursively walk the resulting structure so
+ // that modifications can be made.
+
+ var k;
+ var v;
+ var value = holder[key];
+ if (value && typeof value === "object") {
+ for (k in value) {
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
+ v = walk(value, k);
+ if (v !== undefined) {
+ value[k] = v;
+ } else {
+ delete value[k];
+ }
+ }
+ }
+ }
+ return reviver.call(holder, key, value);
+ }
+
+
+ // Parsing happens in four stages. In the first stage, we replace certain
+ // Unicode characters with escape sequences. JavaScript handles many characters
+ // incorrectly, either silently deleting them, or treating them as line endings.
+
+ text = String(text);
+ rx_dangerous.lastIndex = 0;
+ if (rx_dangerous.test(text)) {
+ text = text.replace(rx_dangerous, function (a) {
+ return "\\u" +
+ ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
+ });
+ }
+
+ // In the second stage, we run the text against regular expressions that look
+ // for non-JSON patterns. We are especially concerned with "()" and "new"
+ // because they can cause invocation, and "=" because it can cause mutation.
+ // But just to be safe, we want to reject all unexpected forms.
+
+ // We split the second stage into 4 regexp operations in order to work around
+ // crippling inefficiencies in IE's and Safari's regexp engines. First we
+ // replace the JSON backslash pairs with "@" (a non-JSON character). Second, we
+ // replace all simple value tokens with "]" characters. Third, we delete all
+ // open brackets that follow a colon or comma or that begin the text. Finally,
+ // we look to see that the remaining characters are only whitespace or "]" or
+ // "," or ":" or "{" or "}". If that is so, then the text is safe for eval.
+
+ if (
+ rx_one.test(
+ text
+ .replace(rx_two, "@")
+ .replace(rx_three, "]")
+ .replace(rx_four, "")
+ )
+ ) {
+
+ // In the third stage we use the eval function to compile the text into a
+ // JavaScript structure. The "{" operator is subject to a syntactic ambiguity
+ // in JavaScript: it can begin a block or an object literal. We wrap the text
+ // in parens to eliminate the ambiguity.
+
+ j = eval("(" + text + ")");
+
+ // In the optional fourth stage, we recursively walk the new structure, passing
+ // each name/value pair to a reviver function for possible transformation.
+
+ return (typeof reviver === "function")
+ ? walk({"": j}, "")
+ : j;
+ }
+
+ // If the text is not JSON parseable, then a SyntaxError is thrown.
+
+ throw new SyntaxError("JSON.parse");
+ };
+ }
+ }());
+
+ var json2$1 = json2Plugin;
+
+ function json2Plugin() {
+
+ return {}
+ }
+
+ var json2$2 = /*#__PURE__*/Object.freeze({
+ default: json2$1,
+ __moduleExports: json2$1
+ });
+
+ var engine = ( storeEngine$1 && storeEngine ) || storeEngine$1;
+
+ var storages = ( all$4 && all$3 ) || all$4;
+
+ var require$$0$3 = ( json2$2 && json2$1 ) || json2$2;
+
+ var plugins = [require$$0$3];
+
+ var store_legacy = engine.createStore(storages, plugins);
+
+ var store_legacy$1 = /*#__PURE__*/Object.freeze({
+ default: store_legacy,
+ __moduleExports: store_legacy
+ });
+
+ var ohauth$2 = ( ohauth$1 && ohauth_1 ) || ohauth$1;
+
+ var resolveUrl$2 = ( resolveUrl$1 && resolveUrl ) || resolveUrl$1;
+
+ var store = ( store_legacy$1 && store_legacy ) || store_legacy$1;
+
+ // # osm-auth
+ //
+ // This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
+ // object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
+ // does not support custom headers, which this uses everywhere.
+ var osmAuth = function(o) {
+
+ var oauth = {};
+
+ // authenticated users will also have a request token secret, but it's
+ // not used in transactions with the server
+ oauth.authenticated = function() {
+ return !!(token('oauth_token') && token('oauth_token_secret'));
+ };
+
+ oauth.logout = function() {
+ token('oauth_token', '');
+ token('oauth_token_secret', '');
+ token('oauth_request_token_secret', '');
+ return oauth;
+ };
+
+ // TODO: detect lack of click event
+ oauth.authenticate = function(callback) {
+ if (oauth.authenticated()) return callback();
+
+ oauth.logout();
+
+ // ## Getting a request token
+ var params = timenonce(getAuth(o)),
+ url = o.url + '/oauth/request_token';
+
+ params.oauth_signature = ohauth$2.signature(
+ o.oauth_secret, '',
+ ohauth$2.baseString('POST', url, params));
+
+ if (!o.singlepage) {
+ // Create a 600x550 popup window in the center of the screen
+ var w = 600, h = 550,
+ settings = [
+ ['width', w], ['height', h],
+ ['left', screen.width / 2 - w / 2],
+ ['top', screen.height / 2 - h / 2]].map(function(x) {
+ return x.join('=');
+ }).join(','),
+ popup = window.open('about:blank', 'oauth_window', settings);
+ }
+
+ // Request a request token. When this is complete, the popup
+ // window is redirected to OSM's authorization page.
+ ohauth$2.xhr('POST', url, params, null, {}, reqTokenDone);
+ o.loading();
+
+ function reqTokenDone(err, xhr) {
+ o.done();
+ if (err) return callback(err);
+ var resp = ohauth$2.stringQs(xhr.response);
+ token('oauth_request_token_secret', resp.oauth_token_secret);
+ var authorize_url = o.url + '/oauth/authorize?' + ohauth$2.qsString({
+ oauth_token: resp.oauth_token,
+ oauth_callback: resolveUrl$2(o.landing)
+ });
+
+ if (o.singlepage) {
+ location.href = authorize_url;
+ } else {
+ popup.location = authorize_url;
+ }
+ }
+
+ // Called by a function in a landing page, in the popup window. The
+ // window closes itself.
+ window.authComplete = function(token) {
+ var oauth_token = ohauth$2.stringQs(token.split('?')[1]);
+ get_access_token(oauth_token.oauth_token);
+ delete window.authComplete;
+ };
+
+ // ## Getting an request token
+ //
+ // At this point we have an `oauth_token`, brought in from a function
+ // call on a landing page popup.
+ function get_access_token(oauth_token) {
+ var url = o.url + '/oauth/access_token',
+ params = timenonce(getAuth(o)),
+ request_token_secret = token('oauth_request_token_secret');
+ params.oauth_token = oauth_token;
+ params.oauth_signature = ohauth$2.signature(
+ o.oauth_secret,
+ request_token_secret,
+ ohauth$2.baseString('POST', url, params));
+
+ // ## Getting an access token
+ //
+ // The final token required for authentication. At this point
+ // we have a `request token secret`
+ ohauth$2.xhr('POST', url, params, null, {}, accessTokenDone);
+ o.loading();
+ }
+
+ function accessTokenDone(err, xhr) {
+ o.done();
+ if (err) return callback(err);
+ var access_token = ohauth$2.stringQs(xhr.response);
+ token('oauth_token', access_token.oauth_token);
+ token('oauth_token_secret', access_token.oauth_token_secret);
+ callback(null, oauth);
+ }
+ };
+
+ oauth.bootstrapToken = function(oauth_token, callback) {
+ // ## Getting an request token
+ // At this point we have an `oauth_token`, brought in from a function
+ // call on a landing page popup.
+ function get_access_token(oauth_token) {
+ var url = o.url + '/oauth/access_token',
+ params = timenonce(getAuth(o)),
+ request_token_secret = token('oauth_request_token_secret');
+ params.oauth_token = oauth_token;
+ params.oauth_signature = ohauth$2.signature(
+ o.oauth_secret,
+ request_token_secret,
+ ohauth$2.baseString('POST', url, params));
+
+ // ## Getting an access token
+ // The final token required for authentication. At this point
+ // we have a `request token secret`
+ ohauth$2.xhr('POST', url, params, null, {}, accessTokenDone);
+ o.loading();
+ }
+
+ function accessTokenDone(err, xhr) {
+ o.done();
+ if (err) return callback(err);
+ var access_token = ohauth$2.stringQs(xhr.response);
+ token('oauth_token', access_token.oauth_token);
+ token('oauth_token_secret', access_token.oauth_token_secret);
+ callback(null, oauth);
+ }
+
+ get_access_token(oauth_token);
+ };
+
+ // # xhr
+ //
+ // A single XMLHttpRequest wrapper that does authenticated calls if the
+ // user has logged in.
+ oauth.xhr = function(options, callback) {
+ if (!oauth.authenticated()) {
+ if (o.auto) {
+ return oauth.authenticate(run);
+ } else {
+ callback('not authenticated', null);
+ return;
+ }
+ } else {
+ return run();
+ }
+
+ function run() {
+ var params = timenonce(getAuth(o)),
+ oauth_token_secret = token('oauth_token_secret'),
+ url = (options.prefix !== false) ? o.url + options.path : options.path,
+ url_parts = url.replace(/#.*$/, '').split('?', 2),
+ base_url = url_parts[0],
+ query = (url_parts.length === 2) ? url_parts[1] : '';
+
+ // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1
+ if ((!options.options || !options.options.header ||
+ options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') &&
+ options.content) {
+ params = xtend(params, ohauth$2.stringQs(options.content));
+ }
+
+ params.oauth_token = token('oauth_token');
+ params.oauth_signature = ohauth$2.signature(
+ o.oauth_secret,
+ oauth_token_secret,
+ ohauth$2.baseString(options.method, base_url, xtend(params, ohauth$2.stringQs(query)))
+ );
+
+ return ohauth$2.xhr(options.method, url, params, options.content, options.options, done);
+ }
+
+ function done(err, xhr) {
+ if (err) return callback(err);
+ else if (xhr.responseXML) return callback(err, xhr.responseXML);
+ else return callback(err, xhr.response);
+ }
+ };
+
+ // pre-authorize this object, if we can just get a token and token_secret
+ // from the start
+ oauth.preauth = function(c) {
+ if (!c) return;
+ if (c.oauth_token) token('oauth_token', c.oauth_token);
+ if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
+ return oauth;
+ };
+
+ oauth.options = function(_) {
+ if (!arguments.length) return o;
+
+ o = _;
+ o.url = o.url || 'https://www.openstreetmap.org';
+ o.landing = o.landing || 'land.html';
+ o.singlepage = o.singlepage || false;
+
+ // Optional loading and loading-done functions for nice UI feedback.
+ // by default, no-ops
+ o.loading = o.loading || function() {};
+ o.done = o.done || function() {};
+
+ return oauth.preauth(o);
+ };
+
+ // 'stamp' an authentication object from `getAuth()`
+ // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
+ // and timestamp
+ function timenonce(o) {
+ o.oauth_timestamp = ohauth$2.timestamp();
+ o.oauth_nonce = ohauth$2.nonce();
+ return o;
+ }
+
+ // get/set tokens. These are prefixed with the base URL so that `osm-auth`
+ // can be used with multiple APIs and the keys in `localStorage`
+ // will not clash
+ var token;
+
+ if (store.enabled) {
+ token = function (x, y) {
+ if (arguments.length === 1) return store.get(o.url + x);
+ else if (arguments.length === 2) return store.set(o.url + x, y);
+ };
+ } else {
+ var storage = {};
+ token = function (x, y) {
+ if (arguments.length === 1) return storage[o.url + x];
+ else if (arguments.length === 2) return storage[o.url + x] = y;
+ };
+ }
+
+ // Get an authentication object. If you just add and remove properties
+ // from a single object, you'll need to use `delete` to make sure that
+ // it doesn't contain undesired properties for authentication
+ function getAuth(o) {
+ return {
+ oauth_consumer_key: o.oauth_consumer_key,
+ oauth_signature_method: 'HMAC-SHA1'
+ };
+ }
+
+ // potentially pre-authorize
+ oauth.options(o);
+
+ return oauth;
+ };
+
+ var JXON = new (function () {
+ var
+ sValueProp = 'keyValue', sAttributesProp = 'keyAttributes', sAttrPref = '@', /* you can customize these values */
+ aCache = [], rIsNull = /^\s*$/, rIsBool = /^(?:true|false)$/i;
+
+ function parseText (sValue) {
+ if (rIsNull.test(sValue)) { return null; }
+ if (rIsBool.test(sValue)) { return sValue.toLowerCase() === 'true'; }
+ if (isFinite(sValue)) { return parseFloat(sValue); }
+ if (isFinite(Date.parse(sValue))) { return new Date(sValue); }
+ return sValue;
+ }
+
+ function EmptyTree () { }
+ EmptyTree.prototype.toString = function () { return 'null'; };
+ EmptyTree.prototype.valueOf = function () { return null; };
+
+ function objectify (vValue) {
+ return vValue === null ? new EmptyTree() : vValue instanceof Object ? vValue : new vValue.constructor(vValue);
+ }
+
+ function createObjTree (oParentNode, nVerb, bFreeze, bNesteAttr) {
+ var
+ nLevelStart = aCache.length, bChildren = oParentNode.hasChildNodes(),
+ bAttributes = oParentNode.hasAttributes(), bHighVerb = Boolean(nVerb & 2);
+
+ var
+ sProp, vContent, nLength = 0, sCollectedTxt = '',
+ vResult = bHighVerb ? {} : /* put here the default value for empty nodes: */ true;
+
+ if (bChildren) {
+ for (var oNode, nItem = 0; nItem < oParentNode.childNodes.length; nItem++) {
+ oNode = oParentNode.childNodes.item(nItem);
+ if (oNode.nodeType === 4) { sCollectedTxt += oNode.nodeValue; } /* nodeType is 'CDATASection' (4) */
+ else if (oNode.nodeType === 3) { sCollectedTxt += oNode.nodeValue.trim(); } /* nodeType is 'Text' (3) */
+ else if (oNode.nodeType === 1 && !oNode.prefix) { aCache.push(oNode); } /* nodeType is 'Element' (1) */
+ }
+ }
+
+ var nLevelEnd = aCache.length, vBuiltVal = parseText(sCollectedTxt);
+
+ if (!bHighVerb && (bChildren || bAttributes)) { vResult = nVerb === 0 ? objectify(vBuiltVal) : {}; }
+
+ for (var nElId = nLevelStart; nElId < nLevelEnd; nElId++) {
+ sProp = aCache[nElId].nodeName.toLowerCase();
+ vContent = createObjTree(aCache[nElId], nVerb, bFreeze, bNesteAttr);
+ if (vResult.hasOwnProperty(sProp)) {
+ if (vResult[sProp].constructor !== Array) { vResult[sProp] = [vResult[sProp]]; }
+ vResult[sProp].push(vContent);
+ } else {
+ vResult[sProp] = vContent;
+ nLength++;
+ }
+ }
+
+ if (bAttributes) {
+ var
+ nAttrLen = oParentNode.attributes.length,
+ sAPrefix = bNesteAttr ? '' : sAttrPref, oAttrParent = bNesteAttr ? {} : vResult;
+
+ for (var oAttrib, nAttrib = 0; nAttrib < nAttrLen; nLength++, nAttrib++) {
+ oAttrib = oParentNode.attributes.item(nAttrib);
+ oAttrParent[sAPrefix + oAttrib.name.toLowerCase()] = parseText(oAttrib.value.trim());
+ }
+
+ if (bNesteAttr) {
+ if (bFreeze) { Object.freeze(oAttrParent); }
+ vResult[sAttributesProp] = oAttrParent;
+ nLength -= nAttrLen - 1;
+ }
+ }
+
+ if (nVerb === 3 || (nVerb === 2 || nVerb === 1 && nLength > 0) && sCollectedTxt) {
+ vResult[sValueProp] = vBuiltVal;
+ } else if (!bHighVerb && nLength === 0 && sCollectedTxt) {
+ vResult = vBuiltVal;
+ }
+
+ if (bFreeze && (bHighVerb || nLength > 0)) { Object.freeze(vResult); }
+
+ aCache.length = nLevelStart;
+
+ return vResult;
+ }
+
+ function loadObjTree (oXMLDoc, oParentEl, oParentObj) {
+ var vValue, oChild;
+
+ if (oParentObj instanceof String || oParentObj instanceof Number || oParentObj instanceof Boolean) {
+ oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toString())); /* verbosity level is 0 */
+ } else if (oParentObj.constructor === Date) {
+ oParentEl.appendChild(oXMLDoc.createTextNode(oParentObj.toGMTString()));
+ }
+
+ for (var sName in oParentObj) {
+ vValue = oParentObj[sName];
+ if (isFinite(sName) || vValue instanceof Function) { continue; } /* verbosity level is 0 */
+ if (sName === sValueProp) {
+ if (vValue !== null && vValue !== true) { oParentEl.appendChild(oXMLDoc.createTextNode(vValue.constructor === Date ? vValue.toGMTString() : String(vValue))); }
+ } else if (sName === sAttributesProp) { /* verbosity level is 3 */
+ for (var sAttrib in vValue) { oParentEl.setAttribute(sAttrib, vValue[sAttrib]); }
+ } else if (sName.charAt(0) === sAttrPref) {
+ oParentEl.setAttribute(sName.slice(1), vValue);
+ } else if (vValue.constructor === Array) {
+ for (var nItem = 0; nItem < vValue.length; nItem++) {
+ oChild = oXMLDoc.createElement(sName);
+ loadObjTree(oXMLDoc, oChild, vValue[nItem]);
+ oParentEl.appendChild(oChild);
+ }
+ } else {
+ oChild = oXMLDoc.createElement(sName);
+ if (vValue instanceof Object) {
+ loadObjTree(oXMLDoc, oChild, vValue);
+ } else if (vValue !== null && vValue !== true) {
+ oChild.appendChild(oXMLDoc.createTextNode(vValue.toString()));
+ }
+ oParentEl.appendChild(oChild);
+ }
+ }
+ }
+
+ this.build = function (oXMLParent, nVerbosity /* optional */, bFreeze /* optional */, bNesteAttributes /* optional */) {
+ var _nVerb = arguments.length > 1 && typeof nVerbosity === 'number' ? nVerbosity & 3 : /* put here the default verbosity level: */ 1;
+ return createObjTree(oXMLParent, _nVerb, bFreeze || false, arguments.length > 3 ? bNesteAttributes : _nVerb === 3);
+ };
+
+ this.unbuild = function (oObjTree) {
+ var oNewDoc = document.implementation.createDocument('', '', null);
+ loadObjTree(oNewDoc, oNewDoc, oObjTree);
+ return oNewDoc;
+ };
+
+ this.stringify = function (oObjTree) {
+ return (new XMLSerializer()).serializeToString(JXON.unbuild(oObjTree));
+ };
+ })();
+
+ // var myObject = JXON.build(doc);
+ // we got our javascript object! try: alert(JSON.stringify(myObject));
+
+ // var newDoc = JXON.unbuild(myObject);
+ // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
+
+ var dispatch$3 = dispatch('authLoading', 'authDone', 'change', 'loading', 'loaded');
+ var urlroot = 'https://www.openstreetmap.org';
+ var oauth = osmAuth({
+ url: urlroot,
+ oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
+ oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
+ loading: authLoading,
+ done: authDone
+ });
+
+ var _blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'];
+ var _tiles = { loaded: {}, inflight: {} };
+ var _changeset = {};
+ var _entityCache = {};
+ var _connectionID = 1;
+ var _tileZoom = 16;
+ var _rateLimitError;
+ var _userChangesets;
+ var _userDetails;
+ var _off;
+
+
+ function authLoading() {
+ dispatch$3.call('authLoading');
+ }
+
+
+ function authDone() {
+ dispatch$3.call('authDone');
+ }
+
+
+ function abortRequest$2(i) {
+ if (i) {
+ i.abort();
+ }
+ }
+
+
+ function getLoc(attrs) {
+ var lon = attrs.lon && attrs.lon.value;
+ var lat = attrs.lat && attrs.lat.value;
+ return [parseFloat(lon), parseFloat(lat)];
+ }
+
+
+ function getNodes(obj) {
+ var elems = obj.getElementsByTagName('nd');
+ var nodes = new Array(elems.length);
+ for (var i = 0, l = elems.length; i < l; i++) {
+ nodes[i] = 'n' + elems[i].attributes.ref.value;
+ }
+ return nodes;
+ }
+
+
+ function getTags(obj) {
+ var elems = obj.getElementsByTagName('tag');
+ var tags = {};
+ for (var i = 0, l = elems.length; i < l; i++) {
+ var attrs = elems[i].attributes;
+ tags[attrs.k.value] = attrs.v.value;
+ }
+
+ return tags;
+ }
+
+
+ function getMembers(obj) {
+ var elems = obj.getElementsByTagName('member');
+ var members = new Array(elems.length);
+ for (var i = 0, l = elems.length; i < l; i++) {
+ var attrs = elems[i].attributes;
+ members[i] = {
+ id: attrs.type.value[0] + attrs.ref.value,
+ type: attrs.type.value,
+ role: attrs.role.value
+ };
+ }
+ return members;
+ }
+
+
+ function getVisible(attrs) {
+ return (!attrs.visible || attrs.visible.value !== 'false');
+ }
+
+
+ var parsers = {
+ node: function nodeData(obj, uid) {
+ var attrs = obj.attributes;
+ return new osmNode({
+ id:uid,
+ visible: getVisible(attrs),
+ version: attrs.version.value,
+ changeset: attrs.changeset && attrs.changeset.value,
+ timestamp: attrs.timestamp && attrs.timestamp.value,
+ user: attrs.user && attrs.user.value,
+ uid: attrs.uid && attrs.uid.value,
+ loc: getLoc(attrs),
+ tags: getTags(obj)
+ });
+ },
+
+ way: function wayData(obj, uid) {
+ var attrs = obj.attributes;
+ return new osmWay({
+ id: uid,
+ visible: getVisible(attrs),
+ version: attrs.version.value,
+ changeset: attrs.changeset && attrs.changeset.value,
+ timestamp: attrs.timestamp && attrs.timestamp.value,
+ user: attrs.user && attrs.user.value,
+ uid: attrs.uid && attrs.uid.value,
+ tags: getTags(obj),
+ nodes: getNodes(obj),
+ });
+ },
+
+ relation: function relationData(obj, uid) {
+ var attrs = obj.attributes;
+ return new osmRelation({
+ id: uid,
+ visible: getVisible(attrs),
+ version: attrs.version.value,
+ changeset: attrs.changeset && attrs.changeset.value,
+ timestamp: attrs.timestamp && attrs.timestamp.value,
+ user: attrs.user && attrs.user.value,
+ uid: attrs.uid && attrs.uid.value,
+ tags: getTags(obj),
+ members: getMembers(obj)
+ });
+ }
+ };
+
+
+ function parse(xml$$1, callback, options) {
+ options = assignIn({ cache: true }, options);
+ if (!xml$$1 || !xml$$1.childNodes) return;
+
+ var root = xml$$1.childNodes[0];
+ var children = root.childNodes;
+
+ function parseChild(child) {
+ var parser = parsers[child.nodeName];
+ if (parser) {
+ var uid = osmEntity$$1.id.fromOSM(child.nodeName, child.attributes.id.value);
+ if (options.cache && _entityCache[uid]) {
+ return null;
+ }
+ return parser(child, uid);
+ }
+ }
+
+ utilIdleWorker(children, parseChild, callback);
+ }
+
+
+ var serviceOsm = {
+
+ init: function() {
+ utilRebind(this, dispatch$3, 'on');
+ },
+
+
+ reset: function() {
+ _connectionID++;
+ _userChangesets = undefined;
+ _userDetails = undefined;
+ _rateLimitError = undefined;
+ forEach(_tiles.inflight, abortRequest$2);
+ if (_changeset.inflight) abortRequest$2(_changeset.inflight);
+ _tiles = { loaded: {}, inflight: {} };
+ _changeset = {};
+ _entityCache = {};
+ return this;
+ },
+
+
+ getConnectionId: function() {
+ return _connectionID;
+ },
+
+
+ changesetURL: function(changesetId) {
+ return urlroot + '/changeset/' + changesetId;
+ },
+
+
+ changesetsURL: function(center, zoom) {
+ var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
+ return urlroot + '/history#map=' +
+ Math.floor(zoom) + '/' +
+ center[1].toFixed(precision) + '/' +
+ center[0].toFixed(precision);
+ },
+
+
+ entityURL: function(entity) {
+ return urlroot + '/' + entity.type + '/' + entity.osmId();
+ },
+
+
+ historyURL: function(entity) {
+ return urlroot + '/' + entity.type + '/' + entity.osmId() + '/history';
+ },
+
+
+ userURL: function(username) {
+ return urlroot + '/user/' + username;
+ },
+
+
+ loadFromAPI: function(path, callback, options) {
+ options = assignIn({ cache: true }, options);
+ var that = this;
+ var cid = _connectionID;
+
+ function done(err, xml$$1) {
+ if (that.getConnectionId() !== cid) {
+ if (callback) callback({ message: 'Connection Switched', status: -1 });
+ return;
+ }
+
+ var isAuthenticated = that.authenticated();
+
+ // 400 Bad Request, 401 Unauthorized, 403 Forbidden
+ // Logout and retry the request..
+ if (isAuthenticated && err && (err.status === 400 || err.status === 401 || err.status === 403)) {
+ that.logout();
+ that.loadFromAPI(path, callback);
+
+ // else, no retry..
+ } else {
+ // 509 Bandwidth Limit Exceeded, 429 Too Many Requests
+ // Set the rateLimitError flag and trigger a warning..
+ if (!isAuthenticated && !_rateLimitError && err &&
+ (err.status === 509 || err.status === 429)) {
+ _rateLimitError = err;
+ dispatch$3.call('change');
+ }
+
+ if (callback) {
+ if (err) return callback(err, null);
+ parse(xml$$1, function (entities) {
+ if (options.cache) {
+ for (var i in entities) {
+ _entityCache[entities[i].id] = true;
+ }
+ }
+ callback(null, entities);
+ }, options);
+ }
+ }
+ }
+
+ if (this.authenticated()) {
+ return oauth.xhr({ method: 'GET', path: path }, done);
+ } else {
+ var url = urlroot + path;
+ return d3_xml(url).get(done);
+ }
+ },
+
+
+ loadEntity: function(id, callback) {
+ var type = osmEntity$$1.id.type(id);
+ var osmID = osmEntity$$1.id.toOSM(id);
+ var options = { cache: false };
+
+ this.loadFromAPI(
+ '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''),
+ function(err, entities) {
+ if (callback) callback(err, { data: entities });
+ },
+ options
+ );
+ },
+
+
+ loadEntityVersion: function(id, version, callback) {
+ var type = osmEntity$$1.id.type(id);
+ var osmID = osmEntity$$1.id.toOSM(id);
+ var options = { cache: false };
+
+ this.loadFromAPI(
+ '/api/0.6/' + type + '/' + osmID + '/' + version,
+ function(err, entities) {
+ if (callback) callback(err, { data: entities });
+ },
+ options
+ );
+ },
+
+
+ loadMultiple: function(ids, callback) {
+ var that = this;
+
+ forEach(groupBy(uniq(ids), osmEntity$$1.id.type), function(v, k) {
+ var type = k + 's';
+ var osmIDs = map$3(v, osmEntity$$1.id.toOSM);
+ var options = { cache: false };
+
+ forEach(chunk(osmIDs, 150), function(arr) {
+ that.loadFromAPI(
+ '/api/0.6/' + type + '?' + type + '=' + arr.join(),
+ function(err, entities) {
+ if (callback) callback(err, { data: entities });
+ },
+ options
+ );
+ });
+ });
+ },
+
+
+ authenticated: function() {
+ return oauth.authenticated();
+ },
+
+
+ putChangeset: function(changeset, changes, callback) {
+ if (_changeset.inflight) {
+ return callback({ message: 'Changeset already inflight', status: -2 }, changeset);
+ }
+
+ var that = this;
+ var cid = _connectionID;
+
+ if (_changeset.open) { // reuse existing open changeset..
+ createdChangeset(null, _changeset.open);
+ } else { // open a new changeset..
+ _changeset.inflight = oauth.xhr({
+ method: 'PUT',
+ path: '/api/0.6/changeset/create',
+ options: { header: { 'Content-Type': 'text/xml' } },
+ content: JXON.stringify(changeset.asJXON())
+ }, createdChangeset);
+ }
+
+
+ function createdChangeset(err, changesetID) {
+ _changeset.inflight = null;
+
+ if (err) {
+ // 400 Bad Request, 401 Unauthorized, 403 Forbidden..
+ if (err.status === 400 || err.status === 401 || err.status === 403) {
+ that.logout();
+ }
+ return callback(err, changeset);
+ }
+ if (that.getConnectionId() !== cid) {
+ return callback({ message: 'Connection Switched', status: -1 }, changeset);
+ }
+
+ _changeset.open = changesetID;
+ changeset = changeset.update({ id: changesetID });
+
+ // Upload the changeset..
+ _changeset.inflight = oauth.xhr({
+ method: 'POST',
+ path: '/api/0.6/changeset/' + changesetID + '/upload',
+ options: { header: { 'Content-Type': 'text/xml' } },
+ content: JXON.stringify(changeset.osmChangeJXON(changes))
+ }, uploadedChangeset);
+ }
+
+
+ function uploadedChangeset(err) {
+ _changeset.inflight = null;
+
+ if (err) return callback(err, changeset);
+
+ // Upload was successful, safe to call the callback.
+ // Add delay to allow for postgres replication #1646 #2678
+ window.setTimeout(function() {
+ callback(null, changeset);
+ }, 2500);
+
+ _changeset.open = null;
+
+ // At this point, we don't really care if the connection was switched..
+ // Only try to close the changeset if we're still talking to the same server.
+ if (that.getConnectionId() === cid) {
+ // Still attempt to close changeset, but ignore response because #2667
+ oauth.xhr({
+ method: 'PUT',
+ path: '/api/0.6/changeset/' + changeset.id + '/close',
+ options: { header: { 'Content-Type': 'text/xml' } }
+ }, function() { return true; });
+ }
+ }
+ },
+
+
+ userDetails: function(callback) {
+ if (_userDetails) {
+ callback(undefined, _userDetails);
+ return;
+ }
+
+ var that = this;
+ var cid = _connectionID;
+
+ function done(err, user_details) {
+ if (err) {
+ // 400 Bad Request, 401 Unauthorized, 403 Forbidden..
+ if (err.status === 400 || err.status === 401 || err.status === 403) {
+ that.logout();
+ }
+ return callback(err);
+ }
+ if (that.getConnectionId() !== cid) {
+ return callback({ message: 'Connection Switched', status: -1 });
+ }
+
+
+ var u = user_details.getElementsByTagName('user')[0];
+ var img = u.getElementsByTagName('img');
+ var image_url = '';
+
+ if (img && img[0] && img[0].getAttribute('href')) {
+ image_url = img[0].getAttribute('href');
+ }
+
+ var changesets = u.getElementsByTagName('changesets');
+ var changesets_count = 0;
+
+ if (changesets && changesets[0] && changesets[0].getAttribute('count')) {
+ changesets_count = changesets[0].getAttribute('count');
+ }
+
+ _userDetails = {
+ id: u.attributes.id.value,
+ display_name: u.attributes.display_name.value,
+ image_url: image_url,
+ changesets_count: changesets_count
+ };
+
+ callback(undefined, _userDetails);
+ }
+
+ oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done);
+ },
+
+
+ userChangesets: function(callback) {
+ if (_userChangesets) {
+ callback(undefined, _userChangesets);
+ return;
+ }
+
+ var that = this;
+ var cid = _connectionID;
+
+ this.userDetails(function(err, user) {
+ if (err) {
+ return callback(err);
+ }
+ if (that.getConnectionId() !== cid) {
+ return callback({ message: 'Connection Switched', status: -1 });
+ }
+
+ function done(err, changesets) {
+ if (err) {
+ // 400 Bad Request, 401 Unauthorized, 403 Forbidden..
+ if (err.status === 400 || err.status === 401 || err.status === 403) {
+ that.logout();
+ }
+ return callback(err);
+ }
+ if (that.getConnectionId() !== cid) {
+ return callback({ message: 'Connection Switched', status: -1 });
+ }
+
+ _userChangesets = Array.prototype.map.call(
+ changesets.getElementsByTagName('changeset'),
+ function (changeset) {
+ return { tags: getTags(changeset) };
+ }
+ ).filter(function (changeset) {
+ var comment = changeset.tags.comment;
+ return comment && comment !== '';
+ });
+
+ callback(undefined, _userChangesets);
+ }
+
+ oauth.xhr({ method: 'GET', path: '/api/0.6/changesets?user=' + user.id }, done);
+ });
+ },
+
+
+ status: function(callback) {
+ var that = this;
+ var cid = _connectionID;
+
+ function done(xml$$1) {
+ if (that.getConnectionId() !== cid) {
+ return callback({ message: 'Connection Switched', status: -1 }, 'connectionSwitched');
+ }
+
+ // update blacklists
+ var elements = xml$$1.getElementsByTagName('blacklist');
+ var regexes = [];
+ for (var i = 0; i < elements.length; i++) {
+ var regex = elements[i].getAttribute('regex'); // needs unencode?
+ if (regex) {
+ regexes.push(regex);
+ }
+ }
+ if (regexes.length) {
+ _blacklists = regexes;
+ }
+
+
+ if (_rateLimitError) {
+ callback(_rateLimitError, 'rateLimited');
+ } else {
+ var apiStatus = xml$$1.getElementsByTagName('status');
+ var val = apiStatus[0].getAttribute('api');
+
+ callback(undefined, val);
+ }
+ }
+
+ d3_xml(urlroot + '/api/capabilities').get()
+ .on('load', done)
+ .on('error', callback);
+ },
+
+
+ imageryBlacklists: function() {
+ return _blacklists;
+ },
+
+
+ tileZoom: function(_) {
+ if (!arguments.length) return _tileZoom;
+ _tileZoom = _;
+ return this;
+ },
+
+
+ loadTiles: function(projection, dimensions, callback) {
+ if (_off) return;
+
+ var that = this;
+ var s = projection.scale() * 2 * Math.PI;
+ var z = Math.max(Math.log(s) / Math.log(2) - 8, 0);
+ var ts = 256 * Math.pow(2, z - _tileZoom);
+ var origin = [
+ s / 2 - projection.translate()[0],
+ s / 2 - projection.translate()[1]
+ ];
+
+ var tiles = d3geoTile()
+ .scaleExtent([_tileZoom, _tileZoom])
+ .scale(s)
+ .size(dimensions)
+ .translate(projection.translate())()
+ .map(function(tile) {
+ var x = tile[0] * ts - origin[0];
+ var y = tile[1] * ts - origin[1];
+
+ return {
+ id: tile.toString(),
+ extent: geoExtent$$1(
+ projection.invert([x, y + ts]),
+ projection.invert([x + ts, y]))
+ };
+ });
+
+ filter(_tiles.inflight, function(v, i) {
+ var wanted = find$1(tiles, function(tile) {
+ return i === tile.id;
+ });
+ if (!wanted) delete _tiles.inflight[i];
+ return !wanted;
+ }).map(abortRequest$2);
+
+ tiles.forEach(function(tile) {
+ var id = tile.id;
+
+ if (_tiles.loaded[id] || _tiles.inflight[id]) return;
+
+ if (isEmpty(_tiles.inflight)) {
+ dispatch$3.call('loading');
+ }
+
+ _tiles.inflight[id] = that.loadFromAPI(
+ '/api/0.6/map?bbox=' + tile.extent.toParam(),
+ function(err, parsed) {
+ delete _tiles.inflight[id];
+ if (!err) {
+ _tiles.loaded[id] = true;
+ }
+
+ if (callback) {
+ callback(err, assignIn({ data: parsed }, tile));
+ }
+
+ if (isEmpty(_tiles.inflight)) {
+ dispatch$3.call('loaded');
+ }
+ }
+ );
+ });
+ },
+
+
+ switch: function(options) {
+ urlroot = options.urlroot;
+
+ oauth.options(assignIn({
+ url: urlroot,
+ loading: authLoading,
+ done: authDone
+ }, options));
+
+ this.reset();
+ this.userChangesets(function() {}); // eagerly load user details/changesets
+ dispatch$3.call('change');
+ return this;
+ },
+
+
+ toggle: function(_) {
+ _off = !_;
+ return this;
+ },
+
+
+ loadedTiles: function(_) {
+ if (!arguments.length) return _tiles.loaded;
+ _tiles.loaded = _;
+ return this;
+ },
+
+
+ logout: function() {
+ _userChangesets = undefined;
+ _userDetails = undefined;
+ oauth.logout();
+ dispatch$3.call('change');
+ return this;
+ },
+
+
+ authenticate: function(callback) {
+ var that = this;
+ var cid = _connectionID;
+ _userChangesets = undefined;
+ _userDetails = undefined;
+
+ function done(err, res) {
+ if (err) {
+ if (callback) callback(err);
+ return;
+ }
+ if (that.getConnectionId() !== cid) {
+ if (callback) callback({ message: 'Connection Switched', status: -1 });
+ return;
+ }
+ _rateLimitError = undefined;
+ dispatch$3.call('change');
+ if (callback) callback(err, res);
+ that.userChangesets(function() {}); // eagerly load user details/changesets
+ }
+
+ return oauth.authenticate(done);
+ }
+ };
+
+ var apibase$3 = 'https://taginfo.openstreetmap.org/api/4/',
+ inflight$1 = {},
+ popularKeys = {},
+ taginfoCache = {},
+ tag_sorts = {
+ point: 'count_nodes',
+ vertex: 'count_nodes',
+ area: 'count_ways',
+ line: 'count_ways'
+ },
+ tag_sort_members = {
+ point: 'count_node_members',
+ vertex: 'count_node_members',
+ area: 'count_way_members',
+ line: 'count_way_members',
+ relation: 'count_relation_members'
+ },
+ tag_filters = {
+ point: 'nodes',
+ vertex: 'nodes',
+ area: 'ways',
+ line: 'ways'
+ },
+ tag_members_fractions = {
+ point: 'count_node_members_fraction',
+ vertex: 'count_node_members_fraction',
+ area: 'count_way_members_fraction',
+ line: 'count_way_members_fraction',
+ relation: 'count_relation_members_fraction'
+ };
+
+
+ function sets(params, n, o) {
+ if (params.geometry && o[params.geometry]) {
+ params[n] = o[params.geometry];
+ }
+ return params;
+ }
+
+
+ function setFilter(params) {
+ return sets(params, 'filter', tag_filters);
+ }
+
+
+ function setSort(params) {
+ return sets(params, 'sortname', tag_sorts);
+ }
+
+
+ function setSortMembers(params) {
+ return sets(params, 'sortname', tag_sort_members);
+ }
+
+
+ function clean(params) {
+ return omit(params, ['geometry', 'debounce']);
+ }
+
+
+ function filterKeys(type) {
+ var count_type = type ? 'count_' + type : 'count_all';
+ return function(d) {
+ return parseFloat(d[count_type]) > 2500 || d.in_wiki;
+ };
+ }
+
+
+ function filterMultikeys(prefix) {
+ return function(d) {
+ // d.key begins with prefix, and d.key contains no additional ':'s
+ var re = new RegExp('^' + prefix + '(.*)$');
+ var matches = d.key.match(re) || [];
+ return (matches.length === 2 && matches[1].indexOf(':') === -1);
+ };
+ }
+
+
+ function filterValues(allowUpperCase) {
+ return function(d) {
+ if (d.value.match(/[;,]/) !== null) return false; // exclude some punctuation
+ if (!allowUpperCase && d.value.match(/[A-Z*]/) !== null) return false; // exclude uppercase letters
+ return parseFloat(d.fraction) > 0.0 || d.in_wiki;
+ };
+ }
+
+
+ function filterRoles(geometry) {
+ return function(d) {
+ if (d.role === '') return false; // exclude empty role
+ if (d.role.match(/[A-Z*;,]/) !== null) return false; // exclude uppercase letters and some punctuation
+ return parseFloat(d[tag_members_fractions[geometry]]) > 0.0;
+ };
+ }
+
+
+ function valKey(d) {
+ return {
+ value: d.key,
+ title: d.key
+ };
+ }
+
+
+ function valKeyDescription(d) {
+ return {
+ value: d.value,
+ title: d.description || d.value
+ };
+ }
+
+
+ function roleKey(d) {
+ return {
+ value: d.role,
+ title: d.role
+ };
+ }
+
+
+ // sort keys with ':' lower than keys without ':'
+ function sortKeys(a, b) {
+ return (a.key.indexOf(':') === -1 && b.key.indexOf(':') !== -1) ? -1
+ : (a.key.indexOf(':') !== -1 && b.key.indexOf(':') === -1) ? 1
+ : 0;
+ }
+
+
+ var debouncedRequest = debounce(request$1, 500, { leading: false });
+
+ function request$1(url, params, exactMatch, callback, loaded) {
+ if (inflight$1[url]) return;
+
+ if (checkCache(url, params, exactMatch, callback)) return;
+
+ inflight$1[url] = d3_json(url, function (err, data) {
+ delete inflight$1[url];
+ loaded(err, data);
+ });
+ }
+
+
+ function checkCache(url, params, exactMatch, callback) {
+ var rp = params.rp || 25,
+ testQuery = params.query || '',
+ testUrl = url;
+
+ do {
+ var hit = taginfoCache[testUrl];
+
+ // exact match, or shorter match yielding fewer than max results (rp)
+ if (hit && (url === testUrl || hit.length < rp)) {
+ callback(null, hit);
+ return true;
+ }
+
+ // don't try to shorten the query
+ if (exactMatch || !testQuery.length) return false;
+
+ // do shorten the query to see if we already have a cached result
+ // that has returned fewer than max results (rp)
+ testQuery = testQuery.slice(0, -1);
+ testUrl = url.replace(/&query=(.*?)&/, '&query=' + testQuery + '&');
+ } while (testQuery.length >= 0);
+
+ return false;
+ }
+
+
+ var serviceTaginfo = {
+
+ init: function() {
+ inflight$1 = {};
+ taginfoCache = {};
+ popularKeys = {};
+
+ // Fetch popular keys. We'll exclude these from `values`
+ // lookups because they stress taginfo, and they aren't likely
+ // to yield meaningful autocomplete results.. see #3955
+ var params = { rp: 100, sortname: 'values_all', sortorder: 'desc', page: 1, debounce: false };
+ this.keys(params, function(err, data) {
+ if (err) return;
+ data.forEach(function(d) {
+ if (d.value === 'opening_hours') return; // exception
+ popularKeys[d.value] = true;
+ });
+ });
+ },
+
+
+ reset: function() {
+ forEach(inflight$1, function(req) { req.abort(); });
+ inflight$1 = {};
+ },
+
+
+ keys: function(params, callback) {
+ var doRequest = params.debounce ? debouncedRequest : request$1;
+ params = clean(setSort(params));
+ params = assignIn({ rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1 }, params);
+
+ var url = apibase$3 + 'keys/all?' + utilQsString(params);
+ doRequest(url, params, false, callback, function(err, d) {
+ if (err) {
+ callback(err);
+ } else {
+ var f = filterKeys(params.filter);
+ var result = d.data.filter(f).sort(sortKeys).map(valKey);
+ taginfoCache[url] = result;
+ callback(null, result);
+ }
+ });
+ },
+
+
+ multikeys: function(params, callback) {
+ var doRequest = params.debounce ? debouncedRequest : request$1;
+ params = clean(setSort(params));
+ params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params);
+ var prefix = params.query;
+
+ var url = apibase$3 + 'keys/all?' + utilQsString(params);
+ doRequest(url, params, true, callback, function(err, d) {
+ if (err) {
+ callback(err);
+ } else {
+ var f = filterMultikeys(prefix);
+ var result = d.data.filter(f).map(valKey);
+ taginfoCache[url] = result;
+ callback(null, result);
+ }
+ });
+ },
+
+
+ values: function(params, callback) {
+ // Exclude popular keys from values lookups.. see #3955
+ var key = params.key;
+ if (key && popularKeys[key]) {
+ callback(null, []);
+ return;
+ }
+
+ var doRequest = params.debounce ? debouncedRequest : request$1;
+ params = clean(setSort(setFilter(params)));
+ params = assignIn({ rp: 25, sortname: 'count_all', sortorder: 'desc', page: 1 }, params);
+
+ var url = apibase$3 + 'key/values?' + utilQsString(params);
+ doRequest(url, params, false, callback, function(err, d) {
+ if (err) {
+ callback(err);
+ } else {
+ // In most cases we prefer taginfo value results with lowercase letters.
+ // A few OSM keys expect values to contain uppercase values (see #3377).
+ // This is not an exhaustive list (e.g. `name` also has uppercase values)
+ // but these are the fields where taginfo value lookup is most useful.
+ var re = /network|taxon|genus|species|brand|grape_variety|rating|:output|_hours|_times/;
+ var allowUpperCase = (params.key.match(re) !== null);
+ var f = filterValues(allowUpperCase);
+
+ var result = d.data.filter(f).map(valKeyDescription);
+ taginfoCache[url] = result;
+ callback(null, result);
+ }
+ });
+ },
+
+
+ roles: function(params, callback) {
+ var doRequest = params.debounce ? debouncedRequest : request$1;
+ var geometry = params.geometry;
+ params = clean(setSortMembers(params));
+ params = assignIn({ rp: 25, sortname: 'count_all_members', sortorder: 'desc', page: 1 }, params);
+
+ var url = apibase$3 + 'relation/roles?' + utilQsString(params);
+ doRequest(url, params, true, callback, function(err, d) {
+ if (err) {
+ callback(err);
+ } else {
+ var f = filterRoles(geometry);
+ var result = d.data.filter(f).map(roleKey);
+ taginfoCache[url] = result;
+ callback(null, result);
+ }
+ });
+ },
+
+
+ docs: function(params, callback) {
+ var doRequest = params.debounce ? debouncedRequest : request$1;
+ params = clean(setSort(params));
+
+ var path = 'key/wiki_pages?';
+ if (params.value) path = 'tag/wiki_pages?';
+ else if (params.rtype) path = 'relation/wiki_pages?';
+
+ var url = apibase$3 + path + utilQsString(params);
+ doRequest(url, params, true, callback, function(err, d) {
+ if (err) {
+ callback(err);
+ } else {
+ taginfoCache[url] = d.data;
+ callback(null, d.data);
+ }
+ });
+ },
+
+
+ apibase: function(_) {
+ if (!arguments.length) return apibase$3;
+ apibase$3 = _;
+ return this;
+ }
+
+ };
+
+ var jsonpCache = {};
+ window.jsonpCache = jsonpCache;
+
+ function jsonpRequest(url, callback) {
+
+ if (window.JSONP_FIX) {
+ if (window.JSONP_DELAY === 0) {
+ callback(window.JSONP_FIX);
+ } else {
+ setTimeout(function() {
+ callback(window.JSONP_FIX);
+ }, window.JSONP_DELAY || 0);
+ }
+ return;
+ }
+
+ function rand() {
+ var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
+ c = '', i = -1;
+ while (++i < 15) c += chars.charAt(Math.floor(Math.random() * 52));
+ return c;
+ }
+
+ function create$$1(url) {
+ var e = url.match(/callback=(\w+)/),
+ c = e ? e[1] : rand();
+ jsonpCache[c] = function(data) {
+ callback(data);
+ delete jsonpCache[c];
+ script.remove();
+ };
+ return 'jsonpCache.' + c;
+ }
+
+ var cb = create$$1(url),
+ script = select('head')
+ .append('script')
+ .attr('type', 'text/javascript')
+ .attr('src', url.replace(/(\{|%7B)callback(\}|%7D)/, cb));
+ }
+
+ var endpoint = 'https://www.wikidata.org/w/api.php?';
+
+ var serviceWikidata = {
+
+ init: function() {},
+ reset: function() {},
+
+
+ // Given a Wikipedia language and article title, return an array of
+ // corresponding Wikidata entities.
+ itemsByTitle: function(lang, title, callback) {
+ if (!title) {
+ callback('', {});
+ return;
+ }
+
+ lang = lang || 'en';
+ jsonpRequest(endpoint + utilQsString({
+ action: 'wbgetentities',
+ format: 'json',
+ sites: lang.replace(/-/g, '_') + 'wiki',
+ titles: title,
+ languages: 'en', // shrink response by filtering to one language
+ callback: '{callback}'
+ }), function(data) {
+ if (!data || data.error) {
+ callback('', {});
+ } else {
+ callback(title, data.entities || {});
+ }
+ });
+ }
+
+ };
+
+ var endpoint$1 = 'https://en.wikipedia.org/w/api.php?';
+
+ var serviceWikipedia = {
+
+ init: function() {},
+ reset: function() {},
+
+
+ search: function(lang, query, callback) {
+ if (!query) {
+ callback('', []);
+ return;
+ }
+
+ lang = lang || 'en';
+ jsonpRequest(endpoint$1.replace('en', lang) +
+ utilQsString({
+ action: 'query',
+ list: 'search',
+ srlimit: '10',
+ srinfo: 'suggestion',
+ format: 'json',
+ callback: '{callback}',
+ srsearch: query
+ }), function(data) {
+ if (!data || !data.query || !data.query.search || data.error) {
+ callback('', []);
+ } else {
+ var results = data.query.search.map(function(d) { return d.title; });
+ callback(query, results);
+ }
+ }
+ );
+ },
+
+
+ suggestions: function(lang, query, callback) {
+ if (!query) {
+ callback('', []);
+ return;
+ }
+
+ lang = lang || 'en';
+ jsonpRequest(endpoint$1.replace('en', lang) +
+ utilQsString({
+ action: 'opensearch',
+ namespace: 0,
+ suggest: '',
+ format: 'json',
+ callback: '{callback}',
+ search: query
+ }), function(data) {
+ if (!data || data.error) {
+ callback('', []);
+ } else {
+ callback(data[0], data[1] || []);
+ }
+ }
+ );
+ },
+
+
+ translations: function(lang, title, callback) {
+ if (!title) {
+ callback({});
+ return;
+ }
+
+ jsonpRequest(endpoint$1.replace('en', lang) +
+ utilQsString({
+ action: 'query',
+ prop: 'langlinks',
+ format: 'json',
+ callback: '{callback}',
+ lllimit: 500,
+ titles: title
+ }), function(data) {
+ if (!data || !data.query || !data.query.pages || data.error) {
+ callback({});
+ } else {
+ var list = data.query.pages[Object.keys(data.query.pages)[0]],
+ translations = {};
+ if (list && list.langlinks) {
+ list.langlinks.forEach(function(d) {
+ translations[d.lang] = d['*'];
+ });
+ }
+ callback(translations);
+ }
+ }
+ );
+ }
+
+ };
+
+ var services = {
+ geocoder: serviceNominatim,
+ mapillary: serviceMapillary,
+ openstreetcam: serviceOpenstreetcam,
+ osm: serviceOsm,
+ taginfo: serviceTaginfo,
+ wikidata: serviceWikidata,
+ wikipedia: serviceWikipedia
+ };
+
+ var _isSaving = false;
+
+
+ function modeSave$$1(context) {
+ var mode = { id: 'save' };
+ var keybinding = d3keybinding('modeSave');
+
+ var loading = uiLoading(context)
+ .message(t('save.uploading'))
+ .blocking(true);
+
+ var commit = uiCommit(context)
+ .on('cancel', cancel)
+ .on('save', save);
+
+ var _toCheck = [];
+ var _toLoad = [];
+ var _loaded = {};
+ var _toLoadCount = 0;
+ var _toLoadTotal = 0;
+
+ var _conflicts = [];
+ var _errors = [];
+ var _origChanges;
+ var _location;
+
+
+ function cancel(selectedID) {
+ if (selectedID) {
+ context.enter(modeSelect(context, [selectedID]));
+ } else {
+ context.enter(modeBrowse(context));
+ }
+ }
+
+
+ function save(changeset, tryAgain, checkConflicts) {
+ // Guard against accidentally entering save code twice - #4641
+ if (_isSaving && !tryAgain) {
+ return;
+ }
+
+ var osm = context.connection();
+ if (!osm) {
+ cancel();
+ return;
+ }
+
+ // If user somehow got logged out mid-save, try to reauthenticate..
+ // This can happen if they were logged in from before, but the tokens are no longer valid.
+ if (!osm.authenticated()) {
+ osm.authenticate(function(err) {
+ if (err) {
+ cancel(); // quit save mode..
+ } else {
+ save(changeset, tryAgain, checkConflicts); // continue where we left off..
+ }
+ });
+ return;
+ }
+
+ if (!_isSaving) {
+ keybindingOff();
+ context.container().call(loading); // block input
+ _isSaving = true;
+ }
+
+ var history = context.history();
+ var localGraph = context.graph();
+ var remoteGraph = coreGraph$$1(history.base(), true);
+
+ _conflicts = [];
+ _errors = [];
+
+ // Store original changes, in case user wants to download them as an .osc file
+ _origChanges = history.changes(actionDiscardTags(history.difference()));
+
+ // First time, `history.perform` a no-op action.
+ // Any conflict resolutions will be done as `history.replace`
+ if (!tryAgain) {
+ history.perform(actionNoop());
+ }
+
+ // Attempt a fast upload.. If there are conflicts, re-enter with `checkConflicts = true`
+ if (!checkConflicts) {
+ upload(changeset);
+
+ // Do the full (slow) conflict check..
+ } else {
+ var modified = filter(history.difference().summary(), { changeType: 'modified' });
+ _toCheck = map$3(map$3(modified, 'entity'), 'id');
+ _toLoad = withChildNodes(_toCheck, localGraph);
+ _loaded = {};
+ _toLoadCount = 0;
+ _toLoadTotal = _toLoad.length;
+
+ if (_toCheck.length) {
+ showProgress(_toLoadCount, _toLoadTotal);
+ _toLoad.forEach(function(id) { _loaded[id] = false; });
+ osm.loadMultiple(_toLoad, loaded);
+ } else {
+ upload(changeset);
+ }
+ }
+
+ return;
+
+
+ function withChildNodes(ids, graph) {
+ return uniq(reduce(ids, function(result, id) {
+ var entity = graph.entity(id);
+ if (entity.type === 'way') {
+ try {
+ var children = graph.childNodes(entity);
+ result.push.apply(result, map$3(filter(children, 'version'), 'id'));
+ } catch (err) {
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined') console.error(err);
+ /* eslint-enable no-console */
+ }
+ }
+ return result;
+ }, clone(ids)));
+ }
+
+
+ // Reload modified entities into an alternate graph and check for conflicts..
+ function loaded(err, result) {
+ if (_errors.length) return;
+
+ if (err) {
+ _errors.push({
+ msg: err.message || err.responseText,
+ details: [ t('save.status_code', { code: err.status }) ]
+ });
+ showErrors();
+
+ } else {
+ var loadMore = [];
+
+ result.data.forEach(function(entity) {
+ remoteGraph.replace(entity);
+ _loaded[entity.id] = true;
+ _toLoad = without(_toLoad, entity.id);
+
+ if (!entity.visible) return;
+
+ // Because loadMultiple doesn't download /full like loadEntity,
+ // need to also load children that aren't already being checked..
+ var i, id;
+ if (entity.type === 'way') {
+ for (i = 0; i < entity.nodes.length; i++) {
+ id = entity.nodes[i];
+ if (_loaded[id] === undefined) {
+ _loaded[id] = false;
+ loadMore.push(id);
+ }
+ }
+ } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+ for (i = 0; i < entity.members.length; i++) {
+ id = entity.members[i].id;
+ if (_loaded[id] === undefined) {
+ _loaded[id] = false;
+ loadMore.push(id);
+ }
+ }
+ }
+ });
+
+ _toLoadCount += result.data.length;
+ _toLoadTotal += loadMore.length;
+ showProgress(_toLoadCount, _toLoadTotal);
+
+ if (loadMore.length) {
+ _toLoad.push.apply(_toLoad, loadMore);
+ osm.loadMultiple(loadMore, loaded);
+ }
+
+ if (!_toLoad.length) {
+ detectConflicts();
+ }
+ }
+ }
+
+
+ function detectConflicts() {
+ function choice(id, text, action) {
+ return { id: id, text: text, action: function() { history.replace(action); } };
+ }
+ function formatUser(d) {
+ return '<a href="' + osm.userURL(d) + '" target="_blank">' + d + '</a>';
+ }
+ function entityName(entity) {
+ return utilDisplayName(entity) || (utilDisplayType(entity.id) + ' ' + entity.id);
+ }
+
+ function sameVersions(local$$1, remote) {
+ if (local$$1.version !== remote.version) return false;
+
+ if (local$$1.type === 'way') {
+ var children = union(local$$1.nodes, remote.nodes);
+ for (var i = 0; i < children.length; i++) {
+ var a = localGraph.hasEntity(children[i]);
+ var b = remoteGraph.hasEntity(children[i]);
+ if (a && b && a.version !== b.version) return false;
+ }
+ }
+
+ return true;
+ }
+
+ _toCheck.forEach(function(id) {
+ var local$$1 = localGraph.entity(id);
+ var remote = remoteGraph.entity(id);
+
+ if (sameVersions(local$$1, remote)) return;
+
+ var action = actionMergeRemoteChanges;
+ var merge = action(id, localGraph, remoteGraph, formatUser);
+
+ history.replace(merge);
+
+ var mergeConflicts = merge.conflicts();
+ if (!mergeConflicts.length) return; // merged safely
+
+ var forceLocal = action(id, localGraph, remoteGraph).withOption('force_local');
+ var forceRemote = action(id, localGraph, remoteGraph).withOption('force_remote');
+ var keepMine = t('save.conflict.' + (remote.visible ? 'keep_local' : 'restore'));
+ var keepTheirs = t('save.conflict.' + (remote.visible ? 'keep_remote' : 'delete'));
+
+ _conflicts.push({
+ id: id,
+ name: entityName(local$$1),
+ details: mergeConflicts,
+ chosen: 1,
+ choices: [
+ choice(id, keepMine, forceLocal),
+ choice(id, keepTheirs, forceRemote)
+ ]
+ });
+ });
+
+ upload(changeset);
+ }
+ }
+
+
+ function upload(changeset) {
+ var osm = context.connection();
+ if (!osm) {
+ _errors.push({ msg: 'No OSM Service' });
+ }
+
+ if (_conflicts.length) {
+ _conflicts.sort(function(a, b) { return b.id.localeCompare(a.id); });
+ showConflicts(changeset);
+
+ } else if (_errors.length) {
+ showErrors();
+
+ } else {
+ var history = context.history();
+ var changes = history.changes(actionDiscardTags(history.difference()));
+ if (changes.modified.length || changes.created.length || changes.deleted.length) {
+ loadLocation(); // so it is ready when we display the save screen
+ osm.putChangeset(changeset, changes, uploadCallback);
+ } else { // changes were insignificant or reverted by user
+ select('.inspector-wrap *').remove();
+ loading.close();
+ _isSaving = false;
+ context.flush();
+ cancel();
+ }
+ }
+ }
+
+
+ function uploadCallback(err, changeset) {
+ if (err) {
+ if (err.status === 409) { // 409 Conflict
+ save(changeset, true, true); // tryAgain = true, checkConflicts = true
+ } else {
+ _errors.push({
+ msg: err.message || err.responseText,
+ details: [ t('save.status_code', { code: err.status }) ]
+ });
+ showErrors();
+ }
+
+ } else {
+ context.history().clearSaved();
+ success(changeset);
+ // Add delay to allow for postgres replication #1646 #2678
+ window.setTimeout(function() {
+ select('.inspector-wrap *').remove();
+ loading.close();
+ _isSaving = false;
+ context.flush();
+ }, 2500);
+ }
+ }
+
+
+ function showProgress(num, total) {
+ var modal = context.container().select('.loading-modal .modal-section');
+ var progress = modal.selectAll('.progress')
+ .data([0]);
+
+ // enter/update
+ progress.enter()
+ .append('div')
+ .attr('class', 'progress')
+ .merge(progress)
+ .text(t('save.conflict_progress', { num: num, total: total }));
+ }
+
+
+ function showConflicts(changeset) {
+ var history = context.history();
+ var selection$$1 = context.container()
+ .select('#sidebar')
+ .append('div')
+ .attr('class','sidebar-component');
+
+ loading.close();
+ _isSaving = false;
+
+ var ui = uiConflicts(context)
+ .conflictList(_conflicts)
+ .origChanges(_origChanges)
+ .on('cancel', function() {
+ history.pop();
+ selection$$1.remove();
+ keybindingOn();
+ })
+ .on('save', function() {
+ for (var i = 0; i < _conflicts.length; i++) {
+ if (_conflicts[i].chosen === 1) { // user chose "keep theirs"
+ var entity = context.hasEntity(_conflicts[i].id);
+ if (entity && entity.type === 'way') {
+ var children = uniq(entity.nodes);
+ for (var j = 0; j < children.length; j++) {
+ history.replace(actionRevert(children[j]));
+ }
+ }
+ history.replace(actionRevert(_conflicts[i].id));
+ }
+ }
+
+ selection$$1.remove();
+ save(changeset, true, false); // tryAgain = true, checkConflicts = false
+ });
+
+ selection$$1.call(ui);
+ }
+
+
+ function showErrors() {
+ keybindingOn();
+ context.history().pop();
+ loading.close();
+ _isSaving = false;
+
+ var selection$$1 = uiConfirm(context.container());
+ selection$$1
+ .select('.modal-section.header')
+ .append('h3')
+ .text(t('save.error'));
+
+ addErrors(selection$$1, _errors);
+ selection$$1.okButton();
+ }
+
+
+ function addErrors(selection$$1, data) {
+ var message = selection$$1
+ .select('.modal-section.message-text');
+
+ var items = message
+ .selectAll('.error-container')
+ .data(data);
+
+ var enter = items.enter()
+ .append('div')
+ .attr('class', 'error-container');
+
+ enter
+ .append('a')
+ .attr('class', 'error-description')
+ .attr('href', '#')
+ .classed('hide-toggle', true)
+ .text(function(d) { return d.msg || t('save.unknown_error_details'); })
+ .on('click', function() {
+ event.preventDefault();
+
+ var error = select(this);
+ var detail = select(this.nextElementSibling);
+ var exp = error.classed('expanded');
+
+ detail.style('display', exp ? 'none' : 'block');
+ error.classed('expanded', !exp);
+ });
+
+ var details = enter
+ .append('div')
+ .attr('class', 'error-detail-container')
+ .style('display', 'none');
+
+ details
+ .append('ul')
+ .attr('class', 'error-detail-list')
+ .selectAll('li')
+ .data(function(d) { return d.details || []; })
+ .enter()
+ .append('li')
+ .attr('class', 'error-detail-item')
+ .text(function(d) { return d; });
+
+ items.exit()
+ .remove();
+ }
+
+
+ function success(changeset) {
+ commit.reset();
+
+ var ui = uiSuccess$$1(context)
+ .changeset(changeset)
+ .location(_location)
+ .on('cancel', function() { context.ui().sidebar.hide(); });
+
+ context.enter(modeBrowse(context).sidebar(ui));
+ }
+
+
+ function keybindingOn() {
+ select(document)
+ .call(keybinding.on('⎋', cancel, true));
+ }
+
+
+ function keybindingOff() {
+ select(document)
+ .call(keybinding.off);
+ }
+
+
+ // Reverse geocode current map location so we can display a message on
+ // the success screen like "Thank you for editing around city, state."
+ function loadLocation() {
+ _location = null;
+ if (!services.geocoder) return;
+
+ services.geocoder.reverse(context.map().center(), function(err, result) {
+ if (err || !result || !result.address) return;
+
+ var parts = [];
+ var addr = result.address;
+ var city = addr && (addr.suburb || addr.city || addr.county);
+ if (city) parts.push(city);
+ var region = addr && (addr.state || addr.country);
+ if (region) parts.push(region);
+
+ _location = parts.join(', ');
+ });
+ }
+
+
+ mode.enter = function() {
+ function done() {
+ context.ui().sidebar.show(commit);
+ }
+
+ keybindingOn();
+
+ context.container().selectAll('#content')
+ .attr('class', 'inactive');
+
+ var osm = context.connection();
+ if (!osm) {
+ cancel();
+ return;
+ }
+
+ if (osm.authenticated()) {
+ done();
+ } else {
+ osm.authenticate(function(err) {
+ if (err) {
+ cancel();
+ } else {
+ done();
+ }
+ });
+ }
+ };
+
+
+ mode.exit = function() {
+ _isSaving = false;
+
+ keybindingOff();
+
+ context.container().selectAll('#content')
+ .attr('class', 'active');
+
+ context.ui().sidebar.hide();
+ };
+
+ return mode;
+ }
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMin$1 = Math.min;
+
+ /**
+ * The base implementation of methods like `_.intersection`, without support
+ * for iteratee shorthands, that accepts an array of arrays to inspect.
+ *
+ * @private
+ * @param {Array} arrays The arrays to inspect.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new array of shared values.
+ */
+ function baseIntersection(arrays, iteratee, comparator) {
+ var includes = comparator ? arrayIncludesWith : arrayIncludes,
+ length = arrays[0].length,
+ othLength = arrays.length,
+ othIndex = othLength,
+ caches = Array(othLength),
+ maxLength = Infinity,
+ result = [];
+
+ while (othIndex--) {
+ var array = arrays[othIndex];
+ if (othIndex && iteratee) {
+ array = arrayMap(array, baseUnary(iteratee));
+ }
+ maxLength = nativeMin$1(array.length, maxLength);
+ caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))
+ ? new SetCache(othIndex && array)
+ : undefined;
+ }
+ array = arrays[0];
+
+ var index = -1,
+ seen = caches[0];
+
+ outer:
+ while (++index < length && result.length < maxLength) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value) : value;
+
+ value = (comparator || value !== 0) ? value : 0;
+ if (!(seen
+ ? cacheHas(seen, computed)
+ : includes(result, computed, comparator)
+ )) {
+ othIndex = othLength;
+ while (--othIndex) {
+ var cache = caches[othIndex];
+ if (!(cache
+ ? cacheHas(cache, computed)
+ : includes(arrays[othIndex], computed, comparator))
+ ) {
+ continue outer;
+ }
+ }
+ if (seen) {
+ seen.push(computed);
+ }
+ result.push(value);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Casts `value` to an empty array if it's not an array like object.
+ *
+ * @private
+ * @param {*} value The value to inspect.
+ * @returns {Array|Object} Returns the cast array-like object.
+ */
+ function castArrayLikeObject(value) {
+ return isArrayLikeObject(value) ? value : [];
+ }
+
+ /**
+ * Creates an array of unique values that are included in all given arrays
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * for equality comparisons. The order and references of result values are
+ * determined by the first array.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of intersecting values.
+ * @example
+ *
+ * _.intersection([2, 1], [2, 3]);
+ * // => [2]
+ */
+ var intersection = baseRest(function(arrays) {
+ var mapped = arrayMap(arrays, castArrayLikeObject);
+ return (mapped.length && mapped[0] === arrays[0])
+ ? baseIntersection(mapped)
+ : [];
+ });
+
+ // Translate a MacOS key command into the appropriate Windows/Linux equivalent.
+ // For example, ⌘Z -> Ctrl+Z
+ var uiCmd = function (code) {
+ var detected = utilDetect();
+
+ if (detected.os === 'mac') {
+ return code;
+ }
+
+ if (detected.os === 'win') {
+ if (code === '⌘⇧Z') return 'Ctrl+Y';
+ }
+
+ var result = '',
+ replacements = {
+ '⌘': 'Ctrl',
+ '⇧': 'Shift',
+ '⌥': 'Alt',
+ '⌫': 'Backspace',
+ '⌦': 'Delete'
+ };
+
+ for (var i = 0; i < code.length; i++) {
+ if (code[i] in replacements) {
+ result += replacements[code[i]] + (i < code.length - 1 ? '+' : '');
+ } else {
+ result += code[i];
+ }
+ }
+
+ return result;
+ };
+
+
+ // return a display-focused string for a given keyboard code
+ uiCmd.display = function(code) {
+ if (code.length !== 1) return code;
+
+ var detected = utilDetect();
+ var mac = (detected.os === 'mac');
+ var replacements = {
+ '⌘': mac ? '⌘ ' + t('shortcuts.key.cmd') : t('shortcuts.key.ctrl'),
+ '⇧': mac ? '⇧ ' + t('shortcuts.key.shift') : t('shortcuts.key.shift'),
+ '⌥': mac ? '⌥ ' + t('shortcuts.key.option') : t('shortcuts.key.alt'),
+ '⌃': mac ? '⌃ ' + t('shortcuts.key.ctrl') : t('shortcuts.key.ctrl'),
+ '⌫': mac ? '⌫ ' + t('shortcuts.key.delete') : t('shortcuts.key.backspace'),
+ '⌦': mac ? '⌦ ' + t('shortcuts.key.del') : t('shortcuts.key.del'),
+ '↖': mac ? '↖ ' + t('shortcuts.key.pgup') : t('shortcuts.key.pgup'),
+ '↘': mac ? '↘ ' + t('shortcuts.key.pgdn') : t('shortcuts.key.pgdn'),
+ '⇞': mac ? '⇞ ' + t('shortcuts.key.home') : t('shortcuts.key.home'),
+ '⇟': mac ? '⇟ ' + t('shortcuts.key.end') : t('shortcuts.key.end'),
+ '↵': mac ? '↵ ' + t('shortcuts.key.return') : t('shortcuts.key.enter'),
+ '⎋': mac ? '⎋ ' + t('shortcuts.key.esc') : t('shortcuts.key.esc'),
+ };
+
+ return replacements[code] || code;
+ };
+
+ var relatedParent;
+
+
+ function modeSelect(context, selectedIDs) {
+ var mode = {
+ id: 'select',
+ button: 'browse'
+ };
+
+ var keybinding = d3keybinding('select');
+ var timeout = null;
+ var behaviors = [
+ behaviorCopy(context),
+ behaviorPaste(context),
+ behaviorBreathe(context),
+ behaviorHover(context),
+ behaviorSelect(context),
+ behaviorLasso(context),
+ modeDragNode$$1(context).restoreSelectedIDs(selectedIDs).behavior
+ ];
+ var inspector;
+ var editMenu;
+ var newFeature = false;
+ var suppressMenu = true;
+ var follow = false;
+
+
+ var wrap = context.container()
+ .select('.inspector-wrap');
+
+
+ function singular() {
+ if (selectedIDs.length === 1) {
+ return context.hasEntity(selectedIDs[0]);
+ }
+ }
+
+
+ function checkSelectedIDs() {
+ var ids = [];
+ if (Array.isArray(selectedIDs)) {
+ ids = selectedIDs.filter(function(id) {
+ return context.hasEntity(id);
+ });
+ }
+
+ if (ids.length) {
+ selectedIDs = ids;
+ } else {
+ context.enter(modeBrowse(context));
+ }
+ return !!ids.length;
+ }
+
+
+ // find the common parent ways for nextVertex, previousVertex
+ function commonParents() {
+ var graph = context.graph();
+ var commonParents = [];
+
+ for (var i = 0; i < selectedIDs.length; i++) {
+ var entity = context.hasEntity(selectedIDs[i]);
+ if (!entity || entity.geometry(graph) !== 'vertex') {
+ return []; // selection includes some not vertexes
+ }
+
+ var currParents = map$3(graph.parentWays(entity), 'id');
+ if (!commonParents.length) {
+ commonParents = currParents;
+ continue;
+ }
+
+ commonParents = intersection(commonParents, currParents);
+ if (!commonParents.length) {
+ return [];
+ }
+ }
+
+ return commonParents;
+ }
+
+
+ function singularParent() {
+ var parents = commonParents();
+ if (!parents || parents.length === 0) {
+ relatedParent = null;
+ return null;
+ }
+
+ // relatedParent is used when we visit a vertex with multiple
+ // parents, and we want to remember which parent line we started on.
+
+ if (parents.length === 1) {
+ relatedParent = parents[0]; // remember this parent for later
+ return relatedParent;
+ }
+
+ if (parents.indexOf(relatedParent) !== -1) {
+ return relatedParent; // prefer the previously seen parent
+ }
+
+ return parents[0];
+ }
+
+
+ function closeMenu() {
+ if (editMenu) {
+ context.surface().call(editMenu.close);
+ }
+ }
+
+
+ function positionMenu() {
+ if (!editMenu) { return; }
+
+ var entity = singular();
+ if (entity && context.geometry(entity.id) === 'relation') {
+ suppressMenu = true;
+ } else {
+ var point$$1 = context.mouse();
+ var viewport = geoExtent$$1(context.projection.clipExtent()).polygon();
+
+ if (point$$1 && geoPointInPolygon(point$$1, viewport)) {
+ editMenu.center(point$$1);
+ } else {
+ suppressMenu = true;
+ }
+ }
+ }
+
+
+ function showMenu() {
+ closeMenu();
+ if (editMenu) {
+ context.surface().call(editMenu);
+ }
+ }
+
+
+ function toggleMenu() {
+ // deprecation warning - Radial Menu to be removed in iD v3
+ if (select('.edit-menu, .radial-menu').empty()) {
+ positionMenu();
+ showMenu();
+ } else {
+ closeMenu();
+ }
+ }
+
+
+ mode.selectedIDs = function() {
+ return selectedIDs;
+ };
+
+
+ mode.reselect = function() {
+ if (!checkSelectedIDs()) return;
+
+ var surfaceNode = context.surface().node();
+ if (surfaceNode.focus) { // FF doesn't support it
+ surfaceNode.focus();
+ }
+
+ positionMenu();
+ if (!suppressMenu) {
+ showMenu();
+ }
+ };
+
+
+ mode.newFeature = function(_) {
+ if (!arguments.length) return newFeature;
+ newFeature = _;
+ return mode;
+ };
+
+
+ mode.suppressMenu = function(_) {
+ if (!arguments.length) return suppressMenu;
+ suppressMenu = _;
+ return mode;
+ };
+
+
+ mode.follow = function(_) {
+ if (!arguments.length) return follow;
+ follow = _;
+ return mode;
+ };
+
+
+ mode.enter = function() {
+
+ function update() {
+ closeMenu();
+ checkSelectedIDs();
+ }
+
+
+ function dblclick() {
+ var target = select(event.target);
+
+ var datum = target.datum();
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (!entity) return;
+
+ if (entity instanceof osmWay && target.classed('target')) {
+ var choice = geoChooseEdge(context.childNodes(entity), context.mouse(), context.projection);
+ var prev = entity.nodes[choice.index - 1];
+ var next = entity.nodes[choice.index];
+
+ context.perform(
+ actionAddMidpoint({loc: choice.loc, edge: [prev, next]}, osmNode()),
+ t('operations.add.annotation.vertex')
+ );
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ } else if (entity.type === 'midpoint') {
+ context.perform(
+ actionAddMidpoint({loc: entity.loc, edge: entity.edge}, osmNode()),
+ t('operations.add.annotation.vertex'));
+
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+
+
+ function selectElements(drawn) {
+ if (!checkSelectedIDs()) return;
+
+ var surface = context.surface();
+ var entity = singular();
+
+ if (entity && context.geometry(entity.id) === 'relation') {
+ suppressMenu = true;
+ return;
+ }
+
+ surface.selectAll('.related')
+ .classed('related', false);
+
+ singularParent();
+ if (relatedParent) {
+ surface.selectAll(utilEntitySelector([relatedParent]))
+ .classed('related', true);
+ }
+
+ var selection$$1 = context.surface()
+ .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph()));
+
+ if (selection$$1.empty()) {
+ // Return to browse mode if selected DOM elements have
+ // disappeared because the user moved them out of view..
+ var source = event && event.type === 'zoom' && event.sourceEvent;
+ if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) {
+ context.enter(modeBrowse(context));
+ }
+ } else {
+ selection$$1
+ .classed('selected', true);
+ }
+ }
+
+
+ function esc() {
+ context.enter(modeBrowse(context));
+ }
+
+
+ function firstVertex() {
+ event.preventDefault();
+ var entity = singular();
+ var parent = singularParent();
+ var way;
+
+ if (entity && entity.type === 'way') {
+ way = entity;
+ } else if (parent) {
+ way = context.entity(parent);
+ }
+
+ if (way) {
+ context.enter(
+ modeSelect(context, [way.first()]).follow(true)
+ );
+ }
+ }
+
+
+ function lastVertex() {
+ event.preventDefault();
+ var entity = singular();
+ var parent = singularParent();
+ var way;
+
+ if (entity && entity.type === 'way') {
+ way = entity;
+ } else if (parent) {
+ way = context.entity(parent);
+ }
+
+ if (way) {
+ context.enter(
+ modeSelect(context, [way.last()]).follow(true)
+ );
+ }
+ }
+
+
+ function previousVertex() {
+ event.preventDefault();
+ var parent = singularParent();
+ if (!parent) return;
+
+ var way = context.entity(parent);
+ var length = way.nodes.length;
+ var curr = way.nodes.indexOf(selectedIDs[0]);
+ var index = -1;
+
+ if (curr > 0) {
+ index = curr - 1;
+ } else if (way.isClosed()) {
+ index = length - 2;
+ }
+
+ if (index !== -1) {
+ context.enter(
+ modeSelect(context, [way.nodes[index]]).follow(true)
+ );
+ }
+ }
+
+
+ function nextVertex() {
+ event.preventDefault();
+ var parent = singularParent();
+ if (!parent) return;
+
+ var way = context.entity(parent);
+ var length = way.nodes.length;
+ var curr = way.nodes.indexOf(selectedIDs[0]);
+ var index = -1;
+
+ if (curr < length - 1) {
+ index = curr + 1;
+ } else if (way.isClosed()) {
+ index = 0;
+ }
+
+ if (index !== -1) {
+ context.enter(
+ modeSelect(context, [way.nodes[index]]).follow(true)
+ );
+ }
+ }
+
+
+ function nextParent() {
+ event.preventDefault();
+ var parents = uniq(commonParents());
+ if (!parents || parents.length < 2) return;
+
+ var index = parents.indexOf(relatedParent);
+ if (index < 0 || index > parents.length - 2) {
+ relatedParent = parents[0];
+ } else {
+ relatedParent = parents[index + 1];
+ }
+
+ var surface = context.surface();
+ surface.selectAll('.related')
+ .classed('related', false);
+
+ if (relatedParent) {
+ surface.selectAll(utilEntitySelector([relatedParent]))
+ .classed('related', true);
+ }
+ }
+
+
+ if (!checkSelectedIDs()) return;
+
+ var operations = without(values$1(Operations), operationDelete)
+ .map(function(o) { return o(selectedIDs, context); })
+ .filter(function(o) { return o.available(); });
+
+ // deprecation warning - Radial Menu to be removed in iD v3
+ var isRadialMenu = context.storage('edit-menu-style') === 'radial';
+ if (isRadialMenu) {
+ operations = operations.slice(0,7);
+ operations.unshift(operationDelete(selectedIDs, context));
+ } else {
+ operations.push(operationDelete(selectedIDs, context));
+ }
+
+ operations.forEach(function(operation) {
+ if (operation.behavior) {
+ behaviors.push(operation.behavior);
+ }
+ });
+
+ behaviors.forEach(function(behavior) {
+ context.install(behavior);
+ });
+
+ keybinding
+ .on(['[', 'pgup'], previousVertex)
+ .on([']', 'pgdown'], nextVertex)
+ .on(['{', uiCmd('⌘['), 'home'], firstVertex)
+ .on(['}', uiCmd('⌘]'), 'end'], lastVertex)
+ .on(['\\', 'pause'], nextParent)
+ .on('⎋', esc, true)
+ .on('space', toggleMenu);
+
+ select(document)
+ .call(keybinding);
+
+
+ // deprecation warning - Radial Menu to be removed in iD v3
+ editMenu = isRadialMenu
+ ? uiRadialMenu(context, operations)
+ : uiEditMenu(context, operations);
+
+ context.ui().sidebar
+ .select(singular() ? singular().id : null, newFeature);
+
+ context.history()
+ .on('undone.select', update)
+ .on('redone.select', update);
+
+ context.map()
+ .on('move.select', closeMenu)
+ .on('drawn.select', selectElements);
+
+ context.surface()
+ .on('dblclick.select', dblclick);
+
+
+ selectElements();
+
+ if (selectedIDs.length > 1) {
+ var entities = uiSelectionList(context, selectedIDs);
+ context.ui().sidebar.show(entities);
+ }
+
+ if (follow) {
+ var extent = geoExtent$$1();
+ var graph = context.graph();
+ selectedIDs.forEach(function(id) {
+ var entity = context.entity(id);
+ extent._extend(entity.extent(graph));
+ });
+
+ var loc = extent.center();
+ context.map().centerEase(loc);
+ } else if (singular() && singular().type === 'way') {
+ context.map().pan([0,0]); // full redraw, to adjust z-sorting #2914
+ }
+
+ timeout = window.setTimeout(function() {
+ positionMenu();
+ if (!suppressMenu) {
+ showMenu();
+ }
+ }, 270); /* after any centerEase completes */
+
+ };
+
+
+ mode.exit = function() {
+ if (timeout) window.clearTimeout(timeout);
+ if (inspector) wrap.call(inspector.close);
+
+ behaviors.forEach(function(behavior) {
+ context.uninstall(behavior);
+ });
+
+ keybinding.off();
+ closeMenu();
+ editMenu = undefined;
+
+ context.history()
+ .on('undone.select', null)
+ .on('redone.select', null);
+
+ var surface = context.surface();
+
+ surface
+ .on('dblclick.select', null);
+
+ surface
+ .selectAll('.selected')
+ .classed('selected', false);
+
+ surface
+ .selectAll('.related')
+ .classed('related', false);
+
+ context.map().on('drawn.select', null);
+ context.ui().sidebar.hide();
+ };
+
+
+ return mode;
+ }
+
+ function behaviorAddWay(context) {
+ var dispatch$$1 = dispatch('start', 'startFromWay', 'startFromNode'),
+ draw = behaviorDraw(context);
+
+ var addWay = function(surface) {
+ draw.on('click', function() { dispatch$$1.apply('start', this, arguments); })
+ .on('clickWay', function() { dispatch$$1.apply('startFromWay', this, arguments); })
+ .on('clickNode', function() { dispatch$$1.apply('startFromNode', this, arguments); })
+ .on('cancel', addWay.cancel)
+ .on('finish', addWay.cancel);
+
+ context.map()
+ .dblclickEnable(false);
+
+ surface.call(draw);
+ };
+
+
+ addWay.off = function(surface) {
+ surface.call(draw.off);
+ };
+
+
+ addWay.cancel = function() {
+ window.setTimeout(function() {
+ context.map().dblclickEnable(true);
+ }, 1000);
+
+ context.enter(modeBrowse(context));
+ };
+
+
+ addWay.tail = function(text) {
+ draw.tail(text);
+ return addWay;
+ };
+
+
+ return utilRebind(addWay, dispatch$$1, 'on');
+ }
+
+ function behaviorBreathe() {
+ var duration = 800,
+ steps = 4,
+ selector$$1 = '.selected.shadow, .selected .shadow',
+ selected = select(null),
+ classed = '',
+ params = {},
+ done = false,
+ timer$$1;
+
+
+ function ratchetyInterpolator(a, b, steps, units) {
+ a = parseFloat(a);
+ b = parseFloat(b);
+ var sample = quantize()
+ .domain([0, 1])
+ .range(d3_quantize(interpolateNumber(a, b), steps));
+
+ return function(t) {
+ return String(sample(t)) + (units || '');
+ };
+ }
+
+
+ function reset(selection$$1) {
+ selection$$1
+ .style('stroke-opacity', null)
+ .style('stroke-width', null)
+ .style('fill-opacity', null)
+ .style('r', null);
+ }
+
+
+ function setAnimationParams(transition, fromTo) {
+ var toFrom = (fromTo === 'from' ? 'to' : 'from');
+
+ transition
+ .styleTween('stroke-opacity', function(d) {
+ return ratchetyInterpolator(
+ params[d.id][toFrom].opacity,
+ params[d.id][fromTo].opacity,
+ steps
+ );
+ })
+ .styleTween('stroke-width', function(d) {
+ return ratchetyInterpolator(
+ params[d.id][toFrom].width,
+ params[d.id][fromTo].width,
+ steps,
+ 'px'
+ );
+ })
+ .styleTween('fill-opacity', function(d) {
+ return ratchetyInterpolator(
+ params[d.id][toFrom].opacity,
+ params[d.id][fromTo].opacity,
+ steps
+ );
+ })
+ .styleTween('r', function(d) {
+ return ratchetyInterpolator(
+ params[d.id][toFrom].width,
+ params[d.id][fromTo].width,
+ steps,
+ 'px'
+ );
+ });
+ }
+
+
+ function calcAnimationParams(selection$$1) {
+ selection$$1
+ .call(reset)
+ .each(function(d) {
+ var s = select(this),
+ tag = s.node().tagName,
+ p = {'from': {}, 'to': {}},
+ opacity, width;
+
+ // determine base opacity and width
+ if (tag === 'circle') {
+ opacity = parseFloat(s.style('fill-opacity') || 0.5);
+ width = parseFloat(s.style('r') || 15.5);
+ } else {
+ opacity = parseFloat(s.style('stroke-opacity') || 0.7);
+ width = parseFloat(s.style('stroke-width') || 10);
+ }
+
+ // calculate from/to interpolation params..
+ p.tag = tag;
+ p.from.opacity = opacity * 0.6;
+ p.to.opacity = opacity * 1.25;
+ p.from.width = width * 0.7;
+ p.to.width = width * (tag === 'circle' ? 1.5 : 1);
+ params[d.id] = p;
+ });
+ }
+
+
+ function run(surface, fromTo) {
+ var toFrom = (fromTo === 'from' ? 'to' : 'from'),
+ currSelected = surface.selectAll(selector$$1),
+ currClassed = surface.attr('class');
+
+ if (done || currSelected.empty()) {
+ selected.call(reset);
+ return;
+ }
+
+ if (!isEqual(currSelected.data(), selected.data()) || currClassed !== classed) {
+ selected.call(reset);
+ classed = currClassed;
+ selected = currSelected.call(calcAnimationParams);
+ }
+
+ selected
+ .transition()
+ .duration(duration)
+ .call(setAnimationParams, fromTo)
+ .on('end', function() {
+ surface.call(run, toFrom);
+ });
+ }
+
+
+ var breathe = function(surface) {
+ done = false;
+ timer$$1 = timer(function() {
+ // wait for elements to actually become selected
+ if (surface.selectAll(selector$$1).empty()) {
+ return false;
+ }
+
+ surface.call(run, 'from');
+ timer$$1.stop();
+ return true;
+ }, 20);
+ };
+
+
+ breathe.off = function() {
+ done = true;
+ if (timer$$1) {
+ timer$$1.stop();
+ }
+ selected
+ .interrupt()
+ .call(reset);
+ };
+
+
+ return breathe;
+ }
+
+ function behaviorCopy(context) {
+ var keybinding = d3keybinding('copy');
+
+
+ function groupEntities(ids, graph) {
+ var entities = ids.map(function (id) { return graph.entity(id); });
+ return assignIn({relation: [], way: [], node: []},
+ groupBy(entities, function(entity) { return entity.type; }));
+ }
+
+
+ function getDescendants(id, graph, descendants) {
+ var entity = graph.entity(id),
+ i, children;
+
+ descendants = descendants || {};
+
+ if (entity.type === 'relation') {
+ children = map$3(entity.members, 'id');
+ } else if (entity.type === 'way') {
+ children = entity.nodes;
+ } else {
+ children = [];
+ }
+
+ for (i = 0; i < children.length; i++) {
+ if (!descendants[children[i]]) {
+ descendants[children[i]] = true;
+ descendants = getDescendants(children[i], graph, descendants);
+ }
+ }
+
+ return descendants;
+ }
+
+
+ function doCopy() {
+ if (!getSelectionText()) event.preventDefault();
+
+ var graph = context.graph(),
+ selected = groupEntities(context.selectedIDs(), graph),
+ canCopy = [],
+ skip = {},
+ i, entity;
+
+ for (i = 0; i < selected.relation.length; i++) {
+ entity = selected.relation[i];
+ if (!skip[entity.id] && entity.isComplete(graph)) {
+ canCopy.push(entity.id);
+ skip = getDescendants(entity.id, graph, skip);
+ }
+ }
+ for (i = 0; i < selected.way.length; i++) {
+ entity = selected.way[i];
+ if (!skip[entity.id]) {
+ canCopy.push(entity.id);
+ skip = getDescendants(entity.id, graph, skip);
+ }
+ }
+ for (i = 0; i < selected.node.length; i++) {
+ entity = selected.node[i];
+ if (!skip[entity.id]) {
+ canCopy.push(entity.id);
+ }
+ }
+
+ context.copyIDs(canCopy);
+ }
+
+
+ function copy() {
+ keybinding.on(uiCmd('⌘C'), doCopy);
+ select(document).call(keybinding);
+ return copy;
+ }
+
+ function getSelectionText() {
+ return window.getSelection().toString();
+ }
+
+ copy.off = function() {
+ select(document).call(keybinding.off);
+ };
+
+
+ return copy;
+ }
+
+ /*
+ `behaviorDrag` is like `d3_behavior.drag`, with the following differences:
+
+ * The `origin` function is expected to return an [x, y] tuple rather than an
+ {x, y} object.
+ * The events are `start`, `move`, and `end`.
+ (https://github.com/mbostock/d3/issues/563)
+ * The `start` event is not dispatched until the first cursor movement occurs.
+ (https://github.com/mbostock/d3/pull/368)
+ * The `move` event has a `point` and `delta` [x, y] tuple properties rather
+ than `x`, `y`, `dx`, and `dy` properties.
+ * The `end` event is not dispatched if no movement occurs.
+ * An `off` function is available that unbinds the drag's internal event handlers.
+ */
+
+ function behaviorDrag() {
+ var dispatch$$1 = dispatch('start', 'move', 'end');
+ var _origin = null;
+ var _selector = '';
+ var _event;
+ var _target;
+ var _surface;
+
+
+ var d3_event_userSelectProperty = utilPrefixCSSProperty('UserSelect');
+ var d3_event_userSelectSuppress = function() {
+ var selection$$1 = selection();
+ var select$$1 = selection$$1.style(d3_event_userSelectProperty);
+ selection$$1.style(d3_event_userSelectProperty, 'none');
+ return function() {
+ selection$$1.style(d3_event_userSelectProperty, select$$1);
+ };
+ };
+
+
+ function d3_eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function eventOf(thiz, argumentz) {
+ return function(e1) {
+ e1.target = drag;
+ customEvent(e1, dispatch$$1.apply, dispatch$$1, [e1.type, thiz, argumentz]);
+ };
+ }
+
+
+ function dragstart() {
+ _target = this;
+ _event = eventOf(_target, arguments);
+
+ var eventTarget = event.target;
+ var touchId = event.touches ? event.changedTouches[0].identifier : null;
+ var offset;
+ var startOrigin = point$$1();
+ var started = false;
+ var selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag');
+
+ select(window)
+ .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove)
+ .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true);
+
+ if (_origin) {
+ offset = _origin.apply(_target, arguments);
+ offset = [offset[0] - startOrigin[0], offset[1] - startOrigin[1]];
+ } else {
+ offset = [0, 0];
+ }
+
+ if (touchId === null) {
+ event.stopPropagation();
+ }
+
+
+ function point$$1() {
+ var p = _surface || _target.parentNode;
+ return touchId !== null ? d3_touches(p).filter(function(p) {
+ return p.identifier === touchId;
+ })[0] : mouse(p);
+ }
+
+
+ function dragmove() {
+ var p = point$$1();
+ var dx = p[0] - startOrigin[0];
+ var dy = p[1] - startOrigin[1];
+
+ if (dx === 0 && dy === 0)
+ return;
+
+ startOrigin = p;
+ d3_eventCancel();
+
+ if (!started) {
+ started = true;
+ _event({ type: 'start' });
+ } else {
+ _event({
+ type: 'move',
+ point: [p[0] + offset[0], p[1] + offset[1]],
+ delta: [dx, dy]
+ });
+ }
+ }
+
+
+ function dragend() {
+ if (started) {
+ _event({ type: 'end' });
+
+ d3_eventCancel();
+ if (event.target === eventTarget) {
+ select(window)
+ .on('click.drag', click, true);
+ }
+ }
+
+ select(window)
+ .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null)
+ .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null);
+
+ selectEnable();
+ }
+
+
+ function click() {
+ d3_eventCancel();
+ select(window)
+ .on('click.drag', null);
+ }
+ }
+
+
+ function drag(selection$$1) {
+ var matchesSelector = utilPrefixDOMProperty('matchesSelector');
+ var delegate = dragstart;
+
+ if (_selector) {
+ delegate = function() {
+ var root = this;
+ var target = event.target;
+ for (; target && target !== root; target = target.parentNode) {
+ var datum = target.__data__;
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (entity && target[matchesSelector](_selector)) {
+ return dragstart.call(target, entity);
+ }
+ }
+ };
+ }
+
+ selection$$1
+ .on('mousedown.drag' + _selector, delegate)
+ .on('touchstart.drag' + _selector, delegate);
+ }
+
+
+ drag.off = function(selection$$1) {
+ selection$$1
+ .on('mousedown.drag' + _selector, null)
+ .on('touchstart.drag' + _selector, null);
+ };
+
+
+ drag.selector = function(_) {
+ if (!arguments.length) return _selector;
+ _selector = _;
+ return drag;
+ };
+
+
+ drag.origin = function (_) {
+ if (!arguments.length) return _origin;
+ _origin = _;
+ return drag;
+ };
+
+
+ drag.cancel = function() {
+ select(window)
+ .on('mousemove.drag', null)
+ .on('mouseup.drag', null);
+ return drag;
+ };
+
+
+ drag.target = function() {
+ if (!arguments.length) return _target;
+ _target = arguments[0];
+ _event = eventOf(_target, Array.prototype.slice.call(arguments, 1));
+ return drag;
+ };
+
+
+ drag.surface = function() {
+ if (!arguments.length) return _surface;
+ _surface = arguments[0];
+ return drag;
+ };
+
+
+ return utilRebind(drag, dispatch$$1, 'on');
+ }
+
+ function behaviorDrawWay(context, wayId, index, mode, startGraph) {
+ var origWay = context.entity(wayId);
+ var annotation = t((origWay.isDegenerate() ?
+ 'operations.start.annotation.' :
+ 'operations.continue.annotation.') + context.geometry(wayId)
+ );
+ var behavior = behaviorDraw(context);
+ var _tempEdits = 0;
+
+ var end = osmNode({ loc: context.map().mouseCoordinates() });
+
+ // Push an annotated state for undo to return back to.
+ // We must make sure to remove this edit later.
+ context.perform(actionNoop(), annotation);
+ _tempEdits++;
+
+ // Add the drawing node to the graph.
+ // We must make sure to remove this edit later.
+ context.perform(_actionAddDrawNode());
+ _tempEdits++;
+
+
+
+ function keydown() {
+ if (event.keyCode === d3keybinding.modifierCodes.alt) {
+ if (context.surface().classed('nope')) {
+ context.surface()
+ .classed('nope-suppressed', true);
+ }
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-disabled', true);
+ }
+ }
+
+
+ function keyup() {
+ if (event.keyCode === d3keybinding.modifierCodes.alt) {
+ if (context.surface().classed('nope-suppressed')) {
+ context.surface()
+ .classed('nope', true);
+ }
+ context.surface()
+ .classed('nope-suppressed', false)
+ .classed('nope-disabled', false);
+ }
+ }
+
+
+ // related code
+ // - `mode/drag_node.js` `doMode()`
+ // - `behavior/draw.js` `click()`
+ // - `behavior/draw_way.js` `move()`
+ function move(datum) {
+ context.surface().classed('nope-disabled', event.altKey);
+
+ var targetLoc = datum && datum.properties && datum.properties.entity && datum.properties.entity.loc;
+ var targetNodes = datum && datum.properties && datum.properties.nodes;
+ var loc = context.map().mouseCoordinates();
+
+ if (targetLoc) { // snap to node/vertex - a point target with `.loc`
+ loc = targetLoc;
+
+ } else if (targetNodes) { // snap to way - a line target with `.nodes`
+ var choice = geoChooseEdge(targetNodes, context.mouse(), context.projection, end.id);
+ if (choice) {
+ loc = choice.loc;
+ }
+ }
+
+ context.replace(actionMoveNode(end.id, loc));
+ end = context.entity(end.id);
+ checkGeometry(false);
+ }
+
+
+ // Check whether this edit causes the geometry to break.
+ // If so, class the surface with a nope cursor.
+ // `finishDraw` - Only checks the relevant line segments if finishing drawing
+ function checkGeometry(finishDraw) {
+ var nopeDisabled = context.surface().classed('nope-disabled');
+ var isInvalid = isInvalidGeometry(end, context.graph(), finishDraw);
+
+ if (nopeDisabled) {
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-suppressed', isInvalid);
+ } else {
+ context.surface()
+ .classed('nope', isInvalid)
+ .classed('nope-suppressed', false);
+ }
+ }
+
+
+ function isInvalidGeometry(entity, graph, finishDraw) {
+ var parents = graph.parentWays(entity);
+
+ for (var i = 0; i < parents.length; i++) {
+ var parent = parents[i];
+ var nodes = parent.nodes.map(function(nodeID) { return graph.entity(nodeID); });
+
+ if (origWay.isClosed()) { // Check if Area
+ if (finishDraw) {
+ nodes.splice(-2, 1);
+ entity = nodes[nodes.length-2];
+ } else {
+ nodes.pop();
+ }
+ } else { // Line
+ if (finishDraw) {
+ nodes.pop();
+ }
+ }
+
+ if (geoHasSelfIntersections(nodes, entity.id)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+
+ function undone() {
+ // Undo popped the history back to the initial annotated no-op edit.
+ // Remove initial no-op edit and whatever edit happened immediately before it.
+ context.pop(2);
+ _tempEdits = 0;
+
+ if (context.hasEntity(wayId)) {
+ context.enter(mode);
+ } else {
+ context.enter(modeBrowse(context));
+ }
+ }
+
+
+ function setActiveElements() {
+ context.surface().selectAll('.' + end.id)
+ .classed('active', true);
+ }
+
+
+ var drawWay = function(surface) {
+ behavior
+ .on('move', move)
+ .on('click', drawWay.add)
+ .on('clickWay', drawWay.addWay)
+ .on('clickNode', drawWay.addNode)
+ .on('undo', context.undo)
+ .on('cancel', drawWay.cancel)
+ .on('finish', drawWay.finish);
+
+ select(window)
+ .on('keydown.drawWay', keydown)
+ .on('keyup.drawWay', keyup);
+
+ context.map()
+ .dblclickEnable(false)
+ .on('drawn.draw', setActiveElements);
+
+ setActiveElements();
+
+ surface.call(behavior);
+
+ context.history()
+ .on('undone.draw', undone);
+ };
+
+
+ drawWay.off = function(surface) {
+ // Drawing was interrupted unexpectedly.
+ // This can happen if the user changes modes,
+ // clicks geolocate button, a hashchange event occurs, etc.
+ if (_tempEdits) {
+ context.pop(_tempEdits);
+ while (context.graph() !== startGraph) {
+ context.pop();
+ }
+ }
+
+ context.map()
+ .on('drawn.draw', null);
+
+ surface.call(behavior.off)
+ .selectAll('.active')
+ .classed('active', false);
+
+ surface
+ .classed('nope', false)
+ .classed('nope-suppressed', false)
+ .classed('nope-disabled', false);
+
+ select(window)
+ .on('keydown.hover', null)
+ .on('keyup.hover', null);
+
+ context.history()
+ .on('undone.draw', null);
+ };
+
+
+ function _actionAddDrawNode() {
+ return function(graph) {
+ return graph
+ .replace(end)
+ .replace(origWay.addNode(end.id, index));
+ };
+ }
+
+
+ function _actionReplaceDrawNode(newNode) {
+ return function(graph) {
+ return graph
+ .replace(origWay.addNode(newNode.id, index))
+ .remove(end);
+ };
+ }
+
+
+ // Accept the current position of the drawing node and continue drawing.
+ drawWay.add = function(loc, d) {
+ if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+ return; // can't click here
+ }
+
+ context.pop(_tempEdits);
+ _tempEdits = 0;
+
+ context.perform(
+ _actionAddDrawNode(),
+ annotation
+ );
+
+ checkGeometry(false); // finishDraw = false
+ context.enter(mode);
+ };
+
+
+ // Connect the way to an existing way.
+ drawWay.addWay = function(loc, edge, d) {
+ if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+ return; // can't click here
+ }
+
+ context.pop(_tempEdits);
+ _tempEdits = 0;
+
+ context.perform(
+ _actionAddDrawNode(),
+ actionAddMidpoint({ loc: loc, edge: edge }, end),
+ annotation
+ );
+
+ checkGeometry(false); // finishDraw = false
+ context.enter(mode);
+ };
+
+
+ // Connect the way to an existing node and continue drawing.
+ drawWay.addNode = function(node, d) {
+ if ((d && d.properties && d.properties.nope) || context.surface().classed('nope')) {
+ return; // can't click here
+ }
+
+ context.pop(_tempEdits);
+ _tempEdits = 0;
+
+ context.perform(
+ _actionReplaceDrawNode(node),
+ annotation
+ );
+
+ checkGeometry(false); // finishDraw = false
+ context.enter(mode);
+ };
+
+
+ // Finish the draw operation, removing the temporary edits.
+ // If the way has enough nodes to be valid, it's selected.
+ // Otherwise, delete everything and return to browse mode.
+ drawWay.finish = function() {
+ checkGeometry(true); // finishDraw = true
+ if (context.surface().classed('nope')) {
+ return; // can't click here
+ }
+
+ context.pop(_tempEdits);
+ _tempEdits = 0;
+
+ var way = context.hasEntity(wayId);
+ if (!way || way.isDegenerate()) {
+ drawWay.cancel();
+ return;
+ }
+
+ window.setTimeout(function() {
+ context.map().dblclickEnable(true);
+ }, 1000);
+
+ context.enter(modeSelect(context, [wayId]).newFeature(true));
+ };
+
+
+ // Cancel the draw operation, delete everything, and return to browse mode.
+ drawWay.cancel = function() {
+ context.pop(_tempEdits);
+ _tempEdits = 0;
+
+ while (context.graph() !== startGraph) {
+ context.pop();
+ }
+
+ window.setTimeout(function() {
+ context.map().dblclickEnable(true);
+ }, 1000);
+
+ context.surface()
+ .classed('nope', false)
+ .classed('nope-disabled', false)
+ .classed('nope-suppressed', false);
+
+ context.enter(modeBrowse(context));
+ };
+
+
+ drawWay.activeID = function() {
+ if (!arguments.length) return end.id;
+ // no assign
+ return drawWay;
+ };
+
+
+ drawWay.tail = function(text) {
+ behavior.tail(text);
+ return drawWay;
+ };
+
+
+ return drawWay;
+ }
+
+ /** Error message constants. */
+ var FUNC_ERROR_TEXT$3 = 'Expected a function';
+
+ /**
+ * Creates a throttled function that only invokes `func` at most once per
+ * every `wait` milliseconds. The throttled function comes with a `cancel`
+ * method to cancel delayed `func` invocations and a `flush` method to
+ * immediately invoke them. Provide `options` to indicate whether `func`
+ * should be invoked on the leading and/or trailing edge of the `wait`
+ * timeout. The `func` is invoked with the last arguments provided to the
+ * throttled function. Subsequent calls to the throttled function return the
+ * result of the last `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the throttled function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+ * for details over the differences between `_.throttle` and `_.debounce`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to throttle.
+ * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=true]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
+ * @returns {Function} Returns the new throttled function.
+ * @example
+ *
+ * // Avoid excessively updating the position while scrolling.
+ * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+ *
+ * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
+ * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
+ * jQuery(element).on('click', throttled);
+ *
+ * // Cancel the trailing throttled invocation.
+ * jQuery(window).on('popstate', throttled.cancel);
+ */
+ function throttle(func, wait, options) {
+ var leading = true,
+ trailing = true;
+
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT$3);
+ }
+ if (isObject(options)) {
+ leading = 'leading' in options ? !!options.leading : leading;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+ return debounce(func, wait, {
+ 'leading': leading,
+ 'maxWait': wait,
+ 'trailing': trailing
+ });
+ }
+
+ function behaviorHash(context) {
+ var s0 = null; // cached window.location.hash
+ var lat = 90 - 1e-8; // allowable latitude range
+
+
+ var parser = function(map, s) {
+ var q = utilStringQs(s);
+ var args = (q.map || '').split('/').map(Number);
+
+ if (args.length < 3 || args.some(isNaN)) {
+ return true; // replace bogus hash
+
+ } else if (s !== formatter(map).slice(1)) { // hash has changed
+ var mode = context.mode(),
+ dist = geoSphericalDistance(map.center(), [args[2], args[1]]),
+ maxdist = 500;
+
+ // Don't allow the hash location to change too much while drawing
+ // This can happen if the user accidently hit the back button. #3996
+ if (mode && mode.id.match(/^draw/) !== null && dist > maxdist) {
+ context.enter(modeBrowse(context));
+ }
+
+ map.centerZoom([args[2], Math.min(lat, Math.max(-lat, args[1]))], args[0]);
+ }
+ };
+
+
+ var formatter = function(map) {
+ var center = map.center();
+ var zoom = map.zoom();
+ var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
+ var q = omit(utilStringQs(window.location.hash.substring(1)),
+ ['comment', 'source', 'hashtags', 'walkthrough']
+ );
+ var newParams = {};
+
+ delete q.id;
+ var selected = context.selectedIDs().filter(function(id) {
+ return !context.entity(id).isNew();
+ });
+ if (selected.length) {
+ newParams.id = selected.join(',');
+ }
+
+ newParams.map = zoom.toFixed(2) +
+ '/' + center[1].toFixed(precision) +
+ '/' + center[0].toFixed(precision);
+
+ return '#' + utilQsString(assign(q, newParams), true);
+ };
+
+
+ function update() {
+ if (context.inIntro()) return;
+ var s1 = formatter(context.map());
+ if (s0 !== s1) {
+ window.location.replace(s0 = s1); // don't recenter the map!
+ }
+ }
+
+
+ var throttledUpdate = throttle(update, 500);
+
+
+ function hashchange() {
+ if (window.location.hash === s0) return; // ignore spurious hashchange events
+ if (parser(context.map(), (s0 = window.location.hash).substring(1))) {
+ update(); // replace bogus hash
+ }
+ }
+
+
+ function hash() {
+ context.map()
+ .on('move.hash', throttledUpdate);
+
+ context
+ .on('enter.hash', throttledUpdate);
+
+ select(window)
+ .on('hashchange.hash', hashchange);
+
+ if (window.location.hash) {
+
+ var q = utilStringQs(window.location.hash.substring(1));
+
+ if (q.id) {
+ context.zoomToEntity(q.id.split(',')[0], !q.map);
+ }
+
+ if (q.comment) {
+ context.storage('comment', q.comment);
+ context.storage('commentDate', Date.now());
+ }
+
+ if (q.source) {
+ context.storage('source', q.source);
+ context.storage('commentDate', Date.now());
+ }
+
+ if (q.hashtags) {
+ context.storage('hashtags', q.hashtags);
+ }
+
+ if (q.walkthrough === 'true') {
+ hash.startWalkthrough = true;
+ }
+
+ hashchange();
+
+ if (q.map) {
+ hash.hadHash = true;
+ }
+ }
+ }
+
+
+ hash.off = function() {
+ throttledUpdate.cancel();
+
+ context.map()
+ .on('move.hash', null);
+
+ context
+ .on('enter.hash', null);
+
+ select(window)
+ .on('hashchange.hash', null);
+
+ window.location.hash = '';
+ };
+
+
+ return hash;
+ }
+
+ function behaviorLasso(context) {
+
+ var behavior = function(selection$$1) {
+ var lasso;
+
+
+ function mousedown() {
+ var button = 0; // left
+ if (event.button === button && event.shiftKey === true) {
+ lasso = null;
+
+ select(window)
+ .on('mousemove.lasso', mousemove)
+ .on('mouseup.lasso', mouseup);
+
+ event.stopPropagation();
+ }
+ }
+
+
+ function mousemove() {
+ if (!lasso) {
+ lasso = uiLasso(context);
+ context.surface().call(lasso);
+ }
+
+ lasso.p(context.mouse());
+ }
+
+
+ function normalize(a, b) {
+ return [
+ [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
+ [Math.max(a[0], b[0]), Math.max(a[1], b[1])]];
+ }
+
+
+ function lassoed() {
+ if (!lasso) return [];
+
+ var graph = context.graph(),
+ bounds = lasso.extent().map(context.projection.invert),
+ extent = geoExtent$$1(normalize(bounds[0], bounds[1]));
+
+ return map$3(context.intersects(extent).filter(function(entity) {
+ return entity.type === 'node' &&
+ geoPointInPolygon(context.projection(entity.loc), lasso.coordinates) &&
+ !context.features().isHidden(entity, graph, entity.geometry(graph));
+ }), 'id');
+ }
+
+
+ function mouseup() {
+ select(window)
+ .on('mousemove.lasso', null)
+ .on('mouseup.lasso', null);
+
+ if (!lasso) return;
+
+ var ids = lassoed();
+ lasso.close();
+
+ if (ids.length) {
+ context.enter(modeSelect(context, ids));
+ }
+ }
+
+ selection$$1
+ .on('mousedown.lasso', mousedown);
+ };
+
+
+ behavior.off = function(selection$$1) {
+ selection$$1.on('mousedown.lasso', null);
+ };
+
+
+ return behavior;
+ }
+
+ /* Creates a keybinding behavior for an operation */
+ function behaviorOperation() {
+ var _operation, keybinding;
+
+ var behavior = function () {
+ if (_operation && _operation.available()) {
+ keybinding = d3keybinding('behavior.key.' + _operation.id);
+ keybinding.on(_operation.keys, function() {
+ event.preventDefault();
+ var disabled = _operation.disabled();
+ var flash;
+
+ if (disabled) {
+ flash = uiFlash()
+ .duration(4000)
+ .iconName('#operation-' + _operation.id)
+ .iconClass('operation disabled')
+ .text(_operation.tooltip);
+
+ flash();
+
+ } else {
+ flash = uiFlash()
+ .duration(2000)
+ .iconName('#operation-' + _operation.id)
+ .iconClass('operation')
+ .text(_operation.annotation() || _operation.title);
+
+ flash();
+ _operation();
+ }
+ });
+
+ select(document).call(keybinding);
+ }
+
+ return behavior;
+ };
+
+
+ behavior.off = function() {
+ if (keybinding) {
+ select(document).call(keybinding.off);
+ }
+ };
+
+
+ behavior.which = function (_) {
+ if (!arguments.length) return _operation;
+ _operation = _;
+ return behavior;
+ };
+
+
+ return behavior;
+ }
+
+ /**
+ * The base implementation of `_.invert` and `_.invertBy` which inverts
+ * `object` with values transformed by `iteratee` and set by `setter`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} setter The function to set `accumulator` values.
+ * @param {Function} iteratee The iteratee to transform values.
+ * @param {Object} accumulator The initial inverted object.
+ * @returns {Function} Returns `accumulator`.
+ */
+ function baseInverter(object, setter, iteratee, accumulator) {
+ baseForOwn(object, function(value, key, object) {
+ setter(accumulator, iteratee(value), key, object);
+ });
+ return accumulator;
+ }
+
+ /**
+ * Creates a function like `_.invertBy`.
+ *
+ * @private
+ * @param {Function} setter The function to set accumulator values.
+ * @param {Function} toIteratee The function to resolve iteratees.
+ * @returns {Function} Returns the new inverter function.
+ */
+ function createInverter(setter, toIteratee) {
+ return function(object, iteratee) {
+ return baseInverter(object, setter, toIteratee(iteratee), {});
+ };
+ }
+
+ /** Used for built-in method references. */
+ var objectProto$19 = Object.prototype;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var nativeObjectToString$2 = objectProto$19.toString;
+
+ /**
+ * Creates an object composed of the inverted keys and values of `object`.
+ * If `object` contains duplicate values, subsequent values overwrite
+ * property assignments of previous values.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.7.0
+ * @category Object
+ * @param {Object} object The object to invert.
+ * @returns {Object} Returns the new inverted object.
+ * @example
+ *
+ * var object = { 'a': 1, 'b': 2, 'c': 1 };
+ *
+ * _.invert(object);
+ * // => { '1': 'c', '2': 'b' }
+ */
+ var invert = createInverter(function(result, value, key) {
+ if (value != null &&
+ typeof value.toString != 'function') {
+ value = nativeObjectToString$2.call(value);
+ }
+
+ result[value] = key;
+ }, constant$13(identity$8));
+
+ /**
+ * Creates an object with the same keys as `object` and values generated
+ * by running each own enumerable string keyed property of `object` thru
+ * `iteratee`. The iteratee is invoked with three arguments:
+ * (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @since 2.4.0
+ * @category Object
+ * @param {Object} object The object to iterate over.
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+ * @returns {Object} Returns the new mapped object.
+ * @see _.mapKeys
+ * @example
+ *
+ * var users = {
+ * 'fred': { 'user': 'fred', 'age': 40 },
+ * 'pebbles': { 'user': 'pebbles', 'age': 1 }
+ * };
+ *
+ * _.mapValues(users, function(o) { return o.age; });
+ * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.mapValues(users, 'age');
+ * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
+ */
+ function mapValues(object, iteratee) {
+ var result = {};
+ iteratee = baseIteratee(iteratee, 3);
+
+ baseForOwn(object, function(value, key, object) {
+ baseAssignValue(result, key, iteratee(value, key, object));
+ });
+ return result;
+ }
+
+ function behaviorPaste(context) {
+ var keybinding = d3keybinding('paste');
+
+
+ function doPaste() {
+ event.preventDefault();
+
+ var baseGraph = context.graph(),
+ mouse$$1 = context.mouse(),
+ projection = context.projection,
+ viewport = geoExtent$$1(projection.clipExtent()).polygon();
+
+ if (!geoPointInPolygon(mouse$$1, viewport)) return;
+
+ var extent = geoExtent$$1(),
+ oldIDs = context.copyIDs(),
+ oldGraph = context.copyGraph(),
+ newIDs = [];
+
+ if (!oldIDs.length) return;
+
+ var action = actionCopyEntities(oldIDs, oldGraph);
+ context.perform(action);
+
+ var copies = action.copies();
+ var originals = invert(mapValues(copies, 'id'));
+ for (var id in copies) {
+ var oldEntity = oldGraph.entity(id),
+ newEntity = copies[id];
+
+ extent._extend(oldEntity.extent(oldGraph));
+
+ // Exclude child nodes from newIDs if their parent way was also copied.
+ var parents = context.graph().parentWays(newEntity),
+ parentCopied = false;
+ for (var i = 0; i < parents.length; i++) {
+ if (originals[parents[i].id]) {
+ parentCopied = true;
+ break;
+ }
+ }
+
+ if (!parentCopied) {
+ newIDs.push(newEntity.id);
+ }
+ }
+
+ // Put pasted objects where mouse pointer is..
+ var center = projection(extent.center()),
+ delta = [ mouse$$1[0] - center[0], mouse$$1[1] - center[1] ];
+
+ context.perform(actionMove(newIDs, delta, projection));
+ context.enter(modeMove$$1(context, newIDs, baseGraph));
+ }
+
+
+ function paste() {
+ keybinding.on(uiCmd('⌘V'), doPaste);
+ select(document).call(keybinding);
+ return paste;
+ }
+
+
+ paste.off = function() {
+ select(document).call(keybinding.off);
+ };
+
+
+ return paste;
+ }
+
+ function behaviorSelect(context) {
+ var lastMouse = null;
+ var suppressMenu = true;
+ var tolerance = 4;
+ var p1 = null;
+
+
+ function point$$1() {
+ return mouse(context.container().node());
+ }
+
+
+ function keydown() {
+ var e = event;
+ if (e && e.shiftKey) {
+ context.surface()
+ .classed('behavior-multiselect', true);
+ }
+
+ if (e && e.keyCode === 93) { // context menu
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ }
+
+
+ function keyup() {
+ var e = event;
+ if (!e || !e.shiftKey) {
+ context.surface()
+ .classed('behavior-multiselect', false);
+ }
+
+
+ if (e && e.keyCode === 93) { // context menu
+ e.preventDefault();
+ e.stopPropagation();
+ contextmenu();
+ }
+ }
+
+
+ function mousedown() {
+ if (!p1) p1 = point$$1();
+ select(window)
+ .on('mouseup.select', mouseup, true);
+
+ var isShowAlways = +context.storage('edit-menu-show-always') === 1;
+ suppressMenu = !isShowAlways;
+ }
+
+
+ function mousemove() {
+ if (event) lastMouse = event;
+ }
+
+
+ function mouseup() {
+ click();
+ }
+
+
+ function contextmenu() {
+ var e = event;
+ e.preventDefault();
+ e.stopPropagation();
+
+ if (!+e.clientX && !+e.clientY) {
+ if (lastMouse) {
+ e.sourceEvent = lastMouse;
+ } else {
+ return;
+ }
+ }
+
+ if (!p1) p1 = point$$1();
+ suppressMenu = false;
+ click();
+ }
+
+
+ function click() {
+ select(window)
+ .on('mouseup.select', null, true);
+
+ if (!p1) return;
+ var p2 = point$$1();
+ var dist = geoVecLength(p1, p2);
+
+ p1 = null;
+ if (dist > tolerance) {
+ return;
+ }
+
+ var isMultiselect = event.shiftKey || select('#surface .lasso').node();
+ var isShowAlways = +context.storage('edit-menu-show-always') === 1;
+ var datum = event.target.__data__ || (lastMouse && lastMouse.target.__data__);
+ var mode = context.mode();
+
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (entity) datum = entity;
+
+ if (datum && datum.type === 'midpoint') {
+ datum = datum.parents[0];
+ }
+
+ if (!(datum instanceof osmEntity$$1)) {
+ // clicked nothing..
+ if (!isMultiselect && mode.id !== 'browse') {
+ context.enter(modeBrowse(context));
+ }
+
+ } else {
+ // clicked an entity..
+ var selectedIDs = context.selectedIDs();
+
+ if (!isMultiselect) {
+ if (selectedIDs.length > 1 && (!suppressMenu && !isShowAlways)) {
+ // multiple things already selected, just show the menu...
+ mode.suppressMenu(false).reselect();
+ } else {
+ // select a single thing..
+ context.enter(modeSelect(context, [datum.id]).suppressMenu(suppressMenu));
+ }
+
+ } else {
+ if (selectedIDs.indexOf(datum.id) !== -1) {
+ // clicked entity is already in the selectedIDs list..
+ if (!suppressMenu && !isShowAlways) {
+ // don't deselect clicked entity, just show the menu.
+ mode.suppressMenu(false).reselect();
+ } else {
+ // deselect clicked entity, then reenter select mode or return to browse mode..
+ selectedIDs = without(selectedIDs, datum.id);
+ context.enter(selectedIDs.length ? modeSelect(context, selectedIDs) : modeBrowse(context));
+ }
+ } else {
+ // clicked entity is not in the selected list, add it..
+ selectedIDs = selectedIDs.concat([datum.id]);
+ context.enter(modeSelect(context, selectedIDs).suppressMenu(suppressMenu));
+ }
+ }
+ }
+
+ // reset for next time..
+ suppressMenu = true;
+ }
+
+
+ var behavior = function(selection$$1) {
+ lastMouse = null;
+ suppressMenu = true;
+ p1 = null;
+
+ select(window)
+ .on('keydown.select', keydown)
+ .on('keyup.select', keyup)
+ .on('contextmenu.select-window', function() {
+ // Edge and IE really like to show the contextmenu on the
+ // menubar when user presses a keyboard menu button
+ // even after we've already preventdefaulted the key event.
+ var e = event;
+ if (+e.clientX === 0 && +e.clientY === 0) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ });
+
+ selection$$1
+ .on('mousedown.select', mousedown)
+ .on('mousemove.select', mousemove)
+ .on('contextmenu.select', contextmenu);
+
+ if (event && event.shiftKey) {
+ context.surface()
+ .classed('behavior-multiselect', true);
+ }
+ };
+
+
+ behavior.off = function(selection$$1) {
+ select(window)
+ .on('keydown.select', null)
+ .on('keyup.select', null)
+ .on('contextmenu.select-window', null)
+ .on('mouseup.select', null, true);
+
+ selection$$1
+ .on('mousedown.select', null)
+ .on('mousemove.select', null)
+ .on('contextmenu.select', null);
+
+ context.surface()
+ .classed('behavior-multiselect', false);
+ };
+
+
+ return behavior;
+ }
+
+ function svgAreas$$1(projection, context) {
+ // Patterns only work in Firefox when set directly on element.
+ // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632)
+ var patterns = {
+ beach: 'beach',
+ cemetery: 'cemetery',
+ construction: 'construction',
+ farm: 'farmland',
+ farmland: 'farmland',
+ grave_yard: 'cemetery',
+ meadow: 'meadow',
+ military: 'construction',
+ orchard: 'orchard',
+ sand: 'beach',
+ scrub: 'scrub',
+ wetland: 'wetland',
+ };
+
+ var patternKeys = ['landuse', 'natural', 'amenity'];
+
+
+ function setPattern(d) {
+ for (var i = 0; i < patternKeys.length; i++) {
+ if (d.tags.building && d.tags.building !== 'no') continue;
+
+ if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) {
+ this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")';
+ return;
+ }
+ }
+ this.style.fill = this.style.stroke = '';
+ }
+
+
+ function drawTargets(selection, graph, entities, filter) {
+ var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+ var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+ var getPath = svgPath(projection).geojson;
+ var activeID = context.activeID();
+
+ // The targets and nopes will be MultiLineString sub-segments of the ways
+ var data = { targets: [], nopes: [] };
+
+ entities.forEach(function(way) {
+ var features = svgSegmentWay(way, graph, activeID);
+ data.targets.push.apply(data.targets, features.passive);
+ data.nopes.push.apply(data.nopes, features.active);
+ });
+
+
+ // Targets allow hover and vertex snapping
+ var targetData = data.targets.filter(getPath);
+ var targets = selection.selectAll('.area.target-allowed')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(targetData, function key(d) { return d.id; });
+
+ // exit
+ targets.exit()
+ .remove();
+
+ // enter/update
+ targets.enter()
+ .append('path')
+ .merge(targets)
+ .attr('d', getPath)
+ .attr('class', function(d) { return 'way area target target-allowed ' + targetClass + d.id; });
+
+
+ // NOPE
+ var nopeData = data.nopes.filter(getPath);
+ var nopes = selection.selectAll('.area.target-nope')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(nopeData, function key(d) { return d.id; });
+
+ // exit
+ nopes.exit()
+ .remove();
+
+ // enter/update
+ nopes.enter()
+ .append('path')
+ .merge(nopes)
+ .attr('d', getPath)
+ .attr('class', function(d) { return 'way area target target-nope ' + nopeClass + d.id; });
+ }
+
+
+ function drawAreas(selection, graph, entities, filter) {
+ var path = svgPath(projection, graph, true),
+ areas = {},
+ multipolygon;
+
+ for (var i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+ if (entity.geometry(graph) !== 'area') continue;
+
+ multipolygon = osmIsSimpleMultipolygonOuterMember(entity, graph);
+ if (multipolygon) {
+ areas[multipolygon.id] = {
+ entity: multipolygon.mergeTags(entity.tags),
+ area: Math.abs(entity.area(graph))
+ };
+ } else if (!areas[entity.id]) {
+ areas[entity.id] = {
+ entity: entity,
+ area: Math.abs(entity.area(graph))
+ };
+ }
+ }
+
+ areas = values$1(areas).filter(function hasPath(a) { return path(a.entity); });
+ areas.sort(function areaSort(a, b) { return b.area - a.area; });
+ areas = map$3(areas, 'entity');
+
+ var strokes = areas.filter(function(area) {
+ return area.type === 'way';
+ });
+
+ var data = {
+ clip: areas,
+ shadow: strokes,
+ stroke: strokes,
+ fill: areas
+ };
+
+ var clipPaths = context.surface().selectAll('defs').selectAll('.clipPath')
+ .filter(filter)
+ .data(data.clip, osmEntity$$1.key);
+
+ clipPaths.exit()
+ .remove();
+
+ var clipPathsEnter = clipPaths.enter()
+ .append('clipPath')
+ .attr('class', 'clipPath')
+ .attr('id', function(entity) { return entity.id + '-clippath'; });
+
+ clipPathsEnter
+ .append('path');
+
+ clipPaths.merge(clipPathsEnter)
+ .selectAll('path')
+ .attr('d', path);
+
+
+ var layer = selection.selectAll('.layer-areas .layer-areas-areas');
+
+ var areagroup = layer
+ .selectAll('g.areagroup')
+ .data(['fill', 'shadow', 'stroke']);
+
+ areagroup = areagroup.enter()
+ .append('g')
+ .attr('class', function(d) { return 'areagroup area-' + d; })
+ .merge(areagroup);
+
+ var paths = areagroup
+ .selectAll('path')
+ .filter(filter)
+ .data(function(layer) { return data[layer]; }, osmEntity$$1.key);
+
+ paths.exit()
+ .remove();
+
+ var fills = selection.selectAll('.area-fill path.area').nodes();
+
+ var bisect = bisector(function(node) {
+ return -node.__data__.area(graph);
+ }).left;
+
+ function sortedByArea(entity) {
+ if (this._parent.__data__ === 'fill') {
+ return fills[bisect(fills, -entity.area(graph))];
+ }
+ }
+
+ paths = paths.enter()
+ .insert('path', sortedByArea)
+ .merge(paths)
+ .each(function(entity) {
+ var layer = this.parentNode.__data__;
+
+ this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id);
+
+ if (layer === 'fill') {
+ this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)');
+ setPattern.apply(this, arguments);
+ }
+ })
+ .call(svgTagClasses())
+ .attr('d', path);
+
+
+ // touch targets
+ selection.selectAll('.layer-areas .layer-areas-targets')
+ .call(drawTargets, graph, data.stroke, filter);
+ }
+
+ return drawAreas;
+ }
+
+ function svgDebug$$1(projection, context) {
+
+ function multipolygons(imagery) {
+ return imagery.map(function(data$$1) {
+ return {
+ type: 'MultiPolygon',
+ coordinates: [ data$$1.polygon ]
+ };
+ });
+ }
+
+ function drawDebug(selection$$1) {
+ var showsTile = context.getDebug('tile');
+ var showsCollision = context.getDebug('collision');
+ var showsImagery = context.getDebug('imagery');
+ var showsCommunity = context.getDebug('community');
+ var showsImperial = context.getDebug('imperial');
+ var showsDriveLeft = context.getDebug('driveLeft');
+ var showsTouchTargets = context.getDebug('target');
+
+ var debugData = [];
+ if (showsTile) {
+ debugData.push({ class: 'red', label: 'tile' });
+ }
+ if (showsCollision) {
+ debugData.push({ class: 'yellow', label: 'collision' });
+ }
+ if (showsImagery) {
+ debugData.push({ class: 'orange', label: 'imagery' });
+ }
+ if (showsCommunity) {
+ debugData.push({ class: 'blue', label: 'community' });
+ }
+ if (showsImperial) {
+ debugData.push({ class: 'cyan', label: 'imperial' });
+ }
+ if (showsDriveLeft) {
+ debugData.push({ class: 'green', label: 'driveLeft' });
+ }
+ if (showsTouchTargets) {
+ debugData.push({ class: 'pink', label: 'touchTargets' });
+ }
+
+
+ var legend = select('#content')
+ .selectAll('.debug-legend')
+ .data(debugData.length ? [0] : []);
+
+ legend.exit()
+ .remove();
+
+ legend = legend.enter()
+ .append('div')
+ .attr('class', 'fillD debug-legend')
+ .merge(legend);
+
+
+ var legendItems = legend.selectAll('.debug-legend-item')
+ .data(debugData, function(d) { return d.label; });
+
+ legendItems.exit()
+ .remove();
+
+ legendItems.enter()
+ .append('span')
+ .attr('class', function(d) { return 'debug-legend-item ' + d.class; })
+ .text(function(d) { return d.label; });
+
+
+ var layer = selection$$1.selectAll('.layer-debug')
+ .data(showsImagery || showsCommunity || showsImperial || showsDriveLeft ? [0] : []);
+
+ layer.exit()
+ .remove();
+
+ layer = layer.enter()
+ .append('g')
+ .attr('class', 'layer-debug')
+ .merge(layer);
+
+
+ var extent = context.map().extent();
+ var dataImagery = data.imagery || [];
+ var availableImagery = showsImagery && multipolygons(dataImagery.filter(function(source) {
+ if (!source.polygon) return false;
+ return source.polygon.some(function(polygon) {
+ return geoPolygonIntersectsPolygon(polygon, extent, true);
+ });
+ }));
+
+ var imagery = layer.selectAll('path.debug-imagery')
+ .data(showsImagery ? availableImagery : []);
+
+ imagery.exit()
+ .remove();
+
+ imagery.enter()
+ .append('path')
+ .attr('class', 'debug-imagery debug orange');
+
+
+ var community = layer.selectAll('path.debug-community')
+ .data(showsCommunity ? values$1(data.community.features) : []);
+
+ community.exit()
+ .remove();
+
+ community.enter()
+ .append('path')
+ .attr('class', 'debug-community debug blue');
+
+
+ var imperial = layer
+ .selectAll('path.debug-imperial')
+ .data(showsImperial ? [dataImperial] : []);
+
+ imperial.exit()
+ .remove();
+
+ imperial.enter()
+ .append('path')
+ .attr('class', 'debug-imperial debug cyan');
+
+
+ var driveLeft = layer
+ .selectAll('path.debug-drive-left')
+ .data(showsDriveLeft ? [dataDriveLeft] : []);
+
+ driveLeft.exit()
+ .remove();
+
+ driveLeft.enter()
+ .append('path')
+ .attr('class', 'debug-drive-left debug green');
+
+
+ // update
+ layer.selectAll('path')
+ .attr('d', svgPath(projection).geojson);
+ }
+
+
+ // This looks strange because `enabled` methods on other layers are
+ // chainable getter/setters, and this one is just a getter.
+ drawDebug.enabled = function() {
+ if (!arguments.length) {
+ return context.getDebug('tile') ||
+ context.getDebug('collision') ||
+ context.getDebug('imagery') ||
+ context.getDebug('imperial') ||
+ context.getDebug('driveLeft') ||
+ context.getDebug('target');
+ } else {
+ return this;
+ }
+ };
+
+
+ return drawDebug;
+ }
+
+ /*
+ A standalone SVG element that contains only a `defs` sub-element. To be
+ used once globally, since defs IDs must be unique within a document.
+ */
+ function svgDefs(context) {
+
+ function SVGSpriteDefinition(id, href) {
+ return function(defs) {
+ request(href)
+ .mimeType('image/svg+xml')
+ .response(function(xhr) { return xhr.responseXML; })
+ .get(function(err, svg) {
+ if (err) return;
+ defs.node().appendChild(
+ select(svg.documentElement).attr('id', id).node()
+ );
+ });
+ };
+ }
+
+
+ return function drawDefs(selection$$1) {
+ var defs = selection$$1.append('defs');
+
+ // markers
+ defs
+ .append('marker')
+ .attr('id', 'oneway-marker')
+ .attr('viewBox', '0 0 10 5')
+ .attr('refX', 2.5)
+ .attr('refY', 2.5)
+ .attr('markerWidth', 2)
+ .attr('markerHeight', 2)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('class', 'oneway-marker-path')
+ .attr('d', 'M 5,3 L 0,3 L 0,2 L 5,2 L 5,0 L 10,2.5 L 5,5 z')
+ .attr('stroke', 'none')
+ .attr('fill', '#000')
+ .attr('opacity', '0.75');
+
+ defs
+ .append('marker')
+ .attr('id', 'viewfield-marker')
+ .attr('viewBox', '0 0 16 16')
+ .attr('refX', 8)
+ .attr('refY', 16)
+ .attr('markerWidth', 4)
+ .attr('markerHeight', 4)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('class', 'viewfield-marker-path')
+ .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z')
+ .attr('fill', '#333')
+ .attr('fill-opacity', '0.75')
+ .attr('stroke', '#fff')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke-opacity', '0.75');
+
+ defs
+ .append('marker')
+ .attr('id', 'viewfield-marker-wireframe')
+ .attr('viewBox', '0 0 16 16')
+ .attr('refX', 8)
+ .attr('refY', 16)
+ .attr('markerWidth', 4)
+ .attr('markerHeight', 4)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('class', 'viewfield-marker-path')
+ .attr('d', 'M 6,14 C 8,13.4 8,13.4 10,14 L 16,3 C 12,0 4,0 0,3 z')
+ .attr('fill', 'none')
+ .attr('stroke', '#fff')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke-opacity', '0.75');
+
+ // patterns
+ var patterns = defs.selectAll('pattern')
+ .data([
+ // pattern name, pattern image name
+ ['wetland', 'wetland'],
+ ['construction', 'construction'],
+ ['cemetery', 'cemetery'],
+ ['orchard', 'orchard'],
+ ['farmland', 'farmland'],
+ ['beach', 'dots'],
+ ['scrub', 'dots'],
+ ['meadow', 'dots']
+ ])
+ .enter()
+ .append('pattern')
+ .attr('id', function (d) { return 'pattern-' + d[0]; })
+ .attr('width', 32)
+ .attr('height', 32)
+ .attr('patternUnits', 'userSpaceOnUse');
+
+ patterns
+ .append('rect')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', 32)
+ .attr('height', 32)
+ .attr('class', function (d) { return 'pattern-color-' + d[0]; });
+
+ patterns
+ .append('image')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', 32)
+ .attr('height', 32)
+ .attr('xlink:href', function (d) {
+ return context.imagePath('pattern/' + d[1] + '.png');
+ });
+
+ // clip paths
+ defs.selectAll('clipPath')
+ .data([12, 18, 20, 32, 45])
+ .enter()
+ .append('clipPath')
+ .attr('id', function (d) { return 'clip-square-' + d; })
+ .append('rect')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', function (d) { return d; })
+ .attr('height', function (d) { return d; });
+
+ // symbol spritesheets
+ defs
+ .call(SVGSpriteDefinition('iD-sprite', context.imagePath('iD-sprite.svg')))
+ .call(SVGSpriteDefinition('maki-sprite', context.imagePath('maki-sprite.svg')))
+ .call(SVGSpriteDefinition('community-sprite', context.imagePath('community-sprite.svg')));
+ };
+ }
+
+ /**
+ * Checks if `value` is `undefined`.
+ *
+ * @static
+ * @since 0.1.0
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
+ * @example
+ *
+ * _.isUndefined(void 0);
+ * // => true
+ *
+ * _.isUndefined(null);
+ * // => false
+ */
+ function isUndefined(value) {
+ return value === undefined;
+ }
+
+ //[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
+ //[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
+ //[5] Name ::= NameStartChar (NameChar)*
+ var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;//\u10000-\uEFFFF
+ var nameChar = new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]");
+ var tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\:'+nameStartChar.source+nameChar.source+'*)?$');
+ //var tagNamePattern = /^[a-zA-Z_][\w\-\.]*(?:\:[a-zA-Z_][\w\-\.]*)?$/
+ //var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')
+
+ //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE
+ //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE
+ var S_TAG = 0;//tag name offerring
+ var S_ATTR = 1;//attr name offerring
+ var S_ATTR_SPACE=2;//attr name end and space offer
+ var S_EQ = 3;//=space?
+ var S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)
+ var S_ATTR_END = 5;//attr value end and no space(quot end)
+ var S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)
+ var S_TAG_CLOSE = 7;//closed el<el />
+
+ function XMLReader(){
+
+ }
+
+ XMLReader.prototype = {
+ parse:function(source,defaultNSMap,entityMap){
+ var domBuilder = this.domBuilder;
+ domBuilder.startDocument();
+ _copy(defaultNSMap ,defaultNSMap = {});
+ parse$1(source,defaultNSMap,entityMap,
+ domBuilder,this.errorHandler);
+ domBuilder.endDocument();
+ }
+ };
+ function parse$1(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){
+ function fixedFromCharCode(code) {
+ // String.prototype.fromCharCode does not supports
+ // > 2 bytes unicode chars directly
+ if (code > 0xffff) {
+ code -= 0x10000;
+ var surrogate1 = 0xd800 + (code >> 10)
+ , surrogate2 = 0xdc00 + (code & 0x3ff);
+
+ return String.fromCharCode(surrogate1, surrogate2);
+ } else {
+ return String.fromCharCode(code);
+ }
+ }
+ function entityReplacer(a){
+ var k = a.slice(1,-1);
+ if(k in entityMap){
+ return entityMap[k];
+ }else if(k.charAt(0) === '#'){
+ return fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))
+ }else{
+ errorHandler.error('entity not found:'+a);
+ return a;
+ }
+ }
+ function appendText(end){//has some bugs
+ if(end>start){
+ var xt = source.substring(start,end).replace(/&#?\w+;/g,entityReplacer);
+ locator&&position(start);
+ domBuilder.characters(xt,0,end-start);
+ start = end;
+ }
+ }
+ function position(p,m){
+ while(p>=lineEnd && (m = linePattern.exec(source))){
+ lineStart = m.index;
+ lineEnd = lineStart + m[0].length;
+ locator.lineNumber++;
+ //console.log('line++:',locator,startPos,endPos)
+ }
+ locator.columnNumber = p-lineStart+1;
+ }
+ var lineStart = 0;
+ var lineEnd = 0;
+ var linePattern = /.*(?:\r\n?|\n)|.*$/g;
+ var locator = domBuilder.locator;
+
+ var parseStack = [{currentNSMap:defaultNSMapCopy}];
+ var closeMap = {};
+ var start = 0;
+ while(true){
+ try{
+ var tagStart = source.indexOf('<',start);
+ if(tagStart<0){
+ if(!source.substr(start).match(/^\s*$/)){
+ var doc = domBuilder.doc;
+ var text = doc.createTextNode(source.substr(start));
+ doc.appendChild(text);
+ domBuilder.currentElement = text;
+ }
+ return;
+ }
+ if(tagStart>start){
+ appendText(tagStart);
+ }
+ switch(source.charAt(tagStart+1)){
+ case '/':
+ var end = source.indexOf('>',tagStart+3);
+ var tagName = source.substring(tagStart+2,end);
+ var config = parseStack.pop();
+ if(end<0){
+
+ tagName = source.substring(tagStart+2).replace(/[\s<].*/,'');
+ //console.error('#@@@@@@'+tagName)
+ errorHandler.error("end tag name: "+tagName+' is not complete:'+config.tagName);
+ end = tagStart+1+tagName.length;
+ }else if(tagName.match(/\s</)){
+ tagName = tagName.replace(/[\s<].*/,'');
+ errorHandler.error("end tag name: "+tagName+' maybe not complete');
+ end = tagStart+1+tagName.length;
+ }
+ //console.error(parseStack.length,parseStack)
+ //console.error(config);
+ var localNSMap = config.localNSMap;
+ var endMatch = config.tagName == tagName;
+ var endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase();
+ if(endIgnoreCaseMach){
+ domBuilder.endElement(config.uri,config.localName,tagName);
+ if(localNSMap){
+ for(var prefix in localNSMap){
+ domBuilder.endPrefixMapping(prefix) ;
+ }
+ }
+ if(!endMatch){
+ errorHandler.fatalError("end tag name: "+tagName+' is not match the current start tagName:'+config.tagName );
+ }
+ }else{
+ parseStack.push(config);
+ }
+
+ end++;
+ break;
+ // end elment
+ case '?':// <?...?>
+ locator&&position(tagStart);
+ end = parseInstruction(source,tagStart,domBuilder);
+ break;
+ case '!':// <!doctype,<![CDATA,<!--
+ locator&&position(tagStart);
+ end = parseDCC(source,tagStart,domBuilder,errorHandler);
+ break;
+ default:
+ locator&&position(tagStart);
+ var el = new ElementAttributes();
+ var currentNSMap = parseStack[parseStack.length-1].currentNSMap;
+ //elStartEnd
+ var end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);
+ var len = el.length;
+
+
+ if(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){
+ el.closed = true;
+ if(!entityMap.nbsp){
+ errorHandler.warning('unclosed xml attribute');
+ }
+ }
+ if(locator && len){
+ var locator2 = copyLocator(locator,{});
+ //try{//attribute position fixed
+ for(var i = 0;i<len;i++){
+ var a = el[i];
+ position(a.offset);
+ a.locator = copyLocator(locator,{});
+ }
+ //}catch(e){console.error('@@@@@'+e)}
+ domBuilder.locator = locator2;
+ if(appendElement(el,domBuilder,currentNSMap)){
+ parseStack.push(el);
+ }
+ domBuilder.locator = locator;
+ }else{
+ if(appendElement(el,domBuilder,currentNSMap)){
+ parseStack.push(el);
+ }
+ }
+
+
+
+ if(el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed){
+ end = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder);
+ }else{
+ end++;
+ }
+ }
+ }catch(e){
+ errorHandler.error('element parse error: '+e);
+ //errorHandler.error('element parse error: '+e);
+ end = -1;
+ //throw e;
+ }
+ if(end>start){
+ start = end;
+ }else{
+ //TODO: 这里有可能sax回退,有位置错误风险
+ appendText(Math.max(tagStart,start)+1);
+ }
+ }
+ }
+ function copyLocator(f,t){
+ t.lineNumber = f.lineNumber;
+ t.columnNumber = f.columnNumber;
+ return t;
+ }
+
+ /**
+ * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);
+ * @return end of the elementStartPart(end of elementEndPart for selfClosed el)
+ */
+ function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){
+ var attrName;
+ var value;
+ var p = ++start;
+ var s = S_TAG;//status
+ while(true){
+ var c = source.charAt(p);
+ switch(c){
+ case '=':
+ if(s === S_ATTR){//attrName
+ attrName = source.slice(start,p);
+ s = S_EQ;
+ }else if(s === S_ATTR_SPACE){
+ s = S_EQ;
+ }else{
+ //fatalError: equal must after attrName or space after attrName
+ throw new Error('attribute equal must after attrName');
+ }
+ break;
+ case '\'':
+ case '"':
+ if(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE
+ ){//equal
+ if(s === S_ATTR){
+ errorHandler.warning('attribute value must after "="');
+ attrName = source.slice(start,p);
+ }
+ start = p+1;
+ p = source.indexOf(c,start);
+ if(p>0){
+ value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+ el.add(attrName,value,start-1);
+ s = S_ATTR_END;
+ }else{
+ //fatalError: no end quot match
+ throw new Error('attribute value no end \''+c+'\' match');
+ }
+ }else if(s == S_ATTR_NOQUOT_VALUE){
+ value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+ //console.log(attrName,value,start,p)
+ el.add(attrName,value,start);
+ //console.dir(el)
+ errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+')!!');
+ start = p+1;
+ s = S_ATTR_END;
+ }else{
+ //fatalError: no equal before
+ throw new Error('attribute value must after "="');
+ }
+ break;
+ case '/':
+ switch(s){
+ case S_TAG:
+ el.setTagName(source.slice(start,p));
+ case S_ATTR_END:
+ case S_TAG_SPACE:
+ case S_TAG_CLOSE:
+ s =S_TAG_CLOSE;
+ el.closed = true;
+ case S_ATTR_NOQUOT_VALUE:
+ case S_ATTR:
+ case S_ATTR_SPACE:
+ break;
+ //case S_EQ:
+ default:
+ throw new Error("attribute invalid close char('/')")
+ }
+ break;
+ case ''://end document
+ //throw new Error('unexpected end of input')
+ errorHandler.error('unexpected end of input');
+ if(s == S_TAG){
+ el.setTagName(source.slice(start,p));
+ }
+ return p;
+ case '>':
+ switch(s){
+ case S_TAG:
+ el.setTagName(source.slice(start,p));
+ case S_ATTR_END:
+ case S_TAG_SPACE:
+ case S_TAG_CLOSE:
+ break;//normal
+ case S_ATTR_NOQUOT_VALUE://Compatible state
+ case S_ATTR:
+ value = source.slice(start,p);
+ if(value.slice(-1) === '/'){
+ el.closed = true;
+ value = value.slice(0,-1);
+ }
+ case S_ATTR_SPACE:
+ if(s === S_ATTR_SPACE){
+ value = attrName;
+ }
+ if(s == S_ATTR_NOQUOT_VALUE){
+ errorHandler.warning('attribute "'+value+'" missed quot(")!!');
+ el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start);
+ }else{
+ if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){
+ errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!');
+ }
+ el.add(value,value,start);
+ }
+ break;
+ case S_EQ:
+ throw new Error('attribute value missed!!');
+ }
+ // console.log(tagName,tagNamePattern,tagNamePattern.test(tagName))
+ return p;
+ /*xml space '\x20' | #x9 | #xD | #xA; */
+ case '\u0080':
+ c = ' ';
+ default:
+ if(c<= ' '){//space
+ switch(s){
+ case S_TAG:
+ el.setTagName(source.slice(start,p));//tagName
+ s = S_TAG_SPACE;
+ break;
+ case S_ATTR:
+ attrName = source.slice(start,p);
+ s = S_ATTR_SPACE;
+ break;
+ case S_ATTR_NOQUOT_VALUE:
+ var value = source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);
+ errorHandler.warning('attribute "'+value+'" missed quot(")!!');
+ el.add(attrName,value,start);
+ case S_ATTR_END:
+ s = S_TAG_SPACE;
+ break;
+ //case S_TAG_SPACE:
+ //case S_EQ:
+ //case S_ATTR_SPACE:
+ // void();break;
+ //case S_TAG_CLOSE:
+ //ignore warning
+ }
+ }else{//not space
+ //S_TAG, S_ATTR, S_EQ, S_ATTR_NOQUOT_VALUE
+ //S_ATTR_SPACE, S_ATTR_END, S_TAG_SPACE, S_TAG_CLOSE
+ switch(s){
+ //case S_TAG:void();break;
+ //case S_ATTR:void();break;
+ //case S_ATTR_NOQUOT_VALUE:void();break;
+ case S_ATTR_SPACE:
+ var tagName = el.tagName;
+ if(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){
+ errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!');
+ }
+ el.add(attrName,attrName,start);
+ start = p;
+ s = S_ATTR;
+ break;
+ case S_ATTR_END:
+ errorHandler.warning('attribute space is required"'+attrName+'"!!');
+ case S_TAG_SPACE:
+ s = S_ATTR;
+ start = p;
+ break;
+ case S_EQ:
+ s = S_ATTR_NOQUOT_VALUE;
+ start = p;
+ break;
+ case S_TAG_CLOSE:
+ throw new Error("elements closed character '/' and '>' must be connected to");
+ }
+ }
+ }//end outer switch
+ //console.log('p++',p)
+ p++;
+ }
+ }
+ /**
+ * @return true if has new namespace define
+ */
+ function appendElement(el,domBuilder,currentNSMap){
+ var tagName = el.tagName;
+ var localNSMap = null;
+ //var currentNSMap = parseStack[parseStack.length-1].currentNSMap;
+ var i = el.length;
+ while(i--){
+ var a = el[i];
+ var qName = a.qName;
+ var value = a.value;
+ var nsp = qName.indexOf(':');
+ if(nsp>0){
+ var prefix = a.prefix = qName.slice(0,nsp);
+ var localName = qName.slice(nsp+1);
+ var nsPrefix = prefix === 'xmlns' && localName;
+ }else{
+ localName = qName;
+ prefix = null;
+ nsPrefix = qName === 'xmlns' && '';
+ }
+ //can not set prefix,because prefix !== ''
+ a.localName = localName ;
+ //prefix == null for no ns prefix attribute
+ if(nsPrefix !== false){//hack!!
+ if(localNSMap == null){
+ localNSMap = {};
+ //console.log(currentNSMap,0)
+ _copy(currentNSMap,currentNSMap={});
+ //console.log(currentNSMap,1)
+ }
+ currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
+ a.uri = 'http://www.w3.org/2000/xmlns/';
+ domBuilder.startPrefixMapping(nsPrefix, value);
+ }
+ }
+ var i = el.length;
+ while(i--){
+ a = el[i];
+ var prefix = a.prefix;
+ if(prefix){//no prefix attribute has no namespace
+ if(prefix === 'xml'){
+ a.uri = 'http://www.w3.org/XML/1998/namespace';
+ }if(prefix !== 'xmlns'){
+ a.uri = currentNSMap[prefix || ''];
+
+ //{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}
+ }
+ }
+ }
+ var nsp = tagName.indexOf(':');
+ if(nsp>0){
+ prefix = el.prefix = tagName.slice(0,nsp);
+ localName = el.localName = tagName.slice(nsp+1);
+ }else{
+ prefix = null;//important!!
+ localName = el.localName = tagName;
+ }
+ //no prefix element has default namespace
+ var ns = el.uri = currentNSMap[prefix || ''];
+ domBuilder.startElement(ns,localName,tagName,el);
+ //endPrefixMapping and startPrefixMapping have not any help for dom builder
+ //localNSMap = null
+ if(el.closed){
+ domBuilder.endElement(ns,localName,tagName);
+ if(localNSMap){
+ for(prefix in localNSMap){
+ domBuilder.endPrefixMapping(prefix);
+ }
+ }
+ }else{
+ el.currentNSMap = currentNSMap;
+ el.localNSMap = localNSMap;
+ //parseStack.push(el);
+ return true;
+ }
+ }
+ function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){
+ if(/^(?:script|textarea)$/i.test(tagName)){
+ var elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);
+ var text = source.substring(elStartEnd+1,elEndStart);
+ if(/[&<]/.test(text)){
+ if(/^script$/i.test(tagName)){
+ //if(!/\]\]>/.test(text)){
+ //lexHandler.startCDATA();
+ domBuilder.characters(text,0,text.length);
+ //lexHandler.endCDATA();
+ return elEndStart;
+ //}
+ }//}else{//text area
+ text = text.replace(/&#?\w+;/g,entityReplacer);
+ domBuilder.characters(text,0,text.length);
+ return elEndStart;
+ //}
+
+ }
+ }
+ return elStartEnd+1;
+ }
+ function fixSelfClosed(source,elStartEnd,tagName,closeMap){
+ //if(tagName in closeMap){
+ var pos = closeMap[tagName];
+ if(pos == null){
+ //console.log(tagName)
+ pos = source.lastIndexOf('</'+tagName+'>');
+ if(pos<elStartEnd){//忘记闭合
+ pos = source.lastIndexOf('</'+tagName);
+ }
+ closeMap[tagName] =pos;
+ }
+ return pos<elStartEnd;
+ //}
+ }
+ function _copy(source,target){
+ for(var n in source){target[n] = source[n];}
+ }
+ function parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'
+ var next= source.charAt(start+2);
+ switch(next){
+ case '-':
+ if(source.charAt(start + 3) === '-'){
+ var end = source.indexOf('-->',start+4);
+ //append comment source.substring(4,end)//<!--
+ if(end>start){
+ domBuilder.comment(source,start+4,end-start-4);
+ return end+3;
+ }else{
+ errorHandler.error("Unclosed comment");
+ return -1;
+ }
+ }else{
+ //error
+ return -1;
+ }
+ default:
+ if(source.substr(start+3,6) == 'CDATA['){
+ var end = source.indexOf(']]>',start+9);
+ domBuilder.startCDATA();
+ domBuilder.characters(source,start+9,end-start-9);
+ domBuilder.endCDATA();
+ return end+3;
+ }
+ //<!DOCTYPE
+ //startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
+ var matchs = split(source,start);
+ var len = matchs.length;
+ if(len>1 && /!doctype/i.test(matchs[0][0])){
+ var name = matchs[1][0];
+ var pubid = len>3 && /^public$/i.test(matchs[2][0]) && matchs[3][0];
+ var sysid = len>4 && matchs[4][0];
+ var lastMatch = matchs[len-1];
+ domBuilder.startDTD(name,pubid && pubid.replace(/^(['"])(.*?)\1$/,'$2'),
+ sysid && sysid.replace(/^(['"])(.*?)\1$/,'$2'));
+ domBuilder.endDTD();
+
+ return lastMatch.index+lastMatch[0].length
+ }
+ }
+ return -1;
+ }
+
+
+
+ function parseInstruction(source,start,domBuilder){
+ var end = source.indexOf('?>',start);
+ if(end){
+ var match = source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
+ if(match){
+ var len = match[0].length;
+ domBuilder.processingInstruction(match[1], match[2]) ;
+ return end+2;
+ }else{//error
+ return -1;
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * @param source
+ */
+ function ElementAttributes(source){
+
+ }
+ ElementAttributes.prototype = {
+ setTagName:function(tagName){
+ if(!tagNamePattern.test(tagName)){
+ throw new Error('invalid tagName:'+tagName)
+ }
+ this.tagName = tagName;
+ },
+ add:function(qName,value,offset){
+ if(!tagNamePattern.test(qName)){
+ throw new Error('invalid attribute:'+qName)
+ }
+ this[this.length++] = {qName:qName,value:value,offset:offset};
+ },
+ length:0,
+ getLocalName:function(i){return this[i].localName},
+ getLocator:function(i){return this[i].locator},
+ getQName:function(i){return this[i].qName},
+ getURI:function(i){return this[i].uri},
+ getValue:function(i){return this[i].value}
+ // ,getIndex:function(uri, localName)){
+ // if(localName){
+ //
+ // }else{
+ // var qName = uri
+ // }
+ // },
+ // getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},
+ // getType:function(uri,localName){}
+ // getType:function(i){},
+ };
+
+
+
+
+ function _set_proto_(thiz,parent){
+ thiz.__proto__ = parent;
+ return thiz;
+ }
+ if(!(_set_proto_({},_set_proto_.prototype) instanceof _set_proto_)){
+ _set_proto_ = function(thiz,parent){
+ function p(){} p.prototype = parent;
+ p = new p();
+ for(parent in thiz){
+ p[parent] = thiz[parent];
+ }
+ return p;
+ };
+ }
+
+ function split(source,start){
+ var match;
+ var buf = [];
+ var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
+ reg.lastIndex = start;
+ reg.exec(source);//skip <
+ while(match = reg.exec(source)){
+ buf.push(match);
+ if(match[1])return buf;
+ }
+ }
+
+ var XMLReader_1 = XMLReader;
+
+ var sax = {
+ XMLReader: XMLReader_1
+ };
+
+ var sax$1 = /*#__PURE__*/Object.freeze({
+ default: sax,
+ __moduleExports: sax,
+ XMLReader: XMLReader_1
+ });
+
+ /*
+ * DOM Level 2
+ * Object DOMException
+ * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
+ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ */
+
+ function copy$1(src,dest){
+ for(var p in src){
+ dest[p] = src[p];
+ }
+ }
+ /**
+ ^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));?
+ ^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));?
+ */
+ function _extends(Class,Super){
+ var pt = Class.prototype;
+ if(Object.create){
+ var ppt = Object.create(Super.prototype);
+ pt.__proto__ = ppt;
+ }
+ if(!(pt instanceof Super)){
+ function t(){} t.prototype = Super.prototype;
+ t = new t();
+ copy$1(pt,t);
+ Class.prototype = pt = t;
+ }
+ if(pt.constructor != Class){
+ if(typeof Class != 'function'){
+ console.error("unknow Class:"+Class);
+ }
+ pt.constructor = Class;
+ }
+ }
+ var htmlns = 'http://www.w3.org/1999/xhtml' ;
+ // Node Types
+ var NodeType = {};
+ var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;
+ var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;
+ var TEXT_NODE = NodeType.TEXT_NODE = 3;
+ var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;
+ var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;
+ var ENTITY_NODE = NodeType.ENTITY_NODE = 6;
+ var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
+ var COMMENT_NODE = NodeType.COMMENT_NODE = 8;
+ var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;
+ var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;
+ var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;
+ var NOTATION_NODE = NodeType.NOTATION_NODE = 12;
+
+ // ExceptionCode
+ var ExceptionCode = {};
+ var ExceptionMessage = {};
+ var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]="Index size error"),1);
+ var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]="DOMString size error"),2);
+ var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]="Hierarchy request error"),3);
+ var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]="Wrong document"),4);
+ var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]="Invalid character"),5);
+ var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]="No data allowed"),6);
+ var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]="No modification allowed"),7);
+ var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]="Not found"),8);
+ var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]="Not supported"),9);
+ var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]="Attribute in use"),10);
+ //level2
+ var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = ((ExceptionMessage[11]="Invalid state"),11);
+ var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = ((ExceptionMessage[12]="Syntax error"),12);
+ var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = ((ExceptionMessage[13]="Invalid modification"),13);
+ var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = ((ExceptionMessage[14]="Invalid namespace"),14);
+ var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = ((ExceptionMessage[15]="Invalid access"),15);
+
+
+ function DOMException(code, message) {
+ if(message instanceof Error){
+ var error = message;
+ }else{
+ error = this;
+ Error.call(this, ExceptionMessage[code]);
+ this.message = ExceptionMessage[code];
+ if(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);
+ }
+ error.code = code;
+ if(message) this.message = this.message + ": " + message;
+ return error;
+ }DOMException.prototype = Error.prototype;
+ copy$1(ExceptionCode,DOMException);
+ /**
+ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177
+ * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.
+ * The items in the NodeList are accessible via an integral index, starting from 0.
+ */
+ function NodeList() {
+ }NodeList.prototype = {
+ /**
+ * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
+ * @standard level1
+ */
+ length:0,
+ /**
+ * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.
+ * @standard level1
+ * @param index unsigned long
+ * Index into the collection.
+ * @return Node
+ * The node at the indexth position in the NodeList, or null if that is not a valid index.
+ */
+ item: function(index) {
+ return this[index] || null;
+ },
+ toString:function(isHTML,nodeFilter){
+ for(var buf = [], i = 0;i<this.length;i++){
+ serializeToString(this[i],buf,isHTML,nodeFilter);
+ }
+ return buf.join('');
+ }
+ };
+ function LiveNodeList(node,refresh){
+ this._node = node;
+ this._refresh = refresh;
+ _updateLiveList(this);
+ }
+ function _updateLiveList(list){
+ var inc = list._node._inc || list._node.ownerDocument._inc;
+ if(list._inc != inc){
+ var ls = list._refresh(list._node);
+ //console.log(ls.length)
+ __set__(list,'length',ls.length);
+ copy$1(ls,list);
+ list._inc = inc;
+ }
+ }
+ LiveNodeList.prototype.item = function(i){
+ _updateLiveList(this);
+ return this[i];
+ };
+
+ _extends(LiveNodeList,NodeList);
+ /**
+ *
+ * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.
+ * NamedNodeMap objects in the DOM are live.
+ * used for attributes or DocumentType entities
+ */
+ function NamedNodeMap() {
+ }
+ function _findNodeIndex(list,node){
+ var i = list.length;
+ while(i--){
+ if(list[i] === node){return i}
+ }
+ }
+
+ function _addNamedNode(el,list,newAttr,oldAttr){
+ if(oldAttr){
+ list[_findNodeIndex(list,oldAttr)] = newAttr;
+ }else{
+ list[list.length++] = newAttr;
+ }
+ if(el){
+ newAttr.ownerElement = el;
+ var doc = el.ownerDocument;
+ if(doc){
+ oldAttr && _onRemoveAttribute(doc,el,oldAttr);
+ _onAddAttribute(doc,el,newAttr);
+ }
+ }
+ }
+ function _removeNamedNode(el,list,attr){
+ //console.log('remove attr:'+attr)
+ var i = _findNodeIndex(list,attr);
+ if(i>=0){
+ var lastIndex = list.length-1;
+ while(i<lastIndex){
+ list[i] = list[++i];
+ }
+ list.length = lastIndex;
+ if(el){
+ var doc = el.ownerDocument;
+ if(doc){
+ _onRemoveAttribute(doc,el,attr);
+ attr.ownerElement = null;
+ }
+ }
+ }else{
+ throw DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))
+ }
+ }
+ NamedNodeMap.prototype = {
+ length:0,
+ item:NodeList.prototype.item,
+ getNamedItem: function(key) {
+ // if(key.indexOf(':')>0 || key == 'xmlns'){
+ // return null;
+ // }
+ //console.log()
+ var i = this.length;
+ while(i--){
+ var attr = this[i];
+ //console.log(attr.nodeName,key)
+ if(attr.nodeName == key){
+ return attr;
+ }
+ }
+ },
+ setNamedItem: function(attr) {
+ var el = attr.ownerElement;
+ if(el && el!=this._ownerElement){
+ throw new DOMException(INUSE_ATTRIBUTE_ERR);
+ }
+ var oldAttr = this.getNamedItem(attr.nodeName);
+ _addNamedNode(this._ownerElement,this,attr,oldAttr);
+ return oldAttr;
+ },
+ /* returns Node */
+ setNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR
+ var el = attr.ownerElement, oldAttr;
+ if(el && el!=this._ownerElement){
+ throw new DOMException(INUSE_ATTRIBUTE_ERR);
+ }
+ oldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);
+ _addNamedNode(this._ownerElement,this,attr,oldAttr);
+ return oldAttr;
+ },
+
+ /* returns Node */
+ removeNamedItem: function(key) {
+ var attr = this.getNamedItem(key);
+ _removeNamedNode(this._ownerElement,this,attr);
+ return attr;
+
+
+ },// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR
+
+ //for level2
+ removeNamedItemNS:function(namespaceURI,localName){
+ var attr = this.getNamedItemNS(namespaceURI,localName);
+ _removeNamedNode(this._ownerElement,this,attr);
+ return attr;
+ },
+ getNamedItemNS: function(namespaceURI, localName) {
+ var i = this.length;
+ while(i--){
+ var node = this[i];
+ if(node.localName == localName && node.namespaceURI == namespaceURI){
+ return node;
+ }
+ }
+ return null;
+ }
+ };
+ /**
+ * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490
+ */
+ function DOMImplementation(/* Object */ features) {
+ this._features = {};
+ if (features) {
+ for (var feature in features) {
+ this._features = features[feature];
+ }
+ }
+ }
+ DOMImplementation.prototype = {
+ hasFeature: function(/* string */ feature, /* string */ version) {
+ var versions = this._features[feature.toLowerCase()];
+ if (versions && (!version || version in versions)) {
+ return true;
+ } else {
+ return false;
+ }
+ },
+ // Introduced in DOM Level 2:
+ createDocument:function(namespaceURI, qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR
+ var doc = new Document();
+ doc.implementation = this;
+ doc.childNodes = new NodeList();
+ doc.doctype = doctype;
+ if(doctype){
+ doc.appendChild(doctype);
+ }
+ if(qualifiedName){
+ var root = doc.createElementNS(namespaceURI,qualifiedName);
+ doc.appendChild(root);
+ }
+ return doc;
+ },
+ // Introduced in DOM Level 2:
+ createDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR
+ var node = new DocumentType();
+ node.name = qualifiedName;
+ node.nodeName = qualifiedName;
+ node.publicId = publicId;
+ node.systemId = systemId;
+ // Introduced in DOM Level 2:
+ //readonly attribute DOMString internalSubset;
+
+ //TODO:..
+ // readonly attribute NamedNodeMap entities;
+ // readonly attribute NamedNodeMap notations;
+ return node;
+ }
+ };
+
+
+ /**
+ * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247
+ */
+
+ function Node$2() {
+ }
+ Node$2.prototype = {
+ firstChild : null,
+ lastChild : null,
+ previousSibling : null,
+ nextSibling : null,
+ attributes : null,
+ parentNode : null,
+ childNodes : null,
+ ownerDocument : null,
+ nodeValue : null,
+ namespaceURI : null,
+ prefix : null,
+ localName : null,
+ // Modified in DOM Level 2:
+ insertBefore:function(newChild, refChild){//raises
+ return _insertBefore(this,newChild,refChild);
+ },
+ replaceChild:function(newChild, oldChild){//raises
+ this.insertBefore(newChild,oldChild);
+ if(oldChild){
+ this.removeChild(oldChild);
+ }
+ },
+ removeChild:function(oldChild){
+ return _removeChild(this,oldChild);
+ },
+ appendChild:function(newChild){
+ return this.insertBefore(newChild,null);
+ },
+ hasChildNodes:function(){
+ return this.firstChild != null;
+ },
+ cloneNode:function(deep){
+ return cloneNode(this.ownerDocument||this,this,deep);
+ },
+ // Modified in DOM Level 2:
+ normalize:function(){
+ var child = this.firstChild;
+ while(child){
+ var next = child.nextSibling;
+ if(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){
+ this.removeChild(next);
+ child.appendData(next.data);
+ }else{
+ child.normalize();
+ child = next;
+ }
+ }
+ },
+ // Introduced in DOM Level 2:
+ isSupported:function(feature, version){
+ return this.ownerDocument.implementation.hasFeature(feature,version);
+ },
+ // Introduced in DOM Level 2:
+ hasAttributes:function(){
+ return this.attributes.length>0;
+ },
+ lookupPrefix:function(namespaceURI){
+ var el = this;
+ while(el){
+ var map = el._nsMap;
+ //console.dir(map)
+ if(map){
+ for(var n in map){
+ if(map[n] == namespaceURI){
+ return n;
+ }
+ }
+ }
+ el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;
+ }
+ return null;
+ },
+ // Introduced in DOM Level 3:
+ lookupNamespaceURI:function(prefix){
+ var el = this;
+ while(el){
+ var map = el._nsMap;
+ //console.dir(map)
+ if(map){
+ if(prefix in map){
+ return map[prefix] ;
+ }
+ }
+ el = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;
+ }
+ return null;
+ },
+ // Introduced in DOM Level 3:
+ isDefaultNamespace:function(namespaceURI){
+ var prefix = this.lookupPrefix(namespaceURI);
+ return prefix == null;
+ }
+ };
+
+
+ function _xmlEncoder(c){
+ return c == '<' && '<' ||
+ c == '>' && '>' ||
+ c == '&' && '&' ||
+ c == '"' && '"' ||
+ '&#'+c.charCodeAt()+';'
+ }
+
+
+ copy$1(NodeType,Node$2);
+ copy$1(NodeType,Node$2.prototype);
+
+ /**
+ * @param callback return true for continue,false for break
+ * @return boolean true: break visit;
+ */
+ function _visitNode(node,callback){
+ if(callback(node)){
+ return true;
+ }
+ if(node = node.firstChild){
+ do{
+ if(_visitNode(node,callback)){return true}
+ }while(node=node.nextSibling)
+ }
+ }
+
+
+
+ function Document(){
+ }
+ function _onAddAttribute(doc,el,newAttr){
+ doc && doc._inc++;
+ var ns = newAttr.namespaceURI ;
+ if(ns == 'http://www.w3.org/2000/xmlns/'){
+ //update namespace
+ el._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value;
+ }
+ }
+ function _onRemoveAttribute(doc,el,newAttr,remove){
+ doc && doc._inc++;
+ var ns = newAttr.namespaceURI ;
+ if(ns == 'http://www.w3.org/2000/xmlns/'){
+ //update namespace
+ delete el._nsMap[newAttr.prefix?newAttr.localName:''];
+ }
+ }
+ function _onUpdateChild(doc,el,newChild){
+ if(doc && doc._inc){
+ doc._inc++;
+ //update childNodes
+ var cs = el.childNodes;
+ if(newChild){
+ cs[cs.length++] = newChild;
+ }else{
+ //console.log(1)
+ var child = el.firstChild;
+ var i = 0;
+ while(child){
+ cs[i++] = child;
+ child =child.nextSibling;
+ }
+ cs.length = i;
+ }
+ }
+ }
+
+ /**
+ * attributes;
+ * children;
+ *
+ * writeable properties:
+ * nodeValue,Attr:value,CharacterData:data
+ * prefix
+ */
+ function _removeChild(parentNode,child){
+ var previous = child.previousSibling;
+ var next = child.nextSibling;
+ if(previous){
+ previous.nextSibling = next;
+ }else{
+ parentNode.firstChild = next;
+ }
+ if(next){
+ next.previousSibling = previous;
+ }else{
+ parentNode.lastChild = previous;
+ }
+ _onUpdateChild(parentNode.ownerDocument,parentNode);
+ return child;
+ }
+ /**
+ * preformance key(refChild == null)
+ */
+ function _insertBefore(parentNode,newChild,nextChild){
+ var cp = newChild.parentNode;
+ if(cp){
+ cp.removeChild(newChild);//remove and update
+ }
+ if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
+ var newFirst = newChild.firstChild;
+ if (newFirst == null) {
+ return newChild;
+ }
+ var newLast = newChild.lastChild;
+ }else{
+ newFirst = newLast = newChild;
+ }
+ var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
+
+ newFirst.previousSibling = pre;
+ newLast.nextSibling = nextChild;
+
+
+ if(pre){
+ pre.nextSibling = newFirst;
+ }else{
+ parentNode.firstChild = newFirst;
+ }
+ if(nextChild == null){
+ parentNode.lastChild = newLast;
+ }else{
+ nextChild.previousSibling = newLast;
+ }
+ do{
+ newFirst.parentNode = parentNode;
+ }while(newFirst !== newLast && (newFirst= newFirst.nextSibling))
+ _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);
+ //console.log(parentNode.lastChild.nextSibling == null)
+ if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
+ newChild.firstChild = newChild.lastChild = null;
+ }
+ return newChild;
+ }
+ function _appendSingleChild(parentNode,newChild){
+ var cp = newChild.parentNode;
+ if(cp){
+ var pre = parentNode.lastChild;
+ cp.removeChild(newChild);//remove and update
+ var pre = parentNode.lastChild;
+ }
+ var pre = parentNode.lastChild;
+ newChild.parentNode = parentNode;
+ newChild.previousSibling = pre;
+ newChild.nextSibling = null;
+ if(pre){
+ pre.nextSibling = newChild;
+ }else{
+ parentNode.firstChild = newChild;
+ }
+ parentNode.lastChild = newChild;
+ _onUpdateChild(parentNode.ownerDocument,parentNode,newChild);
+ return newChild;
+ //console.log("__aa",parentNode.lastChild.nextSibling == null)
+ }
+ Document.prototype = {
+ //implementation : null,
+ nodeName : '#document',
+ nodeType : DOCUMENT_NODE,
+ doctype : null,
+ documentElement : null,
+ _inc : 1,
+
+ insertBefore : function(newChild, refChild){//raises
+ if(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){
+ var child = newChild.firstChild;
+ while(child){
+ var next = child.nextSibling;
+ this.insertBefore(child,refChild);
+ child = next;
+ }
+ return newChild;
+ }
+ if(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){
+ this.documentElement = newChild;
+ }
+
+ return _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;
+ },
+ removeChild : function(oldChild){
+ if(this.documentElement == oldChild){
+ this.documentElement = null;
+ }
+ return _removeChild(this,oldChild);
+ },
+ // Introduced in DOM Level 2:
+ importNode : function(importedNode,deep){
+ return importNode(this,importedNode,deep);
+ },
+ // Introduced in DOM Level 2:
+ getElementById : function(id){
+ var rtv = null;
+ _visitNode(this.documentElement,function(node){
+ if(node.nodeType == ELEMENT_NODE){
+ if(node.getAttribute('id') == id){
+ rtv = node;
+ return true;
+ }
+ }
+ });
+ return rtv;
+ },
+
+ //document factory method:
+ createElement : function(tagName){
+ var node = new Element();
+ node.ownerDocument = this;
+ node.nodeName = tagName;
+ node.tagName = tagName;
+ node.childNodes = new NodeList();
+ var attrs = node.attributes = new NamedNodeMap();
+ attrs._ownerElement = node;
+ return node;
+ },
+ createDocumentFragment : function(){
+ var node = new DocumentFragment();
+ node.ownerDocument = this;
+ node.childNodes = new NodeList();
+ return node;
+ },
+ createTextNode : function(data){
+ var node = new Text();
+ node.ownerDocument = this;
+ node.appendData(data);
+ return node;
+ },
+ createComment : function(data){
+ var node = new Comment();
+ node.ownerDocument = this;
+ node.appendData(data);
+ return node;
+ },
+ createCDATASection : function(data){
+ var node = new CDATASection();
+ node.ownerDocument = this;
+ node.appendData(data);
+ return node;
+ },
+ createProcessingInstruction : function(target,data){
+ var node = new ProcessingInstruction();
+ node.ownerDocument = this;
+ node.tagName = node.target = target;
+ node.nodeValue= node.data = data;
+ return node;
+ },
+ createAttribute : function(name){
+ var node = new Attr();
+ node.ownerDocument = this;
+ node.name = name;
+ node.nodeName = name;
+ node.localName = name;
+ node.specified = true;
+ return node;
+ },
+ createEntityReference : function(name){
+ var node = new EntityReference();
+ node.ownerDocument = this;
+ node.nodeName = name;
+ return node;
+ },
+ // Introduced in DOM Level 2:
+ createElementNS : function(namespaceURI,qualifiedName){
+ var node = new Element();
+ var pl = qualifiedName.split(':');
+ var attrs = node.attributes = new NamedNodeMap();
+ node.childNodes = new NodeList();
+ node.ownerDocument = this;
+ node.nodeName = qualifiedName;
+ node.tagName = qualifiedName;
+ node.namespaceURI = namespaceURI;
+ if(pl.length == 2){
+ node.prefix = pl[0];
+ node.localName = pl[1];
+ }else{
+ //el.prefix = null;
+ node.localName = qualifiedName;
+ }
+ attrs._ownerElement = node;
+ return node;
+ },
+ // Introduced in DOM Level 2:
+ createAttributeNS : function(namespaceURI,qualifiedName){
+ var node = new Attr();
+ var pl = qualifiedName.split(':');
+ node.ownerDocument = this;
+ node.nodeName = qualifiedName;
+ node.name = qualifiedName;
+ node.namespaceURI = namespaceURI;
+ node.specified = true;
+ if(pl.length == 2){
+ node.prefix = pl[0];
+ node.localName = pl[1];
+ }else{
+ //el.prefix = null;
+ node.localName = qualifiedName;
+ }
+ return node;
+ }
+ };
+ _extends(Document,Node$2);
+
+
+ function Element() {
+ this._nsMap = {};
+ }Element.prototype = {
+ nodeType : ELEMENT_NODE,
+ hasAttribute : function(name){
+ return this.getAttributeNode(name)!=null;
+ },
+ getAttribute : function(name){
+ var attr = this.getAttributeNode(name);
+ return attr && attr.value || '';
+ },
+ getAttributeNode : function(name){
+ return this.attributes.getNamedItem(name);
+ },
+ setAttribute : function(name, value){
+ var attr = this.ownerDocument.createAttribute(name);
+ attr.value = attr.nodeValue = "" + value;
+ this.setAttributeNode(attr);
+ },
+ removeAttribute : function(name){
+ var attr = this.getAttributeNode(name);
+ attr && this.removeAttributeNode(attr);
+ },
+
+ //four real opeartion method
+ appendChild:function(newChild){
+ if(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){
+ return this.insertBefore(newChild,null);
+ }else{
+ return _appendSingleChild(this,newChild);
+ }
+ },
+ setAttributeNode : function(newAttr){
+ return this.attributes.setNamedItem(newAttr);
+ },
+ setAttributeNodeNS : function(newAttr){
+ return this.attributes.setNamedItemNS(newAttr);
+ },
+ removeAttributeNode : function(oldAttr){
+ //console.log(this == oldAttr.ownerElement)
+ return this.attributes.removeNamedItem(oldAttr.nodeName);
+ },
+ //get real attribute name,and remove it by removeAttributeNode
+ removeAttributeNS : function(namespaceURI, localName){
+ var old = this.getAttributeNodeNS(namespaceURI, localName);
+ old && this.removeAttributeNode(old);
+ },
+
+ hasAttributeNS : function(namespaceURI, localName){
+ return this.getAttributeNodeNS(namespaceURI, localName)!=null;
+ },
+ getAttributeNS : function(namespaceURI, localName){
+ var attr = this.getAttributeNodeNS(namespaceURI, localName);
+ return attr && attr.value || '';
+ },
+ setAttributeNS : function(namespaceURI, qualifiedName, value){
+ var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
+ attr.value = attr.nodeValue = "" + value;
+ this.setAttributeNode(attr);
+ },
+ getAttributeNodeNS : function(namespaceURI, localName){
+ return this.attributes.getNamedItemNS(namespaceURI, localName);
+ },
+
+ getElementsByTagName : function(tagName){
+ return new LiveNodeList(this,function(base){
+ var ls = [];
+ _visitNode(base,function(node){
+ if(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){
+ ls.push(node);
+ }
+ });
+ return ls;
+ });
+ },
+ getElementsByTagNameNS : function(namespaceURI, localName){
+ return new LiveNodeList(this,function(base){
+ var ls = [];
+ _visitNode(base,function(node){
+ if(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){
+ ls.push(node);
+ }
+ });
+ return ls;
+
+ });
+ }
+ };
+ Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
+ Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;
+
+
+ _extends(Element,Node$2);
+ function Attr() {
+ }Attr.prototype.nodeType = ATTRIBUTE_NODE;
+ _extends(Attr,Node$2);
+
+
+ function CharacterData() {
+ }CharacterData.prototype = {
+ data : '',
+ substringData : function(offset, count) {
+ return this.data.substring(offset, offset+count);
+ },
+ appendData: function(text) {
+ text = this.data+text;
+ this.nodeValue = this.data = text;
+ this.length = text.length;
+ },
+ insertData: function(offset,text) {
+ this.replaceData(offset,0,text);
+
+ },
+ appendChild:function(newChild){
+ throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])
+ },
+ deleteData: function(offset, count) {
+ this.replaceData(offset,count,"");
+ },
+ replaceData: function(offset, count, text) {
+ var start = this.data.substring(0,offset);
+ var end = this.data.substring(offset+count);
+ text = start + text + end;
+ this.nodeValue = this.data = text;
+ this.length = text.length;
+ }
+ };
+ _extends(CharacterData,Node$2);
+ function Text() {
+ }Text.prototype = {
+ nodeName : "#text",
+ nodeType : TEXT_NODE,
+ splitText : function(offset) {
+ var text = this.data;
+ var newText = text.substring(offset);
+ text = text.substring(0, offset);
+ this.data = this.nodeValue = text;
+ this.length = text.length;
+ var newNode = this.ownerDocument.createTextNode(newText);
+ if(this.parentNode){
+ this.parentNode.insertBefore(newNode, this.nextSibling);
+ }
+ return newNode;
+ }
+ };
+ _extends(Text,CharacterData);
+ function Comment() {
+ }Comment.prototype = {
+ nodeName : "#comment",
+ nodeType : COMMENT_NODE
+ };
+ _extends(Comment,CharacterData);
+
+ function CDATASection() {
+ }CDATASection.prototype = {
+ nodeName : "#cdata-section",
+ nodeType : CDATA_SECTION_NODE
+ };
+ _extends(CDATASection,CharacterData);
+
+
+ function DocumentType() {
+ }DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
+ _extends(DocumentType,Node$2);
+
+ function Notation() {
+ }Notation.prototype.nodeType = NOTATION_NODE;
+ _extends(Notation,Node$2);
+
+ function Entity() {
+ }Entity.prototype.nodeType = ENTITY_NODE;
+ _extends(Entity,Node$2);
+
+ function EntityReference() {
+ }EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;
+ _extends(EntityReference,Node$2);
+
+ function DocumentFragment() {
+ }DocumentFragment.prototype.nodeName = "#document-fragment";
+ DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE;
+ _extends(DocumentFragment,Node$2);
+
+
+ function ProcessingInstruction() {
+ }
+ ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
+ _extends(ProcessingInstruction,Node$2);
+ function XMLSerializer$1(){}
+ XMLSerializer$1.prototype.serializeToString = function(node,isHtml,nodeFilter){
+ return nodeSerializeToString.call(node,isHtml,nodeFilter);
+ };
+ Node$2.prototype.toString = nodeSerializeToString;
+ function nodeSerializeToString(isHtml,nodeFilter){
+ var buf = [];
+ var refNode = this.nodeType == 9?this.documentElement:this;
+ var prefix = refNode.prefix;
+ var uri = refNode.namespaceURI;
+
+ if(uri && prefix == null){
+ //console.log(prefix)
+ var prefix = refNode.lookupPrefix(uri);
+ if(prefix == null){
+ //isHTML = true;
+ var visibleNamespaces=[
+ {namespace:uri,prefix:null}
+ //{namespace:uri,prefix:''}
+ ];
+ }
+ }
+ serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);
+ //console.log('###',this.nodeType,uri,prefix,buf.join(''))
+ return buf.join('');
+ }
+ function needNamespaceDefine(node,isHTML, visibleNamespaces) {
+ var prefix = node.prefix||'';
+ var uri = node.namespaceURI;
+ if (!prefix && !uri){
+ return false;
+ }
+ if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace"
+ || uri == 'http://www.w3.org/2000/xmlns/'){
+ return false;
+ }
+
+ var i = visibleNamespaces.length;
+ //console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)
+ while (i--) {
+ var ns = visibleNamespaces[i];
+ // get namespace prefix
+ //console.log(node.nodeType,node.tagName,ns.prefix,prefix)
+ if (ns.prefix == prefix){
+ return ns.namespace != uri;
+ }
+ }
+ //console.log(isHTML,uri,prefix=='')
+ //if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){
+ // return false;
+ //}
+ //node.flag = '11111'
+ //console.error(3,true,node.flag,node.prefix,node.namespaceURI)
+ return true;
+ }
+ function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){
+ if(nodeFilter){
+ node = nodeFilter(node);
+ if(node){
+ if(typeof node == 'string'){
+ buf.push(node);
+ return;
+ }
+ }else{
+ return;
+ }
+ //buf.sort.apply(attrs, attributeSorter);
+ }
+ switch(node.nodeType){
+ case ELEMENT_NODE:
+ if (!visibleNamespaces) visibleNamespaces = [];
+ var startVisibleNamespaces = visibleNamespaces.length;
+ var attrs = node.attributes;
+ var len = attrs.length;
+ var child = node.firstChild;
+ var nodeName = node.tagName;
+
+ isHTML = (htmlns === node.namespaceURI) ||isHTML;
+ buf.push('<',nodeName);
+
+
+
+ for(var i=0;i<len;i++){
+ // add namespaces for attributes
+ var attr = attrs.item(i);
+ if (attr.prefix == 'xmlns') {
+ visibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });
+ }else if(attr.nodeName == 'xmlns'){
+ visibleNamespaces.push({ prefix: '', namespace: attr.value });
+ }
+ }
+ for(var i=0;i<len;i++){
+ var attr = attrs.item(i);
+ if (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {
+ var prefix = attr.prefix||'';
+ var uri = attr.namespaceURI;
+ var ns = prefix ? ' xmlns:' + prefix : " xmlns";
+ buf.push(ns, '="' , uri , '"');
+ visibleNamespaces.push({ prefix: prefix, namespace:uri });
+ }
+ serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);
+ }
+ // add namespace for current node
+ if (needNamespaceDefine(node,isHTML, visibleNamespaces)) {
+ var prefix = node.prefix||'';
+ var uri = node.namespaceURI;
+ var ns = prefix ? ' xmlns:' + prefix : " xmlns";
+ buf.push(ns, '="' , uri , '"');
+ visibleNamespaces.push({ prefix: prefix, namespace:uri });
+ }
+
+ if(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){
+ buf.push('>');
+ //if is cdata child node
+ if(isHTML && /^script$/i.test(nodeName)){
+ while(child){
+ if(child.data){
+ buf.push(child.data);
+ }else{
+ serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+ }
+ child = child.nextSibling;
+ }
+ }else
+ {
+ while(child){
+ serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+ child = child.nextSibling;
+ }
+ }
+ buf.push('</',nodeName,'>');
+ }else{
+ buf.push('/>');
+ }
+ // remove added visible namespaces
+ //visibleNamespaces.length = startVisibleNamespaces;
+ return;
+ case DOCUMENT_NODE:
+ case DOCUMENT_FRAGMENT_NODE:
+ var child = node.firstChild;
+ while(child){
+ serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);
+ child = child.nextSibling;
+ }
+ return;
+ case ATTRIBUTE_NODE:
+ return buf.push(' ',node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"');
+ case TEXT_NODE:
+ return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));
+ case CDATA_SECTION_NODE:
+ return buf.push( '<![CDATA[',node.data,']]>');
+ case COMMENT_NODE:
+ return buf.push( "<!--",node.data,"-->");
+ case DOCUMENT_TYPE_NODE:
+ var pubid = node.publicId;
+ var sysid = node.systemId;
+ buf.push('<!DOCTYPE ',node.name);
+ if(pubid){
+ buf.push(' PUBLIC "',pubid);
+ if (sysid && sysid!='.') {
+ buf.push( '" "',sysid);
+ }
+ buf.push('">');
+ }else if(sysid && sysid!='.'){
+ buf.push(' SYSTEM "',sysid,'">');
+ }else{
+ var sub = node.internalSubset;
+ if(sub){
+ buf.push(" [",sub,"]");
+ }
+ buf.push(">");
+ }
+ return;
+ case PROCESSING_INSTRUCTION_NODE:
+ return buf.push( "<?",node.target," ",node.data,"?>");
+ case ENTITY_REFERENCE_NODE:
+ return buf.push( '&',node.nodeName,';');
+ //case ENTITY_NODE:
+ //case NOTATION_NODE:
+ default:
+ buf.push('??',node.nodeName);
+ }
+ }
+ function importNode(doc,node,deep){
+ var node2;
+ switch (node.nodeType) {
+ case ELEMENT_NODE:
+ node2 = node.cloneNode(false);
+ node2.ownerDocument = doc;
+ //var attrs = node2.attributes;
+ //var len = attrs.length;
+ //for(var i=0;i<len;i++){
+ //node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));
+ //}
+ case DOCUMENT_FRAGMENT_NODE:
+ break;
+ case ATTRIBUTE_NODE:
+ deep = true;
+ break;
+ //case ENTITY_REFERENCE_NODE:
+ //case PROCESSING_INSTRUCTION_NODE:
+ ////case TEXT_NODE:
+ //case CDATA_SECTION_NODE:
+ //case COMMENT_NODE:
+ // deep = false;
+ // break;
+ //case DOCUMENT_NODE:
+ //case DOCUMENT_TYPE_NODE:
+ //cannot be imported.
+ //case ENTITY_NODE:
+ //case NOTATION_NODE:
+ //can not hit in level3
+ //default:throw e;
+ }
+ if(!node2){
+ node2 = node.cloneNode(false);//false
+ }
+ node2.ownerDocument = doc;
+ node2.parentNode = null;
+ if(deep){
+ var child = node.firstChild;
+ while(child){
+ node2.appendChild(importNode(doc,child,deep));
+ child = child.nextSibling;
+ }
+ }
+ return node2;
+ }
+ //
+ //var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,
+ // attributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};
+ function cloneNode(doc,node,deep){
+ var node2 = new node.constructor();
+ for(var n in node){
+ var v = node[n];
+ if(typeof v != 'object' ){
+ if(v != node2[n]){
+ node2[n] = v;
+ }
+ }
+ }
+ if(node.childNodes){
+ node2.childNodes = new NodeList();
+ }
+ node2.ownerDocument = doc;
+ switch (node2.nodeType) {
+ case ELEMENT_NODE:
+ var attrs = node.attributes;
+ var attrs2 = node2.attributes = new NamedNodeMap();
+ var len = attrs.length;
+ attrs2._ownerElement = node2;
+ for(var i=0;i<len;i++){
+ node2.setAttributeNode(cloneNode(doc,attrs.item(i),true));
+ }
+ break;
+ case ATTRIBUTE_NODE:
+ deep = true;
+ }
+ if(deep){
+ var child = node.firstChild;
+ while(child){
+ node2.appendChild(cloneNode(doc,child,deep));
+ child = child.nextSibling;
+ }
+ }
+ return node2;
+ }
+
+ function __set__(object,key,value){
+ object[key] = value;
+ }
+ //do dynamic
+ try{
+ if(Object.defineProperty){
+ Object.defineProperty(LiveNodeList.prototype,'length',{
+ get:function(){
+ _updateLiveList(this);
+ return this.$$length;
+ }
+ });
+ Object.defineProperty(Node$2.prototype,'textContent',{
+ get:function(){
+ return getTextContent(this);
+ },
+ set:function(data){
+ switch(this.nodeType){
+ case ELEMENT_NODE:
+ case DOCUMENT_FRAGMENT_NODE:
+ while(this.firstChild){
+ this.removeChild(this.firstChild);
+ }
+ if(data || String(data)){
+ this.appendChild(this.ownerDocument.createTextNode(data));
+ }
+ break;
+ default:
+ //TODO:
+ this.data = data;
+ this.value = data;
+ this.nodeValue = data;
+ }
+ }
+ });
+
+ function getTextContent(node){
+ switch(node.nodeType){
+ case ELEMENT_NODE:
+ case DOCUMENT_FRAGMENT_NODE:
+ var buf = [];
+ node = node.firstChild;
+ while(node){
+ if(node.nodeType!==7 && node.nodeType !==8){
+ buf.push(getTextContent(node));
+ }
+ node = node.nextSibling;
+ }
+ return buf.join('');
+ default:
+ return node.nodeValue;
+ }
+ }
+ __set__ = function(object,key,value){
+ //console.log(value)
+ object['$$'+key] = value;
+ };
+ }
+ }catch(e){//ie8
+ }
+
+ //if(typeof require == 'function'){
+ var DOMImplementation_1 = DOMImplementation;
+ var XMLSerializer_1 = XMLSerializer$1;
+ //}
+
+ var dom = {
+ DOMImplementation: DOMImplementation_1,
+ XMLSerializer: XMLSerializer_1
+ };
+
+ var dom$1 = /*#__PURE__*/Object.freeze({
+ default: dom,
+ __moduleExports: dom,
+ DOMImplementation: DOMImplementation_1,
+ XMLSerializer: XMLSerializer_1
+ });
+
+ var require$$0$4 = ( sax$1 && sax ) || sax$1;
+
+ var require$$1$3 = ( dom$1 && dom ) || dom$1;
+
+ var domParser = createCommonjsModule(function (module, exports) {
+ function DOMParser(options){
+ this.options = options ||{locator:{}};
+
+ }
+ DOMParser.prototype.parseFromString = function(source,mimeType){
+ var options = this.options;
+ var sax = new XMLReader();
+ var domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler
+ var errorHandler = options.errorHandler;
+ var locator = options.locator;
+ var defaultNSMap = options.xmlns||{};
+ var entityMap = {'lt':'<','gt':'>','amp':'&','quot':'"','apos':"'"};
+ if(locator){
+ domBuilder.setDocumentLocator(locator);
+ }
+
+ sax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);
+ sax.domBuilder = options.domBuilder || domBuilder;
+ if(/\/x?html?$/.test(mimeType)){
+ entityMap.nbsp = '\xa0';
+ entityMap.copy = '\xa9';
+ defaultNSMap['']= 'http://www.w3.org/1999/xhtml';
+ }
+ defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';
+ if(source){
+ sax.parse(source,defaultNSMap,entityMap);
+ }else{
+ sax.errorHandler.error("invalid doc source");
+ }
+ return domBuilder.doc;
+ };
+ function buildErrorHandler(errorImpl,domBuilder,locator){
+ if(!errorImpl){
+ if(domBuilder instanceof DOMHandler){
+ return domBuilder;
+ }
+ errorImpl = domBuilder ;
+ }
+ var errorHandler = {};
+ var isCallback = errorImpl instanceof Function;
+ locator = locator||{};
+ function build(key){
+ var fn = errorImpl[key];
+ if(!fn && isCallback){
+ fn = errorImpl.length == 2?function(msg){errorImpl(key,msg);}:errorImpl;
+ }
+ errorHandler[key] = fn && function(msg){
+ fn('[xmldom '+key+']\t'+msg+_locator(locator));
+ }||function(){};
+ }
+ build('warning');
+ build('error');
+ build('fatalError');
+ return errorHandler;
+ }
+
+ //console.log('#\n\n\n\n\n\n\n####')
+ /**
+ * +ContentHandler+ErrorHandler
+ * +LexicalHandler+EntityResolver2
+ * -DeclHandler-DTDHandler
+ *
+ * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
+ * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
+ */
+ function DOMHandler() {
+ this.cdata = false;
+ }
+ function position(locator,node){
+ node.lineNumber = locator.lineNumber;
+ node.columnNumber = locator.columnNumber;
+ }
+ /**
+ * @see org.xml.sax.ContentHandler#startDocument
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
+ */
+ DOMHandler.prototype = {
+ startDocument : function() {
+ this.doc = new DOMImplementation().createDocument(null, null, null);
+ if (this.locator) {
+ this.doc.documentURI = this.locator.systemId;
+ }
+ },
+ startElement:function(namespaceURI, localName, qName, attrs) {
+ var doc = this.doc;
+ var el = doc.createElementNS(namespaceURI, qName||localName);
+ var len = attrs.length;
+ appendElement(this, el);
+ this.currentElement = el;
+
+ this.locator && position(this.locator,el);
+ for (var i = 0 ; i < len; i++) {
+ var namespaceURI = attrs.getURI(i);
+ var value = attrs.getValue(i);
+ var qName = attrs.getQName(i);
+ var attr = doc.createAttributeNS(namespaceURI, qName);
+ this.locator &&position(attrs.getLocator(i),attr);
+ attr.value = attr.nodeValue = value;
+ el.setAttributeNode(attr);
+ }
+ },
+ endElement:function(namespaceURI, localName, qName) {
+ var current = this.currentElement;
+ var tagName = current.tagName;
+ this.currentElement = current.parentNode;
+ },
+ startPrefixMapping:function(prefix, uri) {
+ },
+ endPrefixMapping:function(prefix) {
+ },
+ processingInstruction:function(target, data) {
+ var ins = this.doc.createProcessingInstruction(target, data);
+ this.locator && position(this.locator,ins);
+ appendElement(this, ins);
+ },
+ ignorableWhitespace:function(ch, start, length) {
+ },
+ characters:function(chars, start, length) {
+ chars = _toString.apply(this,arguments);
+ //console.log(chars)
+ if(chars){
+ if (this.cdata) {
+ var charNode = this.doc.createCDATASection(chars);
+ } else {
+ var charNode = this.doc.createTextNode(chars);
+ }
+ if(this.currentElement){
+ this.currentElement.appendChild(charNode);
+ }else if(/^\s*$/.test(chars)){
+ this.doc.appendChild(charNode);
+ //process xml
+ }
+ this.locator && position(this.locator,charNode);
+ }
+ },
+ skippedEntity:function(name) {
+ },
+ endDocument:function() {
+ this.doc.normalize();
+ },
+ setDocumentLocator:function (locator) {
+ if(this.locator = locator){// && !('lineNumber' in locator)){
+ locator.lineNumber = 0;
+ }
+ },
+ //LexicalHandler
+ comment:function(chars, start, length) {
+ chars = _toString.apply(this,arguments);
+ var comm = this.doc.createComment(chars);
+ this.locator && position(this.locator,comm);
+ appendElement(this, comm);
+ },
+
+ startCDATA:function() {
+ //used in characters() methods
+ this.cdata = true;
+ },
+ endCDATA:function() {
+ this.cdata = false;
+ },
+
+ startDTD:function(name, publicId, systemId) {
+ var impl = this.doc.implementation;
+ if (impl && impl.createDocumentType) {
+ var dt = impl.createDocumentType(name, publicId, systemId);
+ this.locator && position(this.locator,dt);
+ appendElement(this, dt);
+ }
+ },
+ /**
+ * @see org.xml.sax.ErrorHandler
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html
+ */
+ warning:function(error) {
+ console.warn('[xmldom warning]\t'+error,_locator(this.locator));
+ },
+ error:function(error) {
+ console.error('[xmldom error]\t'+error,_locator(this.locator));
+ },
+ fatalError:function(error) {
+ console.error('[xmldom fatalError]\t'+error,_locator(this.locator));
+ throw error;
+ }
+ };
+ function _locator(l){
+ if(l){
+ return '\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'
+ }
+ }
+ function _toString(chars,start,length){
+ if(typeof chars == 'string'){
+ return chars.substr(start,length)
+ }else{//java sax connect width xmldom on rhino(what about: "? && !(chars instanceof String)")
+ if(chars.length >= start+length || start){
+ return new java.lang.String(chars,start,length)+'';
+ }
+ return chars;
+ }
+ }
+
+ /*
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html
+ * used method of org.xml.sax.ext.LexicalHandler:
+ * #comment(chars, start, length)
+ * #startCDATA()
+ * #endCDATA()
+ * #startDTD(name, publicId, systemId)
+ *
+ *
+ * IGNORED method of org.xml.sax.ext.LexicalHandler:
+ * #endDTD()
+ * #startEntity(name)
+ * #endEntity(name)
+ *
+ *
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html
+ * IGNORED method of org.xml.sax.ext.DeclHandler
+ * #attributeDecl(eName, aName, type, mode, value)
+ * #elementDecl(name, model)
+ * #externalEntityDecl(name, publicId, systemId)
+ * #internalEntityDecl(name, value)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html
+ * IGNORED method of org.xml.sax.EntityResolver2
+ * #resolveEntity(String name,String publicId,String baseURI,String systemId)
+ * #resolveEntity(publicId, systemId)
+ * #getExternalSubset(name, baseURI)
+ * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html
+ * IGNORED method of org.xml.sax.DTDHandler
+ * #notationDecl(name, publicId, systemId) {};
+ * #unparsedEntityDecl(name, publicId, systemId, notationName) {};
+ */
+ "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){
+ DOMHandler.prototype[key] = function(){return null};
+ });
+
+ /* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */
+ function appendElement (hander,node) {
+ if (!hander.currentElement) {
+ hander.doc.appendChild(node);
+ } else {
+ hander.currentElement.appendChild(node);
+ }
+ }//appendChild and setAttributeNS are preformance key
+
+ //if(typeof require == 'function'){
+ var XMLReader = require$$0$4.XMLReader;
+ var DOMImplementation = exports.DOMImplementation = require$$1$3.DOMImplementation;
+ exports.XMLSerializer = require$$1$3.XMLSerializer ;
+ exports.DOMParser = DOMParser;
+ //}
+ });
+ var domParser_1 = domParser.DOMImplementation;
+ var domParser_2 = domParser.XMLSerializer;
+ var domParser_3 = domParser.DOMParser;
+
+ var domParser$1 = /*#__PURE__*/Object.freeze({
+ default: domParser,
+ __moduleExports: domParser,
+ DOMImplementation: domParser_1,
+ XMLSerializer: domParser_2,
+ DOMParser: domParser_3
+ });
+
+ var require$$0$5 = ( domParser$1 && domParser ) || domParser$1;
+
+ var togeojson = createCommonjsModule(function (module, exports) {
+ var toGeoJSON = (function() {
+
+ var removeSpace = /\s*/g,
+ trimSpace = /^\s*|\s*$/g,
+ splitSpace = /\s+/;
+ // generate a short, numeric hash of a string
+ function okhash(x) {
+ if (!x || !x.length) return 0;
+ for (var i = 0, h = 0; i < x.length; i++) {
+ h = ((h << 5) - h) + x.charCodeAt(i) | 0;
+ } return h;
+ }
+ // all Y children of X
+ function get(x, y) { return x.getElementsByTagName(y); }
+ function attr(x, y) { return x.getAttribute(y); }
+ function attrf(x, y) { return parseFloat(attr(x, y)); }
+ // one Y child of X, if any, otherwise null
+ function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
+ // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
+ function norm(el) { if (el.normalize) { el.normalize(); } return el; }
+ // cast array x into numbers
+ function numarray(x) {
+ for (var j = 0, o = []; j < x.length; j++) { o[j] = parseFloat(x[j]); }
+ return o;
+ }
+ // get the content of a text node, if any
+ function nodeVal(x) {
+ if (x) { norm(x); }
+ return (x && x.textContent) || '';
+ }
+ // get the contents of multiple text nodes, if present
+ function getMulti(x, ys) {
+ var o = {}, n, k;
+ for (k = 0; k < ys.length; k++) {
+ n = get1(x, ys[k]);
+ if (n) o[ys[k]] = nodeVal(n);
+ }
+ return o;
+ }
+ // add properties of Y to X, overwriting if present in both
+ function extend(x, y) { for (var k in y) x[k] = y[k]; }
+ // get one coordinate from a coordinate array, if any
+ function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
+ // get all coordinates from a coordinate array as [[],[]]
+ function coord(v) {
+ var coords = v.replace(trimSpace, '').split(splitSpace),
+ o = [];
+ for (var i = 0; i < coords.length; i++) {
+ o.push(coord1(coords[i]));
+ }
+ return o;
+ }
+ function coordPair(x) {
+ var ll = [attrf(x, 'lon'), attrf(x, 'lat')],
+ ele = get1(x, 'ele'),
+ // handle namespaced attribute in browser
+ heartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'),
+ time = get1(x, 'time'),
+ e;
+ if (ele) {
+ e = parseFloat(nodeVal(ele));
+ if (!isNaN(e)) {
+ ll.push(e);
+ }
+ }
+ return {
+ coordinates: ll,
+ time: time ? nodeVal(time) : null,
+ heartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null
+ };
+ }
+
+ // create a new feature collection parent object
+ function fc() {
+ return {
+ type: 'FeatureCollection',
+ features: []
+ };
+ }
+
+ var serializer;
+ if (typeof XMLSerializer !== 'undefined') {
+ /* istanbul ignore next */
+ serializer = new XMLSerializer();
+ // only require xmldom in a node environment
+ } else if (typeof process === 'object' && !process.browser) {
+ serializer = new (require$$0$5.XMLSerializer)();
+ }
+ function xml2str(str) {
+ // IE9 will create a new XMLSerializer but it'll crash immediately.
+ // This line is ignored because we don't run coverage tests in IE9
+ /* istanbul ignore next */
+ if (str.xml !== undefined) return str.xml;
+ return serializer.serializeToString(str);
+ }
+
+ var t = {
+ kml: function(doc) {
+
+ var gj = fc(),
+ // styleindex keeps track of hashed styles in order to match features
+ styleIndex = {}, styleByHash = {},
+ // stylemapindex keeps track of style maps to expose in properties
+ styleMapIndex = {},
+ // atomic geospatial types supported by KML - MultiGeometry is
+ // handled separately
+ geotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'],
+ // all root placemarks in the file
+ placemarks = get(doc, 'Placemark'),
+ styles = get(doc, 'Style'),
+ styleMaps = get(doc, 'StyleMap');
+
+ for (var k = 0; k < styles.length; k++) {
+ var hash = okhash(xml2str(styles[k])).toString(16);
+ styleIndex['#' + attr(styles[k], 'id')] = hash;
+ styleByHash[hash] = styles[k];
+ }
+ for (var l = 0; l < styleMaps.length; l++) {
+ styleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16);
+ var pairs = get(styleMaps[l], 'Pair');
+ var pairsMap = {};
+ for (var m = 0; m < pairs.length; m++) {
+ pairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl'));
+ }
+ styleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap;
+
+ }
+ for (var j = 0; j < placemarks.length; j++) {
+ gj.features = gj.features.concat(getPlacemark(placemarks[j]));
+ }
+ function kmlColor(v) {
+ var color, opacity;
+ v = v || '';
+ if (v.substr(0, 1) === '#') { v = v.substr(1); }
+ if (v.length === 6 || v.length === 3) { color = v; }
+ if (v.length === 8) {
+ opacity = parseInt(v.substr(0, 2), 16) / 255;
+ color = '#' + v.substr(6, 2) +
+ v.substr(4, 2) +
+ v.substr(2, 2);
+ }
+ return [color, isNaN(opacity) ? undefined : opacity];
+ }
+ function gxCoord(v) { return numarray(v.split(' ')); }
+ function gxCoords(root) {
+ var elems = get(root, 'coord', 'gx'), coords = [], times = [];
+ if (elems.length === 0) elems = get(root, 'gx:coord');
+ for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));
+ var timeElems = get(root, 'when');
+ for (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j]));
+ return {
+ coords: coords,
+ times: times
+ };
+ }
+ function getGeometry(root) {
+ var geomNode, geomNodes, i, j, k, geoms = [], coordTimes = [];
+ if (get1(root, 'MultiGeometry')) { return getGeometry(get1(root, 'MultiGeometry')); }
+ if (get1(root, 'MultiTrack')) { return getGeometry(get1(root, 'MultiTrack')); }
+ if (get1(root, 'gx:MultiTrack')) { return getGeometry(get1(root, 'gx:MultiTrack')); }
+ for (i = 0; i < geotypes.length; i++) {
+ geomNodes = get(root, geotypes[i]);
+ if (geomNodes) {
+ for (j = 0; j < geomNodes.length; j++) {
+ geomNode = geomNodes[j];
+ if (geotypes[i] === 'Point') {
+ geoms.push({
+ type: 'Point',
+ coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
+ });
+ } else if (geotypes[i] === 'LineString') {
+ geoms.push({
+ type: 'LineString',
+ coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
+ });
+ } else if (geotypes[i] === 'Polygon') {
+ var rings = get(geomNode, 'LinearRing'),
+ coords = [];
+ for (k = 0; k < rings.length; k++) {
+ coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
+ }
+ geoms.push({
+ type: 'Polygon',
+ coordinates: coords
+ });
+ } else if (geotypes[i] === 'Track' ||
+ geotypes[i] === 'gx:Track') {
+ var track = gxCoords(geomNode);
+ geoms.push({
+ type: 'LineString',
+ coordinates: track.coords
+ });
+ if (track.times.length) coordTimes.push(track.times);
+ }
+ }
+ }
+ }
+ return {
+ geoms: geoms,
+ coordTimes: coordTimes
+ };
+ }
+ function getPlacemark(root) {
+ var geomsAndTimes = getGeometry(root), i, properties = {},
+ name = nodeVal(get1(root, 'name')),
+ address = nodeVal(get1(root, 'address')),
+ styleUrl = nodeVal(get1(root, 'styleUrl')),
+ description = nodeVal(get1(root, 'description')),
+ timeSpan = get1(root, 'TimeSpan'),
+ timeStamp = get1(root, 'TimeStamp'),
+ extendedData = get1(root, 'ExtendedData'),
+ lineStyle = get1(root, 'LineStyle'),
+ polyStyle = get1(root, 'PolyStyle'),
+ visibility = get1(root, 'visibility');
+
+ if (!geomsAndTimes.geoms.length) return [];
+ if (name) properties.name = name;
+ if (address) properties.address = address;
+ if (styleUrl) {
+ if (styleUrl[0] !== '#') {
+ styleUrl = '#' + styleUrl;
+ }
+
+ properties.styleUrl = styleUrl;
+ if (styleIndex[styleUrl]) {
+ properties.styleHash = styleIndex[styleUrl];
+ }
+ if (styleMapIndex[styleUrl]) {
+ properties.styleMapHash = styleMapIndex[styleUrl];
+ properties.styleHash = styleIndex[styleMapIndex[styleUrl].normal];
+ }
+ // Try to populate the lineStyle or polyStyle since we got the style hash
+ var style = styleByHash[properties.styleHash];
+ if (style) {
+ if (!lineStyle) lineStyle = get1(style, 'LineStyle');
+ if (!polyStyle) polyStyle = get1(style, 'PolyStyle');
+ }
+ }
+ if (description) properties.description = description;
+ if (timeSpan) {
+ var begin = nodeVal(get1(timeSpan, 'begin'));
+ var end = nodeVal(get1(timeSpan, 'end'));
+ properties.timespan = { begin: begin, end: end };
+ }
+ if (timeStamp) {
+ properties.timestamp = nodeVal(get1(timeStamp, 'when'));
+ }
+ if (lineStyle) {
+ var linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))),
+ color = linestyles[0],
+ opacity = linestyles[1],
+ width = parseFloat(nodeVal(get1(lineStyle, 'width')));
+ if (color) properties.stroke = color;
+ if (!isNaN(opacity)) properties['stroke-opacity'] = opacity;
+ if (!isNaN(width)) properties['stroke-width'] = width;
+ }
+ if (polyStyle) {
+ var polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))),
+ pcolor = polystyles[0],
+ popacity = polystyles[1],
+ fill = nodeVal(get1(polyStyle, 'fill')),
+ outline = nodeVal(get1(polyStyle, 'outline'));
+ if (pcolor) properties.fill = pcolor;
+ if (!isNaN(popacity)) properties['fill-opacity'] = popacity;
+ if (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0;
+ if (outline) properties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0;
+ }
+ if (extendedData) {
+ var datas = get(extendedData, 'Data'),
+ simpleDatas = get(extendedData, 'SimpleData');
+
+ for (i = 0; i < datas.length; i++) {
+ properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
+ }
+ for (i = 0; i < simpleDatas.length; i++) {
+ properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
+ }
+ }
+ if (visibility) {
+ properties.visibility = nodeVal(visibility);
+ }
+ if (geomsAndTimes.coordTimes.length) {
+ properties.coordTimes = (geomsAndTimes.coordTimes.length === 1) ?
+ geomsAndTimes.coordTimes[0] : geomsAndTimes.coordTimes;
+ }
+ var feature = {
+ type: 'Feature',
+ geometry: (geomsAndTimes.geoms.length === 1) ? geomsAndTimes.geoms[0] : {
+ type: 'GeometryCollection',
+ geometries: geomsAndTimes.geoms
+ },
+ properties: properties
+ };
+ if (attr(root, 'id')) feature.id = attr(root, 'id');
+ return [feature];
+ }
+ return gj;
+ },
+ gpx: function(doc) {
+ var i,
+ tracks = get(doc, 'trk'),
+ routes = get(doc, 'rte'),
+ waypoints = get(doc, 'wpt'),
+ // a feature collection
+ gj = fc(),
+ feature;
+ for (i = 0; i < tracks.length; i++) {
+ feature = getTrack(tracks[i]);
+ if (feature) gj.features.push(feature);
+ }
+ for (i = 0; i < routes.length; i++) {
+ feature = getRoute(routes[i]);
+ if (feature) gj.features.push(feature);
+ }
+ for (i = 0; i < waypoints.length; i++) {
+ gj.features.push(getPoint(waypoints[i]));
+ }
+ function getPoints(node, pointname) {
+ var pts = get(node, pointname),
+ line = [],
+ times = [],
+ heartRates = [],
+ l = pts.length;
+ if (l < 2) return {}; // Invalid line in GeoJSON
+ for (var i = 0; i < l; i++) {
+ var c = coordPair(pts[i]);
+ line.push(c.coordinates);
+ if (c.time) times.push(c.time);
+ if (c.heartRate) heartRates.push(c.heartRate);
+ }
+ return {
+ line: line,
+ times: times,
+ heartRates: heartRates
+ };
+ }
+ function getTrack(node) {
+ var segments = get(node, 'trkseg'),
+ track = [],
+ times = [],
+ heartRates = [],
+ line;
+ for (var i = 0; i < segments.length; i++) {
+ line = getPoints(segments[i], 'trkpt');
+ if (line) {
+ if (line.line) track.push(line.line);
+ if (line.times && line.times.length) times.push(line.times);
+ if (line.heartRates && line.heartRates.length) heartRates.push(line.heartRates);
+ }
+ }
+ if (track.length === 0) return;
+ var properties = getProperties(node);
+ extend(properties, getLineStyle(get1(node, 'extensions')));
+ if (times.length) properties.coordTimes = track.length === 1 ? times[0] : times;
+ if (heartRates.length) properties.heartRates = track.length === 1 ? heartRates[0] : heartRates;
+ return {
+ type: 'Feature',
+ properties: properties,
+ geometry: {
+ type: track.length === 1 ? 'LineString' : 'MultiLineString',
+ coordinates: track.length === 1 ? track[0] : track
+ }
+ };
+ }
+ function getRoute(node) {
+ var line = getPoints(node, 'rtept');
+ if (!line.line) return;
+ var prop = getProperties(node);
+ extend(prop, getLineStyle(get1(node, 'extensions')));
+ var routeObj = {
+ type: 'Feature',
+ properties: prop,
+ geometry: {
+ type: 'LineString',
+ coordinates: line.line
+ }
+ };
+ return routeObj;
+ }
+ function getPoint(node) {
+ var prop = getProperties(node);
+ extend(prop, getMulti(node, ['sym']));
+ return {
+ type: 'Feature',
+ properties: prop,
+ geometry: {
+ type: 'Point',
+ coordinates: coordPair(node).coordinates
+ }
+ };
+ }
+ function getLineStyle(extensions) {
+ var style = {};
+ if (extensions) {
+ var lineStyle = get1(extensions, 'line');
+ if (lineStyle) {
+ var color = nodeVal(get1(lineStyle, 'color')),
+ opacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))),
+ width = parseFloat(nodeVal(get1(lineStyle, 'width')));
+ if (color) style.stroke = color;
+ if (!isNaN(opacity)) style['stroke-opacity'] = opacity;
+ // GPX width is in mm, convert to px with 96 px per inch
+ if (!isNaN(width)) style['stroke-width'] = width * 96 / 25.4;
+ }
+ }
+ return style;
+ }
+ function getProperties(node) {
+ var prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']),
+ links = get(node, 'link');
+ if (links.length) prop.links = [];
+ for (var i = 0, link; i < links.length; i++) {
+ link = { href: attr(links[i], 'href') };
+ extend(link, getMulti(links[i], ['text', 'type']));
+ prop.links.push(link);
+ }
+ return prop;
+ }
+ return gj;
+ }
+ };
+ return t;
+ })();
+
+ module.exports = toGeoJSON;
+ });
+
+ var _initialized = false;
+ var _enabled = false;
+ var _geojson;
+
+
+ function svgGpx$$1(projection$$1, context, dispatch) {
+ var _showLabels = true;
+ var detected = utilDetect();
+ var layer;
+ var _src;
+
+
+ function init() {
+ if (_initialized) return; // run once
+
+ _geojson = {};
+ _enabled = true;
+
+ function over() {
+ event.stopPropagation();
+ event.preventDefault();
+ event.dataTransfer.dropEffect = 'copy';
+ }
+
+ select('body')
+ .attr('dropzone', 'copy')
+ .on('drop.localgpx', function() {
+ event.stopPropagation();
+ event.preventDefault();
+ if (!detected.filedrop) return;
+ drawGpx.files(event.dataTransfer.files);
+ })
+ .on('dragenter.localgpx', over)
+ .on('dragexit.localgpx', over)
+ .on('dragover.localgpx', over);
+
+ _initialized = true;
+ }
+
+
+ function drawGpx(selection$$1) {
+ var getPath = svgPath(projection$$1).geojson;
+
+ layer = selection$$1.selectAll('.layer-gpx')
+ .data(_enabled ? [0] : []);
+
+ layer.exit()
+ .remove();
+
+ layer = layer.enter()
+ .append('g')
+ .attr('class', 'layer-gpx')
+ .merge(layer);
+
+
+ var paths = layer
+ .selectAll('path')
+ .data([_geojson]);
+
+ paths.exit()
+ .remove();
+
+ paths = paths.enter()
+ .append('path')
+ .attr('class', 'gpx')
+ .merge(paths);
+
+ paths
+ .attr('d', getPath);
+
+
+ var labelData = _showLabels && _geojson.features ? _geojson.features : [];
+ labelData = labelData.filter(getPath);
+
+ layer
+ .call(drawLabels, 'gpxlabel-halo', labelData)
+ .call(drawLabels, 'gpxlabel', labelData);
+
+
+ function drawLabels(selection$$1, textClass, data) {
+ var labels = selection$$1.selectAll('text.' + textClass)
+ .data(data);
+
+ // exit
+ labels.exit()
+ .remove();
+
+ // enter/update
+ labels = labels.enter()
+ .append('text')
+ .attr('class', textClass)
+ .merge(labels)
+ .text(function(d) {
+ if (d.properties) {
+ return d.properties.desc || d.properties.name;
+ }
+ return null;
+ })
+ .attr('x', function(d) {
+ var centroid = getPath.centroid(d);
+ return centroid[0] + 11;
+ })
+ .attr('y', function(d) {
+ var centroid = getPath.centroid(d);
+ return centroid[1];
+ });
+ }
+ }
+
+
+ function toDom(x) {
+ return (new DOMParser()).parseFromString(x, 'text/xml');
+ }
+
+
+ function getExtension(fileName) {
+ if (isUndefined(fileName)) {
+ return '';
+ }
+
+ var lastDotIndex = fileName.lastIndexOf('.');
+ if (lastDotIndex < 0) {
+ return '';
+ }
+
+ return fileName.substr(lastDotIndex);
+ }
+
+
+ function parseSaveAndZoom(extension, data) {
+ switch (extension) {
+ default:
+ drawGpx.geojson(togeojson.gpx(toDom(data))).fitZoom();
+ break;
+ case '.kml':
+ drawGpx.geojson(togeojson.kml(toDom(data))).fitZoom();
+ break;
+ case '.geojson':
+ case '.json':
+ drawGpx.geojson(JSON.parse(data)).fitZoom();
+ break;
+ }
+ }
+
+
+ drawGpx.showLabels = function(_) {
+ if (!arguments.length) return _showLabels;
+ _showLabels = _;
+ return this;
+ };
+
+
+ drawGpx.enabled = function(_) {
+ if (!arguments.length) return _enabled;
+ _enabled = _;
+ dispatch.call('change');
+ return this;
+ };
+
+
+ drawGpx.hasGpx = function() {
+ return (!(isEmpty(_geojson) || isEmpty(_geojson.features)));
+ };
+
+
+ drawGpx.geojson = function(gj) {
+ if (!arguments.length) return _geojson;
+ if (isEmpty(gj) || isEmpty(gj.features)) return this;
+ _geojson = gj;
+ dispatch.call('change');
+ return this;
+ };
+
+
+ drawGpx.url = function(url) {
+ d3_text(url, function(err, data) {
+ if (!err) {
+ _src = url;
+ var extension = getExtension(url);
+ parseSaveAndZoom(extension, data);
+ }
+ });
+ return this;
+ };
+
+
+ drawGpx.files = function(fileList) {
+ if (!fileList.length) return this;
+ var f = fileList[0],
+ reader = new FileReader();
+
+ reader.onload = (function(file) {
+ _src = file.name;
+ var extension = getExtension(file.name);
+ return function (e) {
+ parseSaveAndZoom(extension, e.target.result);
+ };
+ })(f);
+
+ reader.readAsText(f);
+ return this;
+ };
+
+
+ drawGpx.getSrc = function () {
+ return _src;
+ };
+
+
+ drawGpx.fitZoom = function() {
+ if (!this.hasGpx()) return this;
+
+ var map = context.map();
+ var viewport = map.trimmedExtent().polygon();
+ var coords = reduce(_geojson.features, function(coords, feature) {
+ var c = feature.geometry.coordinates;
+
+ /* eslint-disable no-fallthrough */
+ switch (feature.geometry.type) {
+ case 'Point':
+ c = [c];
+ case 'MultiPoint':
+ case 'LineString':
+ break;
+
+ case 'MultiPolygon':
+ c = flatten(c);
+ case 'Polygon':
+ case 'MultiLineString':
+ c = flatten(c);
+ break;
+ }
+ /* eslint-enable no-fallthrough */
+
+ return union(coords, c);
+ }, []);
+
+ if (!geoPolygonIntersectsPolygon(viewport, coords, true)) {
+ var extent = geoExtent$$1(d3_geoBounds({ type: 'LineString', coordinates: coords }));
+ map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+ }
+
+ return this;
+ };
+
+
+ init();
+ return drawGpx;
+ }
+
+ function svgIcon(name, svgklass, useklass) {
+ return function drawIcon(selection) {
+ selection.selectAll('svg')
+ .data([0])
+ .enter()
+ .append('svg')
+ .attr('class', 'icon ' + (svgklass || ''))
+ .append('use')
+ .attr('xlink:href', name)
+ .attr('class', useklass);
+ };
+ }
+
+ function svgLabels(projection$$1, context) {
+ var path = d3_geoPath(projection$$1);
+ var detected = utilDetect();
+ var baselineHack = (detected.ie || detected.browser.toLowerCase() === 'edge');
+ var _rdrawn = rbush_1();
+ var _rskipped = rbush_1();
+ var _textWidthCache = {};
+ var _entitybboxes = {};
+
+ // Listed from highest to lowest priority
+ var labelStack = [
+ ['line', 'aeroway', '*', 12],
+ ['line', 'highway', 'motorway', 12],
+ ['line', 'highway', 'trunk', 12],
+ ['line', 'highway', 'primary', 12],
+ ['line', 'highway', 'secondary', 12],
+ ['line', 'highway', 'tertiary', 12],
+ ['line', 'highway', '*', 12],
+ ['line', 'railway', '*', 12],
+ ['line', 'waterway', '*', 12],
+ ['area', 'aeroway', '*', 12],
+ ['area', 'amenity', '*', 12],
+ ['area', 'building', '*', 12],
+ ['area', 'historic', '*', 12],
+ ['area', 'leisure', '*', 12],
+ ['area', 'man_made', '*', 12],
+ ['area', 'natural', '*', 12],
+ ['area', 'shop', '*', 12],
+ ['area', 'tourism', '*', 12],
+ ['area', 'camp_site', '*', 12],
+ ['point', 'aeroway', '*', 10],
+ ['point', 'amenity', '*', 10],
+ ['point', 'building', '*', 10],
+ ['point', 'historic', '*', 10],
+ ['point', 'leisure', '*', 10],
+ ['point', 'man_made', '*', 10],
+ ['point', 'natural', '*', 10],
+ ['point', 'shop', '*', 10],
+ ['point', 'tourism', '*', 10],
+ ['point', 'camp_site', '*', 10],
+ ['line', 'name', '*', 12],
+ ['area', 'name', '*', 12],
+ ['point', 'name', '*', 10]
+ ];
+
+
+ function blacklisted(preset) {
+ var noIcons = ['building', 'landuse', 'natural'];
+ return some(noIcons, function(s) {
+ return preset.id.indexOf(s) >= 0;
+ });
+ }
+
+
+ function get(array, prop) {
+ return function(d, i) { return array[i][prop]; };
+ }
+
+
+ function textWidth(text, size, elem) {
+ var c = _textWidthCache[size];
+ if (!c) c = _textWidthCache[size] = {};
+
+ if (c[text]) {
+ return c[text];
+
+ } else if (elem) {
+ c[text] = elem.getComputedTextLength();
+ return c[text];
+
+ } else {
+ var str = encodeURIComponent(text).match(/%[CDEFcdef]/g);
+ if (str === null) {
+ return size / 3 * 2 * text.length;
+ } else {
+ return size / 3 * (2 * text.length + str.length);
+ }
+ }
+ }
+
+
+ function drawLinePaths(selection, entities, filter, classes, labels) {
+ var paths = selection.selectAll('path')
+ .filter(filter)
+ .data(entities, osmEntity$$1.key);
+
+ // exit
+ paths.exit()
+ .remove();
+
+ // enter/update
+ paths.enter()
+ .append('path')
+ .style('stroke-width', get(labels, 'font-size'))
+ .attr('id', function(d) { return 'labelpath-' + d.id; })
+ .attr('class', classes)
+ .merge(paths)
+ .attr('d', get(labels, 'lineString'));
+ }
+
+
+ function drawLineLabels(selection, entities, filter, classes, labels) {
+ var texts = selection.selectAll('text.' + classes)
+ .filter(filter)
+ .data(entities, osmEntity$$1.key);
+
+ // exit
+ texts.exit()
+ .remove();
+
+ // enter
+ texts.enter()
+ .append('text')
+ .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; })
+ .attr('dy', baselineHack ? '0.35em' : null)
+ .append('textPath')
+ .attr('class', 'textpath');
+
+ // update
+ selection.selectAll('text.' + classes).selectAll('.textpath')
+ .filter(filter)
+ .data(entities, osmEntity$$1.key)
+ .attr('startOffset', '50%')
+ .attr('xlink:href', function(d) { return '#labelpath-' + d.id; })
+ .text(utilDisplayNameForPath);
+ }
+
+
+ function drawPointLabels(selection, entities, filter, classes, labels) {
+ var texts = selection.selectAll('text.' + classes)
+ .filter(filter)
+ .data(entities, osmEntity$$1.key);
+
+ // exit
+ texts.exit()
+ .remove();
+
+ // enter/update
+ texts.enter()
+ .append('text')
+ .attr('class', function(d, i) {
+ return classes + ' ' + labels[i].classes + ' ' + d.id;
+ })
+ .merge(texts)
+ .attr('x', get(labels, 'x'))
+ .attr('y', get(labels, 'y'))
+ .style('text-anchor', get(labels, 'textAnchor'))
+ .text(utilDisplayName)
+ .each(function(d, i) {
+ textWidth(utilDisplayName(d), labels[i].height, this);
+ });
+ }
+
+
+ function drawAreaLabels(selection, entities, filter, classes, labels) {
+ entities = entities.filter(hasText);
+ labels = labels.filter(hasText);
+ drawPointLabels(selection, entities, filter, classes, labels);
+
+ function hasText(d, i) {
+ return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
+ }
+ }
+
+
+ function drawAreaIcons(selection, entities, filter, classes, labels) {
+ var icons = selection.selectAll('use.' + classes)
+ .filter(filter)
+ .data(entities, osmEntity$$1.key);
+
+ // exit
+ icons.exit()
+ .remove();
+
+ // enter/update
+ icons.enter()
+ .append('use')
+ .attr('class', 'icon ' + classes)
+ .attr('width', '17px')
+ .attr('height', '17px')
+ .merge(icons)
+ .attr('transform', get(labels, 'transform'))
+ .attr('xlink:href', function(d) {
+ var preset = context.presets().match(d, context.graph());
+ var picon = preset && preset.icon;
+
+ if (!picon) {
+ return '';
+ } else {
+ var isMaki = dataFeatureIcons.indexOf(picon) !== -1;
+ return '#' + picon + (isMaki ? '-15' : '');
+ }
+ });
+ }
+
+
+ function drawCollisionBoxes(selection, rtree, which) {
+ var classes = 'debug ' + which + ' ' + (which === 'debug-skipped' ? 'orange' : 'yellow');
+
+ var gj = [];
+ if (context.getDebug('collision')) {
+ gj = rtree.all().map(function(d) {
+ return { type: 'Polygon', coordinates: [[
+ [d.minX, d.minY],
+ [d.maxX, d.minY],
+ [d.maxX, d.maxY],
+ [d.minX, d.maxY],
+ [d.minX, d.minY]
+ ]]};
+ });
+ }
+
+ var boxes = selection.selectAll('.' + which)
+ .data(gj);
+
+ // exit
+ boxes.exit()
+ .remove();
+
+ // enter/update
+ boxes.enter()
+ .append('path')
+ .attr('class', classes)
+ .merge(boxes)
+ .attr('d', d3_geoPath());
+ }
+
+
+ function drawLabels(selection, graph, entities, filter, dimensions, fullRedraw) {
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection$$1.scale());
+
+ var labelable = [];
+ var renderNodeAs = {};
+ var i, j, k, entity, geometry;
+
+ for (i = 0; i < labelStack.length; i++) {
+ labelable.push([]);
+ }
+
+ if (fullRedraw) {
+ _rdrawn.clear();
+ _rskipped.clear();
+ _entitybboxes = {};
+
+ } else {
+ for (i = 0; i < entities.length; i++) {
+ entity = entities[i];
+ var toRemove = []
+ .concat(_entitybboxes[entity.id] || [])
+ .concat(_entitybboxes[entity.id + 'I'] || []);
+
+ for (j = 0; j < toRemove.length; j++) {
+ _rdrawn.remove(toRemove[j]);
+ _rskipped.remove(toRemove[j]);
+ }
+ }
+ }
+
+ // Loop through all the entities to do some preprocessing
+ for (i = 0; i < entities.length; i++) {
+ entity = entities[i];
+ geometry = entity.geometry(graph);
+
+ // Insert collision boxes around interesting points/vertices
+ if (geometry === 'point' || (geometry === 'vertex' && isInterestingVertex(entity))) {
+ var hasDirections = entity.directions(graph, projection$$1).length;
+ var markerPadding;
+
+ if (!wireframe && geometry === 'point' && !(zoom >= 18 && hasDirections)) {
+ renderNodeAs[entity.id] = 'point';
+ markerPadding = 20; // extra y for marker height
+ } else {
+ renderNodeAs[entity.id] = 'vertex';
+ markerPadding = 0;
+ }
+
+ var coord = projection$$1(entity.loc);
+ var nodePadding = 10;
+ var bbox = {
+ minX: coord[0] - nodePadding,
+ minY: coord[1] - nodePadding - markerPadding,
+ maxX: coord[0] + nodePadding,
+ maxY: coord[1] + nodePadding
+ };
+
+ doInsert(bbox, entity.id + 'P');
+ }
+
+ // From here on, treat vertices like points
+ if (geometry === 'vertex') {
+ geometry = 'point';
+ }
+
+ // Determine which entities are label-able
+ var preset = geometry === 'area' && context.presets().match(entity, graph);
+ var icon = preset && !blacklisted(preset) && preset.icon;
+
+ if (!icon && !utilDisplayName(entity))
+ continue;
+
+ for (k = 0; k < labelStack.length; k++) {
+ var matchGeom = labelStack[k][0];
+ var matchKey = labelStack[k][1];
+ var matchVal = labelStack[k][2];
+ var hasVal = entity.tags[matchKey];
+
+ if (geometry === matchGeom && hasVal && (matchVal === '*' || matchVal === hasVal)) {
+ labelable[k].push(entity);
+ break;
+ }
+ }
+ }
+
+ var positions = {
+ point: [],
+ line: [],
+ area: []
+ };
+
+ var labelled = {
+ point: [],
+ line: [],
+ area: []
+ };
+
+ // Try and find a valid label for labellable entities
+ for (k = 0; k < labelable.length; k++) {
+ var fontSize = labelStack[k][3];
+
+ for (i = 0; i < labelable[k].length; i++) {
+ entity = labelable[k][i];
+ geometry = entity.geometry(graph);
+
+ var getName = (geometry === 'line') ? utilDisplayNameForPath : utilDisplayName;
+ var name = getName(entity);
+ var width = name && textWidth(name, fontSize);
+ var p = null;
+
+ if (geometry === 'point' || geometry === 'vertex') {
+ // no point or vertex labels in wireframe mode
+ // no vertex labels at low zooms (vertices have no icons)
+ if (wireframe) continue;
+ var renderAs = renderNodeAs[entity.id];
+ if (renderAs === 'vertex' && zoom < 17) continue;
+
+ p = getPointLabel(entity, width, fontSize, renderAs);
+
+ } else if (geometry === 'line') {
+ p = getLineLabel(entity, width, fontSize);
+
+ } else if (geometry === 'area') {
+ p = getAreaLabel(entity, width, fontSize);
+ }
+
+ if (p) {
+ if (geometry === 'vertex') { geometry = 'point'; } // treat vertex like point
+ p.classes = geometry + ' tag-' + labelStack[k][1];
+ positions[geometry].push(p);
+ labelled[geometry].push(entity);
+ }
+ }
+ }
+
+
+ function isInterestingVertex(entity) {
+ var selectedIDs = context.selectedIDs();
+
+ return entity.hasInterestingTags() ||
+ entity.isEndpoint(graph) ||
+ entity.isConnected(graph) ||
+ selectedIDs.indexOf(entity.id) !== -1 ||
+ some(graph.parentWays(entity), function(parent) {
+ return selectedIDs.indexOf(parent.id) !== -1;
+ });
+ }
+
+
+ function getPointLabel(entity, width, height, geometry) {
+ var y = (geometry === 'point' ? -12 : 0);
+ var pointOffsets = {
+ ltr: [15, y, 'start'],
+ rtl: [-15, y, 'end']
+ };
+
+ var coord = projection$$1(entity.loc);
+ var textPadding = 2;
+ var offset = pointOffsets[textDirection];
+ var p = {
+ height: height,
+ width: width,
+ x: coord[0] + offset[0],
+ y: coord[1] + offset[1],
+ textAnchor: offset[2]
+ };
+
+ // insert a collision box for the text label..
+ var bbox;
+ if (textDirection === 'rtl') {
+ bbox = {
+ minX: p.x - width - textPadding,
+ minY: p.y - (height / 2) - textPadding,
+ maxX: p.x + textPadding,
+ maxY: p.y + (height / 2) + textPadding
+ };
+ } else {
+ bbox = {
+ minX: p.x - textPadding,
+ minY: p.y - (height / 2) - textPadding,
+ maxX: p.x + width + textPadding,
+ maxY: p.y + (height / 2) + textPadding
+ };
+ }
+
+ if (tryInsert([bbox], entity.id, true)) {
+ return p;
+ }
+ }
+
+
+ function getLineLabel(entity, width, height) {
+ var viewport = geoExtent$$1(context.projection.clipExtent()).polygon();
+ var points = map$3(graph.childNodes(entity), 'loc').map(projection$$1);
+ var length = geoPathLength(points);
+
+ if (length < width + 20) return;
+
+ // todo: properly clip points to viewport
+
+ // % along the line to attempt to place the label
+ var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70,
+ 25, 75, 20, 80, 15, 95, 10, 90, 5, 95];
+ var padding = 3;
+
+ for (var i = 0; i < lineOffsets.length; i++) {
+ var offset = lineOffsets[i];
+ var middle = offset / 100 * length;
+ var start = middle - width / 2;
+
+ if (start < 0 || start + width > length) continue;
+
+ // generate subpath and ignore paths that are invalid or don't cross viewport.
+ var sub = subpath(points, start, start + width);
+ if (!sub || !geoPolygonIntersectsPolygon(viewport, sub, true)) {
+ continue;
+ }
+
+ var isReverse = reverse(sub);
+ if (isReverse) {
+ sub = sub.reverse();
+ }
+
+ var bboxes = [];
+ var boxsize = (height + 2) / 2;
+
+ for (var j = 0; j < sub.length - 1; j++) {
+ var a = sub[j];
+ var b = sub[j + 1];
+
+ // split up the text into small collision boxes
+ var num = Math.max(1, Math.floor(geoVecLength(a, b) / boxsize / 2));
+
+ for (var box = 0; box < num; box++) {
+ var p = geoVecInterp(a, b, box / num);
+ var x0 = p[0] - boxsize - padding;
+ var y0 = p[1] - boxsize - padding;
+ var x1 = p[0] + boxsize + padding;
+ var y1 = p[1] + boxsize + padding;
+
+ bboxes.push({
+ minX: Math.min(x0, x1),
+ minY: Math.min(y0, y1),
+ maxX: Math.max(x0, x1),
+ maxY: Math.max(y0, y1)
+ });
+ }
+ }
+
+ if (tryInsert(bboxes, entity.id, false)) { // accept this one
+ return {
+ 'font-size': height + 2,
+ lineString: lineString(sub),
+ startOffset: offset + '%'
+ };
+ }
+ }
+
+ function reverse(p) {
+ var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
+ return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2);
+ }
+
+ function lineString(points) {
+ return 'M' + points.join('L');
+ }
+
+ function subpath(points, from, to) {
+ var sofar = 0;
+ var start, end, i0, i1;
+
+ for (var i = 0; i < points.length - 1; i++) {
+ var a = points[i];
+ var b = points[i + 1];
+ var current = geoVecLength(a, b);
+ var portion;
+ if (!start && sofar + current >= from) {
+ portion = (from - sofar) / current;
+ start = [
+ a[0] + portion * (b[0] - a[0]),
+ a[1] + portion * (b[1] - a[1])
+ ];
+ i0 = i + 1;
+ }
+ if (!end && sofar + current >= to) {
+ portion = (to - sofar) / current;
+ end = [
+ a[0] + portion * (b[0] - a[0]),
+ a[1] + portion * (b[1] - a[1])
+ ];
+ i1 = i + 1;
+ }
+ sofar += current;
+ }
+
+ var result = points.slice(i0, i1);
+ result.unshift(start);
+ result.push(end);
+ return result;
+ }
+ }
+
+
+ function getAreaLabel(entity, width, height) {
+ var centroid = path.centroid(entity.asGeoJSON(graph, true));
+ var extent = entity.extent(graph);
+ var areaWidth = projection$$1(extent[1])[0] - projection$$1(extent[0])[0];
+
+ if (isNaN(centroid[0]) || areaWidth < 20) return;
+
+ var preset = context.presets().match(entity, context.graph());
+ var picon = preset && preset.icon;
+ var iconSize = 17;
+ var padding = 2;
+ var p = {};
+
+ if (picon) { // icon and label..
+ if (addIcon()) {
+ addLabel(iconSize + padding);
+ return p;
+ }
+ } else { // label only..
+ if (addLabel(0)) {
+ return p;
+ }
+ }
+
+
+ function addIcon() {
+ var iconX = centroid[0] - (iconSize / 2);
+ var iconY = centroid[1] - (iconSize / 2);
+ var bbox = {
+ minX: iconX,
+ minY: iconY,
+ maxX: iconX + iconSize,
+ maxY: iconY + iconSize
+ };
+
+ if (tryInsert([bbox], entity.id + 'I', true)) {
+ p.transform = 'translate(' + iconX + ',' + iconY + ')';
+ return true;
+ }
+ return false;
+ }
+
+ function addLabel(yOffset) {
+ if (width && areaWidth >= width + 20) {
+ var labelX = centroid[0];
+ var labelY = centroid[1] + yOffset;
+ var bbox = {
+ minX: labelX - (width / 2) - padding,
+ minY: labelY - (height / 2) - padding,
+ maxX: labelX + (width / 2) + padding,
+ maxY: labelY + (height / 2) + padding
+ };
+
+ if (tryInsert([bbox], entity.id, true)) {
+ p.x = labelX;
+ p.y = labelY;
+ p.textAnchor = 'middle';
+ p.height = height;
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+
+ // force insert a singular bounding box
+ // singular box only, no array, id better be unique
+ function doInsert(bbox, id) {
+ bbox.id = id;
+
+ var oldbox = _entitybboxes[id];
+ if (oldbox) {
+ _rdrawn.remove(oldbox);
+ }
+ _entitybboxes[id] = bbox;
+ _rdrawn.insert(bbox);
+ }
+
+
+ function tryInsert(bboxes, id, saveSkipped) {
+ var skipped = false;
+
+ for (var i = 0; i < bboxes.length; i++) {
+ var bbox = bboxes[i];
+ bbox.id = id;
+
+ // Check that label is visible
+ if (bbox.minX < 0 || bbox.minY < 0 || bbox.maxX > dimensions[0] || bbox.maxY > dimensions[1]) {
+ skipped = true;
+ break;
+ }
+ if (_rdrawn.collides(bbox)) {
+ skipped = true;
+ break;
+ }
+ }
+
+ _entitybboxes[id] = bboxes;
+
+ if (skipped) {
+ if (saveSkipped) {
+ _rskipped.load(bboxes);
+ }
+ } else {
+ _rdrawn.load(bboxes);
+ }
+
+ return !skipped;
+ }
+
+
+ var layer = selection.selectAll('.layer-labels');
+ var halo = layer.selectAll('.layer-labels-halo');
+ var label = layer.selectAll('.layer-labels-label');
+ var debug = layer.selectAll('.layer-labels-debug');
+
+ // points
+ drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point);
+ drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point);
+
+ // lines
+ drawLinePaths(halo, labelled.line, filter, '', positions.line);
+ drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line);
+ drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line);
+
+ // areas
+ drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area);
+ drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area);
+ drawAreaIcons(label, labelled.area, filter, 'areaicon', positions.area);
+ drawAreaIcons(halo, labelled.area, filter, 'areaicon-halo', positions.area);
+
+ // debug
+ drawCollisionBoxes(debug, _rskipped, 'debug-skipped');
+ drawCollisionBoxes(debug, _rdrawn, 'debug-drawn');
+
+ layer.call(filterLabels);
+ }
+
+
+ function filterLabels(selection) {
+ var layers = selection
+ .selectAll('.layer-labels-label, .layer-labels-halo');
+
+ layers.selectAll('.nolabel')
+ .classed('nolabel', false);
+
+ var mouse = context.mouse();
+ var graph = context.graph();
+ var selectedIDs = context.selectedIDs();
+ var ids = [];
+ var pad, bbox;
+
+ // hide labels near the mouse
+ if (mouse) {
+ pad = 20;
+ bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad };
+ ids.push.apply(ids, map$3(_rdrawn.search(bbox), 'id'));
+ }
+
+ // hide labels on selected nodes (they look weird when dragging / haloed)
+ for (var i = 0; i < selectedIDs.length; i++) {
+ var entity = graph.hasEntity(selectedIDs[i]);
+ if (entity && entity.type === 'node') {
+ ids.push(selectedIDs[i]);
+ }
+ }
+
+ layers.selectAll(utilEntitySelector(ids))
+ .classed('nolabel', true);
+
+
+ // draw the mouse bbox if debugging is on..
+ var debug = selection.selectAll('.layer-labels-debug');
+ var gj = [];
+ if (context.getDebug('collision')) {
+ gj = bbox ? [{
+ type: 'Polygon',
+ coordinates: [[
+ [bbox.minX, bbox.minY],
+ [bbox.maxX, bbox.minY],
+ [bbox.maxX, bbox.maxY],
+ [bbox.minX, bbox.maxY],
+ [bbox.minX, bbox.minY]
+ ]]
+ }] : [];
+ }
+
+ var box = debug.selectAll('.debug-mouse')
+ .data(gj);
+
+ // exit
+ box.exit()
+ .remove();
+
+ // enter/update
+ box.enter()
+ .append('path')
+ .attr('class', 'debug debug-mouse yellow')
+ .merge(box)
+ .attr('d', d3_geoPath());
+ }
+
+
+ var throttleFilterLabels = throttle(utilCallWhenIdle(filterLabels), 100);
+
+
+ drawLabels.observe = function(selection) {
+ var listener = function() { throttleFilterLabels(selection); };
+ selection.on('mousemove.hidelabels', listener);
+ context.on('enter.hidelabels', listener);
+ };
+
+
+ drawLabels.off = function(selection) {
+ throttleFilterLabels.cancel();
+ selection.on('mousemove.hidelabels', null);
+ context.on('enter.hidelabels', null);
+ };
+
+
+ return drawLabels;
+ }
+
+ function svgMapillaryImages$$1(projection, context, dispatch) {
+ var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+ var minZoom = 12;
+ var minMarkerZoom = 16;
+ var minViewfieldZoom = 18;
+ var layer = select(null);
+ var _mapillary;
+
+
+ function init() {
+ if (svgMapillaryImages$$1.initialized) return; // run once
+ svgMapillaryImages$$1.enabled = false;
+ svgMapillaryImages$$1.initialized = true;
+ }
+
+
+ function getService() {
+ if (services.mapillary && !_mapillary) {
+ _mapillary = services.mapillary;
+ _mapillary.event.on('loadedImages', throttledRedraw);
+ } else if (!services.mapillary && _mapillary) {
+ _mapillary = null;
+ }
+
+ return _mapillary;
+ }
+
+
+ function showLayer() {
+ var service = getService();
+ if (!service) return;
+
+ service.loadViewer(context);
+ editOn();
+
+ layer
+ .style('opacity', 0)
+ .transition()
+ .duration(250)
+ .style('opacity', 1)
+ .on('end', function () { dispatch.call('change'); });
+ }
+
+
+ function hideLayer() {
+ var service = getService();
+ if (service) {
+ service.hideViewer();
+ }
+
+ throttledRedraw.cancel();
+
+ layer
+ .transition()
+ .duration(250)
+ .style('opacity', 0)
+ .on('end', editOff);
+ }
+
+
+ function editOn() {
+ layer.style('display', 'block');
+ }
+
+
+ function editOff() {
+ layer.selectAll('.viewfield-group').remove();
+ layer.style('display', 'none');
+ }
+
+
+ function click(d) {
+ var service = getService();
+ if (!service) return;
+
+ service
+ .selectImage(d)
+ .updateViewer(d.key, context)
+ .showViewer();
+
+ context.map().centerEase(d.loc);
+ }
+
+
+ function mouseover(d) {
+ var service = getService();
+ if (service) service.setStyles(d);
+ }
+
+
+ function mouseout() {
+ var service = getService();
+ if (service) service.setStyles(null);
+ }
+
+
+ function transform(d) {
+ var t = svgPointTransform(projection)(d);
+ if (d.ca) {
+ t += ' rotate(' + Math.floor(d.ca) + ',0,0)';
+ }
+ return t;
+ }
+
+
+ function update() {
+ var viewer = select('#photoviewer');
+ var selected = viewer.empty() ? undefined : viewer.datum();
+
+ var z = ~~context.map().zoom();
+ var showMarkers = (z >= minMarkerZoom);
+ var showViewfields = (z >= minViewfieldZoom);
+
+ var service = getService();
+ var sequences = (service ? service.sequences(projection) : []);
+ var images = (service && showMarkers ? service.images(projection) : []);
+
+ var traces = layer.selectAll('.sequences').selectAll('.sequence')
+ .data(sequences, function(d) { return d.properties.key; });
+
+ // exit
+ traces.exit()
+ .remove();
+
+ // enter/update
+ traces = traces.enter()
+ .append('path')
+ .attr('class', 'sequence')
+ .merge(traces)
+ .attr('d', svgPath(projection).geojson);
+
+
+ var groups = layer.selectAll('.markers').selectAll('.viewfield-group')
+ .data(images, function(d) { return d.key; });
+
+ // exit
+ groups.exit()
+ .remove();
+
+ // enter
+ var groupsEnter = groups.enter()
+ .append('g')
+ .attr('class', 'viewfield-group')
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout)
+ .on('click', click);
+
+ groupsEnter
+ .append('g')
+ .attr('class', 'viewfield-scale');
+
+ // update
+ var markers = groups
+ .merge(groupsEnter)
+ .sort(function(a, b) {
+ return (a === selected) ? 1
+ : (b === selected) ? -1
+ : b.loc[1] - a.loc[1]; // sort Y
+ })
+ .attr('transform', transform)
+ .select('.viewfield-scale');
+
+
+ markers.selectAll('circle')
+ .data([0])
+ .enter()
+ .append('circle')
+ .attr('dx', '0')
+ .attr('dy', '0')
+ .attr('r', '6');
+
+ var viewfields = markers.selectAll('.viewfield')
+ .data(showViewfields ? [0] : []);
+
+ viewfields.exit()
+ .remove();
+
+ viewfields.enter() // viewfields may or may not be drawn...
+ .insert('path', 'circle') // but if they are, draw below the circles
+ .attr('class', 'viewfield')
+ .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+ .attr('d', viewfieldPath);
+
+ function viewfieldPath() {
+ var d = this.parentNode.__data__;
+ if (d.pano) {
+ return 'M 8,13 m -10,0 a 10,10 0 1,0 20,0 a 10,10 0 1,0 -20,0';
+ } else {
+ return 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z';
+ }
+ }
+ }
+
+
+ function drawImages(selection$$1) {
+ var enabled = svgMapillaryImages$$1.enabled,
+ service = getService();
+
+ layer = selection$$1.selectAll('.layer-mapillary-images')
+ .data(service ? [0] : []);
+
+ layer.exit()
+ .remove();
+
+ var layerEnter = layer.enter()
+ .append('g')
+ .attr('class', 'layer-mapillary-images')
+ .style('display', enabled ? 'block' : 'none');
+
+ layerEnter
+ .append('g')
+ .attr('class', 'sequences');
+
+ layerEnter
+ .append('g')
+ .attr('class', 'markers');
+
+ layer = layerEnter
+ .merge(layer);
+
+ if (enabled) {
+ if (service && ~~context.map().zoom() >= minZoom) {
+ editOn();
+ update();
+ service.loadImages(projection);
+ } else {
+ editOff();
+ }
+ }
+ }
+
+
+ drawImages.enabled = function(_) {
+ if (!arguments.length) return svgMapillaryImages$$1.enabled;
+ svgMapillaryImages$$1.enabled = _;
+ if (svgMapillaryImages$$1.enabled) {
+ showLayer();
+ } else {
+ hideLayer();
+ }
+ dispatch.call('change');
+ return this;
+ };
+
+
+ drawImages.supported = function() {
+ return !!getService();
+ };
+
+
+ init();
+ return drawImages;
+ }
+
+ function svgMapillarySigns(projection, context, dispatch) {
+ var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+ var minZoom = 12;
+ var layer = select(null);
+ var _mapillary;
+
+
+ function init() {
+ if (svgMapillarySigns.initialized) return; // run once
+ svgMapillarySigns.enabled = false;
+ svgMapillarySigns.initialized = true;
+ }
+
+
+ function getService() {
+ if (services.mapillary && !_mapillary) {
+ _mapillary = services.mapillary;
+ _mapillary.event.on('loadedSigns', throttledRedraw);
+ } else if (!services.mapillary && _mapillary) {
+ _mapillary = null;
+ }
+ return _mapillary;
+ }
+
+
+ function showLayer() {
+ var service = getService();
+ if (!service) return;
+
+ service.loadViewer(context);
+ editOn();
+ }
+
+
+ function hideLayer() {
+ throttledRedraw.cancel();
+ editOff();
+ }
+
+
+ function editOn() {
+ layer.style('display', 'block');
+ }
+
+
+ function editOff() {
+ layer.selectAll('.icon-sign').remove();
+ layer.style('display', 'none');
+ }
+
+
+ function click(d) {
+ var service = getService();
+ if (!service) return;
+
+ context.map().centerEase(d.loc);
+
+ var selected = service.getSelectedImage();
+ var selectedImageKey = selected && selected.key;
+ var imageKey;
+
+ // Pick one of the images the sign was detected in,
+ // preference given to an image already selected.
+ d.detections.forEach(function(detection) {
+ if (!imageKey || selectedImageKey === detection.image_key) {
+ imageKey = detection.image_key;
+ }
+ });
+
+ service
+ .selectImage(null, imageKey)
+ .updateViewer(imageKey, context)
+ .showViewer();
+ }
+
+
+ function update() {
+ var service = getService();
+ var data = (service ? service.signs(projection) : []);
+ var viewer = select('#photoviewer');
+ var selected = viewer.empty() ? undefined : viewer.datum();
+ var selectedImageKey = selected && selected.key;
+
+ var signs = layer.selectAll('.icon-sign')
+ .data(data, function(d) { return d.key; });
+
+ signs.exit()
+ .remove();
+
+ var enter = signs.enter()
+ .append('foreignObject')
+ .attr('class', 'icon-sign')
+ .attr('width', '24px') // for Firefox
+ .attr('height', '24px') // for Firefox
+ .classed('selected', function(d) {
+ return some(d.detections, function(detection) {
+ return detection.image_key === selectedImageKey;
+ });
+ })
+ .on('click', click);
+
+ enter
+ .append('xhtml:body')
+ .attr('class', 'icon-sign-body')
+ .html(service.signHTML);
+
+ signs
+ .merge(enter)
+ .attr('x', function(d) { return projection(d.loc)[0] - 12; }) // offset by -12px to
+ .attr('y', function(d) { return projection(d.loc)[1] - 12; }); // center signs on loc
+ }
+
+
+ function drawSigns(selection$$1) {
+ var enabled = svgMapillarySigns.enabled,
+ service = getService();
+
+ layer = selection$$1.selectAll('.layer-mapillary-signs')
+ .data(service ? [0] : []);
+
+ layer.exit()
+ .remove();
+
+ layer = layer.enter()
+ .append('g')
+ .attr('class', 'layer-mapillary-signs')
+ .style('display', enabled ? 'block' : 'none')
+ .merge(layer);
+
+ if (enabled) {
+ if (service && ~~context.map().zoom() >= minZoom) {
+ editOn();
+ update();
+ service.loadSigns(context, projection);
+ } else {
+ editOff();
+ }
+ }
+ }
+
+
+ drawSigns.enabled = function(_) {
+ if (!arguments.length) return svgMapillarySigns.enabled;
+ svgMapillarySigns.enabled = _;
+ if (svgMapillarySigns.enabled) {
+ showLayer();
+ } else {
+ hideLayer();
+ }
+ dispatch.call('change');
+ return this;
+ };
+
+
+ drawSigns.supported = function() {
+ var service = getService();
+ return (service && service.signsSupported());
+ };
+
+
+ init();
+ return drawSigns;
+ }
+
+ function svgOpenstreetcamImages$$1(projection, context, dispatch) {
+ var throttledRedraw = throttle(function () { dispatch.call('change'); }, 1000);
+ var minZoom = 12;
+ var minMarkerZoom = 16;
+ var minViewfieldZoom = 18;
+ var layer = select(null);
+ var _openstreetcam;
+
+
+ function init() {
+ if (svgOpenstreetcamImages$$1.initialized) return; // run once
+ svgOpenstreetcamImages$$1.enabled = false;
+ svgOpenstreetcamImages$$1.initialized = true;
+ }
+
+
+ function getService() {
+ if (services.openstreetcam && !_openstreetcam) {
+ _openstreetcam = services.openstreetcam;
+ _openstreetcam.event.on('loadedImages', throttledRedraw);
+ } else if (!services.openstreetcam && _openstreetcam) {
+ _openstreetcam = null;
+ }
+
+ return _openstreetcam;
+ }
+
+
+ function showLayer() {
+ var service = getService();
+ if (!service) return;
+
+ service.loadViewer(context);
+ editOn();
+
+ layer
+ .style('opacity', 0)
+ .transition()
+ .duration(250)
+ .style('opacity', 1)
+ .on('end', function () { dispatch.call('change'); });
+ }
+
+
+ function hideLayer() {
+ var service = getService();
+ if (service) {
+ service.hideViewer();
+ }
+
+ throttledRedraw.cancel();
+
+ layer
+ .transition()
+ .duration(250)
+ .style('opacity', 0)
+ .on('end', editOff);
+ }
+
+
+ function editOn() {
+ layer.style('display', 'block');
+ }
+
+
+ function editOff() {
+ layer.selectAll('.viewfield-group').remove();
+ layer.style('display', 'none');
+ }
+
+
+ function click(d) {
+ var service = getService();
+ if (!service) return;
+
+ service
+ .selectImage(d)
+ .updateViewer(d)
+ .showViewer();
+
+ context.map().centerEase(d.loc);
+ }
+
+
+ function mouseover(d) {
+ var service = getService();
+ if (service) service.setStyles(d);
+ }
+
+
+ function mouseout() {
+ var service = getService();
+ if (service) service.setStyles(null);
+ }
+
+
+ function transform(d) {
+ var t = svgPointTransform(projection)(d);
+ if (d.ca) {
+ t += ' rotate(' + Math.floor(d.ca) + ',0,0)';
+ }
+ return t;
+ }
+
+
+ function update() {
+ var viewer = select('#photoviewer');
+ var selected = viewer.empty() ? undefined : viewer.datum();
+
+ var z = ~~context.map().zoom();
+ var showMarkers = (z >= minMarkerZoom);
+ var showViewfields = (z >= minViewfieldZoom);
+
+ var service = getService();
+ var sequences = (service ? service.sequences(projection) : []);
+ var images = (service && showMarkers ? service.images(projection) : []);
+
+ var traces = layer.selectAll('.sequences').selectAll('.sequence')
+ .data(sequences, function(d) { return d.properties.key; });
+
+ // exit
+ traces.exit()
+ .remove();
+
+ // enter/update
+ traces = traces.enter()
+ .append('path')
+ .attr('class', 'sequence')
+ .merge(traces)
+ .attr('d', svgPath(projection).geojson);
+
+
+ var groups = layer.selectAll('.markers').selectAll('.viewfield-group')
+ .data(images, function(d) { return d.key; });
+
+ // exit
+ groups.exit()
+ .remove();
+
+ // enter
+ var groupsEnter = groups.enter()
+ .append('g')
+ .attr('class', 'viewfield-group')
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout)
+ .on('click', click);
+
+ groupsEnter
+ .append('g')
+ .attr('class', 'viewfield-scale');
+
+ // update
+ var markers = groups
+ .merge(groupsEnter)
+ .sort(function(a, b) {
+ return (a === selected) ? 1
+ : (b === selected) ? -1
+ : b.loc[1] - a.loc[1]; // sort Y
+ })
+ .attr('transform', transform)
+ .select('.viewfield-scale');
+
+
+ markers.selectAll('circle')
+ .data([0])
+ .enter()
+ .append('circle')
+ .attr('dx', '0')
+ .attr('dy', '0')
+ .attr('r', '6');
+
+ var viewfields = markers.selectAll('.viewfield')
+ .data(showViewfields ? [0] : []);
+
+ viewfields.exit()
+ .remove();
+
+ viewfields.enter() // viewfields may or may not be drawn...
+ .insert('path', 'circle') // but if they are, draw below the circles
+ .attr('class', 'viewfield')
+ .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+ .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z');
+ }
+
+
+ function drawImages(selection$$1) {
+ var enabled = svgOpenstreetcamImages$$1.enabled,
+ service = getService();
+
+ layer = selection$$1.selectAll('.layer-openstreetcam-images')
+ .data(service ? [0] : []);
+
+ layer.exit()
+ .remove();
+
+ var layerEnter = layer.enter()
+ .append('g')
+ .attr('class', 'layer-openstreetcam-images')
+ .style('display', enabled ? 'block' : 'none');
+
+ layerEnter
+ .append('g')
+ .attr('class', 'sequences');
+
+ layerEnter
+ .append('g')
+ .attr('class', 'markers');
+
+ layer = layerEnter
+ .merge(layer);
+
+ if (enabled) {
+ if (service && ~~context.map().zoom() >= minZoom) {
+ editOn();
+ update();
+ service.loadImages(projection);
+ } else {
+ editOff();
+ }
+ }
+ }
+
+
+ drawImages.enabled = function(_) {
+ if (!arguments.length) return svgOpenstreetcamImages$$1.enabled;
+ svgOpenstreetcamImages$$1.enabled = _;
+ if (svgOpenstreetcamImages$$1.enabled) {
+ showLayer();
+ } else {
+ hideLayer();
+ }
+ dispatch.call('change');
+ return this;
+ };
+
+
+ drawImages.supported = function() {
+ return !!getService();
+ };
+
+
+ init();
+ return drawImages;
+ }
+
+ function svgOsm(projection, context, dispatch) {
+ var enabled = true;
+
+
+ function drawOsm(selection) {
+ selection.selectAll('.layer-osm')
+ .data(['covered', 'areas', 'lines', 'points', 'labels'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'layer-osm layer-' + d; });
+
+ selection.selectAll('.layer-areas').selectAll('.layer-areas-group')
+ .data(['areas', 'targets'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'layer-areas-group layer-areas-' + d; });
+
+ selection.selectAll('.layer-lines').selectAll('.layer-lines-group')
+ .data(['lines', 'targets'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'layer-lines-group layer-lines-' + d; });
+
+ selection.selectAll('.layer-points').selectAll('.layer-points-group')
+ .data(['points', 'midpoints', 'vertices', 'turns', 'targets'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'layer-points-group layer-points-' + d; });
+
+ selection.selectAll('.layer-labels').selectAll('.layer-labels-group')
+ .data(['halo', 'label', 'debug'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'layer-labels-group layer-labels-' + d; });
+ }
+
+
+ function showLayer() {
+ var layer = context.surface().selectAll('.data-layer-osm');
+ layer.interrupt();
+
+ layer
+ .classed('disabled', false)
+ .style('opacity', 0)
+ .transition()
+ .duration(250)
+ .style('opacity', 1)
+ .on('end interrupt', function () {
+ dispatch.call('change');
+ });
+ }
+
+
+ function hideLayer() {
+ var layer = context.surface().selectAll('.data-layer-osm');
+ layer.interrupt();
+
+ layer
+ .transition()
+ .duration(250)
+ .style('opacity', 0)
+ .on('end interrupt', function () {
+ layer.classed('disabled', true);
+ dispatch.call('change');
+ });
+ }
+
+
+ drawOsm.enabled = function(_) {
+ if (!arguments.length) return enabled;
+ enabled = _;
+
+ if (enabled) {
+ showLayer();
+ } else {
+ hideLayer();
+ }
+
+ dispatch.call('change');
+ return this;
+ };
+
+
+ return drawOsm;
+ }
+
+ function svgLayers(projection, context) {
+ var dispatch$$1 = dispatch('change'),
+ svg = select(null),
+ layers = [
+ { id: 'osm', layer: svgOsm(projection, context, dispatch$$1) },
+ { id: 'gpx', layer: svgGpx$$1(projection, context, dispatch$$1) },
+ { id: 'mapillary-images', layer: svgMapillaryImages$$1(projection, context, dispatch$$1) },
+ { id: 'mapillary-signs', layer: svgMapillarySigns(projection, context, dispatch$$1) },
+ { id: 'openstreetcam-images', layer: svgOpenstreetcamImages$$1(projection, context, dispatch$$1) },
+ { id: 'debug', layer: svgDebug$$1(projection, context, dispatch$$1) }
+ ];
+
+
+ function drawLayers(selection$$1) {
+ svg = selection$$1.selectAll('.surface')
+ .data([0]);
+
+ svg = svg.enter()
+ .append('svg')
+ .attr('class', 'surface')
+ .merge(svg);
+
+ var defs = svg.selectAll('.surface-defs')
+ .data([0]);
+
+ defs.enter()
+ .append('defs')
+ .attr('class', 'surface-defs');
+
+ var groups = svg.selectAll('.data-layer')
+ .data(layers);
+
+ groups.exit()
+ .remove();
+
+ groups.enter()
+ .append('g')
+ .attr('class', function(d) { return 'data-layer data-layer-' + d.id; })
+ .merge(groups)
+ .each(function(d) { select(this).call(d.layer); });
+ }
+
+
+ drawLayers.all = function() {
+ return layers;
+ };
+
+
+ drawLayers.layer = function(id) {
+ var obj = find$1(layers, function(o) {return o.id === id;});
+ return obj && obj.layer;
+ };
+
+
+ drawLayers.only = function(what) {
+ var arr = [].concat(what);
+ drawLayers.remove(difference(map$3(layers, 'id'), arr));
+ return this;
+ };
+
+
+ drawLayers.remove = function(what) {
+ var arr = [].concat(what);
+ arr.forEach(function(id) {
+ layers = reject(layers, function(o) {return o.id === id;});
+ });
+ dispatch$$1.call('change');
+ return this;
+ };
+
+
+ drawLayers.add = function(what) {
+ var arr = [].concat(what);
+ arr.forEach(function(obj) {
+ if ('id' in obj && 'layer' in obj) {
+ layers.push(obj);
+ }
+ });
+ dispatch$$1.call('change');
+ return this;
+ };
+
+
+ drawLayers.dimensions = function(_) {
+ if (!arguments.length) return utilGetDimensions(svg);
+ utilSetDimensions(svg, _);
+ return this;
+ };
+
+
+ return utilRebind(drawLayers, dispatch$$1, 'on');
+ }
+
+ function svgLines$$1(projection, context) {
+ var detected = utilDetect();
+
+ var highway_stack = {
+ motorway: 0,
+ motorway_link: 1,
+ trunk: 2,
+ trunk_link: 3,
+ primary: 4,
+ primary_link: 5,
+ secondary: 6,
+ tertiary: 7,
+ unclassified: 8,
+ residential: 9,
+ service: 10,
+ footway: 11
+ };
+
+
+ function drawTargets(selection, graph, entities, filter$$1) {
+ var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+ var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+ var getPath = svgPath(projection).geojson;
+ var activeID = context.activeID();
+
+ // The targets and nopes will be MultiLineString sub-segments of the ways
+ var data = { targets: [], nopes: [] };
+
+ entities.forEach(function(way) {
+ var features = svgSegmentWay(way, graph, activeID);
+ data.targets.push.apply(data.targets, features.passive);
+ data.nopes.push.apply(data.nopes, features.active);
+ });
+
+
+ // Targets allow hover and vertex snapping
+ var targetData = data.targets.filter(getPath);
+ var targets = selection.selectAll('.line.target-allowed')
+ .filter(function(d) { return filter$$1(d.properties.entity); })
+ .data(targetData, function key(d) { return d.id; });
+
+ // exit
+ targets.exit()
+ .remove();
+
+ // enter/update
+ targets.enter()
+ .append('path')
+ .merge(targets)
+ .attr('d', getPath)
+ .attr('class', function(d) { return 'way line target target-allowed ' + targetClass + d.id; });
+
+
+ // NOPE
+ var nopeData = data.nopes.filter(getPath);
+ var nopes = selection.selectAll('.line.target-nope')
+ .filter(function(d) { return filter$$1(d.properties.entity); })
+ .data(nopeData, function key(d) { return d.id; });
+
+ // exit
+ nopes.exit()
+ .remove();
+
+ // enter/update
+ nopes.enter()
+ .append('path')
+ .merge(nopes)
+ .attr('d', getPath)
+ .attr('class', function(d) { return 'way line target target-nope ' + nopeClass + d.id; });
+ }
+
+
+ function drawLines(selection, graph, entities, filter$$1) {
+
+ function waystack(a, b) {
+ var selected = context.selectedIDs();
+ var scoreA = selected.indexOf(a.id) !== -1 ? 20 : 0;
+ var scoreB = selected.indexOf(b.id) !== -1 ? 20 : 0;
+
+ if (a.tags.highway) { scoreA -= highway_stack[a.tags.highway]; }
+ if (b.tags.highway) { scoreB -= highway_stack[b.tags.highway]; }
+ return scoreA - scoreB;
+ }
+
+
+ function drawLineGroup(selection, klass, isSelected) {
+ // Note: Don't add `.selected` class in draw modes
+ var mode = context.mode();
+ var isDrawing = mode && /^draw/.test(mode.id);
+ var selectedClass = (!isDrawing && isSelected) ? 'selected ' : '';
+
+ var lines = selection
+ .selectAll('path')
+ .filter(filter$$1)
+ .data(getPathData(isSelected), osmEntity$$1.key);
+
+ lines.exit()
+ .remove();
+
+ // Optimization: Call expensive TagClasses only on enter selection. This
+ // works because osmEntity.key is defined to include the entity v attribute.
+ lines.enter()
+ .append('path')
+ .attr('class', function(d) {
+ var oldMPClass = oldMultiPolygonOuters[d.id] ? 'old-multipolygon ' : '';
+ return 'way line ' + klass + ' ' + selectedClass + oldMPClass + d.id;
+ })
+ .call(svgTagClasses())
+ .merge(lines)
+ .sort(waystack)
+ .attr('d', getPath)
+ .call(svgTagClasses().tags(svgRelationMemberTags(graph)));
+
+ return selection;
+ }
+
+
+ function getPathData(isSelected) {
+ return function() {
+ var layer = this.parentNode.__data__;
+ var data = pathdata[layer] || [];
+ return data.filter(function(d) {
+ if (isSelected)
+ return context.selectedIDs().indexOf(d.id) !== -1;
+ else
+ return context.selectedIDs().indexOf(d.id) === -1;
+ });
+ };
+ }
+
+
+ var getPath = svgPath(projection, graph);
+ var ways = [];
+ var pathdata = {};
+ var onewaydata = {};
+ var oldMultiPolygonOuters = {};
+
+ for (var i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+ var outer = osmSimpleMultipolygonOuterMember(entity, graph);
+ if (outer) {
+ ways.push(entity.mergeTags(outer.tags));
+ oldMultiPolygonOuters[outer.id] = true;
+ } else if (entity.geometry(graph) === 'line') {
+ ways.push(entity);
+ }
+ }
+
+ ways = ways.filter(getPath);
+ pathdata = groupBy(ways, function(way) { return way.layer(); });
+
+ forOwn(pathdata, function(v, k) {
+ var arr = filter(v, function(d) { return d.isOneWay(); });
+ onewaydata[k] = flatten(map$3(arr, svgOneWaySegments(projection, graph, 35)));
+ });
+
+
+ var covered = selection.selectAll('.layer-covered'); // under areas
+ var uncovered = selection.selectAll('.layer-lines .layer-lines-lines'); // over areas
+
+ [covered, uncovered].forEach(function(selection) {
+ var range$$1 = (selection === covered ? range(-10,0) : range(0,11));
+ var layergroup = selection
+ .selectAll('g.layergroup')
+ .data(range$$1);
+
+ layergroup = layergroup.enter()
+ .append('g')
+ .attr('class', function(d) { return 'layergroup layer' + String(d); })
+ .merge(layergroup);
+
+ layergroup
+ .selectAll('g.linegroup')
+ .data(['shadow', 'casing', 'stroke', 'shadow-highlighted', 'casing-highlighted', 'stroke-highlighted'])
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'linegroup line-' + d; });
+
+ layergroup.selectAll('g.line-shadow')
+ .call(drawLineGroup, 'shadow', false);
+ layergroup.selectAll('g.line-casing')
+ .call(drawLineGroup, 'casing', false);
+ layergroup.selectAll('g.line-stroke')
+ .call(drawLineGroup, 'stroke', false);
+
+ layergroup.selectAll('g.line-shadow-highlighted')
+ .call(drawLineGroup, 'shadow', true);
+ layergroup.selectAll('g.line-casing-highlighted')
+ .call(drawLineGroup, 'casing', true);
+ layergroup.selectAll('g.line-stroke-highlighted')
+ .call(drawLineGroup, 'stroke', true);
+
+
+ var onewaygroup = layergroup
+ .selectAll('g.onewaygroup')
+ .data(['oneway']);
+
+ onewaygroup = onewaygroup.enter()
+ .append('g')
+ .attr('class', 'onewaygroup')
+ .merge(onewaygroup);
+
+ var oneways = onewaygroup
+ .selectAll('path')
+ .filter(filter$$1)
+ .data(
+ function data() { return onewaydata[this.parentNode.__data__] || []; },
+ function key(d) { return [d.id, d.index]; }
+ );
+
+ oneways.exit()
+ .remove();
+
+ oneways = oneways.enter()
+ .append('path')
+ .attr('class', 'oneway')
+ .attr('marker-mid', 'url(#oneway-marker)')
+ .merge(oneways)
+ .attr('d', function(d) { return d.d; });
+
+ if (detected.ie) {
+ oneways.each(function() { this.parentNode.insertBefore(this, this); });
+ }
+ });
+
+ // touch targets
+ selection.selectAll('.layer-lines .layer-lines-targets')
+ .call(drawTargets, graph, ways, filter$$1);
+ }
+
+
+ return drawLines;
+ }
+
+ function svgMidpoints$$1(projection, context) {
+ var targetRadius = 8;
+
+ function drawTargets(selection, graph, entities, filter) {
+ var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+ var getTransform = svgPointTransform(projection).geojson;
+
+ var data = entities.map(function(midpoint) {
+ return {
+ type: 'Feature',
+ id: midpoint.id,
+ properties: {
+ target: true,
+ entity: midpoint
+ },
+ geometry: {
+ type: 'Point',
+ coordinates: midpoint.loc
+ }
+ };
+ });
+
+ var targets = selection.selectAll('.midpoint.target')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(data, function key(d) { return d.id; });
+
+ // exit
+ targets.exit()
+ .remove();
+
+ // enter/update
+ targets.enter()
+ .append('circle')
+ .attr('r', targetRadius)
+ .merge(targets)
+ .attr('class', function(d) { return 'node midpoint target ' + fillClass + d.id; })
+ .attr('transform', getTransform);
+ }
+
+
+ function drawMidpoints(selection, graph, entities, filter, extent) {
+ var layer = selection.selectAll('.layer-points .layer-points-midpoints');
+
+ var mode = context.mode();
+ if (mode && mode.id !== 'select') {
+ layer.selectAll('g.midpoint')
+ .remove();
+
+ selection.selectAll('.layer-points .layer-points-targets .midpoint.target')
+ .remove();
+
+ return;
+ }
+
+ var poly = extent.polygon();
+ var midpoints = {};
+
+ for (var i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+
+ if (entity.type !== 'way')
+ continue;
+ if (!filter(entity))
+ continue;
+ if (context.selectedIDs().indexOf(entity.id) < 0)
+ continue;
+
+ var nodes = graph.childNodes(entity);
+ for (var j = 0; j < nodes.length - 1; j++) {
+
+ var a = nodes[j];
+ var b = nodes[j + 1];
+ var id = [a.id, b.id].sort().join('-');
+
+ if (midpoints[id]) {
+ midpoints[id].parents.push(entity);
+ } else {
+ if (geoVecLength(projection(a.loc), projection(b.loc)) > 40) {
+ var point = geoVecInterp(a.loc, b.loc, 0.5);
+ var loc = null;
+
+ if (extent.intersects(point)) {
+ loc = point;
+ } else {
+ for (var k = 0; k < 4; k++) {
+ point = geoLineIntersection([a.loc, b.loc], [poly[k], poly[k + 1]]);
+ if (point &&
+ geoVecLength(projection(a.loc), projection(point)) > 20 &&
+ geoVecLength(projection(b.loc), projection(point)) > 20)
+ {
+ loc = point;
+ break;
+ }
+ }
+ }
+
+ if (loc) {
+ midpoints[id] = {
+ type: 'midpoint',
+ id: id,
+ loc: loc,
+ edge: [a.id, b.id],
+ parents: [entity]
+ };
+ }
+ }
+ }
+ }
+ }
+
+
+ function midpointFilter(d) {
+ if (midpoints[d.id])
+ return true;
+
+ for (var i = 0; i < d.parents.length; i++) {
+ if (filter(d.parents[i])) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+
+ var groups = layer
+ .selectAll('g.midpoint')
+ .filter(midpointFilter)
+ .data(values$1(midpoints), function(d) { return d.id; });
+
+ groups.exit()
+ .remove();
+
+ var enter = groups.enter()
+ .insert('g', ':first-child')
+ .attr('class', 'midpoint');
+
+ enter
+ .append('polygon')
+ .attr('points', '-6,8 10,0 -6,-8')
+ .attr('class', 'shadow');
+
+ enter
+ .append('polygon')
+ .attr('points', '-3,4 5,0 -3,-4')
+ .attr('class', 'fill');
+
+ groups = groups
+ .merge(enter)
+ .attr('transform', function(d) {
+ var translate = svgPointTransform(projection);
+ var a = graph.entity(d.edge[0]);
+ var b = graph.entity(d.edge[1]);
+ var angle = geoAngle(a, b, projection) * (180 / Math.PI);
+ return translate(d) + ' rotate(' + angle + ')';
+ })
+ .call(svgTagClasses().tags(
+ function(d) { return d.parents[0].tags; }
+ ));
+
+ // Propagate data bindings.
+ groups.select('polygon.shadow');
+ groups.select('polygon.fill');
+
+
+ // Draw touch targets..
+ selection.selectAll('.layer-points .layer-points-targets')
+ .call(drawTargets, graph, values$1(midpoints), midpointFilter);
+ }
+
+ return drawMidpoints;
+ }
+
+ // Touch targets control which other vertices we can drag a vertex onto.
+ //
+ // - the activeID - nope
+ // - 1 away (adjacent) to the activeID - yes (vertices will be merged)
+ // - 2 away from the activeID - nope (would create a self intersecting segment)
+ // - all others on a linear way - yes
+ // - all others on a closed way - nope (would create a self intersecting polygon)
+ //
+ // returns
+ // 0 = active vertex - no touch/connect
+ // 1 = passive vertex - yes touch/connect
+ // 2 = adjacent vertex - yes but pay attention segmenting a line here
+ //
+ function svgPassiveVertex(node, graph, activeID) {
+ if (!activeID) return 1;
+ if (activeID === node.id) return 0;
+
+ var parents = graph.parentWays(node);
+
+ for (var i = 0; i < parents.length; i++) {
+ var nodes = parents[i].nodes;
+ var isClosed = parents[i].isClosed();
+ for (var j = 0; j < nodes.length; j++) { // find this vertex, look nearby
+ if (nodes[j] === node.id) {
+ var ix1 = j - 2;
+ var ix2 = j - 1;
+ var ix3 = j + 1;
+ var ix4 = j + 2;
+
+ if (isClosed) { // wraparound if needed
+ var max = nodes.length - 1;
+ if (ix1 < 0) ix1 = max + ix1;
+ if (ix2 < 0) ix2 = max + ix2;
+ if (ix3 > max) ix3 = ix3 - max;
+ if (ix4 > max) ix4 = ix4 - max;
+ }
+
+ if (nodes[ix1] === activeID) return 0; // no - prevent self intersect
+ else if (nodes[ix2] === activeID) return 2; // ok - adjacent
+ else if (nodes[ix3] === activeID) return 2; // ok - adjacent
+ else if (nodes[ix4] === activeID) return 0; // no - prevent self intersect
+ else if (isClosed && nodes.indexOf(activeID) !== -1) return 0; // no - prevent self intersect
+ }
+ }
+ }
+
+ return 1; // ok
+ }
+
+
+ function svgOneWaySegments(projection$$1, graph, dt) {
+ return function(entity) {
+ var i = 0;
+ var offset = dt;
+ var segments = [];
+ var clip = d3_geoIdentity().clipExtent(projection$$1.clipExtent()).stream;
+ var coordinates = graph.childNodes(entity).map(function(n) { return n.loc; });
+ var a, b;
+
+ if (entity.tags.oneway === '-1') {
+ coordinates.reverse();
+ }
+
+ var isReversible = (entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating');
+
+ geoStream({
+ type: 'LineString',
+ coordinates: coordinates
+ }, projection$$1.stream(clip({
+ lineStart: function() {},
+ lineEnd: function() { a = null; },
+ point: function(x, y) {
+ b = [x, y];
+
+ if (a) {
+ var span = geoVecLength(a, b) - offset;
+
+ if (span >= 0) {
+ var heading = geoVecAngle(a, b);
+ var dx = dt * Math.cos(heading);
+ var dy = dt * Math.sin(heading);
+ var p = [
+ a[0] + offset * Math.cos(heading),
+ a[1] + offset * Math.sin(heading)
+ ];
+
+ // gather coordinates
+ var coord = [a, p];
+ for (span -= dt; span >= 0; span -= dt) {
+ p = geoVecAdd(p, [dx, dy]);
+ coord.push(p);
+ }
+ coord.push(b);
+
+ // generate svg paths
+ var segment = '';
+ var j;
+
+ for (j = 0; j < coord.length; j++) {
+ segment += (j === 0 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1];
+ }
+ segments.push({ id: entity.id, index: i++, d: segment });
+
+ if (isReversible) {
+ segment = '';
+ for (j = coord.length - 1; j >= 0; j--) {
+ segment += (j === coord.length - 1 ? 'M' : 'L') + coord[j][0] + ',' + coord[j][1];
+ }
+ segments.push({ id: entity.id, index: i++, d: segment });
+ }
+ }
+
+ offset = -span;
+ }
+
+ a = b;
+ }
+ })));
+
+ return segments;
+ };
+ }
+
+
+ function svgPath(projection$$1, graph, isArea) {
+
+ // Explanation of magic numbers:
+ // "padding" here allows space for strokes to extend beyond the viewport,
+ // so that the stroke isn't drawn along the edge of the viewport when
+ // the shape is clipped.
+ //
+ // When drawing lines, pad viewport by 5px.
+ // When drawing areas, pad viewport by 65px in each direction to allow
+ // for 60px area fill stroke (see ".fill-partial path.fill" css rule)
+
+ var cache = {};
+ var padding = isArea ? 65 : 5;
+ var viewport = projection$$1.clipExtent();
+ var paddedExtent = [
+ [viewport[0][0] - padding, viewport[0][1] - padding],
+ [viewport[1][0] + padding, viewport[1][1] + padding]
+ ];
+ var clip = d3_geoIdentity().clipExtent(paddedExtent).stream;
+ var project = projection$$1.stream;
+ var path = d3_geoPath()
+ .projection({stream: function(output) { return project(clip(output)); }});
+
+ var svgpath = function(entity) {
+ if (entity.id in cache) {
+ return cache[entity.id];
+ } else {
+ return cache[entity.id] = path(entity.asGeoJSON(graph));
+ }
+ };
+
+ svgpath.geojson = path;
+
+ return svgpath;
+ }
+
+
+ function svgPointTransform(projection$$1) {
+ var svgpoint = function(entity) {
+ // http://jsperf.com/short-array-join
+ var pt = projection$$1(entity.loc);
+ return 'translate(' + pt[0] + ',' + pt[1] + ')';
+ };
+
+ svgpoint.geojson = function(d) {
+ return svgpoint(d.properties.entity);
+ };
+
+ return svgpoint;
+ }
+
+
+ function svgRelationMemberTags(graph) {
+ return function(entity) {
+ var tags = entity.tags;
+ graph.parentRelations(entity).forEach(function(relation) {
+ var type = relation.tags.type;
+ if (type === 'multipolygon' || type === 'boundary') {
+ tags = assignIn({}, relation.tags, tags);
+ }
+ });
+ return tags;
+ };
+ }
+
+
+ function svgSegmentWay(way, graph, activeID) {
+ var isActiveWay = (way.nodes.indexOf(activeID) !== -1);
+ var features = { passive: [], active: [] };
+ var start = {};
+ var end = {};
+ var node, type;
+
+ for (var i = 0; i < way.nodes.length; i++) {
+ node = graph.entity(way.nodes[i]);
+ type = svgPassiveVertex(node, graph, activeID);
+ end = { node: node, type: type };
+
+ if (start.type !== undefined) {
+ if (start.node.id === activeID || end.node.id === activeID) {
+ // push nothing
+ } else if (isActiveWay && (start.type === 2 || end.type === 2)) { // one adjacent vertex
+ pushActive(start, end, i);
+ } else if (start.type === 0 && end.type === 0) { // both active vertices
+ pushActive(start, end, i);
+ } else {
+ pushPassive(start, end, i);
+ }
+ }
+
+ start = end;
+ }
+
+ return features;
+
+
+ function pushActive(start, end, index) {
+ features.active.push({
+ type: 'Feature',
+ id: way.id + '-' + index + '-nope',
+ properties: {
+ nope: true,
+ target: true,
+ entity: way,
+ nodes: [start.node, end.node],
+ index: index
+ },
+ geometry: {
+ type: 'LineString',
+ coordinates: [start.node.loc, end.node.loc]
+ }
+ });
+ }
+
+ function pushPassive(start, end, index) {
+ features.passive.push({
+ type: 'Feature',
+ id: way.id + '-' + index,
+ properties: {
+ target: true,
+ entity: way,
+ nodes: [start.node, end.node],
+ index: index
+ },
+ geometry: {
+ type: 'LineString',
+ coordinates: [start.node.loc, end.node.loc]
+ }
+ });
+ }
+ }
+
+ function svgPoints$$1(projection, context) {
+
+ function markerPath(selection, klass) {
+ selection
+ .attr('class', klass)
+ .attr('transform', 'translate(-8, -23)')
+ .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
+ }
+
+ function sortY(a, b) {
+ return b.loc[1] - a.loc[1];
+ }
+
+
+ // Avoid exit/enter if we're just moving stuff around.
+ // The node will get a new version but we only need to run the update selection.
+ function fastEntityKey(d) {
+ var mode = context.mode();
+ var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+ return isMoving ? d.id : osmEntity$$1.key(d);
+ }
+
+
+ function drawTargets(selection, graph, entities, filter) {
+ var fillClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+ var getTransform = svgPointTransform(projection).geojson;
+ var activeID = context.activeID();
+ var data$$1 = [];
+
+ entities.forEach(function(node) {
+ if (activeID === node.id) return; // draw no target on the activeID
+
+ data$$1.push({
+ type: 'Feature',
+ id: node.id,
+ properties: {
+ target: true,
+ entity: node
+ },
+ geometry: node.asGeoJSON()
+ });
+ });
+
+ var targets = selection.selectAll('.point.target')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(data$$1, function key(d) { return d.id; });
+
+ // exit
+ targets.exit()
+ .remove();
+
+ // enter/update
+ targets.enter()
+ .append('rect')
+ .attr('x', -10)
+ .attr('y', -26)
+ .attr('width', 20)
+ .attr('height', 30)
+ .merge(targets)
+ .attr('class', function(d) { return 'node point target ' + fillClass + d.id; })
+ .attr('transform', getTransform);
+ }
+
+
+ function drawPoints(selection, graph, entities, filter) {
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection.scale());
+
+ // points with a direction will render as vertices at higher zooms
+ function renderAsPoint(entity) {
+ return entity.geometry(graph) === 'point' &&
+ !(zoom >= 18 && entity.directions(graph, projection).length);
+ }
+
+ // all points will render as vertices in wireframe mode too
+ var points = wireframe ? [] : entities.filter(renderAsPoint);
+
+ points.sort(sortY);
+
+
+ var layer = selection.selectAll('.layer-points .layer-points-points');
+
+ var groups = layer.selectAll('g.point')
+ .filter(filter)
+ .data(points, fastEntityKey);
+
+ groups.exit()
+ .remove();
+
+ var enter = groups.enter()
+ .append('g')
+ .attr('class', function(d) { return 'node point ' + d.id; })
+ .order();
+
+ enter
+ .append('path')
+ .call(markerPath, 'shadow');
+
+ enter
+ .append('ellipse')
+ .attr('cx', 0.5)
+ .attr('cy', 1)
+ .attr('rx', 6.5)
+ .attr('ry', 3)
+ .attr('class', 'stroke');
+
+ enter
+ .append('path')
+ .call(markerPath, 'stroke');
+
+ enter
+ .append('use')
+ .attr('transform', 'translate(-5, -19)')
+ .attr('class', 'icon')
+ .attr('width', '11px')
+ .attr('height', '11px');
+
+ groups = groups
+ .merge(enter)
+ .attr('transform', svgPointTransform(projection))
+ .call(svgTagClasses());
+
+ // Selecting the following implicitly
+ // sets the data (point entity) on the element
+ groups.select('.shadow');
+ groups.select('.stroke');
+ groups.select('.icon')
+ .attr('xlink:href', function(entity) {
+ var preset = context.presets().match(entity, graph);
+ var picon = preset && preset.icon;
+
+ if (!picon)
+ return '';
+ else {
+ var isMaki = dataFeatureIcons.indexOf(picon) !== -1;
+ return '#' + picon + (isMaki ? '-11' : '');
+ }
+ });
+
+
+ // touch targets
+ selection.selectAll('.layer-points .layer-points-targets')
+ .call(drawTargets, graph, points, filter);
+ }
+
+
+ return drawPoints;
+ }
+
+ function svgTagClasses() {
+ var primaries = [
+ 'building', 'highway', 'railway', 'waterway', 'aeroway',
+ 'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse',
+ 'leisure', 'military', 'place'
+ ],
+ statuses = [
+ 'proposed', 'construction', 'disused', 'abandoned', 'dismantled',
+ 'razed', 'demolished', 'obliterated', 'intermittent'
+ ],
+ secondaries = [
+ 'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier',
+ 'surface', 'tracktype', 'crossing', 'service', 'sport'
+ ],
+ tagClassRe = /^tag-/,
+ tags = function(entity) { return entity.tags; };
+
+
+ var tagClasses = function(selection$$1) {
+ selection$$1.each(function tagClassesEach(entity) {
+ var value = this.className,
+ classes, primary, status;
+
+ if (value.baseVal !== undefined) value = value.baseVal;
+
+ classes = value.trim().split(/\s+/).filter(function(name) {
+ return name.length && !tagClassRe.test(name);
+ }).join(' ');
+
+ var t = tags(entity), i, k, v;
+
+ // pick at most one primary classification tag..
+ for (i = 0; i < primaries.length; i++) {
+ k = primaries[i];
+ v = t[k];
+ if (!v || v === 'no') continue;
+
+ primary = k;
+ if (statuses.indexOf(v) !== -1) { // e.g. `railway=abandoned`
+ status = v;
+ classes += ' tag-' + k;
+ } else {
+ classes += ' tag-' + k + ' tag-' + k + '-' + v;
+ }
+
+ break;
+ }
+
+ // add at most one status tag, only if relates to primary tag..
+ if (!status) {
+ for (i = 0; i < statuses.length; i++) {
+ k = statuses[i];
+ v = t[k];
+ if (!v || v === 'no') continue;
+
+ if (v === 'yes') { // e.g. `railway=rail + abandoned=yes`
+ status = k;
+ }
+ else if (primary && primary === v) { // e.g. `railway=rail + abandoned=railway`
+ status = k;
+ } else if (!primary && primaries.indexOf(v) !== -1) { // e.g. `abandoned=railway`
+ status = k;
+ primary = v;
+ classes += ' tag-' + v;
+ } // else ignore e.g. `highway=path + abandoned=railway`
+
+ if (status) break;
+ }
+ }
+
+ if (status) {
+ classes += ' tag-status tag-status-' + status;
+ }
+
+ // add any secondary (structure) tags
+ for (i = 0; i < secondaries.length; i++) {
+ k = secondaries[i];
+ v = t[k];
+ if (!v || v === 'no') continue;
+ classes += ' tag-' + k + ' tag-' + k + '-' + v;
+ }
+
+ // For highways, look for surface tagging..
+ if (primary === 'highway') {
+ var paved = (t.highway !== 'track');
+ for (k in t) {
+ v = t[k];
+ if (k in osmPavedTags) {
+ paved = !!osmPavedTags[k][v];
+ break;
+ }
+ }
+ if (!paved) {
+ classes += ' tag-unpaved';
+ }
+ }
+
+ classes = classes.trim();
+
+ if (classes !== value) {
+ select(this).attr('class', classes);
+ }
+ });
+ };
+
+
+ tagClasses.tags = function(_) {
+ if (!arguments.length) return tags;
+ tags = _;
+ return tagClasses;
+ };
+
+ return tagClasses;
+ }
+
+ function svgTurns(projection) {
+
+ return function drawTurns(selection, graph, turns) {
+
+ function icon(turn) {
+ var u = turn.u ? '-u' : '';
+ if (turn.no) return '#turn-no' + u;
+ if (turn.only) return '#turn-only' + u;
+ return '#turn-yes' + u;
+ }
+
+ var layer = selection.selectAll('.data-layer-osm').selectAll('.layer-turns')
+ .data([0]);
+
+ layer = layer.enter()
+ .append('g')
+ .attr('class', 'layer-osm layer-turns')
+ .merge(layer);
+
+
+ var groups = layer.selectAll('g.turn')
+ .data(turns, function(d) { return d.key; });
+
+ groups.exit()
+ .remove();
+
+
+ var enter = groups.enter()
+ .append('g')
+ .attr('class', function(d) { return 'turn ' + d.key; });
+
+ var nEnter = enter
+ .filter(function(d) { return !d.u; });
+
+ nEnter.append('rect')
+ .attr('transform', 'translate(-22, -12)')
+ .attr('width', '44')
+ .attr('height', '24');
+
+ nEnter.append('use')
+ .attr('transform', 'translate(-22, -12)')
+ .attr('width', '44')
+ .attr('height', '24');
+
+
+ var uEnter = enter
+ .filter(function(d) { return d.u; });
+
+ uEnter.append('circle')
+ .attr('r', '16');
+
+ uEnter.append('use')
+ .attr('transform', 'translate(-16, -16)')
+ .attr('width', '32')
+ .attr('height', '32');
+
+
+ groups = groups
+ .merge(enter);
+
+ groups
+ .attr('opacity', function(d) {
+ return d.direct === false ? '0.7' : null;
+ })
+ .attr('transform', function(d) {
+ var pxRadius = 50;
+ var toWay = graph.entity(d.to.way);
+ var toPoints = graph.childNodes(toWay)
+ .map(function (n) { return n.loc; })
+ .map(projection);
+ var toLength = geoPathLength(toPoints);
+ var mid = toLength / 2; // midpoint of destination way
+
+ var toNode = graph.entity(d.to.node);
+ var toVertex = graph.entity(d.to.vertex);
+ var a = geoAngle(toVertex, toNode, projection);
+ var o = projection(toVertex.loc);
+ var r = d.u ? 0 // u-turn: no radius
+ : !toWay.__via ? pxRadius // leaf way: put marker at pxRadius
+ : Math.min(mid, pxRadius); // via way: prefer pxRadius, fallback to mid for very short ways
+
+ return 'translate(' + (r * Math.cos(a) + o[0]) + ',' + (r * Math.sin(a) + o[1]) + ') ' +
+ 'rotate(' + a * 180 / Math.PI + ')';
+ });
+
+ groups.select('use')
+ .attr('xlink:href', icon);
+
+ groups.select('rect');
+ groups.select('circle');
+
+ return this;
+ };
+ }
+
+ function svgVertices$$1(projection, context) {
+ var radiuses = {
+ // z16-, z17, z18+, w/icon
+ shadow: [6, 7.5, 7.5, 12],
+ stroke: [2.5, 3.5, 3.5, 8],
+ fill: [1, 1.5, 1.5, 1.5]
+ };
+
+ var _currHoverTarget;
+ var _currPersistent = {};
+ var _currHover = {};
+ var _prevHover = {};
+ var _currSelected = {};
+ var _prevSelected = {};
+ var _radii = {};
+
+
+ function sortY(a, b) {
+ return b.loc[1] - a.loc[1];
+ }
+
+ // Avoid exit/enter if we're just moving stuff around.
+ // The node will get a new version but we only need to run the update selection.
+ function fastEntityKey(d) {
+ var mode = context.mode();
+ var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+ return isMoving ? d.id : osmEntity$$1.key(d);
+ }
+
+
+ function draw(selection$$1, graph, vertices, sets, filter) {
+ sets = sets || { selected: {}, important: {}, hovered: {} };
+
+ var icons = {};
+ var directions = {};
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection.scale());
+ var z = (zoom < 17 ? 0 : zoom < 18 ? 1 : 2);
+
+
+ function getIcon(entity) {
+ if (entity.id in icons) return icons[entity.id];
+
+ icons[entity.id] =
+ entity.hasInterestingTags() &&
+ context.presets().match(entity, graph).icon;
+ return icons[entity.id];
+ }
+
+
+ // memoize directions results, return false for empty arrays (for use in filter)
+ function getDirections(entity) {
+ if (entity.id in directions) return directions[entity.id];
+
+ var angles = entity.directions(graph, projection);
+ directions[entity.id] = angles.length ? angles : false;
+ return angles;
+ }
+
+
+ function updateAttributes(selection$$1) {
+ ['shadow', 'stroke', 'fill'].forEach(function(klass) {
+ var rads = radiuses[klass];
+ selection$$1.selectAll('.' + klass)
+ .each(function(entity) {
+ var i = z && getIcon(entity);
+ var r = rads[i ? 3 : z];
+
+ // slightly increase the size of unconnected endpoints #3775
+ if (entity.isEndpoint(graph) && !entity.isConnected(graph)) {
+ r += 1.5;
+ }
+
+ if (klass === 'shadow') { // remember this value, so we don't need to
+ _radii[entity.id] = r; // recompute it when we draw the touch targets
+ }
+
+ select(this)
+ .attr('r', r)
+ .attr('visibility', (i && klass === 'fill') ? 'hidden' : null);
+ });
+ });
+
+ selection$$1.selectAll('use')
+ .attr('visibility', (z === 0 ? 'hidden' : null));
+ }
+
+ vertices.sort(sortY);
+
+ var groups = selection$$1.selectAll('g.vertex')
+ .filter(filter)
+ .data(vertices, fastEntityKey);
+
+ // exit
+ groups.exit()
+ .remove();
+
+ // enter
+ var enter = groups.enter()
+ .append('g')
+ .attr('class', function(d) { return 'node vertex ' + d.id; })
+ .order();
+
+ enter
+ .append('circle')
+ .attr('class', 'shadow');
+
+ enter
+ .append('circle')
+ .attr('class', 'stroke');
+
+ // Vertices with icons get a `use`.
+ enter.filter(function(d) { return getIcon(d); })
+ .append('use')
+ .attr('class', 'icon')
+ .attr('width', '11px')
+ .attr('height', '11px')
+ .attr('transform', 'translate(-5.5, -5.5)')
+ .attr('xlink:href', function(d) {
+ var picon = getIcon(d);
+ var isMaki = dataFeatureIcons.indexOf(picon) !== -1;
+ return '#' + picon + (isMaki ? '-11' : '');
+ });
+
+ // Vertices with tags get a fill.
+ enter.filter(function(d) { return d.hasInterestingTags(); })
+ .append('circle')
+ .attr('class', 'fill');
+
+ // update
+ groups = groups
+ .merge(enter)
+ .attr('transform', svgPointTransform(projection))
+ .classed('sibling', function(d) { return d.id in sets.selected; })
+ .classed('shared', function(d) { return graph.isShared(d); })
+ .classed('endpoint', function(d) { return d.isEndpoint(graph); })
+ .call(updateAttributes);
+
+
+ // Directional vertices get viewfields
+ var dgroups = groups.filter(function(d) { return getDirections(d); })
+ .selectAll('.viewfieldgroup')
+ .data(function data$$1(d) { return zoom >= 18 ? [d] : []; }, osmEntity$$1.key);
+
+ // exit
+ dgroups.exit()
+ .remove();
+
+ // enter/update
+ dgroups = dgroups.enter()
+ .insert('g', '.shadow')
+ .attr('class', 'viewfieldgroup')
+ .merge(dgroups);
+
+ var viewfields = dgroups.selectAll('.viewfield')
+ .data(getDirections, function key(d) { return d; });
+
+ // exit
+ viewfields.exit()
+ .remove();
+
+ // enter/update
+ viewfields.enter()
+ .append('path')
+ .attr('class', 'viewfield')
+ .attr('d', 'M0,0H0')
+ .merge(viewfields)
+ .attr('marker-start', 'url(#viewfield-marker' + (wireframe ? '-wireframe' : '') + ')')
+ .attr('transform', function(d) { return 'rotate(' + d + ')'; });
+ }
+
+
+ function drawTargets(selection$$1, graph, entities, filter) {
+ var targetClass = context.getDebug('target') ? 'pink ' : 'nocolor ';
+ var nopeClass = context.getDebug('target') ? 'red ' : 'nocolor ';
+ var getTransform = svgPointTransform(projection).geojson;
+ var activeID = context.activeID();
+ var data$$1 = { targets: [], nopes: [] };
+
+ entities.forEach(function(node) {
+ if (activeID === node.id) return; // draw no target on the activeID
+
+ var vertexType = svgPassiveVertex(node, graph, activeID);
+ if (vertexType !== 0) { // passive or adjacent - allow to connect
+ data$$1.targets.push({
+ type: 'Feature',
+ id: node.id,
+ properties: {
+ target: true,
+ entity: node
+ },
+ geometry: node.asGeoJSON()
+ });
+ } else {
+ data$$1.nopes.push({
+ type: 'Feature',
+ id: node.id + '-nope',
+ properties: {
+ nope: true,
+ target: true,
+ entity: node
+ },
+ geometry: node.asGeoJSON()
+ });
+ }
+ });
+
+
+ // Targets allow hover and vertex snapping
+ var targets = selection$$1.selectAll('.vertex.target-allowed')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(data$$1.targets, function key(d) { return d.id; });
+
+ // exit
+ targets.exit()
+ .remove();
+
+ // enter/update
+ targets.enter()
+ .append('circle')
+ .attr('r', function(d) { return (_radii[d.id] || radiuses.shadow[3]); })
+ .merge(targets)
+ .attr('class', function(d) { return 'node vertex target target-allowed ' + targetClass + d.id; })
+ .attr('transform', getTransform);
+
+
+ // NOPE
+ var nopes = selection$$1.selectAll('.vertex.target-nope')
+ .filter(function(d) { return filter(d.properties.entity); })
+ .data(data$$1.nopes, function key(d) { return d.id; });
+
+ // exit
+ nopes.exit()
+ .remove();
+
+ // enter/update
+ nopes.enter()
+ .append('circle')
+ .attr('r', function(d) { return (_radii[d.properties.entity.id] || radiuses.shadow[3]); })
+ .merge(nopes)
+ .attr('class', function(d) { return 'node vertex target target-nope ' + nopeClass + d.id; })
+ .attr('transform', getTransform);
+ }
+
+
+ // Points can also render as vertices:
+ // 1. in wireframe mode or
+ // 2. at higher zooms if they have a direction
+ function renderAsVertex(entity, graph, wireframe, zoom) {
+ var geometry = entity.geometry(graph);
+ return geometry === 'vertex' || (geometry === 'point' && (
+ wireframe || (zoom >= 18 && entity.directions(graph, projection).length)
+ ));
+ }
+
+
+ function getSiblingAndChildVertices(ids, graph, wireframe, zoom) {
+ var results = {};
+
+ function addChildVertices(entity) {
+ var geometry = entity.geometry(graph);
+ if (!context.features().isHiddenFeature(entity, graph, geometry)) {
+ var i;
+ if (entity.type === 'way') {
+ for (i = 0; i < entity.nodes.length; i++) {
+ var child = graph.hasEntity(entity.nodes[i]);
+ if (child) {
+ addChildVertices(child);
+ }
+ }
+ } else if (entity.type === 'relation') {
+ for (i = 0; i < entity.members.length; i++) {
+ var member = graph.hasEntity(entity.members[i].id);
+ if (member) {
+ addChildVertices(member);
+ }
+ }
+ } else if (renderAsVertex(entity, graph, wireframe, zoom)) {
+ results[entity.id] = entity;
+ }
+ }
+ }
+
+ ids.forEach(function(id) {
+ var entity = graph.hasEntity(id);
+ if (!entity) return;
+
+ if (entity.type === 'node') {
+ if (renderAsVertex(entity, graph, wireframe, zoom)) {
+ results[entity.id] = entity;
+ graph.parentWays(entity).forEach(function(entity) {
+ addChildVertices(entity);
+ });
+ }
+ } else { // way, relation
+ addChildVertices(entity);
+ }
+ });
+
+ return results;
+ }
+
+
+ function drawVertices(selection$$1, graph, entities, filter, extent, fullRedraw) {
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection.scale());
+ var mode = context.mode();
+ var isMoving = mode && /^(add|draw|drag|move|rotate)/.test(mode.id);
+
+ if (fullRedraw) {
+ _currPersistent = {};
+ _radii = {};
+ }
+
+ // Collect important vertices from the `entities` list..
+ // (during a paritial redraw, it will not contain everything)
+ for (var i = 0; i < entities.length; i++) {
+ var entity = entities[i];
+ var geometry = entity.geometry(graph);
+ var keep = false;
+
+ // a point that looks like a vertex..
+ if ((geometry === 'point') && renderAsVertex(entity, graph, wireframe, zoom)) {
+ _currPersistent[entity.id] = entity;
+ keep = true;
+
+ // a vertex of some importance..
+ } else if (geometry === 'vertex' &&
+ (entity.hasInterestingTags() || entity.isEndpoint(graph) || entity.isConnected(graph))) {
+ _currPersistent[entity.id] = entity;
+ keep = true;
+ }
+
+ // whatever this is, it's not a persistent vertex..
+ if (!keep && !fullRedraw) {
+ delete _currPersistent[entity.id];
+ }
+ }
+
+ // 3 sets of vertices to consider:
+ var sets = {
+ persistent: _currPersistent, // persistent = important vertices (render always)
+ selected: _currSelected, // selected + siblings of selected (render always)
+ hovered: _currHover // hovered + siblings of hovered (render only in draw modes)
+ };
+
+ var all = assign({}, (isMoving ? _currHover : {}), _currSelected, _currPersistent);
+
+ // Draw the vertices..
+ // The filter function controls the scope of what objects d3 will touch (exit/enter/update)
+ // Adjust the filter function to expand the scope beyond whatever entities were passed in.
+ var filterRendered = function(d) {
+ return d.id in _currPersistent || d.id in _currSelected || d.id in _currHover || filter(d);
+ };
+ selection$$1.selectAll('.layer-points .layer-points-vertices')
+ .call(draw, graph, currentVisible(all), sets, filterRendered);
+
+ // Draw touch targets..
+ // When drawing, render all targets (not just those affected by a partial redraw)
+ var filterTouch = function(d) {
+ return isMoving ? true : filterRendered(d);
+ };
+ selection$$1.selectAll('.layer-points .layer-points-targets')
+ .call(drawTargets, graph, currentVisible(all), filterTouch);
+
+
+ function currentVisible(which) {
+ return Object.keys(which)
+ .map(graph.hasEntity, graph) // the current version of this entity
+ .filter(function (entity) { return entity && entity.intersects(extent, graph); });
+ }
+ }
+
+
+ // partial redraw - only update the selected items..
+ drawVertices.drawSelected = function(selection$$1, graph, extent) {
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection.scale());
+
+ _prevSelected = _currSelected || {};
+ _currSelected = getSiblingAndChildVertices(context.selectedIDs(), graph, wireframe, zoom);
+
+ // note that drawVertices will add `_currSelected` automatically if needed..
+ var filter = function(d) { return d.id in _prevSelected; };
+ drawVertices(selection$$1, graph, values$1(_prevSelected), filter, extent, false);
+ };
+
+
+ // partial redraw - only update the hovered items..
+ drawVertices.drawHover = function(selection$$1, graph, target, extent) {
+ if (target === _currHoverTarget) return; // continue only if something changed
+
+ var wireframe = context.surface().classed('fill-wireframe');
+ var zoom = geoScaleToZoom(projection.scale());
+
+ _prevHover = _currHover || {};
+ _currHoverTarget = target;
+ var entity = target && target.properties && target.properties.entity;
+
+ if (entity) {
+ _currHover = getSiblingAndChildVertices([entity.id], graph, wireframe, zoom);
+ } else {
+ _currHover = {};
+ }
+
+ // note that drawVertices will add `_currHover` automatically if needed..
+ var filter = function(d) { return d.id in _prevHover; };
+ drawVertices(selection$$1, graph, values$1(_prevHover), filter, extent, false);
+ };
+
+ return drawVertices;
+ }
+
+ function uiAccount(context) {
+ var osm = context.connection();
+
+
+ function update(selection$$1) {
+ if (!osm) return;
+
+ if (!osm.authenticated()) {
+ selection$$1.selectAll('#userLink, #logoutLink')
+ .classed('hide', true);
+ return;
+ }
+
+ osm.userDetails(function(err, details) {
+ var userLink = selection$$1.select('#userLink'),
+ logoutLink = selection$$1.select('#logoutLink');
+
+ userLink.html('');
+ logoutLink.html('');
+
+ if (err) return;
+
+ selection$$1.selectAll('#userLink, #logoutLink')
+ .classed('hide', false);
+
+ // Link
+ userLink.append('a')
+ .attr('href', osm.userURL(details.display_name))
+ .attr('target', '_blank');
+
+ // Add thumbnail or dont
+ if (details.image_url) {
+ userLink.append('img')
+ .attr('class', 'icon pre-text user-icon')
+ .attr('src', details.image_url);
+ } else {
+ userLink
+ .call(svgIcon('#icon-avatar', 'pre-text light'));
+ }
+
+ // Add user name
+ userLink.append('span')
+ .attr('class', 'label')
+ .text(details.display_name);
+
+ logoutLink.append('a')
+ .attr('class', 'logout')
+ .attr('href', '#')
+ .text(t('logout'))
+ .on('click.logout', function() {
+ event.preventDefault();
+ osm.logout();
+ });
+ });
+ }
+
+
+ return function(selection$$1) {
+ selection$$1.append('li')
+ .attr('id', 'logoutLink')
+ .classed('hide', true);
+
+ selection$$1.append('li')
+ .attr('id', 'userLink')
+ .classed('hide', true);
+
+ if (osm) {
+ osm.on('change.account', function() { update(selection$$1); });
+ update(selection$$1);
+ }
+ };
+ }
+
+ function uiAttribution(context) {
+ var selection$$1;
+
+
+ function attribution(data, klass) {
+ var div = selection$$1.selectAll('.' + klass)
+ .data([0]);
+
+ div = div.enter()
+ .append('div')
+ .attr('class', klass)
+ .merge(div);
+
+
+ var background = div.selectAll('.attribution')
+ .data(data, function(d) { return d.name(); });
+
+ background.exit()
+ .remove();
+
+ background = background.enter()
+ .append('span')
+ .attr('class', 'attribution')
+ .each(function(d) {
+ if (d.terms_html) {
+ select(this)
+ .html(d.terms_html);
+ return;
+ }
+
+ var selection$$1;
+ if (d.terms_url) {
+ selection$$1 = select(this)
+ .append('a')
+ .attr('href', d.terms_url)
+ .attr('target', '_blank');
+ } else {
+ selection$$1 = select(this);
+ }
+
+
+ var id_safe = d.id.replace('.', '<TX_DOT>');
+ var terms_text = t('imagery.' + id_safe + '.attribution.text',
+ { default: d.terms_text || d.id || d.name() }
+ );
+
+ if (d.icon && !d.overlay) {
+ selection$$1
+ .append('img')
+ .attr('class', 'source-image')
+ .attr('src', d.icon);
+ }
+
+ selection$$1
+ .append('span')
+ .attr('class', 'attribution-text')
+ .text(terms_text);
+ })
+ .merge(background);
+
+
+ var copyright = background.selectAll('.copyright-notice')
+ .data(function(d) {
+ var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
+ return notice ? [notice] : [];
+ });
+
+ copyright.exit()
+ .remove();
+
+ copyright = copyright.enter()
+ .append('span')
+ .attr('class', 'copyright-notice')
+ .merge(copyright);
+
+ copyright
+ .text(String);
+ }
+
+
+ function update() {
+ attribution([context.background().baseLayerSource()], 'base-layer-attribution');
+ attribution(context.background().overlayLayerSources().filter(function (s) {
+ return s.validZoom(context.map().zoom());
+ }), 'overlay-layer-attribution');
+ }
+
+
+ return function(select$$1) {
+ selection$$1 = select$$1;
+
+ context.background()
+ .on('change.attribution', update);
+
+ context.map()
+ .on('move.attribution', throttle(update, 400, {leading: false}));
+
+ update();
+ };
+ }
+
+ // toggles the visibility of ui elements, using a combination of the
+ // hide class, which sets display=none, and a d3 transition for opacity.
+ // this will cause blinking when called repeatedly, so check that the
+ // value actually changes between calls.
+ function uiToggle(show, callback) {
+ return function(selection$$1) {
+ selection$$1
+ .style('opacity', show ? 0 : 1)
+ .classed('hide', false)
+ .transition()
+ .style('opacity', show ? 1 : 0)
+ .on('end', function() {
+ select(this)
+ .classed('hide', !show)
+ .style('opacity', null);
+ if (callback) callback.apply(this);
+ });
+ };
+ }
+
+ function uiDisclosure(context, key, expandedDefault) {
+ var dispatch$$1 = dispatch('toggled'),
+ _preference = (context.storage('disclosure.' + key + '.expanded')),
+ _expanded = (_preference === null ? !!expandedDefault : (_preference === 'true')),
+ _title,
+ _updatePreference = true,
+ _content = function () {};
+
+
+ var disclosure = function(selection$$1) {
+ var hideToggle = selection$$1.selectAll('.hide-toggle-' + key)
+ .data([0]);
+
+ // enter
+ var hideToggleEnter = hideToggle.enter()
+ .append('a')
+ .attr('href', '#')
+ .attr('class', 'hide-toggle hide-toggle-' + key)
+ .call(svgIcon('', 'pre-text', 'hide-toggle-icon'));
+
+ hideToggleEnter
+ .append('span')
+ .attr('class', 'hide-toggle-text');
+
+ // update
+ hideToggle = hideToggleEnter
+ .merge(hideToggle);
+
+ hideToggle
+ .on('click', toggle)
+ .classed('expanded', _expanded);
+
+ hideToggle.selectAll('.hide-toggle-text')
+ .text(_title);
+
+ hideToggle.selectAll('.hide-toggle-icon')
+ .attr('xlink:href', _expanded ? '#icon-down'
+ : (textDirection === 'rtl') ? '#icon-backward' : '#icon-forward'
+ );
+
+
+ var wrap = selection$$1.selectAll('.disclosure-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'disclosure-wrap disclosure-wrap-' + key)
+ .merge(wrap);
+
+ wrap
+ .classed('hide', !_expanded)
+ .call(_content);
+
+
+ function toggle() {
+ event.preventDefault();
+
+ _expanded = !_expanded;
+
+ if (_updatePreference) {
+ context.storage('disclosure.' + key + '.expanded', _expanded);
+ }
+
+ hideToggle
+ .classed('expanded', _expanded);
+
+ hideToggle.selectAll('.hide-toggle-icon')
+ .attr('xlink:href', _expanded ? '#icon-down'
+ : (textDirection === 'rtl') ? '#icon-backward' : '#icon-forward'
+ );
+
+ wrap
+ .call(uiToggle(_expanded));
+
+ dispatch$$1.call('toggled', this, _expanded);
+ }
+ };
+
+
+ disclosure.title = function(_) {
+ if (!arguments.length) return _title;
+ _title = _;
+ return disclosure;
+ };
+
+
+ disclosure.expanded = function(_) {
+ if (!arguments.length) return _expanded;
+ _expanded = _;
+ return disclosure;
+ };
+
+
+ disclosure.updatePreference = function(_) {
+ if (!arguments.length) return _updatePreference;
+ _updatePreference = _;
+ return disclosure;
+ };
+
+
+ disclosure.content = function(_) {
+ if (!arguments.length) return _content;
+ _content = _;
+ return disclosure;
+ };
+
+
+ return utilRebind(disclosure, dispatch$$1, 'on');
+ }
+
+ function uiBackgroundDisplayOptions(context) {
+ var detected = utilDetect();
+ var storedOpacity = context.storage('background-opacity');
+ var minVal = 0.25;
+ var maxVal = detected.cssfilters ? 2 : 1;
+
+ var sliders = detected.cssfilters
+ ? ['brightness', 'contrast', 'saturation', 'sharpness']
+ : ['brightness'];
+
+ var _options = {
+ brightness: (storedOpacity !== null ? (+storedOpacity) : 1),
+ contrast: 1,
+ saturation: 1,
+ sharpness: 1
+ };
+
+ var _selection = select(null);
+
+
+ function clamp(x, min, max) {
+ return Math.max(min, Math.min(x, max));
+ }
+
+
+ function updateValue(d, val) {
+ if (!val && event && event.target) {
+ val = event.target.value;
+ }
+
+ val = clamp(val, minVal, maxVal);
+
+ _options[d] = val;
+ context.background()[d](val);
+
+ if (d === 'brightness') {
+ context.storage('background-opacity', val);
+ }
+
+ _selection
+ .call(render);
+ }
+
+
+ function render(selection$$1) {
+ var container = selection$$1.selectAll('.display-options-container')
+ .data([0]);
+
+ var containerEnter = container.enter()
+ .append('div')
+ .attr('class', 'display-options-container controls-list');
+
+ // add slider controls
+ var slidersEnter = containerEnter.selectAll('.display-control')
+ .data(sliders)
+ .enter()
+ .append('div')
+ .attr('class', function(d) { return 'display-control display-control-' + d; });
+
+ slidersEnter
+ .append('h5')
+ .text(function(d) { return t('background.' + d); })
+ .append('span')
+ .attr('class', function(d) { return 'display-option-value display-option-value-' + d; });
+
+ slidersEnter
+ .append('input')
+ .attr('class', function(d) { return 'display-option-input display-option-input-' + d; })
+ .attr('type', 'range')
+ .attr('min', minVal)
+ .attr('max', maxVal)
+ .attr('step', '0.05')
+ .on('input', function(d) {
+ var val = select(this).property('value');
+ updateValue(d, val);
+ });
+
+ slidersEnter
+ .append('button')
+ .attr('title', t('background.reset'))
+ .attr('class', function(d) { return 'display-option-reset display-option-reset-' + d; })
+ .on('click', function(d) {
+ if (event.button !== 0) return;
+ updateValue(d, 1);
+ })
+ .call(svgIcon('#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo')));
+
+
+ // update
+ container = containerEnter
+ .merge(container);
+
+ container.selectAll('.display-option-input')
+ .property('value', function(d) { return _options[d]; });
+
+ container.selectAll('.display-option-value')
+ .text(function(d) { return Math.floor(_options[d] * 100) + '%'; });
+
+ container.selectAll('.display-option-reset')
+ .classed('disabled', function(d) { return _options[d] === 1; });
+
+ // first time only, set brightness if needed
+ if (containerEnter.size() && _options.brightness !== 1) {
+ context.background().brightness(_options.brightness);
+ }
+ }
+
+
+ function backgroundDisplayOptions(selection$$1) {
+ _selection = selection$$1;
+
+ selection$$1
+ .call(uiDisclosure(context, 'background_display_options', true)
+ .title(t('background.display_options'))
+ .content(render)
+ );
+ }
+
+
+ return backgroundDisplayOptions;
+ }
+
+ function uiBackgroundOffset(context) {
+ var directions = [
+ ['right', [0.5, 0]],
+ ['top', [0, -0.5]],
+ ['left', [-0.5, 0]],
+ ['bottom', [0, 0.5]]
+ ];
+
+
+ function d3_eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function updateValue() {
+ var meters = geoOffsetToMeters(context.background().offset());
+ var x = +meters[0].toFixed(2);
+ var y = +meters[1].toFixed(2);
+
+ d3_selectAll('.nudge-inner-rect')
+ .select('input')
+ .classed('error', false)
+ .property('value', x + ', ' + y);
+
+ d3_selectAll('.nudge-reset')
+ .classed('disabled', function() {
+ return (x === 0 && y === 0);
+ });
+ }
+
+
+ function resetOffset() {
+ context.background().offset([0, 0]);
+ updateValue();
+ }
+
+
+ function nudge(d) {
+ context.background().nudge(d, context.map().zoom());
+ updateValue();
+ }
+
+
+ function clickNudgeButton(d) {
+ var interval;
+ var timeout = window.setTimeout(function() {
+ interval = window.setInterval(nudge.bind(null, d), 100);
+ }, 500);
+
+ function doneNudge() {
+ window.clearTimeout(timeout);
+ window.clearInterval(interval);
+ select(window)
+ .on('mouseup.buttonoffset', null, true)
+ .on('mousedown.buttonoffset', null, true);
+ }
+
+ select(window)
+ .on('mouseup.buttonoffset', doneNudge, true)
+ .on('mousedown.buttonoffset', doneNudge, true);
+
+ nudge(d);
+ }
+
+
+ function inputOffset() {
+ var input = select(this);
+ var d = input.node().value;
+
+ if (d === '') return resetOffset();
+
+ d = d.replace(/;/g, ',').split(',').map(function(n) {
+ // if n is NaN, it will always get mapped to false.
+ return !isNaN(n) && n;
+ });
+
+ if (d.length !== 2 || !d[0] || !d[1]) {
+ input.classed('error', true);
+ return;
+ }
+
+ context.background().offset(geoMetersToOffset(d));
+ updateValue();
+ }
+
+
+ function dragOffset() {
+ event.preventDefault();
+ if (event.button !== 0) return;
+
+ var origin = [event.clientX, event.clientY];
+
+ context.container()
+ .append('div')
+ .attr('class', 'nudge-surface');
+
+ select(window)
+ .on('mousemove.offset', function() {
+ var latest = [event.clientX, event.clientY];
+ var d = [
+ -(origin[0] - latest[0]) / 4,
+ -(origin[1] - latest[1]) / 4
+ ];
+
+ origin = latest;
+ nudge(d);
+ })
+ .on('mouseup.offset', function() {
+ if (event.button !== 0) return;
+ d3_selectAll('.nudge-surface')
+ .remove();
+
+ select(window)
+ .on('mousemove.offset', null)
+ .on('mouseup.offset', null);
+ });
+ }
+
+
+ function render(selection$$1) {
+ var container = selection$$1.selectAll('.nudge-container')
+ .data([0]);
+
+ var containerEnter = container.enter()
+ .append('div')
+ .attr('class', 'nudge-container cf');
+
+ containerEnter
+ .append('div')
+ .attr('class', 'nudge-instructions')
+ .text(t('background.offset'));
+
+ var nudgeEnter = containerEnter
+ .append('div')
+ .attr('class', 'nudge-outer-rect')
+ .on('mousedown', dragOffset);
+
+ nudgeEnter
+ .append('div')
+ .attr('class', 'nudge-inner-rect')
+ .append('input')
+ .on('change', inputOffset);
+
+ containerEnter
+ .append('div')
+ .selectAll('button')
+ .data(directions).enter()
+ .append('button')
+ .attr('class', function(d) { return d[0] + ' nudge'; })
+ .on('contextmenu', d3_eventCancel)
+ .on('mousedown', function(d) {
+ if (event.button !== 0) return;
+ clickNudgeButton(d[1]);
+ });
+
+ containerEnter
+ .append('button')
+ .attr('title', t('background.reset'))
+ .attr('class', 'nudge-reset disabled')
+ .on('contextmenu', d3_eventCancel)
+ .on('click', function() {
+ if (event.button !== 0) return;
+ resetOffset();
+ })
+ .call(svgIcon('#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo')));
+
+ updateValue();
+ }
+
+
+ function backgroundOffset(selection$$1) {
+ selection$$1
+ .call(uiDisclosure(context, 'background_offset', false)
+ .title(t('background.fix_misalignment'))
+ .content(render)
+ );
+ }
+
+
+ context.background()
+ .on('change.backgroundOffset-update', updateValue);
+
+ return backgroundOffset;
+ }
+
+ var marked = createCommonjsModule(function (module, exports) {
+ (function(root) {
+
+ /**
+ * Block-Level Grammar
+ */
+
+ var block = {
+ newline: /^\n+/,
+ code: /^( {4}[^\n]+\n*)+/,
+ fences: noop,
+ hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
+ heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
+ nptable: noop,
+ blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
+ list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
+ html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,
+ def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
+ table: noop,
+ lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
+ paragraph: /^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,
+ text: /^[^\n]+/
+ };
+
+ block._label = /(?:\\[\[\]]|[^\[\]])+/;
+ block._title = /(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/;
+ block.def = edit(block.def)
+ .replace('label', block._label)
+ .replace('title', block._title)
+ .getRegex();
+
+ block.bullet = /(?:[*+-]|\d+\.)/;
+ block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
+ block.item = edit(block.item, 'gm')
+ .replace(/bull/g, block.bullet)
+ .getRegex();
+
+ block.list = edit(block.list)
+ .replace(/bull/g, block.bullet)
+ .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))')
+ .replace('def', '\\n+(?=' + block.def.source + ')')
+ .getRegex();
+
+ block._tag = '(?!(?:'
+ + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
+ + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
+ + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b';
+
+ block.html = edit(block.html)
+ .replace('comment', /<!--[\s\S]*?-->/)
+ .replace('closed', /<(tag)[\s\S]+?<\/\1>/)
+ .replace('closing', /<tag(?:"[^"]*"|'[^']*'|\s[^'"\/>\s]*)*?\/?>/)
+ .replace(/tag/g, block._tag)
+ .getRegex();
+
+ block.paragraph = edit(block.paragraph)
+ .replace('hr', block.hr)
+ .replace('heading', block.heading)
+ .replace('lheading', block.lheading)
+ .replace('tag', '<' + block._tag)
+ .getRegex();
+
+ block.blockquote = edit(block.blockquote)
+ .replace('paragraph', block.paragraph)
+ .getRegex();
+
+ /**
+ * Normal Block Grammar
+ */
+
+ block.normal = merge({}, block);
+
+ /**
+ * GFM Block Grammar
+ */
+
+ block.gfm = merge({}, block.normal, {
+ fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,
+ paragraph: /^/,
+ heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/
+ });
+
+ block.gfm.paragraph = edit(block.paragraph)
+ .replace('(?!', '(?!'
+ + block.gfm.fences.source.replace('\\1', '\\2') + '|'
+ + block.list.source.replace('\\1', '\\3') + '|')
+ .getRegex();
+
+ /**
+ * GFM + Tables Block Grammar
+ */
+
+ block.tables = merge({}, block.gfm, {
+ nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
+ table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
+ });
+
+ /**
+ * Block Lexer
+ */
+
+ function Lexer(options) {
+ this.tokens = [];
+ this.tokens.links = {};
+ this.options = options || marked.defaults;
+ this.rules = block.normal;
+
+ if (this.options.gfm) {
+ if (this.options.tables) {
+ this.rules = block.tables;
+ } else {
+ this.rules = block.gfm;
+ }
+ }
+ }
+
+ /**
+ * Expose Block Rules
+ */
+
+ Lexer.rules = block;
+
+ /**
+ * Static Lex Method
+ */
+
+ Lexer.lex = function(src, options) {
+ var lexer = new Lexer(options);
+ return lexer.lex(src);
+ };
+
+ /**
+ * Preprocessing
+ */
+
+ Lexer.prototype.lex = function(src) {
+ src = src
+ .replace(/\r\n|\r/g, '\n')
+ .replace(/\t/g, ' ')
+ .replace(/\u00a0/g, ' ')
+ .replace(/\u2424/g, '\n');
+
+ return this.token(src, true);
+ };
+
+ /**
+ * Lexing
+ */
+
+ Lexer.prototype.token = function(src, top) {
+ src = src.replace(/^ +$/gm, '');
+ var next,
+ loose,
+ cap,
+ bull,
+ b,
+ item,
+ space,
+ i,
+ tag,
+ l,
+ isordered;
+
+ while (src) {
+ // newline
+ if (cap = this.rules.newline.exec(src)) {
+ src = src.substring(cap[0].length);
+ if (cap[0].length > 1) {
+ this.tokens.push({
+ type: 'space'
+ });
+ }
+ }
+
+ // code
+ if (cap = this.rules.code.exec(src)) {
+ src = src.substring(cap[0].length);
+ cap = cap[0].replace(/^ {4}/gm, '');
+ this.tokens.push({
+ type: 'code',
+ text: !this.options.pedantic
+ ? cap.replace(/\n+$/, '')
+ : cap
+ });
+ continue;
+ }
+
+ // fences (gfm)
+ if (cap = this.rules.fences.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'code',
+ lang: cap[2],
+ text: cap[3] || ''
+ });
+ continue;
+ }
+
+ // heading
+ if (cap = this.rules.heading.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'heading',
+ depth: cap[1].length,
+ text: cap[2]
+ });
+ continue;
+ }
+
+ // table no leading pipe (gfm)
+ if (top && (cap = this.rules.nptable.exec(src))) {
+ src = src.substring(cap[0].length);
+
+ item = {
+ type: 'table',
+ header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
+ align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+ cells: cap[3].replace(/\n$/, '').split('\n')
+ };
+
+ for (i = 0; i < item.align.length; i++) {
+ if (/^ *-+: *$/.test(item.align[i])) {
+ item.align[i] = 'right';
+ } else if (/^ *:-+: *$/.test(item.align[i])) {
+ item.align[i] = 'center';
+ } else if (/^ *:-+ *$/.test(item.align[i])) {
+ item.align[i] = 'left';
+ } else {
+ item.align[i] = null;
+ }
+ }
+
+ for (i = 0; i < item.cells.length; i++) {
+ item.cells[i] = item.cells[i].split(/ *\| */);
+ }
+
+ this.tokens.push(item);
+
+ continue;
+ }
+
+ // hr
+ if (cap = this.rules.hr.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'hr'
+ });
+ continue;
+ }
+
+ // blockquote
+ if (cap = this.rules.blockquote.exec(src)) {
+ src = src.substring(cap[0].length);
+
+ this.tokens.push({
+ type: 'blockquote_start'
+ });
+
+ cap = cap[0].replace(/^ *> ?/gm, '');
+
+ // Pass `top` to keep the current
+ // "toplevel" state. This is exactly
+ // how markdown.pl works.
+ this.token(cap, top);
+
+ this.tokens.push({
+ type: 'blockquote_end'
+ });
+
+ continue;
+ }
+
+ // list
+ if (cap = this.rules.list.exec(src)) {
+ src = src.substring(cap[0].length);
+ bull = cap[2];
+ isordered = bull.length > 1;
+
+ this.tokens.push({
+ type: 'list_start',
+ ordered: isordered,
+ start: isordered ? +bull : ''
+ });
+
+ // Get each top-level item.
+ cap = cap[0].match(this.rules.item);
+
+ next = false;
+ l = cap.length;
+ i = 0;
+
+ for (; i < l; i++) {
+ item = cap[i];
+
+ // Remove the list item's bullet
+ // so it is seen as the next token.
+ space = item.length;
+ item = item.replace(/^ *([*+-]|\d+\.) +/, '');
+
+ // Outdent whatever the
+ // list item contains. Hacky.
+ if (~item.indexOf('\n ')) {
+ space -= item.length;
+ item = !this.options.pedantic
+ ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
+ : item.replace(/^ {1,4}/gm, '');
+ }
+
+ // Determine whether the next list item belongs here.
+ // Backpedal if it does not belong in this list.
+ if (this.options.smartLists && i !== l - 1) {
+ b = block.bullet.exec(cap[i + 1])[0];
+ if (bull !== b && !(bull.length > 1 && b.length > 1)) {
+ src = cap.slice(i + 1).join('\n') + src;
+ i = l - 1;
+ }
+ }
+
+ // Determine whether item is loose or not.
+ // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
+ // for discount behavior.
+ loose = next || /\n\n(?!\s*$)/.test(item);
+ if (i !== l - 1) {
+ next = item.charAt(item.length - 1) === '\n';
+ if (!loose) loose = next;
+ }
+
+ this.tokens.push({
+ type: loose
+ ? 'loose_item_start'
+ : 'list_item_start'
+ });
+
+ // Recurse.
+ this.token(item, false);
+
+ this.tokens.push({
+ type: 'list_item_end'
+ });
+ }
+
+ this.tokens.push({
+ type: 'list_end'
+ });
+
+ continue;
+ }
+
+ // html
+ if (cap = this.rules.html.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: this.options.sanitize
+ ? 'paragraph'
+ : 'html',
+ pre: !this.options.sanitizer
+ && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
+ text: cap[0]
+ });
+ continue;
+ }
+
+ // def
+ if (top && (cap = this.rules.def.exec(src))) {
+ src = src.substring(cap[0].length);
+ if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
+ tag = cap[1].toLowerCase();
+ if (!this.tokens.links[tag]) {
+ this.tokens.links[tag] = {
+ href: cap[2],
+ title: cap[3]
+ };
+ }
+ continue;
+ }
+
+ // table (gfm)
+ if (top && (cap = this.rules.table.exec(src))) {
+ src = src.substring(cap[0].length);
+
+ item = {
+ type: 'table',
+ header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
+ align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+ cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
+ };
+
+ for (i = 0; i < item.align.length; i++) {
+ if (/^ *-+: *$/.test(item.align[i])) {
+ item.align[i] = 'right';
+ } else if (/^ *:-+: *$/.test(item.align[i])) {
+ item.align[i] = 'center';
+ } else if (/^ *:-+ *$/.test(item.align[i])) {
+ item.align[i] = 'left';
+ } else {
+ item.align[i] = null;
+ }
+ }
+
+ for (i = 0; i < item.cells.length; i++) {
+ item.cells[i] = item.cells[i]
+ .replace(/^ *\| *| *\| *$/g, '')
+ .split(/ *\| */);
+ }
+
+ this.tokens.push(item);
+
+ continue;
+ }
+
+ // lheading
+ if (cap = this.rules.lheading.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'heading',
+ depth: cap[2] === '=' ? 1 : 2,
+ text: cap[1]
+ });
+ continue;
+ }
+
+ // top-level paragraph
+ if (top && (cap = this.rules.paragraph.exec(src))) {
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'paragraph',
+ text: cap[1].charAt(cap[1].length - 1) === '\n'
+ ? cap[1].slice(0, -1)
+ : cap[1]
+ });
+ continue;
+ }
+
+ // text
+ if (cap = this.rules.text.exec(src)) {
+ // Top-level should never reach here.
+ src = src.substring(cap[0].length);
+ this.tokens.push({
+ type: 'text',
+ text: cap[0]
+ });
+ continue;
+ }
+
+ if (src) {
+ throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
+ }
+ }
+
+ return this.tokens;
+ };
+
+ /**
+ * Inline-Level Grammar
+ */
+
+ var inline = {
+ escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
+ autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
+ url: noop,
+ tag: /^<!--[\s\S]*?-->|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,
+ link: /^!?\[(inside)\]\(href\)/,
+ reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
+ nolink: /^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,
+ strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
+ em: /^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,
+ code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,
+ br: /^ {2,}\n(?!\s*$)/,
+ del: noop,
+ text: /^[\s\S]+?(?=[\\<!\[`*]|\b_| {2,}\n|$)/
+ };
+
+ inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
+ inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
+
+ inline.autolink = edit(inline.autolink)
+ .replace('scheme', inline._scheme)
+ .replace('email', inline._email)
+ .getRegex();
+
+ inline._inside = /(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/;
+ inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
+
+ inline.link = edit(inline.link)
+ .replace('inside', inline._inside)
+ .replace('href', inline._href)
+ .getRegex();
+
+ inline.reflink = edit(inline.reflink)
+ .replace('inside', inline._inside)
+ .getRegex();
+
+ /**
+ * Normal Inline Grammar
+ */
+
+ inline.normal = merge({}, inline);
+
+ /**
+ * Pedantic Inline Grammar
+ */
+
+ inline.pedantic = merge({}, inline.normal, {
+ strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
+ em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
+ });
+
+ /**
+ * GFM Inline Grammar
+ */
+
+ inline.gfm = merge({}, inline.normal, {
+ escape: edit(inline.escape).replace('])', '~|])').getRegex(),
+ url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/)
+ .replace('email', inline._email)
+ .getRegex(),
+ _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
+ del: /^~~(?=\S)([\s\S]*?\S)~~/,
+ text: edit(inline.text)
+ .replace(']|', '~]|')
+ .replace('|', '|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&\'*+/=?^_`{\\|}~-]+@|')
+ .getRegex()
+ });
+
+ /**
+ * GFM + Line Breaks Inline Grammar
+ */
+
+ inline.breaks = merge({}, inline.gfm, {
+ br: edit(inline.br).replace('{2,}', '*').getRegex(),
+ text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()
+ });
+
+ /**
+ * Inline Lexer & Compiler
+ */
+
+ function InlineLexer(links, options) {
+ this.options = options || marked.defaults;
+ this.links = links;
+ this.rules = inline.normal;
+ this.renderer = this.options.renderer || new Renderer();
+ this.renderer.options = this.options;
+
+ if (!this.links) {
+ throw new Error('Tokens array requires a `links` property.');
+ }
+
+ if (this.options.gfm) {
+ if (this.options.breaks) {
+ this.rules = inline.breaks;
+ } else {
+ this.rules = inline.gfm;
+ }
+ } else if (this.options.pedantic) {
+ this.rules = inline.pedantic;
+ }
+ }
+
+ /**
+ * Expose Inline Rules
+ */
+
+ InlineLexer.rules = inline;
+
+ /**
+ * Static Lexing/Compiling Method
+ */
+
+ InlineLexer.output = function(src, links, options) {
+ var inline = new InlineLexer(links, options);
+ return inline.output(src);
+ };
+
+ /**
+ * Lexing/Compiling
+ */
+
+ InlineLexer.prototype.output = function(src) {
+ var out = '',
+ link,
+ text,
+ href,
+ cap;
+
+ while (src) {
+ // escape
+ if (cap = this.rules.escape.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += cap[1];
+ continue;
+ }
+
+ // autolink
+ if (cap = this.rules.autolink.exec(src)) {
+ src = src.substring(cap[0].length);
+ if (cap[2] === '@') {
+ text = escape(this.mangle(cap[1]));
+ href = 'mailto:' + text;
+ } else {
+ text = escape(cap[1]);
+ href = text;
+ }
+ out += this.renderer.link(href, null, text);
+ continue;
+ }
+
+ // url (gfm)
+ if (!this.inLink && (cap = this.rules.url.exec(src))) {
+ cap[0] = this.rules._backpedal.exec(cap[0])[0];
+ src = src.substring(cap[0].length);
+ if (cap[2] === '@') {
+ text = escape(cap[0]);
+ href = 'mailto:' + text;
+ } else {
+ text = escape(cap[0]);
+ if (cap[1] === 'www.') {
+ href = 'http://' + text;
+ } else {
+ href = text;
+ }
+ }
+ out += this.renderer.link(href, null, text);
+ continue;
+ }
+
+ // tag
+ if (cap = this.rules.tag.exec(src)) {
+ if (!this.inLink && /^<a /i.test(cap[0])) {
+ this.inLink = true;
+ } else if (this.inLink && /^<\/a>/i.test(cap[0])) {
+ this.inLink = false;
+ }
+ src = src.substring(cap[0].length);
+ out += this.options.sanitize
+ ? this.options.sanitizer
+ ? this.options.sanitizer(cap[0])
+ : escape(cap[0])
+ : cap[0];
+ continue;
+ }
+
+ // link
+ if (cap = this.rules.link.exec(src)) {
+ src = src.substring(cap[0].length);
+ this.inLink = true;
+ out += this.outputLink(cap, {
+ href: cap[2],
+ title: cap[3]
+ });
+ this.inLink = false;
+ continue;
+ }
+
+ // reflink, nolink
+ if ((cap = this.rules.reflink.exec(src))
+ || (cap = this.rules.nolink.exec(src))) {
+ src = src.substring(cap[0].length);
+ link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
+ link = this.links[link.toLowerCase()];
+ if (!link || !link.href) {
+ out += cap[0].charAt(0);
+ src = cap[0].substring(1) + src;
+ continue;
+ }
+ this.inLink = true;
+ out += this.outputLink(cap, link);
+ this.inLink = false;
+ continue;
+ }
+
+ // strong
+ if (cap = this.rules.strong.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.strong(this.output(cap[2] || cap[1]));
+ continue;
+ }
+
+ // em
+ if (cap = this.rules.em.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.em(this.output(cap[2] || cap[1]));
+ continue;
+ }
+
+ // code
+ if (cap = this.rules.code.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.codespan(escape(cap[2].trim(), true));
+ continue;
+ }
+
+ // br
+ if (cap = this.rules.br.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.br();
+ continue;
+ }
+
+ // del (gfm)
+ if (cap = this.rules.del.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.del(this.output(cap[1]));
+ continue;
+ }
+
+ // text
+ if (cap = this.rules.text.exec(src)) {
+ src = src.substring(cap[0].length);
+ out += this.renderer.text(escape(this.smartypants(cap[0])));
+ continue;
+ }
+
+ if (src) {
+ throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));
+ }
+ }
+
+ return out;
+ };
+
+ /**
+ * Compile Link
+ */
+
+ InlineLexer.prototype.outputLink = function(cap, link) {
+ var href = escape(link.href),
+ title = link.title ? escape(link.title) : null;
+
+ return cap[0].charAt(0) !== '!'
+ ? this.renderer.link(href, title, this.output(cap[1]))
+ : this.renderer.image(href, title, escape(cap[1]));
+ };
+
+ /**
+ * Smartypants Transformations
+ */
+
+ InlineLexer.prototype.smartypants = function(text) {
+ if (!this.options.smartypants) return text;
+ return text
+ // em-dashes
+ .replace(/---/g, '\u2014')
+ // en-dashes
+ .replace(/--/g, '\u2013')
+ // opening singles
+ .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018')
+ // closing singles & apostrophes
+ .replace(/'/g, '\u2019')
+ // opening doubles
+ .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c')
+ // closing doubles
+ .replace(/"/g, '\u201d')
+ // ellipses
+ .replace(/\.{3}/g, '\u2026');
+ };
+
+ /**
+ * Mangle Links
+ */
+
+ InlineLexer.prototype.mangle = function(text) {
+ if (!this.options.mangle) return text;
+ var out = '',
+ l = text.length,
+ i = 0,
+ ch;
+
+ for (; i < l; i++) {
+ ch = text.charCodeAt(i);
+ if (Math.random() > 0.5) {
+ ch = 'x' + ch.toString(16);
+ }
+ out += '&#' + ch + ';';
+ }
+
+ return out;
+ };
+
+ /**
+ * Renderer
+ */
+
+ function Renderer(options) {
+ this.options = options || {};
+ }
+
+ Renderer.prototype.code = function(code, lang, escaped) {
+ if (this.options.highlight) {
+ var out = this.options.highlight(code, lang);
+ if (out != null && out !== code) {
+ escaped = true;
+ code = out;
+ }
+ }
+
+ if (!lang) {
+ return '<pre><code>'
+ + (escaped ? code : escape(code, true))
+ + '\n</code></pre>';
+ }
+
+ return '<pre><code class="'
+ + this.options.langPrefix
+ + escape(lang, true)
+ + '">'
+ + (escaped ? code : escape(code, true))
+ + '\n</code></pre>\n';
+ };
+
+ Renderer.prototype.blockquote = function(quote) {
+ return '<blockquote>\n' + quote + '</blockquote>\n';
+ };
+
+ Renderer.prototype.html = function(html) {
+ return html;
+ };
+
+ Renderer.prototype.heading = function(text, level, raw) {
+ return '<h'
+ + level
+ + ' id="'
+ + this.options.headerPrefix
+ + raw.toLowerCase().replace(/[^\w]+/g, '-')
+ + '">'
+ + text
+ + '</h'
+ + level
+ + '>\n';
+ };
+
+ Renderer.prototype.hr = function() {
+ return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
+ };
+
+ Renderer.prototype.list = function(body, ordered, start) {
+ var type = ordered ? 'ol' : 'ul',
+ startatt = (ordered && start !== 1) ? (' start="' + start + '"') : '';
+ return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
+ };
+
+ Renderer.prototype.listitem = function(text) {
+ return '<li>' + text + '</li>\n';
+ };
+
+ Renderer.prototype.paragraph = function(text) {
+ return '<p>' + text + '</p>\n';
+ };
+
+ Renderer.prototype.table = function(header, body) {
+ return '<table>\n'
+ + '<thead>\n'
+ + header
+ + '</thead>\n'
+ + '<tbody>\n'
+ + body
+ + '</tbody>\n'
+ + '</table>\n';
+ };
+
+ Renderer.prototype.tablerow = function(content) {
+ return '<tr>\n' + content + '</tr>\n';
+ };
+
+ Renderer.prototype.tablecell = function(content, flags) {
+ var type = flags.header ? 'th' : 'td';
+ var tag = flags.align
+ ? '<' + type + ' style="text-align:' + flags.align + '">'
+ : '<' + type + '>';
+ return tag + content + '</' + type + '>\n';
+ };
+
+ // span level renderer
+ Renderer.prototype.strong = function(text) {
+ return '<strong>' + text + '</strong>';
+ };
+
+ Renderer.prototype.em = function(text) {
+ return '<em>' + text + '</em>';
+ };
+
+ Renderer.prototype.codespan = function(text) {
+ return '<code>' + text + '</code>';
+ };
+
+ Renderer.prototype.br = function() {
+ return this.options.xhtml ? '<br/>' : '<br>';
+ };
+
+ Renderer.prototype.del = function(text) {
+ return '<del>' + text + '</del>';
+ };
+
+ Renderer.prototype.link = function(href, title, text) {
+ if (this.options.sanitize) {
+ try {
+ var prot = decodeURIComponent(unescape(href))
+ .replace(/[^\w:]/g, '')
+ .toLowerCase();
+ } catch (e) {
+ return text;
+ }
+ if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
+ return text;
+ }
+ }
+ if (this.options.baseUrl && !originIndependentUrl.test(href)) {
+ href = resolveUrl(this.options.baseUrl, href);
+ }
+ var out = '<a href="' + href + '"';
+ if (title) {
+ out += ' title="' + title + '"';
+ }
+ out += '>' + text + '</a>';
+ return out;
+ };
+
+ Renderer.prototype.image = function(href, title, text) {
+ if (this.options.baseUrl && !originIndependentUrl.test(href)) {
+ href = resolveUrl(this.options.baseUrl, href);
+ }
+ var out = '<img src="' + href + '" alt="' + text + '"';
+ if (title) {
+ out += ' title="' + title + '"';
+ }
+ out += this.options.xhtml ? '/>' : '>';
+ return out;
+ };
+
+ Renderer.prototype.text = function(text) {
+ return text;
+ };
+
+ /**
+ * TextRenderer
+ * returns only the textual part of the token
+ */
+
+ function TextRenderer() {}
+
+ // no need for block level renderers
+
+ TextRenderer.prototype.strong =
+ TextRenderer.prototype.em =
+ TextRenderer.prototype.codespan =
+ TextRenderer.prototype.del =
+ TextRenderer.prototype.text = function (text) {
+ return text;
+ };
+
+ TextRenderer.prototype.link =
+ TextRenderer.prototype.image = function(href, title, text) {
+ return '' + text;
+ };
+
+ TextRenderer.prototype.br = function() {
+ return '';
+ };
+
+ /**
+ * Parsing & Compiling
+ */
+
+ function Parser(options) {
+ this.tokens = [];
+ this.token = null;
+ this.options = options || marked.defaults;
+ this.options.renderer = this.options.renderer || new Renderer();
+ this.renderer = this.options.renderer;
+ this.renderer.options = this.options;
+ }
+
+ /**
+ * Static Parse Method
+ */
+
+ Parser.parse = function(src, options) {
+ var parser = new Parser(options);
+ return parser.parse(src);
+ };
+
+ /**
+ * Parse Loop
+ */
+
+ Parser.prototype.parse = function(src) {
+ this.inline = new InlineLexer(src.links, this.options);
+ // use an InlineLexer with a TextRenderer to extract pure text
+ this.inlineText = new InlineLexer(
+ src.links,
+ merge({}, this.options, {renderer: new TextRenderer()})
+ );
+ this.tokens = src.reverse();
+
+ var out = '';
+ while (this.next()) {
+ out += this.tok();
+ }
+
+ return out;
+ };
+
+ /**
+ * Next Token
+ */
+
+ Parser.prototype.next = function() {
+ return this.token = this.tokens.pop();
+ };
+
+ /**
+ * Preview Next Token
+ */
+
+ Parser.prototype.peek = function() {
+ return this.tokens[this.tokens.length - 1] || 0;
+ };
+
+ /**
+ * Parse Text Tokens
+ */
+
+ Parser.prototype.parseText = function() {
+ var body = this.token.text;
+
+ while (this.peek().type === 'text') {
+ body += '\n' + this.next().text;
+ }
+
+ return this.inline.output(body);
+ };
+
+ /**
+ * Parse Current Token
+ */
+
+ Parser.prototype.tok = function() {
+ switch (this.token.type) {
+ case 'space': {
+ return '';
+ }
+ case 'hr': {
+ return this.renderer.hr();
+ }
+ case 'heading': {
+ return this.renderer.heading(
+ this.inline.output(this.token.text),
+ this.token.depth,
+ unescape(this.inlineText.output(this.token.text)));
+ }
+ case 'code': {
+ return this.renderer.code(this.token.text,
+ this.token.lang,
+ this.token.escaped);
+ }
+ case 'table': {
+ var header = '',
+ body = '',
+ i,
+ row,
+ cell,
+ j;
+
+ // header
+ cell = '';
+ for (i = 0; i < this.token.header.length; i++) {
+ cell += this.renderer.tablecell(
+ this.inline.output(this.token.header[i]),
+ { header: true, align: this.token.align[i] }
+ );
+ }
+ header += this.renderer.tablerow(cell);
+
+ for (i = 0; i < this.token.cells.length; i++) {
+ row = this.token.cells[i];
+
+ cell = '';
+ for (j = 0; j < row.length; j++) {
+ cell += this.renderer.tablecell(
+ this.inline.output(row[j]),
+ { header: false, align: this.token.align[j] }
+ );
+ }
+
+ body += this.renderer.tablerow(cell);
+ }
+ return this.renderer.table(header, body);
+ }
+ case 'blockquote_start': {
+ body = '';
+
+ while (this.next().type !== 'blockquote_end') {
+ body += this.tok();
+ }
+
+ return this.renderer.blockquote(body);
+ }
+ case 'list_start': {
+ body = '';
+ var ordered = this.token.ordered,
+ start = this.token.start;
+
+ while (this.next().type !== 'list_end') {
+ body += this.tok();
+ }
+
+ return this.renderer.list(body, ordered, start);
+ }
+ case 'list_item_start': {
+ body = '';
+
+ while (this.next().type !== 'list_item_end') {
+ body += this.token.type === 'text'
+ ? this.parseText()
+ : this.tok();
+ }
+
+ return this.renderer.listitem(body);
+ }
+ case 'loose_item_start': {
+ body = '';
+
+ while (this.next().type !== 'list_item_end') {
+ body += this.tok();
+ }
+
+ return this.renderer.listitem(body);
+ }
+ case 'html': {
+ var html = !this.token.pre && !this.options.pedantic
+ ? this.inline.output(this.token.text)
+ : this.token.text;
+ return this.renderer.html(html);
+ }
+ case 'paragraph': {
+ return this.renderer.paragraph(this.inline.output(this.token.text));
+ }
+ case 'text': {
+ return this.renderer.paragraph(this.parseText());
+ }
+ }
+ };
+
+ /**
+ * Helpers
+ */
+
+ function escape(html, encode) {
+ return html
+ .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&')
+ .replace(/</g, '<')
+ .replace(/>/g, '>')
+ .replace(/"/g, '"')
+ .replace(/'/g, ''');
+ }
+
+ function unescape(html) {
+ // explicitly match decimal, hex, and named HTML entities
+ return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) {
+ n = n.toLowerCase();
+ if (n === 'colon') return ':';
+ if (n.charAt(0) === '#') {
+ return n.charAt(1) === 'x'
+ ? String.fromCharCode(parseInt(n.substring(2), 16))
+ : String.fromCharCode(+n.substring(1));
+ }
+ return '';
+ });
+ }
+
+ function edit(regex, opt) {
+ regex = regex.source;
+ opt = opt || '';
+ return {
+ replace: function(name, val) {
+ val = val.source || val;
+ val = val.replace(/(^|[^\[])\^/g, '$1');
+ regex = regex.replace(name, val);
+ return this;
+ },
+ getRegex: function() {
+ return new RegExp(regex, opt);
+ }
+ };
+ }
+
+ function resolveUrl(base, href) {
+ if (!baseUrls[' ' + base]) {
+ // we can ignore everything in base after the last slash of its path component,
+ // but we might need to add _that_
+ // https://tools.ietf.org/html/rfc3986#section-3
+ if (/^[^:]+:\/*[^/]*$/.test(base)) {
+ baseUrls[' ' + base] = base + '/';
+ } else {
+ baseUrls[' ' + base] = base.replace(/[^/]*$/, '');
+ }
+ }
+ base = baseUrls[' ' + base];
+
+ if (href.slice(0, 2) === '//') {
+ return base.replace(/:[\s\S]*/, ':') + href;
+ } else if (href.charAt(0) === '/') {
+ return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href;
+ } else {
+ return base + href;
+ }
+ }
+ var baseUrls = {};
+ var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
+
+ function noop() {}
+ noop.exec = noop;
+
+ function merge(obj) {
+ var i = 1,
+ target,
+ key;
+
+ for (; i < arguments.length; i++) {
+ target = arguments[i];
+ for (key in target) {
+ if (Object.prototype.hasOwnProperty.call(target, key)) {
+ obj[key] = target[key];
+ }
+ }
+ }
+
+ return obj;
+ }
+
+ /**
+ * Marked
+ */
+
+ function marked(src, opt, callback) {
+ // throw error in case of non string input
+ if (typeof src === 'undefined' || src === null) {
+ throw new Error('marked(): input parameter is undefined or null');
+ }
+ if (typeof src !== 'string') {
+ throw new Error('marked(): input parameter is of type '
+ + Object.prototype.toString.call(src) + ', string expected');
+ }
+
+ if (callback || typeof opt === 'function') {
+ if (!callback) {
+ callback = opt;
+ opt = null;
+ }
+
+ opt = merge({}, marked.defaults, opt || {});
+
+ var highlight = opt.highlight,
+ tokens,
+ pending,
+ i = 0;
+
+ try {
+ tokens = Lexer.lex(src, opt);
+ } catch (e) {
+ return callback(e);
+ }
+
+ pending = tokens.length;
+
+ var done = function(err) {
+ if (err) {
+ opt.highlight = highlight;
+ return callback(err);
+ }
+
+ var out;
+
+ try {
+ out = Parser.parse(tokens, opt);
+ } catch (e) {
+ err = e;
+ }
+
+ opt.highlight = highlight;
+
+ return err
+ ? callback(err)
+ : callback(null, out);
+ };
+
+ if (!highlight || highlight.length < 3) {
+ return done();
+ }
+
+ delete opt.highlight;
+
+ if (!pending) return done();
+
+ for (; i < tokens.length; i++) {
+ (function(token) {
+ if (token.type !== 'code') {
+ return --pending || done();
+ }
+ return highlight(token.text, token.lang, function(err, code) {
+ if (err) return done(err);
+ if (code == null || code === token.text) {
+ return --pending || done();
+ }
+ token.text = code;
+ token.escaped = true;
+ --pending || done();
+ });
+ })(tokens[i]);
+ }
+
+ return;
+ }
+ try {
+ if (opt) opt = merge({}, marked.defaults, opt);
+ return Parser.parse(Lexer.lex(src, opt), opt);
+ } catch (e) {
+ e.message += '\nPlease report this to https://github.com/markedjs/marked.';
+ if ((opt || marked.defaults).silent) {
+ return '<p>An error occurred:</p><pre>'
+ + escape(e.message + '', true)
+ + '</pre>';
+ }
+ throw e;
+ }
+ }
+
+ /**
+ * Options
+ */
+
+ marked.options =
+ marked.setOptions = function(opt) {
+ merge(marked.defaults, opt);
+ return marked;
+ };
+
+ marked.defaults = {
+ gfm: true,
+ tables: true,
+ breaks: false,
+ pedantic: false,
+ sanitize: false,
+ sanitizer: null,
+ mangle: true,
+ smartLists: false,
+ silent: false,
+ highlight: null,
+ langPrefix: 'lang-',
+ smartypants: false,
+ headerPrefix: '',
+ renderer: new Renderer(),
+ xhtml: false,
+ baseUrl: null
+ };
+
+ /**
+ * Expose
+ */
+
+ marked.Parser = Parser;
+ marked.parser = Parser.parse;
+
+ marked.Renderer = Renderer;
+ marked.TextRenderer = TextRenderer;
+
+ marked.Lexer = Lexer;
+ marked.lexer = Lexer.lex;
+
+ marked.InlineLexer = InlineLexer;
+ marked.inlineLexer = InlineLexer.output;
+
+ marked.parse = marked;
+
+ {
+ module.exports = marked;
+ }
+ })(commonjsGlobal || (typeof window !== 'undefined' ? window : commonjsGlobal));
+ });
+
+ function pointBox(loc, context) {
+ var rect = context.surfaceRect();
+ var point$$1 = context.curtainProjection(loc);
+ return {
+ left: point$$1[0] + rect.left - 40,
+ top: point$$1[1] + rect.top - 60,
+ width: 80,
+ height: 90
+ };
+ }
+
+
+ function pad$1(locOrBox, padding, context) {
+ var box;
+ if (locOrBox instanceof Array) {
+ var rect = context.surfaceRect();
+ var point$$1 = context.curtainProjection(locOrBox);
+ box = {
+ left: point$$1[0] + rect.left,
+ top: point$$1[1] + rect.top
+ };
+ } else {
+ box = locOrBox;
+ }
+
+ return {
+ left: box.left - padding,
+ top: box.top - padding,
+ width: (box.width || 0) + 2 * padding,
+ height: (box.width || 0) + 2 * padding
+ };
+ }
+
+
+ function icon(name, svgklass, useklass) {
+ return '<svg class="icon ' + (svgklass || '') + '">' +
+ '<use xlink:href="' + name + '"' +
+ (useklass ? ' class="' + useklass + '"' : '') + '></use></svg>';
+ }
+
+
+ function slugify(text) {
+ return text.toString().toLowerCase()
+ .replace(/\s+/g, '-') // Replace spaces with -
+ .replace(/[^\w\-]+/g, '') // Remove all non-word chars
+ .replace(/\-\-+/g, '-') // Replace multiple - with single -
+ .replace(/^-+/, '') // Trim - from start of text
+ .replace(/-+$/, ''); // Trim - from end of text
+ }
+
+
+ // console warning for missing walkthrough names
+ var missingStrings = {};
+ function checkKey(key, text) {
+ if (t(key, { default: undefined}) === undefined) {
+ if (missingStrings.hasOwnProperty(key)) return; // warn once
+ missingStrings[key] = text;
+ var missing = key + ': ' + text;
+ if (typeof console !== 'undefined') console.log(missing); // eslint-disable-line
+ }
+ }
+
+
+ function localize(obj) {
+ var key;
+
+ // Assign name if entity has one..
+ var name = obj.tags && obj.tags.name;
+ if (name) {
+ key = 'intro.graph.name.' + slugify(name);
+ obj.tags.name = t(key, { default: name });
+ checkKey(key, name);
+ }
+
+ // Assign street name if entity has one..
+ var street = obj.tags && obj.tags['addr:street'];
+ if (street) {
+ key = 'intro.graph.name.' + slugify(street);
+ obj.tags['addr:street'] = t(key, { default: street });
+ checkKey(key, street);
+
+ // Add address details common across walkthrough..
+ var addrTags = [
+ 'block_number', 'city', 'county', 'district', 'hamlet', 'neighbourhood',
+ 'postcode', 'province', 'quarter', 'state', 'subdistrict', 'suburb'
+ ];
+ addrTags.forEach(function(k) {
+ var key = 'intro.graph.' + k,
+ tag = 'addr:' + k,
+ val = obj.tags && obj.tags[tag],
+ str = t(key, { default: val });
+
+ if (str) {
+ if (str.match(/^<.*>$/) !== null) {
+ delete obj.tags[tag];
+ } else {
+ obj.tags[tag] = str;
+ }
+ }
+ });
+ }
+
+ return obj;
+ }
+
+
+ // Used to detect squareness.. some duplicataion of code from actionOrthogonalize.
+ function isMostlySquare(points) {
+ // note: uses 15 here instead of the 12 from actionOrthogonalize because
+ // actionOrthogonalize can actually straighten some larger angles as it iterates
+ var threshold = 15, // degrees within right or straight
+ lowerBound = Math.cos((90 - threshold) * Math.PI / 180), // near right
+ upperBound = Math.cos(threshold * Math.PI / 180), // near straight
+ mag;
+
+ for (var i = 0; i < points.length; i++) {
+ mag = Math.abs(normalizedDotProduct(i, points));
+ if (mag > lowerBound && mag < upperBound) {
+ return false;
+ }
+ }
+
+ return true;
+
+
+ function normalizedDotProduct(i, points) {
+ var a = points[(i - 1 + points.length) % points.length],
+ b = points[i],
+ c = points[(i + 1) % points.length],
+ p = subtractPoints(a, b),
+ q = subtractPoints(c, b);
+
+ p = normalizePoint(p);
+ q = normalizePoint(q);
+
+ return p[0] * q[0] + p[1] * q[1];
+
+
+ function subtractPoints(a, b) {
+ return [a[0] - b[0], a[1] - b[1]];
+ }
+
+ function normalizePoint(point$$1) {
+ var vector = [0, 0];
+ var length = Math.sqrt(point$$1[0] * point$$1[0] + point$$1[1] * point$$1[1]);
+ if (length !== 0) {
+ vector[0] = point$$1[0] / length;
+ vector[1] = point$$1[1] / length;
+ }
+ return vector;
+ }
+ }
+ }
+
+
+ function selectMenuItem(operation) {
+ var selector$$1 = '.edit-menu .edit-menu-item-' + operation +
+ ', .radial-menu .radial-menu-item-' + operation;
+ return select(selector$$1);
+ }
+
+
+ function transitionTime(point1, point2) {
+ var distance = geoSphericalDistance(point1, point2);
+ if (distance === 0)
+ return 0;
+ else if (distance < 80)
+ return 500;
+ else
+ return 1000;
+ }
+
+ var dataIntroGraph = {"n1":{"id":"n1","loc":[-85.631039,41.948829]},"n10":{"id":"n10","loc":[-85.634733,41.941588]},"n100":{"id":"n100","loc":[-85.637395,41.942252]},"n1000":{"id":"n1000","loc":[-85.632699,41.944763]},"n1001":{"id":"n1001","loc":[-85.632685,41.944763]},"n1002":{"id":"n1002","loc":[-85.632673,41.944755]},"n1003":{"id":"n1003","loc":[-85.632595,41.944682]},"n1004":{"id":"n1004","loc":[-85.632576,41.944673]},"n1005":{"id":"n1005","loc":[-85.632551,41.944667]},"n1006":{"id":"n1006","loc":[-85.63253,41.944667]},"n1007":{"id":"n1007","loc":[-85.632502,41.944669]},"n1008":{"id":"n1008","loc":[-85.632483,41.944677]},"n1009":{"id":"n1009","loc":[-85.632383,41.944731]},"n101":{"id":"n101","loc":[-85.637357,41.942252]},"n1010":{"id":"n1010","loc":[-85.63349,41.944976],"tags":{"addr:city":"Three Rivers","addr:housenumber":"31","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Sherwin-Williams","shop":"paint"}},"n1011":{"id":"n1011","loc":[-85.633548,41.945034],"tags":{"addr:city":"Three Rivers","addr:housenumber":"33","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Unique Jewelry","shop":"jewelry"}},"n1012":{"id":"n1012","loc":[-85.633683,41.945129],"tags":{"addr:city":"Three Rivers","addr:housenumber":"37","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"World Fare","shop":"gift"}},"n1013":{"id":"n1013","loc":[-85.634563,41.945469],"tags":{"addr:city":"Three Rivers","addr:housenumber":"62","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Golden Finch Framing","shop":"frame"}},"n1014":{"id":"n1014","loc":[-85.634469,41.945379],"tags":{"addr:city":"Three Rivers","addr:housenumber":"58","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Dollar Tree","shop":"second_hand"}},"n1015":{"id":"n1015","loc":[-85.634227,41.945159],"tags":{"addr:city":"Three Rivers","addr:housenumber":"48","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","amenity":"theatre","name":"Riviera Theatre"}},"n1016":{"id":"n1016","loc":[-85.634057,41.945012],"tags":{"addr:city":"Three Rivers","addr:housenumber":"42","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"River City Appliance","shop":"appliance"}},"n1017":{"id":"n1017","loc":[-85.633879,41.945325],"tags":{"addr:city":"Three Rivers","addr:housenumber":"45","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Paparazzi Tattoo","shop":"tattoo"}},"n1018":{"id":"n1018","loc":[-85.634914,41.945839],"tags":{"addr:city":"Three Rivers","addr:housenumber":"88","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","amenity":"bank","name":"Southern Michigan Bank"}},"n1019":{"id":"n1019","loc":[-85.634514,41.946176]},"n102":{"id":"n102","loc":[-85.637357,41.942216]},"n1020":{"id":"n1020","loc":[-85.634087,41.946178]},"n1021":{"id":"n1021","loc":[-85.634357,41.945805]},"n1022":{"id":"n1022","loc":[-85.634389,41.945788]},"n1023":{"id":"n1023","loc":[-85.634491,41.94581]},"n1024":{"id":"n1024","loc":[-85.634513,41.945853]},"n1025":{"id":"n1025","loc":[-85.634506,41.94583]},"n1026":{"id":"n1026","loc":[-85.634762,41.946056],"tags":{"crossing":"zebra","highway":"crossing"}},"n1027":{"id":"n1027","loc":[-85.634767,41.946172]},"n1028":{"id":"n1028","loc":[-85.634622,41.946175],"tags":{"crossing":"zebra","highway":"crossing"}},"n1029":{"id":"n1029","loc":[-85.640655,41.942057]},"n103":{"id":"n103","loc":[-85.637386,41.942054]},"n1030":{"id":"n1030","loc":[-85.640947,41.942057]},"n1031":{"id":"n1031","loc":[-85.640957,41.942593]},"n1032":{"id":"n1032","loc":[-85.630953,41.960873]},"n1033":{"id":"n1033","loc":[-85.632174,41.960679]},"n1034":{"id":"n1034","loc":[-85.638785,41.943066]},"n1035":{"id":"n1035","loc":[-85.638853,41.943065]},"n1036":{"id":"n1036","loc":[-85.638855,41.943183]},"n1037":{"id":"n1037","loc":[-85.638552,41.943189]},"n1038":{"id":"n1038","loc":[-85.63855,41.943149]},"n1039":{"id":"n1039","loc":[-85.638638,41.943068]},"n104":{"id":"n104","loc":[-85.637387,41.942125]},"n1040":{"id":"n1040","loc":[-85.638638,41.943078]},"n1041":{"id":"n1041","loc":[-85.638813,41.943163]},"n1042":{"id":"n1042","loc":[-85.638684,41.943165]},"n1043":{"id":"n1043","loc":[-85.638682,41.943105]},"n1044":{"id":"n1044","loc":[-85.638706,41.943105]},"n1045":{"id":"n1045","loc":[-85.638707,41.943117]},"n1046":{"id":"n1046","loc":[-85.638812,41.943115]},"n1047":{"id":"n1047","loc":[-85.638769,41.943407]},"n1048":{"id":"n1048","loc":[-85.638549,41.943407]},"n1049":{"id":"n1049","loc":[-85.638567,41.943555]},"n105":{"id":"n105","loc":[-85.637319,41.942125]},"n1050":{"id":"n1050","loc":[-85.638426,41.943554]},"n1051":{"id":"n1051","loc":[-85.638427,41.94346]},"n1052":{"id":"n1052","loc":[-85.638568,41.943461]},"n1053":{"id":"n1053","loc":[-85.639264,41.943415]},"n1054":{"id":"n1054","loc":[-85.639082,41.943417]},"n1055":{"id":"n1055","loc":[-85.63908,41.943331]},"n1056":{"id":"n1056","loc":[-85.639136,41.94333]},"n1057":{"id":"n1057","loc":[-85.639158,41.943312]},"n1058":{"id":"n1058","loc":[-85.639188,41.943313]},"n1059":{"id":"n1059","loc":[-85.639211,41.943331]},"n106":{"id":"n106","loc":[-85.637319,41.942137]},"n1060":{"id":"n1060","loc":[-85.639262,41.943331]},"n1061":{"id":"n1061","loc":[-85.638986,41.943515]},"n1062":{"id":"n1062","loc":[-85.63888,41.943521]},"n1063":{"id":"n1063","loc":[-85.638871,41.943436]},"n1064":{"id":"n1064","loc":[-85.638958,41.943431]},"n1065":{"id":"n1065","loc":[-85.638979,41.943443]},"n1066":{"id":"n1066","loc":[-85.63926,41.943703]},"n1067":{"id":"n1067","loc":[-85.639152,41.943704]},"n1068":{"id":"n1068","loc":[-85.639152,41.943691]},"n1069":{"id":"n1069","loc":[-85.639063,41.943691]},"n107":{"id":"n107","loc":[-85.637259,41.942137]},"n1070":{"id":"n1070","loc":[-85.639062,41.943613]},"n1071":{"id":"n1071","loc":[-85.639259,41.943611]},"n1072":{"id":"n1072","loc":[-85.639117,41.943726]},"n1073":{"id":"n1073","loc":[-85.639118,41.943767]},"n1074":{"id":"n1074","loc":[-85.639051,41.943768]},"n1075":{"id":"n1075","loc":[-85.63905,41.943727]},"n1076":{"id":"n1076","loc":[-85.638627,41.943716]},"n1077":{"id":"n1077","loc":[-85.63863,41.943634]},"n1078":{"id":"n1078","loc":[-85.63844,41.943631]},"n1079":{"id":"n1079","loc":[-85.638437,41.943729]},"n108":{"id":"n108","loc":[-85.637259,41.942126]},"n1080":{"id":"n1080","loc":[-85.638533,41.94373]},"n1081":{"id":"n1081","loc":[-85.638534,41.943715]},"n1082":{"id":"n1082","loc":[-85.638678,41.943941]},"n1083":{"id":"n1083","loc":[-85.638522,41.943944]},"n1084":{"id":"n1084","loc":[-85.63852,41.943864]},"n1085":{"id":"n1085","loc":[-85.638676,41.943861]},"n1086":{"id":"n1086","loc":[-85.638663,41.944059]},"n1087":{"id":"n1087","loc":[-85.638513,41.944061]},"n1088":{"id":"n1088","loc":[-85.638511,41.943991]},"n1089":{"id":"n1089","loc":[-85.638661,41.943989]},"n109":{"id":"n109","loc":[-85.637193,41.942126]},"n1090":{"id":"n1090","loc":[-85.63865,41.944134]},"n1091":{"id":"n1091","loc":[-85.638429,41.944144]},"n1092":{"id":"n1092","loc":[-85.638426,41.944106]},"n1093":{"id":"n1093","loc":[-85.638476,41.944104]},"n1094":{"id":"n1094","loc":[-85.638475,41.94409]},"n1095":{"id":"n1095","loc":[-85.638594,41.944084]},"n1096":{"id":"n1096","loc":[-85.638595,41.944101]},"n1097":{"id":"n1097","loc":[-85.638647,41.944099]},"n1098":{"id":"n1098","loc":[-85.63829,41.944154]},"n1099":{"id":"n1099","loc":[-85.638558,41.944155]},"n11":{"id":"n11","loc":[-85.634602,41.941523]},"n110":{"id":"n110","loc":[-85.637192,41.942053]},"n1100":{"id":"n1100","loc":[-85.638558,41.944338]},"n1101":{"id":"n1101","loc":[-85.638851,41.944408]},"n1102":{"id":"n1102","loc":[-85.637771,41.943989]},"n1103":{"id":"n1103","loc":[-85.639345,41.943964]},"n1104":{"id":"n1104","loc":[-85.638515,41.94397]},"n1105":{"id":"n1105","loc":[-85.639256,41.943928]},"n1106":{"id":"n1106","loc":[-85.639157,41.943929]},"n1107":{"id":"n1107","loc":[-85.639156,41.9439]},"n1108":{"id":"n1108","loc":[-85.639118,41.9439]},"n1109":{"id":"n1109","loc":[-85.639116,41.94382]},"n111":{"id":"n111","loc":[-85.637248,41.942053]},"n1110":{"id":"n1110","loc":[-85.639202,41.943819]},"n1111":{"id":"n1111","loc":[-85.639202,41.943837]},"n1112":{"id":"n1112","loc":[-85.639293,41.943836]},"n1113":{"id":"n1113","loc":[-85.639295,41.943898]},"n1114":{"id":"n1114","loc":[-85.639255,41.943898]},"n1115":{"id":"n1115","loc":[-85.639296,41.944083]},"n1116":{"id":"n1116","loc":[-85.639144,41.944084]},"n1117":{"id":"n1117","loc":[-85.639143,41.944026]},"n1118":{"id":"n1118","loc":[-85.639162,41.944026]},"n1119":{"id":"n1119","loc":[-85.639162,41.944]},"n112":{"id":"n112","loc":[-85.637248,41.942042]},"n1120":{"id":"n1120","loc":[-85.639295,41.943999]},"n1121":{"id":"n1121","loc":[-85.639131,41.944139]},"n1122":{"id":"n1122","loc":[-85.63901,41.94414]},"n1123":{"id":"n1123","loc":[-85.63901,41.944076]},"n1124":{"id":"n1124","loc":[-85.63913,41.944075]},"n1125":{"id":"n1125","loc":[-85.639092,41.944155]},"n1126":{"id":"n1126","loc":[-85.639093,41.944308]},"n1127":{"id":"n1127","loc":[-85.639225,41.944308]},"n1128":{"id":"n1128","loc":[-85.639225,41.94429]},"n1129":{"id":"n1129","loc":[-85.639253,41.944289]},"n113":{"id":"n113","loc":[-85.637338,41.942041]},"n1130":{"id":"n1130","loc":[-85.639253,41.944269]},"n1131":{"id":"n1131","loc":[-85.639243,41.944269]},"n1132":{"id":"n1132","loc":[-85.639243,41.944229]},"n1133":{"id":"n1133","loc":[-85.639224,41.944229]},"n1134":{"id":"n1134","loc":[-85.639224,41.944196]},"n1135":{"id":"n1135","loc":[-85.639195,41.944196]},"n1136":{"id":"n1136","loc":[-85.639195,41.944155]},"n1137":{"id":"n1137","loc":[-85.639072,41.944154]},"n1138":{"id":"n1138","loc":[-85.638865,41.944154]},"n1139":{"id":"n1139","loc":[-85.638863,41.943967]},"n114":{"id":"n114","loc":[-85.637338,41.942055]},"n1140":{"id":"n1140","loc":[-85.6386,41.942698]},"n1141":{"id":"n1141","loc":[-85.639348,41.942698]},"n1142":{"id":"n1142","loc":[-85.639377,41.944984]},"n1143":{"id":"n1143","loc":[-85.63937,41.945013]},"n1144":{"id":"n1144","loc":[-85.639357,41.945033]},"n1145":{"id":"n1145","loc":[-85.639353,41.945053]},"n1146":{"id":"n1146","loc":[-85.639352,41.945084]},"n1147":{"id":"n1147","loc":[-85.638278,41.945516]},"n1148":{"id":"n1148","loc":[-85.637505,41.945801]},"n1149":{"id":"n1149","loc":[-85.637327,41.945857]},"n115":{"id":"n115","loc":[-85.637583,41.941943]},"n1150":{"id":"n1150","loc":[-85.637168,41.945899]},"n1151":{"id":"n1151","loc":[-85.637017,41.94593]},"n1152":{"id":"n1152","loc":[-85.637185,41.945938]},"n1153":{"id":"n1153","loc":[-85.63682,41.945963]},"n1154":{"id":"n1154","loc":[-85.636639,41.945984]},"n1155":{"id":"n1155","loc":[-85.636439,41.945999]},"n1156":{"id":"n1156","loc":[-85.635801,41.945999]},"n1157":{"id":"n1157","loc":[-85.635769,41.945908]},"n1158":{"id":"n1158","loc":[-85.635953,41.946154]},"n1159":{"id":"n1159","loc":[-85.635472,41.94598]},"n116":{"id":"n116","loc":[-85.637584,41.941983]},"n1160":{"id":"n1160","loc":[-85.635409,41.945981]},"n1161":{"id":"n1161","loc":[-85.635583,41.945987]},"n1162":{"id":"n1162","loc":[-85.636452,41.945805]},"n1163":{"id":"n1163","loc":[-85.636425,41.94582]},"n1164":{"id":"n1164","loc":[-85.636396,41.945817]},"n1165":{"id":"n1165","loc":[-85.636368,41.945797]},"n1166":{"id":"n1166","loc":[-85.636346,41.945767]},"n1167":{"id":"n1167","loc":[-85.636307,41.945745]},"n1168":{"id":"n1168","loc":[-85.636194,41.94565]},"n1169":{"id":"n1169","loc":[-85.636121,41.945579]},"n117":{"id":"n117","loc":[-85.63751,41.941983]},"n1170":{"id":"n1170","loc":[-85.635995,41.945432]},"n1171":{"id":"n1171","loc":[-85.637564,41.943538]},"n1172":{"id":"n1172","loc":[-85.63756,41.943505]},"n1173":{"id":"n1173","loc":[-85.637435,41.943489]},"n1174":{"id":"n1174","loc":[-85.637093,41.943556]},"n1175":{"id":"n1175","loc":[-85.634836,41.941574]},"n1176":{"id":"n1176","loc":[-85.634692,41.9415]},"n1177":{"id":"n1177","loc":[-85.634261,41.941337]},"n1178":{"id":"n1178","loc":[-85.634208,41.940962]},"n1179":{"id":"n1179","loc":[-85.635247,41.940968]},"n118":{"id":"n118","loc":[-85.637509,41.941944]},"n1180":{"id":"n1180","loc":[-85.63514,41.941205]},"n1181":{"id":"n1181","loc":[-85.634858,41.941511]},"n1182":{"id":"n1182","loc":[-85.630725,41.943465]},"n1183":{"id":"n1183","loc":[-85.632591,41.942826]},"n1184":{"id":"n1184","loc":[-85.634487,41.941928]},"n1185":{"id":"n1185","loc":[-85.634499,41.942056]},"n1186":{"id":"n1186","loc":[-85.63433,41.943102]},"n1187":{"id":"n1187","loc":[-85.634158,41.943151]},"n1188":{"id":"n1188","loc":[-85.634107,41.94305]},"n1189":{"id":"n1189","loc":[-85.634279,41.943002]},"n119":{"id":"n119","loc":[-85.637724,41.941973]},"n1190":{"id":"n1190","loc":[-85.634362,41.943762]},"n1191":{"id":"n1191","loc":[-85.634331,41.943731]},"n1192":{"id":"n1192","loc":[-85.634396,41.943695]},"n1193":{"id":"n1193","loc":[-85.634426,41.943726]},"n1194":{"id":"n1194","loc":[-85.621569,41.956021]},"n1195":{"id":"n1195","loc":[-85.621574,41.956164]},"n1196":{"id":"n1196","loc":[-85.621489,41.956165]},"n1197":{"id":"n1197","loc":[-85.621488,41.956136]},"n1198":{"id":"n1198","loc":[-85.621372,41.956139]},"n1199":{"id":"n1199","loc":[-85.621369,41.956049]},"n12":{"id":"n12","loc":[-85.63359,41.941093]},"n120":{"id":"n120","loc":[-85.637633,41.941973]},"n1200":{"id":"n1200","loc":[-85.621493,41.956047]},"n1201":{"id":"n1201","loc":[-85.621492,41.956022]},"n1202":{"id":"n1202","loc":[-85.619744,41.953192]},"n1203":{"id":"n1203","loc":[-85.619059,41.953902]},"n1204":{"id":"n1204","loc":[-85.623984,41.95469]},"n1205":{"id":"n1205","loc":[-85.630159,41.958208]},"n1206":{"id":"n1206","loc":[-85.63002,41.958208]},"n1207":{"id":"n1207","loc":[-85.630021,41.95814]},"n1208":{"id":"n1208","loc":[-85.63,41.95814]},"n1209":{"id":"n1209","loc":[-85.63,41.958043]},"n121":{"id":"n121","loc":[-85.637633,41.941853]},"n1210":{"id":"n1210","loc":[-85.630159,41.958043]},"n1211":{"id":"n1211","loc":[-85.630304,41.957566]},"n1212":{"id":"n1212","loc":[-85.630303,41.957684]},"n1213":{"id":"n1213","loc":[-85.630073,41.957683]},"n1214":{"id":"n1214","loc":[-85.630072,41.957721]},"n1215":{"id":"n1215","loc":[-85.629993,41.95772]},"n1216":{"id":"n1216","loc":[-85.629993,41.95768]},"n1217":{"id":"n1217","loc":[-85.629968,41.95768]},"n1218":{"id":"n1218","loc":[-85.629969,41.957588]},"n1219":{"id":"n1219","loc":[-85.630219,41.95759]},"n122":{"id":"n122","loc":[-85.637724,41.941853]},"n1220":{"id":"n1220","loc":[-85.630219,41.957566]},"n1221":{"id":"n1221","loc":[-85.630717,41.957744]},"n1222":{"id":"n1222","loc":[-85.630596,41.957745]},"n1223":{"id":"n1223","loc":[-85.630598,41.957553]},"n1224":{"id":"n1224","loc":[-85.630717,41.957555]},"n1225":{"id":"n1225","loc":[-85.630609,41.957745]},"n1226":{"id":"n1226","loc":[-85.63061,41.957789]},"n1227":{"id":"n1227","loc":[-85.630327,41.957791]},"n1228":{"id":"n1228","loc":[-85.630324,41.95752]},"n1229":{"id":"n1229","loc":[-85.630325,41.95756]},"n123":{"id":"n123","loc":[-85.637773,41.941988]},"n1230":{"id":"n1230","loc":[-85.63057,41.95756]},"n1231":{"id":"n1231","loc":[-85.63069,41.958016]},"n1232":{"id":"n1232","loc":[-85.630586,41.958017]},"n1233":{"id":"n1233","loc":[-85.630584,41.957956]},"n1234":{"id":"n1234","loc":[-85.630614,41.957956]},"n1235":{"id":"n1235","loc":[-85.630611,41.957835]},"n1236":{"id":"n1236","loc":[-85.630737,41.957833]},"n1237":{"id":"n1237","loc":[-85.630739,41.957921]},"n1238":{"id":"n1238","loc":[-85.630688,41.957922]},"n1239":{"id":"n1239","loc":[-85.630719,41.958291]},"n124":{"id":"n124","loc":[-85.637773,41.942046]},"n1240":{"id":"n1240","loc":[-85.630592,41.958291]},"n1241":{"id":"n1241","loc":[-85.630593,41.958108]},"n1242":{"id":"n1242","loc":[-85.630701,41.958109]},"n1243":{"id":"n1243","loc":[-85.6307,41.958173]},"n1244":{"id":"n1244","loc":[-85.630711,41.958173]},"n1245":{"id":"n1245","loc":[-85.630711,41.958233]},"n1246":{"id":"n1246","loc":[-85.630719,41.958233]},"n1247":{"id":"n1247","loc":[-85.630523,41.958329]},"n1248":{"id":"n1248","loc":[-85.630388,41.958329]},"n1249":{"id":"n1249","loc":[-85.630387,41.958262]},"n125":{"id":"n125","loc":[-85.637693,41.942047]},"n1250":{"id":"n1250","loc":[-85.630523,41.958261]},"n1251":{"id":"n1251","loc":[-85.63072,41.958636]},"n1252":{"id":"n1252","loc":[-85.630721,41.958709]},"n1253":{"id":"n1253","loc":[-85.630503,41.958712]},"n1254":{"id":"n1254","loc":[-85.630498,41.958511]},"n1255":{"id":"n1255","loc":[-85.630635,41.95851]},"n1256":{"id":"n1256","loc":[-85.630638,41.958636]},"n1257":{"id":"n1257","loc":[-85.630437,41.958822]},"n1258":{"id":"n1258","loc":[-85.630437,41.958849]},"n1259":{"id":"n1259","loc":[-85.630393,41.958849]},"n126":{"id":"n126","loc":[-85.637692,41.941988]},"n1260":{"id":"n1260","loc":[-85.630393,41.958822]},"n1261":{"id":"n1261","loc":[-85.630605,41.959102]},"n1262":{"id":"n1262","loc":[-85.63049,41.959104]},"n1263":{"id":"n1263","loc":[-85.630487,41.958996]},"n1264":{"id":"n1264","loc":[-85.630462,41.958996]},"n1265":{"id":"n1265","loc":[-85.63046,41.958922]},"n1266":{"id":"n1266","loc":[-85.630562,41.958921]},"n1267":{"id":"n1267","loc":[-85.630564,41.958992]},"n1268":{"id":"n1268","loc":[-85.630602,41.958992]},"n1269":{"id":"n1269","loc":[-85.630126,41.957096]},"n127":{"id":"n127","loc":[-85.637604,41.941994]},"n1270":{"id":"n1270","loc":[-85.630129,41.957283]},"n1271":{"id":"n1271","loc":[-85.629993,41.957284]},"n1272":{"id":"n1272","loc":[-85.629992,41.957216]},"n1273":{"id":"n1273","loc":[-85.630015,41.957215]},"n1274":{"id":"n1274","loc":[-85.630013,41.957097]},"n1275":{"id":"n1275","loc":[-85.630211,41.956592]},"n1276":{"id":"n1276","loc":[-85.630211,41.956676]},"n1277":{"id":"n1277","loc":[-85.630162,41.956676]},"n1278":{"id":"n1278","loc":[-85.630162,41.95676]},"n1279":{"id":"n1279","loc":[-85.630037,41.956761]},"n128":{"id":"n128","loc":[-85.637604,41.942057]},"n1280":{"id":"n1280","loc":[-85.630037,41.956592]},"n1281":{"id":"n1281","loc":[-85.630309,41.95653]},"n1282":{"id":"n1282","loc":[-85.630326,41.957065]},"n1283":{"id":"n1283","loc":[-85.630118,41.957065]},"n1284":{"id":"n1284","loc":[-85.630119,41.957096]},"n1285":{"id":"n1285","loc":[-85.63067,41.957307]},"n1286":{"id":"n1286","loc":[-85.630536,41.957308]},"n1287":{"id":"n1287","loc":[-85.630533,41.957111]},"n1288":{"id":"n1288","loc":[-85.630667,41.95711]},"n1289":{"id":"n1289","loc":[-85.630676,41.956808]},"n129":{"id":"n129","loc":[-85.63748,41.942057]},"n1290":{"id":"n1290","loc":[-85.630551,41.956808]},"n1291":{"id":"n1291","loc":[-85.630552,41.956982]},"n1292":{"id":"n1292","loc":[-85.63059,41.956982]},"n1293":{"id":"n1293","loc":[-85.63059,41.957001]},"n1294":{"id":"n1294","loc":[-85.630692,41.957001]},"n1295":{"id":"n1295","loc":[-85.630692,41.956936]},"n1296":{"id":"n1296","loc":[-85.630676,41.956936]},"n1297":{"id":"n1297","loc":[-85.630496,41.956889]},"n1298":{"id":"n1298","loc":[-85.630501,41.956947]},"n1299":{"id":"n1299","loc":[-85.630377,41.956953]},"n13":{"id":"n13","loc":[-85.633643,41.941143]},"n130":{"id":"n130","loc":[-85.63748,41.941994]},"n1300":{"id":"n1300","loc":[-85.630359,41.956938]},"n1301":{"id":"n1301","loc":[-85.630359,41.956912]},"n1302":{"id":"n1302","loc":[-85.63038,41.956894]},"n1303":{"id":"n1303","loc":[-85.630679,41.956747]},"n1304":{"id":"n1304","loc":[-85.630572,41.956748]},"n1305":{"id":"n1305","loc":[-85.63057,41.956668]},"n1306":{"id":"n1306","loc":[-85.630501,41.956669]},"n1307":{"id":"n1307","loc":[-85.630499,41.95659]},"n1308":{"id":"n1308","loc":[-85.630565,41.956589]},"n1309":{"id":"n1309","loc":[-85.630564,41.956541]},"n131":{"id":"n131","loc":[-85.637431,41.941832]},"n1310":{"id":"n1310","loc":[-85.630686,41.956539]},"n1311":{"id":"n1311","loc":[-85.630688,41.956631]},"n1312":{"id":"n1312","loc":[-85.630676,41.956631]},"n1313":{"id":"n1313","loc":[-85.630686,41.956487]},"n1314":{"id":"n1314","loc":[-85.63059,41.956487]},"n1315":{"id":"n1315","loc":[-85.63059,41.956396]},"n1316":{"id":"n1316","loc":[-85.630686,41.956396]},"n1317":{"id":"n1317","loc":[-85.630643,41.9563]},"n1318":{"id":"n1318","loc":[-85.630548,41.956301]},"n1319":{"id":"n1319","loc":[-85.630545,41.956217]},"n132":{"id":"n132","loc":[-85.637432,41.94189]},"n1320":{"id":"n1320","loc":[-85.630529,41.956214]},"n1321":{"id":"n1321","loc":[-85.630521,41.956202]},"n1322":{"id":"n1322","loc":[-85.63052,41.95618]},"n1323":{"id":"n1323","loc":[-85.630527,41.956169]},"n1324":{"id":"n1324","loc":[-85.630544,41.956163]},"n1325":{"id":"n1325","loc":[-85.630543,41.956094]},"n1326":{"id":"n1326","loc":[-85.630641,41.956093]},"n1327":{"id":"n1327","loc":[-85.630642,41.956134]},"n1328":{"id":"n1328","loc":[-85.630656,41.956134]},"n1329":{"id":"n1329","loc":[-85.630657,41.956252]},"n133":{"id":"n133","loc":[-85.637412,41.94189]},"n1330":{"id":"n1330","loc":[-85.630643,41.956252]},"n1331":{"id":"n1331","loc":[-85.630409,41.956044]},"n1332":{"id":"n1332","loc":[-85.630409,41.956075]},"n1333":{"id":"n1333","loc":[-85.630195,41.956078]},"n1334":{"id":"n1334","loc":[-85.630195,41.9561]},"n1335":{"id":"n1335","loc":[-85.630088,41.956101]},"n1336":{"id":"n1336","loc":[-85.630087,41.956048]},"n1337":{"id":"n1337","loc":[-85.630345,41.956114]},"n1338":{"id":"n1338","loc":[-85.630328,41.956113]},"n1339":{"id":"n1339","loc":[-85.63034,41.956189]},"n134":{"id":"n134","loc":[-85.637413,41.941938]},"n1340":{"id":"n1340","loc":[-85.630355,41.956185]},"n1341":{"id":"n1341","loc":[-85.630311,41.956117]},"n1342":{"id":"n1342","loc":[-85.630297,41.956125]},"n1343":{"id":"n1343","loc":[-85.630287,41.956136]},"n1344":{"id":"n1344","loc":[-85.630283,41.956149]},"n1345":{"id":"n1345","loc":[-85.630285,41.956162]},"n1346":{"id":"n1346","loc":[-85.630293,41.956174]},"n1347":{"id":"n1347","loc":[-85.630306,41.956183]},"n1348":{"id":"n1348","loc":[-85.630322,41.956188]},"n1349":{"id":"n1349","loc":[-85.630368,41.956179]},"n135":{"id":"n135","loc":[-85.637342,41.941939]},"n1350":{"id":"n1350","loc":[-85.630378,41.95617]},"n1351":{"id":"n1351","loc":[-85.630384,41.956159]},"n1352":{"id":"n1352","loc":[-85.630385,41.956147]},"n1353":{"id":"n1353","loc":[-85.630381,41.956136]},"n1354":{"id":"n1354","loc":[-85.630372,41.956126]},"n1355":{"id":"n1355","loc":[-85.63036,41.956118]},"n1356":{"id":"n1356","loc":[-85.630776,41.956041]},"n1357":{"id":"n1357","loc":[-85.630195,41.956036]},"n1358":{"id":"n1358","loc":[-85.630137,41.956037]},"n1359":{"id":"n1359","loc":[-85.630136,41.956006]},"n136":{"id":"n136","loc":[-85.637342,41.941914]},"n1360":{"id":"n1360","loc":[-85.630194,41.956005]},"n1361":{"id":"n1361","loc":[-85.629864,41.956039]},"n1362":{"id":"n1362","loc":[-85.629864,41.955862]},"n1363":{"id":"n1363","loc":[-85.629541,41.958291]},"n1364":{"id":"n1364","loc":[-85.629419,41.958292]},"n1365":{"id":"n1365","loc":[-85.629417,41.958168]},"n1366":{"id":"n1366","loc":[-85.629445,41.958168]},"n1367":{"id":"n1367","loc":[-85.629444,41.958109]},"n1368":{"id":"n1368","loc":[-85.629537,41.958108]},"n1369":{"id":"n1369","loc":[-85.629351,41.958136]},"n137":{"id":"n137","loc":[-85.637212,41.941916]},"n1370":{"id":"n1370","loc":[-85.629352,41.958202]},"n1371":{"id":"n1371","loc":[-85.629365,41.958202]},"n1372":{"id":"n1372","loc":[-85.629365,41.958223]},"n1373":{"id":"n1373","loc":[-85.629291,41.958224]},"n1374":{"id":"n1374","loc":[-85.62929,41.958137]},"n1375":{"id":"n1375","loc":[-85.629443,41.958073]},"n1376":{"id":"n1376","loc":[-85.629252,41.958075]},"n1377":{"id":"n1377","loc":[-85.629253,41.95827]},"n1378":{"id":"n1378","loc":[-85.629566,41.957585]},"n1379":{"id":"n1379","loc":[-85.629566,41.957692]},"n138":{"id":"n138","loc":[-85.637211,41.941835]},"n1380":{"id":"n1380","loc":[-85.629281,41.957693]},"n1381":{"id":"n1381","loc":[-85.62928,41.957585]},"n1382":{"id":"n1382","loc":[-85.629004,41.957599]},"n1383":{"id":"n1383","loc":[-85.629004,41.957682]},"n1384":{"id":"n1384","loc":[-85.628902,41.957682]},"n1385":{"id":"n1385","loc":[-85.628902,41.957723]},"n1386":{"id":"n1386","loc":[-85.628731,41.957724]},"n1387":{"id":"n1387","loc":[-85.628731,41.9576]},"n1388":{"id":"n1388","loc":[-85.62836,41.957679]},"n1389":{"id":"n1389","loc":[-85.628359,41.957759]},"n139":{"id":"n139","loc":[-85.637293,41.941834]},"n1390":{"id":"n1390","loc":[-85.628062,41.957757]},"n1391":{"id":"n1391","loc":[-85.628063,41.957657]},"n1392":{"id":"n1392","loc":[-85.628198,41.957657]},"n1393":{"id":"n1393","loc":[-85.628198,41.957678]},"n1394":{"id":"n1394","loc":[-85.627775,41.958095]},"n1395":{"id":"n1395","loc":[-85.627608,41.958095]},"n1396":{"id":"n1396","loc":[-85.627606,41.957829]},"n1397":{"id":"n1397","loc":[-85.627774,41.957829]},"n1398":{"id":"n1398","loc":[-85.626816,41.957636]},"n1399":{"id":"n1399","loc":[-85.626787,41.957681]},"n14":{"id":"n14","loc":[-85.633643,41.940122]},"n140":{"id":"n140","loc":[-85.637293,41.941823]},"n1400":{"id":"n1400","loc":[-85.626673,41.95764]},"n1401":{"id":"n1401","loc":[-85.626703,41.957594]},"n1402":{"id":"n1402","loc":[-85.62694,41.95752]},"n1403":{"id":"n1403","loc":[-85.62688,41.957611]},"n1404":{"id":"n1404","loc":[-85.626798,41.957582]},"n1405":{"id":"n1405","loc":[-85.626793,41.95759]},"n1406":{"id":"n1406","loc":[-85.626657,41.95754]},"n1407":{"id":"n1407","loc":[-85.626666,41.957526]},"n1408":{"id":"n1408","loc":[-85.626584,41.957497]},"n1409":{"id":"n1409","loc":[-85.626638,41.957415]},"n141":{"id":"n141","loc":[-85.637363,41.941822]},"n1410":{"id":"n1410","loc":[-85.626731,41.957449]},"n1411":{"id":"n1411","loc":[-85.626725,41.957457]},"n1412":{"id":"n1412","loc":[-85.626843,41.9575]},"n1413":{"id":"n1413","loc":[-85.626851,41.957487]},"n1414":{"id":"n1414","loc":[-85.626579,41.957521]},"n1415":{"id":"n1415","loc":[-85.626537,41.957587]},"n1416":{"id":"n1416","loc":[-85.626427,41.957551]},"n1417":{"id":"n1417","loc":[-85.626468,41.957483]},"n1418":{"id":"n1418","loc":[-85.626592,41.957639]},"n1419":{"id":"n1419","loc":[-85.626807,41.957713]},"n142":{"id":"n142","loc":[-85.637364,41.941833]},"n1420":{"id":"n1420","loc":[-85.627129,41.957401]},"n1421":{"id":"n1421","loc":[-85.627209,41.95742]},"n1422":{"id":"n1422","loc":[-85.627302,41.957435]},"n1423":{"id":"n1423","loc":[-85.629566,41.957048]},"n1424":{"id":"n1424","loc":[-85.629568,41.957215]},"n1425":{"id":"n1425","loc":[-85.629383,41.957216]},"n1426":{"id":"n1426","loc":[-85.629384,41.95727]},"n1427":{"id":"n1427","loc":[-85.629231,41.957271]},"n1428":{"id":"n1428","loc":[-85.62923,41.957198]},"n1429":{"id":"n1429","loc":[-85.629322,41.957198]},"n143":{"id":"n143","loc":[-85.637559,41.942448]},"n1430":{"id":"n1430","loc":[-85.629321,41.957108]},"n1431":{"id":"n1431","loc":[-85.629441,41.957108]},"n1432":{"id":"n1432","loc":[-85.62944,41.957049]},"n1433":{"id":"n1433","loc":[-85.629337,41.957018]},"n1434":{"id":"n1434","loc":[-85.629366,41.957028]},"n1435":{"id":"n1435","loc":[-85.629375,41.957044]},"n1436":{"id":"n1436","loc":[-85.629354,41.957071]},"n1437":{"id":"n1437","loc":[-85.629317,41.957071]},"n1438":{"id":"n1438","loc":[-85.62929,41.957074]},"n1439":{"id":"n1439","loc":[-85.62927,41.957084]},"n144":{"id":"n144","loc":[-85.637036,41.942454]},"n1440":{"id":"n1440","loc":[-85.629232,41.957081]},"n1441":{"id":"n1441","loc":[-85.629222,41.957057]},"n1442":{"id":"n1442","loc":[-85.629259,41.957025]},"n1443":{"id":"n1443","loc":[-85.629293,41.957017]},"n1444":{"id":"n1444","loc":[-85.629251,41.957085]},"n1445":{"id":"n1445","loc":[-85.629235,41.957041]},"n1446":{"id":"n1446","loc":[-85.62937,41.95706]},"n1447":{"id":"n1447","loc":[-85.629531,41.956909]},"n1448":{"id":"n1448","loc":[-85.629408,41.956909]},"n1449":{"id":"n1449","loc":[-85.629402,41.956681]},"n145":{"id":"n145","loc":[-85.636692,41.942828]},"n1450":{"id":"n1450","loc":[-85.62953,41.956681]},"n1451":{"id":"n1451","loc":[-85.629402,41.956728]},"n1452":{"id":"n1452","loc":[-85.629408,41.956845]},"n1453":{"id":"n1453","loc":[-85.629385,41.956845]},"n1454":{"id":"n1454","loc":[-85.629384,41.956728]},"n1455":{"id":"n1455","loc":[-85.629063,41.956973]},"n1456":{"id":"n1456","loc":[-85.629064,41.957009]},"n1457":{"id":"n1457","loc":[-85.62902,41.957009]},"n1458":{"id":"n1458","loc":[-85.629019,41.956973]},"n1459":{"id":"n1459","loc":[-85.629136,41.956633]},"n146":{"id":"n146","loc":[-85.635929,41.942826]},"n1460":{"id":"n1460","loc":[-85.629084,41.956632]},"n1461":{"id":"n1461","loc":[-85.629084,41.956605]},"n1462":{"id":"n1462","loc":[-85.629136,41.956605]},"n1463":{"id":"n1463","loc":[-85.629153,41.956657]},"n1464":{"id":"n1464","loc":[-85.627914,41.956661]},"n1465":{"id":"n1465","loc":[-85.630096,41.956101]},"n1466":{"id":"n1466","loc":[-85.630097,41.95612]},"n1467":{"id":"n1467","loc":[-85.630011,41.956121]},"n1468":{"id":"n1468","loc":[-85.630015,41.956374]},"n1469":{"id":"n1469","loc":[-85.629148,41.95626]},"n147":{"id":"n147","loc":[-85.636433,41.942828]},"n1470":{"id":"n1470","loc":[-85.629527,41.956591]},"n1471":{"id":"n1471","loc":[-85.629405,41.956591]},"n1472":{"id":"n1472","loc":[-85.629405,41.956459]},"n1473":{"id":"n1473","loc":[-85.629369,41.956459]},"n1474":{"id":"n1474","loc":[-85.629369,41.956424]},"n1475":{"id":"n1475","loc":[-85.629413,41.956424]},"n1476":{"id":"n1476","loc":[-85.629414,41.956326]},"n1477":{"id":"n1477","loc":[-85.629522,41.956326]},"n1478":{"id":"n1478","loc":[-85.629522,41.956487]},"n1479":{"id":"n1479","loc":[-85.629527,41.956487]},"n148":{"id":"n148","loc":[-85.636435,41.942864],"tags":{"entrance":"yes"}},"n1480":{"id":"n1480","loc":[-85.629414,41.95634]},"n1481":{"id":"n1481","loc":[-85.629149,41.956338]},"n1482":{"id":"n1482","loc":[-85.62931,41.956531]},"n1483":{"id":"n1483","loc":[-85.629291,41.95655]},"n1484":{"id":"n1484","loc":[-85.629255,41.95655]},"n1485":{"id":"n1485","loc":[-85.629236,41.956533]},"n1486":{"id":"n1486","loc":[-85.629237,41.956461]},"n1487":{"id":"n1487","loc":[-85.629257,41.956445]},"n1488":{"id":"n1488","loc":[-85.629257,41.956428]},"n1489":{"id":"n1489","loc":[-85.629287,41.956428]},"n149":{"id":"n149","loc":[-85.637235,41.942622]},"n1490":{"id":"n1490","loc":[-85.629287,41.956445]},"n1491":{"id":"n1491","loc":[-85.62931,41.95646]},"n1492":{"id":"n1492","loc":[-85.629049,41.956425]},"n1493":{"id":"n1493","loc":[-85.628907,41.956427]},"n1494":{"id":"n1494","loc":[-85.628907,41.956455]},"n1495":{"id":"n1495","loc":[-85.628841,41.956455]},"n1496":{"id":"n1496","loc":[-85.62884,41.956424]},"n1497":{"id":"n1497","loc":[-85.628764,41.956425]},"n1498":{"id":"n1498","loc":[-85.628762,41.956323]},"n1499":{"id":"n1499","loc":[-85.628808,41.956323]},"n15":{"id":"n15","loc":[-85.633477,41.940187]},"n150":{"id":"n150","loc":[-85.637247,41.943116]},"n1500":{"id":"n1500","loc":[-85.628808,41.956314]},"n1501":{"id":"n1501","loc":[-85.628911,41.956313]},"n1502":{"id":"n1502","loc":[-85.628911,41.956322]},"n1503":{"id":"n1503","loc":[-85.62896,41.956322]},"n1504":{"id":"n1504","loc":[-85.62896,41.956348]},"n1505":{"id":"n1505","loc":[-85.629047,41.956347]},"n1506":{"id":"n1506","loc":[-85.628893,41.957263]},"n1507":{"id":"n1507","loc":[-85.628788,41.957264]},"n1508":{"id":"n1508","loc":[-85.628786,41.95711]},"n1509":{"id":"n1509","loc":[-85.628894,41.957109]},"n151":{"id":"n151","loc":[-85.637564,41.943116]},"n1510":{"id":"n1510","loc":[-85.628893,41.957075]},"n1511":{"id":"n1511","loc":[-85.628965,41.957075]},"n1512":{"id":"n1512","loc":[-85.628965,41.957111]},"n1513":{"id":"n1513","loc":[-85.629035,41.95711]},"n1514":{"id":"n1514","loc":[-85.629036,41.957209]},"n1515":{"id":"n1515","loc":[-85.628893,41.95721]},"n1516":{"id":"n1516","loc":[-85.631348,41.95773]},"n1517":{"id":"n1517","loc":[-85.631101,41.957732]},"n1518":{"id":"n1518","loc":[-85.631099,41.957558]},"n1519":{"id":"n1519","loc":[-85.63123,41.957557]},"n152":{"id":"n152","loc":[-85.637552,41.942619]},"n1520":{"id":"n1520","loc":[-85.631231,41.957618]},"n1521":{"id":"n1521","loc":[-85.63129,41.957618]},"n1522":{"id":"n1522","loc":[-85.63129,41.957651]},"n1523":{"id":"n1523","loc":[-85.631346,41.957651]},"n1524":{"id":"n1524","loc":[-85.631366,41.95802]},"n1525":{"id":"n1525","loc":[-85.631141,41.958021]},"n1526":{"id":"n1526","loc":[-85.63114,41.957943]},"n1527":{"id":"n1527","loc":[-85.631167,41.957943]},"n1528":{"id":"n1528","loc":[-85.631166,41.957808]},"n1529":{"id":"n1529","loc":[-85.631301,41.957807]},"n153":{"id":"n153","loc":[-85.63763,41.942528]},"n1530":{"id":"n1530","loc":[-85.631302,41.95789]},"n1531":{"id":"n1531","loc":[-85.631364,41.95789]},"n1532":{"id":"n1532","loc":[-85.631539,41.957754]},"n1533":{"id":"n1533","loc":[-85.631069,41.957756]},"n1534":{"id":"n1534","loc":[-85.631536,41.957518]},"n1535":{"id":"n1535","loc":[-85.631543,41.957995]},"n1536":{"id":"n1536","loc":[-85.631531,41.957748]},"n1537":{"id":"n1537","loc":[-85.631485,41.957748]},"n1538":{"id":"n1538","loc":[-85.631484,41.957698]},"n1539":{"id":"n1539","loc":[-85.631531,41.957698]},"n154":{"id":"n154","loc":[-85.637151,41.94253]},"n1540":{"id":"n1540","loc":[-85.631586,41.957742]},"n1541":{"id":"n1541","loc":[-85.63155,41.957742]},"n1542":{"id":"n1542","loc":[-85.631551,41.957702]},"n1543":{"id":"n1543","loc":[-85.631587,41.957702]},"n1544":{"id":"n1544","loc":[-85.631534,41.95807]},"n1545":{"id":"n1545","loc":[-85.631534,41.958097]},"n1546":{"id":"n1546","loc":[-85.631491,41.958097]},"n1547":{"id":"n1547","loc":[-85.631491,41.95807]},"n1548":{"id":"n1548","loc":[-85.631304,41.958861]},"n1549":{"id":"n1549","loc":[-85.631186,41.958862]},"n155":{"id":"n155","loc":[-85.63715,41.942424]},"n1550":{"id":"n1550","loc":[-85.631182,41.958653]},"n1551":{"id":"n1551","loc":[-85.6313,41.958651]},"n1552":{"id":"n1552","loc":[-85.631293,41.95854]},"n1553":{"id":"n1553","loc":[-85.631176,41.958539]},"n1554":{"id":"n1554","loc":[-85.631176,41.958377]},"n1555":{"id":"n1555","loc":[-85.631297,41.958377]},"n1556":{"id":"n1556","loc":[-85.631297,41.958422]},"n1557":{"id":"n1557","loc":[-85.631333,41.958422]},"n1558":{"id":"n1558","loc":[-85.631333,41.958479]},"n1559":{"id":"n1559","loc":[-85.631293,41.958479]},"n156":{"id":"n156","loc":[-85.637629,41.942422]},"n1560":{"id":"n1560","loc":[-85.631951,41.958908]},"n1561":{"id":"n1561","loc":[-85.631838,41.958909]},"n1562":{"id":"n1562","loc":[-85.631837,41.958847]},"n1563":{"id":"n1563","loc":[-85.631859,41.958847]},"n1564":{"id":"n1564","loc":[-85.631858,41.958746]},"n1565":{"id":"n1565","loc":[-85.631961,41.958745]},"n1566":{"id":"n1566","loc":[-85.631962,41.958812]},"n1567":{"id":"n1567","loc":[-85.631949,41.958813]},"n1568":{"id":"n1568","loc":[-85.631579,41.958913]},"n1569":{"id":"n1569","loc":[-85.631567,41.95864]},"n157":{"id":"n157","loc":[-85.638232,41.942477]},"n1570":{"id":"n1570","loc":[-85.631942,41.958639]},"n1571":{"id":"n1571","loc":[-85.631543,41.958594]},"n1572":{"id":"n1572","loc":[-85.631543,41.958065]},"n1573":{"id":"n1573","loc":[-85.631888,41.958546]},"n1574":{"id":"n1574","loc":[-85.631804,41.958546]},"n1575":{"id":"n1575","loc":[-85.631803,41.95841]},"n1576":{"id":"n1576","loc":[-85.631886,41.958409]},"n1577":{"id":"n1577","loc":[-85.631897,41.958125]},"n1578":{"id":"n1578","loc":[-85.631755,41.958126]},"n1579":{"id":"n1579","loc":[-85.631756,41.958174]},"n158":{"id":"n158","loc":[-85.637775,41.942483]},"n1580":{"id":"n1580","loc":[-85.63178,41.958174]},"n1581":{"id":"n1581","loc":[-85.631782,41.958272]},"n1582":{"id":"n1582","loc":[-85.631922,41.958271]},"n1583":{"id":"n1583","loc":[-85.631922,41.958244]},"n1584":{"id":"n1584","loc":[-85.631883,41.958245]},"n1585":{"id":"n1585","loc":[-85.631882,41.958175]},"n1586":{"id":"n1586","loc":[-85.631898,41.958175]},"n1587":{"id":"n1587","loc":[-85.631924,41.958032]},"n1588":{"id":"n1588","loc":[-85.631762,41.958032]},"n1589":{"id":"n1589","loc":[-85.63176,41.957827]},"n159":{"id":"n159","loc":[-85.638107,41.942512]},"n1590":{"id":"n1590","loc":[-85.631888,41.957826]},"n1591":{"id":"n1591","loc":[-85.631888,41.957892]},"n1592":{"id":"n1592","loc":[-85.631871,41.957892]},"n1593":{"id":"n1593","loc":[-85.631872,41.957949]},"n1594":{"id":"n1594","loc":[-85.631923,41.957949]},"n1595":{"id":"n1595","loc":[-85.631695,41.95795]},"n1596":{"id":"n1596","loc":[-85.631666,41.957975]},"n1597":{"id":"n1597","loc":[-85.63163,41.957975]},"n1598":{"id":"n1598","loc":[-85.6316,41.957951]},"n1599":{"id":"n1599","loc":[-85.6316,41.95785]},"n16":{"id":"n16","loc":[-85.63341,41.94032]},"n160":{"id":"n160","loc":[-85.637763,41.942514]},"n1600":{"id":"n1600","loc":[-85.63166,41.95785]},"n1601":{"id":"n1601","loc":[-85.631696,41.957873]},"n1602":{"id":"n1602","loc":[-85.631924,41.957762]},"n1603":{"id":"n1603","loc":[-85.631762,41.957762]},"n1604":{"id":"n1604","loc":[-85.631762,41.957708]},"n1605":{"id":"n1605","loc":[-85.631785,41.957708]},"n1606":{"id":"n1606","loc":[-85.631785,41.957606]},"n1607":{"id":"n1607","loc":[-85.631734,41.957606]},"n1608":{"id":"n1608","loc":[-85.631734,41.957538]},"n1609":{"id":"n1609","loc":[-85.631821,41.957538]},"n161":{"id":"n161","loc":[-85.637763,41.942445]},"n1610":{"id":"n1610","loc":[-85.631935,41.957545]},"n1611":{"id":"n1611","loc":[-85.631821,41.957544]},"n1612":{"id":"n1612","loc":[-85.631935,41.957645]},"n1613":{"id":"n1613","loc":[-85.631924,41.957645]},"n1614":{"id":"n1614","loc":[-85.627135,41.953828]},"n1615":{"id":"n1615","loc":[-85.633517,41.941353],"tags":{"man_made":"lighthouse"}},"n1616":{"id":"n1616","loc":[-85.633659,41.942041],"tags":{"amenity":"bbq"}},"n1617":{"id":"n1617","loc":[-85.63662,41.942911],"tags":{"amenity":"toilets"}},"n1618":{"id":"n1618","loc":[-85.637487,41.943876],"tags":{"amenity":"toilets"}},"n1619":{"id":"n1619","loc":[-85.634938,41.941917],"tags":{"amenity":"toilets"}},"n162":{"id":"n162","loc":[-85.638107,41.942443]},"n1620":{"id":"n1620","loc":[-85.632427,41.941678],"tags":{"amenity":"bbq"}},"n1621":{"id":"n1621","loc":[-85.638033,41.944568],"tags":{"amenity":"bbq"}},"n1622":{"id":"n1622","loc":[-85.638052,41.944522],"tags":{"amenity":"bbq"}},"n1623":{"id":"n1623","loc":[-85.635001,41.941965]},"n1624":{"id":"n1624","loc":[-85.634635,41.941884]},"n1625":{"id":"n1625","loc":[-85.634667,41.941894]},"n1626":{"id":"n1626","loc":[-85.634791,41.942011]},"n1627":{"id":"n1627","loc":[-85.634749,41.941938]},"n1628":{"id":"n1628","loc":[-85.627295,41.953946],"tags":{"barrier":"gate"}},"n1629":{"id":"n1629","loc":[-85.629076,41.954689]},"n163":{"id":"n163","loc":[-85.638813,41.942475]},"n1630":{"id":"n1630","loc":[-85.640667,41.942595]},"n1631":{"id":"n1631","loc":[-85.639455,41.94261]},"n1632":{"id":"n1632","loc":[-85.643407,41.942336]},"n1633":{"id":"n1633","loc":[-85.641845,41.941316]},"n1634":{"id":"n1634","loc":[-85.643322,41.942224]},"n1635":{"id":"n1635","loc":[-85.643301,41.942124]},"n1636":{"id":"n1636","loc":[-85.640639,41.941326]},"n1637":{"id":"n1637","loc":[-85.640614,41.940058]},"n1638":{"id":"n1638","loc":[-85.639428,41.941335]},"n1639":{"id":"n1639","loc":[-85.643078,41.941293]},"n164":{"id":"n164","loc":[-85.63883,41.942422]},"n1640":{"id":"n1640","loc":[-85.64371,41.942302]},"n1641":{"id":"n1641","loc":[-85.643056,41.94001]},"n1642":{"id":"n1642","loc":[-85.643097,41.942575],"tags":{"highway":"traffic_signals","traffic_signals":"signal","traffic_signals:direction":"both"}},"n1643":{"id":"n1643","loc":[-85.641855,41.942586]},"n1644":{"id":"n1644","loc":[-85.643549,41.942209]},"n1645":{"id":"n1645","loc":[-85.639359,41.94007]},"n1646":{"id":"n1646","loc":[-85.642797,41.940522]},"n1647":{"id":"n1647","loc":[-85.642589,41.940523]},"n1648":{"id":"n1648","loc":[-85.642587,41.940287]},"n1649":{"id":"n1649","loc":[-85.642797,41.940286]},"n165":{"id":"n165","loc":[-85.63883,41.942508]},"n1650":{"id":"n1650","loc":[-85.642571,41.940523]},"n1651":{"id":"n1651","loc":[-85.642568,41.940286]},"n1652":{"id":"n1652","loc":[-85.642316,41.940289]},"n1653":{"id":"n1653","loc":[-85.642321,41.940436]},"n1654":{"id":"n1654","loc":[-85.642292,41.940458]},"n1655":{"id":"n1655","loc":[-85.642287,41.940483]},"n1656":{"id":"n1656","loc":[-85.642323,41.940509]},"n1657":{"id":"n1657","loc":[-85.642385,41.940511]},"n1658":{"id":"n1658","loc":[-85.642408,41.940526]},"n1659":{"id":"n1659","loc":[-85.641962,41.94109]},"n166":{"id":"n166","loc":[-85.638364,41.942508]},"n1660":{"id":"n1660","loc":[-85.642753,41.941084]},"n1661":{"id":"n1661","loc":[-85.642752,41.941004]},"n1662":{"id":"n1662","loc":[-85.642806,41.941003]},"n1663":{"id":"n1663","loc":[-85.642803,41.940731]},"n1664":{"id":"n1664","loc":[-85.642741,41.940732]},"n1665":{"id":"n1665","loc":[-85.64274,41.940645]},"n1666":{"id":"n1666","loc":[-85.641957,41.940651]},"n1667":{"id":"n1667","loc":[-85.642937,41.941241]},"n1668":{"id":"n1668","loc":[-85.641776,41.941253]},"n1669":{"id":"n1669","loc":[-85.641766,41.940598]},"n167":{"id":"n167","loc":[-85.638836,41.942167]},"n1670":{"id":"n1670","loc":[-85.64198,41.940598]},"n1671":{"id":"n1671","loc":[-85.641961,41.940137]},"n1672":{"id":"n1672","loc":[-85.642934,41.94012]},"n1673":{"id":"n1673","loc":[-85.643074,41.941173]},"n1674":{"id":"n1674","loc":[-85.642841,41.940997]},"n1675":{"id":"n1675","loc":[-85.642839,41.940721]},"n1676":{"id":"n1676","loc":[-85.643065,41.940552]},"n1677":{"id":"n1677","loc":[-85.642732,41.94124]},"n1678":{"id":"n1678","loc":[-85.641815,41.941246]},"n1679":{"id":"n1679","loc":[-85.641813,41.941132]},"n168":{"id":"n168","loc":[-85.638836,41.94229]},"n1680":{"id":"n1680","loc":[-85.641839,41.941111]},"n1681":{"id":"n1681","loc":[-85.641884,41.941098]},"n1682":{"id":"n1682","loc":[-85.642732,41.941092]},"n1683":{"id":"n1683","loc":[-85.642776,41.941302]},"n1684":{"id":"n1684","loc":[-85.632788,41.946236]},"n1685":{"id":"n1685","loc":[-85.622342,41.953127]},"n1686":{"id":"n1686","loc":[-85.641848,41.941167]},"n1687":{"id":"n1687","loc":[-85.643753,41.941503]},"n1688":{"id":"n1688","loc":[-85.643762,41.942119]},"n1689":{"id":"n1689","loc":[-85.64238,41.942262]},"n169":{"id":"n169","loc":[-85.638594,41.94229]},"n1690":{"id":"n1690","loc":[-85.642374,41.941944]},"n1691":{"id":"n1691","loc":[-85.642518,41.941943]},"n1692":{"id":"n1692","loc":[-85.642519,41.94198]},"n1693":{"id":"n1693","loc":[-85.642831,41.941977]},"n1694":{"id":"n1694","loc":[-85.642837,41.942312]},"n1695":{"id":"n1695","loc":[-85.642495,41.942315]},"n1696":{"id":"n1696","loc":[-85.642494,41.942261]},"n1697":{"id":"n1697","loc":[-85.641087,41.942433]},"n1698":{"id":"n1698","loc":[-85.641081,41.942006]},"n1699":{"id":"n1699","loc":[-85.641244,41.942005]},"n17":{"id":"n17","loc":[-85.633478,41.94081]},"n170":{"id":"n170","loc":[-85.638594,41.942422]},"n1700":{"id":"n1700","loc":[-85.64125,41.942431]},"n1701":{"id":"n1701","loc":[-85.641331,41.942968]},"n1702":{"id":"n1702","loc":[-85.641328,41.942713]},"n1703":{"id":"n1703","loc":[-85.641521,41.942712]},"n1704":{"id":"n1704","loc":[-85.641523,41.942924]},"n1705":{"id":"n1705","loc":[-85.641504,41.942924]},"n1706":{"id":"n1706","loc":[-85.641505,41.942967]},"n1707":{"id":"n1707","loc":[-85.638612,41.942408]},"n1708":{"id":"n1708","loc":[-85.638612,41.942327]},"n1709":{"id":"n1709","loc":[-85.638775,41.942327]},"n171":{"id":"n171","loc":[-85.638364,41.942356]},"n1710":{"id":"n1710","loc":[-85.638775,41.942299]},"n1711":{"id":"n1711","loc":[-85.638835,41.942298]},"n1712":{"id":"n1712","loc":[-85.638835,41.942407]},"n1713":{"id":"n1713","loc":[-85.639116,41.942444]},"n1714":{"id":"n1714","loc":[-85.639114,41.942362]},"n1715":{"id":"n1715","loc":[-85.639294,41.94236]},"n1716":{"id":"n1716","loc":[-85.639296,41.942442]},"n1717":{"id":"n1717","loc":[-85.639808,41.942385]},"n1718":{"id":"n1718","loc":[-85.639805,41.942285]},"n1719":{"id":"n1719","loc":[-85.639988,41.942283]},"n172":{"id":"n172","loc":[-85.638364,41.942167]},"n1720":{"id":"n1720","loc":[-85.63999,41.942383]},"n1721":{"id":"n1721","loc":[-85.639633,41.943023]},"n1722":{"id":"n1722","loc":[-85.639867,41.943019]},"n1723":{"id":"n1723","loc":[-85.639866,41.942964]},"n1724":{"id":"n1724","loc":[-85.639888,41.942963]},"n1725":{"id":"n1725","loc":[-85.639883,41.942779]},"n1726":{"id":"n1726","loc":[-85.639851,41.94278]},"n1727":{"id":"n1727","loc":[-85.63985,41.94274]},"n1728":{"id":"n1728","loc":[-85.639789,41.942741]},"n1729":{"id":"n1729","loc":[-85.639789,41.942753]},"n173":{"id":"n173","loc":[-85.639038,41.942463]},"n1730":{"id":"n1730","loc":[-85.639698,41.942754]},"n1731":{"id":"n1731","loc":[-85.639699,41.942788]},"n1732":{"id":"n1732","loc":[-85.639675,41.942789]},"n1733":{"id":"n1733","loc":[-85.639676,41.94283]},"n1734":{"id":"n1734","loc":[-85.639701,41.942829]},"n1735":{"id":"n1735","loc":[-85.639702,41.942869]},"n1736":{"id":"n1736","loc":[-85.639629,41.94287]},"n1737":{"id":"n1737","loc":[-85.643568,41.942946]},"n1738":{"id":"n1738","loc":[-85.643568,41.942777]},"n1739":{"id":"n1739","loc":[-85.643401,41.942777]},"n174":{"id":"n174","loc":[-85.638897,41.942464]},"n1740":{"id":"n1740","loc":[-85.643401,41.942863]},"n1741":{"id":"n1741","loc":[-85.643448,41.942863]},"n1742":{"id":"n1742","loc":[-85.643448,41.942946]},"n1743":{"id":"n1743","loc":[-85.642836,41.942981]},"n1744":{"id":"n1744","loc":[-85.642917,41.942979]},"n1745":{"id":"n1745","loc":[-85.642914,41.942904]},"n1746":{"id":"n1746","loc":[-85.642938,41.942903]},"n1747":{"id":"n1747","loc":[-85.642935,41.942813]},"n1748":{"id":"n1748","loc":[-85.642775,41.942816]},"n1749":{"id":"n1749","loc":[-85.642778,41.942906]},"n175":{"id":"n175","loc":[-85.638897,41.942423]},"n1750":{"id":"n1750","loc":[-85.642833,41.942905]},"n1751":{"id":"n1751","loc":[-85.642302,41.942886]},"n1752":{"id":"n1752","loc":[-85.642299,41.942721]},"n1753":{"id":"n1753","loc":[-85.642422,41.94272]},"n1754":{"id":"n1754","loc":[-85.642425,41.942868]},"n1755":{"id":"n1755","loc":[-85.642385,41.942869]},"n1756":{"id":"n1756","loc":[-85.642385,41.942885]},"n1757":{"id":"n1757","loc":[-85.641533,41.942939]},"n1758":{"id":"n1758","loc":[-85.64161,41.942877]},"n1759":{"id":"n1759","loc":[-85.641676,41.942922]},"n176":{"id":"n176","loc":[-85.638853,41.942423]},"n1760":{"id":"n1760","loc":[-85.6416,41.942985]},"n1761":{"id":"n1761","loc":[-85.64206,41.942802]},"n1762":{"id":"n1762","loc":[-85.642059,41.942741]},"n1763":{"id":"n1763","loc":[-85.642196,41.942741]},"n1764":{"id":"n1764","loc":[-85.642196,41.942818]},"n1765":{"id":"n1765","loc":[-85.642128,41.942819]},"n1766":{"id":"n1766","loc":[-85.642128,41.942801]},"n1767":{"id":"n1767","loc":[-85.640943,41.942934]},"n1768":{"id":"n1768","loc":[-85.641035,41.942933]},"n1769":{"id":"n1769","loc":[-85.641032,41.942797]},"n177":{"id":"n177","loc":[-85.638852,41.94237]},"n1770":{"id":"n1770","loc":[-85.640997,41.942798]},"n1771":{"id":"n1771","loc":[-85.640996,41.942764]},"n1772":{"id":"n1772","loc":[-85.640861,41.942766]},"n1773":{"id":"n1773","loc":[-85.640862,41.942848]},"n1774":{"id":"n1774","loc":[-85.640941,41.942847]},"n1775":{"id":"n1775","loc":[-85.643766,41.942226]},"n1776":{"id":"n1776","loc":[-85.643768,41.942407]},"n1777":{"id":"n1777","loc":[-85.643218,41.94177]},"n1778":{"id":"n1778","loc":[-85.64321,41.941327]},"n1779":{"id":"n1779","loc":[-85.643649,41.941323]},"n178":{"id":"n178","loc":[-85.638892,41.94237]},"n1780":{"id":"n1780","loc":[-85.643656,41.941716]},"n1781":{"id":"n1781","loc":[-85.64358,41.941717]},"n1782":{"id":"n1782","loc":[-85.64358,41.941767]},"n1783":{"id":"n1783","loc":[-85.64382,41.941495]},"n1784":{"id":"n1784","loc":[-85.643817,41.941317]},"n1785":{"id":"n1785","loc":[-85.643235,41.941833]},"n1786":{"id":"n1786","loc":[-85.64335,41.941842]},"n1787":{"id":"n1787","loc":[-85.643504,41.941903]},"n1788":{"id":"n1788","loc":[-85.643554,41.941946]},"n1789":{"id":"n1789","loc":[-85.643618,41.942015]},"n179":{"id":"n179","loc":[-85.638891,41.942334]},"n1790":{"id":"n1790","loc":[-85.64346,41.941971]},"n1791":{"id":"n1791","loc":[-85.643528,41.942468]},"n1792":{"id":"n1792","loc":[-85.643621,41.942363]},"n1793":{"id":"n1793","loc":[-85.643496,41.942297]},"n1794":{"id":"n1794","loc":[-85.643446,41.942246]},"n1795":{"id":"n1795","loc":[-85.643398,41.942177]},"n1796":{"id":"n1796","loc":[-85.643398,41.942031]},"n1797":{"id":"n1797","loc":[-85.621531,41.952693]},"n1798":{"id":"n1798","loc":[-85.643221,41.942028]},"n1799":{"id":"n1799","loc":[-85.643225,41.942276]},"n18":{"id":"n18","loc":[-85.63345,41.94071]},"n180":{"id":"n180","loc":[-85.639037,41.942334]},"n1800":{"id":"n1800","loc":[-85.643265,41.942347]},"n1801":{"id":"n1801","loc":[-85.643323,41.942413]},"n1802":{"id":"n1802","loc":[-85.643411,41.94247]},"n1803":{"id":"n1803","loc":[-85.643459,41.942435]},"n1804":{"id":"n1804","loc":[-85.643767,41.942307]},"n1805":{"id":"n1805","loc":[-85.643661,41.942293]},"n1806":{"id":"n1806","loc":[-85.643578,41.942247]},"n1807":{"id":"n1807","loc":[-85.643522,41.942125]},"n1808":{"id":"n1808","loc":[-85.643515,41.942061]},"n1809":{"id":"n1809","loc":[-85.643346,41.941924]},"n181":{"id":"n181","loc":[-85.638074,41.941839]},"n1810":{"id":"n1810","loc":[-85.643086,41.94192]},"n1811":{"id":"n1811","loc":[-85.643529,41.94217]},"n1812":{"id":"n1812","loc":[-85.643489,41.942003]},"n1813":{"id":"n1813","loc":[-85.643295,41.941919]},"n1814":{"id":"n1814","loc":[-85.643305,41.942163]},"n1815":{"id":"n1815","loc":[-85.643354,41.942285]},"n1816":{"id":"n1816","loc":[-85.643472,41.942389]},"n1817":{"id":"n1817","loc":[-85.643608,41.942271]},"n1818":{"id":"n1818","loc":[-85.643876,41.941402]},"n1819":{"id":"n1819","loc":[-85.643818,41.941369]},"n182":{"id":"n182","loc":[-85.638076,41.941942]},"n1820":{"id":"n1820","loc":[-85.643682,41.941304]},"n1821":{"id":"n1821","loc":[-85.64359,41.941286]},"n1822":{"id":"n1822","loc":[-85.643317,41.941727]},"n1823":{"id":"n1823","loc":[-85.643301,41.941286]},"n1824":{"id":"n1824","loc":[-85.643553,41.941698]},"n1825":{"id":"n1825","loc":[-85.643543,41.941286]},"n1826":{"id":"n1826","loc":[-85.636967,41.940118]},"n1827":{"id":"n1827","loc":[-85.63378,41.940114]},"n1828":{"id":"n1828","loc":[-85.637254,41.940075]},"n1829":{"id":"n1829","loc":[-85.637002,41.941355]},"n183":{"id":"n183","loc":[-85.637955,41.941944]},"n1830":{"id":"n1830","loc":[-85.643532,41.94204]},"n1831":{"id":"n1831","loc":[-85.638235,41.942615]},"n1832":{"id":"n1832","loc":[-85.637039,41.942624]},"n1833":{"id":"n1833","loc":[-85.636369,41.94266]},"n1834":{"id":"n1834","loc":[-85.63582,41.942771],"tags":{"highway":"traffic_signals","traffic_signals":"emergency","traffic_signals:direction":"both"}},"n1835":{"id":"n1835","loc":[-85.634873,41.943044]},"n1836":{"id":"n1836","loc":[-85.643482,41.941976]},"n1837":{"id":"n1837","loc":[-85.64345,41.941945]},"n1838":{"id":"n1838","loc":[-85.641885,41.943851]},"n1839":{"id":"n1839","loc":[-85.641915,41.945121]},"n184":{"id":"n184","loc":[-85.637953,41.94184]},"n1840":{"id":"n1840","loc":[-85.639454,41.943871]},"n1841":{"id":"n1841","loc":[-85.639491,41.945191]},"n1842":{"id":"n1842","loc":[-85.635768,41.940113]},"n1843":{"id":"n1843","loc":[-85.638206,41.941345]},"n1844":{"id":"n1844","loc":[-85.640721,41.94513]},"n1845":{"id":"n1845","loc":[-85.643137,41.945103]},"n1846":{"id":"n1846","loc":[-85.638199,41.940079]},"n1847":{"id":"n1847","loc":[-85.640688,41.943861]},"n1848":{"id":"n1848","loc":[-85.643397,41.941924]},"n1849":{"id":"n1849","loc":[-85.643117,41.943841]},"n185":{"id":"n185","loc":[-85.637953,41.941866]},"n1850":{"id":"n1850","loc":[-85.636731,41.94263]},"n1851":{"id":"n1851","loc":[-85.63518,41.942955],"tags":{"highway":"crossing"}},"n1852":{"id":"n1852","loc":[-85.636152,41.942695]},"n1853":{"id":"n1853","loc":[-85.644202,41.941499]},"n1854":{"id":"n1854","loc":[-85.644211,41.942116]},"n1855":{"id":"n1855","loc":[-85.644233,41.942404]},"n1856":{"id":"n1856","loc":[-85.644231,41.942223]},"n1857":{"id":"n1857","loc":[-85.644133,41.941315]},"n1858":{"id":"n1858","loc":[-85.644136,41.941493]},"n1859":{"id":"n1859","loc":[-85.644345,41.942307]},"n186":{"id":"n186","loc":[-85.637873,41.941867]},"n1860":{"id":"n1860","loc":[-85.644232,41.942304]},"n1861":{"id":"n1861","loc":[-85.644134,41.941403]},"n1862":{"id":"n1862","loc":[-85.63607,41.943005],"tags":{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","amenity":"fire_station","name":"Three Rivers Fire Department"}},"n1863":{"id":"n1863","loc":[-85.637,41.941236]},"n1864":{"id":"n1864","loc":[-85.634476,41.941475]},"n1865":{"id":"n1865","loc":[-85.635036,41.941858]},"n1866":{"id":"n1866","loc":[-85.635362,41.941962]},"n1867":{"id":"n1867","loc":[-85.635796,41.941962]},"n1868":{"id":"n1868","loc":[-85.63295,41.943006]},"n1869":{"id":"n1869","loc":[-85.634692,41.943098]},"n187":{"id":"n187","loc":[-85.637877,41.941975]},"n1870":{"id":"n1870","loc":[-85.633128,41.940484]},"n1871":{"id":"n1871","loc":[-85.633117,41.942798]},"n1872":{"id":"n1872","loc":[-85.633303,41.942412]},"n1873":{"id":"n1873","loc":[-85.633482,41.941912]},"n1874":{"id":"n1874","loc":[-85.633455,41.941359]},"n1875":{"id":"n1875","loc":[-85.633162,41.942679]},"n1876":{"id":"n1876","loc":[-85.634274,41.943479]},"n1877":{"id":"n1877","loc":[-85.634678,41.942909]},"n1878":{"id":"n1878","loc":[-85.6339,41.941453]},"n1879":{"id":"n1879","loc":[-85.634571,41.942774]},"n188":{"id":"n188","loc":[-85.636855,41.942488]},"n1880":{"id":"n1880","loc":[-85.63419,41.941732]},"n1881":{"id":"n1881","loc":[-85.634067,41.941565]},"n1882":{"id":"n1882","loc":[-85.63436,41.942358]},"n1883":{"id":"n1883","loc":[-85.634327,41.942247]},"n1884":{"id":"n1884","loc":[-85.633391,41.941231]},"n1885":{"id":"n1885","loc":[-85.634303,41.941972]},"n1886":{"id":"n1886","loc":[-85.633541,41.940147]},"n1887":{"id":"n1887","loc":[-85.633433,41.940252]},"n1888":{"id":"n1888","loc":[-85.633402,41.940411]},"n1889":{"id":"n1889","loc":[-85.633551,41.941023]},"n189":{"id":"n189","loc":[-85.636702,41.942488]},"n1890":{"id":"n1890","loc":[-85.633719,41.941186]},"n1891":{"id":"n1891","loc":[-85.633067,41.941845]},"n1892":{"id":"n1892","loc":[-85.634902,41.942766]},"n1893":{"id":"n1893","loc":[-85.634603,41.942202]},"n1894":{"id":"n1894","loc":[-85.634858,41.942152]},"n1895":{"id":"n1895","loc":[-85.634842,41.942269]},"n1896":{"id":"n1896","loc":[-85.634907,41.942313]},"n1897":{"id":"n1897","loc":[-85.635049,41.942331]},"n1898":{"id":"n1898","loc":[-85.635101,41.942281]},"n1899":{"id":"n1899","loc":[-85.635129,41.942144]},"n19":{"id":"n19","loc":[-85.633009,41.942229]},"n190":{"id":"n190","loc":[-85.636702,41.942434]},"n1900":{"id":"n1900","loc":[-85.635531,41.942143]},"n1901":{"id":"n1901","loc":[-85.635534,41.942577]},"n1902":{"id":"n1902","loc":[-85.635158,41.942656]},"n1903":{"id":"n1903","loc":[-85.635121,41.942703]},"n1904":{"id":"n1904","loc":[-85.635087,41.941508]},"n1905":{"id":"n1905","loc":[-85.63536,41.941106]},"n1906":{"id":"n1906","loc":[-85.635442,41.941094]},"n1907":{"id":"n1907","loc":[-85.635508,41.941104]},"n1908":{"id":"n1908","loc":[-85.635569,41.941125]},"n1909":{"id":"n1909","loc":[-85.635583,41.941106]},"n191":{"id":"n191","loc":[-85.636761,41.942434]},"n1910":{"id":"n1910","loc":[-85.635555,41.940976]},"n1911":{"id":"n1911","loc":[-85.635501,41.940915]},"n1912":{"id":"n1912","loc":[-85.635392,41.940922]},"n1913":{"id":"n1913","loc":[-85.635276,41.940974]},"n1914":{"id":"n1914","loc":[-85.63517,41.941204]},"n1915":{"id":"n1915","loc":[-85.634888,41.941517]},"n1916":{"id":"n1916","loc":[-85.634897,41.941576]},"n1917":{"id":"n1917","loc":[-85.634961,41.94164]},"n1918":{"id":"n1918","loc":[-85.635028,41.941659]},"n1919":{"id":"n1919","loc":[-85.635118,41.941621]},"n192":{"id":"n192","loc":[-85.636761,41.942369]},"n1920":{"id":"n1920","loc":[-85.635085,41.941558]},"n1921":{"id":"n1921","loc":[-85.63504,41.94136]},"n1922":{"id":"n1922","loc":[-85.635221,41.941077]},"n1923":{"id":"n1923","loc":[-85.634387,41.941559]},"n1924":{"id":"n1924","loc":[-85.634351,41.941587]},"n1925":{"id":"n1925","loc":[-85.634416,41.941756]},"n1926":{"id":"n1926","loc":[-85.634461,41.941797]},"n1927":{"id":"n1927","loc":[-85.634501,41.941819]},"n1928":{"id":"n1928","loc":[-85.634597,41.941816]},"n1929":{"id":"n1929","loc":[-85.634732,41.941724]},"n193":{"id":"n193","loc":[-85.636855,41.942369]},"n1930":{"id":"n1930","loc":[-85.634672,41.941775]},"n1931":{"id":"n1931","loc":[-85.633403,41.939101]},"n1932":{"id":"n1932","loc":[-85.633297,41.939397]},"n1933":{"id":"n1933","loc":[-85.633205,41.939674]},"n1934":{"id":"n1934","loc":[-85.63322,41.939777]},"n1935":{"id":"n1935","loc":[-85.633345,41.939936]},"n1936":{"id":"n1936","loc":[-85.633376,41.940002]},"n1937":{"id":"n1937","loc":[-85.633266,41.940228]},"n1938":{"id":"n1938","loc":[-85.633236,41.940352]},"n1939":{"id":"n1939","loc":[-85.633282,41.94063]},"n194":{"id":"n194","loc":[-85.636645,41.94249]},"n1940":{"id":"n1940","loc":[-85.633364,41.940874]},"n1941":{"id":"n1941","loc":[-85.633439,41.941052]},"n1942":{"id":"n1942","loc":[-85.633582,41.941172]},"n1943":{"id":"n1943","loc":[-85.633748,41.941273]},"n1944":{"id":"n1944","loc":[-85.634317,41.941527]},"n1945":{"id":"n1945","loc":[-85.634389,41.94174]},"n1946":{"id":"n1946","loc":[-85.634441,41.941801]},"n1947":{"id":"n1947","loc":[-85.634514,41.941837]},"n1948":{"id":"n1948","loc":[-85.634485,41.942005]},"n1949":{"id":"n1949","loc":[-85.63457,41.942202]},"n195":{"id":"n195","loc":[-85.636565,41.94249]},"n1950":{"id":"n1950","loc":[-85.634869,41.942769]},"n1951":{"id":"n1951","loc":[-85.634943,41.942792]},"n1952":{"id":"n1952","loc":[-85.635139,41.942882]},"n1953":{"id":"n1953","loc":[-85.634962,41.943161]},"n1954":{"id":"n1954","loc":[-85.635002,41.943131]},"n1955":{"id":"n1955","loc":[-85.635005,41.943091]},"n1956":{"id":"n1956","loc":[-85.635216,41.943033]},"n1957":{"id":"n1957","loc":[-85.634817,41.94267]},"n1958":{"id":"n1958","loc":[-85.634614,41.942599]},"n1959":{"id":"n1959","loc":[-85.634494,41.942381]},"n196":{"id":"n196","loc":[-85.636565,41.942474]},"n1960":{"id":"n1960","loc":[-85.634486,41.9423]},"n1961":{"id":"n1961","loc":[-85.634671,41.941795]},"n1962":{"id":"n1962","loc":[-85.634595,41.941831]},"n1963":{"id":"n1963","loc":[-85.634332,41.941866]},"n1964":{"id":"n1964","loc":[-85.634207,41.941885]},"n1965":{"id":"n1965","loc":[-85.634133,41.941892]},"n1966":{"id":"n1966","loc":[-85.634131,41.942203]},"n1967":{"id":"n1967","loc":[-85.634047,41.942327]},"n1968":{"id":"n1968","loc":[-85.634219,41.942793]},"n1969":{"id":"n1969","loc":[-85.634061,41.942392]},"n197":{"id":"n197","loc":[-85.636514,41.942474]},"n1970":{"id":"n1970","loc":[-85.633989,41.942407]},"n1971":{"id":"n1971","loc":[-85.633971,41.942356]},"n1972":{"id":"n1972","loc":[-85.63361,41.942423]},"n1973":{"id":"n1973","loc":[-85.633714,41.942682]},"n1974":{"id":"n1974","loc":[-85.633698,41.942863]},"n1975":{"id":"n1975","loc":[-85.633882,41.942865]},"n1976":{"id":"n1976","loc":[-85.633941,41.943007]},"n1977":{"id":"n1977","loc":[-85.633887,41.943035]},"n1978":{"id":"n1978","loc":[-85.633768,41.942815]},"n1979":{"id":"n1979","loc":[-85.633682,41.942351]},"n198":{"id":"n198","loc":[-85.636514,41.942326]},"n1980":{"id":"n1980","loc":[-85.634037,41.942273]},"n1981":{"id":"n1981","loc":[-85.634029,41.942252]},"n1982":{"id":"n1982","loc":[-85.633673,41.942331]},"n1983":{"id":"n1983","loc":[-85.634219,41.942571]},"n1984":{"id":"n1984","loc":[-85.634252,41.942565]},"n1985":{"id":"n1985","loc":[-85.634144,41.942299]},"n1986":{"id":"n1986","loc":[-85.634115,41.942306]},"n1987":{"id":"n1987","loc":[-85.634059,41.943094]},"n1988":{"id":"n1988","loc":[-85.633944,41.942903]},"n1989":{"id":"n1989","loc":[-85.634311,41.942821]},"n199":{"id":"n199","loc":[-85.636561,41.942326]},"n1990":{"id":"n1990","loc":[-85.634351,41.94277]},"n1991":{"id":"n1991","loc":[-85.634153,41.942254]},"n1992":{"id":"n1992","loc":[-85.634092,41.94222]},"n1993":{"id":"n1993","loc":[-85.633571,41.942336]},"n1994":{"id":"n1994","loc":[-85.633513,41.942387]},"n1995":{"id":"n1995","loc":[-85.633509,41.942455]},"n1996":{"id":"n1996","loc":[-85.63363,41.942665]},"n1997":{"id":"n1997","loc":[-85.63414,41.94286]},"n1998":{"id":"n1998","loc":[-85.63397,41.942449]},"n1999":{"id":"n1999","loc":[-85.633551,41.942529]},"n2":{"id":"n2","loc":[-85.627421,41.953877]},"n20":{"id":"n20","loc":[-85.633013,41.941438]},"n200":{"id":"n200","loc":[-85.636561,41.942311]},"n2000":{"id":"n2000","loc":[-85.633741,41.942493]},"n2001":{"id":"n2001","loc":[-85.633894,41.942869]},"n2002":{"id":"n2002","loc":[-85.634132,41.941954]},"n2003":{"id":"n2003","loc":[-85.634032,41.942038]},"n2004":{"id":"n2004","loc":[-85.633765,41.942238]},"n2005":{"id":"n2005","loc":[-85.63376,41.942268]},"n2006":{"id":"n2006","loc":[-85.633768,41.942293]},"n2007":{"id":"n2007","loc":[-85.633808,41.942386]},"n2008":{"id":"n2008","loc":[-85.634946,41.941663]},"n2009":{"id":"n2009","loc":[-85.63511,41.941697]},"n201":{"id":"n201","loc":[-85.636621,41.942311]},"n2010":{"id":"n2010","loc":[-85.635337,41.94168]},"n2011":{"id":"n2011","loc":[-85.634997,41.942251]},"n2012":{"id":"n2012","loc":[-85.635013,41.942173]},"n2013":{"id":"n2013","loc":[-85.634876,41.942157]},"n2014":{"id":"n2014","loc":[-85.634859,41.942235]},"n2015":{"id":"n2015","loc":[-85.634992,41.941951]},"n2016":{"id":"n2016","loc":[-85.634952,41.941877]},"n2017":{"id":"n2017","loc":[-85.634844,41.94191]},"n2018":{"id":"n2018","loc":[-85.634884,41.941983]},"n2019":{"id":"n2019","loc":[-85.635189,41.941691]},"n202":{"id":"n202","loc":[-85.636621,41.942351]},"n2020":{"id":"n2020","loc":[-85.635089,41.941896]},"n2021":{"id":"n2021","loc":[-85.635077,41.941964]},"n2022":{"id":"n2022","loc":[-85.635058,41.942147]},"n2023":{"id":"n2023","loc":[-85.635099,41.942161]},"n2024":{"id":"n2024","loc":[-85.635099,41.942213]},"n2025":{"id":"n2025","loc":[-85.635079,41.942285]},"n2026":{"id":"n2026","loc":[-85.635047,41.942316]},"n2027":{"id":"n2027","loc":[-85.634925,41.9423]},"n2028":{"id":"n2028","loc":[-85.634911,41.942276]},"n2029":{"id":"n2029","loc":[-85.634917,41.942242]},"n203":{"id":"n203","loc":[-85.63666,41.942351]},"n2030":{"id":"n2030","loc":[-85.634698,41.941898]},"n2031":{"id":"n2031","loc":[-85.634964,41.941878]},"n2032":{"id":"n2032","loc":[-85.635025,41.941929]},"n2033":{"id":"n2033","loc":[-85.634862,41.941887]},"n2034":{"id":"n2034","loc":[-85.634811,41.94181]},"n2035":{"id":"n2035","loc":[-85.634731,41.941745]},"n2036":{"id":"n2036","loc":[-85.634933,41.94176]},"n2037":{"id":"n2037","loc":[-85.634942,41.942145]},"n2038":{"id":"n2038","loc":[-85.634944,41.942065]},"n2039":{"id":"n2039","loc":[-85.634914,41.941996]},"n204":{"id":"n204","loc":[-85.63666,41.942453]},"n2040":{"id":"n2040","loc":[-85.634981,41.941979]},"n2041":{"id":"n2041","loc":[-85.633419,41.942172]},"n2042":{"id":"n2042","loc":[-85.633509,41.941631]},"n2043":{"id":"n2043","loc":[-85.633686,41.942937]},"n2044":{"id":"n2044","loc":[-85.633371,41.942722]},"n2045":{"id":"n2045","loc":[-85.633291,41.942538]},"n2046":{"id":"n2046","loc":[-85.633902,41.940941]},"n2047":{"id":"n2047","loc":[-85.635254,41.940939]},"n2048":{"id":"n2048","loc":[-85.635686,41.940829]},"n2049":{"id":"n2049","loc":[-85.635712,41.942681]},"n205":{"id":"n205","loc":[-85.636645,41.942453]},"n2050":{"id":"n2050","loc":[-85.633721,41.942118]},"n2051":{"id":"n2051","loc":[-85.633698,41.942057]},"n2052":{"id":"n2052","loc":[-85.633591,41.942079]},"n2053":{"id":"n2053","loc":[-85.633614,41.94214]},"n2054":{"id":"n2054","loc":[-85.633968,41.941099]},"n2055":{"id":"n2055","loc":[-85.633907,41.941138]},"n2056":{"id":"n2056","loc":[-85.633968,41.941197]},"n2057":{"id":"n2057","loc":[-85.63404,41.941162]},"n2058":{"id":"n2058","loc":[-85.634839,41.941665]},"n2059":{"id":"n2059","loc":[-85.635314,41.943035]},"n206":{"id":"n206","loc":[-85.636394,41.942471]},"n2060":{"id":"n2060","loc":[-85.634919,41.943142]},"n2061":{"id":"n2061","loc":[-85.636433,41.942959],"tags":{"addr:city":"Three Rivers","addr:housenumber":"333","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","amenity":"townhall","name":"Three Rivers City Hall"}},"n2062":{"id":"n2062","loc":[-85.637039,41.942789]},"n2063":{"id":"n2063","loc":[-85.636333,41.94279]},"n2064":{"id":"n2064","loc":[-85.634484,41.940726]},"n2065":{"id":"n2065","loc":[-85.634483,41.940603]},"n2066":{"id":"n2066","loc":[-85.634908,41.940601]},"n2067":{"id":"n2067","loc":[-85.634908,41.94053]},"n2068":{"id":"n2068","loc":[-85.634934,41.94053]},"n2069":{"id":"n2069","loc":[-85.634934,41.940496]},"n207":{"id":"n207","loc":[-85.636262,41.942472]},"n2070":{"id":"n2070","loc":[-85.63504,41.940495]},"n2071":{"id":"n2071","loc":[-85.63504,41.940531]},"n2072":{"id":"n2072","loc":[-85.635068,41.940531]},"n2073":{"id":"n2073","loc":[-85.635071,41.940794]},"n2074":{"id":"n2074","loc":[-85.635183,41.940793]},"n2075":{"id":"n2075","loc":[-85.635185,41.940916]},"n2076":{"id":"n2076","loc":[-85.634799,41.940919]},"n2077":{"id":"n2077","loc":[-85.634798,41.940798]},"n2078":{"id":"n2078","loc":[-85.634925,41.940797]},"n2079":{"id":"n2079","loc":[-85.634924,41.940724]},"n208":{"id":"n208","loc":[-85.636261,41.94233]},"n2080":{"id":"n2080","loc":[-85.637448,41.938233]},"n2081":{"id":"n2081","loc":[-85.634168,41.943279]},"n2082":{"id":"n2082","loc":[-85.635744,41.938248]},"n2083":{"id":"n2083","loc":[-85.638744,41.951211]},"n2084":{"id":"n2084","loc":[-85.636421,41.946392]},"n2085":{"id":"n2085","loc":[-85.635965,41.945809]},"n2086":{"id":"n2086","loc":[-85.635683,41.945449]},"n2087":{"id":"n2087","loc":[-85.635281,41.945025]},"n2088":{"id":"n2088","loc":[-85.632443,41.942574]},"n2089":{"id":"n2089","loc":[-85.638243,41.943674]},"n209":{"id":"n209","loc":[-85.636353,41.942329]},"n2090":{"id":"n2090","loc":[-85.638228,41.943747]},"n2091":{"id":"n2091","loc":[-85.638163,41.943797]},"n2092":{"id":"n2092","loc":[-85.638089,41.943832]},"n2093":{"id":"n2093","loc":[-85.637969,41.943841]},"n2094":{"id":"n2094","loc":[-85.637841,41.943833]},"n2095":{"id":"n2095","loc":[-85.637342,41.943734]},"n2096":{"id":"n2096","loc":[-85.637232,41.943707]},"n2097":{"id":"n2097","loc":[-85.637163,41.943668]},"n2098":{"id":"n2098","loc":[-85.637118,41.943615]},"n2099":{"id":"n2099","loc":[-85.637078,41.943494]},"n21":{"id":"n21","loc":[-85.634126,41.942228]},"n210":{"id":"n210","loc":[-85.636354,41.94239]},"n2100":{"id":"n2100","loc":[-85.632903,41.998429],"tags":{"railway":"level_crossing"}},"n2101":{"id":"n2101","loc":[-85.633616,41.943581],"tags":{"railway":"level_crossing"}},"n2102":{"id":"n2102","loc":[-85.636943,41.947311]},"n2103":{"id":"n2103","loc":[-85.6376,41.94854]},"n2104":{"id":"n2104","loc":[-85.634565,41.93631]},"n2105":{"id":"n2105","loc":[-85.629597,41.942562]},"n2106":{"id":"n2106","loc":[-85.630821,41.943077]},"n2107":{"id":"n2107","loc":[-85.627473,41.940659]},"n2108":{"id":"n2108","loc":[-85.629708,41.942872]},"n2109":{"id":"n2109","loc":[-85.634093,41.935448]},"n211":{"id":"n211","loc":[-85.636393,41.94239]},"n2110":{"id":"n2110","loc":[-85.630413,41.94366]},"n2111":{"id":"n2111","loc":[-85.630488,41.942662]},"n2112":{"id":"n2112","loc":[-85.63361,41.936749]},"n2113":{"id":"n2113","loc":[-85.630038,41.941808]},"n2114":{"id":"n2114","loc":[-85.632016,41.942922]},"n2115":{"id":"n2115","loc":[-85.631525,41.944303]},"n2116":{"id":"n2116","loc":[-85.626862,41.94022]},"n2117":{"id":"n2117","loc":[-85.629673,41.94121]},"n2118":{"id":"n2118","loc":[-85.632752,41.943101]},"n2119":{"id":"n2119","loc":[-85.631147,41.943201]},"n212":{"id":"n212","loc":[-85.63444,41.943176]},"n2120":{"id":"n2120","loc":[-85.624974,41.940579]},"n2121":{"id":"n2121","loc":[-85.629518,41.941783]},"n2122":{"id":"n2122","loc":[-85.632349,41.942699]},"n2123":{"id":"n2123","loc":[-85.628418,41.940356]},"n2124":{"id":"n2124","loc":[-85.629147,41.94129]},"n2125":{"id":"n2125","loc":[-85.631111,41.943979]},"n2126":{"id":"n2126","loc":[-85.632087,41.940013]},"n2127":{"id":"n2127","loc":[-85.634469,41.935057]},"n2128":{"id":"n2128","loc":[-85.630097,41.943449]},"n2129":{"id":"n2129","loc":[-85.6331,41.937878]},"n213":{"id":"n213","loc":[-85.63375,41.942814]},"n2130":{"id":"n2130","loc":[-85.625274,41.941114]},"n2131":{"id":"n2131","loc":[-85.632632,41.941217]},"n2132":{"id":"n2132","loc":[-85.632739,41.941926]},"n2133":{"id":"n2133","loc":[-85.631647,41.94366]},"n2134":{"id":"n2134","loc":[-85.635059,41.935456]},"n2135":{"id":"n2135","loc":[-85.631259,41.944349]},"n2136":{"id":"n2136","loc":[-85.626336,41.940811]},"n2137":{"id":"n2137","loc":[-85.631507,41.943875]},"n2138":{"id":"n2138","loc":[-85.625081,41.940859]},"n2139":{"id":"n2139","loc":[-85.625778,41.940093]},"n214":{"id":"n214","loc":[-85.633674,41.942869]},"n2140":{"id":"n2140","loc":[-85.632641,41.942436]},"n2141":{"id":"n2141","loc":[-85.628825,41.941034]},"n2142":{"id":"n2142","loc":[-85.627913,41.940292]},"n2143":{"id":"n2143","loc":[-85.628943,41.940516]},"n2144":{"id":"n2144","loc":[-85.63139,41.943941]},"n2145":{"id":"n2145","loc":[-85.630081,41.94204]},"n2146":{"id":"n2146","loc":[-85.632194,41.93963]},"n2147":{"id":"n2147","loc":[-85.632913,41.93939]},"n2148":{"id":"n2148","loc":[-85.632001,41.943492]},"n2149":{"id":"n2149","loc":[-85.63149,41.943154]},"n215":{"id":"n215","loc":[-85.633542,41.942768]},"n2150":{"id":"n2150","loc":[-85.625167,41.940117]},"n2151":{"id":"n2151","loc":[-85.63287,41.939941]},"n2152":{"id":"n2152","loc":[-85.630789,41.943732]},"n2153":{"id":"n2153","loc":[-85.632173,41.940348]},"n2154":{"id":"n2154","loc":[-85.626587,41.940113]},"n2155":{"id":"n2155","loc":[-85.62684,41.940667]},"n2156":{"id":"n2156","loc":[-85.632527,41.938904]},"n2157":{"id":"n2157","loc":[-85.624866,41.94018]},"n2158":{"id":"n2158","loc":[-85.633267,41.93872]},"n2159":{"id":"n2159","loc":[-85.62934,41.940843]},"n216":{"id":"n216","loc":[-85.633618,41.942714]},"n2160":{"id":"n2160","loc":[-85.62272,41.953817]},"n2161":{"id":"n2161","loc":[-85.622555,41.954453]},"n2162":{"id":"n2162","loc":[-85.637225,41.944128]},"n2163":{"id":"n2163","loc":[-85.622628,41.953683]},"n2164":{"id":"n2164","loc":[-85.635441,41.943989]},"n2165":{"id":"n2165","loc":[-85.622629,41.953807]},"n2166":{"id":"n2166","loc":[-85.62262,41.953807]},"n2167":{"id":"n2167","loc":[-85.62262,41.953837]},"n2168":{"id":"n2168","loc":[-85.622532,41.953838]},"n2169":{"id":"n2169","loc":[-85.637469,41.944579]},"n217":{"id":"n217","loc":[-85.634001,41.942336]},"n2170":{"id":"n2170","loc":[-85.63688,41.943935]},"n2171":{"id":"n2171","loc":[-85.638263,41.946367]},"n2172":{"id":"n2172","loc":[-85.622532,41.953807]},"n2173":{"id":"n2173","loc":[-85.622353,41.953808]},"n2174":{"id":"n2174","loc":[-85.622352,41.953685]},"n2175":{"id":"n2175","loc":[-85.622464,41.953684]},"n2176":{"id":"n2176","loc":[-85.622464,41.953648]},"n2177":{"id":"n2177","loc":[-85.637136,41.94576]},"n2178":{"id":"n2178","loc":[-85.622521,41.953648]},"n2179":{"id":"n2179","loc":[-85.637129,41.945415]},"n218":{"id":"n218","loc":[-85.633825,41.942376]},"n2180":{"id":"n2180","loc":[-85.637473,41.94607]},"n2181":{"id":"n2181","loc":[-85.622521,41.953683]},"n2182":{"id":"n2182","loc":[-85.622717,41.954104]},"n2183":{"id":"n2183","loc":[-85.637769,41.946095]},"n2184":{"id":"n2184","loc":[-85.623872,41.953515]},"n2185":{"id":"n2185","loc":[-85.623851,41.953588]},"n2186":{"id":"n2186","loc":[-85.631385,41.94433]},"n2187":{"id":"n2187","loc":[-85.623608,41.953543]},"n2188":{"id":"n2188","loc":[-85.637308,41.944882]},"n2189":{"id":"n2189","loc":[-85.634898,41.944041]},"n219":{"id":"n219","loc":[-85.633807,41.942334]},"n2190":{"id":"n2190","loc":[-85.623604,41.953442]},"n2191":{"id":"n2191","loc":[-85.623705,41.953442]},"n2192":{"id":"n2192","loc":[-85.623708,41.953493]},"n2193":{"id":"n2193","loc":[-85.624064,41.952655]},"n2194":{"id":"n2194","loc":[-85.62395,41.952654]},"n2195":{"id":"n2195","loc":[-85.623951,41.952579]},"n2196":{"id":"n2196","loc":[-85.637435,41.944342]},"n2197":{"id":"n2197","loc":[-85.624064,41.952579]},"n2198":{"id":"n2198","loc":[-85.623812,41.952648]},"n2199":{"id":"n2199","loc":[-85.623813,41.952705]},"n22":{"id":"n22","loc":[-85.633531,41.942357]},"n220":{"id":"n220","loc":[-85.633983,41.942294]},"n2200":{"id":"n2200","loc":[-85.637169,41.945098]},"n2201":{"id":"n2201","loc":[-85.623552,41.952707]},"n2202":{"id":"n2202","loc":[-85.623551,41.95263]},"n2203":{"id":"n2203","loc":[-85.623701,41.952629]},"n2204":{"id":"n2204","loc":[-85.635894,41.943719]},"n2205":{"id":"n2205","loc":[-85.637297,41.945992]},"n2206":{"id":"n2206","loc":[-85.623724,41.952648]},"n2207":{"id":"n2207","loc":[-85.623812,41.952438]},"n2208":{"id":"n2208","loc":[-85.625239,41.952197]},"n2209":{"id":"n2209","loc":[-85.625232,41.952257]},"n221":{"id":"n221","loc":[-85.634182,41.942495]},"n2210":{"id":"n2210","loc":[-85.635175,41.94408]},"n2211":{"id":"n2211","loc":[-85.636381,41.943761]},"n2212":{"id":"n2212","loc":[-85.625115,41.952249]},"n2213":{"id":"n2213","loc":[-85.638578,41.946644]},"n2214":{"id":"n2214","loc":[-85.625122,41.952189]},"n2215":{"id":"n2215","loc":[-85.625085,41.952031]},"n2216":{"id":"n2216","loc":[-85.636126,41.943713]},"n2217":{"id":"n2217","loc":[-85.635005,41.944041]},"n2218":{"id":"n2218","loc":[-85.63714,41.945328]},"n2219":{"id":"n2219","loc":[-85.634871,41.943292]},"n222":{"id":"n222","loc":[-85.634149,41.942503]},"n2220":{"id":"n2220","loc":[-85.635705,41.943799]},"n2221":{"id":"n2221","loc":[-85.634995,41.943576]},"n2222":{"id":"n2222","loc":[-85.635026,41.943829]},"n2223":{"id":"n2223","loc":[-85.632874,41.941031]},"n2224":{"id":"n2224","loc":[-85.632531,41.940233]},"n2225":{"id":"n2225","loc":[-85.634247,41.936003]},"n2226":{"id":"n2226","loc":[-85.62929,41.941127]},"n2227":{"id":"n2227","loc":[-85.630428,41.943266]},"n2228":{"id":"n2228","loc":[-85.631608,41.943425]},"n2229":{"id":"n2229","loc":[-85.632316,41.943042]},"n223":{"id":"n223","loc":[-85.634098,41.942373]},"n2230":{"id":"n2230","loc":[-85.628711,41.940744]},"n2231":{"id":"n2231","loc":[-85.627831,41.940536]},"n2232":{"id":"n2232","loc":[-85.625514,41.94052]},"n2233":{"id":"n2233","loc":[-85.631127,41.943545]},"n2234":{"id":"n2234","loc":[-85.632909,41.942531]},"n2235":{"id":"n2235","loc":[-85.632917,41.938796]},"n2236":{"id":"n2236","loc":[-85.626716,41.94044]},"n2237":{"id":"n2237","loc":[-85.630122,41.942852]},"n2238":{"id":"n2238","loc":[-85.632509,41.939674]},"n2239":{"id":"n2239","loc":[-85.634762,41.935237]},"n224":{"id":"n224","loc":[-85.634131,41.942366]},"n2240":{"id":"n2240","loc":[-85.63384,41.937025]},"n2241":{"id":"n2241","loc":[-85.629741,41.941909]},"n2242":{"id":"n2242","loc":[-85.635254,41.945001],"tags":{"railway":"level_crossing"}},"n2243":{"id":"n2243","loc":[-85.634005,41.938168]},"n2244":{"id":"n2244","loc":[-85.63393,41.938335]},"n2245":{"id":"n2245","loc":[-85.633859,41.93846]},"n2246":{"id":"n2246","loc":[-85.633663,41.938776]},"n2247":{"id":"n2247","loc":[-85.633513,41.938936]},"n2248":{"id":"n2248","loc":[-85.635295,41.943225]},"n2249":{"id":"n2249","loc":[-85.635393,41.943293]},"n225":{"id":"n225","loc":[-85.635986,41.94177]},"n2250":{"id":"n2250","loc":[-85.635645,41.94332]},"n2251":{"id":"n2251","loc":[-85.63629,41.943328]},"n2252":{"id":"n2252","loc":[-85.636554,41.943372]},"n2253":{"id":"n2253","loc":[-85.636869,41.943526]},"n2254":{"id":"n2254","loc":[-85.637099,41.943704]},"n2255":{"id":"n2255","loc":[-85.637268,41.943773]},"n2256":{"id":"n2256","loc":[-85.637483,41.943821]},"n2257":{"id":"n2257","loc":[-85.637616,41.943929]},"n2258":{"id":"n2258","loc":[-85.637752,41.944114]},"n2259":{"id":"n2259","loc":[-85.638399,41.944308]},"n226":{"id":"n226","loc":[-85.635982,41.941523]},"n2260":{"id":"n2260","loc":[-85.638573,41.944451]},"n2261":{"id":"n2261","loc":[-85.638702,41.944574]},"n2262":{"id":"n2262","loc":[-85.638718,41.944652]},"n2263":{"id":"n2263","loc":[-85.638715,41.944809]},"n2264":{"id":"n2264","loc":[-85.638766,41.944988]},"n2265":{"id":"n2265","loc":[-85.638773,41.945136]},"n2266":{"id":"n2266","loc":[-85.638705,41.945251]},"n2267":{"id":"n2267","loc":[-85.638335,41.944291]},"n2268":{"id":"n2268","loc":[-85.638474,41.944352]},"n2269":{"id":"n2269","loc":[-85.635408,41.943429]},"n227":{"id":"n227","loc":[-85.636108,41.941521]},"n2270":{"id":"n2270","loc":[-85.635271,41.943654]},"n2271":{"id":"n2271","loc":[-85.635266,41.943744]},"n2272":{"id":"n2272","loc":[-85.635271,41.943819]},"n2273":{"id":"n2273","loc":[-85.635192,41.943876]},"n2274":{"id":"n2274","loc":[-85.635129,41.943857]},"n2275":{"id":"n2275","loc":[-85.635122,41.943764]},"n2276":{"id":"n2276","loc":[-85.635124,41.943664]},"n2277":{"id":"n2277","loc":[-85.63515,41.943611]},"n2278":{"id":"n2278","loc":[-85.635106,41.943534]},"n2279":{"id":"n2279","loc":[-85.634972,41.943197]},"n228":{"id":"n228","loc":[-85.636109,41.941559]},"n2280":{"id":"n2280","loc":[-85.633978,41.938227]},"n2281":{"id":"n2281","loc":[-85.634216,41.943255]},"n2282":{"id":"n2282","loc":[-85.634434,41.943622]},"n2283":{"id":"n2283","loc":[-85.632406,41.940854]},"n2284":{"id":"n2284","loc":[-85.632488,41.941063],"tags":{"leisure":"slipway"}},"n2285":{"id":"n2285","loc":[-85.632726,41.941537]},"n2286":{"id":"n2286","loc":[-85.632639,41.94136]},"n2287":{"id":"n2287","loc":[-85.632704,41.941439]},"n2288":{"id":"n2288","loc":[-85.632289,41.940601]},"n2289":{"id":"n2289","loc":[-85.632541,41.942526]},"n229":{"id":"n229","loc":[-85.636145,41.941559]},"n2290":{"id":"n2290","loc":[-85.634058,41.943173]},"n2291":{"id":"n2291","loc":[-85.636175,41.945974]},"n2292":{"id":"n2292","loc":[-85.636528,41.945975]},"n2293":{"id":"n2293","loc":[-85.637092,41.945893]},"n2294":{"id":"n2294","loc":[-85.637881,41.945647]},"n2295":{"id":"n2295","loc":[-85.639329,41.945162]},"n2296":{"id":"n2296","loc":[-85.639323,41.945026]},"n2297":{"id":"n2297","loc":[-85.638826,41.945032]},"n2298":{"id":"n2298","loc":[-85.638817,41.944174]},"n2299":{"id":"n2299","loc":[-85.638291,41.94418]},"n23":{"id":"n23","loc":[-85.633504,41.942418]},"n230":{"id":"n230","loc":[-85.636145,41.941551]},"n2300":{"id":"n2300","loc":[-85.63828,41.943811]},"n2301":{"id":"n2301","loc":[-85.638195,41.943601]},"n2302":{"id":"n2302","loc":[-85.63719,41.943592]},"n2303":{"id":"n2303","loc":[-85.636697,41.943273]},"n2304":{"id":"n2304","loc":[-85.635375,41.943274]},"n2305":{"id":"n2305","loc":[-85.635091,41.943547]},"n2306":{"id":"n2306","loc":[-85.63442,41.944117]},"n2307":{"id":"n2307","loc":[-85.635117,41.943717]},"n2308":{"id":"n2308","loc":[-85.635601,41.945177]},"n2309":{"id":"n2309","loc":[-85.635819,41.945494]},"n231":{"id":"n231","loc":[-85.636312,41.941549]},"n2310":{"id":"n2310","loc":[-85.635303,41.944891]},"n2311":{"id":"n2311","loc":[-85.637674,41.943802]},"n2312":{"id":"n2312","loc":[-85.638263,41.944272]},"n2313":{"id":"n2313","loc":[-85.634267,41.935266]},"n2314":{"id":"n2314","loc":[-85.639788,41.945152]},"n2315":{"id":"n2315","loc":[-85.639645,41.945167]},"n2316":{"id":"n2316","loc":[-85.639362,41.945233]},"n2317":{"id":"n2317","loc":[-85.638616,41.945163]},"n2318":{"id":"n2318","loc":[-85.638514,41.944936]},"n2319":{"id":"n2319","loc":[-85.638578,41.94503]},"n232":{"id":"n232","loc":[-85.636314,41.941649]},"n2320":{"id":"n2320","loc":[-85.638578,41.945215]},"n2321":{"id":"n2321","loc":[-85.640495,41.947015]},"n2322":{"id":"n2322","loc":[-85.639577,41.946495]},"n2323":{"id":"n2323","loc":[-85.638935,41.946087]},"n2324":{"id":"n2324","loc":[-85.637535,41.94584]},"n2325":{"id":"n2325","loc":[-85.638357,41.945404]},"n2326":{"id":"n2326","loc":[-85.638051,41.94553]},"n2327":{"id":"n2327","loc":[-85.637732,41.945555]},"n2328":{"id":"n2328","loc":[-85.637657,41.945524]},"n2329":{"id":"n2329","loc":[-85.637598,41.945467]},"n233":{"id":"n233","loc":[-85.636152,41.94165]},"n2330":{"id":"n2330","loc":[-85.637669,41.945318]},"n2331":{"id":"n2331","loc":[-85.637894,41.945171]},"n2332":{"id":"n2332","loc":[-85.637923,41.945082]},"n2333":{"id":"n2333","loc":[-85.63793,41.944756]},"n2334":{"id":"n2334","loc":[-85.637976,41.944696]},"n2335":{"id":"n2335","loc":[-85.638044,41.944671]},"n2336":{"id":"n2336","loc":[-85.638129,41.944597]},"n2337":{"id":"n2337","loc":[-85.638252,41.944413]},"n2338":{"id":"n2338","loc":[-85.638092,41.945442]},"n2339":{"id":"n2339","loc":[-85.638409,41.945315]},"n234":{"id":"n234","loc":[-85.636152,41.941628]},"n2340":{"id":"n2340","loc":[-85.638325,41.944771]},"n2341":{"id":"n2341","loc":[-85.638103,41.944744]},"n2342":{"id":"n2342","loc":[-85.637976,41.944781]},"n2343":{"id":"n2343","loc":[-85.637983,41.944865]},"n2344":{"id":"n2344","loc":[-85.638063,41.945074]},"n2345":{"id":"n2345","loc":[-85.638041,41.945206]},"n2346":{"id":"n2346","loc":[-85.637907,41.945309]},"n2347":{"id":"n2347","loc":[-85.637925,41.94539]},"n2348":{"id":"n2348","loc":[-85.637998,41.94545]},"n2349":{"id":"n2349","loc":[-85.637135,41.946254]},"n235":{"id":"n235","loc":[-85.63611,41.941628]},"n2350":{"id":"n2350","loc":[-85.636837,41.946615]},"n2351":{"id":"n2351","loc":[-85.637954,41.948909]},"n2352":{"id":"n2352","loc":[-85.638382,41.949786]},"n2353":{"id":"n2353","loc":[-85.639367,41.951242]},"n2354":{"id":"n2354","loc":[-85.640554,41.951777]},"n2355":{"id":"n2355","loc":[-85.6411,41.952234]},"n2356":{"id":"n2356","loc":[-85.641742,41.952657]},"n2357":{"id":"n2357","loc":[-85.642321,41.952941]},"n2358":{"id":"n2358","loc":[-85.64277,41.953228]},"n2359":{"id":"n2359","loc":[-85.643333,41.953825]},"n236":{"id":"n236","loc":[-85.636113,41.941768]},"n2360":{"id":"n2360","loc":[-85.643579,41.954365]},"n2361":{"id":"n2361","loc":[-85.644439,41.954105]},"n2362":{"id":"n2362","loc":[-85.64506,41.954]},"n2363":{"id":"n2363","loc":[-85.645483,41.953911]},"n2364":{"id":"n2364","loc":[-85.646046,41.953853]},"n2365":{"id":"n2365","loc":[-85.646318,41.953717]},"n2366":{"id":"n2366","loc":[-85.646276,41.953414]},"n2367":{"id":"n2367","loc":[-85.631063,41.957478],"tags":{"emergency":"fire_hydrant"}},"n2368":{"id":"n2368","loc":[-85.630996,41.955857],"tags":{"emergency":"fire_hydrant"}},"n2369":{"id":"n2369","loc":[-85.630976,41.954608],"tags":{"emergency":"fire_hydrant"}},"n237":{"id":"n237","loc":[-85.635983,41.941589],"tags":{"entrance":"yes"}},"n2370":{"id":"n2370","loc":[-85.646,41.953154]},"n2371":{"id":"n2371","loc":[-85.645222,41.953193]},"n2372":{"id":"n2372","loc":[-85.644732,41.953181]},"n2373":{"id":"n2373","loc":[-85.644064,41.953298]},"n2374":{"id":"n2374","loc":[-85.643818,41.953177]},"n2375":{"id":"n2375","loc":[-85.644001,41.95284]},"n2376":{"id":"n2376","loc":[-85.628174,41.95456],"tags":{"emergency":"fire_hydrant"}},"n2377":{"id":"n2377","loc":[-85.644267,41.952591]},"n2378":{"id":"n2378","loc":[-85.644288,41.952328]},"n2379":{"id":"n2379","loc":[-85.627276,41.953987],"tags":{"emergency":"fire_hydrant"}},"n238":{"id":"n238","loc":[-85.635906,41.94159]},"n2380":{"id":"n2380","loc":[-85.644262,41.952153]},"n2381":{"id":"n2381","loc":[-85.644168,41.95204]},"n2382":{"id":"n2382","loc":[-85.64421,41.951749]},"n2383":{"id":"n2383","loc":[-85.64385,41.951586]},"n2384":{"id":"n2384","loc":[-85.62736,41.955964],"tags":{"emergency":"fire_hydrant"}},"n2385":{"id":"n2385","loc":[-85.626307,41.957198],"tags":{"emergency":"fire_hydrant"}},"n2386":{"id":"n2386","loc":[-85.643589,41.951323]},"n2387":{"id":"n2387","loc":[-85.62747,41.957509],"tags":{"emergency":"fire_hydrant"}},"n2388":{"id":"n2388","loc":[-85.628665,41.957492],"tags":{"emergency":"fire_hydrant"}},"n2389":{"id":"n2389","loc":[-85.642535,41.951031]},"n239":{"id":"n239","loc":[-85.635883,41.940182]},"n2390":{"id":"n2390","loc":[-85.642269,41.95088]},"n2391":{"id":"n2391","loc":[-85.641878,41.950814]},"n2392":{"id":"n2392","loc":[-85.641549,41.950806]},"n2393":{"id":"n2393","loc":[-85.641103,41.950549]},"n2394":{"id":"n2394","loc":[-85.630864,41.959046],"tags":{"emergency":"fire_hydrant"}},"n2395":{"id":"n2395","loc":[-85.632249,41.958969],"tags":{"emergency":"fire_hydrant"}},"n2396":{"id":"n2396","loc":[-85.641037,41.949821]},"n2397":{"id":"n2397","loc":[-85.641006,41.949433]},"n2398":{"id":"n2398","loc":[-85.632232,41.95859],"tags":{"emergency":"fire_hydrant"}},"n2399":{"id":"n2399","loc":[-85.632071,41.958345],"tags":{"emergency":"fire_hydrant"}},"n24":{"id":"n24","loc":[-85.634346,41.942792]},"n240":{"id":"n240","loc":[-85.635916,41.94264]},"n2400":{"id":"n2400","loc":[-85.632228,41.9573],"tags":{"emergency":"fire_hydrant"}},"n2401":{"id":"n2401","loc":[-85.641152,41.948257]},"n2402":{"id":"n2402","loc":[-85.641055,41.947304]},"n2403":{"id":"n2403","loc":[-85.638022,41.945897]},"n2404":{"id":"n2404","loc":[-85.638672,41.950778]},"n2405":{"id":"n2405","loc":[-85.63666,41.944492],"tags":{"name":"Memory Isle","place":"island"}},"n2406":{"id":"n2406","loc":[-85.635,41.946389],"tags":{"amenity":"post_office","name":"Three Rivers Post Office"}},"n2407":{"id":"n2407","loc":[-85.633676,41.946036]},"n2408":{"id":"n2408","loc":[-85.633736,41.946078]},"n2409":{"id":"n2409","loc":[-85.633997,41.946185]},"n241":{"id":"n241","loc":[-85.635795,41.941906]},"n2410":{"id":"n2410","loc":[-85.634448,41.945626],"tags":{"highway":"traffic_signals","traffic_signals":"signal"}},"n2411":{"id":"n2411","loc":[-85.63456,41.945731],"tags":{"crossing":"zebra","highway":"crossing"}},"n2412":{"id":"n2412","loc":[-85.634592,41.94578]},"n2413":{"id":"n2413","loc":[-85.634607,41.945815]},"n2414":{"id":"n2414","loc":[-85.634614,41.945864]},"n2415":{"id":"n2415","loc":[-85.636066,41.946185]},"n2416":{"id":"n2416","loc":[-85.636128,41.946352]},"n2417":{"id":"n2417","loc":[-85.636142,41.946452]},"n2418":{"id":"n2418","loc":[-85.635327,41.945292]},"n2419":{"id":"n2419","loc":[-85.635648,41.94558]},"n242":{"id":"n242","loc":[-85.635909,41.941906]},"n2420":{"id":"n2420","loc":[-85.635769,41.945729]},"n2421":{"id":"n2421","loc":[-85.637349,41.945897]},"n2422":{"id":"n2422","loc":[-85.632211,41.95596],"tags":{"emergency":"fire_hydrant"}},"n2423":{"id":"n2423","loc":[-85.635942,41.94598]},"n2424":{"id":"n2424","loc":[-85.636443,41.946042]},"n2425":{"id":"n2425","loc":[-85.635819,41.946052]},"n2426":{"id":"n2426","loc":[-85.636669,41.946025]},"n2427":{"id":"n2427","loc":[-85.636832,41.946005]},"n2428":{"id":"n2428","loc":[-85.637039,41.945968]},"n2429":{"id":"n2429","loc":[-85.636291,41.946046]},"n243":{"id":"n243","loc":[-85.636359,41.941904]},"n2430":{"id":"n2430","loc":[-85.634005,41.943367]},"n2431":{"id":"n2431","loc":[-85.633366,41.943724]},"n2432":{"id":"n2432","loc":[-85.634617,41.946057]},"n2433":{"id":"n2433","loc":[-85.636534,41.944793]},"n2434":{"id":"n2434","loc":[-85.637055,41.945188]},"n2435":{"id":"n2435","loc":[-85.636153,41.944618]},"n2436":{"id":"n2436","loc":[-85.636803,41.944944]},"n2437":{"id":"n2437","loc":[-85.633389,41.945735]},"n2438":{"id":"n2438","loc":[-85.633536,41.94585]},"n2439":{"id":"n2439","loc":[-85.63363,41.945993]},"n244":{"id":"n244","loc":[-85.636351,41.941438]},"n2440":{"id":"n2440","loc":[-85.633268,41.94568]},"n2441":{"id":"n2441","loc":[-85.635947,41.94546]},"n2442":{"id":"n2442","loc":[-85.636277,41.945268]},"n2443":{"id":"n2443","loc":[-85.635203,41.944287]},"n2444":{"id":"n2444","loc":[-85.634876,41.944477]},"n2445":{"id":"n2445","loc":[-85.634975,41.944419]},"n2446":{"id":"n2446","loc":[-85.633877,41.943438]},"n2447":{"id":"n2447","loc":[-85.63508,41.945113]},"n2448":{"id":"n2448","loc":[-85.635372,41.944932]},"n2449":{"id":"n2449","loc":[-85.636594,41.945935]},"n245":{"id":"n245","loc":[-85.635903,41.941436]},"n2450":{"id":"n2450","loc":[-85.636901,41.945747]},"n2451":{"id":"n2451","loc":[-85.636329,41.945228]},"n2452":{"id":"n2452","loc":[-85.636025,41.945417]},"n2453":{"id":"n2453","loc":[-85.634002,41.944644]},"n2454":{"id":"n2454","loc":[-85.63407,41.944692]},"n2455":{"id":"n2455","loc":[-85.634114,41.944756]},"n2456":{"id":"n2456","loc":[-85.633762,41.944809]},"n2457":{"id":"n2457","loc":[-85.634184,41.944807]},"n2458":{"id":"n2458","loc":[-85.634291,41.944819]},"n2459":{"id":"n2459","loc":[-85.634639,41.944845]},"n246":{"id":"n246","loc":[-85.635788,41.941436]},"n2460":{"id":"n2460","loc":[-85.633822,41.944861]},"n2461":{"id":"n2461","loc":[-85.63411,41.944855]},"n2462":{"id":"n2462","loc":[-85.63435,41.944872]},"n2463":{"id":"n2463","loc":[-85.63441,41.944903]},"n2464":{"id":"n2464","loc":[-85.633883,41.944913]},"n2465":{"id":"n2465","loc":[-85.634164,41.944896]},"n2466":{"id":"n2466","loc":[-85.633487,41.944926]},"n2467":{"id":"n2467","loc":[-85.634736,41.944929]},"n2468":{"id":"n2468","loc":[-85.633944,41.944965]},"n2469":{"id":"n2469","loc":[-85.633555,41.944983]},"n247":{"id":"n247","loc":[-85.635929,41.941511]},"n2470":{"id":"n2470","loc":[-85.633995,41.945013]},"n2471":{"id":"n2471","loc":[-85.633614,41.945037]},"n2472":{"id":"n2472","loc":[-85.634848,41.945031]},"n2473":{"id":"n2473","loc":[-85.634049,41.945061]},"n2474":{"id":"n2474","loc":[-85.633678,41.945094]},"n2475":{"id":"n2475","loc":[-85.63317,41.945111]},"n2476":{"id":"n2476","loc":[-85.633357,41.945103]},"n2477":{"id":"n2477","loc":[-85.633728,41.945136]},"n2478":{"id":"n2478","loc":[-85.634146,41.945148]},"n2479":{"id":"n2479","loc":[-85.633416,41.945157]},"n248":{"id":"n248","loc":[-85.635929,41.941317]},"n2480":{"id":"n2480","loc":[-85.634625,41.945172]},"n2481":{"id":"n2481","loc":[-85.633239,41.945174]},"n2482":{"id":"n2482","loc":[-85.63469,41.945185]},"n2483":{"id":"n2483","loc":[-85.634661,41.945203]},"n2484":{"id":"n2484","loc":[-85.63348,41.945214]},"n2485":{"id":"n2485","loc":[-85.633578,41.945221]},"n2486":{"id":"n2486","loc":[-85.634742,41.945231]},"n2487":{"id":"n2487","loc":[-85.634251,41.94525]},"n2488":{"id":"n2488","loc":[-85.633524,41.945254]},"n2489":{"id":"n2489","loc":[-85.63468,41.945271]},"n249":{"id":"n249","loc":[-85.636414,41.941316]},"n2490":{"id":"n2490","loc":[-85.633885,41.945272]},"n2491":{"id":"n2491","loc":[-85.634795,41.945288]},"n2492":{"id":"n2492","loc":[-85.634742,41.94532]},"n2493":{"id":"n2493","loc":[-85.633946,41.945327]},"n2494":{"id":"n2494","loc":[-85.634844,41.945331]},"n2495":{"id":"n2495","loc":[-85.63435,41.945349]},"n2496":{"id":"n2496","loc":[-85.633733,41.945357]},"n2497":{"id":"n2497","loc":[-85.633987,41.945375]},"n2498":{"id":"n2498","loc":[-85.634911,41.945419]},"n2499":{"id":"n2499","loc":[-85.634049,41.945431]},"n25":{"id":"n25","loc":[-85.634333,41.942809]},"n250":{"id":"n250","loc":[-85.636414,41.941511]},"n2500":{"id":"n2500","loc":[-85.633705,41.945461]},"n2501":{"id":"n2501","loc":[-85.633642,41.945408]},"n2502":{"id":"n2502","loc":[-85.634493,41.945475]},"n2503":{"id":"n2503","loc":[-85.634106,41.945484]},"n2504":{"id":"n2504","loc":[-85.635008,41.945505]},"n2505":{"id":"n2505","loc":[-85.633757,41.945506]},"n2506":{"id":"n2506","loc":[-85.634542,41.945519]},"n2507":{"id":"n2507","loc":[-85.634162,41.945536]},"n2508":{"id":"n2508","loc":[-85.633843,41.945547]},"n2509":{"id":"n2509","loc":[-85.634919,41.94556]},"n251":{"id":"n251","loc":[-85.636819,41.941617]},"n2510":{"id":"n2510","loc":[-85.633818,41.945561]},"n2511":{"id":"n2511","loc":[-85.634638,41.94559]},"n2512":{"id":"n2512","loc":[-85.633901,41.945598]},"n2513":{"id":"n2513","loc":[-85.634257,41.945626]},"n2514":{"id":"n2514","loc":[-85.633967,41.945652]},"n2515":{"id":"n2515","loc":[-85.634735,41.945676]},"n2516":{"id":"n2516","loc":[-85.635057,41.945683]},"n2517":{"id":"n2517","loc":[-85.635296,41.945703]},"n2518":{"id":"n2518","loc":[-85.635112,41.945703]},"n2519":{"id":"n2519","loc":[-85.634782,41.945729]},"n252":{"id":"n252","loc":[-85.636718,41.941619]},"n2520":{"id":"n2520","loc":[-85.634052,41.945747]},"n2521":{"id":"n2521","loc":[-85.635296,41.945757]},"n2522":{"id":"n2522","loc":[-85.635314,41.945757]},"n2523":{"id":"n2523","loc":[-85.635112,41.945761]},"n2524":{"id":"n2524","loc":[-85.63484,41.945778]},"n2525":{"id":"n2525","loc":[-85.635314,41.945938]},"n2526":{"id":"n2526","loc":[-85.63484,41.945922]},"n2527":{"id":"n2527","loc":[-85.635461,41.944879]},"n2528":{"id":"n2528","loc":[-85.636024,41.945384]},"n2529":{"id":"n2529","loc":[-85.636145,41.945312]},"n253":{"id":"n253","loc":[-85.636716,41.941509]},"n2530":{"id":"n2530","loc":[-85.6356,41.944797]},"n2531":{"id":"n2531","loc":[-85.635135,41.944354]},"n2532":{"id":"n2532","loc":[-85.632988,41.945369]},"n2533":{"id":"n2533","loc":[-85.633376,41.94563]},"n2534":{"id":"n2534","loc":[-85.633539,41.945534]},"n2535":{"id":"n2535","loc":[-85.633238,41.945248]},"n2536":{"id":"n2536","loc":[-85.633166,41.945216]},"n2537":{"id":"n2537","loc":[-85.633114,41.945188]},"n2538":{"id":"n2538","loc":[-85.633078,41.945127]},"n2539":{"id":"n2539","loc":[-85.633066,41.94508]},"n254":{"id":"n254","loc":[-85.636732,41.941509]},"n2540":{"id":"n2540","loc":[-85.633222,41.945358]},"n2541":{"id":"n2541","loc":[-85.633425,41.945541]},"n2542":{"id":"n2542","loc":[-85.63299,41.9455]},"n2543":{"id":"n2543","loc":[-85.634374,41.944327]},"n2544":{"id":"n2544","loc":[-85.633648,41.943697]},"n2545":{"id":"n2545","loc":[-85.633533,41.943764]},"n2546":{"id":"n2546","loc":[-85.634239,41.944417]},"n2547":{"id":"n2547","loc":[-85.634122,41.944395]},"n2548":{"id":"n2548","loc":[-85.634235,41.944326]},"n2549":{"id":"n2549","loc":[-85.633613,41.943787]},"n255":{"id":"n255","loc":[-85.636731,41.941461]},"n2550":{"id":"n2550","loc":[-85.633915,41.943613]},"n2551":{"id":"n2551","loc":[-85.634015,41.943555]},"n2552":{"id":"n2552","loc":[-85.63433,41.943839]},"n2553":{"id":"n2553","loc":[-85.634236,41.943894]},"n2554":{"id":"n2554","loc":[-85.635413,41.946052]},"n2555":{"id":"n2555","loc":[-85.635405,41.94569]},"n2556":{"id":"n2556","loc":[-85.635684,41.945925]},"n2557":{"id":"n2557","loc":[-85.635614,41.945742]},"n2558":{"id":"n2558","loc":[-85.635401,41.945745]},"n2559":{"id":"n2559","loc":[-85.635406,41.945928]},"n256":{"id":"n256","loc":[-85.636799,41.941461]},"n2560":{"id":"n2560","loc":[-85.633478,41.943663]},"n2561":{"id":"n2561","loc":[-85.633291,41.943526]},"n2562":{"id":"n2562","loc":[-85.633094,41.943541]},"n2563":{"id":"n2563","loc":[-85.633302,41.943492]},"n2564":{"id":"n2564","loc":[-85.633047,41.943623]},"n2565":{"id":"n2565","loc":[-85.633275,41.943562]},"n2566":{"id":"n2566","loc":[-85.633351,41.943518]},"n2567":{"id":"n2567","loc":[-85.633224,41.9434]},"n2568":{"id":"n2568","loc":[-85.633235,41.943369]},"n2569":{"id":"n2569","loc":[-85.635179,41.943911]},"n257":{"id":"n257","loc":[-85.6368,41.9415]},"n2570":{"id":"n2570","loc":[-85.635146,41.943918]},"n2571":{"id":"n2571","loc":[-85.634888,41.943905]},"n2572":{"id":"n2572","loc":[-85.634832,41.943911]},"n2573":{"id":"n2573","loc":[-85.634638,41.944007]},"n2574":{"id":"n2574","loc":[-85.634568,41.94405]},"n2575":{"id":"n2575","loc":[-85.635994,41.94501]},"n2576":{"id":"n2576","loc":[-85.636388,41.944608]},"n2577":{"id":"n2577","loc":[-85.636215,41.944787]},"n2578":{"id":"n2578","loc":[-85.637948,41.944587]},"n2579":{"id":"n2579","loc":[-85.637849,41.944567]},"n258":{"id":"n258","loc":[-85.636814,41.9415]},"n2580":{"id":"n2580","loc":[-85.637895,41.944455]},"n2581":{"id":"n2581","loc":[-85.637996,41.944477]},"n2582":{"id":"n2582","loc":[-85.635525,41.94337]},"n2583":{"id":"n2583","loc":[-85.637847,41.943923]},"n2584":{"id":"n2584","loc":[-85.637891,41.944124]},"n2585":{"id":"n2585","loc":[-85.638167,41.944229]},"n2586":{"id":"n2586","loc":[-85.638236,41.944097]},"n2587":{"id":"n2587","loc":[-85.638207,41.944025]},"n2588":{"id":"n2588","loc":[-85.638141,41.943997]},"n2589":{"id":"n2589","loc":[-85.638057,41.944015]},"n259":{"id":"n259","loc":[-85.636815,41.941538]},"n2590":{"id":"n2590","loc":[-85.637902,41.944231]},"n2591":{"id":"n2591","loc":[-85.638134,41.944307]},"n2592":{"id":"n2592","loc":[-85.638242,41.944294]},"n2593":{"id":"n2593","loc":[-85.638274,41.944222]},"n2594":{"id":"n2594","loc":[-85.638236,41.944174]},"n2595":{"id":"n2595","loc":[-85.638207,41.944157]},"n2596":{"id":"n2596","loc":[-85.637818,41.943984]},"n2597":{"id":"n2597","loc":[-85.634996,41.944439]},"n2598":{"id":"n2598","loc":[-85.633946,41.945804]},"n2599":{"id":"n2599","loc":[-85.634102,41.945864]},"n26":{"id":"n26","loc":[-85.634346,41.942744]},"n260":{"id":"n260","loc":[-85.636827,41.941538]},"n2600":{"id":"n2600","loc":[-85.633819,41.945756]},"n2601":{"id":"n2601","loc":[-85.634025,41.945975]},"n2602":{"id":"n2602","loc":[-85.633742,41.945867]},"n2603":{"id":"n2603","loc":[-85.63373,41.946004]},"n2604":{"id":"n2604","loc":[-85.633947,41.946081]},"n2605":{"id":"n2605","loc":[-85.633872,41.945917]},"n2606":{"id":"n2606","loc":[-85.633825,41.945985]},"n2607":{"id":"n2607","loc":[-85.633762,41.94596]},"n2608":{"id":"n2608","loc":[-85.634224,41.946037]},"n2609":{"id":"n2609","loc":[-85.634357,41.945851]},"n261":{"id":"n261","loc":[-85.636828,41.941584]},"n2610":{"id":"n2610","loc":[-85.634398,41.945813]},"n2611":{"id":"n2611","loc":[-85.634461,41.945812]},"n2612":{"id":"n2612","loc":[-85.634501,41.945852]},"n2613":{"id":"n2613","loc":[-85.634503,41.94597]},"n2614":{"id":"n2614","loc":[-85.634462,41.945971]},"n2615":{"id":"n2615","loc":[-85.634465,41.946036]},"n2616":{"id":"n2616","loc":[-85.634235,41.946072]},"n2617":{"id":"n2617","loc":[-85.634447,41.946036]},"n2618":{"id":"n2618","loc":[-85.634448,41.946052]},"n2619":{"id":"n2619","loc":[-85.634494,41.946051]},"n262":{"id":"n262","loc":[-85.636819,41.941585]},"n2620":{"id":"n2620","loc":[-85.634497,41.946144]},"n2621":{"id":"n2621","loc":[-85.634453,41.946144]},"n2622":{"id":"n2622","loc":[-85.634454,41.94616]},"n2623":{"id":"n2623","loc":[-85.634393,41.946161]},"n2624":{"id":"n2624","loc":[-85.634394,41.94618]},"n2625":{"id":"n2625","loc":[-85.634345,41.94618]},"n2626":{"id":"n2626","loc":[-85.634344,41.946162]},"n2627":{"id":"n2627","loc":[-85.63427,41.946163]},"n2628":{"id":"n2628","loc":[-85.634266,41.946071]},"n2629":{"id":"n2629","loc":[-85.634148,41.946163]},"n263":{"id":"n263","loc":[-85.636854,41.941714]},"n2630":{"id":"n2630","loc":[-85.634213,41.946072]},"n2631":{"id":"n2631","loc":[-85.633293,41.946309]},"n2632":{"id":"n2632","loc":[-85.633122,41.946239]},"n2633":{"id":"n2633","loc":[-85.633295,41.946005]},"n2634":{"id":"n2634","loc":[-85.633395,41.946047]},"n2635":{"id":"n2635","loc":[-85.633404,41.946035]},"n2636":{"id":"n2636","loc":[-85.633459,41.946057]},"n2637":{"id":"n2637","loc":[-85.633387,41.946154]},"n2638":{"id":"n2638","loc":[-85.633403,41.946161]},"n2639":{"id":"n2639","loc":[-85.634176,41.946415]},"n264":{"id":"n264","loc":[-85.636855,41.941774]},"n2640":{"id":"n2640","loc":[-85.634179,41.946339]},"n2641":{"id":"n2641","loc":[-85.634455,41.946345]},"n2642":{"id":"n2642","loc":[-85.634452,41.946422]},"n2643":{"id":"n2643","loc":[-85.63437,41.946421]},"n2644":{"id":"n2644","loc":[-85.634367,41.946497]},"n2645":{"id":"n2645","loc":[-85.634289,41.946495]},"n2646":{"id":"n2646","loc":[-85.634291,41.946448]},"n2647":{"id":"n2647","loc":[-85.634269,41.946448]},"n2648":{"id":"n2648","loc":[-85.63427,41.946417]},"n2649":{"id":"n2649","loc":[-85.63484,41.946328]},"n265":{"id":"n265","loc":[-85.636822,41.941774]},"n2650":{"id":"n2650","loc":[-85.634839,41.946187]},"n2651":{"id":"n2651","loc":[-85.635148,41.946186]},"n2652":{"id":"n2652","loc":[-85.635148,41.946216]},"n2653":{"id":"n2653","loc":[-85.63521,41.946216]},"n2654":{"id":"n2654","loc":[-85.63521,41.946348]},"n2655":{"id":"n2655","loc":[-85.635154,41.946348]},"n2656":{"id":"n2656","loc":[-85.635153,41.946327]},"n2657":{"id":"n2657","loc":[-85.634037,41.946957]},"n2658":{"id":"n2658","loc":[-85.634253,41.946953]},"n2659":{"id":"n2659","loc":[-85.63481,41.946543]},"n266":{"id":"n266","loc":[-85.636822,41.941778]},"n2660":{"id":"n2660","loc":[-85.634809,41.946459]},"n2661":{"id":"n2661","loc":[-85.635154,41.946458]},"n2662":{"id":"n2662","loc":[-85.635155,41.946554]},"n2663":{"id":"n2663","loc":[-85.635022,41.946547]},"n2664":{"id":"n2664","loc":[-85.635022,41.946573]},"n2665":{"id":"n2665","loc":[-85.634909,41.946574]},"n2666":{"id":"n2666","loc":[-85.634909,41.946561]},"n2667":{"id":"n2667","loc":[-85.634896,41.947159]},"n2668":{"id":"n2668","loc":[-85.634894,41.947032]},"n2669":{"id":"n2669","loc":[-85.635024,41.947031]},"n267":{"id":"n267","loc":[-85.636756,41.941779]},"n2670":{"id":"n2670","loc":[-85.635026,41.947158]},"n2671":{"id":"n2671","loc":[-85.635233,41.947105]},"n2672":{"id":"n2672","loc":[-85.635236,41.946991]},"n2673":{"id":"n2673","loc":[-85.635369,41.946993]},"n2674":{"id":"n2674","loc":[-85.635366,41.947107]},"n2675":{"id":"n2675","loc":[-85.634824,41.946929]},"n2676":{"id":"n2676","loc":[-85.634825,41.946818]},"n2677":{"id":"n2677","loc":[-85.63512,41.946819]},"n2678":{"id":"n2678","loc":[-85.635119,41.94693]},"n2679":{"id":"n2679","loc":[-85.634796,41.946806]},"n268":{"id":"n268","loc":[-85.636756,41.941774]},"n2680":{"id":"n2680","loc":[-85.634792,41.946604]},"n2681":{"id":"n2681","loc":[-85.634948,41.946602]},"n2682":{"id":"n2682","loc":[-85.634949,41.946645]},"n2683":{"id":"n2683","loc":[-85.634975,41.946644]},"n2684":{"id":"n2684","loc":[-85.634974,41.946599]},"n2685":{"id":"n2685","loc":[-85.635117,41.946598]},"n2686":{"id":"n2686","loc":[-85.635122,41.946801]},"n2687":{"id":"n2687","loc":[-85.634981,41.946803]},"n2688":{"id":"n2688","loc":[-85.634979,41.946752]},"n2689":{"id":"n2689","loc":[-85.634952,41.946752]},"n269":{"id":"n269","loc":[-85.636721,41.941774]},"n2690":{"id":"n2690","loc":[-85.634953,41.946804]},"n2691":{"id":"n2691","loc":[-85.634649,41.946841]},"n2692":{"id":"n2692","loc":[-85.634331,41.94684]},"n2693":{"id":"n2693","loc":[-85.634183,41.946809]},"n2694":{"id":"n2694","loc":[-85.633699,41.946607]},"n2695":{"id":"n2695","loc":[-85.634487,41.946664]},"n2696":{"id":"n2696","loc":[-85.634486,41.946598]},"n2697":{"id":"n2697","loc":[-85.63423,41.946599]},"n2698":{"id":"n2698","loc":[-85.634231,41.946662]},"n2699":{"id":"n2699","loc":[-85.634284,41.946662]},"n27":{"id":"n27","loc":[-85.634136,41.943183]},"n270":{"id":"n270","loc":[-85.63672,41.941714]},"n2700":{"id":"n2700","loc":[-85.634284,41.946679]},"n2701":{"id":"n2701","loc":[-85.634365,41.946679]},"n2702":{"id":"n2702","loc":[-85.634365,41.946664]},"n2703":{"id":"n2703","loc":[-85.635443,41.947015]},"n2704":{"id":"n2704","loc":[-85.635442,41.946801]},"n2705":{"id":"n2705","loc":[-85.63603,41.9468]},"n2706":{"id":"n2706","loc":[-85.636028,41.947016]},"n2707":{"id":"n2707","loc":[-85.635457,41.946582]},"n2708":{"id":"n2708","loc":[-85.635455,41.946211]},"n2709":{"id":"n2709","loc":[-85.635636,41.946579]},"n271":{"id":"n271","loc":[-85.636767,41.941713]},"n2710":{"id":"n2710","loc":[-85.635716,41.9468]},"n2711":{"id":"n2711","loc":[-85.635969,41.9468]},"n2712":{"id":"n2712","loc":[-85.635973,41.946295]},"n2713":{"id":"n2713","loc":[-85.636019,41.946484]},"n2714":{"id":"n2714","loc":[-85.636022,41.946388]},"n2715":{"id":"n2715","loc":[-85.635961,41.946493]},"n2716":{"id":"n2716","loc":[-85.635713,41.94621]},"n2717":{"id":"n2717","loc":[-85.635416,41.946142]},"n2718":{"id":"n2718","loc":[-85.635759,41.946203]},"n2719":{"id":"n2719","loc":[-85.636153,41.946747]},"n272":{"id":"n272","loc":[-85.636767,41.941706]},"n2720":{"id":"n2720","loc":[-85.635417,41.946915]},"n2721":{"id":"n2721","loc":[-85.636154,41.946915]},"n2722":{"id":"n2722","loc":[-85.635866,41.946473]},"n2723":{"id":"n2723","loc":[-85.635717,41.946633]},"n2724":{"id":"n2724","loc":[-85.635556,41.946166]},"n2725":{"id":"n2725","loc":[-85.63556,41.946556]},"n2726":{"id":"n2726","loc":[-85.635731,41.946594]},"n2727":{"id":"n2727","loc":[-85.635866,41.946595]},"n2728":{"id":"n2728","loc":[-85.635456,41.947028]},"n2729":{"id":"n2729","loc":[-85.635796,41.947023]},"n273":{"id":"n273","loc":[-85.636779,41.941698]},"n2730":{"id":"n2730","loc":[-85.635798,41.947091]},"n2731":{"id":"n2731","loc":[-85.63573,41.947092]},"n2732":{"id":"n2732","loc":[-85.635733,41.947233]},"n2733":{"id":"n2733","loc":[-85.636283,41.946863]},"n2734":{"id":"n2734","loc":[-85.63628,41.946706]},"n2735":{"id":"n2735","loc":[-85.636341,41.946705]},"n2736":{"id":"n2736","loc":[-85.636273,41.946584]},"n2737":{"id":"n2737","loc":[-85.636396,41.946545]},"n2738":{"id":"n2738","loc":[-85.636474,41.946684]},"n2739":{"id":"n2739","loc":[-85.636511,41.946861]},"n274":{"id":"n274","loc":[-85.636798,41.941697]},"n2740":{"id":"n2740","loc":[-85.633713,41.947184]},"n2741":{"id":"n2741","loc":[-85.633651,41.94716]},"n2742":{"id":"n2742","loc":[-85.633704,41.947085]},"n2743":{"id":"n2743","loc":[-85.6336,41.947044]},"n2744":{"id":"n2744","loc":[-85.633506,41.947177]},"n2745":{"id":"n2745","loc":[-85.629586,41.952469]},"n2746":{"id":"n2746","loc":[-85.634723,41.953681]},"n2747":{"id":"n2747","loc":[-85.63478,41.959007]},"n2748":{"id":"n2748","loc":[-85.632793,41.94405],"tags":{"highway":"traffic_signals","traffic_signals":"signal","traffic_signals:direction":"both"}},"n2749":{"id":"n2749","loc":[-85.634648,41.947325]},"n275":{"id":"n275","loc":[-85.63681,41.941705]},"n2750":{"id":"n2750","loc":[-85.625078,41.952097]},"n2751":{"id":"n2751","loc":[-85.633195,41.94734]},"n2752":{"id":"n2752","loc":[-85.626447,41.957168]},"n2753":{"id":"n2753","loc":[-85.632023,41.949012]},"n2754":{"id":"n2754","loc":[-85.630835,41.950656]},"n2755":{"id":"n2755","loc":[-85.634655,41.948612]},"n2756":{"id":"n2756","loc":[-85.636182,41.948605]},"n2757":{"id":"n2757","loc":[-85.634729,41.954667]},"n2758":{"id":"n2758","loc":[-85.634686,41.951159]},"n2759":{"id":"n2759","loc":[-85.636206,41.951146]},"n276":{"id":"n276","loc":[-85.63681,41.941714]},"n2760":{"id":"n2760","loc":[-85.634668,41.949891]},"n2761":{"id":"n2761","loc":[-85.634701,41.952422]},"n2762":{"id":"n2762","loc":[-85.634747,41.955907]},"n2763":{"id":"n2763","loc":[-85.627975,41.954695]},"n2764":{"id":"n2764","loc":[-85.626832,41.954698]},"n2765":{"id":"n2765","loc":[-85.632278,41.948624]},"n2766":{"id":"n2766","loc":[-85.628639,41.953725]},"n2767":{"id":"n2767","loc":[-85.636233,41.95241]},"n2768":{"id":"n2768","loc":[-85.631385,41.949913]},"n2769":{"id":"n2769","loc":[-85.630486,41.951194]},"n277":{"id":"n277","loc":[-85.636861,41.942041]},"n2770":{"id":"n2770","loc":[-85.624937,41.952088]},"n2771":{"id":"n2771","loc":[-85.624945,41.952022]},"n2772":{"id":"n2772","loc":[-85.636162,41.94731]},"n2773":{"id":"n2773","loc":[-85.636188,41.949881]},"n2774":{"id":"n2774","loc":[-85.631422,41.948294]},"n2775":{"id":"n2775","loc":[-85.632844,41.945547]},"n2776":{"id":"n2776","loc":[-85.632484,41.945344]},"n2777":{"id":"n2777","loc":[-85.631775,41.944636]},"n2778":{"id":"n2778","loc":[-85.632656,41.945471]},"n2779":{"id":"n2779","loc":[-85.631959,41.944827]},"n278":{"id":"n278","loc":[-85.636862,41.942099]},"n2780":{"id":"n2780","loc":[-85.631679,41.94438]},"n2781":{"id":"n2781","loc":[-85.625129,41.959272]},"n2782":{"id":"n2782","loc":[-85.632446,41.944861]},"n2783":{"id":"n2783","loc":[-85.632804,41.945477]},"n2784":{"id":"n2784","loc":[-85.632255,41.944962]},"n2785":{"id":"n2785","loc":[-85.632736,41.944757]},"n2786":{"id":"n2786","loc":[-85.632543,41.94486]},"n2787":{"id":"n2787","loc":[-85.632889,41.945561]},"n2788":{"id":"n2788","loc":[-85.632091,41.944949]},"n2789":{"id":"n2789","loc":[-85.632537,41.944713]},"n279":{"id":"n279","loc":[-85.636807,41.942099]},"n2790":{"id":"n2790","loc":[-85.632279,41.94485]},"n2791":{"id":"n2791","loc":[-85.632749,41.943247]},"n2792":{"id":"n2792","loc":[-85.632824,41.943152]},"n2793":{"id":"n2793","loc":[-85.632929,41.94317]},"n2794":{"id":"n2794","loc":[-85.632897,41.943078]},"n2795":{"id":"n2795","loc":[-85.632626,41.943231]},"n2796":{"id":"n2796","loc":[-85.634048,41.947257]},"n2797":{"id":"n2797","loc":[-85.634264,41.947252]},"n2798":{"id":"n2798","loc":[-85.635418,41.947317]},"n2799":{"id":"n2799","loc":[-85.635461,41.947237]},"n28":{"id":"n28","loc":[-85.63821,41.944308]},"n280":{"id":"n280","loc":[-85.636807,41.942126]},"n2800":{"id":"n2800","loc":[-85.632868,41.946229]},"n2801":{"id":"n2801","loc":[-85.633673,41.947242]},"n2802":{"id":"n2802","loc":[-85.623604,41.945881],"tags":{"amenity":"school","name":"Barrows School"}},"n2803":{"id":"n2803","loc":[-85.627401,41.943496]},"n2804":{"id":"n2804","loc":[-85.627403,41.943625]},"n2805":{"id":"n2805","loc":[-85.626409,41.943215]},"n2806":{"id":"n2806","loc":[-85.624884,41.943508]},"n2807":{"id":"n2807","loc":[-85.625191,41.943509]},"n2808":{"id":"n2808","loc":[-85.624882,41.94382]},"n2809":{"id":"n2809","loc":[-85.624893,41.945618]},"n281":{"id":"n281","loc":[-85.636726,41.942126]},"n2810":{"id":"n2810","loc":[-85.624912,41.946524]},"n2811":{"id":"n2811","loc":[-85.622721,41.946535]},"n2812":{"id":"n2812","loc":[-85.627399,41.94469]},"n2813":{"id":"n2813","loc":[-85.622716,41.945622]},"n2814":{"id":"n2814","loc":[-85.624886,41.944724]},"n2815":{"id":"n2815","loc":[-85.622674,41.944737]},"n2816":{"id":"n2816","loc":[-85.625092,41.945063]},"n2817":{"id":"n2817","loc":[-85.625233,41.945064]},"n2818":{"id":"n2818","loc":[-85.625229,41.944871]},"n2819":{"id":"n2819","loc":[-85.625066,41.944871]},"n282":{"id":"n282","loc":[-85.636726,41.942098]},"n2820":{"id":"n2820","loc":[-85.625024,41.944901]},"n2821":{"id":"n2821","loc":[-85.625025,41.944924]},"n2822":{"id":"n2822","loc":[-85.625087,41.944926]},"n2823":{"id":"n2823","loc":[-85.625349,41.944506]},"n2824":{"id":"n2824","loc":[-85.625347,41.944388]},"n2825":{"id":"n2825","loc":[-85.625152,41.94439]},"n2826":{"id":"n2826","loc":[-85.625152,41.944431]},"n2827":{"id":"n2827","loc":[-85.625134,41.944431]},"n2828":{"id":"n2828","loc":[-85.625136,41.944508]},"n2829":{"id":"n2829","loc":[-85.623236,41.946341]},"n283":{"id":"n283","loc":[-85.636708,41.942098]},"n2830":{"id":"n2830","loc":[-85.623241,41.946067]},"n2831":{"id":"n2831","loc":[-85.623207,41.946067]},"n2832":{"id":"n2832","loc":[-85.623212,41.945827]},"n2833":{"id":"n2833","loc":[-85.622981,41.945825]},"n2834":{"id":"n2834","loc":[-85.622976,41.946063]},"n2835":{"id":"n2835","loc":[-85.623006,41.946063]},"n2836":{"id":"n2836","loc":[-85.623002,41.946256]},"n2837":{"id":"n2837","loc":[-85.623075,41.946256]},"n2838":{"id":"n2838","loc":[-85.623074,41.946339]},"n2839":{"id":"n2839","loc":[-85.624574,41.951755]},"n284":{"id":"n284","loc":[-85.636708,41.942041]},"n2840":{"id":"n2840","loc":[-85.62498,41.951844]},"n2841":{"id":"n2841","loc":[-85.625086,41.95188]},"n2842":{"id":"n2842","loc":[-85.625135,41.951922]},"n2843":{"id":"n2843","loc":[-85.615273,41.945637]},"n2844":{"id":"n2844","loc":[-85.620172,41.945627]},"n2845":{"id":"n2845","loc":[-85.625167,41.951985]},"n2846":{"id":"n2846","loc":[-85.622741,41.947437]},"n2847":{"id":"n2847","loc":[-85.624907,41.947428]},"n2848":{"id":"n2848","loc":[-85.627046,41.940995]},"n2849":{"id":"n2849","loc":[-85.627295,41.941304]},"n285":{"id":"n285","loc":[-85.635618,41.941852]},"n2850":{"id":"n2850","loc":[-85.627352,41.94148]},"n2851":{"id":"n2851","loc":[-85.62737,41.942261]},"n2852":{"id":"n2852","loc":[-85.6264,41.942263]},"n2853":{"id":"n2853","loc":[-85.622769,41.949228]},"n2854":{"id":"n2854","loc":[-85.624937,41.949218]},"n2855":{"id":"n2855","loc":[-85.630001,41.944664]},"n2856":{"id":"n2856","loc":[-85.624873,41.942022]},"n2857":{"id":"n2857","loc":[-85.622761,41.948333]},"n2858":{"id":"n2858","loc":[-85.624924,41.948334]},"n2859":{"id":"n2859","loc":[-85.620051,41.94383]},"n286":{"id":"n286","loc":[-85.635621,41.94202]},"n2860":{"id":"n2860","loc":[-85.627629,41.946498]},"n2861":{"id":"n2861","loc":[-85.622757,41.950111]},"n2862":{"id":"n2862","loc":[-85.623685,41.954624]},"n2863":{"id":"n2863","loc":[-85.621459,41.944756]},"n2864":{"id":"n2864","loc":[-85.628637,41.944676]},"n2865":{"id":"n2865","loc":[-85.630125,41.944654]},"n2866":{"id":"n2866","loc":[-85.625196,41.952097]},"n2867":{"id":"n2867","loc":[-85.630257,41.944637]},"n2868":{"id":"n2868","loc":[-85.631247,41.944459]},"n2869":{"id":"n2869","loc":[-85.624867,41.94159]},"n287":{"id":"n287","loc":[-85.63524,41.942023]},"n2870":{"id":"n2870","loc":[-85.624958,41.950343]},"n2871":{"id":"n2871","loc":[-85.624948,41.950484]},"n2872":{"id":"n2872","loc":[-85.624813,41.950983]},"n2873":{"id":"n2873","loc":[-85.624723,41.951789]},"n2874":{"id":"n2874","loc":[-85.624262,41.9512]},"n2875":{"id":"n2875","loc":[-85.62414,41.951201]},"n2876":{"id":"n2876","loc":[-85.624139,41.95112]},"n2877":{"id":"n2877","loc":[-85.628481,41.945611]},"n2878":{"id":"n2878","loc":[-85.620072,41.946538]},"n2879":{"id":"n2879","loc":[-85.622763,41.95099]},"n288":{"id":"n288","loc":[-85.635237,41.941855]},"n2880":{"id":"n2880","loc":[-85.62814,41.946963]},"n2881":{"id":"n2881","loc":[-85.628245,41.947031]},"n2882":{"id":"n2882","loc":[-85.628331,41.947066]},"n2883":{"id":"n2883","loc":[-85.629722,41.944444],"tags":{"leisure":"park","name":"Scouter Park"}},"n2884":{"id":"n2884","loc":[-85.629977,41.943907]},"n2885":{"id":"n2885","loc":[-85.629947,41.943775]},"n2886":{"id":"n2886","loc":[-85.629899,41.943625]},"n2887":{"id":"n2887","loc":[-85.632286,41.944257]},"n2888":{"id":"n2888","loc":[-85.632523,41.944179]},"n2889":{"id":"n2889","loc":[-85.632141,41.944293]},"n289":{"id":"n289","loc":[-85.635568,41.940475]},"n2890":{"id":"n2890","loc":[-85.631571,41.9444]},"n2891":{"id":"n2891","loc":[-85.643236,41.941895]},"n2892":{"id":"n2892","loc":[-85.62865,41.945353]},"n2893":{"id":"n2893","loc":[-85.628594,41.945481]},"n2894":{"id":"n2894","loc":[-85.628581,41.947169]},"n2895":{"id":"n2895","loc":[-85.631843,41.943793]},"n2896":{"id":"n2896","loc":[-85.632299,41.943472]},"n2897":{"id":"n2897","loc":[-85.631519,41.944881]},"n2898":{"id":"n2898","loc":[-85.628429,41.947219]},"n2899":{"id":"n2899","loc":[-85.63145,41.945162]},"n29":{"id":"n29","loc":[-85.637963,41.944263]},"n290":{"id":"n290","loc":[-85.634584,41.940477]},"n2900":{"id":"n2900","loc":[-85.630939,41.945519]},"n2901":{"id":"n2901","loc":[-85.62903,41.945719]},"n2902":{"id":"n2902","loc":[-85.630521,41.945559]},"n2903":{"id":"n2903","loc":[-85.629294,41.945585]},"n2904":{"id":"n2904","loc":[-85.629845,41.945543]},"n2905":{"id":"n2905","loc":[-85.631497,41.944625]},"n2906":{"id":"n2906","loc":[-85.630281,41.945553]},"n2907":{"id":"n2907","loc":[-85.628553,41.946973]},"n2908":{"id":"n2908","loc":[-85.631383,41.945338]},"n2909":{"id":"n2909","loc":[-85.628843,41.946103]},"n291":{"id":"n291","loc":[-85.634583,41.940203]},"n2910":{"id":"n2910","loc":[-85.631193,41.945473]},"n2911":{"id":"n2911","loc":[-85.628897,41.945944]},"n2912":{"id":"n2912","loc":[-85.628789,41.946454]},"n2913":{"id":"n2913","loc":[-85.632548,41.944563]},"n2914":{"id":"n2914","loc":[-85.627527,41.944555]},"n2915":{"id":"n2915","loc":[-85.62752,41.943726]},"n2916":{"id":"n2916","loc":[-85.627894,41.943723]},"n2917":{"id":"n2917","loc":[-85.627897,41.943919]},"n2918":{"id":"n2918","loc":[-85.627991,41.943934]},"n2919":{"id":"n2919","loc":[-85.628082,41.943966]},"n292":{"id":"n292","loc":[-85.635567,41.940201]},"n2920":{"id":"n2920","loc":[-85.628177,41.944015]},"n2921":{"id":"n2921","loc":[-85.628193,41.944048]},"n2922":{"id":"n2922","loc":[-85.628167,41.944054]},"n2923":{"id":"n2923","loc":[-85.628193,41.944094]},"n2924":{"id":"n2924","loc":[-85.628213,41.944144]},"n2925":{"id":"n2925","loc":[-85.628214,41.944199]},"n2926":{"id":"n2926","loc":[-85.62833,41.944196]},"n2927":{"id":"n2927","loc":[-85.628328,41.944262]},"n2928":{"id":"n2928","loc":[-85.628173,41.944262]},"n2929":{"id":"n2929","loc":[-85.628171,41.944293]},"n293":{"id":"n293","loc":[-85.635816,41.942673],"tags":{"crossing":"zebra","highway":"crossing"}},"n2930":{"id":"n2930","loc":[-85.628039,41.944296]},"n2931":{"id":"n2931","loc":[-85.62804,41.944329]},"n2932":{"id":"n2932","loc":[-85.627829,41.944335]},"n2933":{"id":"n2933","loc":[-85.627835,41.94455]},"n2936":{"id":"n2936","loc":[-85.632823,41.945994]},"n294":{"id":"n294","loc":[-85.635696,41.942712]},"n2940":{"id":"n2940","loc":[-85.632192,41.945973]},"n2941":{"id":"n2941","loc":[-85.63226,41.94587]},"n2942":{"id":"n2942","loc":[-85.632721,41.946036]},"n2943":{"id":"n2943","loc":[-85.632641,41.946142]},"n2944":{"id":"n2944","loc":[-85.62937,41.947467]},"n2945":{"id":"n2945","loc":[-85.62959,41.942936]},"n2946":{"id":"n2946","loc":[-85.629551,41.94284]},"n2947":{"id":"n2947","loc":[-85.629501,41.942704]},"n2948":{"id":"n2948","loc":[-85.629472,41.942578]},"n2949":{"id":"n2949","loc":[-85.629361,41.941801]},"n295":{"id":"n295","loc":[-85.635679,41.941962]},"n2950":{"id":"n2950","loc":[-85.629339,41.941716]},"n2951":{"id":"n2951","loc":[-85.629315,41.94166]},"n2952":{"id":"n2952","loc":[-85.629279,41.941602]},"n2953":{"id":"n2953","loc":[-85.629227,41.941556]},"n2954":{"id":"n2954","loc":[-85.624261,41.95112]},"n2955":{"id":"n2955","loc":[-85.629153,41.941524]},"n2956":{"id":"n2956","loc":[-85.626904,41.941098]},"n2957":{"id":"n2957","loc":[-85.624588,41.951294]},"n2958":{"id":"n2958","loc":[-85.631844,41.942945]},"n2959":{"id":"n2959","loc":[-85.625854,41.949222]},"n296":{"id":"n296","loc":[-85.635672,41.941337]},"n2960":{"id":"n2960","loc":[-85.625146,41.955238]},"n2961":{"id":"n2961","loc":[-85.626745,41.948296]},"n2962":{"id":"n2962","loc":[-85.625721,41.95524]},"n2963":{"id":"n2963","loc":[-85.624706,41.952317]},"n2964":{"id":"n2964","loc":[-85.62609,41.956147]},"n2965":{"id":"n2965","loc":[-85.624401,41.954928]},"n2966":{"id":"n2966","loc":[-85.626558,41.955367]},"n2967":{"id":"n2967","loc":[-85.62468,41.955096]},"n2968":{"id":"n2968","loc":[-85.624159,41.953929]},"n2969":{"id":"n2969","loc":[-85.62506,41.951113]},"n297":{"id":"n297","loc":[-85.635658,41.941284]},"n2970":{"id":"n2970","loc":[-85.624942,41.951591]},"n2971":{"id":"n2971","loc":[-85.627399,41.947546]},"n2972":{"id":"n2972","loc":[-85.627695,41.947404]},"n2973":{"id":"n2973","loc":[-85.625925,41.94896]},"n2974":{"id":"n2974","loc":[-85.625725,41.950211]},"n2975":{"id":"n2975","loc":[-85.627008,41.947963]},"n2976":{"id":"n2976","loc":[-85.624373,41.953458]},"n2977":{"id":"n2977","loc":[-85.624137,41.954392]},"n2978":{"id":"n2978","loc":[-85.628257,41.947307]},"n2979":{"id":"n2979","loc":[-85.625281,41.95066]},"n298":{"id":"n298","loc":[-85.635602,41.941166]},"n2980":{"id":"n2980","loc":[-85.625865,41.949804]},"n2981":{"id":"n2981","loc":[-85.626508,41.955932]},"n2982":{"id":"n2982","loc":[-85.626333,41.955216]},"n2983":{"id":"n2983","loc":[-85.626637,41.955676]},"n2984":{"id":"n2984","loc":[-85.624223,41.954599]},"n2985":{"id":"n2985","loc":[-85.626219,41.948671]},"n2986":{"id":"n2986","loc":[-85.624556,41.953043]},"n2987":{"id":"n2987","loc":[-85.625598,41.956302]},"n2988":{"id":"n2988","loc":[-85.624571,41.952971]},"n2989":{"id":"n2989","loc":[-85.627141,41.940727]},"n299":{"id":"n299","loc":[-85.635598,41.941138]},"n2990":{"id":"n2990","loc":[-85.627102,41.939144]},"n2991":{"id":"n2991","loc":[-85.627127,41.940086]},"n2992":{"id":"n2992","loc":[-85.627116,41.940843]},"n2993":{"id":"n2993","loc":[-85.627132,41.9402]},"n2994":{"id":"n2994","loc":[-85.629734,41.940078]},"n2995":{"id":"n2995","loc":[-85.6276,41.937412]},"n2996":{"id":"n2996","loc":[-85.627451,41.937549]},"n2997":{"id":"n2997","loc":[-85.627375,41.937618]},"n2998":{"id":"n2998","loc":[-85.627278,41.937728]},"n2999":{"id":"n2999","loc":[-85.627199,41.937842]},"n3":{"id":"n3","loc":[-85.627345,41.953983]},"n30":{"id":"n30","loc":[-85.637882,41.944205]},"n300":{"id":"n300","loc":[-85.635614,41.941076]},"n3000":{"id":"n3000","loc":[-85.627141,41.937981]},"n3001":{"id":"n3001","loc":[-85.627109,41.938153]},"n3002":{"id":"n3002","loc":[-85.627101,41.938699]},"n3003":{"id":"n3003","loc":[-85.628311,41.942261]},"n3004":{"id":"n3004","loc":[-85.628439,41.940082]},"n3005":{"id":"n3005","loc":[-85.619538,41.942622],"tags":{"leisure":"slipway"}},"n3006":{"id":"n3006","loc":[-85.619872,41.942618]},"n3007":{"id":"n3007","loc":[-85.619755,41.942612]},"n3008":{"id":"n3008","loc":[-85.619647,41.942628]},"n3009":{"id":"n3009","loc":[-85.619415,41.942626]},"n301":{"id":"n301","loc":[-85.635659,41.940956]},"n3010":{"id":"n3010","loc":[-85.619212,41.942623]},"n3011":{"id":"n3011","loc":[-85.631485,41.942472]},"n3012":{"id":"n3012","loc":[-85.630986,41.941786]},"n3013":{"id":"n3013","loc":[-85.631797,41.942006]},"n3014":{"id":"n3014","loc":[-85.630972,41.941162]},"n3015":{"id":"n3015","loc":[-85.631396,41.941611],"tags":{"railway":"level_crossing"}},"n3016":{"id":"n3016","loc":[-85.631878,41.941545]},"n3017":{"id":"n3017","loc":[-85.630461,41.94055]},"n3018":{"id":"n3018","loc":[-85.629751,41.939539],"tags":{"railway":"level_crossing"}},"n3019":{"id":"n3019","loc":[-85.631663,41.941513]},"n302":{"id":"n302","loc":[-85.635666,41.940922]},"n3020":{"id":"n3020","loc":[-85.631328,41.941375]},"n3021":{"id":"n3021","loc":[-85.632554,41.941779]},"n3022":{"id":"n3022","loc":[-85.63245,41.941769]},"n3023":{"id":"n3023","loc":[-85.632475,41.941644]},"n3024":{"id":"n3024","loc":[-85.632581,41.941654]},"n3025":{"id":"n3025","loc":[-85.631957,41.941352]},"n3026":{"id":"n3026","loc":[-85.632293,41.941139]},"n3027":{"id":"n3027","loc":[-85.632315,41.941153]},"n3028":{"id":"n3028","loc":[-85.632302,41.941262]},"n3029":{"id":"n3029","loc":[-85.63237,41.941267]},"n303":{"id":"n303","loc":[-85.635667,41.940877]},"n3030":{"id":"n3030","loc":[-85.632356,41.941538]},"n3031":{"id":"n3031","loc":[-85.632134,41.941678]},"n3032":{"id":"n3032","loc":[-85.631942,41.941687]},"n3033":{"id":"n3033","loc":[-85.63203,41.941694]},"n3034":{"id":"n3034","loc":[-85.632166,41.941555]},"n3035":{"id":"n3035","loc":[-85.632412,41.941416]},"n3036":{"id":"n3036","loc":[-85.63248,41.941342]},"n3037":{"id":"n3037","loc":[-85.632502,41.941259]},"n3038":{"id":"n3038","loc":[-85.632453,41.941161]},"n3039":{"id":"n3039","loc":[-85.63235,41.941103]},"n304":{"id":"n304","loc":[-85.635668,41.940655]},"n3040":{"id":"n3040","loc":[-85.632236,41.941118]},"n3041":{"id":"n3041","loc":[-85.631894,41.941355]},"n3042":{"id":"n3042","loc":[-85.631859,41.941411]},"n3043":{"id":"n3043","loc":[-85.632011,41.941587]},"n3044":{"id":"n3044","loc":[-85.632446,41.941379]},"n3045":{"id":"n3045","loc":[-85.632511,41.941416]},"n3046":{"id":"n3046","loc":[-85.632545,41.941634]},"n3047":{"id":"n3047","loc":[-85.632612,41.94164]},"n3048":{"id":"n3048","loc":[-85.632595,41.942197]},"n3049":{"id":"n3049","loc":[-85.632565,41.942241]},"n305":{"id":"n305","loc":[-85.635628,41.940617]},"n3050":{"id":"n3050","loc":[-85.632515,41.942256]},"n3051":{"id":"n3051","loc":[-85.63245,41.94223]},"n3052":{"id":"n3052","loc":[-85.632401,41.942174]},"n3053":{"id":"n3053","loc":[-85.632391,41.942115]},"n3054":{"id":"n3054","loc":[-85.632029,41.941859]},"n3055":{"id":"n3055","loc":[-85.631828,41.941639]},"n3056":{"id":"n3056","loc":[-85.631829,41.941508]},"n3057":{"id":"n3057","loc":[-85.631281,41.94312]},"n3058":{"id":"n3058","loc":[-85.631421,41.943065]},"n3059":{"id":"n3059","loc":[-85.631339,41.942949]},"n306":{"id":"n306","loc":[-85.635623,41.940272]},"n3060":{"id":"n3060","loc":[-85.631199,41.943004]},"n3061":{"id":"n3061","loc":[-85.631102,41.942931]},"n3062":{"id":"n3062","loc":[-85.631009,41.942809]},"n3063":{"id":"n3063","loc":[-85.631383,41.94265]},"n3064":{"id":"n3064","loc":[-85.631477,41.942773]},"n3065":{"id":"n3065","loc":[-85.630638,41.942809]},"n3066":{"id":"n3066","loc":[-85.630738,41.942943]},"n3067":{"id":"n3067","loc":[-85.630841,41.9429]},"n3068":{"id":"n3068","loc":[-85.630741,41.942766]},"n3069":{"id":"n3069","loc":[-85.63054,41.942603]},"n307":{"id":"n307","loc":[-85.635651,41.940183]},"n3070":{"id":"n3070","loc":[-85.630498,41.942619]},"n3071":{"id":"n3071","loc":[-85.630567,41.942718]},"n3072":{"id":"n3072","loc":[-85.630616,41.942698]},"n3073":{"id":"n3073","loc":[-85.630642,41.94273]},"n3074":{"id":"n3074","loc":[-85.630686,41.942714]},"n3075":{"id":"n3075","loc":[-85.630715,41.942754]},"n3076":{"id":"n3076","loc":[-85.6309,41.942681]},"n3077":{"id":"n3077","loc":[-85.630843,41.942605]},"n3078":{"id":"n3078","loc":[-85.6309,41.942581]},"n3079":{"id":"n3079","loc":[-85.630832,41.942487]},"n308":{"id":"n308","loc":[-85.63577,41.940183],"tags":{"crossing":"zebra","highway":"crossing"}},"n3080":{"id":"n3080","loc":[-85.630773,41.942509]},"n3081":{"id":"n3081","loc":[-85.630718,41.942436]},"n3082":{"id":"n3082","loc":[-85.630485,41.942524]},"n3083":{"id":"n3083","loc":[-85.631468,41.941233]},"n3084":{"id":"n3084","loc":[-85.631334,41.94114]},"n3085":{"id":"n3085","loc":[-85.632052,41.940568]},"n3086":{"id":"n3086","loc":[-85.63219,41.940663]},"n3087":{"id":"n3087","loc":[-85.631323,41.940834]},"n3088":{"id":"n3088","loc":[-85.631122,41.941002]},"n3089":{"id":"n3089","loc":[-85.631321,41.941133]},"n309":{"id":"n309","loc":[-85.636939,41.942544]},"n3090":{"id":"n3090","loc":[-85.631521,41.940966]},"n3091":{"id":"n3091","loc":[-85.631103,41.940253]},"n3092":{"id":"n3092","loc":[-85.631226,41.940211]},"n3093":{"id":"n3093","loc":[-85.631597,41.940805]},"n3094":{"id":"n3094","loc":[-85.631474,41.940847]},"n3095":{"id":"n3095","loc":[-85.631811,41.940534]},"n3096":{"id":"n3096","loc":[-85.631588,41.94061]},"n3097":{"id":"n3097","loc":[-85.631438,41.940366]},"n3098":{"id":"n3098","loc":[-85.631661,41.94029]},"n3099":{"id":"n3099","loc":[-85.630621,41.940041]},"n31":{"id":"n31","loc":[-85.63827,41.944203]},"n310":{"id":"n310","loc":[-85.636323,41.942552]},"n3100":{"id":"n3100","loc":[-85.630436,41.939773]},"n3101":{"id":"n3101","loc":[-85.63059,41.939714]},"n3102":{"id":"n3102","loc":[-85.630775,41.939983]},"n3103":{"id":"n3103","loc":[-85.63047,41.940167]},"n3104":{"id":"n3104","loc":[-85.63013,41.939686]},"n3105":{"id":"n3105","loc":[-85.630302,41.939618]},"n3106":{"id":"n3106","loc":[-85.630641,41.9401]},"n3107":{"id":"n3107","loc":[-85.630966,41.940619]},"n3108":{"id":"n3108","loc":[-85.630874,41.940493]},"n3109":{"id":"n3109","loc":[-85.630933,41.940469]},"n311":{"id":"n311","loc":[-85.636257,41.942555]},"n3110":{"id":"n3110","loc":[-85.630763,41.940236]},"n3111":{"id":"n3111","loc":[-85.63088,41.940189]},"n3112":{"id":"n3112","loc":[-85.631142,41.940548]},"n3113":{"id":"n3113","loc":[-85.630958,41.940871]},"n3114":{"id":"n3114","loc":[-85.630874,41.940778]},"n3115":{"id":"n3115","loc":[-85.631062,41.940684]},"n3116":{"id":"n3116","loc":[-85.631146,41.940777]},"n3117":{"id":"n3117","loc":[-85.632031,41.940575]},"n3118":{"id":"n3118","loc":[-85.631777,41.940186]},"n3119":{"id":"n3119","loc":[-85.631346,41.940179]},"n312":{"id":"n312","loc":[-85.636208,41.942561]},"n3120":{"id":"n3120","loc":[-85.631342,41.94012]},"n3121":{"id":"n3121","loc":[-85.631831,41.940118]},"n3122":{"id":"n3122","loc":[-85.632115,41.940543]},"n3123":{"id":"n3123","loc":[-85.631031,41.941683]},"n3124":{"id":"n3124","loc":[-85.630981,41.941608]},"n3125":{"id":"n3125","loc":[-85.631209,41.941516]},"n3126":{"id":"n3126","loc":[-85.631264,41.941586]},"n3127":{"id":"n3127","loc":[-85.630938,41.94155]},"n3128":{"id":"n3128","loc":[-85.631156,41.941462]},"n3129":{"id":"n3129","loc":[-85.631197,41.94152]},"n313":{"id":"n313","loc":[-85.636159,41.942573]},"n3130":{"id":"n3130","loc":[-85.630895,41.941485]},"n3131":{"id":"n3131","loc":[-85.630824,41.941389]},"n3132":{"id":"n3132","loc":[-85.630986,41.941323]},"n3133":{"id":"n3133","loc":[-85.631057,41.941419]},"n3134":{"id":"n3134","loc":[-85.630777,41.941328]},"n3135":{"id":"n3135","loc":[-85.630907,41.941274]},"n3136":{"id":"n3136","loc":[-85.630953,41.941335]},"n3137":{"id":"n3137","loc":[-85.630797,41.941247]},"n3138":{"id":"n3138","loc":[-85.630701,41.94117]},"n3139":{"id":"n3139","loc":[-85.630829,41.941113]},"n314":{"id":"n314","loc":[-85.635743,41.942881]},"n3140":{"id":"n3140","loc":[-85.6309,41.941201]},"n3141":{"id":"n3141","loc":[-85.630765,41.941206]},"n3142":{"id":"n3142","loc":[-85.630739,41.941218]},"n3143":{"id":"n3143","loc":[-85.630582,41.941039]},"n3144":{"id":"n3144","loc":[-85.630412,41.940818]},"n3145":{"id":"n3145","loc":[-85.630509,41.940777]},"n3146":{"id":"n3146","loc":[-85.630678,41.941004]},"n3147":{"id":"n3147","loc":[-85.630773,41.942166]},"n3148":{"id":"n3148","loc":[-85.630708,41.942074]},"n3149":{"id":"n3149","loc":[-85.630863,41.942013]},"n315":{"id":"n315","loc":[-85.635452,41.942966]},"n3150":{"id":"n3150","loc":[-85.630928,41.942105]},"n3151":{"id":"n3151","loc":[-85.630701,41.942026]},"n3152":{"id":"n3152","loc":[-85.630665,41.941971]},"n3153":{"id":"n3153","loc":[-85.630793,41.941918]},"n3154":{"id":"n3154","loc":[-85.630837,41.94197]},"n3155":{"id":"n3155","loc":[-85.630757,41.941871]},"n3156":{"id":"n3156","loc":[-85.630629,41.941923]},"n3157":{"id":"n3157","loc":[-85.630694,41.941783]},"n3158":{"id":"n3158","loc":[-85.630534,41.941847]},"n3159":{"id":"n3159","loc":[-85.630598,41.941935]},"n316":{"id":"n316","loc":[-85.634911,41.943118]},"n3160":{"id":"n3160","loc":[-85.631548,41.93938]},"n3161":{"id":"n3161","loc":[-85.631525,41.939919]},"n3162":{"id":"n3162","loc":[-85.631648,41.940043]},"n3163":{"id":"n3163","loc":[-85.624586,41.951121]},"n3164":{"id":"n3164","loc":[-85.622139,41.952064]},"n3165":{"id":"n3165","loc":[-85.622141,41.952144]},"n3166":{"id":"n3166","loc":[-85.621977,41.952146]},"n3167":{"id":"n3167","loc":[-85.621978,41.952211]},"n3168":{"id":"n3168","loc":[-85.62191,41.952212]},"n3169":{"id":"n3169","loc":[-85.633628,41.935437]},"n317":{"id":"n317","loc":[-85.634743,41.943167]},"n3170":{"id":"n3170","loc":[-85.632849,41.935518]},"n3171":{"id":"n3171","loc":[-85.632376,41.93574]},"n3172":{"id":"n3172","loc":[-85.631517,41.935897]},"n3173":{"id":"n3173","loc":[-85.630433,41.936124]},"n3174":{"id":"n3174","loc":[-85.630207,41.936427]},"n3175":{"id":"n3175","loc":[-85.630346,41.936795]},"n3176":{"id":"n3176","loc":[-85.62996,41.936974]},"n3177":{"id":"n3177","loc":[-85.629916,41.937488]},"n3178":{"id":"n3178","loc":[-85.629946,41.937802]},"n3179":{"id":"n3179","loc":[-85.629977,41.937905]},"n318":{"id":"n318","loc":[-85.634401,41.94328]},"n3180":{"id":"n3180","loc":[-85.63016,41.937909]},"n3181":{"id":"n3181","loc":[-85.630804,41.937791]},"n3182":{"id":"n3182","loc":[-85.631688,41.937808]},"n3183":{"id":"n3183","loc":[-85.631685,41.938008]},"n3184":{"id":"n3184","loc":[-85.631845,41.938116]},"n3185":{"id":"n3185","loc":[-85.63207,41.938181]},"n3186":{"id":"n3186","loc":[-85.632143,41.938371]},"n3187":{"id":"n3187","loc":[-85.632056,41.938435]},"n3188":{"id":"n3188","loc":[-85.631787,41.938457]},"n3189":{"id":"n3189","loc":[-85.631657,41.938728]},"n319":{"id":"n319","loc":[-85.634345,41.943299]},"n3190":{"id":"n3190","loc":[-85.631595,41.93775]},"n3191":{"id":"n3191","loc":[-85.630264,41.937839]},"n3192":{"id":"n3192","loc":[-85.628591,41.948536]},"n3193":{"id":"n3193","loc":[-85.63205,41.951181]},"n3194":{"id":"n3194","loc":[-85.632034,41.949909]},"n3195":{"id":"n3195","loc":[-85.630841,41.951191]},"n3196":{"id":"n3196","loc":[-85.632083,41.9537]},"n3197":{"id":"n3197","loc":[-85.630929,41.959037]},"n3198":{"id":"n3198","loc":[-85.632151,41.959028]},"n3199":{"id":"n3199","loc":[-85.630911,41.957428]},"n32":{"id":"n32","loc":[-85.638273,41.944246]},"n320":{"id":"n320","loc":[-85.634287,41.943326]},"n3200":{"id":"n3200","loc":[-85.63213,41.957427]},"n3201":{"id":"n3201","loc":[-85.632072,41.952447]},"n3202":{"id":"n3202","loc":[-85.632095,41.954677]},"n3203":{"id":"n3203","loc":[-85.632111,41.955911]},"n3204":{"id":"n3204","loc":[-85.630855,41.952457]},"n3205":{"id":"n3205","loc":[-85.630869,41.953709]},"n3206":{"id":"n3206","loc":[-85.63088,41.954682]},"n3207":{"id":"n3207","loc":[-85.630894,41.955913]},"n3208":{"id":"n3208","loc":[-85.633214,41.948619]},"n3209":{"id":"n3209","loc":[-85.633253,41.951171]},"n321":{"id":"n321","loc":[-85.634233,41.943354]},"n3210":{"id":"n3210","loc":[-85.633234,41.949901]},"n3211":{"id":"n3211","loc":[-85.633922,41.948616]},"n3212":{"id":"n3212","loc":[-85.625188,41.947832]},"n3213":{"id":"n3213","loc":[-85.625208,41.947775]},"n3214":{"id":"n3214","loc":[-85.625229,41.94776]},"n3215":{"id":"n3215","loc":[-85.625201,41.947749]},"n3216":{"id":"n3216","loc":[-85.625168,41.947707]},"n3217":{"id":"n3217","loc":[-85.625171,41.947609]},"n3218":{"id":"n3218","loc":[-85.625213,41.947564]},"n3219":{"id":"n3219","loc":[-85.62529,41.94756]},"n322":{"id":"n322","loc":[-85.634099,41.943429]},"n3220":{"id":"n3220","loc":[-85.625303,41.947533]},"n3221":{"id":"n3221","loc":[-85.625344,41.947482]},"n3222":{"id":"n3222","loc":[-85.625442,41.947468]},"n3223":{"id":"n3223","loc":[-85.62565,41.947494]},"n3224":{"id":"n3224","loc":[-85.625726,41.947613]},"n3225":{"id":"n3225","loc":[-85.625703,41.947728]},"n3226":{"id":"n3226","loc":[-85.625534,41.94781]},"n3227":{"id":"n3227","loc":[-85.625391,41.947822]},"n3228":{"id":"n3228","loc":[-85.625304,41.947859]},"n3229":{"id":"n3229","loc":[-85.625203,41.947885]},"n323":{"id":"n323","loc":[-85.633958,41.943507],"tags":{"highway":"crossing"}},"n3230":{"id":"n3230","loc":[-85.624691,41.948659]},"n3231":{"id":"n3231","loc":[-85.624328,41.948661]},"n3232":{"id":"n3232","loc":[-85.624331,41.949046]},"n3233":{"id":"n3233","loc":[-85.624694,41.949045]},"n3234":{"id":"n3234","loc":[-85.623623,41.949606]},"n3235":{"id":"n3235","loc":[-85.623623,41.9497]},"n3236":{"id":"n3236","loc":[-85.623357,41.9497]},"n3237":{"id":"n3237","loc":[-85.623357,41.949614]},"n3238":{"id":"n3238","loc":[-85.623974,41.949429]},"n3239":{"id":"n3239","loc":[-85.623974,41.949605]},"n324":{"id":"n324","loc":[-85.633698,41.943651],"tags":{"railway":"crossing"}},"n3240":{"id":"n3240","loc":[-85.624501,41.951226]},"n3241":{"id":"n3241","loc":[-85.624501,41.951123]},"n3242":{"id":"n3242","loc":[-85.624319,41.951123]},"n3243":{"id":"n3243","loc":[-85.624319,41.951226]},"n3244":{"id":"n3244","loc":[-85.624121,41.950866]},"n3245":{"id":"n3245","loc":[-85.624115,41.950525]},"n3246":{"id":"n3246","loc":[-85.624315,41.950523]},"n3247":{"id":"n3247","loc":[-85.62432,41.950865]},"n3248":{"id":"n3248","loc":[-85.624393,41.950867]},"n3249":{"id":"n3249","loc":[-85.62439,41.950596]},"n325":{"id":"n325","loc":[-85.633508,41.943757]},"n3250":{"id":"n3250","loc":[-85.624673,41.950594]},"n3251":{"id":"n3251","loc":[-85.624675,41.95082]},"n3252":{"id":"n3252","loc":[-85.62451,41.950821]},"n3253":{"id":"n3253","loc":[-85.62451,41.950866]},"n3254":{"id":"n3254","loc":[-85.624101,41.949346]},"n3255":{"id":"n3255","loc":[-85.624244,41.949346]},"n3256":{"id":"n3256","loc":[-85.624244,41.949368]},"n3257":{"id":"n3257","loc":[-85.62434,41.949368]},"n3258":{"id":"n3258","loc":[-85.624342,41.949351]},"n3259":{"id":"n3259","loc":[-85.624725,41.949348]},"n326":{"id":"n326","loc":[-85.634839,41.942974]},"n3260":{"id":"n3260","loc":[-85.624755,41.950495]},"n3261":{"id":"n3261","loc":[-85.624121,41.950502]},"n3262":{"id":"n3262","loc":[-85.625453,41.950163]},"n3263":{"id":"n3263","loc":[-85.625454,41.949976]},"n3264":{"id":"n3264","loc":[-85.625549,41.949977]},"n3265":{"id":"n3265","loc":[-85.62555,41.949833]},"n3266":{"id":"n3266","loc":[-85.625577,41.949833]},"n3267":{"id":"n3267","loc":[-85.625578,41.949656]},"n3268":{"id":"n3268","loc":[-85.625195,41.949655]},"n3269":{"id":"n3269","loc":[-85.625192,41.950162]},"n327":{"id":"n327","loc":[-85.634657,41.943028]},"n3270":{"id":"n3270","loc":[-85.622992,41.949614]},"n3271":{"id":"n3271","loc":[-85.622991,41.949431]},"n3272":{"id":"n3272","loc":[-85.620103,41.951]},"n3273":{"id":"n3273","loc":[-85.605644,41.947468]},"n3274":{"id":"n3274","loc":[-85.617421,41.947457]},"n3275":{"id":"n3275","loc":[-85.620078,41.947444]},"n3276":{"id":"n3276","loc":[-85.620087,41.94924]},"n3277":{"id":"n3277","loc":[-85.62156,41.948333]},"n3278":{"id":"n3278","loc":[-85.620106,41.950132]},"n3279":{"id":"n3279","loc":[-85.637412,41.951136]},"n328":{"id":"n328","loc":[-85.634222,41.943152]},"n3280":{"id":"n3280","loc":[-85.635429,41.948608]},"n3281":{"id":"n3281","loc":[-85.635047,41.947788]},"n3282":{"id":"n3282","loc":[-85.635048,41.947796]},"n3283":{"id":"n3283","loc":[-85.635002,41.947797]},"n3284":{"id":"n3284","loc":[-85.635002,41.947788]},"n3285":{"id":"n3285","loc":[-85.634914,41.94779]},"n3286":{"id":"n3286","loc":[-85.634913,41.947753]},"n3287":{"id":"n3287","loc":[-85.63494,41.947753]},"n3288":{"id":"n3288","loc":[-85.634938,41.947708]},"n3289":{"id":"n3289","loc":[-85.635124,41.947705]},"n329":{"id":"n329","loc":[-85.634099,41.943202]},"n3290":{"id":"n3290","loc":[-85.635126,41.947787]},"n3291":{"id":"n3291","loc":[-85.634972,41.947599]},"n3292":{"id":"n3292","loc":[-85.634921,41.9476]},"n3293":{"id":"n3293","loc":[-85.63485,41.947546]},"n3294":{"id":"n3294","loc":[-85.63485,41.947508]},"n3295":{"id":"n3295","loc":[-85.634924,41.947457]},"n3296":{"id":"n3296","loc":[-85.634967,41.947456]},"n3297":{"id":"n3297","loc":[-85.635041,41.947512]},"n3298":{"id":"n3298","loc":[-85.635041,41.947542]},"n3299":{"id":"n3299","loc":[-85.634244,41.947839]},"n33":{"id":"n33","loc":[-85.638257,41.944188]},"n330":{"id":"n330","loc":[-85.634093,41.943138]},"n3300":{"id":"n3300","loc":[-85.634243,41.947793]},"n3301":{"id":"n3301","loc":[-85.634244,41.947686]},"n3302":{"id":"n3302","loc":[-85.634243,41.947657]},"n3303":{"id":"n3303","loc":[-85.634462,41.947653]},"n3304":{"id":"n3304","loc":[-85.634468,41.947835]},"n3305":{"id":"n3305","loc":[-85.634416,41.948006]},"n3306":{"id":"n3306","loc":[-85.634415,41.947898]},"n3307":{"id":"n3307","loc":[-85.634275,41.947899]},"n3308":{"id":"n3308","loc":[-85.634275,41.947927]},"n3309":{"id":"n3309","loc":[-85.63425,41.947927]},"n331":{"id":"n331","loc":[-85.633938,41.943291]},"n3310":{"id":"n3310","loc":[-85.63425,41.947976]},"n3311":{"id":"n3311","loc":[-85.634274,41.947976]},"n3312":{"id":"n3312","loc":[-85.634275,41.948007]},"n3313":{"id":"n3313","loc":[-85.634342,41.947635]},"n3314":{"id":"n3314","loc":[-85.634339,41.947497]},"n3315":{"id":"n3315","loc":[-85.634313,41.94748]},"n3316":{"id":"n3316","loc":[-85.634287,41.947474]},"n3317":{"id":"n3317","loc":[-85.63498,41.94815]},"n3318":{"id":"n3318","loc":[-85.634891,41.94815]},"n3319":{"id":"n3319","loc":[-85.634892,41.948169]},"n332":{"id":"n332","loc":[-85.633535,41.943511],"tags":{"railway":"crossing"}},"n3320":{"id":"n3320","loc":[-85.634852,41.948169]},"n3321":{"id":"n3321","loc":[-85.634853,41.948268]},"n3322":{"id":"n3322","loc":[-85.634832,41.948268]},"n3323":{"id":"n3323","loc":[-85.634832,41.948296]},"n3324":{"id":"n3324","loc":[-85.634965,41.948295]},"n3325":{"id":"n3325","loc":[-85.634966,41.948321]},"n3326":{"id":"n3326","loc":[-85.634999,41.948321]},"n3327":{"id":"n3327","loc":[-85.634999,41.948295]},"n3328":{"id":"n3328","loc":[-85.635175,41.948293]},"n3329":{"id":"n3329","loc":[-85.635175,41.948262]},"n333":{"id":"n333","loc":[-85.63339,41.943596]},"n3330":{"id":"n3330","loc":[-85.635159,41.948262]},"n3331":{"id":"n3331","loc":[-85.635158,41.948152]},"n3332":{"id":"n3332","loc":[-85.635067,41.948152]},"n3333":{"id":"n3333","loc":[-85.635065,41.947966]},"n3334":{"id":"n3334","loc":[-85.634979,41.947966]},"n3335":{"id":"n3335","loc":[-85.634307,41.948326]},"n3336":{"id":"n3336","loc":[-85.634305,41.948298]},"n3337":{"id":"n3337","loc":[-85.634331,41.948055]},"n3338":{"id":"n3338","loc":[-85.634331,41.948046]},"n3339":{"id":"n3339","loc":[-85.634435,41.948047]},"n334":{"id":"n334","loc":[-85.632842,41.943895]},"n3340":{"id":"n3340","loc":[-85.634434,41.948375]},"n3341":{"id":"n3341","loc":[-85.634463,41.948373]},"n3342":{"id":"n3342","loc":[-85.634464,41.948456]},"n3343":{"id":"n3343","loc":[-85.63443,41.948457]},"n3344":{"id":"n3344","loc":[-85.634432,41.948505]},"n3345":{"id":"n3345","loc":[-85.637386,41.94906]},"n3346":{"id":"n3346","loc":[-85.637113,41.9486]},"n3347":{"id":"n3347","loc":[-85.635448,41.949424]},"n335":{"id":"n335","loc":[-85.633856,41.943315]},"n3352":{"id":"n3352","loc":[-85.635457,41.949787]},"n3353":{"id":"n3353","loc":[-85.635459,41.949886]},"n336":{"id":"n336","loc":[-85.633697,41.943405]},"n337":{"id":"n337","loc":[-85.63347,41.943181]},"n3372":{"id":"n3372","loc":[-85.634423,41.950964]},"n3373":{"id":"n3373","loc":[-85.634424,41.95074]},"n3374":{"id":"n3374","loc":[-85.634394,41.950284]},"n3375":{"id":"n3375","loc":[-85.634398,41.950626]},"n3376":{"id":"n3376","loc":[-85.63452,41.951063]},"n3377":{"id":"n3377","loc":[-85.634511,41.949977]},"n3378":{"id":"n3378","loc":[-85.637409,41.949873]},"n3379":{"id":"n3379","loc":[-85.634824,41.94996]},"n338":{"id":"n338","loc":[-85.633597,41.943109]},"n3380":{"id":"n3380","loc":[-85.635437,41.949954]},"n3381":{"id":"n3381","loc":[-85.634844,41.951064]},"n3382":{"id":"n3382","loc":[-85.635458,41.951058]},"n3383":{"id":"n3383","loc":[-85.633921,41.947333]},"n3384":{"id":"n3384","loc":[-85.634208,41.947793]},"n3385":{"id":"n3385","loc":[-85.634204,41.947687]},"n3386":{"id":"n3386","loc":[-85.63424,41.947475]},"n3387":{"id":"n3387","loc":[-85.63424,41.947635]},"n3388":{"id":"n3388","loc":[-85.634089,41.948328]},"n3389":{"id":"n3389","loc":[-85.63424,41.948299]},"n339":{"id":"n339","loc":[-85.633673,41.943184]},"n3390":{"id":"n3390","loc":[-85.634239,41.948212]},"n3391":{"id":"n3391","loc":[-85.634086,41.948214]},"n3392":{"id":"n3392","loc":[-85.63408,41.948056]},"n3393":{"id":"n3393","loc":[-85.634093,41.948506]},"n3394":{"id":"n3394","loc":[-85.64344,41.941866]},"n3395":{"id":"n3395","loc":[-85.63378,41.95099]},"n3396":{"id":"n3396","loc":[-85.633779,41.950967]},"n3397":{"id":"n3397","loc":[-85.63375,41.950746]},"n3398":{"id":"n3398","loc":[-85.63375,41.950697]},"n3399":{"id":"n3399","loc":[-85.633903,41.950696]},"n34":{"id":"n34","loc":[-85.638176,41.944312]},"n340":{"id":"n340","loc":[-85.633714,41.94316]},"n3400":{"id":"n3400","loc":[-85.633901,41.950436]},"n3401":{"id":"n3401","loc":[-85.633492,41.950438]},"n3402":{"id":"n3402","loc":[-85.633494,41.950756]},"n3403":{"id":"n3403","loc":[-85.633454,41.950756]},"n3404":{"id":"n3404","loc":[-85.633456,41.950992]},"n3405":{"id":"n3405","loc":[-85.633994,41.950284]},"n3406":{"id":"n3406","loc":[-85.633998,41.950628]},"n3407":{"id":"n3407","loc":[-85.633364,41.951068]},"n3408":{"id":"n3408","loc":[-85.633356,41.949982]},"n3409":{"id":"n3409","loc":[-85.643327,41.941903]},"n341":{"id":"n341","loc":[-85.633811,41.943256]},"n3410":{"id":"n3410","loc":[-85.633292,41.953691]},"n3411":{"id":"n3411","loc":[-85.637432,41.952399]},"n3412":{"id":"n3412","loc":[-85.633349,41.957422]},"n3413":{"id":"n3413","loc":[-85.633326,41.955909]},"n3414":{"id":"n3414","loc":[-85.633307,41.954673]},"n3415":{"id":"n3415","loc":[-85.633273,41.952436]},"n3416":{"id":"n3416","loc":[-85.633361,41.95823],"tags":{"highway":"turning_circle"}},"n3417":{"id":"n3417","loc":[-85.619899,41.945527]},"n3418":{"id":"n3418","loc":[-85.643422,41.941946]},"n3419":{"id":"n3419","loc":[-85.643505,41.942033]},"n342":{"id":"n342","loc":[-85.633801,41.943261]},"n3420":{"id":"n3420","loc":[-85.620088,41.945571]},"n3421":{"id":"n3421","loc":[-85.620051,41.945505]},"n3422":{"id":"n3422","loc":[-85.62001,41.94541]},"n3423":{"id":"n3423","loc":[-85.620982,41.944742]},"n3424":{"id":"n3424","loc":[-85.621305,41.944782]},"n3425":{"id":"n3425","loc":[-85.621174,41.944819]},"n3426":{"id":"n3426","loc":[-85.621029,41.944871]},"n3427":{"id":"n3427","loc":[-85.620741,41.945011]},"n3428":{"id":"n3428","loc":[-85.620616,41.945085]},"n3429":{"id":"n3429","loc":[-85.620506,41.945172]},"n343":{"id":"n343","loc":[-85.63374,41.943514]},"n3430":{"id":"n3430","loc":[-85.620394,41.945273]},"n3431":{"id":"n3431","loc":[-85.620316,41.94536]},"n3432":{"id":"n3432","loc":[-85.620257,41.945452]},"n3433":{"id":"n3433","loc":[-85.620212,41.945535]},"n3434":{"id":"n3434","loc":[-85.620101,41.945811]},"n3435":{"id":"n3435","loc":[-85.620081,41.945937]},"n3436":{"id":"n3436","loc":[-85.619899,41.943718]},"n3437":{"id":"n3437","loc":[-85.619969,41.943211]},"n3438":{"id":"n3438","loc":[-85.619894,41.943292]},"n3439":{"id":"n3439","loc":[-85.620047,41.944738]},"n344":{"id":"n344","loc":[-85.633665,41.943441]},"n3440":{"id":"n3440","loc":[-85.620226,41.946088]},"n3441":{"id":"n3441","loc":[-85.620225,41.945864]},"n3442":{"id":"n3442","loc":[-85.620518,41.945863]},"n3443":{"id":"n3443","loc":[-85.620519,41.945944]},"n3444":{"id":"n3444","loc":[-85.620388,41.945944]},"n3445":{"id":"n3445","loc":[-85.620389,41.946088]},"n3446":{"id":"n3446","loc":[-85.618405,41.946566]},"n3447":{"id":"n3447","loc":[-85.619156,41.946562]},"n3448":{"id":"n3448","loc":[-85.619154,41.946319]},"n3449":{"id":"n3449","loc":[-85.618736,41.946322]},"n345":{"id":"n345","loc":[-85.633162,41.942947]},"n3450":{"id":"n3450","loc":[-85.618733,41.94612]},"n3451":{"id":"n3451","loc":[-85.619317,41.946116]},"n3452":{"id":"n3452","loc":[-85.619316,41.946023]},"n3453":{"id":"n3453","loc":[-85.619622,41.946021]},"n3454":{"id":"n3454","loc":[-85.619624,41.946171]},"n3455":{"id":"n3455","loc":[-85.61977,41.94617]},"n3456":{"id":"n3456","loc":[-85.619769,41.94602]},"n3457":{"id":"n3457","loc":[-85.619732,41.94602]},"n3458":{"id":"n3458","loc":[-85.619731,41.945856]},"n3459":{"id":"n3459","loc":[-85.619617,41.945857]},"n346":{"id":"n346","loc":[-85.633598,41.943083]},"n3460":{"id":"n3460","loc":[-85.619616,41.945776]},"n3461":{"id":"n3461","loc":[-85.619447,41.945777]},"n3462":{"id":"n3462","loc":[-85.619415,41.945778]},"n3463":{"id":"n3463","loc":[-85.618378,41.945788]},"n3464":{"id":"n3464","loc":[-85.618384,41.946132]},"n3465":{"id":"n3465","loc":[-85.618503,41.94613]},"n3466":{"id":"n3466","loc":[-85.618506,41.946319]},"n3467":{"id":"n3467","loc":[-85.6184,41.94632]},"n3468":{"id":"n3468","loc":[-85.618248,41.946416]},"n3469":{"id":"n3469","loc":[-85.618247,41.946319]},"n347":{"id":"n347","loc":[-85.63343,41.943179]},"n3470":{"id":"n3470","loc":[-85.618039,41.946321]},"n3471":{"id":"n3471","loc":[-85.61804,41.946418]},"n3472":{"id":"n3472","loc":[-85.620118,41.951895]},"n3473":{"id":"n3473","loc":[-85.617075,41.95469]},"n3474":{"id":"n3474","loc":[-85.620107,41.952113]},"n3475":{"id":"n3475","loc":[-85.620091,41.95232]},"n3476":{"id":"n3476","loc":[-85.620047,41.952505]},"n3477":{"id":"n3477","loc":[-85.61998,41.952715]},"n3478":{"id":"n3478","loc":[-85.619861,41.952986]},"n3479":{"id":"n3479","loc":[-85.619622,41.953365]},"n348":{"id":"n348","loc":[-85.633669,41.94341]},"n3480":{"id":"n3480","loc":[-85.619441,41.953567]},"n3481":{"id":"n3481","loc":[-85.619259,41.953741]},"n3482":{"id":"n3482","loc":[-85.618835,41.954056]},"n3483":{"id":"n3483","loc":[-85.618602,41.954194]},"n3484":{"id":"n3484","loc":[-85.618305,41.954347]},"n3485":{"id":"n3485","loc":[-85.618006,41.954466]},"n3486":{"id":"n3486","loc":[-85.617611,41.954587]},"n3487":{"id":"n3487","loc":[-85.615094,41.943412]},"n3488":{"id":"n3488","loc":[-85.619337,41.943025]},"n3489":{"id":"n3489","loc":[-85.610477,41.945527]},"n349":{"id":"n349","loc":[-85.633566,41.943466]},"n3490":{"id":"n3490","loc":[-85.610477,41.943718]},"n3491":{"id":"n3491","loc":[-85.619804,41.942976]},"n3492":{"id":"n3492","loc":[-85.61921,41.942672]},"n3493":{"id":"n3493","loc":[-85.619862,41.942836]},"n3494":{"id":"n3494","loc":[-85.616326,41.942769]},"n3495":{"id":"n3495","loc":[-85.617953,41.942917]},"n3496":{"id":"n3496","loc":[-85.61972,41.942728]},"n3497":{"id":"n3497","loc":[-85.61944,41.942784]},"n3498":{"id":"n3498","loc":[-85.615323,41.942841]},"n3499":{"id":"n3499","loc":[-85.612923,41.943718]},"n35":{"id":"n35","loc":[-85.637928,41.944249]},"n350":{"id":"n350","loc":[-85.633031,41.942986]},"n3500":{"id":"n3500","loc":[-85.61958,41.942756]},"n3501":{"id":"n3501","loc":[-85.619643,41.942647],"tags":{"leisure":"fishing"}},"n3502":{"id":"n3502","loc":[-85.619935,41.942962]},"n3503":{"id":"n3503","loc":[-85.629677,41.954687]},"n3504":{"id":"n3504","loc":[-85.629083,41.953722]},"n3505":{"id":"n3505","loc":[-85.621907,41.952067]},"n3506":{"id":"n3506","loc":[-85.621788,41.952058]},"n3507":{"id":"n3507","loc":[-85.629665,41.953718]},"n3508":{"id":"n3508","loc":[-85.624454,41.954707]},"n3509":{"id":"n3509","loc":[-85.634609,41.954585]},"n351":{"id":"n351","loc":[-85.633238,41.94283]},"n3510":{"id":"n3510","loc":[-85.634595,41.953772]},"n3511":{"id":"n3511","loc":[-85.633425,41.953783]},"n3512":{"id":"n3512","loc":[-85.633439,41.954596]},"n3517":{"id":"n3517","loc":[-85.621789,41.952179]},"n3518":{"id":"n3518","loc":[-85.624105,41.954704]},"n3519":{"id":"n3519","loc":[-85.623306,41.954542]},"n352":{"id":"n352","loc":[-85.633173,41.943556]},"n3520":{"id":"n3520","loc":[-85.623123,41.954502]},"n3521":{"id":"n3521","loc":[-85.622965,41.954473]},"n3522":{"id":"n3522","loc":[-85.622822,41.954455]},"n3523":{"id":"n3523","loc":[-85.62269,41.954448]},"n3524":{"id":"n3524","loc":[-85.622388,41.954467]},"n3525":{"id":"n3525","loc":[-85.62403,41.954895]},"n3526":{"id":"n3526","loc":[-85.623579,41.954855]},"n3527":{"id":"n3527","loc":[-85.623836,41.954951]},"n3528":{"id":"n3528","loc":[-85.622473,41.954592]},"n3529":{"id":"n3529","loc":[-85.622753,41.95458]},"n353":{"id":"n353","loc":[-85.633127,41.943552]},"n3530":{"id":"n3530","loc":[-85.62404,41.955078]},"n3531":{"id":"n3531","loc":[-85.624126,41.954999]},"n3532":{"id":"n3532","loc":[-85.623171,41.954687]},"n3533":{"id":"n3533","loc":[-85.624276,41.955206]},"n3534":{"id":"n3534","loc":[-85.62491,41.952801]},"n3535":{"id":"n3535","loc":[-85.625186,41.952756]},"n3536":{"id":"n3536","loc":[-85.625552,41.952792]},"n3537":{"id":"n3537","loc":[-85.626001,41.952948]},"n3538":{"id":"n3538","loc":[-85.626528,41.952984]},"n3539":{"id":"n3539","loc":[-85.626942,41.952886]},"n354":{"id":"n354","loc":[-85.632745,41.943222]},"n3540":{"id":"n3540","loc":[-85.627092,41.952685]},"n3541":{"id":"n3541","loc":[-85.627212,41.95244]},"n3542":{"id":"n3542","loc":[-85.627158,41.952226]},"n3543":{"id":"n3543","loc":[-85.627002,41.951972]},"n3544":{"id":"n3544","loc":[-85.626822,41.951838]},"n3545":{"id":"n3545","loc":[-85.626528,41.951807]},"n3546":{"id":"n3546","loc":[-85.625653,41.951852]},"n3547":{"id":"n3547","loc":[-85.625348,41.951834]},"n3548":{"id":"n3548","loc":[-85.625114,41.951767]},"n3549":{"id":"n3549","loc":[-85.620627,41.954682]},"n355":{"id":"n355","loc":[-85.632756,41.943199]},"n3550":{"id":"n3550","loc":[-85.622758,41.951884]},"n3551":{"id":"n3551","loc":[-85.618135,41.954734]},"n3552":{"id":"n3552","loc":[-85.620229,41.95472]},"n3553":{"id":"n3553","loc":[-85.624491,41.955573]},"n3554":{"id":"n3554","loc":[-85.621792,41.958314]},"n3555":{"id":"n3555","loc":[-85.623395,41.960001]},"n3556":{"id":"n3556","loc":[-85.620461,41.956212]},"n3557":{"id":"n3557","loc":[-85.62109,41.956766]},"n3558":{"id":"n3558","loc":[-85.620246,41.956224]},"n3559":{"id":"n3559","loc":[-85.625017,41.956068]},"n356":{"id":"n356","loc":[-85.632855,41.943147]},"n3560":{"id":"n3560","loc":[-85.622795,41.959702]},"n3561":{"id":"n3561","loc":[-85.621573,41.958457]},"n3562":{"id":"n3562","loc":[-85.619631,41.9573]},"n3563":{"id":"n3563","loc":[-85.62095,41.956311]},"n3564":{"id":"n3564","loc":[-85.619694,41.957408]},"n3565":{"id":"n3565","loc":[-85.621079,41.957751]},"n3566":{"id":"n3566","loc":[-85.622426,41.961142]},"n3567":{"id":"n3567","loc":[-85.623251,41.960484]},"n3568":{"id":"n3568","loc":[-85.619084,41.956291]},"n3569":{"id":"n3569","loc":[-85.622227,41.959303]},"n357":{"id":"n357","loc":[-85.632888,41.94315]},"n3570":{"id":"n3570","loc":[-85.620976,41.959104]},"n3571":{"id":"n3571","loc":[-85.621208,41.95653]},"n3572":{"id":"n3572","loc":[-85.623531,41.95951]},"n3573":{"id":"n3573","loc":[-85.623556,41.957935]},"n3574":{"id":"n3574","loc":[-85.623037,41.95746]},"n3575":{"id":"n3575","loc":[-85.621175,41.956427]},"n3576":{"id":"n3576","loc":[-85.622651,41.960109]},"n3577":{"id":"n3577","loc":[-85.621803,41.960747]},"n3578":{"id":"n3578","loc":[-85.620791,41.961874]},"n3579":{"id":"n3579","loc":[-85.625295,41.956786]},"n358":{"id":"n358","loc":[-85.633232,41.943547]},"n3580":{"id":"n3580","loc":[-85.619662,41.956894]},"n3581":{"id":"n3581","loc":[-85.622442,41.958708]},"n3582":{"id":"n3582","loc":[-85.621744,41.955864]},"n3583":{"id":"n3583","loc":[-85.621336,41.959212]},"n3584":{"id":"n3584","loc":[-85.622801,41.957304]},"n3585":{"id":"n3585","loc":[-85.619973,41.957433]},"n3586":{"id":"n3586","loc":[-85.619556,41.955717]},"n3587":{"id":"n3587","loc":[-85.622978,41.958601]},"n3588":{"id":"n3588","loc":[-85.625396,41.956264]},"n3589":{"id":"n3589","loc":[-85.623525,41.958034]},"n359":{"id":"n359","loc":[-85.633302,41.94351]},"n3590":{"id":"n3590","loc":[-85.623299,41.959631]},"n3591":{"id":"n3591","loc":[-85.622678,41.959873]},"n3592":{"id":"n3592","loc":[-85.625553,41.956179]},"n3593":{"id":"n3593","loc":[-85.623557,41.959231]},"n3594":{"id":"n3594","loc":[-85.622843,41.957373]},"n3595":{"id":"n3595","loc":[-85.619378,41.955677]},"n3596":{"id":"n3596","loc":[-85.620092,41.955425]},"n3597":{"id":"n3597","loc":[-85.622666,41.96044]},"n3598":{"id":"n3598","loc":[-85.621996,41.960256]},"n3599":{"id":"n3599","loc":[-85.623273,41.959997]},"n36":{"id":"n36","loc":[-85.637894,41.945551]},"n360":{"id":"n360","loc":[-85.633442,41.943794],"tags":{"highway":"crossing"}},"n3600":{"id":"n3600","loc":[-85.62477,41.95689]},"n3601":{"id":"n3601","loc":[-85.621641,41.955015]},"n3602":{"id":"n3602","loc":[-85.622495,41.960392]},"n3603":{"id":"n3603","loc":[-85.61918,41.955565]},"n3604":{"id":"n3604","loc":[-85.620017,41.955505]},"n3605":{"id":"n3605","loc":[-85.621739,41.956315]},"n3606":{"id":"n3606","loc":[-85.622957,41.959837]},"n3607":{"id":"n3607","loc":[-85.620912,41.960919]},"n3608":{"id":"n3608","loc":[-85.625231,41.956235]},"n3609":{"id":"n3609","loc":[-85.620976,41.961868]},"n361":{"id":"n361","loc":[-85.633381,41.94383]},"n3610":{"id":"n3610","loc":[-85.620956,41.958908]},"n3611":{"id":"n3611","loc":[-85.619035,41.956139]},"n3612":{"id":"n3612","loc":[-85.623643,41.958669]},"n3613":{"id":"n3613","loc":[-85.61949,41.956539]},"n3614":{"id":"n3614","loc":[-85.621927,41.958242]},"n3615":{"id":"n3615","loc":[-85.620826,41.955721]},"n3616":{"id":"n3616","loc":[-85.621202,41.961321]},"n3617":{"id":"n3617","loc":[-85.624877,41.95594]},"n3618":{"id":"n3618","loc":[-85.62065,41.958369]},"n3619":{"id":"n3619","loc":[-85.621524,41.956279]},"n362":{"id":"n362","loc":[-85.632977,41.944053]},"n3620":{"id":"n3620","loc":[-85.624662,41.955932]},"n3621":{"id":"n3621","loc":[-85.623048,41.958509]},"n3622":{"id":"n3622","loc":[-85.62111,41.95754]},"n3623":{"id":"n3623","loc":[-85.621508,41.954847]},"n3624":{"id":"n3624","loc":[-85.620655,41.958601]},"n3625":{"id":"n3625","loc":[-85.62154,41.954971]},"n3626":{"id":"n3626","loc":[-85.621691,41.955521]},"n3627":{"id":"n3627","loc":[-85.62154,41.954739]},"n3628":{"id":"n3628","loc":[-85.621996,41.959913]},"n3629":{"id":"n3629","loc":[-85.622286,41.960699]},"n363":{"id":"n363","loc":[-85.632915,41.943981],"tags":{"crossing":"zebra","highway":"crossing"}},"n3630":{"id":"n3630","loc":[-85.622844,41.9572]},"n3631":{"id":"n3631","loc":[-85.620252,41.955446]},"n3632":{"id":"n3632","loc":[-85.623434,41.957528]},"n3633":{"id":"n3633","loc":[-85.623429,41.956858]},"n3634":{"id":"n3634","loc":[-85.622957,41.957137]},"n3635":{"id":"n3635","loc":[-85.622554,41.959027]},"n3636":{"id":"n3636","loc":[-85.623289,41.958314]},"n3637":{"id":"n3637","loc":[-85.622977,41.960855]},"n3638":{"id":"n3638","loc":[-85.624008,41.956953]},"n3639":{"id":"n3639","loc":[-85.621278,41.960855]},"n364":{"id":"n364","loc":[-85.632724,41.943969],"tags":{"crossing":"zebra","highway":"crossing"}},"n3640":{"id":"n3640","loc":[-85.623128,41.956993]},"n3641":{"id":"n3641","loc":[-85.622452,41.959183]},"n3642":{"id":"n3642","loc":[-85.621095,41.961082]},"n3643":{"id":"n3643","loc":[-85.622011,41.960544]},"n3644":{"id":"n3644","loc":[-85.621637,41.955385]},"n3645":{"id":"n3645","loc":[-85.620999,41.959271]},"n3646":{"id":"n3646","loc":[-85.620044,41.956347]},"n3647":{"id":"n3647","loc":[-85.621936,41.959682]},"n3648":{"id":"n3648","loc":[-85.623761,41.95685]},"n3649":{"id":"n3649","loc":[-85.621239,41.959343]},"n365":{"id":"n365","loc":[-85.632621,41.944034]},"n3650":{"id":"n3650","loc":[-85.621073,41.956012]},"n3651":{"id":"n3651","loc":[-85.621271,41.956184]},"n3652":{"id":"n3652","loc":[-85.623444,41.95778]},"n3653":{"id":"n3653","loc":[-85.62125,41.96186]},"n3654":{"id":"n3654","loc":[-85.62169,41.961059]},"n3655":{"id":"n3655","loc":[-85.620012,41.955637]},"n3656":{"id":"n3656","loc":[-85.621058,41.9573]},"n3657":{"id":"n3657","loc":[-85.621138,41.957663]},"n3658":{"id":"n3658","loc":[-85.620773,41.957895]},"n3659":{"id":"n3659","loc":[-85.62007,41.957157]},"n366":{"id":"n366","loc":[-85.632684,41.944109],"tags":{"crossing":"zebra","highway":"crossing"}},"n3660":{"id":"n3660","loc":[-85.624534,41.955844]},"n3661":{"id":"n3661","loc":[-85.621932,41.960807]},"n3662":{"id":"n3662","loc":[-85.623358,41.958138]},"n3663":{"id":"n3663","loc":[-85.620456,41.955514]},"n3664":{"id":"n3664","loc":[-85.623504,41.957607]},"n3665":{"id":"n3665","loc":[-85.621444,41.960751]},"n3666":{"id":"n3666","loc":[-85.623492,41.960213]},"n3667":{"id":"n3667","loc":[-85.621669,41.954655]},"n3668":{"id":"n3668","loc":[-85.623106,41.958685]},"n3669":{"id":"n3669","loc":[-85.620922,41.957867]},"n367":{"id":"n367","loc":[-85.632738,41.944172]},"n3670":{"id":"n3670","loc":[-85.620092,41.957296]},"n3671":{"id":"n3671","loc":[-85.621669,41.955222]},"n3672":{"id":"n3672","loc":[-85.621614,41.960967]},"n3673":{"id":"n3673","loc":[-85.621691,41.955732]},"n3674":{"id":"n3674","loc":[-85.619207,41.956419]},"n3675":{"id":"n3675","loc":[-85.621116,41.956603]},"n3676":{"id":"n3676","loc":[-85.623311,41.956929]},"n3677":{"id":"n3677","loc":[-85.625671,41.956499]},"n3678":{"id":"n3678","loc":[-85.623525,41.956738]},"n3679":{"id":"n3679","loc":[-85.625381,41.956634]},"n368":{"id":"n368","loc":[-85.63287,41.944135],"tags":{"crossing":"zebra","highway":"crossing"}},"n3680":{"id":"n3680","loc":[-85.620096,41.95677]},"n3681":{"id":"n3681","loc":[-85.623803,41.958745]},"n3682":{"id":"n3682","loc":[-85.623498,41.958457]},"n3683":{"id":"n3683","loc":[-85.624223,41.957009]},"n3684":{"id":"n3684","loc":[-85.620026,41.956946]},"n3685":{"id":"n3685","loc":[-85.623005,41.960124]},"n3686":{"id":"n3686","loc":[-85.619073,41.955832]},"n3687":{"id":"n3687","loc":[-85.621744,41.95501]},"n3688":{"id":"n3688","loc":[-85.620804,41.958781]},"n3689":{"id":"n3689","loc":[-85.619844,41.957448]},"n369":{"id":"n369","loc":[-85.63298,41.944076]},"n3690":{"id":"n3690","loc":[-85.623713,41.958872]},"n3691":{"id":"n3691","loc":[-85.622329,41.960507]},"n3692":{"id":"n3692","loc":[-85.620804,41.956244]},"n3693":{"id":"n3693","loc":[-85.621818,41.955968]},"n3694":{"id":"n3694","loc":[-85.621405,41.958697]},"n3695":{"id":"n3695","loc":[-85.620998,41.960996]},"n3696":{"id":"n3696","loc":[-85.621621,41.960444]},"n3697":{"id":"n3697","loc":[-85.620941,41.961637]},"n3698":{"id":"n3698","loc":[-85.622195,41.958333]},"n3699":{"id":"n3699","loc":[-85.621668,41.961529]},"n37":{"id":"n37","loc":[-85.637611,41.945383]},"n370":{"id":"n370","loc":[-85.633191,41.944471]},"n3700":{"id":"n3700","loc":[-85.621015,41.957049]},"n3701":{"id":"n3701","loc":[-85.619368,41.955521]},"n3702":{"id":"n3702","loc":[-85.651578,41.942534]},"n3703":{"id":"n3703","loc":[-85.651541,41.943847]},"n3704":{"id":"n3704","loc":[-85.651365,41.944817]},"n3705":{"id":"n3705","loc":[-85.651076,41.945985]},"n3706":{"id":"n3706","loc":[-85.650626,41.947213]},"n3707":{"id":"n3707","loc":[-85.649669,41.949161]},"n3708":{"id":"n3708","loc":[-85.641802,41.961801]},"n3709":{"id":"n3709","loc":[-85.623333,41.961987]},"n371":{"id":"n371","loc":[-85.633132,41.94372]},"n3710":{"id":"n3710","loc":[-85.620621,41.965658]},"n3711":{"id":"n3711","loc":[-85.605673,41.965764]},"n3712":{"id":"n3712","loc":[-85.605664,41.962094]},"n3713":{"id":"n3713","loc":[-85.583774,41.962178]},"n3714":{"id":"n3714","loc":[-85.583774,41.961789]},"n3715":{"id":"n3715","loc":[-85.581303,41.961783]},"n3716":{"id":"n3716","loc":[-85.581245,41.958394]},"n3717":{"id":"n3717","loc":[-85.585299,41.955483]},"n3718":{"id":"n3718","loc":[-85.585588,41.955331]},"n3719":{"id":"n3719","loc":[-85.586053,41.955163]},"n372":{"id":"n372","loc":[-85.633011,41.943788]},"n3720":{"id":"n3720","loc":[-85.58632,41.955076]},"n3721":{"id":"n3721","loc":[-85.586478,41.955025]},"n3722":{"id":"n3722","loc":[-85.58692,41.954947]},"n3723":{"id":"n3723","loc":[-85.587345,41.954913]},"n3724":{"id":"n3724","loc":[-85.605592,41.954766]},"n3725":{"id":"n3725","loc":[-85.605303,41.936236]},"n3726":{"id":"n3726","loc":[-85.606941,41.936117]},"n3727":{"id":"n3727","loc":[-85.60876,41.935856]},"n3728":{"id":"n3728","loc":[-85.610092,41.935451]},"n3729":{"id":"n3729","loc":[-85.610681,41.935247]},"n373":{"id":"n373","loc":[-85.632854,41.943632]},"n3730":{"id":"n3730","loc":[-85.611446,41.934955]},"n3731":{"id":"n3731","loc":[-85.612057,41.934696]},"n3732":{"id":"n3732","loc":[-85.613256,41.934084]},"n3733":{"id":"n3733","loc":[-85.613948,41.933682]},"n3734":{"id":"n3734","loc":[-85.614638,41.933212]},"n3735":{"id":"n3735","loc":[-85.619801,41.929305]},"n3736":{"id":"n3736","loc":[-85.619768,41.925548]},"n3737":{"id":"n3737","loc":[-85.625761,41.925597]},"n3738":{"id":"n3738","loc":[-85.6263,41.927323]},"n3739":{"id":"n3739","loc":[-85.633708,41.927402]},"n374":{"id":"n374","loc":[-85.632974,41.943565]},"n3740":{"id":"n3740","loc":[-85.633927,41.929109]},"n3741":{"id":"n3741","loc":[-85.639213,41.929088]},"n3742":{"id":"n3742","loc":[-85.639204,41.925488]},"n3743":{"id":"n3743","loc":[-85.651425,41.925406]},"n3744":{"id":"n3744","loc":[-85.643386,41.941933]},"n3745":{"id":"n3745","loc":[-85.642776,41.941161]},"n3746":{"id":"n3746","loc":[-85.637277,41.948812]},"n3747":{"id":"n3747","loc":[-85.637366,41.94897]},"n3748":{"id":"n3748","loc":[-85.637329,41.94889]},"n3749":{"id":"n3749","loc":[-85.629649,41.952596]},"n375":{"id":"n375","loc":[-85.632741,41.943351]},"n3750":{"id":"n3750","loc":[-85.630291,41.954684]},"n3751":{"id":"n3751","loc":[-85.630284,41.953713]},"n3752":{"id":"n3752","loc":[-85.630269,41.952463]},"n3753":{"id":"n3753","loc":[-85.633933,41.949896]},"n3754":{"id":"n3754","loc":[-85.629339,41.941467]},"n3755":{"id":"n3755","loc":[-85.629857,41.94316]},"n3756":{"id":"n3756","loc":[-85.629987,41.944025]},"n3757":{"id":"n3757","loc":[-85.628538,41.948604]},"n3758":{"id":"n3758","loc":[-85.627415,41.957442]},"n3759":{"id":"n3759","loc":[-85.627019,41.957369]},"n376":{"id":"n376","loc":[-85.63251,41.943481]},"n3760":{"id":"n3760","loc":[-85.62167,41.952179]},"n3761":{"id":"n3761","loc":[-85.62167,41.952138]},"n3762":{"id":"n3762","loc":[-85.621562,41.952139]},"n3763":{"id":"n3763","loc":[-85.621562,41.952058]},"n3764":{"id":"n3764","loc":[-85.621476,41.952043]},"n3765":{"id":"n3765","loc":[-85.621477,41.952132]},"n3766":{"id":"n3766","loc":[-85.621386,41.952132]},"n3767":{"id":"n3767","loc":[-85.621387,41.95214]},"n3768":{"id":"n3768","loc":[-85.621262,41.95214]},"n3769":{"id":"n3769","loc":[-85.621261,41.952038]},"n377":{"id":"n377","loc":[-85.632706,41.943715]},"n3770":{"id":"n3770","loc":[-85.621389,41.952038]},"n3771":{"id":"n3771","loc":[-85.621389,41.952043]},"n3772":{"id":"n3772","loc":[-85.620898,41.952024]},"n3773":{"id":"n3773","loc":[-85.620898,41.952085]},"n3774":{"id":"n3774","loc":[-85.620774,41.952084]},"n3775":{"id":"n3775","loc":[-85.620774,41.952023]},"n3776":{"id":"n3776","loc":[-85.620749,41.952036]},"n3777":{"id":"n3777","loc":[-85.620723,41.952097]},"n3778":{"id":"n3778","loc":[-85.626158,41.958996]},"n3779":{"id":"n3779","loc":[-85.626319,41.958686]},"n378":{"id":"n378","loc":[-85.638683,41.943295]},"n3780":{"id":"n3780","loc":[-85.626119,41.958629]},"n3781":{"id":"n3781","loc":[-85.626064,41.958733]},"n3782":{"id":"n3782","loc":[-85.626155,41.958759]},"n3783":{"id":"n3783","loc":[-85.626048,41.958965]},"n3784":{"id":"n3784","loc":[-85.620648,41.952079]},"n3785":{"id":"n3785","loc":[-85.63826,41.961213]},"n3786":{"id":"n3786","loc":[-85.638003,41.961614]},"n3787":{"id":"n3787","loc":[-85.638817,41.961902]},"n3788":{"id":"n3788","loc":[-85.639073,41.961501]},"n3789":{"id":"n3789","loc":[-85.620674,41.952018]},"n379":{"id":"n379","loc":[-85.638684,41.94323]},"n3790":{"id":"n3790","loc":[-85.62082,41.952106]},"n3791":{"id":"n3791","loc":[-85.620819,41.952143]},"n3792":{"id":"n3792","loc":[-85.620778,41.952143]},"n3793":{"id":"n3793","loc":[-85.620778,41.952106]},"n3794":{"id":"n3794","loc":[-85.620563,41.952276]},"n3795":{"id":"n3795","loc":[-85.620543,41.95238]},"n3796":{"id":"n3796","loc":[-85.620422,41.952367]},"n3797":{"id":"n3797","loc":[-85.620441,41.952263]},"n3798":{"id":"n3798","loc":[-85.620561,41.952266]},"n3799":{"id":"n3799","loc":[-85.620444,41.952254]},"n38":{"id":"n38","loc":[-85.63879,41.943295]},"n380":{"id":"n380","loc":[-85.638627,41.94322]},"n3800":{"id":"n3800","loc":[-85.620773,41.955585]},"n3801":{"id":"n3801","loc":[-85.621265,41.955989]},"n3802":{"id":"n3802","loc":[-85.620692,41.954969]},"n3803":{"id":"n3803","loc":[-85.620691,41.955367]},"n3804":{"id":"n3804","loc":[-85.620458,41.952178]},"n3805":{"id":"n3805","loc":[-85.620575,41.95219]},"n3806":{"id":"n3806","loc":[-85.617609,41.952712]},"n3807":{"id":"n3807","loc":[-85.617533,41.952801],"tags":{"entrance":"yes"}},"n3808":{"id":"n3808","loc":[-85.616816,41.952911]},"n3809":{"id":"n3809","loc":[-85.616797,41.952901]},"n381":{"id":"n381","loc":[-85.638624,41.943294]},"n3810":{"id":"n3810","loc":[-85.616343,41.952694]},"n3811":{"id":"n3811","loc":[-85.616336,41.952729]},"n3812":{"id":"n3812","loc":[-85.616343,41.952772]},"n3813":{"id":"n3813","loc":[-85.628479,41.948649]},"n3814":{"id":"n3814","loc":[-85.628413,41.948679]},"n3815":{"id":"n3815","loc":[-85.628336,41.948694]},"n3816":{"id":"n3816","loc":[-85.62826,41.948694]},"n3817":{"id":"n3817","loc":[-85.628185,41.948679]},"n3818":{"id":"n3818","loc":[-85.628103,41.948649]},"n3819":{"id":"n3819","loc":[-85.627482,41.948395]},"n382":{"id":"n382","loc":[-85.638437,41.943291]},"n3820":{"id":"n3820","loc":[-85.619957,41.951168]},"n3821":{"id":"n3821","loc":[-85.619955,41.952077]},"n3822":{"id":"n3822","loc":[-85.619843,41.952666]},"n3823":{"id":"n3823","loc":[-85.619513,41.95324]},"n3824":{"id":"n3824","loc":[-85.619163,41.953668]},"n3825":{"id":"n3825","loc":[-85.618813,41.953947]},"n3826":{"id":"n3826","loc":[-85.618265,41.954252]},"n3827":{"id":"n3827","loc":[-85.617691,41.954458]},"n3828":{"id":"n3828","loc":[-85.616978,41.95459]},"n3829":{"id":"n3829","loc":[-85.615408,41.954628]},"n383":{"id":"n383","loc":[-85.63844,41.943209]},"n3830":{"id":"n3830","loc":[-85.615374,41.951076]},"n3831":{"id":"n3831","loc":[-85.61932,41.947564]},"n3832":{"id":"n3832","loc":[-85.610553,41.94755]},"n3833":{"id":"n3833","loc":[-85.610572,41.951065]},"n3834":{"id":"n3834","loc":[-85.617548,41.94757]},"n3835":{"id":"n3835","loc":[-85.619842,41.947939]},"n3836":{"id":"n3836","loc":[-85.619874,41.950905]},"n3837":{"id":"n3837","loc":[-85.619695,41.950911]},"n3838":{"id":"n3838","loc":[-85.617591,41.951078]},"n3839":{"id":"n3839","loc":[-85.619551,41.951065]},"n384":{"id":"n384","loc":[-85.632616,41.944021]},"n3840":{"id":"n3840","loc":[-85.626813,41.947337]},"n3841":{"id":"n3841","loc":[-85.616371,41.952814]},"n3842":{"id":"n3842","loc":[-85.617205,41.951308]},"n3843":{"id":"n3843","loc":[-85.616795,41.950953]},"n3844":{"id":"n3844","loc":[-85.617441,41.950889]},"n3845":{"id":"n3845","loc":[-85.619155,41.949377]},"n3846":{"id":"n3846","loc":[-85.618556,41.949377]},"n3847":{"id":"n3847","loc":[-85.618557,41.948372]},"n3848":{"id":"n3848","loc":[-85.619156,41.948372]},"n3849":{"id":"n3849","loc":[-85.61927,41.949796]},"n385":{"id":"n385","loc":[-85.632319,41.944172]},"n3850":{"id":"n3850","loc":[-85.61926,41.948344]},"n3851":{"id":"n3851","loc":[-85.619219,41.948264]},"n3852":{"id":"n3852","loc":[-85.619147,41.948196]},"n3853":{"id":"n3853","loc":[-85.619049,41.948144]},"n3854":{"id":"n3854","loc":[-85.618942,41.948116]},"n3855":{"id":"n3855","loc":[-85.618822,41.948109]},"n3856":{"id":"n3856","loc":[-85.618699,41.94813]},"n3857":{"id":"n3857","loc":[-85.618937,41.951943]},"n3858":{"id":"n3858","loc":[-85.616762,41.952222]},"n3859":{"id":"n3859","loc":[-85.616799,41.95472]},"n386":{"id":"n386","loc":[-85.63221,41.944066]},"n3860":{"id":"n3860","loc":[-85.616458,41.954735]},"n3861":{"id":"n3861","loc":[-85.61763,41.951515]},"n3862":{"id":"n3862","loc":[-85.617735,41.951572]},"n3863":{"id":"n3863","loc":[-85.61929,41.951573]},"n3864":{"id":"n3864","loc":[-85.617134,41.951348]},"n3865":{"id":"n3865","loc":[-85.616598,41.95192]},"n3866":{"id":"n3866","loc":[-85.616557,41.951997]},"n3867":{"id":"n3867","loc":[-85.61658,41.952093]},"n3868":{"id":"n3868","loc":[-85.616636,41.952145]},"n3869":{"id":"n3869","loc":[-85.616918,41.952276]},"n387":{"id":"n387","loc":[-85.632524,41.943912]},"n3870":{"id":"n3870","loc":[-85.617098,41.952235]},"n3871":{"id":"n3871","loc":[-85.61892,41.951467]},"n3872":{"id":"n3872","loc":[-85.618035,41.951473]},"n3873":{"id":"n3873","loc":[-85.618036,41.951572]},"n3874":{"id":"n3874","loc":[-85.61892,41.951573]},"n3875":{"id":"n3875","loc":[-85.618919,41.951957]},"n3876":{"id":"n3876","loc":[-85.619457,41.952237]},"n3877":{"id":"n3877","loc":[-85.618178,41.953618]},"n3878":{"id":"n3878","loc":[-85.617658,41.953366]},"n3879":{"id":"n3879","loc":[-85.617987,41.953024]},"n388":{"id":"n388","loc":[-85.632268,41.943621]},"n3880":{"id":"n3880","loc":[-85.618429,41.953248]},"n3881":{"id":"n3881","loc":[-85.618554,41.953119]},"n3882":{"id":"n3882","loc":[-85.618077,41.952868]},"n3883":{"id":"n3883","loc":[-85.618039,41.952886]},"n3884":{"id":"n3884","loc":[-85.619375,41.952169]},"n3885":{"id":"n3885","loc":[-85.618137,41.953538]},"n3886":{"id":"n3886","loc":[-85.61799,41.953555]},"n3887":{"id":"n3887","loc":[-85.617729,41.953423]},"n3888":{"id":"n3888","loc":[-85.618101,41.953029]},"n3889":{"id":"n3889","loc":[-85.618516,41.953119]},"n389":{"id":"n389","loc":[-85.631951,41.943773]},"n3890":{"id":"n3890","loc":[-85.619132,41.952042]},"n3891":{"id":"n3891","loc":[-85.618235,41.952981]},"n3892":{"id":"n3892","loc":[-85.618485,41.952425]},"n3893":{"id":"n3893","loc":[-85.618676,41.952519]},"n3894":{"id":"n3894","loc":[-85.618942,41.952648]},"n3895":{"id":"n3895","loc":[-85.618287,41.953122]},"n3896":{"id":"n3896","loc":[-85.617914,41.953516]},"n3897":{"id":"n3897","loc":[-85.617836,41.953573]},"n3898":{"id":"n3898","loc":[-85.616477,41.95289]},"n3899":{"id":"n3899","loc":[-85.618441,41.953201]},"n39":{"id":"n39","loc":[-85.619931,41.951013]},"n390":{"id":"n390","loc":[-85.631981,41.943654]},"n3900":{"id":"n3900","loc":[-85.617537,41.953335]},"n3901":{"id":"n3901","loc":[-85.617221,41.953166]},"n3902":{"id":"n3902","loc":[-85.617253,41.953135]},"n3903":{"id":"n3903","loc":[-85.617211,41.953114]},"n3904":{"id":"n3904","loc":[-85.617197,41.95313]},"n3905":{"id":"n3905","loc":[-85.616802,41.952925]},"n3906":{"id":"n3906","loc":[-85.616771,41.952928]},"n3907":{"id":"n3907","loc":[-85.616493,41.952785]},"n3908":{"id":"n3908","loc":[-85.616823,41.952426]},"n3909":{"id":"n3909","loc":[-85.617191,41.952616]},"n391":{"id":"n391","loc":[-85.631886,41.943699]},"n3910":{"id":"n3910","loc":[-85.61724,41.952559]},"n3911":{"id":"n3911","loc":[-85.61721,41.952542]},"n3912":{"id":"n3912","loc":[-85.617395,41.952351]},"n3913":{"id":"n3913","loc":[-85.617426,41.952368]},"n3914":{"id":"n3914","loc":[-85.617483,41.952309]},"n3915":{"id":"n3915","loc":[-85.617332,41.952229]},"n3916":{"id":"n3916","loc":[-85.617451,41.952102]},"n3917":{"id":"n3917","loc":[-85.617477,41.952115]},"n3918":{"id":"n3918","loc":[-85.617658,41.951923]},"n3919":{"id":"n3919","loc":[-85.617634,41.95191]},"n392":{"id":"n392","loc":[-85.631807,41.943606]},"n3920":{"id":"n3920","loc":[-85.617747,41.951786]},"n3921":{"id":"n3921","loc":[-85.618268,41.952056]},"n3922":{"id":"n3922","loc":[-85.618211,41.952122]},"n3923":{"id":"n3923","loc":[-85.618386,41.95222]},"n3924":{"id":"n3924","loc":[-85.618098,41.952527]},"n3925":{"id":"n3925","loc":[-85.617916,41.95243]},"n3926":{"id":"n3926","loc":[-85.617854,41.952498]},"n3927":{"id":"n3927","loc":[-85.617769,41.952453]},"n3928":{"id":"n3928","loc":[-85.617476,41.952773]},"n3929":{"id":"n3929","loc":[-85.617876,41.952973]},"n393":{"id":"n393","loc":[-85.631902,41.943561]},"n3930":{"id":"n3930","loc":[-85.617174,41.953638]},"n3931":{"id":"n3931","loc":[-85.618016,41.953578]},"n3932":{"id":"n3932","loc":[-85.618107,41.953628]},"n3933":{"id":"n3933","loc":[-85.618067,41.954268]},"n3934":{"id":"n3934","loc":[-85.617864,41.954263]},"n3935":{"id":"n3935","loc":[-85.61762,41.954205]},"n3936":{"id":"n3936","loc":[-85.617437,41.954103]},"n3937":{"id":"n3937","loc":[-85.617294,41.953978]},"n3938":{"id":"n3938","loc":[-85.617217,41.95384]},"n3939":{"id":"n3939","loc":[-85.616814,41.954327]},"n394":{"id":"n394","loc":[-85.63236,41.943543]},"n3940":{"id":"n3940","loc":[-85.616778,41.95381]},"n3941":{"id":"n3941","loc":[-85.616585,41.953707]},"n3942":{"id":"n3942","loc":[-85.616458,41.954318]},"n3943":{"id":"n3943","loc":[-85.616643,41.954345]},"n3944":{"id":"n3944","loc":[-85.618133,41.951412]},"n3945":{"id":"n3945","loc":[-85.618326,41.951411]},"n3946":{"id":"n3946","loc":[-85.618503,41.95141]},"n3947":{"id":"n3947","loc":[-85.618681,41.951409]},"n3948":{"id":"n3948","loc":[-85.618868,41.951408]},"n3949":{"id":"n3949","loc":[-85.617047,41.95136]},"n395":{"id":"n395","loc":[-85.633839,41.944082]},"n3950":{"id":"n3950","loc":[-85.616502,41.951946]},"n3951":{"id":"n3951","loc":[-85.616497,41.952072]},"n3952":{"id":"n3952","loc":[-85.616565,41.952165]},"n3953":{"id":"n3953","loc":[-85.616663,41.952218]},"n3954":{"id":"n3954","loc":[-85.616733,41.952255]},"n3955":{"id":"n3955","loc":[-85.617238,41.952512],"tags":{"entrance":"yes"}},"n3956":{"id":"n3956","loc":[-85.617043,41.952406]},"n3957":{"id":"n3957","loc":[-85.617691,41.951711]},"n3958":{"id":"n3958","loc":[-85.617773,41.951679]},"n3959":{"id":"n3959","loc":[-85.619085,41.951681]},"n396":{"id":"n396","loc":[-85.63376,41.944097]},"n3960":{"id":"n3960","loc":[-85.617943,41.952895]},"n3961":{"id":"n3961","loc":[-85.618039,41.952938]},"n3962":{"id":"n3962","loc":[-85.61763,41.95336]},"n3963":{"id":"n3963","loc":[-85.617554,41.95344]},"n3964":{"id":"n3964","loc":[-85.617381,41.952366],"tags":{"entrance":"yes"}},"n3965":{"id":"n3965","loc":[-85.617184,41.952254]},"n3966":{"id":"n3966","loc":[-85.617208,41.952496]},"n3967":{"id":"n3967","loc":[-85.617124,41.952581],"tags":{"entrance":"yes"}},"n3968":{"id":"n3968","loc":[-85.618094,41.952735]},"n3969":{"id":"n3969","loc":[-85.617702,41.952525],"tags":{"entrance":"yes"}},"n397":{"id":"n397","loc":[-85.63361,41.943957]},"n3970":{"id":"n3970","loc":[-85.617554,41.952686],"tags":{"entrance":"yes"}},"n3971":{"id":"n3971","loc":[-85.617959,41.952878]},"n3972":{"id":"n3972","loc":[-85.616367,41.952655]},"n3973":{"id":"n3973","loc":[-85.616416,41.952851]},"n3974":{"id":"n3974","loc":[-85.619777,41.951075]},"n3975":{"id":"n3975","loc":[-85.618611,41.94817]},"n3976":{"id":"n3976","loc":[-85.618538,41.948229]},"n3977":{"id":"n3977","loc":[-85.617421,41.947559]},"n3978":{"id":"n3978","loc":[-85.617395,41.951039]},"n3979":{"id":"n3979","loc":[-85.618488,41.94829]},"n398":{"id":"n398","loc":[-85.633309,41.943886]},"n3980":{"id":"n3980","loc":[-85.610238,41.954774]},"n3981":{"id":"n3981","loc":[-85.617449,41.950756]},"n3982":{"id":"n3982","loc":[-85.617288,41.951286]},"n3983":{"id":"n3983","loc":[-85.61745,41.950197]},"n3984":{"id":"n3984","loc":[-85.617436,41.948908]},"n3985":{"id":"n3985","loc":[-85.615915,41.953804]},"n3986":{"id":"n3986","loc":[-85.615953,41.953968]},"n3987":{"id":"n3987","loc":[-85.616031,41.954085]},"n3988":{"id":"n3988","loc":[-85.616135,41.954181]},"n3989":{"id":"n3989","loc":[-85.616273,41.954263]},"n399":{"id":"n399","loc":[-85.633226,41.943931]},"n3990":{"id":"n3990","loc":[-85.618327,41.951083]},"n3991":{"id":"n3991","loc":[-85.618135,41.951084]},"n3992":{"id":"n3992","loc":[-85.618503,41.951082]},"n3993":{"id":"n3993","loc":[-85.618682,41.951081]},"n3994":{"id":"n3994","loc":[-85.618864,41.951082]},"n3995":{"id":"n3995","loc":[-85.616761,41.950101]},"n3996":{"id":"n3996","loc":[-85.617317,41.947558]},"n3997":{"id":"n3997","loc":[-85.617336,41.948883]},"n3998":{"id":"n3998","loc":[-85.616779,41.949295]},"n3999":{"id":"n3999","loc":[-85.616754,41.949349]},"n4":{"id":"n4","loc":[-85.622764,41.950892],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n40":{"id":"n40","loc":[-85.619841,41.951037]},"n400":{"id":"n400","loc":[-85.63326,41.943966]},"n4000":{"id":"n4000","loc":[-85.616761,41.950865]},"n4001":{"id":"n4001","loc":[-85.616883,41.951041]},"n4002":{"id":"n4002","loc":[-85.617004,41.951142]},"n4003":{"id":"n4003","loc":[-85.617062,41.951248]},"n4004":{"id":"n4004","loc":[-85.616809,41.949273]},"n4005":{"id":"n4005","loc":[-85.616755,41.949489]},"n4006":{"id":"n4006","loc":[-85.616759,41.949971]},"n4007":{"id":"n4007","loc":[-85.616757,41.949702]},"n4008":{"id":"n4008","loc":[-85.618456,41.94836]},"n4009":{"id":"n4009","loc":[-85.618447,41.948428]},"n401":{"id":"n401","loc":[-85.63324,41.943976]},"n4010":{"id":"n4010","loc":[-85.618437,41.949322]},"n4011":{"id":"n4011","loc":[-85.618447,41.949418]},"n4012":{"id":"n4012","loc":[-85.618478,41.949491]},"n4013":{"id":"n4013","loc":[-85.618535,41.949559]},"n4014":{"id":"n4014","loc":[-85.618623,41.94962]},"n4015":{"id":"n4015","loc":[-85.618721,41.94966]},"n4016":{"id":"n4016","loc":[-85.618838,41.949674]},"n4017":{"id":"n4017","loc":[-85.618967,41.949667]},"n4018":{"id":"n4018","loc":[-85.619065,41.949632]},"n4019":{"id":"n4019","loc":[-85.61915,41.949578]},"n402":{"id":"n402","loc":[-85.63327,41.944006]},"n4020":{"id":"n4020","loc":[-85.619216,41.949507]},"n4021":{"id":"n4021","loc":[-85.61927,41.949399]},"n4022":{"id":"n4022","loc":[-85.619074,41.947639]},"n4023":{"id":"n4023","loc":[-85.619073,41.947793]},"n4024":{"id":"n4024","loc":[-85.618912,41.947793]},"n4025":{"id":"n4025","loc":[-85.618911,41.947947]},"n4026":{"id":"n4026","loc":[-85.618752,41.947947]},"n4027":{"id":"n4027","loc":[-85.618754,41.947637]},"n4028":{"id":"n4028","loc":[-85.617896,41.947599]},"n4029":{"id":"n4029","loc":[-85.617898,41.947811]},"n403":{"id":"n403","loc":[-85.633278,41.944002]},"n4030":{"id":"n4030","loc":[-85.617717,41.947812]},"n4031":{"id":"n4031","loc":[-85.617715,41.9476]},"n4032":{"id":"n4032","loc":[-85.619003,41.949828]},"n4033":{"id":"n4033","loc":[-85.619003,41.949882]},"n4034":{"id":"n4034","loc":[-85.618926,41.949882]},"n4035":{"id":"n4035","loc":[-85.618926,41.949828]},"n4036":{"id":"n4036","loc":[-85.618861,41.949809]},"n4037":{"id":"n4037","loc":[-85.618861,41.949898]},"n4038":{"id":"n4038","loc":[-85.618688,41.949898]},"n4039":{"id":"n4039","loc":[-85.618687,41.94981]},"n404":{"id":"n404","loc":[-85.63331,41.944036]},"n4040":{"id":"n4040","loc":[-85.618349,41.949473]},"n4041":{"id":"n4041","loc":[-85.618287,41.949473]},"n4042":{"id":"n4042","loc":[-85.618287,41.94942]},"n4043":{"id":"n4043","loc":[-85.618348,41.949419]},"n4044":{"id":"n4044","loc":[-85.62316,41.951604]},"n4045":{"id":"n4045","loc":[-85.623026,41.951605]},"n4046":{"id":"n4046","loc":[-85.623023,41.951466]},"n4047":{"id":"n4047","loc":[-85.623134,41.951465]},"n4048":{"id":"n4048","loc":[-85.623136,41.951539]},"n4049":{"id":"n4049","loc":[-85.623159,41.951539]},"n405":{"id":"n405","loc":[-85.633348,41.944015]},"n4050":{"id":"n4050","loc":[-85.623025,41.95155]},"n4051":{"id":"n4051","loc":[-85.622955,41.951551]},"n4052":{"id":"n4052","loc":[-85.622953,41.951507]},"n4053":{"id":"n4053","loc":[-85.623024,41.951506]},"n4054":{"id":"n4054","loc":[-85.623318,41.951242]},"n4055":{"id":"n4055","loc":[-85.623175,41.951241]},"n4056":{"id":"n4056","loc":[-85.623176,41.951153]},"n4057":{"id":"n4057","loc":[-85.623319,41.951154]},"n4058":{"id":"n4058","loc":[-85.623077,41.951191]},"n4059":{"id":"n4059","loc":[-85.622973,41.951191]},"n406":{"id":"n406","loc":[-85.63338,41.944048]},"n4060":{"id":"n4060","loc":[-85.622972,41.951349]},"n4061":{"id":"n4061","loc":[-85.623059,41.95135]},"n4062":{"id":"n4062","loc":[-85.62306,41.951301]},"n4063":{"id":"n4063","loc":[-85.623077,41.951301]},"n4064":{"id":"n4064","loc":[-85.623117,41.951405]},"n4065":{"id":"n4065","loc":[-85.62312,41.951087]},"n4066":{"id":"n4066","loc":[-85.623118,41.951274]},"n4067":{"id":"n4067","loc":[-85.62328,41.951275]},"n4068":{"id":"n4068","loc":[-85.62328,41.951242]},"n4069":{"id":"n4069","loc":[-85.623179,41.951392]},"n407":{"id":"n407","loc":[-85.633431,41.94402]},"n4070":{"id":"n4070","loc":[-85.623141,41.951392]},"n4071":{"id":"n4071","loc":[-85.623142,41.95136]},"n4072":{"id":"n4072","loc":[-85.623179,41.951361]},"n4073":{"id":"n4073","loc":[-85.622565,41.951639]},"n4074":{"id":"n4074","loc":[-85.622565,41.951741]},"n4075":{"id":"n4075","loc":[-85.622463,41.95174]},"n4076":{"id":"n4076","loc":[-85.622463,41.95173]},"n4077":{"id":"n4077","loc":[-85.622442,41.95173]},"n4078":{"id":"n4078","loc":[-85.622442,41.951742]},"n4079":{"id":"n4079","loc":[-85.622361,41.951742]},"n408":{"id":"n408","loc":[-85.633425,41.944014]},"n4080":{"id":"n4080","loc":[-85.622362,41.951667]},"n4081":{"id":"n4081","loc":[-85.622441,41.951667]},"n4082":{"id":"n4082","loc":[-85.622441,41.951688]},"n4083":{"id":"n4083","loc":[-85.622461,41.951688]},"n4084":{"id":"n4084","loc":[-85.622461,41.951638]},"n4085":{"id":"n4085","loc":[-85.62255,41.951587]},"n4086":{"id":"n4086","loc":[-85.622449,41.95159]},"n4087":{"id":"n4087","loc":[-85.622441,41.951448]},"n4088":{"id":"n4088","loc":[-85.62253,41.951445]},"n4089":{"id":"n4089","loc":[-85.622532,41.951486]},"n409":{"id":"n409","loc":[-85.633457,41.943997]},"n4090":{"id":"n4090","loc":[-85.622555,41.951485]},"n4091":{"id":"n4091","loc":[-85.622558,41.951531]},"n4092":{"id":"n4092","loc":[-85.622547,41.951531]},"n4093":{"id":"n4093","loc":[-85.622451,41.95159]},"n4094":{"id":"n4094","loc":[-85.622452,41.95161]},"n4095":{"id":"n4095","loc":[-85.622106,41.951617]},"n4096":{"id":"n4096","loc":[-85.622133,41.951443]},"n4097":{"id":"n4097","loc":[-85.622552,41.951379]},"n4098":{"id":"n4098","loc":[-85.622443,41.95138]},"n4099":{"id":"n4099","loc":[-85.622441,41.951281]},"n41":{"id":"n41","loc":[-85.636233,41.942764]},"n410":{"id":"n410","loc":[-85.633429,41.943969]},"n4100":{"id":"n4100","loc":[-85.62255,41.95128]},"n4101":{"id":"n4101","loc":[-85.622541,41.951437]},"n4102":{"id":"n4102","loc":[-85.622441,41.951438]},"n4103":{"id":"n4103","loc":[-85.621561,41.951444]},"n4104":{"id":"n4104","loc":[-85.622302,41.951479]},"n4105":{"id":"n4105","loc":[-85.6223,41.95152]},"n4106":{"id":"n4106","loc":[-85.622169,41.951517]},"n4107":{"id":"n4107","loc":[-85.622171,41.951476]},"n4108":{"id":"n4108","loc":[-85.622543,41.951228]},"n4109":{"id":"n4109","loc":[-85.622433,41.951228]},"n411":{"id":"n411","loc":[-85.633442,41.943962]},"n4110":{"id":"n4110","loc":[-85.622433,41.951133]},"n4111":{"id":"n4111","loc":[-85.622543,41.951133]},"n4112":{"id":"n4112","loc":[-85.622356,41.951256]},"n4113":{"id":"n4113","loc":[-85.622293,41.951256]},"n4114":{"id":"n4114","loc":[-85.622292,41.9512]},"n4115":{"id":"n4115","loc":[-85.622313,41.9512]},"n4116":{"id":"n4116","loc":[-85.622312,41.951173]},"n4117":{"id":"n4117","loc":[-85.622364,41.951173]},"n4118":{"id":"n4118","loc":[-85.622365,41.951231]},"n4119":{"id":"n4119","loc":[-85.622355,41.951231]},"n412":{"id":"n412","loc":[-85.633411,41.943932]},"n4120":{"id":"n4120","loc":[-85.62197,41.951155]},"n4121":{"id":"n4121","loc":[-85.62197,41.951213]},"n4122":{"id":"n4122","loc":[-85.621848,41.951213]},"n4123":{"id":"n4123","loc":[-85.621848,41.951155]},"n4124":{"id":"n4124","loc":[-85.622193,41.951268]},"n4125":{"id":"n4125","loc":[-85.622194,41.951305]},"n4126":{"id":"n4126","loc":[-85.622121,41.951306]},"n4127":{"id":"n4127","loc":[-85.622121,41.951322]},"n4128":{"id":"n4128","loc":[-85.621984,41.951324]},"n4129":{"id":"n4129","loc":[-85.621983,41.951271]},"n413":{"id":"n413","loc":[-85.633421,41.943926]},"n4130":{"id":"n4130","loc":[-85.622171,41.9514]},"n4131":{"id":"n4131","loc":[-85.622148,41.951382]},"n4132":{"id":"n4132","loc":[-85.6221,41.951414]},"n4133":{"id":"n4133","loc":[-85.622122,41.951433]},"n4134":{"id":"n4134","loc":[-85.621782,41.951148]},"n4135":{"id":"n4135","loc":[-85.621783,41.951219]},"n4136":{"id":"n4136","loc":[-85.62164,41.951221]},"n4137":{"id":"n4137","loc":[-85.62164,41.951236]},"n4138":{"id":"n4138","loc":[-85.621556,41.951237]},"n4139":{"id":"n4139","loc":[-85.621555,41.95117]},"n414":{"id":"n414","loc":[-85.633376,41.94388]},"n4140":{"id":"n4140","loc":[-85.621644,41.951169]},"n4141":{"id":"n4141","loc":[-85.621643,41.951139]},"n4142":{"id":"n4142","loc":[-85.621719,41.951138]},"n4143":{"id":"n4143","loc":[-85.621719,41.951148]},"n4144":{"id":"n4144","loc":[-85.621409,41.951322]},"n4145":{"id":"n4145","loc":[-85.621338,41.951322]},"n4146":{"id":"n4146","loc":[-85.621336,41.95115]},"n4147":{"id":"n4147","loc":[-85.621521,41.951149]},"n4148":{"id":"n4148","loc":[-85.621522,41.951228]},"n4149":{"id":"n4149","loc":[-85.621408,41.951228]},"n415":{"id":"n415","loc":[-85.633348,41.943895]},"n4150":{"id":"n4150","loc":[-85.621284,41.951219]},"n4151":{"id":"n4151","loc":[-85.621153,41.951219]},"n4152":{"id":"n4152","loc":[-85.621152,41.951152]},"n4153":{"id":"n4153","loc":[-85.621283,41.951152]},"n4154":{"id":"n4154","loc":[-85.621159,41.951241]},"n4155":{"id":"n4155","loc":[-85.62116,41.951301]},"n4156":{"id":"n4156","loc":[-85.621088,41.951302]},"n4157":{"id":"n4157","loc":[-85.621088,41.951241]},"n4158":{"id":"n4158","loc":[-85.621049,41.951158]},"n4159":{"id":"n4159","loc":[-85.62105,41.951229]},"n416":{"id":"n416","loc":[-85.633341,41.943888]},"n4160":{"id":"n4160","loc":[-85.620976,41.951229]},"n4161":{"id":"n4161","loc":[-85.620977,41.951295]},"n4162":{"id":"n4162","loc":[-85.620887,41.951296]},"n4163":{"id":"n4163","loc":[-85.620886,41.951229]},"n4164":{"id":"n4164","loc":[-85.620862,41.951229]},"n4165":{"id":"n4165","loc":[-85.620861,41.951159]},"n4166":{"id":"n4166","loc":[-85.620626,41.951133]},"n4167":{"id":"n4167","loc":[-85.620626,41.951205]},"n4168":{"id":"n4168","loc":[-85.620412,41.951206]},"n4169":{"id":"n4169","loc":[-85.620411,41.951134]},"n417":{"id":"n417","loc":[-85.633321,41.943898]},"n4170":{"id":"n4170","loc":[-85.621775,41.951443]},"n4171":{"id":"n4171","loc":[-85.621777,41.951264]},"n4172":{"id":"n4172","loc":[-85.621565,41.951654]},"n4173":{"id":"n4173","loc":[-85.621331,41.951439]},"n4174":{"id":"n4174","loc":[-85.621031,41.951443]},"n4175":{"id":"n4175","loc":[-85.621836,41.951724]},"n4176":{"id":"n4176","loc":[-85.621834,41.951621]},"n4177":{"id":"n4177","loc":[-85.62197,41.951619]},"n4178":{"id":"n4178","loc":[-85.621972,41.951722]},"n4179":{"id":"n4179","loc":[-85.621772,41.951638]},"n418":{"id":"n418","loc":[-85.633547,41.943896]},"n4180":{"id":"n4180","loc":[-85.621772,41.951715]},"n4181":{"id":"n4181","loc":[-85.621699,41.951716]},"n4182":{"id":"n4182","loc":[-85.6217,41.951722]},"n4183":{"id":"n4183","loc":[-85.621641,41.951722]},"n4184":{"id":"n4184","loc":[-85.62164,41.951639]},"n4185":{"id":"n4185","loc":[-85.621505,41.951655]},"n4186":{"id":"n4186","loc":[-85.621505,41.951729]},"n4187":{"id":"n4187","loc":[-85.621389,41.951729]},"n4188":{"id":"n4188","loc":[-85.62139,41.951654]},"n4189":{"id":"n4189","loc":[-85.621105,41.951635]},"n419":{"id":"n419","loc":[-85.633467,41.944075]},"n4190":{"id":"n4190","loc":[-85.621104,41.951576]},"n4191":{"id":"n4191","loc":[-85.621168,41.951576]},"n4192":{"id":"n4192","loc":[-85.621168,41.951595]},"n4193":{"id":"n4193","loc":[-85.621261,41.951595]},"n4194":{"id":"n4194","loc":[-85.621261,41.951646]},"n4195":{"id":"n4195","loc":[-85.621294,41.951646]},"n4196":{"id":"n4196","loc":[-85.621294,41.951732]},"n4197":{"id":"n4197","loc":[-85.621251,41.951732]},"n4198":{"id":"n4198","loc":[-85.621251,41.95174]},"n4199":{"id":"n4199","loc":[-85.621175,41.951741]},"n42":{"id":"n42","loc":[-85.635996,41.942727]},"n420":{"id":"n420","loc":[-85.633578,41.944055]},"n4200":{"id":"n4200","loc":[-85.621175,41.951651]},"n4201":{"id":"n4201","loc":[-85.621189,41.951651]},"n4202":{"id":"n4202","loc":[-85.621189,41.951635]},"n4203":{"id":"n4203","loc":[-85.620554,41.951641]},"n4204":{"id":"n4204","loc":[-85.620555,41.951742]},"n4205":{"id":"n4205","loc":[-85.620719,41.951742]},"n4206":{"id":"n4206","loc":[-85.620719,41.951731]},"n4207":{"id":"n4207","loc":[-85.620803,41.95173]},"n4208":{"id":"n4208","loc":[-85.620803,41.951603]},"n4209":{"id":"n4209","loc":[-85.62072,41.951603]},"n421":{"id":"n421","loc":[-85.633462,41.944125]},"n4210":{"id":"n4210","loc":[-85.620721,41.951641]},"n4211":{"id":"n4211","loc":[-85.620269,41.953053]},"n4212":{"id":"n4212","loc":[-85.620229,41.953051]},"n4213":{"id":"n4213","loc":[-85.620231,41.953013]},"n4214":{"id":"n4214","loc":[-85.620271,41.953015]},"n4215":{"id":"n4215","loc":[-85.620215,41.953133]},"n4216":{"id":"n4216","loc":[-85.62013,41.953134]},"n4217":{"id":"n4217","loc":[-85.620129,41.953083]},"n4218":{"id":"n4218","loc":[-85.620214,41.953082]},"n4219":{"id":"n4219","loc":[-85.62016,41.953272]},"n422":{"id":"n422","loc":[-85.633372,41.944061]},"n4220":{"id":"n4220","loc":[-85.620046,41.953273]},"n4221":{"id":"n4221","loc":[-85.620045,41.953171]},"n4222":{"id":"n4222","loc":[-85.620088,41.953171]},"n4223":{"id":"n4223","loc":[-85.620087,41.953162]},"n4224":{"id":"n4224","loc":[-85.620121,41.953162]},"n4225":{"id":"n4225","loc":[-85.620121,41.953173]},"n4226":{"id":"n4226","loc":[-85.620157,41.953173]},"n4227":{"id":"n4227","loc":[-85.620158,41.953196]},"n4228":{"id":"n4228","loc":[-85.620189,41.953196]},"n4229":{"id":"n4229","loc":[-85.620189,41.953246]},"n423":{"id":"n423","loc":[-85.633509,41.943981]},"n4230":{"id":"n4230","loc":[-85.62016,41.953246]},"n4231":{"id":"n4231","loc":[-85.6195,41.954012]},"n4232":{"id":"n4232","loc":[-85.619438,41.954057]},"n4233":{"id":"n4233","loc":[-85.619418,41.954043]},"n4234":{"id":"n4234","loc":[-85.619381,41.954069]},"n4235":{"id":"n4235","loc":[-85.619399,41.954083]},"n4236":{"id":"n4236","loc":[-85.619339,41.954126]},"n4237":{"id":"n4237","loc":[-85.619584,41.954313]},"n4238":{"id":"n4238","loc":[-85.619743,41.954198]},"n4239":{"id":"n4239","loc":[-85.619453,41.954727]},"n424":{"id":"n424","loc":[-85.635421,41.945367]},"n4240":{"id":"n4240","loc":[-85.619503,41.954581]},"n4241":{"id":"n4241","loc":[-85.619597,41.954472]},"n4242":{"id":"n4242","loc":[-85.619862,41.95419]},"n4243":{"id":"n4243","loc":[-85.619506,41.953907]},"n4244":{"id":"n4244","loc":[-85.619261,41.9541]},"n4245":{"id":"n4245","loc":[-85.619246,41.954139]},"n4246":{"id":"n4246","loc":[-85.619244,41.9542]},"n4247":{"id":"n4247","loc":[-85.619259,41.954243]},"n4248":{"id":"n4248","loc":[-85.619285,41.954274]},"n4249":{"id":"n4249","loc":[-85.619123,41.954381]},"n425":{"id":"n425","loc":[-85.634425,41.943552]},"n4250":{"id":"n4250","loc":[-85.619641,41.954607]},"n4251":{"id":"n4251","loc":[-85.619383,41.954615]},"n4252":{"id":"n4252","loc":[-85.61896,41.954391]},"n4253":{"id":"n4253","loc":[-85.619211,41.954178]},"n4254":{"id":"n4254","loc":[-85.619115,41.954102]},"n4255":{"id":"n4255","loc":[-85.619519,41.953821]},"n4256":{"id":"n4256","loc":[-85.619956,41.954156]},"n4257":{"id":"n4257","loc":[-85.619851,41.954266]},"n4258":{"id":"n4258","loc":[-85.619779,41.95436]},"n4259":{"id":"n4259","loc":[-85.620525,41.954364]},"n426":{"id":"n426","loc":[-85.634248,41.943654]},"n4260":{"id":"n4260","loc":[-85.620398,41.954365]},"n4261":{"id":"n4261","loc":[-85.620398,41.954324]},"n4262":{"id":"n4262","loc":[-85.620525,41.954323]},"n4263":{"id":"n4263","loc":[-85.620359,41.954588]},"n4264":{"id":"n4264","loc":[-85.620321,41.954588]},"n4265":{"id":"n4265","loc":[-85.620321,41.954599]},"n4266":{"id":"n4266","loc":[-85.620296,41.954599]},"n4267":{"id":"n4267","loc":[-85.620296,41.954587]},"n4268":{"id":"n4268","loc":[-85.620262,41.954588]},"n4269":{"id":"n4269","loc":[-85.620261,41.954516]},"n427":{"id":"n427","loc":[-85.634177,41.943585]},"n4270":{"id":"n4270","loc":[-85.620282,41.954516]},"n4271":{"id":"n4271","loc":[-85.620282,41.954373]},"n4272":{"id":"n4272","loc":[-85.620378,41.954373]},"n4273":{"id":"n4273","loc":[-85.620379,41.954486]},"n4274":{"id":"n4274","loc":[-85.620348,41.954486]},"n4275":{"id":"n4275","loc":[-85.620348,41.954537]},"n4276":{"id":"n4276","loc":[-85.620359,41.954537]},"n4277":{"id":"n4277","loc":[-85.620463,41.95521]},"n4278":{"id":"n4278","loc":[-85.620409,41.955273]},"n4279":{"id":"n4279","loc":[-85.620205,41.955177]},"n428":{"id":"n428","loc":[-85.634354,41.943484]},"n4280":{"id":"n4280","loc":[-85.620288,41.955079]},"n4281":{"id":"n4281","loc":[-85.620379,41.955121]},"n4282":{"id":"n4282","loc":[-85.620349,41.955157]},"n4283":{"id":"n4283","loc":[-85.620083,41.955101]},"n4284":{"id":"n4284","loc":[-85.620083,41.954986]},"n4285":{"id":"n4285","loc":[-85.620016,41.954986]},"n4286":{"id":"n4286","loc":[-85.620016,41.954999]},"n4287":{"id":"n4287","loc":[-85.619941,41.954999]},"n4288":{"id":"n4288","loc":[-85.619941,41.954988]},"n4289":{"id":"n4289","loc":[-85.619815,41.954988]},"n429":{"id":"n429","loc":[-85.638577,41.943212]},"n4290":{"id":"n4290","loc":[-85.619815,41.955075]},"n4291":{"id":"n4291","loc":[-85.619948,41.955075]},"n4292":{"id":"n4292","loc":[-85.619948,41.955082]},"n4293":{"id":"n4293","loc":[-85.620004,41.955082]},"n4294":{"id":"n4294","loc":[-85.620004,41.955101]},"n4295":{"id":"n4295","loc":[-85.619293,41.955127]},"n4296":{"id":"n4296","loc":[-85.619208,41.955124]},"n4297":{"id":"n4297","loc":[-85.619212,41.955061]},"n4298":{"id":"n4298","loc":[-85.619297,41.955064]},"n4299":{"id":"n4299","loc":[-85.619068,41.954936]},"n43":{"id":"n43","loc":[-85.637047,41.943054]},"n430":{"id":"n430","loc":[-85.638576,41.943219]},"n4300":{"id":"n4300","loc":[-85.619003,41.954936]},"n4301":{"id":"n4301","loc":[-85.619004,41.955003]},"n4302":{"id":"n4302","loc":[-85.618994,41.955003]},"n4303":{"id":"n4303","loc":[-85.618994,41.955016]},"n4304":{"id":"n4304","loc":[-85.618973,41.955016]},"n4305":{"id":"n4305","loc":[-85.618973,41.955071]},"n4306":{"id":"n4306","loc":[-85.619061,41.955071]},"n4307":{"id":"n4307","loc":[-85.61906,41.955024]},"n4308":{"id":"n4308","loc":[-85.619105,41.955024]},"n4309":{"id":"n4309","loc":[-85.619105,41.954956]},"n431":{"id":"n431","loc":[-85.638653,41.943078]},"n4310":{"id":"n4310","loc":[-85.619068,41.954956]},"n4311":{"id":"n4311","loc":[-85.618294,41.954596]},"n4312":{"id":"n4312","loc":[-85.618235,41.954602]},"n4313":{"id":"n4313","loc":[-85.618222,41.954535]},"n4314":{"id":"n4314","loc":[-85.618281,41.954529]},"n4315":{"id":"n4315","loc":[-85.618593,41.954556]},"n4316":{"id":"n4316","loc":[-85.618551,41.954565]},"n4317":{"id":"n4317","loc":[-85.618545,41.954552]},"n4318":{"id":"n4318","loc":[-85.618493,41.954563]},"n4319":{"id":"n4319","loc":[-85.618449,41.954455]},"n432":{"id":"n432","loc":[-85.638654,41.943148]},"n4320":{"id":"n4320","loc":[-85.618544,41.954434]},"n4321":{"id":"n4321","loc":[-85.622545,41.950775]},"n4322":{"id":"n4322","loc":[-85.622546,41.950843]},"n4323":{"id":"n4323","loc":[-85.622503,41.950844]},"n4324":{"id":"n4324","loc":[-85.622503,41.950853]},"n4325":{"id":"n4325","loc":[-85.622479,41.950853]},"n4326":{"id":"n4326","loc":[-85.622478,41.950843]},"n4327":{"id":"n4327","loc":[-85.622425,41.950843]},"n4328":{"id":"n4328","loc":[-85.622425,41.950808]},"n4329":{"id":"n4329","loc":[-85.622366,41.950809]},"n433":{"id":"n433","loc":[-85.638387,41.943151]},"n4330":{"id":"n4330","loc":[-85.622364,41.950673]},"n4331":{"id":"n4331","loc":[-85.622448,41.950673]},"n4332":{"id":"n4332","loc":[-85.622449,41.950732]},"n4333":{"id":"n4333","loc":[-85.622479,41.950731]},"n4334":{"id":"n4334","loc":[-85.622479,41.950775]},"n4335":{"id":"n4335","loc":[-85.621909,41.950641]},"n4336":{"id":"n4336","loc":[-85.621864,41.950641]},"n4337":{"id":"n4337","loc":[-85.621865,41.950567]},"n4338":{"id":"n4338","loc":[-85.62191,41.950567]},"n4339":{"id":"n4339","loc":[-85.621787,41.950829]},"n434":{"id":"n434","loc":[-85.638386,41.94308]},"n4340":{"id":"n4340","loc":[-85.621786,41.950775]},"n4341":{"id":"n4341","loc":[-85.621588,41.950776]},"n4342":{"id":"n4342","loc":[-85.621589,41.950848]},"n4343":{"id":"n4343","loc":[-85.621737,41.950847]},"n4344":{"id":"n4344","loc":[-85.621737,41.950829]},"n4345":{"id":"n4345","loc":[-85.621509,41.950846]},"n4346":{"id":"n4346","loc":[-85.621399,41.950846]},"n4347":{"id":"n4347","loc":[-85.621398,41.95073]},"n4348":{"id":"n4348","loc":[-85.621509,41.95073]},"n4349":{"id":"n4349","loc":[-85.621217,41.950841]},"n435":{"id":"n435","loc":[-85.634427,41.943533]},"n4350":{"id":"n4350","loc":[-85.6211,41.95084]},"n4351":{"id":"n4351","loc":[-85.6211,41.950777]},"n4352":{"id":"n4352","loc":[-85.621218,41.950778]},"n4353":{"id":"n4353","loc":[-85.621055,41.950764]},"n4354":{"id":"n4354","loc":[-85.621054,41.950826]},"n4355":{"id":"n4355","loc":[-85.620988,41.950826]},"n4356":{"id":"n4356","loc":[-85.620988,41.950843]},"n4357":{"id":"n4357","loc":[-85.620842,41.950843]},"n4358":{"id":"n4358","loc":[-85.620842,41.950764]},"n4359":{"id":"n4359","loc":[-85.620825,41.950922]},"n436":{"id":"n436","loc":[-85.63428,41.943229]},"n4360":{"id":"n4360","loc":[-85.620824,41.950553]},"n4361":{"id":"n4361","loc":[-85.620543,41.950771]},"n4362":{"id":"n4362","loc":[-85.620431,41.950772]},"n4363":{"id":"n4363","loc":[-85.62043,41.950585]},"n4364":{"id":"n4364","loc":[-85.620542,41.950585]},"n4365":{"id":"n4365","loc":[-85.62068,41.950505]},"n4366":{"id":"n4366","loc":[-85.620681,41.950552]},"n4367":{"id":"n4367","loc":[-85.620589,41.950553]},"n4368":{"id":"n4368","loc":[-85.620588,41.950506]},"n4369":{"id":"n4369","loc":[-85.620539,41.950407]},"n437":{"id":"n437","loc":[-85.634499,41.943461]},"n4370":{"id":"n4370","loc":[-85.62054,41.950504]},"n4371":{"id":"n4371","loc":[-85.620416,41.950504]},"n4372":{"id":"n4372","loc":[-85.620416,41.950408]},"n4373":{"id":"n4373","loc":[-85.620742,41.95038]},"n4374":{"id":"n4374","loc":[-85.620527,41.95038]},"n4375":{"id":"n4375","loc":[-85.620528,41.950408]},"n4376":{"id":"n4376","loc":[-85.622449,41.950373]},"n4377":{"id":"n4377","loc":[-85.622452,41.950397]},"n4378":{"id":"n4378","loc":[-85.622336,41.950404]},"n4379":{"id":"n4379","loc":[-85.622333,41.950379]},"n438":{"id":"n438","loc":[-85.634514,41.943486]},"n4380":{"id":"n4380","loc":[-85.622263,41.950324]},"n4381":{"id":"n4381","loc":[-85.622261,41.950256]},"n4382":{"id":"n4382","loc":[-85.62236,41.950254]},"n4383":{"id":"n4383","loc":[-85.62236,41.95027]},"n4384":{"id":"n4384","loc":[-85.622402,41.950281]},"n4385":{"id":"n4385","loc":[-85.622403,41.9503]},"n4386":{"id":"n4386","loc":[-85.622439,41.950299]},"n4387":{"id":"n4387","loc":[-85.62244,41.950334]},"n4388":{"id":"n4388","loc":[-85.622414,41.950335]},"n4389":{"id":"n4389","loc":[-85.622414,41.95036]},"n439":{"id":"n439","loc":[-85.63452,41.943511]},"n4390":{"id":"n4390","loc":[-85.62231,41.950362]},"n4391":{"id":"n4391","loc":[-85.622309,41.950323]},"n4392":{"id":"n4392","loc":[-85.622015,41.950539]},"n4393":{"id":"n4393","loc":[-85.621909,41.95054]},"n4394":{"id":"n4394","loc":[-85.621909,41.950472]},"n4395":{"id":"n4395","loc":[-85.622015,41.950471]},"n4396":{"id":"n4396","loc":[-85.62199,41.950439]},"n4397":{"id":"n4397","loc":[-85.621956,41.95044]},"n4398":{"id":"n4398","loc":[-85.621955,41.950405]},"n4399":{"id":"n4399","loc":[-85.621988,41.950404]},"n44":{"id":"n44","loc":[-85.636799,41.943055]},"n440":{"id":"n440","loc":[-85.63451,41.943534]},"n4400":{"id":"n4400","loc":[-85.621668,41.950418]},"n4401":{"id":"n4401","loc":[-85.621667,41.950343]},"n4402":{"id":"n4402","loc":[-85.621745,41.950342]},"n4403":{"id":"n4403","loc":[-85.621744,41.950306]},"n4404":{"id":"n4404","loc":[-85.621764,41.950306]},"n4405":{"id":"n4405","loc":[-85.621763,41.950254]},"n4406":{"id":"n4406","loc":[-85.621861,41.950253]},"n4407":{"id":"n4407","loc":[-85.621861,41.950274]},"n4408":{"id":"n4408","loc":[-85.621896,41.950273]},"n4409":{"id":"n4409","loc":[-85.621898,41.950389]},"n441":{"id":"n441","loc":[-85.634483,41.943556]},"n4410":{"id":"n4410","loc":[-85.621843,41.95039]},"n4411":{"id":"n4411","loc":[-85.621843,41.950425]},"n4412":{"id":"n4412","loc":[-85.621789,41.950425]},"n4413":{"id":"n4413","loc":[-85.621789,41.950386]},"n4414":{"id":"n4414","loc":[-85.621752,41.950387]},"n4415":{"id":"n4415","loc":[-85.621753,41.950417]},"n4416":{"id":"n4416","loc":[-85.621556,41.950562]},"n4417":{"id":"n4417","loc":[-85.621552,41.950217]},"n4418":{"id":"n4418","loc":[-85.621788,41.950562]},"n4419":{"id":"n4419","loc":[-85.621155,41.950562]},"n442":{"id":"n442","loc":[-85.63419,41.943713]},"n4420":{"id":"n4420","loc":[-85.622473,41.950551]},"n4421":{"id":"n4421","loc":[-85.622043,41.950551]},"n4422":{"id":"n4422","loc":[-85.62142,41.950454]},"n4423":{"id":"n4423","loc":[-85.621315,41.950455]},"n4424":{"id":"n4424","loc":[-85.621313,41.950311]},"n4425":{"id":"n4425","loc":[-85.621388,41.950311]},"n4426":{"id":"n4426","loc":[-85.621387,41.950261]},"n4427":{"id":"n4427","loc":[-85.621468,41.95026]},"n4428":{"id":"n4428","loc":[-85.621468,41.950271]},"n4429":{"id":"n4429","loc":[-85.621503,41.95027]},"n443":{"id":"n443","loc":[-85.634462,41.943294]},"n4430":{"id":"n4430","loc":[-85.621505,41.950353]},"n4431":{"id":"n4431","loc":[-85.621483,41.950354]},"n4432":{"id":"n4432","loc":[-85.621483,41.950392]},"n4433":{"id":"n4433","loc":[-85.621419,41.950393]},"n4434":{"id":"n4434","loc":[-85.621213,41.95039]},"n4435":{"id":"n4435","loc":[-85.621127,41.950391]},"n4436":{"id":"n4436","loc":[-85.621126,41.950357]},"n4437":{"id":"n4437","loc":[-85.621094,41.950357]},"n4438":{"id":"n4438","loc":[-85.621094,41.950391]},"n4439":{"id":"n4439","loc":[-85.620977,41.950392]},"n444":{"id":"n444","loc":[-85.634298,41.943389]},"n4440":{"id":"n4440","loc":[-85.620975,41.950278]},"n4441":{"id":"n4441","loc":[-85.621087,41.950277]},"n4442":{"id":"n4442","loc":[-85.621088,41.950331]},"n4443":{"id":"n4443","loc":[-85.621211,41.950312]},"n4444":{"id":"n4444","loc":[-85.621104,41.950313]},"n4445":{"id":"n4445","loc":[-85.621105,41.950331]},"n4446":{"id":"n4446","loc":[-85.620706,41.950328]},"n4447":{"id":"n4447","loc":[-85.620606,41.950327]},"n4448":{"id":"n4448","loc":[-85.620607,41.950261]},"n4449":{"id":"n4449","loc":[-85.620707,41.950262]},"n445":{"id":"n445","loc":[-85.634527,41.943623]},"n4450":{"id":"n4450","loc":[-85.620599,41.950336]},"n4451":{"id":"n4451","loc":[-85.620559,41.950336]},"n4452":{"id":"n4452","loc":[-85.620559,41.950299]},"n4453":{"id":"n4453","loc":[-85.620599,41.950299]},"n4454":{"id":"n4454","loc":[-85.620545,41.950357]},"n4455":{"id":"n4455","loc":[-85.620418,41.950357]},"n4456":{"id":"n4456","loc":[-85.620417,41.950257]},"n4457":{"id":"n4457","loc":[-85.620544,41.950256]},"n4458":{"id":"n4458","loc":[-85.620246,41.950131],"tags":{"highway":"crossing"}},"n4459":{"id":"n4459","loc":[-85.620252,41.950956]},"n446":{"id":"n446","loc":[-85.634608,41.943577]},"n4460":{"id":"n4460","loc":[-85.620245,41.950179]},"n4461":{"id":"n4461","loc":[-85.620246,41.950088]},"n4462":{"id":"n4462","loc":[-85.620251,41.950885]},"n4463":{"id":"n4463","loc":[-85.620103,41.950884],"tags":{"crossing":"zebra","highway":"crossing"}},"n4464":{"id":"n4464","loc":[-85.619992,41.950884]},"n4465":{"id":"n4465","loc":[-85.619704,41.951008]},"n4466":{"id":"n4466","loc":[-85.619599,41.951122]},"n4467":{"id":"n4467","loc":[-85.619264,41.951486]},"n4468":{"id":"n4468","loc":[-85.619179,41.951573],"tags":{"highway":"crossing"}},"n4469":{"id":"n4469","loc":[-85.620251,41.950999],"tags":{"highway":"crossing"}},"n447":{"id":"n447","loc":[-85.634555,41.943531]},"n4470":{"id":"n4470","loc":[-85.620249,41.951066]},"n4471":{"id":"n4471","loc":[-85.620256,41.951374]},"n4472":{"id":"n4472","loc":[-85.620249,41.951389]},"n4473":{"id":"n4473","loc":[-85.620249,41.951407]},"n4474":{"id":"n4474","loc":[-85.620255,41.951423]},"n4475":{"id":"n4475","loc":[-85.62026,41.951853]},"n4476":{"id":"n4476","loc":[-85.620262,41.951894],"tags":{"highway":"crossing"}},"n4477":{"id":"n4477","loc":[-85.620265,41.951957]},"n4478":{"id":"n4478","loc":[-85.620262,41.952135]},"n4479":{"id":"n4479","loc":[-85.620241,41.952424]},"n448":{"id":"n448","loc":[-85.634555,41.943482]},"n4480":{"id":"n4480","loc":[-85.620213,41.952583]},"n4481":{"id":"n4481","loc":[-85.620158,41.952754]},"n4482":{"id":"n4482","loc":[-85.620065,41.952942]},"n4483":{"id":"n4483","loc":[-85.619753,41.953439]},"n4484":{"id":"n4484","loc":[-85.619605,41.953626]},"n4485":{"id":"n4485","loc":[-85.619381,41.953834]},"n4486":{"id":"n4486","loc":[-85.619069,41.954066]},"n4487":{"id":"n4487","loc":[-85.618674,41.95429]},"n4488":{"id":"n4488","loc":[-85.621816,41.952389]},"n4489":{"id":"n4489","loc":[-85.6217,41.952386]},"n449":{"id":"n449","loc":[-85.634509,41.943427]},"n4490":{"id":"n4490","loc":[-85.621705,41.952306]},"n4491":{"id":"n4491","loc":[-85.621821,41.95231]},"n4492":{"id":"n4492","loc":[-85.621819,41.952272]},"n4493":{"id":"n4493","loc":[-85.621778,41.952272]},"n4494":{"id":"n4494","loc":[-85.621778,41.952199]},"n4495":{"id":"n4495","loc":[-85.621818,41.952199]},"n4496":{"id":"n4496","loc":[-85.621754,41.952281]},"n4497":{"id":"n4497","loc":[-85.621701,41.95228]},"n4498":{"id":"n4498","loc":[-85.621702,41.952197]},"n4499":{"id":"n4499","loc":[-85.621755,41.952197]},"n45":{"id":"n45","loc":[-85.636791,41.942792]},"n450":{"id":"n450","loc":[-85.63453,41.943365]},"n4500":{"id":"n4500","loc":[-85.628201,41.954694],"tags":{"highway":"stop","stop":"all","direction":"forward"}},"n4501":{"id":"n4501","loc":[-85.627921,41.954783],"tags":{"highway":"stop","stop":"all","direction":"backward"}},"n4502":{"id":"n4502","loc":[-85.62775,41.954696],"tags":{"highway":"stop","stop":"all","direction":"backward"}},"n4503":{"id":"n4503","loc":[-85.628046,41.954591],"tags":{"highway":"stop","stop":"all","direction":"forward"}},"n4504":{"id":"n4504","loc":[-85.631074,41.957428],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4505":{"id":"n4505","loc":[-85.630768,41.957429],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4506":{"id":"n4506","loc":[-85.629888,41.957432],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4507":{"id":"n4507","loc":[-85.629565,41.957433],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4508":{"id":"n4508","loc":[-85.629559,41.957343]},"n4509":{"id":"n4509","loc":[-85.628723,41.95735]},"n451":{"id":"n451","loc":[-85.634356,41.943468]},"n4510":{"id":"n4510","loc":[-85.62842,41.957515]},"n4511":{"id":"n4511","loc":[-85.627561,41.957525]},"n4512":{"id":"n4512","loc":[-85.630323,41.957508]},"n4513":{"id":"n4513","loc":[-85.630811,41.957506]},"n4514":{"id":"n4514","loc":[-85.630839,41.960874]},"n4515":{"id":"n4515","loc":[-85.631035,41.957506]},"n4516":{"id":"n4516","loc":[-85.632027,41.9575]},"n4517":{"id":"n4517","loc":[-85.631038,41.958066]},"n4518":{"id":"n4518","loc":[-85.630787,41.954769]},"n4519":{"id":"n4519","loc":[-85.630806,41.957342]},"n452":{"id":"n452","loc":[-85.634123,41.943596]},"n4520":{"id":"n4520","loc":[-85.630809,41.957428],"tags":{"highway":"crossing"}},"n4521":{"id":"n4521","loc":[-85.630912,41.957506],"tags":{"highway":"crossing"}},"n4522":{"id":"n4522","loc":[-85.631033,41.957428],"tags":{"highway":"crossing"}},"n4523":{"id":"n4523","loc":[-85.631032,41.957341]},"n4524":{"id":"n4524","loc":[-85.63091,41.957341],"tags":{"highway":"crossing"}},"n4525":{"id":"n4525","loc":[-85.631027,41.95597]},"n4526":{"id":"n4526","loc":[-85.631027,41.955913],"tags":{"highway":"crossing"}},"n4527":{"id":"n4527","loc":[-85.631025,41.955873]},"n4528":{"id":"n4528","loc":[-85.631073,41.955913],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4529":{"id":"n4529","loc":[-85.631007,41.954766]},"n453":{"id":"n453","loc":[-85.634709,41.943926]},"n4530":{"id":"n4530","loc":[-85.630881,41.954768],"tags":{"highway":"crossing"}},"n4531":{"id":"n4531","loc":[-85.628022,41.954776]},"n4532":{"id":"n4532","loc":[-85.627385,41.95584]},"n4533":{"id":"n4533","loc":[-85.627329,41.955937]},"n4534":{"id":"n4534","loc":[-85.626583,41.957153]},"n4535":{"id":"n4535","loc":[-85.629675,41.954564],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4536":{"id":"n4536","loc":[-85.630881,41.954806],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4537":{"id":"n4537","loc":[-85.630879,41.954564],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4538":{"id":"n4538","loc":[-85.630784,41.954682],"tags":{"highway":"crossing"}},"n4539":{"id":"n4539","loc":[-85.63078,41.954595]},"n454":{"id":"n454","loc":[-85.63525,41.943855]},"n4540":{"id":"n4540","loc":[-85.630879,41.954595],"tags":{"highway":"crossing"}},"n4541":{"id":"n4541","loc":[-85.631004,41.954594]},"n4542":{"id":"n4542","loc":[-85.631006,41.954681],"tags":{"highway":"crossing"}},"n4543":{"id":"n4543","loc":[-85.631045,41.959036],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4544":{"id":"n4544","loc":[-85.632071,41.959029],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4545":{"id":"n4545","loc":[-85.632257,41.959027],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4546":{"id":"n4546","loc":[-85.631966,41.957427],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4547":{"id":"n4547","loc":[-85.632297,41.957426],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4548":{"id":"n4548","loc":[-85.631976,41.955911],"tags":{"highway":"give_way","direction":"forward"}},"n4549":{"id":"n4549","loc":[-85.632272,41.955911],"tags":{"highway":"give_way","direction":"backward"}},"n455":{"id":"n455","loc":[-85.635224,41.943869]},"n4550":{"id":"n4550","loc":[-85.632097,41.954805],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4551":{"id":"n4551","loc":[-85.632094,41.954566],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4552":{"id":"n4552","loc":[-85.626519,41.957256]},"n4553":{"id":"n4553","loc":[-85.625334,41.959165]},"n4554":{"id":"n4554","loc":[-85.626483,41.95806]},"n4555":{"id":"n4555","loc":[-85.626481,41.958175]},"n4556":{"id":"n4556","loc":[-85.626412,41.958174]},"n4557":{"id":"n4557","loc":[-85.626412,41.958202]},"n4558":{"id":"n4558","loc":[-85.62628,41.958201]},"n4559":{"id":"n4559","loc":[-85.626283,41.958057]},"n456":{"id":"n456","loc":[-85.638854,41.943104]},"n4560":{"id":"n4560","loc":[-85.622763,41.95109],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4561":{"id":"n4561","loc":[-85.622858,41.950876],"tags":{"emergency":"fire_hydrant"}},"n4562":{"id":"n4562","loc":[-85.624073,41.950393]},"n4563":{"id":"n4563","loc":[-85.624077,41.950924]},"n4564":{"id":"n4564","loc":[-85.624599,41.950984],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4565":{"id":"n4565","loc":[-85.624831,41.95119],"tags":{"emergency":"fire_hydrant"}},"n4566":{"id":"n4566","loc":[-85.624437,41.952568],"tags":{"emergency":"fire_hydrant"}},"n4567":{"id":"n4567","loc":[-85.624077,41.954606],"tags":{"emergency":"fire_hydrant"}},"n4568":{"id":"n4568","loc":[-85.624263,41.954888]},"n4569":{"id":"n4569","loc":[-85.624206,41.954919]},"n457":{"id":"n457","loc":[-85.635186,41.943901]},"n4570":{"id":"n4570","loc":[-85.624154,41.954865]},"n4571":{"id":"n4571","loc":[-85.624212,41.954835]},"n4572":{"id":"n4572","loc":[-85.622442,41.954401],"tags":{"emergency":"fire_hydrant"}},"n4573":{"id":"n4573","loc":[-85.619751,41.954658],"tags":{"emergency":"fire_hydrant"}},"n4574":{"id":"n4574","loc":[-85.617785,41.954534]},"n4575":{"id":"n4575","loc":[-85.617416,41.954721]},"n4576":{"id":"n4576","loc":[-85.617662,41.95474]},"n4577":{"id":"n4577","loc":[-85.618014,41.954717]},"n4578":{"id":"n4578","loc":[-85.617886,41.954671]},"n4579":{"id":"n4579","loc":[-85.617831,41.954612]},"n458":{"id":"n458","loc":[-85.635162,41.943917]},"n4580":{"id":"n4580","loc":[-85.617968,41.954752]},"n4581":{"id":"n4581","loc":[-85.617815,41.954752]},"n4582":{"id":"n4582","loc":[-85.617938,41.954695]},"n4583":{"id":"n4583","loc":[-85.617856,41.954642],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4584":{"id":"n4584","loc":[-85.619116,41.954164],"tags":{"man_made":"flagpole"}},"n4585":{"id":"n4585","loc":[-85.619569,41.953255],"tags":{"emergency":"fire_hydrant"}},"n4586":{"id":"n4586","loc":[-85.620352,41.951894],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4587":{"id":"n4587","loc":[-85.620485,41.951948],"tags":{"emergency":"fire_hydrant"}},"n4588":{"id":"n4588","loc":[-85.620316,41.950999],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4589":{"id":"n4589","loc":[-85.620311,41.950131],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n459":{"id":"n459","loc":[-85.634856,41.943905]},"n4590":{"id":"n4590","loc":[-85.620374,41.95018],"tags":{"emergency":"fire_hydrant"}},"n4591":{"id":"n4591","loc":[-85.620301,41.949239],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4592":{"id":"n4592","loc":[-85.620278,41.947443],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4593":{"id":"n4593","loc":[-85.619844,41.947444],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4594":{"id":"n4594","loc":[-85.620191,41.947352],"tags":{"emergency":"fire_hydrant"}},"n4595":{"id":"n4595","loc":[-85.622819,41.947493],"tags":{"emergency":"fire_hydrant"}},"n4596":{"id":"n4596","loc":[-85.622744,41.947541],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4597":{"id":"n4597","loc":[-85.622739,41.947316],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4598":{"id":"n4598","loc":[-85.622909,41.948333],"tags":{"highway":"give_way"}},"n4599":{"id":"n4599","loc":[-85.622593,41.948333],"tags":{"highway":"give_way"}},"n46":{"id":"n46","loc":[-85.637131,41.94307]},"n460":{"id":"n460","loc":[-85.634811,41.944007]},"n4600":{"id":"n4600","loc":[-85.622835,41.948387],"tags":{"emergency":"fire_hydrant"}},"n4601":{"id":"n4601","loc":[-85.622768,41.949125],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4602":{"id":"n4602","loc":[-85.622769,41.949325],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4603":{"id":"n4603","loc":[-85.622837,41.949329],"tags":{"emergency":"fire_hydrant"}},"n4604":{"id":"n4604","loc":[-85.622614,41.950113],"tags":{"highway":"give_way","direction":"forward"}},"n4605":{"id":"n4605","loc":[-85.624777,41.949219],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4606":{"id":"n4606","loc":[-85.624849,41.949106],"tags":{"emergency":"fire_hydrant"}},"n4607":{"id":"n4607","loc":[-85.624858,41.950119],"tags":{"emergency":"fire_hydrant"}},"n4608":{"id":"n4608","loc":[-85.624752,41.948334],"tags":{"highway":"give_way"}},"n4609":{"id":"n4609","loc":[-85.624845,41.948422],"tags":{"emergency":"fire_hydrant"}},"n461":{"id":"n461","loc":[-85.634987,41.943112]},"n4610":{"id":"n4610","loc":[-85.62484,41.947539],"tags":{"emergency":"fire_hydrant"}},"n4611":{"id":"n4611","loc":[-85.62476,41.947428],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4612":{"id":"n4612","loc":[-85.620286,41.950926]},"n4613":{"id":"n4613","loc":[-85.618237,41.950963]},"n4614":{"id":"n4614","loc":[-85.618107,41.950876]},"n4615":{"id":"n4615","loc":[-85.618131,41.950393]},"n4616":{"id":"n4616","loc":[-85.618232,41.949913]},"n4617":{"id":"n4617","loc":[-85.619138,41.950212]},"n4618":{"id":"n4618","loc":[-85.619299,41.950388]},"n4619":{"id":"n4619","loc":[-85.619306,41.950897]},"n462":{"id":"n462","loc":[-85.634698,41.943194]},"n4620":{"id":"n4620","loc":[-85.619155,41.950958]},"n4621":{"id":"n4621","loc":[-85.620079,41.947715]},"n4622":{"id":"n4622","loc":[-85.619674,41.947728]},"n4623":{"id":"n4623","loc":[-85.619634,41.947735]},"n4624":{"id":"n4624","loc":[-85.619587,41.947756],"tags":{"barrier":"gate"}},"n4625":{"id":"n4625","loc":[-85.61953,41.947796]},"n4626":{"id":"n4626","loc":[-85.619475,41.947847]},"n4627":{"id":"n4627","loc":[-85.619433,41.947903]},"n4628":{"id":"n4628","loc":[-85.619402,41.947982]},"n4629":{"id":"n4629","loc":[-85.619394,41.948043]},"n463":{"id":"n463","loc":[-85.634632,41.943219]},"n4630":{"id":"n4630","loc":[-85.619395,41.948476]},"n4631":{"id":"n4631","loc":[-85.618367,41.947452]},"n4632":{"id":"n4632","loc":[-85.618371,41.947567],"tags":{"barrier":"gate"}},"n4633":{"id":"n4633","loc":[-85.618341,41.947622]},"n4634":{"id":"n4634","loc":[-85.618138,41.94773]},"n4635":{"id":"n4635","loc":[-85.618078,41.947814]},"n4636":{"id":"n4636","loc":[-85.618072,41.948009]},"n4637":{"id":"n4637","loc":[-85.618269,41.947666]},"n4638":{"id":"n4638","loc":[-85.618099,41.947765]},"n4639":{"id":"n4639","loc":[-85.618378,41.954453]},"n464":{"id":"n464","loc":[-85.63459,41.943239]},"n4640":{"id":"n4640","loc":[-85.618198,41.95453]},"n4641":{"id":"n4641","loc":[-85.618212,41.954623]},"n4642":{"id":"n4642","loc":[-85.635211,41.943103],"tags":{"leisure":"picnic_table"}},"n4643":{"id":"n4643","loc":[-85.635345,41.943448],"tags":{"leisure":"picnic_table"}},"n4644":{"id":"n4644","loc":[-85.635901,41.943353],"tags":{"amenity":"bench"}},"n4645":{"id":"n4645","loc":[-85.635815,41.942638],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4646":{"id":"n4646","loc":[-85.635355,41.942044],"tags":{"leisure":"picnic_table"}},"n4647":{"id":"n4647","loc":[-85.635206,41.942045],"tags":{"leisure":"picnic_table"}},"n4648":{"id":"n4648","loc":[-85.63504,41.941992],"tags":{"leisure":"picnic_table"}},"n4649":{"id":"n4649","loc":[-85.635185,41.942001]},"n465":{"id":"n465","loc":[-85.634555,41.943263]},"n4650":{"id":"n4650","loc":[-85.635176,41.942021]},"n4651":{"id":"n4651","loc":[-85.635127,41.942008]},"n4652":{"id":"n4652","loc":[-85.635136,41.941988]},"n4653":{"id":"n4653","loc":[-85.635,41.941709],"tags":{"emergency":"fire_hydrant"}},"n4654":{"id":"n4654","loc":[-85.634893,41.941801]},"n4655":{"id":"n4655","loc":[-85.634937,41.941843]},"n4656":{"id":"n4656","loc":[-85.634963,41.941859]},"n4657":{"id":"n4657","loc":[-85.635027,41.941904]},"n4658":{"id":"n4658","loc":[-85.63494,41.94187]},"n4659":{"id":"n4659","loc":[-85.634951,41.941871]},"n466":{"id":"n466","loc":[-85.634526,41.943289]},"n4660":{"id":"n4660","loc":[-85.634753,41.941701],"tags":{"amenity":"drinking_water"}},"n4661":{"id":"n4661","loc":[-85.634717,41.941804],"tags":{"amenity":"bench"}},"n4662":{"id":"n4662","loc":[-85.634554,41.941883],"tags":{"amenity":"bench"}},"n4663":{"id":"n4663","loc":[-85.635002,41.941579],"tags":{"amenity":"fountain"}},"n4664":{"id":"n4664","loc":[-85.635258,41.94188],"tags":{"amenity":"waste_basket"}},"n4665":{"id":"n4665","loc":[-85.635262,41.941581],"tags":{"amenity":"bench"}},"n4666":{"id":"n4666","loc":[-85.635319,41.941744],"tags":{"amenity":"bench"}},"n4667":{"id":"n4667","loc":[-85.634702,41.941473],"tags":{"amenity":"waste_basket"}},"n4668":{"id":"n4668","loc":[-85.633981,41.941966],"tags":{"amenity":"bench"}},"n4669":{"id":"n4669","loc":[-85.63388,41.941743]},"n467":{"id":"n467","loc":[-85.635163,41.944985]},"n4670":{"id":"n4670","loc":[-85.633746,41.941741]},"n4671":{"id":"n4671","loc":[-85.633749,41.941664]},"n4672":{"id":"n4672","loc":[-85.633883,41.941667]},"n4673":{"id":"n4673","loc":[-85.634283,41.941183],"tags":{"leisure":"picnic_table"}},"n4674":{"id":"n4674","loc":[-85.634046,41.941102],"tags":{"amenity":"bbq"}},"n4675":{"id":"n4675","loc":[-85.63401,41.941093],"tags":{"amenity":"bbq"}},"n4676":{"id":"n4676","loc":[-85.633408,41.940862],"tags":{"amenity":"bench"}},"n4677":{"id":"n4677","loc":[-85.633359,41.940651],"tags":{"amenity":"bench"}},"n4678":{"id":"n4678","loc":[-85.634109,41.940831]},"n4679":{"id":"n4679","loc":[-85.63396,41.940867]},"n468":{"id":"n468","loc":[-85.635095,41.945035]},"n4680":{"id":"n4680","loc":[-85.633816,41.940913]},"n4681":{"id":"n4681","loc":[-85.633237,41.940455]},"n4682":{"id":"n4682","loc":[-85.634453,41.940025],"tags":{"emergency":"fire_hydrant"}},"n4683":{"id":"n4683","loc":[-85.635692,41.940218],"tags":{"emergency":"fire_hydrant"}},"n4684":{"id":"n4684","loc":[-85.635566,41.940102],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4685":{"id":"n4685","loc":[-85.635961,41.940125],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4686":{"id":"n4686","loc":[-85.635883,41.94012],"tags":{"crossing":"zebra","highway":"crossing"}},"n4687":{"id":"n4687","loc":[-85.635883,41.94006]},"n4688":{"id":"n4688","loc":[-85.635768,41.940051],"tags":{"crossing":"zebra","highway":"crossing"}},"n4689":{"id":"n4689","loc":[-85.635669,41.940043]},"n469":{"id":"n469","loc":[-85.634269,41.944431]},"n4690":{"id":"n4690","loc":[-85.635661,41.940107],"tags":{"crossing":"zebra","highway":"crossing"}},"n4691":{"id":"n4691","loc":[-85.635424,41.941005],"tags":{"amenity":"fountain"}},"n4692":{"id":"n4692","loc":[-85.635542,41.941371],"tags":{"amenity":"bench"}},"n4693":{"id":"n4693","loc":[-85.635709,41.941341],"tags":{"emergency":"fire_hydrant"}},"n4694":{"id":"n4694","loc":[-85.637038,41.942513],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4695":{"id":"n4695","loc":[-85.637174,41.941354],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4696":{"id":"n4696","loc":[-85.637091,41.941273],"tags":{"emergency":"fire_hydrant"}},"n4697":{"id":"n4697","loc":[-85.638058,41.941346],"tags":{"highway":"give_way","direction":"forward"}},"n4698":{"id":"n4698","loc":[-85.638359,41.941344],"tags":{"highway":"give_way","direction":"backward"}},"n4699":{"id":"n4699","loc":[-85.638288,41.941236],"tags":{"emergency":"fire_hydrant"}},"n47":{"id":"n47","loc":[-85.636693,41.943073]},"n470":{"id":"n470","loc":[-85.634352,41.944376]},"n4700":{"id":"n4700","loc":[-85.63935,41.94128],"tags":{"emergency":"fire_hydrant"}},"n4701":{"id":"n4701","loc":[-85.639277,41.941337],"tags":{"highway":"give_way","direction":"forward"}},"n4702":{"id":"n4702","loc":[-85.639548,41.941334],"tags":{"highway":"give_way","direction":"backward"}},"n4703":{"id":"n4703","loc":[-85.642191,41.940039]},"n4704":{"id":"n4704","loc":[-85.640585,41.941263],"tags":{"emergency":"fire_hydrant"}},"n4705":{"id":"n4705","loc":[-85.64049,41.941327],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4706":{"id":"n4706","loc":[-85.640803,41.941324],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4707":{"id":"n4707","loc":[-85.641717,41.941317],"tags":{"highway":"stop","direction":"forward","stop":"all"}},"n4708":{"id":"n4708","loc":[-85.641846,41.941415],"tags":{"highway":"stop","direction":"backward","stop":"all"}},"n4709":{"id":"n4709","loc":[-85.641756,41.941392],"tags":{"emergency":"fire_hydrant"}},"n471":{"id":"n471","loc":[-85.634747,41.944561],"tags":{"railway":"crossing"}},"n4710":{"id":"n4710","loc":[-85.642014,41.941313],"tags":{"highway":"stop","direction":"forward","stop":"all"}},"n4711":{"id":"n4711","loc":[-85.641854,41.942455],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4712":{"id":"n4712","loc":[-85.641859,41.942739],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4713":{"id":"n4713","loc":[-85.640754,41.942707],"tags":{"emergency":"fire_hydrant"}},"n4714":{"id":"n4714","loc":[-85.640669,41.942716],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4715":{"id":"n4715","loc":[-85.640664,41.942478],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4716":{"id":"n4716","loc":[-85.63964,41.94274],"tags":{"man_made":"flagpole"}},"n4717":{"id":"n4717","loc":[-85.639455,41.942731],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4718":{"id":"n4718","loc":[-85.63945,41.942492],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4719":{"id":"n4719","loc":[-85.639527,41.942505],"tags":{"emergency":"fire_hydrant"}},"n472":{"id":"n472","loc":[-85.634667,41.944613]},"n4720":{"id":"n4720","loc":[-85.638238,41.942745],"tags":{"highway":"stop","direction":"backward","stop":"minor"}},"n4721":{"id":"n4721","loc":[-85.638233,41.942511],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4722":{"id":"n4722","loc":[-85.638018,41.94299],"tags":{"amenity":"waste_disposal"}},"n4723":{"id":"n4723","loc":[-85.637918,41.944152],"tags":{"amenity":"waste_basket"}},"n4724":{"id":"n4724","loc":[-85.635902,41.943291],"tags":{"leisure":"picnic_table"}},"n4725":{"id":"n4725","loc":[-85.63704,41.942741],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4726":{"id":"n4726","loc":[-85.633467,41.943818],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4727":{"id":"n4727","loc":[-85.633987,41.943531],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4728":{"id":"n4728","loc":[-85.632154,41.943539],"tags":{"emergency":"fire_hydrant"}},"n4729":{"id":"n4729","loc":[-85.633567,41.944641],"tags":{"amenity":"bench"}},"n473":{"id":"n473","loc":[-85.634161,41.944371]},"n4730":{"id":"n4730","loc":[-85.633127,41.944574],"tags":{"amenity":"bench"}},"n4731":{"id":"n4731","loc":[-85.633439,41.944871],"tags":{"amenity":"bench"}},"n4732":{"id":"n4732","loc":[-85.633676,41.944799],"tags":{"amenity":"waste_basket"}},"n4733":{"id":"n4733","loc":[-85.633466,41.944862],"tags":{"amenity":"waste_basket"}},"n4734":{"id":"n4734","loc":[-85.633451,41.944847],"tags":{"emergency":"fire_hydrant"}},"n4735":{"id":"n4735","loc":[-85.634202,41.945543],"tags":{"amenity":"waste_basket"}},"n4736":{"id":"n4736","loc":[-85.634652,41.945472],"tags":{"leisure":"picnic_table"}},"n4737":{"id":"n4737","loc":[-85.6347,41.945445],"tags":{"leisure":"picnic_table"}},"n4738":{"id":"n4738","loc":[-85.634646,41.945662],"tags":{"emergency":"fire_hydrant"}},"n4739":{"id":"n4739","loc":[-85.634673,41.945687],"tags":{"amenity":"waste_basket"}},"n474":{"id":"n474","loc":[-85.633861,41.944117]},"n4740":{"id":"n4740","loc":[-85.63449,41.945827],"tags":{"amenity":"clock","display":"analog"}},"n4741":{"id":"n4741","loc":[-85.63481,41.946056],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4742":{"id":"n4742","loc":[-85.634814,41.946176],"tags":{"amenity":"post_box"}},"n4743":{"id":"n4743","loc":[-85.638744,41.945328]},"n4744":{"id":"n4744","loc":[-85.63867,41.945228],"tags":{"amenity":"bench"}},"n4745":{"id":"n4745","loc":[-85.639487,41.945042],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4746":{"id":"n4746","loc":[-85.639635,41.94387],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n4747":{"id":"n4747","loc":[-85.639549,41.943756],"tags":{"emergency":"fire_hydrant"}},"n4748":{"id":"n4748","loc":[-85.64055,41.943862],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4749":{"id":"n4749","loc":[-85.640864,41.943859],"tags":{"highway":"stop","stop":"minor","direction":"backward"}},"n475":{"id":"n475","loc":[-85.633906,41.943535]},"n4750":{"id":"n4750","loc":[-85.640718,41.945022],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4751":{"id":"n4751","loc":[-85.640664,41.945076],"tags":{"emergency":"fire_hydrant"}},"n4752":{"id":"n4752","loc":[-85.641913,41.94502],"tags":{"highway":"stop","direction":"forward","stop":"minor"}},"n4753":{"id":"n4753","loc":[-85.641838,41.945076],"tags":{"emergency":"fire_hydrant"}},"n4754":{"id":"n4754","loc":[-85.642045,41.94385],"tags":{"highway":"give_way","direction":"backward"}},"n4755":{"id":"n4755","loc":[-85.641738,41.943852],"tags":{"highway":"give_way","direction":"forward"}},"n4756":{"id":"n4756","loc":[-85.642928,41.943843],"tags":{"highway":"stop","stop":"minor","direction":"forward"}},"n4757":{"id":"n4757","loc":[-85.64305,41.943902],"tags":{"emergency":"fire_hydrant"}},"n4758":{"id":"n4758","loc":[-85.642986,41.945105],"tags":{"highway":"stop","direction":"backward","stop":"all"}},"n4759":{"id":"n4759","loc":[-85.643136,41.94502],"tags":{"highway":"stop","stop":"all","direction":"forward"}},"n476":{"id":"n476","loc":[-85.63423,41.943692]},"n4760":{"id":"n4760","loc":[-85.63169,41.947812]},"n4761":{"id":"n4761","loc":[-85.631307,41.947655]},"n4762":{"id":"n4762","loc":[-85.631407,41.947413]},"n4763":{"id":"n4763","loc":[-85.631173,41.947306]},"n4764":{"id":"n4764","loc":[-85.631316,41.947145]},"n4765":{"id":"n4765","loc":[-85.631476,41.947087]},"n4766":{"id":"n4766","loc":[-85.631793,41.946871]},"n4767":{"id":"n4767","loc":[-85.631884,41.946723]},"n4768":{"id":"n4768","loc":[-85.631814,41.946397]},"n4769":{"id":"n4769","loc":[-85.631382,41.947685]},"n477":{"id":"n477","loc":[-85.635096,41.942814]},"n4770":{"id":"n4770","loc":[-85.63109,41.947819]},"n4771":{"id":"n4771","loc":[-85.630921,41.947961]},"n4772":{"id":"n4772","loc":[-85.630249,41.947709]},"n4773":{"id":"n4773","loc":[-85.630149,41.947451]},"n4774":{"id":"n4774","loc":[-85.629733,41.947339]},"n4775":{"id":"n4775","loc":[-85.629755,41.946948]},"n4776":{"id":"n4776","loc":[-85.630457,41.947103]},"n4777":{"id":"n4777","loc":[-85.630934,41.946939]},"n4778":{"id":"n4778","loc":[-85.631277,41.946852]},"n4779":{"id":"n4779","loc":[-85.63142,41.946781]},"n478":{"id":"n478","loc":[-85.635058,41.942795]},"n4780":{"id":"n4780","loc":[-85.631116,41.946474]},"n4781":{"id":"n4781","loc":[-85.63073,41.945965]},"n4782":{"id":"n4782","loc":[-85.631337,41.94571]},"n4783":{"id":"n4783","loc":[-85.631589,41.945487]},"n4784":{"id":"n4784","loc":[-85.632278,41.945784]},"n4785":{"id":"n4785","loc":[-85.632105,41.946034]},"n4786":{"id":"n4786","loc":[-85.632532,41.946198]},"n4787":{"id":"n4787","loc":[-85.632566,41.946151]},"n4788":{"id":"n4788","loc":[-85.632684,41.946196]},"n4789":{"id":"n4789","loc":[-85.628676,41.947106]},"n479":{"id":"n479","loc":[-85.635002,41.94279]},"n4790":{"id":"n4790","loc":[-85.628973,41.946476]},"n4791":{"id":"n4791","loc":[-85.629094,41.946079]},"n4792":{"id":"n4792","loc":[-85.629226,41.94578]},"n4793":{"id":"n4793","loc":[-85.629479,41.945682]},"n4794":{"id":"n4794","loc":[-85.630606,41.94569]},"n4795":{"id":"n4795","loc":[-85.631255,41.945588]},"n4796":{"id":"n4796","loc":[-85.631546,41.945281]},"n4797":{"id":"n4797","loc":[-85.631629,41.944823]},"n4798":{"id":"n4798","loc":[-85.631766,41.944958]},"n4799":{"id":"n4799","loc":[-85.631689,41.945318]},"n48":{"id":"n48","loc":[-85.636689,41.94276]},"n480":{"id":"n480","loc":[-85.634908,41.94279]},"n4800":{"id":"n4800","loc":[-85.615069,41.945527]},"n4801":{"id":"n4801","loc":[-85.615058,41.946677]},"n4802":{"id":"n4802","loc":[-85.613692,41.946689]},"n4803":{"id":"n4803","loc":[-85.613475,41.946531]},"n4804":{"id":"n4804","loc":[-85.611717,41.946252]},"n4805":{"id":"n4805","loc":[-85.611353,41.946385]},"n4806":{"id":"n4806","loc":[-85.611304,41.947397]},"n4807":{"id":"n4807","loc":[-85.610564,41.947401]},"n4808":{"id":"n4808","loc":[-85.610553,41.947122]},"n4809":{"id":"n4809","loc":[-85.610194,41.946992]},"n481":{"id":"n481","loc":[-85.634478,41.942342]},"n4810":{"id":"n4810","loc":[-85.609976,41.946628]},"n4811":{"id":"n4811","loc":[-85.609769,41.946523]},"n4812":{"id":"n4812","loc":[-85.609307,41.946523]},"n4813":{"id":"n4813","loc":[-85.609035,41.946462]},"n4814":{"id":"n4814","loc":[-85.609018,41.943277]},"n4815":{"id":"n4815","loc":[-85.609617,41.943423]},"n4816":{"id":"n4816","loc":[-85.610471,41.943447]},"n4817":{"id":"n4817","loc":[-85.621491,41.949168]},"n4818":{"id":"n4818","loc":[-85.620266,41.94917]},"n4819":{"id":"n4819","loc":[-85.620262,41.947557]},"n482":{"id":"n482","loc":[-85.634521,41.942254]},"n4820":{"id":"n4820","loc":[-85.620825,41.947556]},"n4821":{"id":"n4821","loc":[-85.620827,41.948371]},"n4822":{"id":"n4822","loc":[-85.621489,41.94837]},"n4823":{"id":"n4823","loc":[-85.622865,41.950928]},"n4824":{"id":"n4824","loc":[-85.622858,41.949744]},"n4825":{"id":"n4825","loc":[-85.623696,41.949714]},"n4826":{"id":"n4826","loc":[-85.623696,41.949647]},"n4827":{"id":"n4827","loc":[-85.624019,41.949647]},"n4828":{"id":"n4828","loc":[-85.624024,41.950093]},"n4829":{"id":"n4829","loc":[-85.622885,41.949711]},"n483":{"id":"n483","loc":[-85.63425,41.941819]},"n4830":{"id":"n4830","loc":[-85.624584,41.951049]},"n4831":{"id":"n4831","loc":[-85.624669,41.9511]},"n4832":{"id":"n4832","loc":[-85.624316,41.952218]},"n4833":{"id":"n4833","loc":[-85.623819,41.952094]},"n4834":{"id":"n4834","loc":[-85.623385,41.952101]},"n4835":{"id":"n4835","loc":[-85.623456,41.951238]},"n4836":{"id":"n4836","loc":[-85.623535,41.951051]},"n4837":{"id":"n4837","loc":[-85.624693,41.950921]},"n4838":{"id":"n4838","loc":[-85.624727,41.950897]},"n4839":{"id":"n4839","loc":[-85.624869,41.950341]},"n484":{"id":"n484","loc":[-85.634324,41.942131]},"n4840":{"id":"n4840","loc":[-85.624859,41.949284]},"n4841":{"id":"n4841","loc":[-85.624788,41.949262]},"n4842":{"id":"n4842","loc":[-85.62402,41.949265]},"n4843":{"id":"n4843","loc":[-85.610382,41.954663]},"n4844":{"id":"n4844","loc":[-85.605675,41.954667]},"n4845":{"id":"n4845","loc":[-85.605669,41.949407]},"n4846":{"id":"n4846","loc":[-85.610376,41.949404]},"n4847":{"id":"n4847","loc":[-85.605552,41.958536]},"n4848":{"id":"n4848","loc":[-85.595755,41.958588]},"n4849":{"id":"n4849","loc":[-85.595732,41.956419]},"n485":{"id":"n485","loc":[-85.634211,41.941374]},"n4850":{"id":"n4850","loc":[-85.596908,41.955605]},"n4851":{"id":"n4851","loc":[-85.597723,41.955596]},"n4852":{"id":"n4852","loc":[-85.597715,41.954967]},"n4853":{"id":"n4853","loc":[-85.5874,41.955018]},"n4854":{"id":"n4854","loc":[-85.586615,41.955124]},"n4855":{"id":"n4855","loc":[-85.58613,41.955293]},"n4856":{"id":"n4856","loc":[-85.586166,41.962122]},"n4857":{"id":"n4857","loc":[-85.587008,41.955052]},"n4858":{"id":"n4858","loc":[-85.591685,41.95499]},"n4859":{"id":"n4859","loc":[-85.591718,41.956649]},"n486":{"id":"n486","loc":[-85.634085,41.940704]},"n4860":{"id":"n4860","loc":[-85.591133,41.956649]},"n4861":{"id":"n4861","loc":[-85.591061,41.95582]},"n4862":{"id":"n4862","loc":[-85.590677,41.95613]},"n4863":{"id":"n4863","loc":[-85.590826,41.956369]},"n4864":{"id":"n4864","loc":[-85.591016,41.954991]},"n4865":{"id":"n4865","loc":[-85.587656,41.954855]},"n4866":{"id":"n4866","loc":[-85.5964,41.955274]},"n4867":{"id":"n4867","loc":[-85.58776,41.96178]},"n4868":{"id":"n4868","loc":[-85.601172,41.960448]},"n4869":{"id":"n4869","loc":[-85.589489,41.960478]},"n487":{"id":"n487","loc":[-85.635567,41.940944]},"n4870":{"id":"n4870","loc":[-85.586664,41.960493]},"n4871":{"id":"n4871","loc":[-85.591227,41.95676]},"n4872":{"id":"n4872","loc":[-85.589424,41.958093]},"n4873":{"id":"n4873","loc":[-85.588779,41.957611]},"n4874":{"id":"n4874","loc":[-85.590583,41.956278]},"n4875":{"id":"n4875","loc":[-85.590759,41.957106]},"n4876":{"id":"n4876","loc":[-85.592213,41.958218]},"n4877":{"id":"n4877","loc":[-85.592262,41.958279]},"n4878":{"id":"n4878","loc":[-85.592304,41.958358]},"n4879":{"id":"n4879","loc":[-85.592351,41.95849]},"n488":{"id":"n488","loc":[-85.635542,41.940919]},"n4880":{"id":"n4880","loc":[-85.592363,41.958605]},"n4881":{"id":"n4881","loc":[-85.592383,41.96047]},"n4882":{"id":"n4882","loc":[-85.592376,41.959808]},"n4883":{"id":"n4883","loc":[-85.600825,41.959779]},"n4884":{"id":"n4884","loc":[-85.601084,41.959844]},"n4885":{"id":"n4885","loc":[-85.601144,41.959908]},"n4886":{"id":"n4886","loc":[-85.601164,41.960008]},"n4887":{"id":"n4887","loc":[-85.601162,41.960125]},"n4888":{"id":"n4888","loc":[-85.601134,41.960221]},"n4889":{"id":"n4889","loc":[-85.600993,41.960353]},"n489":{"id":"n489","loc":[-85.635514,41.940906]},"n4890":{"id":"n4890","loc":[-85.600794,41.960449]},"n4891":{"id":"n4891","loc":[-85.60098,41.959792]},"n4892":{"id":"n4892","loc":[-85.601067,41.960294]},"n4893":{"id":"n4893","loc":[-85.596829,41.959793]},"n4894":{"id":"n4894","loc":[-85.596839,41.960459]},"n4895":{"id":"n4895","loc":[-85.589364,41.958048]},"n4896":{"id":"n4896","loc":[-85.587374,41.959511]},"n4897":{"id":"n4897","loc":[-85.587286,41.959564]},"n4898":{"id":"n4898","loc":[-85.587163,41.959632]},"n4899":{"id":"n4899","loc":[-85.586694,41.959865]},"n49":{"id":"n49","loc":[-85.637127,41.942757]},"n490":{"id":"n490","loc":[-85.635469,41.940896]},"n4900":{"id":"n4900","loc":[-85.586634,41.959921]},"n4901":{"id":"n4901","loc":[-85.586607,41.960001]},"n4902":{"id":"n4902","loc":[-85.586599,41.960099]},"n4903":{"id":"n4903","loc":[-85.586602,41.96034]},"n4904":{"id":"n4904","loc":[-85.586669,41.960439]},"n4905":{"id":"n4905","loc":[-85.586758,41.960493]},"n4906":{"id":"n4906","loc":[-85.586618,41.960391]},"n4907":{"id":"n4907","loc":[-85.591201,41.956352]},"n4908":{"id":"n4908","loc":[-85.59112,41.954843]},"n4909":{"id":"n4909","loc":[-85.591536,41.956349]},"n491":{"id":"n491","loc":[-85.635667,41.940826]},"n4910":{"id":"n4910","loc":[-85.590953,41.956354]},"n4911":{"id":"n4911","loc":[-85.591468,41.956406]},"n4912":{"id":"n4912","loc":[-85.591469,41.956478]},"n4913":{"id":"n4913","loc":[-85.591123,41.956481]},"n4914":{"id":"n4914","loc":[-85.591121,41.956409]},"n4915":{"id":"n4915","loc":[-85.590826,41.955954]},"n4916":{"id":"n4916","loc":[-85.590612,41.956115]},"n4917":{"id":"n4917","loc":[-85.590402,41.955962]},"n4918":{"id":"n4918","loc":[-85.590622,41.955804]},"n4919":{"id":"n4919","loc":[-85.59011,41.956502]},"n492":{"id":"n492","loc":[-85.636197,41.940599]},"n4920":{"id":"n4920","loc":[-85.589877,41.956668]},"n4921":{"id":"n4921","loc":[-85.589777,41.95659]},"n4922":{"id":"n4922","loc":[-85.59001,41.956424]},"n4923":{"id":"n4923","loc":[-85.589595,41.956427]},"n4924":{"id":"n4924","loc":[-85.589434,41.956549]},"n4925":{"id":"n4925","loc":[-85.589262,41.956424]},"n4926":{"id":"n4926","loc":[-85.589422,41.956302]},"n4927":{"id":"n4927","loc":[-85.589358,41.956286]},"n4928":{"id":"n4928","loc":[-85.5892,41.956408]},"n4929":{"id":"n4929","loc":[-85.589032,41.956288]},"n493":{"id":"n493","loc":[-85.6362,41.940686]},"n4930":{"id":"n4930","loc":[-85.58919,41.956166]},"n4931":{"id":"n4931","loc":[-85.589165,41.956132]},"n4932":{"id":"n4932","loc":[-85.589002,41.956253]},"n4933":{"id":"n4933","loc":[-85.588826,41.956122]},"n4934":{"id":"n4934","loc":[-85.588989,41.956001]},"n4935":{"id":"n4935","loc":[-85.588673,41.955757]},"n4936":{"id":"n4936","loc":[-85.588502,41.955882]},"n4937":{"id":"n4937","loc":[-85.588339,41.955759]},"n4938":{"id":"n4938","loc":[-85.58851,41.955633]},"n4939":{"id":"n4939","loc":[-85.590382,41.955892]},"n494":{"id":"n494","loc":[-85.635969,41.94069]},"n4940":{"id":"n4940","loc":[-85.589923,41.956231]},"n4941":{"id":"n4941","loc":[-85.58984,41.956168]},"n4942":{"id":"n4942","loc":[-85.5903,41.95583]},"n4943":{"id":"n4943","loc":[-85.589636,41.956038]},"n4944":{"id":"n4944","loc":[-85.589546,41.956105]},"n4945":{"id":"n4945","loc":[-85.589045,41.955729]},"n4946":{"id":"n4946","loc":[-85.589135,41.955662]},"n4947":{"id":"n4947","loc":[-85.590718,41.955293]},"n4948":{"id":"n4948","loc":[-85.590718,41.955374]},"n4949":{"id":"n4949","loc":[-85.589211,41.955369]},"n495":{"id":"n495","loc":[-85.635965,41.940561]},"n4950":{"id":"n4950","loc":[-85.589212,41.955287]},"n4951":{"id":"n4951","loc":[-85.589675,41.956817]},"n4952":{"id":"n4952","loc":[-85.58947,41.95697]},"n4953":{"id":"n4953","loc":[-85.589219,41.956784]},"n4954":{"id":"n4954","loc":[-85.589425,41.95663]},"n4955":{"id":"n4955","loc":[-85.589373,41.95702]},"n4956":{"id":"n4956","loc":[-85.589171,41.957172]},"n4957":{"id":"n4957","loc":[-85.588962,41.957019]},"n4958":{"id":"n4958","loc":[-85.589164,41.956867]},"n4959":{"id":"n4959","loc":[-85.588881,41.955006]},"n496":{"id":"n496","loc":[-85.636031,41.94056]},"n4960":{"id":"n4960","loc":[-85.588804,41.955006]},"n4961":{"id":"n4961","loc":[-85.604773,41.954521]},"n4962":{"id":"n4962","loc":[-85.601603,41.954527]},"n4963":{"id":"n4963","loc":[-85.600823,41.954169]},"n4964":{"id":"n4964","loc":[-85.600828,41.950191]},"n4965":{"id":"n4965","loc":[-85.601673,41.949457]},"n4966":{"id":"n4966","loc":[-85.604464,41.949488]},"n4967":{"id":"n4967","loc":[-85.60538,41.950212]},"n4968":{"id":"n4968","loc":[-85.605395,41.954108]},"n4969":{"id":"n4969","loc":[-85.604771,41.954109]},"n497":{"id":"n497","loc":[-85.636032,41.940602]},"n4970":{"id":"n4970","loc":[-85.600613,41.953916]},"n4971":{"id":"n4971","loc":[-85.599758,41.954649]},"n4972":{"id":"n4972","loc":[-85.591194,41.954663]},"n4973":{"id":"n4973","loc":[-85.591182,41.950465]},"n4974":{"id":"n4974","loc":[-85.591871,41.950464]},"n4975":{"id":"n4975","loc":[-85.591868,41.949209]},"n4976":{"id":"n4976","loc":[-85.592155,41.949209]},"n4977":{"id":"n4977","loc":[-85.592155,41.94848]},"n4978":{"id":"n4978","loc":[-85.600615,41.948482]},"n4979":{"id":"n4979","loc":[-85.605421,41.949378]},"n498":{"id":"n498","loc":[-85.635776,41.940583]},"n4980":{"id":"n4980","loc":[-85.600614,41.949373]},"n4981":{"id":"n4981","loc":[-85.601316,41.94849]},"n4982":{"id":"n4982","loc":[-85.601592,41.947641]},"n4983":{"id":"n4983","loc":[-85.60395,41.947618]},"n4984":{"id":"n4984","loc":[-85.603973,41.948114]},"n4985":{"id":"n4985","loc":[-85.605398,41.948103]},"n4986":{"id":"n4986","loc":[-85.614017,41.965566]},"n4987":{"id":"n4987","loc":[-85.605787,41.965619]},"n4988":{"id":"n4988","loc":[-85.60577,41.963821]},"n4989":{"id":"n4989","loc":[-85.612886,41.963808]},"n499":{"id":"n499","loc":[-85.63589,41.940578]},"n4990":{"id":"n4990","loc":[-85.613207,41.963705]},"n4991":{"id":"n4991","loc":[-85.613511,41.963525]},"n4992":{"id":"n4992","loc":[-85.613667,41.963305]},"n4993":{"id":"n4993","loc":[-85.613779,41.962983]},"n4994":{"id":"n4994","loc":[-85.613797,41.959709]},"n4995":{"id":"n4995","loc":[-85.613663,41.95936]},"n4996":{"id":"n4996","loc":[-85.61339,41.959064]},"n4997":{"id":"n4997","loc":[-85.610503,41.956898]},"n4998":{"id":"n4998","loc":[-85.610485,41.956595]},"n4999":{"id":"n4999","loc":[-85.613892,41.956621]},"n5":{"id":"n5","loc":[-85.622744,41.95268]},"n50":{"id":"n50","loc":[-85.636673,41.943143]},"n500":{"id":"n500","loc":[-85.636198,41.940578]},"n5000":{"id":"n5000","loc":[-85.613866,41.958574]},"n5001":{"id":"n5001","loc":[-85.615262,41.958561]},"n5002":{"id":"n5002","loc":[-85.615279,41.959541]},"n5003":{"id":"n5003","loc":[-85.615314,41.95597]},"n5004":{"id":"n5004","loc":[-85.613887,41.955988]},"n5005":{"id":"n5005","loc":[-85.613074,41.962244]},"n5006":{"id":"n5006","loc":[-85.611678,41.963354]},"n5007":{"id":"n5007","loc":[-85.611678,41.963487]},"n5008":{"id":"n5008","loc":[-85.606906,41.963502]},"n5009":{"id":"n5009","loc":[-85.605777,41.962657]},"n501":{"id":"n501","loc":[-85.636251,41.940584]},"n5010":{"id":"n5010","loc":[-85.605711,41.9599]},"n5011":{"id":"n5011","loc":[-85.608139,41.9585]},"n5012":{"id":"n5012","loc":[-85.60814,41.956306]},"n5013":{"id":"n5013","loc":[-85.608854,41.95581]},"n5014":{"id":"n5014","loc":[-85.610039,41.955883]},"n5015":{"id":"n5015","loc":[-85.610068,41.956754]},"n5016":{"id":"n5016","loc":[-85.613058,41.959411]},"n5017":{"id":"n5017","loc":[-85.610234,41.957068]},"n5018":{"id":"n5018","loc":[-85.609826,41.95581]},"n5019":{"id":"n5019","loc":[-85.606987,41.958505]},"n502":{"id":"n502","loc":[-85.636279,41.940605]},"n5020":{"id":"n5020","loc":[-85.606498,41.958846]},"n5021":{"id":"n5021","loc":[-85.606013,41.959342]},"n5022":{"id":"n5022","loc":[-85.614553,41.961581]},"n5023":{"id":"n5023","loc":[-85.61465,41.96214]},"n5024":{"id":"n5024","loc":[-85.615277,41.962442]},"n5025":{"id":"n5025","loc":[-85.615451,41.962972]},"n5026":{"id":"n5026","loc":[-85.614355,41.964826]},"n5027":{"id":"n5027","loc":[-85.615133,41.964589]},"n5028":{"id":"n5028","loc":[-85.615342,41.963818]},"n5029":{"id":"n5029","loc":[-85.615971,41.963792]},"n503":{"id":"n503","loc":[-85.636285,41.940633]},"n5030":{"id":"n5030","loc":[-85.615751,41.963122]},"n5031":{"id":"n5031","loc":[-85.616575,41.963123]},"n5032":{"id":"n5032","loc":[-85.612527,41.963846]},"n5033":{"id":"n5033","loc":[-85.630653,41.940709]},"n5034":{"id":"n5034","loc":[-85.629858,41.939568]},"n5035":{"id":"n5035","loc":[-85.629847,41.937926]},"n504":{"id":"n504","loc":[-85.636281,41.940662]},"n505":{"id":"n505","loc":[-85.636266,41.940688]},"n506":{"id":"n506","loc":[-85.636236,41.940701]},"n507":{"id":"n507","loc":[-85.63619,41.940706]},"n508":{"id":"n508","loc":[-85.635892,41.940707]},"n509":{"id":"n509","loc":[-85.635777,41.9407]},"n51":{"id":"n51","loc":[-85.636673,41.942864]},"n510":{"id":"n510","loc":[-85.636044,41.940578]},"n511":{"id":"n511","loc":[-85.635946,41.940578]},"n512":{"id":"n512","loc":[-85.636475,41.940732]},"n513":{"id":"n513","loc":[-85.636475,41.940777]},"n514":{"id":"n514","loc":[-85.636405,41.940777]},"n515":{"id":"n515","loc":[-85.636405,41.940732]},"n516":{"id":"n516","loc":[-85.636471,41.940916]},"n517":{"id":"n517","loc":[-85.636471,41.940961]},"n518":{"id":"n518","loc":[-85.636404,41.940961]},"n519":{"id":"n519","loc":[-85.636404,41.940916]},"n52":{"id":"n52","loc":[-85.636227,41.942864]},"n520":{"id":"n520","loc":[-85.636286,41.941127]},"n521":{"id":"n521","loc":[-85.636203,41.941126]},"n522":{"id":"n522","loc":[-85.636204,41.941083]},"n523":{"id":"n523","loc":[-85.636287,41.941083]},"n524":{"id":"n524","loc":[-85.636124,41.941064]},"n525":{"id":"n525","loc":[-85.636,41.941065]},"n526":{"id":"n526","loc":[-85.636,41.940964]},"n527":{"id":"n527","loc":[-85.636045,41.940964]},"n528":{"id":"n528","loc":[-85.636045,41.940928]},"n529":{"id":"n529","loc":[-85.636111,41.940928]},"n53":{"id":"n53","loc":[-85.636227,41.943143]},"n530":{"id":"n530","loc":[-85.636111,41.940961]},"n531":{"id":"n531","loc":[-85.636123,41.940961]},"n532":{"id":"n532","loc":[-85.636124,41.940997]},"n533":{"id":"n533","loc":[-85.636164,41.940997]},"n534":{"id":"n534","loc":[-85.636164,41.941044]},"n535":{"id":"n535","loc":[-85.636124,41.941044]},"n536":{"id":"n536","loc":[-85.636534,41.941256]},"n537":{"id":"n537","loc":[-85.63645,41.941246]},"n538":{"id":"n538","loc":[-85.636462,41.941189]},"n539":{"id":"n539","loc":[-85.636546,41.941199]},"n54":{"id":"n54","loc":[-85.636198,41.943119]},"n540":{"id":"n540","loc":[-85.636802,41.941226]},"n541":{"id":"n541","loc":[-85.636701,41.941215]},"n542":{"id":"n542","loc":[-85.636709,41.941174]},"n543":{"id":"n543","loc":[-85.636656,41.941168]},"n544":{"id":"n544","loc":[-85.636666,41.941122]},"n545":{"id":"n545","loc":[-85.636781,41.941136]},"n546":{"id":"n546","loc":[-85.636774,41.94117]},"n547":{"id":"n547","loc":[-85.636812,41.941175]},"n548":{"id":"n548","loc":[-85.636803,41.941047]},"n549":{"id":"n549","loc":[-85.636785,41.941047]},"n55":{"id":"n55","loc":[-85.635945,41.94312]},"n550":{"id":"n550","loc":[-85.636785,41.941058]},"n551":{"id":"n551","loc":[-85.636644,41.941059]},"n552":{"id":"n552","loc":[-85.636644,41.941038]},"n553":{"id":"n553","loc":[-85.636581,41.941039]},"n554":{"id":"n554","loc":[-85.636581,41.940995]},"n555":{"id":"n555","loc":[-85.636746,41.940995]},"n556":{"id":"n556","loc":[-85.636746,41.940978]},"n557":{"id":"n557","loc":[-85.636803,41.940978]},"n558":{"id":"n558","loc":[-85.636781,41.940768]},"n559":{"id":"n559","loc":[-85.636783,41.940828]},"n56":{"id":"n56","loc":[-85.635943,41.942909]},"n560":{"id":"n560","loc":[-85.636761,41.940828]},"n561":{"id":"n561","loc":[-85.636762,41.940857]},"n562":{"id":"n562","loc":[-85.636641,41.940859]},"n563":{"id":"n563","loc":[-85.63664,41.940805]},"n564":{"id":"n564","loc":[-85.636676,41.940804]},"n565":{"id":"n565","loc":[-85.636675,41.940769]},"n566":{"id":"n566","loc":[-85.636733,41.94033]},"n567":{"id":"n567","loc":[-85.636471,41.940334]},"n568":{"id":"n568","loc":[-85.636469,41.940262]},"n569":{"id":"n569","loc":[-85.636731,41.940257]},"n57":{"id":"n57","loc":[-85.636227,41.942909]},"n570":{"id":"n570","loc":[-85.636798,41.940419]},"n571":{"id":"n571","loc":[-85.6368,41.940524]},"n572":{"id":"n572","loc":[-85.63664,41.940526]},"n573":{"id":"n573","loc":[-85.636638,41.940421]},"n574":{"id":"n574","loc":[-85.636372,41.940551]},"n575":{"id":"n575","loc":[-85.636338,41.94055]},"n576":{"id":"n576","loc":[-85.636339,41.940524]},"n577":{"id":"n577","loc":[-85.636373,41.940525]},"n578":{"id":"n578","loc":[-85.636388,41.940435]},"n579":{"id":"n579","loc":[-85.636222,41.940436]},"n58":{"id":"n58","loc":[-85.63627,41.943175]},"n580":{"id":"n580","loc":[-85.636222,41.940366]},"n581":{"id":"n581","loc":[-85.636387,41.940365]},"n582":{"id":"n582","loc":[-85.636158,41.940482]},"n583":{"id":"n583","loc":[-85.635963,41.940484]},"n584":{"id":"n584","loc":[-85.635961,41.940399]},"n585":{"id":"n585","loc":[-85.636156,41.940397]},"n586":{"id":"n586","loc":[-85.635987,41.940314]},"n587":{"id":"n587","loc":[-85.635987,41.940268]},"n588":{"id":"n588","loc":[-85.635968,41.940268]},"n589":{"id":"n589","loc":[-85.635967,41.940212]},"n59":{"id":"n59","loc":[-85.635531,41.943176]},"n590":{"id":"n590","loc":[-85.636082,41.940211]},"n591":{"id":"n591","loc":[-85.636083,41.94027]},"n592":{"id":"n592","loc":[-85.636064,41.94027]},"n593":{"id":"n593","loc":[-85.636064,41.940313]},"n594":{"id":"n594","loc":[-85.638071,41.941562]},"n595":{"id":"n595","loc":[-85.637953,41.941562]},"n596":{"id":"n596","loc":[-85.637952,41.941522]},"n597":{"id":"n597","loc":[-85.637876,41.941523]},"n598":{"id":"n598","loc":[-85.637876,41.941471]},"n599":{"id":"n599","loc":[-85.638035,41.94147]},"n6":{"id":"n6","loc":[-85.624925,41.950604]},"n60":{"id":"n60","loc":[-85.63542,41.942883]},"n600":{"id":"n600","loc":[-85.638035,41.941513]},"n601":{"id":"n601","loc":[-85.638071,41.941512]},"n602":{"id":"n602","loc":[-85.637038,41.942543],"tags":{"crossing":"zebra","highway":"crossing"}},"n603":{"id":"n603","loc":[-85.637134,41.942542]},"n604":{"id":"n604","loc":[-85.638122,41.942532]},"n605":{"id":"n605","loc":[-85.638121,41.942478]},"n606":{"id":"n606","loc":[-85.638104,41.941424]},"n607":{"id":"n607","loc":[-85.637115,41.941438]},"n608":{"id":"n608","loc":[-85.637133,41.942453]},"n609":{"id":"n609","loc":[-85.637429,41.942004]},"n61":{"id":"n61","loc":[-85.635701,41.942802]},"n610":{"id":"n610","loc":[-85.637125,41.942004]},"n611":{"id":"n611","loc":[-85.637022,41.942004]},"n612":{"id":"n612","loc":[-85.635952,41.943579]},"n613":{"id":"n613","loc":[-85.635872,41.943594]},"n614":{"id":"n614","loc":[-85.635857,41.943551]},"n615":{"id":"n615","loc":[-85.635937,41.943535]},"n616":{"id":"n616","loc":[-85.63671,41.94344]},"n617":{"id":"n617","loc":[-85.636427,41.94334]},"n618":{"id":"n618","loc":[-85.635353,41.943279]},"n619":{"id":"n619","loc":[-85.635319,41.943257]},"n62":{"id":"n62","loc":[-85.6358,41.942997]},"n620":{"id":"n620","loc":[-85.638786,41.943105]},"n621":{"id":"n621","loc":[-85.634957,41.943146]},"n622":{"id":"n622","loc":[-85.635012,41.943119]},"n623":{"id":"n623","loc":[-85.632409,41.944222]},"n624":{"id":"n624","loc":[-85.631863,41.944749]},"n625":{"id":"n625","loc":[-85.631915,41.944722]},"n626":{"id":"n626","loc":[-85.631884,41.94464]},"n627":{"id":"n627","loc":[-85.631792,41.944359]},"n628":{"id":"n628","loc":[-85.631817,41.944703]},"n629":{"id":"n629","loc":[-85.633464,41.945787]},"n63":{"id":"n63","loc":[-85.635808,41.943176]},"n630":{"id":"n630","loc":[-85.633583,41.945919]},"n631":{"id":"n631","loc":[-85.63382,41.945698]},"n632":{"id":"n632","loc":[-85.633681,41.945571]},"n633":{"id":"n633","loc":[-85.634217,41.946824]},"n634":{"id":"n634","loc":[-85.634271,41.946836]},"n635":{"id":"n635","loc":[-85.634319,41.94573]},"n636":{"id":"n636","loc":[-85.634377,41.945672]},"n637":{"id":"n637","loc":[-85.634909,41.945354]},"n638":{"id":"n638","loc":[-85.634726,41.945493],"tags":{"artwork_type":"mural","tourism":"artwork"}},"n639":{"id":"n639","loc":[-85.63546,41.945612]},"n64":{"id":"n64","loc":[-85.63631,41.943253]},"n640":{"id":"n640","loc":[-85.635561,41.945493]},"n641":{"id":"n641","loc":[-85.635417,41.945565]},"n642":{"id":"n642","loc":[-85.635315,41.945583]},"n643":{"id":"n643","loc":[-85.63506,41.945383]},"n644":{"id":"n644","loc":[-85.635198,41.945199]},"n645":{"id":"n645","loc":[-85.635361,41.94558]},"n646":{"id":"n646","loc":[-85.635017,41.945066]},"n647":{"id":"n647","loc":[-85.634779,41.945206]},"n648":{"id":"n648","loc":[-85.63425,41.945655]},"n649":{"id":"n649","loc":[-85.634247,41.945631]},"n65":{"id":"n65","loc":[-85.635398,41.943259]},"n650":{"id":"n650","loc":[-85.634889,41.945921]},"n651":{"id":"n651","loc":[-85.634889,41.945939]},"n652":{"id":"n652","loc":[-85.634889,41.945761]},"n653":{"id":"n653","loc":[-85.634889,41.945778]},"n654":{"id":"n654","loc":[-85.635112,41.945715]},"n655":{"id":"n655","loc":[-85.635025,41.945714]},"n656":{"id":"n656","loc":[-85.635027,41.945761]},"n657":{"id":"n657","loc":[-85.635438,41.945665]},"n658":{"id":"n658","loc":[-85.635416,41.945676]},"n659":{"id":"n659","loc":[-85.635401,41.945709]},"n66":{"id":"n66","loc":[-85.635336,41.943036]},"n660":{"id":"n660","loc":[-85.635271,41.945566]},"n661":{"id":"n661","loc":[-85.636106,41.946268]},"n662":{"id":"n662","loc":[-85.635867,41.946747]},"n663":{"id":"n663","loc":[-85.636476,41.946797]},"n664":{"id":"n664","loc":[-85.63651,41.946796]},"n665":{"id":"n665","loc":[-85.635367,41.946389]},"n666":{"id":"n666","loc":[-85.635367,41.946437]},"n667":{"id":"n667","loc":[-85.634787,41.946441]},"n668":{"id":"n668","loc":[-85.6358,41.946243]},"n669":{"id":"n669","loc":[-85.635784,41.94622]},"n67":{"id":"n67","loc":[-85.635911,41.942899]},"n670":{"id":"n670","loc":[-85.635727,41.946195]},"n671":{"id":"n671","loc":[-85.635708,41.946588]},"n672":{"id":"n672","loc":[-85.635648,41.946561]},"n673":{"id":"n673","loc":[-85.635624,41.946555]},"n674":{"id":"n674","loc":[-85.635417,41.946559]},"n675":{"id":"n675","loc":[-85.634866,41.946561]},"n676":{"id":"n676","loc":[-85.634866,41.946543]},"n677":{"id":"n677","loc":[-85.635085,41.946546]},"n678":{"id":"n678","loc":[-85.635085,41.946554]},"n679":{"id":"n679","loc":[-85.634584,41.94488]},"n68":{"id":"n68","loc":[-85.635915,41.943156]},"n680":{"id":"n680","loc":[-85.634557,41.944882]},"n681":{"id":"n681","loc":[-85.634455,41.944943]},"n682":{"id":"n682","loc":[-85.634305,41.944968]},"n683":{"id":"n683","loc":[-85.634261,41.944927]},"n684":{"id":"n684","loc":[-85.634132,41.944741]},"n685":{"id":"n685","loc":[-85.633705,41.944759]},"n686":{"id":"n686","loc":[-85.633918,41.944616]},"n687":{"id":"n687","loc":[-85.633974,41.944663]},"n688":{"id":"n688","loc":[-85.6336,41.944665]},"n689":{"id":"n689","loc":[-85.633817,41.944528]},"n69":{"id":"n69","loc":[-85.63631,41.943157]},"n690":{"id":"n690","loc":[-85.633889,41.944485]},"n691":{"id":"n691","loc":[-85.633931,41.944525]},"n692":{"id":"n692","loc":[-85.633864,41.944563]},"n693":{"id":"n693","loc":[-85.633456,41.944524]},"n694":{"id":"n694","loc":[-85.633676,41.944399]},"n695":{"id":"n695","loc":[-85.633352,41.944415]},"n696":{"id":"n696","loc":[-85.633655,41.944234]},"n697":{"id":"n697","loc":[-85.633761,41.94435]},"n698":{"id":"n698","loc":[-85.633254,41.944318]},"n699":{"id":"n699","loc":[-85.633472,41.944188]},"n7":{"id":"n7","loc":[-85.638791,41.943231]},"n70":{"id":"n70","loc":[-85.63579,41.942967]},"n700":{"id":"n700","loc":[-85.633524,41.944237]},"n701":{"id":"n701","loc":[-85.633583,41.944202]},"n702":{"id":"n702","loc":[-85.633632,41.944247]},"n703":{"id":"n703","loc":[-85.633165,41.944228]},"n704":{"id":"n704","loc":[-85.633388,41.944105]},"n705":{"id":"n705","loc":[-85.633117,41.944175]},"n706":{"id":"n706","loc":[-85.633302,41.944077]},"n707":{"id":"n707","loc":[-85.633352,41.944126]},"n708":{"id":"n708","loc":[-85.633052,41.944107]},"n709":{"id":"n709","loc":[-85.633237,41.944009]},"n71":{"id":"n71","loc":[-85.637506,41.942824]},"n710":{"id":"n710","loc":[-85.633187,41.943955]},"n711":{"id":"n711","loc":[-85.633,41.944054]},"n712":{"id":"n712","loc":[-85.633155,41.944265]},"n713":{"id":"n713","loc":[-85.633669,41.944765]},"n714":{"id":"n714","loc":[-85.634468,41.945503]},"n715":{"id":"n715","loc":[-85.63455,41.945566]},"n716":{"id":"n716","loc":[-85.634737,41.945729]},"n717":{"id":"n717","loc":[-85.634753,41.945752]},"n718":{"id":"n718","loc":[-85.634756,41.945781]},"n719":{"id":"n719","loc":[-85.634758,41.945978]},"n72":{"id":"n72","loc":[-85.637511,41.943056]},"n720":{"id":"n720","loc":[-85.634363,41.945548],"tags":{"crossing":"zebra","highway":"crossing"}},"n721":{"id":"n721","loc":[-85.634245,41.945599]},"n722":{"id":"n722","loc":[-85.633474,41.944889]},"n723":{"id":"n723","loc":[-85.632997,41.944418]},"n724":{"id":"n724","loc":[-85.63278,41.944183]},"n725":{"id":"n725","loc":[-85.63331,41.944429]},"n726":{"id":"n726","loc":[-85.633568,41.944829],"tags":{"crossing":"zebra","highway":"crossing"}},"n727":{"id":"n727","loc":[-85.634669,41.94567]},"n728":{"id":"n728","loc":[-85.634462,41.945787]},"n729":{"id":"n729","loc":[-85.634272,41.945625]},"n73":{"id":"n73","loc":[-85.637361,41.943058]},"n730":{"id":"n730","loc":[-85.634344,41.945699],"tags":{"crossing":"zebra","highway":"crossing"}},"n731":{"id":"n731","loc":[-85.634426,41.945783]},"n732":{"id":"n732","loc":[-85.632425,41.944137]},"n733":{"id":"n733","loc":[-85.632302,41.944192]},"n734":{"id":"n734","loc":[-85.632762,41.944174]},"n735":{"id":"n735","loc":[-85.632713,41.944179]},"n736":{"id":"n736","loc":[-85.632411,41.944327]},"n737":{"id":"n737","loc":[-85.632362,41.944341]},"n738":{"id":"n738","loc":[-85.632236,41.944204]},"n739":{"id":"n739","loc":[-85.634939,41.942165]},"n74":{"id":"n74","loc":[-85.637356,41.942825]},"n740":{"id":"n740","loc":[-85.635079,41.941535]},"n741":{"id":"n741","loc":[-85.635112,41.941595]},"n742":{"id":"n742","loc":[-85.635113,41.941633]},"n743":{"id":"n743","loc":[-85.635067,41.941652]},"n744":{"id":"n744","loc":[-85.634989,41.941651]},"n745":{"id":"n745","loc":[-85.634921,41.941609]},"n746":{"id":"n746","loc":[-85.634881,41.941544]},"n747":{"id":"n747","loc":[-85.635537,41.940939]},"n748":{"id":"n748","loc":[-85.635573,41.941048]},"n749":{"id":"n749","loc":[-85.635453,41.94091]},"n75":{"id":"n75","loc":[-85.638097,41.942833]},"n750":{"id":"n750","loc":[-85.635319,41.940943]},"n751":{"id":"n751","loc":[-85.637057,41.943224]},"n752":{"id":"n752","loc":[-85.636989,41.943296]},"n753":{"id":"n753","loc":[-85.636851,41.943299]},"n754":{"id":"n754","loc":[-85.636848,41.94322]},"n755":{"id":"n755","loc":[-85.636986,41.943217]},"n756":{"id":"n756","loc":[-85.637569,41.943454]},"n757":{"id":"n757","loc":[-85.637437,41.943458]},"n758":{"id":"n758","loc":[-85.637432,41.943384]},"n759":{"id":"n759","loc":[-85.637564,41.94338]},"n76":{"id":"n76","loc":[-85.638098,41.942912]},"n760":{"id":"n760","loc":[-85.637213,41.943378]},"n761":{"id":"n761","loc":[-85.637217,41.943435]},"n762":{"id":"n762","loc":[-85.637235,41.943434]},"n763":{"id":"n763","loc":[-85.637237,41.943465]},"n764":{"id":"n764","loc":[-85.637424,41.943459]},"n765":{"id":"n765","loc":[-85.637418,41.943371]},"n766":{"id":"n766","loc":[-85.638094,41.943149]},"n767":{"id":"n767","loc":[-85.638096,41.943201]},"n768":{"id":"n768","loc":[-85.638041,41.943202]},"n769":{"id":"n769","loc":[-85.638042,41.943216]},"n77":{"id":"n77","loc":[-85.637705,41.942913]},"n770":{"id":"n770","loc":[-85.637927,41.943218]},"n771":{"id":"n771","loc":[-85.637926,41.943201]},"n772":{"id":"n772","loc":[-85.637897,41.943201]},"n773":{"id":"n773","loc":[-85.637896,41.943155]},"n774":{"id":"n774","loc":[-85.637962,41.943153]},"n775":{"id":"n775","loc":[-85.637962,41.943134]},"n776":{"id":"n776","loc":[-85.638017,41.943132]},"n777":{"id":"n777","loc":[-85.638018,41.943151]},"n778":{"id":"n778","loc":[-85.638045,41.943289]},"n779":{"id":"n779","loc":[-85.638048,41.943363]},"n78":{"id":"n78","loc":[-85.637705,41.942834]},"n780":{"id":"n780","loc":[-85.637842,41.943367]},"n781":{"id":"n781","loc":[-85.637839,41.943296]},"n782":{"id":"n782","loc":[-85.637896,41.943295]},"n783":{"id":"n783","loc":[-85.637897,41.943314]},"n784":{"id":"n784","loc":[-85.637957,41.943312]},"n785":{"id":"n785","loc":[-85.637957,41.943291]},"n786":{"id":"n786","loc":[-85.637816,41.943375]},"n787":{"id":"n787","loc":[-85.637815,41.943416]},"n788":{"id":"n788","loc":[-85.637715,41.943415]},"n789":{"id":"n789","loc":[-85.637716,41.943374]},"n79":{"id":"n79","loc":[-85.638071,41.942298]},"n790":{"id":"n790","loc":[-85.637912,41.943545]},"n791":{"id":"n791","loc":[-85.637909,41.943479]},"n792":{"id":"n792","loc":[-85.637967,41.943477]},"n793":{"id":"n793","loc":[-85.637967,41.94346]},"n794":{"id":"n794","loc":[-85.638077,41.943457]},"n795":{"id":"n795","loc":[-85.638078,41.943473]},"n796":{"id":"n796","loc":[-85.638124,41.943471]},"n797":{"id":"n797","loc":[-85.638126,41.943514]},"n798":{"id":"n798","loc":[-85.638079,41.943515]},"n799":{"id":"n799","loc":[-85.638079,41.943532]},"n8":{"id":"n8","loc":[-85.635241,41.941948]},"n80":{"id":"n80","loc":[-85.638074,41.942431]},"n800":{"id":"n800","loc":[-85.638028,41.943534]},"n801":{"id":"n801","loc":[-85.638028,41.943542]},"n802":{"id":"n802","loc":[-85.638845,41.942983]},"n803":{"id":"n803","loc":[-85.638846,41.94305]},"n804":{"id":"n804","loc":[-85.638661,41.943052]},"n805":{"id":"n805","loc":[-85.63866,41.942984]},"n806":{"id":"n806","loc":[-85.638579,41.942753]},"n807":{"id":"n807","loc":[-85.638445,41.942755]},"n808":{"id":"n808","loc":[-85.638452,41.942978]},"n809":{"id":"n809","loc":[-85.638545,41.942976]},"n81":{"id":"n81","loc":[-85.637836,41.942433]},"n810":{"id":"n810","loc":[-85.638543,41.942935]},"n811":{"id":"n811","loc":[-85.638571,41.942934]},"n812":{"id":"n812","loc":[-85.63857,41.942901]},"n813":{"id":"n813","loc":[-85.638611,41.9429]},"n814":{"id":"n814","loc":[-85.638607,41.942769]},"n815":{"id":"n815","loc":[-85.63858,41.94277]},"n816":{"id":"n816","loc":[-85.638597,41.942614]},"n817":{"id":"n817","loc":[-85.638601,41.94273]},"n818":{"id":"n818","loc":[-85.638686,41.942731]},"n819":{"id":"n819","loc":[-85.638689,41.942917]},"n82":{"id":"n82","loc":[-85.637835,41.94242]},"n820":{"id":"n820","loc":[-85.638558,41.943018]},"n821":{"id":"n821","loc":[-85.638243,41.943019]},"n822":{"id":"n822","loc":[-85.637536,41.943887]},"n823":{"id":"n823","loc":[-85.63749,41.943926]},"n824":{"id":"n824","loc":[-85.63743,41.943886]},"n825":{"id":"n825","loc":[-85.637476,41.943847]},"n826":{"id":"n826","loc":[-85.637527,41.943846]},"n827":{"id":"n827","loc":[-85.637141,41.943728]},"n828":{"id":"n828","loc":[-85.637201,41.943755]},"n829":{"id":"n829","loc":[-85.636987,41.943608]},"n83":{"id":"n83","loc":[-85.63776,41.942421]},"n830":{"id":"n830","loc":[-85.637441,41.943807]},"n831":{"id":"n831","loc":[-85.637673,41.94399]},"n832":{"id":"n832","loc":[-85.637783,41.944137]},"n833":{"id":"n833","loc":[-85.63845,41.944333]},"n834":{"id":"n834","loc":[-85.638159,41.944248]},"n835":{"id":"n835","loc":[-85.637859,41.94416]},"n836":{"id":"n836","loc":[-85.638685,41.944542]},"n837":{"id":"n837","loc":[-85.638714,41.944611]},"n838":{"id":"n838","loc":[-85.638711,41.944757]},"n839":{"id":"n839","loc":[-85.638774,41.945069]},"n84":{"id":"n84","loc":[-85.637758,41.942339]},"n840":{"id":"n840","loc":[-85.638742,41.945205]},"n841":{"id":"n841","loc":[-85.640267,41.942403]},"n842":{"id":"n842","loc":[-85.640154,41.942404]},"n843":{"id":"n843","loc":[-85.640152,41.942249]},"n844":{"id":"n844","loc":[-85.640266,41.942248]},"n845":{"id":"n845","loc":[-85.640366,41.942599]},"n846":{"id":"n846","loc":[-85.640362,41.942192]},"n847":{"id":"n847","loc":[-85.640146,41.942191]},"n848":{"id":"n848","loc":[-85.640122,41.942196]},"n849":{"id":"n849","loc":[-85.640108,41.942211]},"n85":{"id":"n85","loc":[-85.637836,41.942339]},"n850":{"id":"n850","loc":[-85.640101,41.942236]},"n851":{"id":"n851","loc":[-85.640103,41.94241]},"n852":{"id":"n852","loc":[-85.64011,41.942435]},"n853":{"id":"n853","loc":[-85.640126,41.942445]},"n854":{"id":"n854","loc":[-85.640153,41.942451]},"n855":{"id":"n855","loc":[-85.640183,41.942452]},"n856":{"id":"n856","loc":[-85.640364,41.942452]},"n857":{"id":"n857","loc":[-85.640007,41.942452]},"n858":{"id":"n858","loc":[-85.639449,41.942461]},"n859":{"id":"n859","loc":[-85.640049,41.942391]},"n86":{"id":"n86","loc":[-85.637835,41.942301]},"n860":{"id":"n860","loc":[-85.640052,41.942503]},"n861":{"id":"n861","loc":[-85.639575,41.94251]},"n862":{"id":"n862","loc":[-85.639572,41.942398]},"n863":{"id":"n863","loc":[-85.638782,41.942227]},"n864":{"id":"n864","loc":[-85.63843,41.942226]},"n865":{"id":"n865","loc":[-85.63823,41.942183]},"n866":{"id":"n866","loc":[-85.638363,41.942216],"tags":{"barrier":"gate"}},"n867":{"id":"n867","loc":[-85.6384,41.942223]},"n868":{"id":"n868","loc":[-85.636042,41.942797]},"n869":{"id":"n869","loc":[-85.636308,41.942752]},"n87":{"id":"n87","loc":[-85.637566,41.942367]},"n870":{"id":"n870","loc":[-85.636516,41.942729]},"n871":{"id":"n871","loc":[-85.636782,41.942712]},"n872":{"id":"n872","loc":[-85.636944,41.942706]},"n873":{"id":"n873","loc":[-85.63704,41.942706]},"n874":{"id":"n874","loc":[-85.637237,41.942703]},"n875":{"id":"n875","loc":[-85.637553,41.9427]},"n876":{"id":"n876","loc":[-85.638236,41.942697]},"n877":{"id":"n877","loc":[-85.636284,41.942781]},"n878":{"id":"n878","loc":[-85.636551,41.942641]},"n879":{"id":"n879","loc":[-85.633914,41.943693]},"n88":{"id":"n88","loc":[-85.637566,41.94241]},"n880":{"id":"n880","loc":[-85.63389,41.943708]},"n881":{"id":"n881","loc":[-85.633866,41.943686]},"n882":{"id":"n882","loc":[-85.63389,41.943671]},"n883":{"id":"n883","loc":[-85.633857,41.943609]},"n884":{"id":"n884","loc":[-85.634858,41.944474]},"n885":{"id":"n885","loc":[-85.633988,41.943234]},"n886":{"id":"n886","loc":[-85.633999,41.943485]},"n887":{"id":"n887","loc":[-85.634109,41.943449],"tags":{"emergency":"fire_hydrant"}},"n888":{"id":"n888","loc":[-85.635728,41.942655],"tags":{"emergency":"fire_hydrant"}},"n889":{"id":"n889","loc":[-85.636499,41.942845],"tags":{"man_made":"flagpole"}},"n89":{"id":"n89","loc":[-85.637455,41.94241]},"n890":{"id":"n890","loc":[-85.636197,41.943073]},"n891":{"id":"n891","loc":[-85.636227,41.943073]},"n892":{"id":"n892","loc":[-85.637433,41.942933],"tags":{"addr:city":"Three Rivers","addr:housenumber":"401","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","amenity":"restaurant","cuisine":"pizza","name":"Pizza Hut"}},"n893":{"id":"n893","loc":[-85.637907,41.942879],"tags":{"amenity":"car_wash"}},"n894":{"id":"n894","loc":[-85.637661,41.943018]},"n895":{"id":"n895","loc":[-85.636933,41.942733],"tags":{"emergency":"fire_hydrant"}},"n896":{"id":"n896","loc":[-85.637661,41.94304]},"n897":{"id":"n897","loc":[-85.637562,41.943041]},"n898":{"id":"n898","loc":[-85.637556,41.942725]},"n899":{"id":"n899","loc":[-85.637656,41.942724]},"n9":{"id":"n9","loc":[-85.635159,41.941926]},"n90":{"id":"n90","loc":[-85.637454,41.942367]},"n900":{"id":"n900","loc":[-85.637657,41.942779]},"n901":{"id":"n901","loc":[-85.637983,41.942777]},"n902":{"id":"n902","loc":[-85.637982,41.942616]},"n903":{"id":"n903","loc":[-85.637777,41.942778]},"n904":{"id":"n904","loc":[-85.637775,41.942699]},"n905":{"id":"n905","loc":[-85.637772,41.942618]},"n906":{"id":"n906","loc":[-85.637982,41.942698]},"n907":{"id":"n907","loc":[-85.637941,41.942378],"tags":{"addr:city":"Three Rivers","addr:housenumber":"416","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","name":"Gem Pawnbroker","shop":"pawnbroker"}},"n908":{"id":"n908","loc":[-85.637515,41.942394],"tags":{"second_hand":"only","shop":"car"}},"n909":{"id":"n909","loc":[-85.638743,41.942374],"tags":{"addr:city":"Three Rivers","addr:housenumber":"500","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","name":"William Towing","service:vehicle:towing":"yes","service:vehicle:tyres":"yes","shop":"car_repair"}},"n91":{"id":"n91","loc":[-85.637565,41.942341]},"n910":{"id":"n910","loc":[-85.638594,41.942357]},"n911":{"id":"n911","loc":[-85.634312,41.943562],"tags":{"addr:city":"Three Rivers","addr:housenumber":"145","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","amenity":"cafe","cuisine":"coffee_shop","name":"L.A.'s Coffee Cafe","outdoor_seating":"yes"}},"n912":{"id":"n912","loc":[-85.634404,41.943512]},"n913":{"id":"n913","loc":[-85.634391,41.943519],"tags":{"entrance":"yes"}},"n914":{"id":"n914","loc":[-85.634259,41.943538],"tags":{"entrance":"yes"}},"n915":{"id":"n915","loc":[-85.634247,41.943528]},"n916":{"id":"n916","loc":[-85.633747,41.943322],"tags":{"addr:city":"Three Rivers","addr:housenumber":"132","addr:postcode":"49093","addr:state":"MI","addr:street":"Michigan Avenue","name":"Preferred Insurance Services","office":"insurance"}},"n917":{"id":"n917","loc":[-85.63299,41.943686],"tags":{"addr:city":"Three Rivers","addr:housenumber":"101","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Lynn's Garage","service:vehicle:tyres":"yes","shop":"car_repair"}},"n918":{"id":"n918","loc":[-85.633438,41.944883]},"n919":{"id":"n919","loc":[-85.633265,41.944983]},"n92":{"id":"n92","loc":[-85.637481,41.942341]},"n920":{"id":"n920","loc":[-85.633315,41.945027]},"n921":{"id":"n921","loc":[-85.633376,41.944827]},"n922":{"id":"n922","loc":[-85.633199,41.944922]},"n923":{"id":"n923","loc":[-85.633316,41.944772]},"n924":{"id":"n924","loc":[-85.633147,41.944867]},"n925":{"id":"n925","loc":[-85.633261,41.944719]},"n926":{"id":"n926","loc":[-85.633096,41.944812]},"n927":{"id":"n927","loc":[-85.633191,41.944645]},"n928":{"id":"n928","loc":[-85.632981,41.94476]},"n929":{"id":"n929","loc":[-85.633062,41.94483]},"n93":{"id":"n93","loc":[-85.637481,41.94226]},"n930":{"id":"n930","loc":[-85.633146,41.944602]},"n931":{"id":"n931","loc":[-85.632969,41.944703]},"n932":{"id":"n932","loc":[-85.633008,41.944745]},"n933":{"id":"n933","loc":[-85.633088,41.944545]},"n934":{"id":"n934","loc":[-85.632868,41.944655]},"n935":{"id":"n935","loc":[-85.632941,41.944718]},"n936":{"id":"n936","loc":[-85.633028,41.944483]},"n937":{"id":"n937","loc":[-85.632817,41.944605]},"n938":{"id":"n938","loc":[-85.632923,41.944373]},"n939":{"id":"n939","loc":[-85.632692,41.944485]},"n94":{"id":"n94","loc":[-85.637565,41.94226]},"n940":{"id":"n940","loc":[-85.632871,41.944316]},"n941":{"id":"n941","loc":[-85.632655,41.944421]},"n942":{"id":"n942","loc":[-85.632711,41.944478]},"n943":{"id":"n943","loc":[-85.632825,41.94426]},"n944":{"id":"n944","loc":[-85.632606,41.944363]},"n945":{"id":"n945","loc":[-85.63275,41.94418]},"n946":{"id":"n946","loc":[-85.632588,41.944256]},"n947":{"id":"n947","loc":[-85.632611,41.944279]},"n948":{"id":"n948","loc":[-85.632548,41.944306]},"n949":{"id":"n949","loc":[-85.632512,41.944406]},"n95":{"id":"n95","loc":[-85.637188,41.942217]},"n950":{"id":"n950","loc":[-85.632565,41.944463]},"n951":{"id":"n951","loc":[-85.632579,41.944456]},"n952":{"id":"n952","loc":[-85.632634,41.944518]},"n953":{"id":"n953","loc":[-85.632686,41.944569]},"n954":{"id":"n954","loc":[-85.632745,41.944537]},"n955":{"id":"n955","loc":[-85.632659,41.944587]},"n956":{"id":"n956","loc":[-85.632778,41.944705]},"n957":{"id":"n957","loc":[-85.632815,41.944301],"tags":{"addr:city":"Three Rivers","addr:housenumber":"5","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Access Point Employment","office":"employment_agency"}},"n958":{"id":"n958","loc":[-85.6332,41.944174],"tags":{"addr:city":"Three Rivers","addr:housenumber":"6","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Paisley Emporium","shop":"second_hand"}},"n959":{"id":"n959","loc":[-85.633578,41.944568],"tags":{"addr:city":"Three Rivers","addr:housenumber":"22","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","name":"Lowry's Books","shop":"books"}},"n96":{"id":"n96","loc":[-85.637189,41.942303]},"n960":{"id":"n960","loc":[-85.63344,41.944443],"tags":{"addr:city":"Three Rivers","addr:housenumber":"16","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","amenity":"restaurant","cuisine":"pizza","name":"Paisano's Bar and Grill"}},"n961":{"id":"n961","loc":[-85.633009,41.944542],"tags":{"addr:city":"Three Rivers","addr:housenumber":"13","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","amenity":"cafe","cuisine":"american","internet_access":"yes","name":"Main Street Cafe"}},"n962":{"id":"n962","loc":[-85.633674,41.944682],"tags":{"addr:city":"Three Rivers","addr:housenumber":"28","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","leisure":"fitness_centre","name":"Main Street Fitness"}},"n963":{"id":"n963","loc":[-85.633376,41.944868],"tags":{"addr:city":"Three Rivers","addr:housenumber":"27","addr:postcode":"49093","addr:state":"MI","addr:street":"Main Street","leisure":"fitness_centre","name":"Main Street Barbell"}},"n964":{"id":"n964","loc":[-85.633366,41.944783]},"n965":{"id":"n965","loc":[-85.633296,41.94482]},"n966":{"id":"n966","loc":[-85.633214,41.94487]},"n967":{"id":"n967","loc":[-85.633005,41.944988]},"n968":{"id":"n968","loc":[-85.633269,41.944816]},"n969":{"id":"n969","loc":[-85.633215,41.944842]},"n97":{"id":"n97","loc":[-85.637299,41.942302]},"n970":{"id":"n970","loc":[-85.633245,41.944871]},"n971":{"id":"n971","loc":[-85.633296,41.944845]},"n972":{"id":"n972","loc":[-85.633254,41.944845],"tags":{"natural":"tree"}},"n973":{"id":"n973","loc":[-85.633557,41.945515]},"n974":{"id":"n974","loc":[-85.633279,41.945246]},"n975":{"id":"n975","loc":[-85.63324,41.945226]},"n976":{"id":"n976","loc":[-85.6332,41.945213]},"n977":{"id":"n977","loc":[-85.633133,41.945164]},"n978":{"id":"n978","loc":[-85.63312,41.945132]},"n979":{"id":"n979","loc":[-85.633095,41.945081]},"n98":{"id":"n98","loc":[-85.637299,41.942314]},"n980":{"id":"n980","loc":[-85.633064,41.945047]},"n981":{"id":"n981","loc":[-85.632739,41.944742]},"n982":{"id":"n982","loc":[-85.633281,41.945026]},"n983":{"id":"n983","loc":[-85.633155,41.944903]},"n984":{"id":"n984","loc":[-85.633079,41.944829]},"n985":{"id":"n985","loc":[-85.63304,41.944853]},"n986":{"id":"n986","loc":[-85.632949,41.944776]},"n987":{"id":"n987","loc":[-85.632921,41.944725]},"n988":{"id":"n988","loc":[-85.632859,41.944673]},"n989":{"id":"n989","loc":[-85.632895,41.94505]},"n99":{"id":"n99","loc":[-85.637396,41.942313]},"n990":{"id":"n990","loc":[-85.633336,41.945138]},"n991":{"id":"n991","loc":[-85.633466,41.945265]},"n992":{"id":"n992","loc":[-85.633367,41.945327]},"n993":{"id":"n993","loc":[-85.633163,41.945189]},"n994":{"id":"n994","loc":[-85.633678,41.945309]},"n995":{"id":"n995","loc":[-85.633619,41.945261]},"n996":{"id":"n996","loc":[-85.63355,41.945301]},"n997":{"id":"n997","loc":[-85.633607,41.945352]},"n998":{"id":"n998","loc":[-85.633579,41.945327],"tags":{"entrance":"yes"}},"n999":{"id":"n999","loc":[-85.633445,41.945404]},"r2":{"id":"r2","members":[{"id":"w225","role":"outer","type":"way"}],"tags":{"type":"multipolygon","waterway":"riverbank"}},"r5":{"id":"r5","members":[{"id":"w642","role":"outer","type":"way"}],"tags":{"admin_level":"8","border_type":"city","boundary":"administrative","name":"Three Rivers","place":"city","type":"boundary"}},"w1":{"id":"w1","nodes":["n5","n1797"],"tags":{"highway":"residential","name":"12th Avenue"}},"w10":{"id":"w10","nodes":["n54","n55","n56","n57","n891","n890","n54"],"tags":{"building":"yes"}},"w100":{"id":"w100","nodes":["n451","n915","n452"],"tags":{"highway":"footway"}},"w101":{"id":"w101","nodes":["n461","n462","n463","n464","n465","n466"],"tags":{"barrier":"fence"}},"w102":{"id":"w102","nodes":["n467","n468","n469","n470","n472","n467"],"tags":{"amenity":"parking"}},"w103":{"id":"w103","nodes":["n2597","n2444","n471","n472"],"tags":{"highway":"footway"}},"w104":{"id":"w104","nodes":["n473","n474","n325"],"tags":{"footway":"sidewalk","highway":"footway"}},"w105":{"id":"w105","nodes":["n475","n324","n325"],"tags":{"footway":"sidewalk","highway":"footway"}},"w106":{"id":"w106","nodes":["n886","n452","n476"],"tags":{"footway":"sidewalk","highway":"footway"}},"w107":{"id":"w107","nodes":["n485","n4678","n486","n18"],"tags":{"highway":"service"}},"w108":{"id":"w108","nodes":["n300","n487","n488","n489","n490"],"tags":{"highway":"footway"}},"w109":{"id":"w109","nodes":["n490","n491"],"tags":{"highway":"footway"}},"w11":{"id":"w11","nodes":["n58","n63","n59","n315","n60"],"tags":{"highway":"service"}},"w110":{"id":"w110","nodes":["n492","n493","n494","n495","n496","n497","n492"],"tags":{"building":"yes"}},"w111":{"id":"w111","nodes":["n498","n499","n511"],"tags":{"highway":"service"}},"w112":{"id":"w112","nodes":["n510","n500","n501","n502","n503","n504","n505","n506","n507","n508","n509"],"tags":{"highway":"service"}},"w113":{"id":"w113","nodes":["n511","n510"],"tags":{"covered":"yes","highway":"service"}},"w114":{"id":"w114","nodes":["n512","n513","n514","n515","n512"],"tags":{"building":"yes"}},"w115":{"id":"w115","nodes":["n516","n517","n518","n519","n516"],"tags":{"building":"yes"}},"w116":{"id":"w116","nodes":["n520","n521","n522","n523","n520"],"tags":{"building":"yes"}},"w117":{"id":"w117","nodes":["n524","n525","n526","n527","n528","n529","n530","n531","n532","n533","n534","n535","n524"],"tags":{"building":"yes"}},"w118":{"id":"w118","nodes":["n536","n537","n538","n539","n536"],"tags":{"building":"yes"}},"w119":{"id":"w119","nodes":["n540","n541","n542","n543","n544","n545","n546","n547","n540"],"tags":{"building":"yes"}},"w12":{"id":"w12","nodes":["n61","n314","n70","n62","n63"],"tags":{"highway":"service"}},"w120":{"id":"w120","nodes":["n548","n549","n550","n551","n552","n553","n554","n555","n556","n557","n548"],"tags":{"building":"yes"}},"w121":{"id":"w121","nodes":["n558","n559","n560","n561","n562","n563","n564","n565","n558"],"tags":{"building":"yes"}},"w122":{"id":"w122","nodes":["n566","n567","n568","n569","n566"],"tags":{"building":"yes"}},"w123":{"id":"w123","nodes":["n570","n571","n572","n573","n570"],"tags":{"building":"yes"}},"w124":{"id":"w124","nodes":["n574","n575","n576","n577","n574"],"tags":{"building":"yes"}},"w125":{"id":"w125","nodes":["n578","n579","n580","n581","n578"],"tags":{"building":"yes"}},"w126":{"id":"w126","nodes":["n582","n583","n584","n585","n582"],"tags":{"building":"yes"}},"w127":{"id":"w127","nodes":["n586","n587","n588","n589","n590","n591","n592","n593","n586"],"tags":{"building":"yes"}},"w128":{"id":"w128","nodes":["n594","n595","n596","n597","n598","n599","n600","n601","n594"],"tags":{"building":"yes"}},"w129":{"id":"w129","nodes":["n309","n602","n603"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w13":{"id":"w13","nodes":["n64","n65","n66","n67","n68","n69","n64"],"tags":{"amenity":"parking"}},"w130":{"id":"w130","nodes":["n603","n604"],"tags":{"footway":"sidewalk","highway":"footway"}},"w131":{"id":"w131","nodes":["n604","n605","n606"],"tags":{"footway":"sidewalk","highway":"footway"}},"w132":{"id":"w132","nodes":["n606","n607"],"tags":{"footway":"sidewalk","highway":"footway"}},"w133":{"id":"w133","nodes":["n607","n610","n608","n603"],"tags":{"footway":"sidewalk","highway":"footway"}},"w134":{"id":"w134","nodes":["n609","n610","n611"],"tags":{"highway":"service","service":"driveway","surface":"unpaved"}},"w135":{"id":"w135","nodes":["n244","n245","n246"],"tags":{"highway":"service"}},"w136":{"id":"w136","nodes":["n612","n613","n614","n615","n612"],"tags":{"amenity":"shelter"}},"w137":{"id":"w137","nodes":["n2779","n2788","n2776","n2778","n2775","n2787","n2440","n2437","n629","n2438","n630","n2439","n2407","n2408","n2409"],"tags":{"highway":"residential","name":"Foster Street"}},"w138":{"id":"w138","nodes":["n2779","n625","n626","n627"],"tags":{"highway":"residential","name":"Foster Street","oneway":"yes"}},"w139":{"id":"w139","nodes":["n630","n631","n632","n2437"],"tags":{"highway":"service"}},"w14":{"id":"w14","nodes":["n71","n72","n73","n74","n71"],"tags":{"building":"yes"}},"w140":{"id":"w140","nodes":["n643","n637","n715","n2410"],"tags":{"highway":"footway","name":"Mural Mall"}},"w141":{"id":"w141","nodes":["n639","n2516"],"tags":{"barrier":"wall"}},"w142":{"id":"w142","nodes":["n640","n641","n645","n642","n660","n643","n644"],"tags":{"highway":"service"}},"w143":{"id":"w143","nodes":["n646","n647"],"tags":{"highway":"service"}},"w144":{"id":"w144","nodes":["n654","n655","n656"],"tags":{"barrier":"wall"}},"w145":{"id":"w145","nodes":["n665","n666","n667"],"tags":{"barrier":"wall"}},"w146":{"id":"w146","nodes":["n2727","n662","n2719"],"tags":{"highway":"service","oneway":"yes","service":"parking_aisle"}},"w147":{"id":"w147","nodes":["n2725","n674"],"tags":{"highway":"service","oneway":"yes"}},"w148":{"id":"w148","nodes":["n2464","n2460","n2454","n684","n2455","n2464"],"tags":{"building":"yes"}},"w149":{"id":"w149","nodes":["n2456","n685","n686","n687","n2456"],"tags":{"building":"yes"}},"w15":{"id":"w15","nodes":["n75","n76","n77","n78","n75"],"tags":{"building":"yes"}},"w150":{"id":"w150","nodes":["n685","n688","n689","n690","n691","n692","n686","n685"],"tags":{"building":"yes"}},"w151":{"id":"w151","nodes":["n688","n693","n694","n689","n688"],"tags":{"building":"yes"}},"w152":{"id":"w152","nodes":["n693","n695","n702","n696","n697","n694","n693"],"tags":{"building":"yes"}},"w153":{"id":"w153","nodes":["n695","n698","n699","n700","n701","n702","n695"],"tags":{"building":"yes"}},"w154":{"id":"w154","nodes":["n698","n703","n707","n704","n699","n698"],"tags":{"building":"yes"}},"w155":{"id":"w155","nodes":["n703","n705","n706","n707","n703"],"tags":{"building":"yes"}},"w156":{"id":"w156","nodes":["n705","n708","n709","n706","n705"],"tags":{"building":"yes"}},"w157":{"id":"w157","nodes":["n709","n710","n711","n708","n709"],"tags":{"building":"yes"}},"w158":{"id":"w158","nodes":["n369","n712","n725","n713","n714","n715","n727","n716","n717","n718","n719"],"tags":{"footway":"sidewalk","highway":"footway"}},"w159":{"id":"w159","nodes":["n714","n720","n721"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w16":{"id":"w16","nodes":["n79","n80","n81","n82","n83","n84","n85","n86","n79"],"tags":{"building":"yes"}},"w160":{"id":"w160","nodes":["n729","n721","n722","n964","n723","n724"],"tags":{"footway":"sidewalk","highway":"footway"}},"w161":{"id":"w161","nodes":["n713","n726","n722"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w162":{"id":"w162","nodes":["n727","n2411","n728"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w163":{"id":"w163","nodes":["n729","n730","n731"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w164":{"id":"w164","nodes":["n365","n732","n733","n738"],"tags":{"footway":"sidewalk","highway":"footway"}},"w165":{"id":"w165","nodes":["n724","n734","n367","n735","n736","n737"],"tags":{"footway":"sidewalk","highway":"footway"}},"w166":{"id":"w166","nodes":["n739","n2037","n2038","n2039","n2040","n1623","n2032"],"tags":{"highway":"footway"}},"w167":{"id":"w167","nodes":["n150","n751"],"tags":{"highway":"service"}},"w168":{"id":"w168","nodes":["n752","n753","n754","n755","n752"],"tags":{"building":"yes"}},"w169":{"id":"w169","nodes":["n756","n757","n758","n759","n756"],"tags":{"building":"yes"}},"w17":{"id":"w17","nodes":["n87","n88","n89","n90","n87"],"tags":{"building":"yes"}},"w170":{"id":"w170","nodes":["n760","n761","n762","n763","n764","n765","n760"],"tags":{"building":"yes"}},"w171":{"id":"w171","nodes":["n766","n767","n768","n769","n770","n771","n772","n773","n774","n775","n776","n777","n766"],"tags":{"building":"yes"}},"w172":{"id":"w172","nodes":["n778","n779","n780","n781","n782","n783","n784","n785","n778"],"tags":{"building":"yes"}},"w173":{"id":"w173","nodes":["n786","n787","n788","n789","n786"],"tags":{"building":"yes"}},"w174":{"id":"w174","nodes":["n790","n791","n792","n793","n794","n795","n796","n797","n798","n799","n800","n801","n790"],"tags":{"building":"yes"}},"w175":{"id":"w175","nodes":["n802","n803","n804","n805","n802"],"tags":{"building":"yes"}},"w176":{"id":"w176","nodes":["n806","n807","n808","n809","n810","n811","n812","n813","n814","n815","n806"],"tags":{"building":"yes"}},"w177":{"id":"w177","nodes":["n816","n1140","n817","n818","n819","n820","n821"],"tags":{"highway":"service"}},"w178":{"id":"w178","nodes":["n822","n823","n824","n825","n822"],"tags":{"building":"yes"}},"w179":{"id":"w179","nodes":["n841","n842","n843","n844","n841"],"tags":{"building":"yes"}},"w18":{"id":"w18","nodes":["n91","n92","n93","n94","n91"],"tags":{"building":"yes"}},"w180":{"id":"w180","nodes":["n845","n856","n846"],"tags":{"highway":"service"}},"w181":{"id":"w181","nodes":["n846","n847","n848","n849","n850","n851","n852","n853","n854","n855","n856"],"tags":{"highway":"service","oneway":"yes","service":"drive-through"}},"w182":{"id":"w182","nodes":["n857","n858"],"tags":{"highway":"service"}},"w183":{"id":"w183","nodes":["n859","n860","n861","n862","n859"],"tags":{"amenity":"parking"}},"w184":{"id":"w184","nodes":["n863","n864","n867","n866","n865"],"tags":{"highway":"service"}},"w185":{"id":"w185","nodes":["n883","n884"],"tags":{"barrier":"fence"}},"w186":{"id":"w186","nodes":["n1954","n622","n1955"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w187":{"id":"w187","nodes":["n621","n1954"],"tags":{"highway":"steps","incline":"up","name":"Riverwalk Trail","surface":"wood"}},"w188":{"id":"w188","nodes":["n2274","n2275","n2276","n2277","n2278","n2279","n1953","n621"],"tags":{"highway":"path","name":"Riverwalk Trail","surface":"wood"}},"w189":{"id":"w189","nodes":["n2273","n2274"],"tags":{"highway":"steps","incline":"down","name":"Riverwalk Trail","surface":"wood"}},"w19":{"id":"w19","nodes":["n95","n96","n97","n98","n99","n100","n101","n102","n95"],"tags":{"building":"yes"}},"w190":{"id":"w190","nodes":["n821","n894","n900","n903","n901"],"tags":{"highway":"service"}},"w191":{"id":"w191","nodes":["n896","n897","n898","n899","n900","n894","n896"],"tags":{"amenity":"parking"}},"w192":{"id":"w192","nodes":["n903","n904","n905"],"tags":{"highway":"service"}},"w193":{"id":"w193","nodes":["n901","n906","n902"],"tags":{"highway":"service"}},"w194":{"id":"w194","nodes":["n912","n913"],"tags":{"highway":"footway"}},"w195":{"id":"w195","nodes":["n914","n915"],"tags":{"highway":"footway"}},"w196":{"id":"w196","nodes":["n2466","n918","n919","n920","n2466"],"tags":{"building":"yes"}},"w197":{"id":"w197","nodes":["n918","n921","n922","n919","n918"],"tags":{"building":"yes"}},"w198":{"id":"w198","nodes":["n923","n925","n926","n924","n923"],"tags":{"building":"yes"}},"w199":{"id":"w199","nodes":["n925","n927","n932","n928","n929","n926","n925"],"tags":{"building":"yes"}},"w2":{"id":"w2","nodes":["n3523","n2182","n2160"],"tags":{"highway":"service"}},"w20":{"id":"w20","nodes":["n103","n104","n105","n106","n107","n108","n109","n110","n111","n112","n113","n114","n103"],"tags":{"building":"yes"}},"w200":{"id":"w200","nodes":["n927","n930","n931","n932","n927"],"tags":{"building":"yes"}},"w201":{"id":"w201","nodes":["n930","n933","n934","n935","n931","n930"],"tags":{"building":"yes"}},"w202":{"id":"w202","nodes":["n933","n936","n937","n934","n933"],"tags":{"building":"yes"}},"w203":{"id":"w203","nodes":["n936","n938","n942","n939","n954","n937","n936"],"tags":{"building":"yes"}},"w204":{"id":"w204","nodes":["n938","n940","n941","n942","n938"],"tags":{"building":"yes"}},"w205":{"id":"w205","nodes":["n940","n943","n944","n941","n940"],"tags":{"building":"yes"}},"w206":{"id":"w206","nodes":["n943","n945","n946","n947","n948","n944","n943"],"tags":{"building":"yes"}},"w207":{"id":"w207","nodes":["n944","n949","n950","n951","n941","n944"],"tags":{"building":"yes"}},"w208":{"id":"w208","nodes":["n941","n951","n952","n939","n942","n941"],"tags":{"building":"yes"}},"w209":{"id":"w209","nodes":["n952","n953","n954","n939","n952"],"tags":{"building":"yes"}},"w21":{"id":"w21","nodes":["n115","n116","n117","n118","n115"],"tags":{"building":"yes"}},"w210":{"id":"w210","nodes":["n953","n955","n956","n934","n937","n954","n953"],"tags":{"building":"yes"}},"w211":{"id":"w211","nodes":["n964","n965"],"tags":{"highway":"footway"}},"w212":{"id":"w212","nodes":["n966","n983","n967","n989"],"tags":{"highway":"footway"}},"w213":{"id":"w213","nodes":["n965","n968","n969","n966","n970","n971","n965"],"tags":{"highway":"footway"}},"w214":{"id":"w214","nodes":["n973","n999","n992","n974","n975","n976","n993","n977","n978","n979","n980","n967","n981","n1000","n1001","n1002","n1003","n1004","n1005","n1006","n1007","n1008","n1009"],"tags":{"footway":"sidewalk","highway":"footway"}},"w215":{"id":"w215","nodes":["n978","n982","n983","n984","n985","n986","n987","n988","n981"],"tags":{"highway":"footway"}},"w216":{"id":"w216","nodes":["n976","n990","n991","n992"],"tags":{"highway":"footway"}},"w217":{"id":"w217","nodes":["n998","n999"],"tags":{"highway":"footway"}},"w218":{"id":"w218","nodes":["n1019","n1020","n1021","n1022","n731","n728","n1023","n1025","n1024","n1019"],"tags":{"footway":"sidewalk","highway":"footway"}},"w219":{"id":"w219","nodes":["n719","n1026","n1027"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w22":{"id":"w22","nodes":["n119","n120","n121","n122","n119"],"tags":{"building":"yes"}},"w220":{"id":"w220","nodes":["n1027","n1028","n1019"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w221":{"id":"w221","nodes":["n2080","n1828","n1863","n1829"],"tags":{"highway":"tertiary","name":"Constantine Street"}},"w222":{"id":"w222","nodes":["n1029","n1030","n1031"],"tags":{"highway":"service"}},"w223":{"id":"w223","nodes":["n2213","n2171","n2183","n2180","n2205","n2177","n2179","n2218","n2200","n2188","n2169","n2196","n2162","n2170","n2211","n2216","n2204","n2220","n2164","n2210","n2217","n2189","n460","n453","n2282"],"tags":{"name":"Rocky River","waterway":"river"}},"w224":{"id":"w224","nodes":["n3750","n3751","n3752"],"tags":{"highway":"service","service":"alley","surface":"unpaved"}},"w225":{"id":"w225","nodes":["n2134","n2127","n2313","n2109","n2112","n2129","n2156","n2146","n2126","n2153","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n2122","n2114","n2149","n2119","n2106","n2111","n2145","n2113","n2117","n2159","n2143","n2123","n2142","n2116","n2154","n2139","n2150","n2157","n2120","n2138","n2130","n2136","n2155","n2107","n2141","n2124","n3754","n2121","n2105","n2108","n3755","n2128","n2110","n2152","n2125","n2135","n2186","n2115","n2144","n2137","n2133","n2148","n2118","n1871","n1875","n1872","n2041","n1873","n2042","n1874","n1884","n1870","n2151","n2147","n2158","n2104","n2134"]},"w226":{"id":"w226","nodes":["n2243","n2280","n2244","n2245","n2246","n2247","n1931","n1932","n1933","n1934","n1935","n1936","n1937","n1938","n4681","n1939","n1940","n1941","n1942","n1943","n1944","n1945","n1946","n1947"],"tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"}},"w227":{"id":"w227","nodes":["n2994","n3012","n3011","n2958"],"tags":{"highway":"secondary","name":"Main Street"}},"w228":{"id":"w228","nodes":["n2747","n2762","n2757","n2746","n2761","n2758","n2760","n2755","n2749","n2691","n1028","n2432","n2414","n2413","n2412","n2411","n2410","n720","n726","n370","n368","n2748"],"tags":{"highway":"primary","name":"Main Street"}},"w229":{"id":"w229","nodes":["n2083","n2103","n2102","n2084","n2085","n2086","n2087","n2242","n471","n324","n2101","n332","n1868"],"tags":{"name":"Conrail Railroad","railway":"rail"}},"w23":{"id":"w23","nodes":["n123","n124","n125","n126","n123"],"tags":{"building":"yes"}},"w230":{"id":"w230","nodes":["n2232","n2236","n2231","n2230","n2226","n2241","n2237","n2227","n1182","n2233","n2228","n2229","n1183","n2234","n19","n1891","n20","n2223","n2224","n2238","n2235","n2240","n2225","n2239"],"tags":{"name":"Saint Joseph River","waterway":"river"}},"w231":{"id":"w231","nodes":["n456","n1036","n1037","n1038"],"tags":{"barrier":"wall"}},"w232":{"id":"w232","nodes":["n1034","n1039","n1040"],"tags":{"barrier":"wall"}},"w233":{"id":"w233","nodes":["n1041","n1042","n1043","n1044","n1045","n1046","n1041"],"tags":{"access":"private","leisure":"swimming_pool"}},"w234":{"id":"w234","nodes":["n1047","n1048"],"tags":{"barrier":"hedge"}},"w235":{"id":"w235","nodes":["n1049","n1050","n1051","n1052","n1049"],"tags":{"building":"yes"}},"w236":{"id":"w236","nodes":["n1053","n1054","n1055","n1056","n1057","n1058","n1059","n1060","n1053"],"tags":{"building":"yes"}},"w237":{"id":"w237","nodes":["n1061","n1062","n1063","n1064","n1065","n1061"],"tags":{"building":"yes"}},"w238":{"id":"w238","nodes":["n1066","n1067","n1068","n1069","n1070","n1071","n1066"],"tags":{"building":"yes"}},"w239":{"id":"w239","nodes":["n1072","n1073","n1074","n1075","n1072"],"tags":{"building":"yes"}},"w24":{"id":"w24","nodes":["n127","n128","n129","n130","n127"],"tags":{"building":"yes"}},"w240":{"id":"w240","nodes":["n1076","n1077","n1078","n1079","n1080","n1081","n1076"],"tags":{"building":"yes"}},"w241":{"id":"w241","nodes":["n1082","n1083","n1084","n1085","n1082"],"tags":{"building":"yes"}},"w242":{"id":"w242","nodes":["n1086","n1087","n1088","n1089","n1086"],"tags":{"building":"yes"}},"w243":{"id":"w243","nodes":["n1090","n1091","n1092","n1093","n1094","n1095","n1096","n1097","n1090"],"tags":{"building":"yes"}},"w244":{"id":"w244","nodes":["n1098","n1099","n1100","n1101"],"tags":{"barrier":"fence"}},"w245":{"id":"w245","nodes":["n1102","n835","n30","n2590","n35","n29","n2591","n34","n28","n2592","n2312","n32","n2593","n31","n33","n2594","n2595","n1102"],"tags":{"highway":"service"}},"w246":{"id":"w246","nodes":["n1103","n1139","n1104"],"tags":{"barrier":"fence"}},"w247":{"id":"w247","nodes":["n1105","n1106","n1107","n1108","n1109","n1110","n1111","n1112","n1113","n1114","n1105"],"tags":{"building":"yes"}},"w248":{"id":"w248","nodes":["n1115","n1116","n1117","n1118","n1119","n1120","n1115"],"tags":{"building":"yes"}},"w249":{"id":"w249","nodes":["n1121","n1122","n1123","n1124","n1121"],"tags":{"building":"yes"}},"w25":{"id":"w25","nodes":["n131","n132","n133","n134","n135","n136","n137","n138","n139","n140","n141","n142","n131"],"tags":{"building":"yes"}},"w250":{"id":"w250","nodes":["n1125","n1126","n1127","n1128","n1129","n1130","n1131","n1132","n1133","n1134","n1135","n1136","n1125"],"tags":{"building":"yes"}},"w251":{"id":"w251","nodes":["n1137","n1138","n1139"],"tags":{"barrier":"fence"}},"w252":{"id":"w252","nodes":["n876","n1140","n1141"],"tags":{"footway":"sidewalk","highway":"footway"}},"w253":{"id":"w253","nodes":["n1141","n1142","n1143","n1144","n1145","n1146"],"tags":{"footway":"sidewalk","highway":"footway"}},"w254":{"id":"w254","nodes":["n1146","n4743","n1147","n1148"],"tags":{"footway":"sidewalk","highway":"footway"}},"w255":{"id":"w255","nodes":["n1148","n1149","n1150","n1151"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w256":{"id":"w256","nodes":["n1151","n1153","n1154","n1155"],"tags":{"footway":"sidewalk","highway":"footway"}},"w257":{"id":"w257","nodes":["n1155","n1156"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w258":{"id":"w258","nodes":["n1157","n1158"],"tags":{"barrier":"retaining_wall"}},"w259":{"id":"w259","nodes":["n1156","n1161","n1159","n1160","n719"],"tags":{"footway":"sidewalk","highway":"footway"}},"w26":{"id":"w26","nodes":["n143","n608","n144"],"tags":{"highway":"service"}},"w260":{"id":"w260","nodes":["n1162","n1163","n1164","n1165","n1166","n1167","n1168","n1169","n1170","n2528"],"tags":{"highway":"footway"}},"w261":{"id":"w261","nodes":["n1171","n1172","n1173"],"tags":{"barrier":"wall"}},"w262":{"id":"w262","nodes":["n1175","n1176","n1177","n1178","n1179","n1180","n1181","n1175"],"tags":{"natural":"wood"}},"w263":{"id":"w263","nodes":["n1947","n1184","n1948","n1185","n1949","n1957","n1950","n480","n1951","n479","n478","n477","n1952","n1851","n1956","n2248","n619","n618","n2249","n2250","n2251","n617","n2252","n616","n2253","n829","n2254","n827","n828","n2255","n830","n2256","n826","n2257","n831","n2258","n832","n835","n834","n2312","n2267","n2259","n833","n2268","n2260","n836","n2261","n837","n2262","n838","n2263","n2264","n839","n2265","n840","n2266"],"tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"}},"w264":{"id":"w264","nodes":["n1186","n1187","n1188","n1189","n1186"],"tags":{"building":"yes"}},"w265":{"id":"w265","nodes":["n1190","n1191","n1192","n1193","n1190"],"tags":{"building":"yes"}},"w266":{"id":"w266","nodes":["n1194","n1195","n1196","n1197","n1198","n1199","n1200","n1201","n1194"],"tags":{"building":"yes"}},"w267":{"id":"w267","nodes":["n1205","n1206","n1207","n1208","n1209","n1210","n1205"],"tags":{"building":"house"}},"w268":{"id":"w268","nodes":["n1211","n1212","n1213","n1214","n1215","n1216","n1217","n1218","n1219","n1220","n1211"],"tags":{"building":"house"}},"w269":{"id":"w269","nodes":["n1221","n1225","n1222","n1223","n1224","n1221"],"tags":{"building":"house"}},"w27":{"id":"w27","nodes":["n145","n147","n146"],"tags":{"highway":"footway"}},"w270":{"id":"w270","nodes":["n1225","n1226","n1227","n1229","n1228"],"tags":{"barrier":"fence"}},"w271":{"id":"w271","nodes":["n1229","n1230"],"tags":{"barrier":"fence"}},"w272":{"id":"w272","nodes":["n1231","n1232","n1233","n1234","n1235","n1236","n1237","n1238","n1231"],"tags":{"building":"house"}},"w273":{"id":"w273","nodes":["n1239","n1240","n1241","n1242","n1243","n1244","n1245","n1246","n1239"],"tags":{"building":"house"}},"w274":{"id":"w274","nodes":["n1247","n1248","n1249","n1250","n1247"],"tags":{"building":"house"}},"w275":{"id":"w275","nodes":["n1251","n1252","n1253","n1254","n1255","n1256","n1251"],"tags":{"building":"house"}},"w276":{"id":"w276","nodes":["n1257","n1258","n1259","n1260","n1257"],"tags":{"building":"shed"}},"w277":{"id":"w277","nodes":["n1261","n1262","n1263","n1264","n1265","n1266","n1267","n1268","n1261"],"tags":{"building":"house"}},"w278":{"id":"w278","nodes":["n1269","n1270","n1271","n1272","n1273","n1274","n1284","n1269"],"tags":{"building":"house"}},"w279":{"id":"w279","nodes":["n1275","n1276","n1277","n1278","n1279","n1280","n1275"],"tags":{"building":"house"}},"w28":{"id":"w28","nodes":["n147","n148"],"tags":{"highway":"footway"}},"w280":{"id":"w280","nodes":["n1281","n1282","n1283","n1284"],"tags":{"barrier":"fence"}},"w281":{"id":"w281","nodes":["n1285","n1286","n1287","n1288","n1285"],"tags":{"building":"house"}},"w282":{"id":"w282","nodes":["n1289","n1290","n1291","n1292","n1293","n1294","n1295","n1296","n1289"],"tags":{"building":"house"}},"w283":{"id":"w283","nodes":["n1297","n1298","n1299","n1300","n1301","n1302","n1297"],"tags":{"access":"private","leisure":"swimming_pool"}},"w284":{"id":"w284","nodes":["n1303","n1304","n1305","n1306","n1307","n1308","n1309","n1310","n1311","n1312","n1303"],"tags":{"building":"house"}},"w285":{"id":"w285","nodes":["n1313","n1314","n1315","n1316","n1313"],"tags":{"building":"house"}},"w286":{"id":"w286","nodes":["n1317","n1318","n1319","n1320","n1321","n1322","n1323","n1324","n1325","n1326","n1327","n1328","n1329","n1330","n1317"],"tags":{"building":"house"}},"w287":{"id":"w287","nodes":["n1331","n1332","n1333","n1334","n1465","n1335","n1336","n1331"],"tags":{"building":"yes"}},"w288":{"id":"w288","nodes":["n1349","n1350","n1351","n1352","n1353","n1354","n1355","n1337","n1338","n1341","n1342","n1343","n1344","n1345","n1346","n1347","n1348","n1339","n1340","n1349"],"tags":{"access":"private","leisure":"swimming_pool"}},"w289":{"id":"w289","nodes":["n1356","n1331"],"tags":{"barrier":"fence"}},"w29":{"id":"w29","nodes":["n149","n874","n150","n151","n897","n898","n875","n152"],"tags":{"highway":"service","oneway":"yes"}},"w290":{"id":"w290","nodes":["n1357","n1358","n1359","n1360","n1357"],"tags":{"building":"shed"}},"w291":{"id":"w291","nodes":["n1358","n1361","n1362"],"tags":{"barrier":"fence"}},"w292":{"id":"w292","nodes":["n1363","n1364","n1365","n1366","n1367","n1368","n1363"],"tags":{"building":"house"}},"w293":{"id":"w293","nodes":["n1369","n1370","n1371","n1372","n1373","n1374","n1369"],"tags":{"leisure":"swimming_pool"}},"w294":{"id":"w294","nodes":["n1367","n1375","n1376","n1377"],"tags":{"barrier":"fence"}},"w295":{"id":"w295","nodes":["n1378","n1379","n1380","n1381","n1378"],"tags":{"building":"house"}},"w296":{"id":"w296","nodes":["n1382","n1383","n1384","n1385","n1386","n1387","n1382"],"tags":{"building":"house"}},"w297":{"id":"w297","nodes":["n1388","n1389","n1390","n1391","n1392","n1393","n1388"],"tags":{"building":"house"}},"w298":{"id":"w298","nodes":["n1394","n1395","n1396","n1397","n1394"],"tags":{"building":"house"}},"w299":{"id":"w299","nodes":["n1398","n1399","n1400","n1401","n1398"],"tags":{"access":"private3","leisure":"swimming_pool"}},"w3":{"id":"w3","nodes":["n1","n2"],"tags":{"highway":"track","name":"Water Street"}},"w30":{"id":"w30","nodes":["n153","n154","n155","n156","n153"],"tags":{"amenity":"parking"}},"w300":{"id":"w300","nodes":["n1402","n1403","n1404","n1405","n1406","n1407","n1408","n1409","n1410","n1411","n1412","n1413","n1402"],"tags":{"building":"house"}},"w301":{"id":"w301","nodes":["n1414","n1415","n1416","n1417","n1414"],"tags":{"building":"garage"}},"w302":{"id":"w302","nodes":["n1406","n1418","n1419","n1403"],"tags":{"barrier":"fence"}},"w303":{"id":"w303","nodes":["n1423","n1424","n1425","n1426","n1427","n1428","n1429","n1430","n1431","n1432","n1423"],"tags":{"building":"house"}},"w304":{"id":"w304","nodes":["n1433","n1434","n1435","n1446","n1436","n1437","n1438","n1439","n1444","n1440","n1441","n1445","n1442","n1443","n1433"],"tags":{"access":"private","leisure":"swimming_pool"}},"w305":{"id":"w305","nodes":["n1447","n1448","n1452","n1453","n1454","n1451","n1449","n1450","n1447"],"tags":{"building":"house"}},"w306":{"id":"w306","nodes":["n1455","n1456","n1457","n1458","n1455"],"tags":{"building":"shed"}},"w307":{"id":"w307","nodes":["n1459","n1460","n1461","n1462","n1459"],"tags":{"building":"shed"}},"w308":{"id":"w308","nodes":["n1463","n1464"],"tags":{"barrier":"fence"}},"w309":{"id":"w309","nodes":["n1465","n1466","n1467","n1468"],"tags":{"barrier":"fence"}},"w31":{"id":"w31","nodes":["n157","n605","n158"],"tags":{"highway":"service"}},"w310":{"id":"w310","nodes":["n1469","n1481","n1463"],"tags":{"barrier":"hedge"}},"w311":{"id":"w311","nodes":["n1470","n1471","n1472","n1473","n1474","n1475","n1480","n1476","n1477","n1478","n1479","n1470"],"tags":{"building":"house"}},"w312":{"id":"w312","nodes":["n1480","n1481"],"tags":{"barrier":"wall"}},"w313":{"id":"w313","nodes":["n1482","n1483","n1484","n1485","n1486","n1487","n1488","n1489","n1490","n1491","n1482"],"tags":{"access":"private","leisure":"swimming_pool"}},"w314":{"id":"w314","nodes":["n1492","n1493","n1494","n1495","n1496","n1497","n1498","n1499","n1500","n1501","n1502","n1503","n1504","n1505","n1492"],"tags":{"building":"house"}},"w315":{"id":"w315","nodes":["n1506","n1507","n1508","n1509","n1510","n1511","n1512","n1513","n1514","n1515","n1506"],"tags":{"building":"house"}},"w316":{"id":"w316","nodes":["n1516","n1517","n1518","n1519","n1520","n1521","n1522","n1523","n1516"],"tags":{"building":"house"}},"w317":{"id":"w317","nodes":["n1524","n1525","n1526","n1527","n1528","n1529","n1530","n1531","n1524"],"tags":{"building":"house"}},"w318":{"id":"w318","nodes":["n1532","n1533"],"tags":{"barrier":"fence"}},"w319":{"id":"w319","nodes":["n1534","n1532","n1535"],"tags":{"barrier":"fence"}},"w32":{"id":"w32","nodes":["n159","n160","n161","n162","n159"],"tags":{"amenity":"parking"}},"w320":{"id":"w320","nodes":["n1536","n1537","n1538","n1539","n1536"],"tags":{"building":"shed"}},"w321":{"id":"w321","nodes":["n1540","n1541","n1542","n1543","n1540"],"tags":{"building":"shed"}},"w322":{"id":"w322","nodes":["n1544","n1545","n1546","n1547","n1544"],"tags":{"building":"shed"}},"w323":{"id":"w323","nodes":["n1548","n1549","n1550","n1551","n1548"],"tags":{"building":"house"}},"w324":{"id":"w324","nodes":["n1552","n1553","n1554","n1555","n1556","n1557","n1558","n1559","n1552"],"tags":{"building":"house"}},"w325":{"id":"w325","nodes":["n1560","n1561","n1562","n1563","n1564","n1565","n1566","n1567","n1560"],"tags":{"building":"house"}},"w326":{"id":"w326","nodes":["n1561","n1568","n1569","n1570"],"tags":{"barrier":"wall"}},"w327":{"id":"w327","nodes":["n1571","n1572"],"tags":{"barrier":"fence"}},"w328":{"id":"w328","nodes":["n1573","n1574","n1575","n1576","n1573"],"tags":{"building":"house"}},"w329":{"id":"w329","nodes":["n1577","n1578","n1579","n1580","n1581","n1582","n1583","n1584","n1585","n1586","n1577"],"tags":{"building":"house"}},"w33":{"id":"w33","nodes":["n157","n163"],"tags":{"highway":"service"}},"w330":{"id":"w330","nodes":["n1587","n1588","n1589","n1590","n1591","n1592","n1593","n1594","n1587"],"tags":{"building":"house"}},"w331":{"id":"w331","nodes":["n1595","n1596","n1597","n1598","n1599","n1600","n1601","n1595"],"tags":{"access":"private","leisure":"swimming_pool"}},"w332":{"id":"w332","nodes":["n1602","n1603","n1604","n1605","n1606","n1607","n1608","n1609","n1611","n1610","n1612","n1613","n1602"],"tags":{"building":"house"}},"w333":{"id":"w333","nodes":["n2018","n1626","n1627","n2017","n2018"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w334":{"id":"w334","nodes":["n2","n3","n2764"],"tags":{"highway":"service","name":"Water Street"}},"w335":{"id":"w335","nodes":["n3","n1628","n1614"],"tags":{"highway":"service"}},"w336":{"id":"w336","nodes":["n3198","n4545","n2747"],"tags":{"highway":"residential","name":"Morris Avenue"}},"w337":{"id":"w337","nodes":["n1629","n3504"],"tags":{"highway":"service","service":"alley","surface":"unpaved"}},"w338":{"id":"w338","nodes":["n1813","n1635","n1814","n1634","n1815","n1632","n1816","n1817"],"tags":{"highway":"service","service":"parking_aisle"}},"w339":{"id":"w339","nodes":["n1827","n4684","n4690","n1842","n4686","n4685","n1826","n1828","n1846","n1645","n1637","n4703","n1641"],"tags":{"highway":"residential","name":"Millard Street"}},"w34":{"id":"w34","nodes":["n164","n165","n166","n171","n866","n172","n167","n168","n169","n910","n170","n164"],"tags":{"amenity":"parking"}},"w340":{"id":"w340","nodes":["n1824","n1825"],"tags":{"highway":"service","service":"parking_aisle"}},"w341":{"id":"w341","nodes":["n1701","n1702","n1703","n1704","n1705","n1706","n1701"],"tags":{"building":"yes"}},"w342":{"id":"w342","nodes":["n1855","n1860","n1856","n1775","n1804","n1776","n1855"],"tags":{"amenity":"parking","fee":"no"}},"w343":{"id":"w343","nodes":["n1757","n1758","n1759","n1760","n1757"],"tags":{"building":"yes"}},"w344":{"id":"w344","nodes":["n1659","n1660","n1661","n1662","n1663","n1664","n1665","n1666","n1659"],"tags":{"building":"school"}},"w345":{"id":"w345","nodes":["n1751","n1752","n1753","n1754","n1755","n1756","n1751"],"tags":{"building":"yes"}},"w346":{"id":"w346","nodes":["n1641","n1676","n1673","n1639","n1810","n1642","n1849","n4759","n1845"],"tags":{"highway":"residential","name":"Douglas Avenue"}},"w347":{"id":"w347","nodes":["n1642","n1643","n1031","n1630","n845","n1631","n816","n1831","n902","n905","n152","n149","n1832","n1850","n878","n1833","n1852","n42","n1834","n61","n60","n1851","n1835"],"tags":{"highway":"primary","name":"Michigan Avenue"}},"w348":{"id":"w348","nodes":["n1650","n1651","n1652","n1653","n1654","n1655","n1656","n1657","n1658","n1650"],"tags":{"leisure":"playground"}},"w349":{"id":"w349","nodes":["n1861","n1818","n1819","n1820","n1821","n1825","n1823","n1639"],"tags":{"highway":"service"}},"w35":{"id":"w35","nodes":["n168","n167","n172"],"tags":{"barrier":"fence","fence_type":"chain_link"}},"w350":{"id":"w350","nodes":["n1783","n1819","n1784","n1857","n1861","n1858","n1783"],"tags":{"amenity":"parking"}},"w351":{"id":"w351","nodes":["n1717","n1718","n1719","n1720","n1717"],"tags":{"building":"yes"}},"w352":{"id":"w352","nodes":["n1743","n1744","n1745","n1746","n1747","n1748","n1749","n1750","n1743"],"tags":{"building":"yes"}},"w353":{"id":"w353","nodes":["n1637","n1636","n1029","n4715","n1630"],"tags":{"highway":"residential","name":"Lincoln Avenue"}},"w354":{"id":"w354","nodes":["n1713","n1714","n1715","n1716","n1713"],"tags":{"building":"yes"}},"w355":{"id":"w355","nodes":["n1689","n1690","n1691","n1692","n1693","n1694","n1695","n1696","n1689"],"tags":{"building":"yes"}},"w356":{"id":"w356","nodes":["n1631","n4717","n1840","n4745","n1841"],"tags":{"highway":"residential","name":"Hook Avenue"}},"w357":{"id":"w357","nodes":["n1737","n1738","n1739","n1740","n1741","n1742","n1737"],"tags":{"building":"yes"}},"w358":{"id":"w358","nodes":["n1707","n1708","n1709","n1710","n1711","n1712","n1707"],"tags":{"building":"yes"}},"w359":{"id":"w359","nodes":["n1829","n4695","n4697","n1843","n4698","n4701","n1638","n4702","n4705","n1636","n4706","n4707","n1633"],"tags":{"highway":"residential","name":"South Street"}},"w36":{"id":"w36","nodes":["n910","n171","n866","n172"],"tags":{"barrier":"fence","fence_type":"chain_link"}},"w360":{"id":"w360","nodes":["n1767","n1768","n1769","n1770","n1771","n1772","n1773","n1774","n1767"],"tags":{"building":"yes"}},"w361":{"id":"w361","nodes":["n1859","n1860","n1804","n1640","n1805","n1817","n1806","n1644","n1811","n1807","n1808","n3419","n1812","n1790","n3418","n3744","n1809","n1813","n1810"],"tags":{"highway":"service"}},"w362":{"id":"w362","nodes":["n1639","n1683","n4710","n1633"],"tags":{"highway":"residential","name":"South Street","oneway":"yes"}},"w363":{"id":"w363","nodes":["n1646","n1647","n1648","n1649","n1646"],"tags":{"leisure":"pitch","pitch":"basketball"}},"w364":{"id":"w364","nodes":["n3820","n3821","n3822","n3823","n3824","n3825","n3826","n3827","n3828","n3829","n3830","n3838","n3839","n3820"],"tags":{"amenity":"school","name":"Three Rivers Middle School"}},"w365":{"id":"w365","nodes":["n1721","n1722","n1723","n1724","n1725","n1726","n1727","n1728","n1729","n1730","n1731","n1732","n1733","n1734","n1735","n1736","n1721"],"tags":{"building":"yes"}},"w366":{"id":"w366","nodes":["n1791","n1792","n1793","n1794","n1795","n1796","n1798","n1799","n1800","n1801","n1802","n1803","n1791"],"tags":{"amenity":"parking"}},"w367":{"id":"w367","nodes":["n1633","n4708","n4711","n1643","n4712","n1838","n4752","n1839"],"tags":{"highway":"residential","name":"Grant Avenue"}},"w368":{"id":"w368","nodes":["n1853","n1687","n1688","n1854","n1853"],"tags":{"amenity":"library","building":"yes","name":"Three Rivers Public Library"}},"w369":{"id":"w369","nodes":["n1777","n1778","n1779","n1780","n1781","n1782","n1777"],"tags":{"amenity":"parking"}},"w37":{"id":"w37","nodes":["n173","n174","n175","n176","n177","n178","n179","n180","n173"],"tags":{"building":"yes"}},"w370":{"id":"w370","nodes":["n1645","n1638","n858","n4718","n1631"],"tags":{"highway":"residential","name":"Hook Avenue"}},"w371":{"id":"w371","nodes":["n3836","n3835","n4624","n3831","n4632","n3834","n3832","n3833","n3830","n3838","n3839","n3837","n3836"],"tags":{"amenity":"school","name":"Three Rivers High School"}},"w372":{"id":"w372","nodes":["n1697","n1698","n1699","n1700","n1697"],"tags":{"building":"yes"}},"w373":{"id":"w373","nodes":["n2891","n1785","n1786","n3394","n1787","n1788","n1789","n1830","n1836","n1837","n1848","n3409","n2891"],"tags":{"amenity":"parking"}},"w374":{"id":"w374","nodes":["n1761","n1762","n1763","n1764","n1765","n1766","n1761"],"tags":{"building":"yes"}},"w375":{"id":"w375","nodes":["n1822","n1823"],"tags":{"highway":"service","service":"parking_aisle"}},"w376":{"id":"w376","nodes":["n1677","n1678","n1679","n1680","n1681","n1682","n1677"],"tags":{"amenity":"parking"}},"w377":{"id":"w377","nodes":["n1676","n1675","n1674","n1673"],"tags":{"highway":"service","oneway":"yes"}},"w378":{"id":"w378","nodes":["n1667","n1668","n1669","n1670","n1671","n1672","n1667"],"tags":{"amenity":"school","name":"Andrews Elementary School"}},"w379":{"id":"w379","nodes":["n1630","n4714","n1847","n4750","n1844"],"tags":{"highway":"residential","name":"Lincoln Avenue"}},"w38":{"id":"w38","nodes":["n181","n182","n183","n185","n184","n181"],"tags":{"building":"yes"}},"w380":{"id":"w380","nodes":["n1683","n3745","n1686","n1633"],"tags":{"highway":"service","oneway":"yes","service":"parking_aisle"}},"w381":{"id":"w381","nodes":["n2022","n2037"],"tags":{"highway":"footway"}},"w382":{"id":"w382","nodes":["n1826","n1863"],"tags":{"highway":"residential"}},"w383":{"id":"w383","nodes":["n2011","n2012","n739","n2013","n2014","n2029","n2011"],"tags":{"amenity":"shelter","building":"yes","shelter_type":"picnic_shelter"}},"w384":{"id":"w384","nodes":["n2064","n2065","n2066","n2067","n2068","n2069","n2070","n2071","n2072","n2073","n2074","n2075","n2076","n2077","n2078","n2079","n2064"],"tags":{"building":"yes"}},"w385":{"id":"w385","nodes":["n1923","n1924","n1925","n1926","n1927","n1928","n1930","n1929","n1923"],"tags":{"natural":"water"}},"w386":{"id":"w386","nodes":["n1827","n14","n1886","n15","n1887","n16","n1888","n18","n17","n1889","n12","n13","n1890","n485","n1864","n11","n10","n2058","n2036","n1865","n2020","n9","n8","n1866","n295","n1867"],"tags":{"highway":"service"}},"w387":{"id":"w387","nodes":["n1846","n1843","n865","n157","n4721","n1831"],"tags":{"highway":"residential","name":"Andrews Street"}},"w388":{"id":"w388","nodes":["n2019","n2020","n2021","n2022","n2023","n2024","n2025","n2026","n2027","n2028","n2029"],"tags":{"highway":"footway"}},"w389":{"id":"w389","nodes":["n2217","n2222","n2221","n2219","n1877","n1879","n1882","n1883","n484","n1885","n483","n1880","n1881","n1878","n1884","n2223"],"tags":{"name":"Rocky River","waterway":"river"}},"w39":{"id":"w39","nodes":["n185","n186","n187"],"tags":{"barrier":"fence"}},"w390":{"id":"w390","nodes":["n2050","n2051","n2052","n2053","n2050"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w391":{"id":"w391","nodes":["n2089","n2090","n2091","n2092","n2093","n2094","n2311","n2095","n2096","n2097","n2098","n1174","n2099","n751","n43","n2062","n4725","n873","n1832"],"tags":{"highway":"residential","name":"Constantine Street"}},"w392":{"id":"w392","nodes":["n1869","n212","n436","n2281","n2081"],"tags":{"highway":"primary","name":"Michigan Avenue"}},"w393":{"id":"w393","nodes":["n1829","n611","n144","n4694","n602","n1832"],"tags":{"highway":"tertiary","name":"Constantine Street"}},"w394":{"id":"w394","nodes":["n1997","n1998","n2000","n1999"],"tags":{"highway":"service","service":"parking_aisle"}},"w395":{"id":"w395","nodes":["n1835","n1869"],"tags":{"bridge":"yes","highway":"primary","name":"Michigan Avenue"}},"w396":{"id":"w396","nodes":["n2000","n2001"],"tags":{"highway":"service","service":"parking_aisle"}},"w397":{"id":"w397","nodes":["n2082","n4688","n1842","n308","n498","n509","n246","n241","n1867","n4645","n293","n1834"],"tags":{"highway":"residential","name":"Spring Street"}},"w398":{"id":"w398","nodes":["n2015","n2016","n2017","n2018","n2015"],"tags":{"building":"yes"}},"w399":{"id":"w399","nodes":["n2062","n45","n2063","n877","n41","n1852"],"tags":{"highway":"service"}},"w4":{"id":"w4","nodes":["n7","n38","n378","n379","n7"],"tags":{"building":"yes"}},"w40":{"id":"w40","nodes":["n188","n189","n190","n191","n192","n193","n188"],"tags":{"building":"house"}},"w400":{"id":"w400","nodes":["n1968","n1969","n1970","n1971","n2007","n1972","n1973","n1978","n1974","n1977","n1976","n1975","n1968"],"tags":{"amenity":"parking"}},"w401":{"id":"w401","nodes":["n1963","n1964"],"tags":{"bridge":"yes","highway":"footway"}},"w402":{"id":"w402","nodes":["n1892","n1893","n1894","n1895","n1896","n1897","n1898","n1899","n1900","n1901","n1902","n1903","n1892"],"tags":{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street","barrier":"fence","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"}},"w403":{"id":"w403","nodes":["n1957","n1958","n1959","n481","n1960","n482","n1949"],"tags":{"highway":"path"}},"w404":{"id":"w404","nodes":["n2281","n27","n330","n1987","n1988"],"tags":{"highway":"service"}},"w405":{"id":"w405","nodes":["n2249","n2269","n2270","n2271","n2272","n454","n455","n2273"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w406":{"id":"w406","nodes":["n1947","n1624","n1625","n2030","n2033","n4658","n4659","n2031","n2032","n2021"],"tags":{"highway":"footway"}},"w407":{"id":"w407","nodes":["n2034","n2036","n2009"],"tags":{"highway":"footway"}},"w408":{"id":"w408","nodes":["n1964","n1965","n2002","n1966","n21","n1967","n1969"],"tags":{"highway":"footway"}},"w409":{"id":"w409","nodes":["n1904","n1905","n1906","n1907","n1908","n1909","n748","n1910","n747","n1911","n749","n1912","n750","n1913","n1922","n1914","n1921","n1915","n746","n1916","n745","n1917","n744","n1918","n743","n742","n1919","n741","n1920","n740","n1904"],"tags":{"natural":"water"}},"w41":{"id":"w41","nodes":["n194","n195","n196","n197","n198","n199","n200","n201","n202","n203","n204","n205","n194"],"tags":{"building":"house"}},"w410":{"id":"w410","nodes":["n1868","n2088"],"tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail"}},"w411":{"id":"w411","nodes":["n2010","n2019","n2009","n2008","n2058","n2035","n1961","n1962","n1947","n1963"],"tags":{"highway":"footway"}},"w412":{"id":"w412","nodes":["n2290","n2043","n2044","n2045","n1872","n2041","n1873","n2042","n1874","n2046","n2047","n2048","n2049","n2290"],"tags":{"addr:city":"Three Rivers","addr:housenumber":"112","addr:postcode":"49093","addr:state":"MI","addr:street":"Spring Street","leisure":"park","name":"Scidmore Park"}},"w413":{"id":"w413","nodes":["n1831","n876","n4720","n821","n2089"],"tags":{"highway":"residential","name":"Andrews Street"}},"w414":{"id":"w414","nodes":["n2002","n2003","n2004","n2005","n2006","n2007"],"tags":{"highway":"footway"}},"w415":{"id":"w415","nodes":["n1979","n1980","n1981","n1982","n1979"],"tags":{"amenity":"parking"}},"w416":{"id":"w416","nodes":["n2054","n2055","n2056","n2057","n2054"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w417":{"id":"w417","nodes":["n2291","n2292","n2293","n2294","n2295","n2296","n2297","n2298","n2299","n1098","n2300","n2301","n2302","n2303","n2304","n2059","n2060","n2305","n2307","n2306","n2310","n2308","n2309","n2291"],"tags":{"leisure":"park","name":"Memory Isle Park"}},"w418":{"id":"w418","nodes":["n2033","n2034","n2035"],"tags":{"highway":"footway"}},"w419":{"id":"w419","nodes":["n1983","n1984","n1985","n1986","n1983"],"tags":{"amenity":"parking"}},"w42":{"id":"w42","nodes":["n206","n207","n208","n209","n210","n211","n206"],"tags":{"building":"house"}},"w420":{"id":"w420","nodes":["n1840","n4746","n4748","n1847","n4749","n4755","n1838","n4754","n4756","n1849"],"tags":{"highway":"residential","name":"French Street"}},"w421":{"id":"w421","nodes":["n2337","n2268"],"tags":{"highway":"path"}},"w422":{"id":"w422","nodes":["n2338","n2339","n2320","n2317","n2319","n2318","n2340","n2341","n2342","n2343","n2344","n2345","n2346","n2347","n2348","n2338"],"tags":{"natural":"water"}},"w423":{"id":"w423","nodes":["n2180","n2349","n2350","n2351","n2352","n2404","n2353","n2354","n2355","n2356","n2357","n2358","n2359","n2360","n2361","n2362","n2363","n2364","n2365","n2366","n2370","n2371","n2372","n2373","n2374","n2375","n2377","n2378","n2380","n2381","n2382","n2383","n2386","n2389","n2390","n2391","n2392","n2393","n2396","n2397","n2401","n2402","n2321","n2322","n2323","n2403","n2180"],"tags":{"natural":"wetland"}},"w424":{"id":"w424","nodes":["n2324","n2316","n1841","n2315","n2314","n1844","n1839","n4758","n1845"],"tags":{"highway":"residential","name":"Pealer Street"}},"w425":{"id":"w425","nodes":["n2267","n2337","n2336","n2335","n2334","n2333","n2332","n2331","n2330","n37","n2329","n2328","n2327","n36","n2326","n2325","n2266"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w426":{"id":"w426","nodes":["n2478","n681","n680","n679","n2459","n2467","n2487","n2478"],"tags":{"building":"yes"}},"w427":{"id":"w427","nodes":["n2671","n2672","n2673","n2674","n2671"],"tags":{"building":"yes"}},"w428":{"id":"w428","nodes":["n2483","n2482","n2486","n2489","n2492","n2502","n2495","n2480","n2483"],"tags":{"building":"yes"}},"w429":{"id":"w429","nodes":["n2707","n2708","n2716","n2712","n2714","n2713","n2715","n2711","n2710","n2723","n2709","n2707"],"tags":{"amenity":"parking"}},"w43":{"id":"w43","nodes":["n1955","n1956"],"tags":{"footway":"sidewalk","highway":"footway","name":"Riverwalk Trail"}},"w430":{"id":"w430","nodes":["n2471","n2474","n2484","n2479","n2471"],"tags":{"building":"yes"}},"w431":{"id":"w431","nodes":["n2218","n2434","n2436","n2433","n2435","n2210"],"tags":{"name":"Rocky River","waterway":"river"}},"w432":{"id":"w432","nodes":["n2782","n2532","n2783","n2784","n2782"],"tags":{"amenity":"parking"}},"w433":{"id":"w433","nodes":["n2513","n649","n2520","n2514","n2507","n2513"],"tags":{"building":"yes"}},"w434":{"id":"w434","nodes":["n2470","n2468","n2461","n2465","n2470"],"tags":{"building":"yes"}},"w435":{"id":"w435","nodes":["n2598","n2599","n648","n649","n2520","n2598"],"tags":{"building":"yes"}},"w436":{"id":"w436","nodes":["n2639","n2640","n2641","n2642","n2643","n2644","n2645","n2646","n2647","n2648","n2639"],"tags":{"building":"yes"}},"w437":{"id":"w437","nodes":["n2503","n2512","n2508","n2499","n2503"],"tags":{"building":"yes"}},"w438":{"id":"w438","nodes":["n2440","n2800","n2774","n1"],"tags":{"highway":"residential","name":"Water Street"}},"w439":{"id":"w439","nodes":["n2675","n2676","n2677","n2678","n2675"],"tags":{"building":"yes"}},"w44":{"id":"w44","nodes":["n213","n214","n215","n216","n213"],"tags":{"building":"yes"}},"w440":{"id":"w440","nodes":["n2512","n2503","n2507","n2514","n2512"],"tags":{"building":"yes"}},"w441":{"id":"w441","nodes":["n2554","n2717","n674","n2720","n2798"],"tags":{"highway":"service","oneway":"yes"}},"w442":{"id":"w442","nodes":["n2583","n2596","n2584","n2585","n2595","n2586","n2587","n2588","n2589","n2583"],"tags":{"amenity":"parking"}},"w443":{"id":"w443","nodes":["n2629","n2627","n2628","n2616","n2630","n2629"],"tags":{"building":"yes"}},"w444":{"id":"w444","nodes":["n2717","n2724","n670","n2718","n669","n668","n2722","n2727"],"tags":{"highway":"service","oneway":"yes","service":"parking_aisle"}},"w445":{"id":"w445","nodes":["n2572","n2573"],"tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"}},"w446":{"id":"w446","nodes":["n2603","n2604","n2601","n2605","n2606","n2607","n2603"],"tags":{"building":"yes"}},"w447":{"id":"w447","nodes":["n2780","n2777","n628","n624","n2779"],"tags":{"highway":"residential","name":"Foster Street","oneway":"yes"}},"w448":{"id":"w448","nodes":["n2733","n2734","n2735","n2736","n2737","n2738","n663","n664","n2739","n2733"],"tags":{"building":"yes"}},"w449":{"id":"w449","nodes":["n2564","n2565","n2566","n2567","n2568","n2794","n2795","n2564"],"tags":{"amenity":"parking"}},"w45":{"id":"w45","nodes":["n217","n218","n219","n220","n217"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w450":{"id":"w450","nodes":["n2799","n2728","n2729","n2730","n2731","n2732","n2799"],"tags":{"building":"yes"}},"w451":{"id":"w451","nodes":["n2441","n1170","n2442","n2575","n2443","n2445","n2444","n2448","n2441"],"tags":{"amenity":"parking"}},"w452":{"id":"w452","nodes":["n2273","n457","n2569","n458","n2570"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w453":{"id":"w453","nodes":["n2447","n2242","n2448","n2527","n2530"],"tags":{"highway":"service"}},"w454":{"id":"w454","nodes":["n2560","n333","n2561"],"tags":{"highway":"service","service":"parking_aisle"}},"w455":{"id":"w455","nodes":["n2679","n2680","n2681","n2682","n2683","n2684","n2685","n2686","n2687","n2688","n2689","n2690","n2679"],"tags":{"building":"yes"}},"w456":{"id":"w456","nodes":["n2425","n2429","n2424"],"tags":{"bridge":"yes","highway":"residential","name":"Moore Street"}},"w457":{"id":"w457","nodes":["n2487","n2467","n2472","n2480","n2495","n2487"],"tags":{"building":"yes"}},"w458":{"id":"w458","nodes":["n2659","n2660","n2661","n2662","n678","n677","n2663","n2664","n2665","n2666","n675","n676","n2659"],"tags":{"building":"yes"}},"w459":{"id":"w459","nodes":["n2600","n2598","n2599","n2601","n2605","n2602","n2600"],"tags":{"building":"yes"}},"w46":{"id":"w46","nodes":["n221","n222","n223","n224","n221"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w460":{"id":"w460","nodes":["n2468","n2464","n2455","n2457","n2461","n2468"],"tags":{"building":"yes"}},"w461":{"id":"w461","nodes":["n2478","n2473","n683","n682","n2463","n681","n2478"],"tags":{"building":"yes"}},"w462":{"id":"w462","nodes":["n2547","n473","n2548","n2549"],"tags":{"highway":"service","service":"parking_aisle"}},"w463":{"id":"w463","nodes":["n2573","n2574"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w464":{"id":"w464","nodes":["n2445","n2597","n2527","n2528","n2529","n2530","n2531","n2597"],"tags":{"highway":"service","service":"parking_aisle"}},"w465":{"id":"w465","nodes":["n2571","n459","n2572"],"tags":{"highway":"path","name":"Riverwalk Trail"}},"w466":{"id":"w466","nodes":["n2445","n2574","n2552","n442","n2551","n4727","n323","n2446"],"tags":{"highway":"service"}},"w467":{"id":"w467","nodes":["n2484","n2474","n2477","n2485","n2488","n2484"],"tags":{"building":"yes"}},"w468":{"id":"w468","nodes":["n2695","n2696","n2697","n2698","n2699","n2700","n2701","n2702","n2695"],"tags":{"building":"yes"}},"w469":{"id":"w469","nodes":["n2469","n2476","n2481","n2475","n920","n2466","n2469"],"tags":{"building":"yes"}},"w47":{"id":"w47","nodes":["n1988","n1997","n1989","n25","n24","n1990","n26","n1991","n21","n1992","n2006","n1993","n22","n1994","n23","n1995","n1999","n1996","n2001","n1988"],"tags":{"highway":"service"}},"w470":{"id":"w470","nodes":["n2473","n2470","n2465","n2458","n2462","n683","n2473"],"tags":{"building":"yes"}},"w471":{"id":"w471","nodes":["n2490","n2496","n994","n997","n998","n996","n995","n2485","n2477","n2490"],"tags":{"building":"yes"}},"w472":{"id":"w472","nodes":["n2424","n2426","n2427","n2428"],"tags":{"highway":"residential","name":"Moore Street"}},"w473":{"id":"w473","nodes":["n2432","n1026","n4741","n2554","n2425"],"tags":{"highway":"residential","name":"Moore Street"}},"w474":{"id":"w474","nodes":["n2577","n2576"],"tags":{"bridge":"yes","highway":"footway"}},"w475":{"id":"w475","nodes":["n2497","n2505","n2500","n2493","n2497"],"tags":{"building":"yes"}},"w476":{"id":"w476","nodes":["n2493","n2500","n2501","n2496","n2490","n2493"],"tags":{"building":"yes"}},"w477":{"id":"w477","nodes":["n2431","n360","n4726","n418","n397","n396","n2547","n646","n2447","n644","n2418","n424","n640","n2419","n2420","n2423"],"tags":{"highway":"residential","name":"Railroad Drive"}},"w478":{"id":"w478","nodes":["n2515","n2511","n2498","n2504","n2509","n2515"],"tags":{"building":"yes"}},"w479":{"id":"w479","nodes":["n2525","n651","n650","n2526","n2524","n653","n652","n656","n2523","n654","n2518","n2517","n2521","n2522","n2525"],"tags":{"building":"yes"}},"w48":{"id":"w48","nodes":["n225","n237","n226","n227","n228","n229","n230","n231","n232","n233","n234","n235","n236","n225"],"tags":{"building":"yes"}},"w480":{"id":"w480","nodes":["n2703","n2704","n2710","n2711","n2705","n2706","n2703"],"tags":{"amenity":"parking"}},"w481":{"id":"w481","nodes":["n2796","n2657","n2658","n2797","n2796"],"tags":{"building":"yes"}},"w482":{"id":"w482","nodes":["n2550","n2551","n442","n2552","n2553","n2550"],"tags":{"amenity":"parking"}},"w483":{"id":"w483","nodes":["n2790","n2542"],"tags":{"highway":"service","service":"parking_aisle"}},"w484":{"id":"w484","nodes":["n2311","n1102"],"tags":{"highway":"service"}},"w485":{"id":"w485","nodes":["n2515","n2509","n2516","n2519","n2515"],"tags":{"building":"yes"}},"w486":{"id":"w486","nodes":["n2506","n2502","n2492","n2491","n2494","n2506"],"tags":{"building":"yes"}},"w487":{"id":"w487","nodes":["n2667","n2668","n2669","n2670","n2667"],"tags":{"building":"yes"}},"w488":{"id":"w488","nodes":["n2616","n2608","n2617","n2618","n2619","n2620","n2621","n2622","n2623","n2624","n2625","n2626","n2627","n2628","n2616"],"tags":{"building":"yes"}},"w489":{"id":"w489","nodes":["n2081","n2430"],"tags":{"bridge":"yes","highway":"primary","name":"Michigan Avenue"}},"w49":{"id":"w49","nodes":["n237","n238"],"tags":{"highway":"footway"}},"w490":{"id":"w490","nodes":["n2410","n636","n730","n635","n2409","n2694","n2751","n2765","n2753","n2768","n2754","n2769","n2745","n2766","n4503","n2763","n4501","n2752","n2781"],"tags":{"highway":"residential","name":"Portage Avenue"}},"w491":{"id":"w491","nodes":["n2578","n2579","n2580","n2581","n2578"],"tags":{"amenity":"shelter","building":"yes","shelter_type":"picnic_shelter"}},"w492":{"id":"w492","nodes":["n2556","n2557","n2558","n2559","n2556"],"tags":{"amenity":"parking"}},"w493":{"id":"w493","nodes":["n2460","n2456","n687","n2453","n2454","n2460"],"tags":{"building":"yes"}},"w494":{"id":"w494","nodes":["n2471","n2479","n2476","n2469","n2471"],"tags":{"building":"yes"}},"w495":{"id":"w495","nodes":["n2724","n2725","n673","n672","n671","n2726","n2727"],"tags":{"highway":"service","oneway":"yes","service":"parking_aisle"}},"w496":{"id":"w496","nodes":["n2649","n2650","n2651","n2652","n2653","n2654","n2655","n2656","n2649"],"tags":{"building":"yes"}},"w497":{"id":"w497","nodes":["n2430","n2446","n343","n2101","n2560","n2431","n363","n2748"],"tags":{"highway":"primary","name":"Michigan Avenue"}},"w498":{"id":"w498","nodes":["n2691","n2692","n634","n633","n2693","n2694"],"tags":{"highway":"service"}},"w499":{"id":"w499","nodes":["n2423","n2415","n661","n2416","n2417","n2719","n2721","n2772","n2756","n2773","n2759","n2767"],"tags":{"highway":"residential","name":"West Street"}},"w5":{"id":"w5","nodes":["n380","n381","n382","n383","n429","n430","n380"],"tags":{"building":"yes"}},"w50":{"id":"w50","nodes":["n239","n499","n508","n245","n238","n242","n240"],"tags":{"footway":"sidewalk","highway":"footway"}},"w500":{"id":"w500","nodes":["n2428","n1152","n2421","n2324"],"tags":{"bridge":"yes","highway":"residential","name":"Moore Street"}},"w501":{"id":"w501","nodes":["n2608","n2609","n2610","n2611","n2612","n2613","n2614","n2615","n2617","n2608"],"tags":{"building":"yes"}},"w502":{"id":"w502","nodes":["n2570","n2571"],"tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"}},"w503":{"id":"w503","nodes":["n2540","n2542","n2787"],"tags":{"highway":"service"}},"w504":{"id":"w504","nodes":["n2269","n2582","n2250"],"tags":{"highway":"path"}},"w505":{"id":"w505","nodes":["n2631","n2632","n2633","n2634","n2635","n2636","n2637","n2638","n2631"],"tags":{"building":"yes"}},"w506":{"id":"w506","nodes":["n2543","n2544","n2545","n395","n2546","n2543"],"tags":{"amenity":"parking"}},"w507":{"id":"w507","nodes":["n2449","n2450","n2451","n2452","n1162","n2449"],"tags":{"leisure":"pitch","sport":"tennis"}},"w508":{"id":"w508","nodes":["n2554","n1160","n2559","n2558","n659","n2555","n658","n657","n2419"],"tags":{"highway":"service"}},"w509":{"id":"w509","nodes":["n2499","n2508","n2510","n2505","n2497","n2499"],"tags":{"building":"yes"}},"w51":{"id":"w51","nodes":["n241","n242","n243","n244"],"tags":{"highway":"service","surface":"unpaved"}},"w510":{"id":"w510","nodes":["n2575","n2577"],"tags":{"highway":"footway"}},"w511":{"id":"w511","nodes":["n2533","n2534","n2535","n2536","n2537","n2538","n2539","n2785","n2786","n2533"],"tags":{"amenity":"parking"}},"w512":{"id":"w512","nodes":["n2801","n2740","n2741","n2742","n2743","n2744","n2801"],"tags":{"building":"yes"}},"w513":{"id":"w513","nodes":["n2720","n2721"],"tags":{"highway":"service","service":"parking_aisle"}},"w514":{"id":"w514","nodes":["n2788","n2790","n2789","n989","n2540","n2541"],"tags":{"highway":"service","service":"parking_aisle"}},"w515":{"id":"w515","nodes":["n2848","n2849","n2850","n2851","n2803","n2804","n2812"],"tags":{"highway":"residential","name":"Middle Street"}},"w516":{"id":"w516","nodes":["n2852","n2805"],"tags":{"access":"private","highway":"service","name":"Battle Street"}},"w517":{"id":"w517","nodes":["n2863","n2815","n2814","n2812","n2864","n2855","n2865","n2867","n2868"],"tags":{"highway":"secondary","name":"Michigan Avenue","name_1":"State Highway 60","ref":"M 60"}},"w518":{"id":"w518","nodes":["n2859","n2808"],"tags":{"highway":"residential","name":"2nd Avenue"}},"w519":{"id":"w519","nodes":["n2823","n2824","n2825","n2826","n2827","n2828","n2823"],"tags":{"building":"yes"}},"w52":{"id":"w52","nodes":["n247","n248","n249","n250","n247"],"tags":{"amenity":"parking"}},"w520":{"id":"w520","nodes":["n2806","n2807","n2803"],"tags":{"highway":"residential","name":"2nd Avenue"}},"w521":{"id":"w521","nodes":["n2829","n2830","n2831","n2832","n2833","n2834","n2835","n2836","n2837","n2838","n2829"],"tags":{"building":"yes"}},"w522":{"id":"w522","nodes":["n2815","n2813","n2811","n4597","n2846","n4596","n2857","n4601","n2853","n4602","n2861","n4","n2879","n4560","n3550","n5","n1685"],"tags":{"highway":"residential","name":"Washington Street"}},"w523":{"id":"w523","nodes":["n2878","n2811","n2810","n2860","n2880","n2881","n2882"],"tags":{"highway":"residential","name":"5th Avenue"}},"w524":{"id":"w524","nodes":["n2816","n2817","n2818","n2819","n2820","n2821","n2822","n2816"],"tags":{"building":"yes"}},"w525":{"id":"w525","nodes":["n2869","n2856","n2806","n2808","n2814","n2809","n2810","n2847","n2858","n2854","n2870","n2871","n6","n2872","n2839","n2862"],"tags":{"highway":"residential","name":"Wood Street"}},"w526":{"id":"w526","nodes":["n2877","n2809","n2813","n2844","n2843"],"tags":{"highway":"residential","name":"4th Avenue"}},"w527":{"id":"w527","nodes":["n4785","n4784","n2936","n4788","n4787","n4786","n4785"],"tags":{"amenity":"parking"}},"w528":{"id":"w528","nodes":["n2864","n2892","n2893","n2877","n2860","n3840"],"tags":{"highway":"residential","name":"Garden Street"}},"w529":{"id":"w529","nodes":["n2868","n2890"],"tags":{"bridge":"yes","highway":"secondary","name":"Michigan Avenue","name_1":"State Highway 60","ref":"M 60"}},"w53":{"id":"w53","nodes":["n251","n252","n253","n254","n255","n256","n257","n258","n259","n260","n261","n262","n251"],"tags":{"building":"yes"}},"w530":{"id":"w530","nodes":["n2914","n2915","n2916","n2917","n2918","n2919","n2920","n2921","n2922","n2923","n2924","n2925","n2926","n2927","n2928","n2929","n2930","n2931","n2932","n2933","n2914"],"tags":{"building":"yes"}},"w531":{"id":"w531","nodes":["n2958","n2896"],"tags":{"bridge":"yes","highway":"secondary","name":"Main Street"}},"w532":{"id":"w532","nodes":["n2896","n394","n364","n2748"],"tags":{"highway":"secondary","name":"Main Street"}},"w533":{"id":"w533","nodes":["n2800","n2943","n2940","n2941","n2942","n2943"],"tags":{"highway":"service","service":"parking_aisle"}},"w534":{"id":"w534","nodes":["n3836","n3837","n3839","n3838","n3834","n4632","n3831","n4624","n3835","n3836"],"tags":{"barrier":"fence"}},"w535":{"id":"w535","nodes":["n2894","n2944","n2774","n2765"],"tags":{"highway":"residential","name":"5th Avenue"}},"w536":{"id":"w536","nodes":["n2890","n2780","n627","n2889","n2887","n623","n2888","n366","n2748"],"tags":{"highway":"secondary","name":"Michigan Avenue","name_1":"State Highway 60","ref":"M 60"}},"w537":{"id":"w537","nodes":["n2895","n738","n2887","n737","n2913"],"tags":{"highway":"residential","name":"Water Street"}},"w538":{"id":"w538","nodes":["n2855","n3756","n2884","n2885","n2886","n2945","n2946","n2947","n2948","n2949","n2950","n2951","n2952","n2953","n2955","n2848","n2956","n2856"],"tags":{"highway":"residential","name":"River Drive"}},"w539":{"id":"w539","nodes":["n2882","n2894"],"tags":{"bridge":"yes","highway":"residential","name":"5th Avenue"}},"w54":{"id":"w54","nodes":["n263","n264","n265","n266","n267","n268","n269","n270","n271","n272","n273","n274","n275","n276","n263"],"tags":{"building":"yes"}},"w540":{"id":"w540","nodes":["n2987","n2964","n2981","n2983","n2966","n2982","n2962","n2960","n2967","n2965","n2984","n2977","n2968","n2976","n2986","n2988","n2963","n2970","n2969","n2979","n2974","n2980","n2959","n2973","n2985","n2961","n2975","n2971","n2972","n2978","n2898","n2907","n2912","n2909","n2911","n2901","n2903","n2904","n2906","n2902","n2900","n2910","n2908","n2899","n2897","n2905","n2186","n2233"],"tags":{"name":"Portage River","waterway":"river"}},"w541":{"id":"w541","nodes":["n2852","n2851","n3003"],"tags":{"highway":"residential","name":"1st Avenue"}},"w542":{"id":"w542","nodes":["n2991","n3004","n2994"],"tags":{"highway":"residential","name":"River Street"}},"w543":{"id":"w543","nodes":["n2993","n2989"],"tags":{"bridge":"yes","highway":"residential","name":"6th Street"}},"w544":{"id":"w544","nodes":["n2995","n2996","n2997","n2998","n2999","n3000","n3001","n3002","n2990","n2991","n2993"],"tags":{"highway":"residential","name":"6th Street"}},"w545":{"id":"w545","nodes":["n2989","n2992","n2848"],"tags":{"highway":"residential","name":"6th Street"}},"w546":{"id":"w546","nodes":["n2313","n3169","n3170","n3171","n3172","n3173","n3174","n3175","n3176","n3177","n3178","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2146","n2156","n2129","n2112","n2109","n2313"],"tags":{"natural":"wetland"}},"w547":{"id":"w547","nodes":["n2088","n3013","n3015","n3014","n3017","n3018"],"tags":{"name":"Conrail Railroad","railway":"rail"}},"w548":{"id":"w548","nodes":["n3083","n3084","n3085","n3086","n3083"],"tags":{"building":"yes"}},"w549":{"id":"w549","nodes":["n3020","n2288","n2283","n2284","n2131","n2286","n2287","n2285","n2132","n2140","n2289","n3020"],"tags":{"leisure":"park","name":"Conservation Park"}},"w55":{"id":"w55","nodes":["n277","n278","n279","n280","n281","n282","n283","n284","n277"],"tags":{"building":"yes"}},"w550":{"id":"w550","nodes":["n3056","n3042","n3041","n3040","n3039","n3038","n3037","n3036","n3044","n3035","n3034","n3043","n3016","n3056","n3019","n3015","n3012"],"tags":{"highway":"service"}},"w551":{"id":"w551","nodes":["n3044","n3045","n3046","n3047","n3048","n3049","n3050","n3051","n3052","n3053","n3054","n3055","n3016"],"tags":{"highway":"footway"}},"w552":{"id":"w552","nodes":["n3117","n3118","n3119","n3120","n3121","n3122","n3117"],"tags":{"building":"yes"}},"w553":{"id":"w553","nodes":["n3123","n3124","n3129","n3125","n3126","n3123"],"tags":{"building":"yes"}},"w554":{"id":"w554","nodes":["n3069","n3070","n3071","n3072","n3073","n3074","n3075","n3076","n3077","n3078","n3079","n3080","n3081","n3082","n3069"],"tags":{"building":"yes"}},"w555":{"id":"w555","nodes":["n3087","n3088","n3089","n3090","n3087"],"tags":{"building":"yes"}},"w556":{"id":"w556","nodes":["n3113","n3114","n3115","n3116","n3113"],"tags":{"building":"yes"}},"w557":{"id":"w557","nodes":["n3103","n3104","n3105","n3106","n3103"],"tags":{"building":"yes"}},"w558":{"id":"w558","nodes":["n3127","n3128","n3129","n3124","n3127"],"tags":{"building":"yes"}},"w559":{"id":"w559","nodes":["n3137","n3141","n3142","n3138","n3139","n3140","n3137"],"tags":{"building":"yes"}},"w56":{"id":"w56","nodes":["n285","n286","n287","n288","n285"],"tags":{"amenity":"parking"}},"w560":{"id":"w560","nodes":["n3091","n3092","n3093","n3094","n3091"],"tags":{"building":"yes"}},"w561":{"id":"w561","nodes":["n3155","n3157","n3158","n3159","n3156","n3155"],"tags":{"building":"yes"}},"w562":{"id":"w562","nodes":["n3057","n3058","n3059","n3060","n3057"],"tags":{"building":"yes"}},"w563":{"id":"w563","nodes":["n3107","n3108","n3109","n3110","n3111","n3112","n3107"],"tags":{"building":"yes"}},"w564":{"id":"w564","nodes":["n3134","n3135","n3136","n3131","n3134"],"tags":{"building":"yes"}},"w565":{"id":"w565","nodes":["n3143","n3144","n3145","n3146","n3143"],"tags":{"building":"yes"}},"w566":{"id":"w566","nodes":["n3095","n3096","n3097","n3098","n3095"],"tags":{"building":"yes"}},"w567":{"id":"w567","nodes":["n3130","n3131","n3136","n3132","n3133","n3130"],"tags":{"building":"yes"}},"w568":{"id":"w568","nodes":["n3025","n3026","n3027","n3028","n3029","n3030","n3031","n3033","n3032","n3025"],"tags":{"amenity":"parking"}},"w569":{"id":"w569","nodes":["n3061","n3062","n3063","n3064","n3061"],"tags":{"building":"yes"}},"w57":{"id":"w57","nodes":["n289","n290","n291","n292","n289"],"tags":{"amenity":"parking"}},"w570":{"id":"w570","nodes":["n3155","n3156","n3152","n3153","n3155"],"tags":{"building":"yes"}},"w571":{"id":"w571","nodes":["n3099","n3100","n3101","n3102","n3099"],"tags":{"building":"yes"}},"w572":{"id":"w572","nodes":["n3147","n3148","n3149","n3150","n3147"],"tags":{"building":"yes"}},"w573":{"id":"w573","nodes":["n3039","n2284"],"tags":{"highway":"service"}},"w574":{"id":"w574","nodes":["n3151","n3152","n3153","n3154","n3151"],"tags":{"building":"yes"}},"w575":{"id":"w575","nodes":["n3021","n3022","n3023","n3024","n3021"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelter"}},"w576":{"id":"w576","nodes":["n3065","n3066","n3067","n3068","n3065"],"tags":{"building":"yes"}},"w577":{"id":"w577","nodes":["n2944","n3192","n3757","n3813","n3814","n3815","n3816","n3817","n3818","n3819"],"tags":{"highway":"service","name":"Willow Drive","service":"driveway","surface":"unpaved"}},"w578":{"id":"w578","nodes":["n2163","n2165","n2166","n2167","n2168","n2172","n2173","n2174","n2175","n2176","n2178","n2181","n2163"],"tags":{"building":"yes"}},"w579":{"id":"w579","nodes":["n2754","n3195","n3204","n3205","n4537","n4540","n3206","n4530","n4536","n3207","n4524","n3199","n4521","n3197","n1032"],"tags":{"highway":"residential","name":"Elm Street"}},"w58":{"id":"w58","nodes":["n240","n293","n294"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w580":{"id":"w580","nodes":["n2184","n2185","n2187","n2190","n2191","n2192","n2184"],"tags":{"building":"yes"}},"w581":{"id":"w581","nodes":["n2765","n3208","n3211","n2755","n3280","n2756","n3346"],"tags":{"highway":"residential","name":"Kelsey Street"}},"w582":{"id":"w582","nodes":["n2753","n3194","n3193","n3201","n3196","n4551","n3202","n4550","n3203","n3200","n3198","n1033"],"tags":{"highway":"residential","name":"Walnut Street"}},"w583":{"id":"w583","nodes":["n3272","n4469","n4588","n2879","n4564","n2872"],"tags":{"highway":"residential","name":"10th Avenue"}},"w584":{"id":"w584","nodes":["n3243","n3242","n3241","n3240","n3243"],"tags":{"building":"industrial"}},"w585":{"id":"w585","nodes":["n3273","n3274","n4631","n4593","n3275","n4592","n2846","n4611","n2847"],"tags":{"highway":"residential","name":"6th Avenue"}},"w586":{"id":"w586","nodes":["n3276","n4591","n2853","n4605","n2854"],"tags":{"highway":"residential","name":"8th Avenue"}},"w587":{"id":"w587","nodes":["n3269","n3268","n3267","n3266","n3265","n3264","n3263","n3262","n3269"],"tags":{"building":"industrial"}},"w588":{"id":"w588","nodes":["n3277","n4599","n2857","n4598","n4608","n2858"],"tags":{"highway":"residential","name":"7th Avenue"}},"w589":{"id":"w589","nodes":["n3239","n3238","n3271","n3270","n3237","n3236","n3235","n3234","n3239"],"tags":{"building":"yes"}},"w59":{"id":"w59","nodes":["n294","n295","n296","n297","n298","n299","n300","n301","n302","n303","n491","n304","n305","n306","n307"],"tags":{"footway":"sidewalk","highway":"footway"}},"w590":{"id":"w590","nodes":["n3278","n4458","n4589","n4604","n2861"],"tags":{"highway":"residential","name":"9th Avenue"}},"w591":{"id":"w591","nodes":["n3253","n3252","n3251","n3250","n3249","n3248","n3253"],"tags":{"building":"industrial"}},"w592":{"id":"w592","nodes":["n3229","n3228","n3227","n3226","n3225","n3224","n3223","n3222","n3221","n3220","n3219","n3218","n3217","n3216","n3215","n3214","n3213","n3212","n3229"],"tags":{"natural":"water","water":"pond"}},"w593":{"id":"w593","nodes":["n3261","n3260","n3259","n3258","n3257","n3256","n3255","n3254","n3261"],"tags":{"building":"industrial"}},"w594":{"id":"w594","nodes":["n3233","n3232","n3231","n3230","n3233"],"tags":{"building":"yes"}},"w595":{"id":"w595","nodes":["n3247","n3246","n3245","n3244","n3247"],"tags":{"building":"industrial"}},"w596":{"id":"w596","nodes":["n2769","n3195","n3193","n3209","n2758","n2759","n3279"],"tags":{"highway":"residential","name":"Armitage Street"}},"w597":{"id":"w597","nodes":["n2193","n2194","n2195","n2197","n2193"],"tags":{"building":"yes"}},"w598":{"id":"w598","nodes":["n3404","n3403","n3402","n3401","n3400","n3399","n3398","n3397","n3373","n3372","n3396","n3395","n3404"],"tags":{"building":"school"}},"w6":{"id":"w6","nodes":["n879","n880","n881","n882","n879"],"tags":{"building":"shed"}},"w60":{"id":"w60","nodes":["n239","n308","n307"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w600":{"id":"w600","nodes":["n3387","n3386","n3316","n3315","n3314","n3313","n3387"],"tags":{"building":"yes"}},"w601":{"id":"w601","nodes":["n3304","n3303","n3302","n3301","n3385","n3384","n3300","n3299","n3304"],"tags":{"building":"yes"}},"w602":{"id":"w602","nodes":["n3334","n3333","n3332","n3331","n3330","n3329","n3328","n3327","n3326","n3325","n3324","n3323","n3322","n3321","n3320","n3319","n3318","n3317","n3334"],"tags":{"building":"yes"}},"w603":{"id":"w603","nodes":["n3353","n3352","n3347","n3280","n2798"],"tags":{"highway":"service","service":"alley","surface":"unpaved"}},"w604":{"id":"w604","nodes":["n3753","n3211","n3383"],"tags":{"highway":"service","service":"alley"}},"w605":{"id":"w605","nodes":["n3290","n3289","n3288","n3287","n3286","n3285","n3284","n3283","n3282","n3281","n3290"],"tags":{"building":"yes"}},"w606":{"id":"w606","nodes":["n2198","n2199","n2201","n2202","n2203","n2206","n2198"],"tags":{"building":"yes"}},"w607":{"id":"w607","nodes":["n2198","n2207"],"tags":{"barrier":"wall"}},"w608":{"id":"w608","nodes":["n2751","n3208","n3210","n3209","n3415","n3410","n3414","n3413","n3412","n3416"],"tags":{"highway":"residential","name":"East Street"}},"w609":{"id":"w609","nodes":["n2772","n3346","n3746","n3748","n3747","n3345","n3378","n3279","n3411"],"tags":{"highway":"residential","name":"Maple Street"}},"w61":{"id":"w61","nodes":["n309","n310","n311","n312","n313","n240"],"tags":{"footway":"sidewalk","highway":"footway"}},"w610":{"id":"w610","nodes":["n3379","n3380","n3382","n3381","n3379"],"tags":{"leisure":"park","name":"LaFayette Park"}},"w611":{"id":"w611","nodes":["n2768","n3194","n3210","n3753","n2760","n3353","n2773","n3378"],"tags":{"highway":"residential","name":"Bennett Street"}},"w612":{"id":"w612","nodes":["n2751","n3383","n2749","n2798","n2772"],"tags":{"highway":"residential","name":"Market Street"}},"w613":{"id":"w613","nodes":["n3298","n3297","n3296","n3295","n3294","n3293","n3292","n3291","n3298"],"tags":{"building":"yes"}},"w614":{"id":"w614","nodes":["n3375","n3406","n3405","n3374","n3375"],"tags":{"leisure":"playground"}},"w615":{"id":"w615","nodes":["n3393","n3344","n3343","n3342","n3341","n3340","n3339","n3338","n3337","n3392","n3391","n3390","n3389","n3336","n3335","n3388","n3393"],"tags":{"building":"yes"}},"w616":{"id":"w616","nodes":["n3376","n3407","n3408","n3377","n3376"],"tags":{"amenity":"school","name":"Three Rivers Elementary School"}},"w617":{"id":"w617","nodes":["n3312","n3311","n3310","n3309","n3308","n3307","n3306","n3305","n3312"],"tags":{"building":"yes"}},"w619":{"id":"w619","nodes":["n2863","n3424","n3425","n3426","n3427","n3428","n3429","n3430","n3431","n3432","n3433","n2844"],"tags":{"highway":"secondary","name":"Michigan Avenue","ref":"M 60"}},"w62":{"id":"w62","nodes":["n876","n906","n904","n875","n874","n873","n872","n871","n870","n869","n41","n868","n146","n314","n315","n1956"],"tags":{"footway":"sidewalk","highway":"footway"}},"w620":{"id":"w620","nodes":["n2844","n3420","n3421","n3422","n3439","n2859","n3437","n3493","n3496","n3500","n3497"],"tags":{"highway":"residential"}},"w621":{"id":"w621","nodes":["n3468","n3469","n3470","n3471","n3468"],"tags":{"building":"yes"}},"w622":{"id":"w622","nodes":["n3417","n3436","n3438","n3491","n3488","n3492","n3495","n3494","n3498","n3487","n3499","n3490","n3489","n4800","n3417"],"tags":{"landuse":"cemetery","name":"Riverside Cemetery"}},"w623":{"id":"w623","nodes":["n3440","n3441","n3442","n3443","n3444","n3445","n3440"],"tags":{"building":"yes"}},"w624":{"id":"w624","nodes":["n3446","n3447","n3448","n3449","n3450","n3451","n3452","n3453","n3454","n3455","n3456","n3457","n3458","n3459","n3460","n3461","n3462","n3463","n3464","n3465","n3466","n3467","n3446"],"tags":{"building":"yes"}},"w625":{"id":"w625","nodes":["n2844","n3434","n3435","n2878","n3275","n4621","n3276","n3278","n4463","n3272","n3472","n3474","n3475","n3476","n3477","n3478","n1202","n3479","n3480","n3481","n1203","n3482","n3483","n3484","n3485","n4574","n3486","n3473"],"tags":{"highway":"secondary","name":"Jefferson Street","name_1":"State Highway 60","ref":"M 60"}},"w626":{"id":"w626","nodes":["n3439","n3423","n2863"],"tags":{"highway":"unclassified","name":"Michigan Avenue","name_1":"State Highway 60"}},"w627":{"id":"w627","nodes":["n3500","n3005"],"tags":{"highway":"service"}},"w628":{"id":"w628","nodes":["n3491","n3488","n3492","n3010","n3009","n3005","n3008","n3007","n3006","n3502","n3491"],"tags":{"leisure":"park","name":"Marina Park"}},"w629":{"id":"w629","nodes":["n2208","n2209","n2212","n2214","n2208"],"tags":{"building":"yes"}},"w63":{"id":"w63","nodes":["n1955","n316"],"tags":{"footway":"sidewalk","highway":"footway"}},"w630":{"id":"w630","nodes":["n2757","n3414","n3202","n4542","n3206","n4538","n3750","n3503","n1629","n4500","n2763","n4502","n2764","n3508"],"tags":{"highway":"residential","name":"Hoffman Street"}},"w631":{"id":"w631","nodes":["n2215","n2750","n2770","n2771","n2215"],"tags":{"building":"yes"}},"w632":{"id":"w632","nodes":["n2766","n3504","n3507","n3751","n3205","n3196","n3410","n2746"],"tags":{"highway":"residential","name":"Cushman Street"}},"w633":{"id":"w633","nodes":["n2745","n3749","n3507","n4535","n3503"],"tags":{"highway":"residential","name":"Pine Street"}},"w634":{"id":"w634","nodes":["n3510","n3511","n3512","n3509","n3510"],"tags":{"leisure":"park","name":"Bowman Park"}},"w636":{"id":"w636","nodes":["n2745","n3752","n3204","n3201","n3415","n2761","n2767","n3411"],"tags":{"highway":"residential","name":"Wheeler Street"}},"w637":{"id":"w637","nodes":["n3550","n4586","n4476","n3472"],"tags":{"highway":"residential","name":"11th Avenue"}},"w638":{"id":"w638","nodes":["n3508","n3518"],"tags":{"bridge":"yes","highway":"residential","name":"Hoffman Street"}},"w639":{"id":"w639","nodes":["n3518","n1204","n2862","n3519","n3520","n3521","n3522","n3523","n2161","n3524","n3549","n3552","n4239","n3551","n4577","n4582","n4578","n4583","n4579","n4574"],"tags":{"highway":"residential","name":"Hoffman Street"}},"w64":{"id":"w64","nodes":["n316","n317"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w640":{"id":"w640","nodes":["n3634","n3640","n3676","n3633","n3678","n3648","n3638","n3683","n3600","n3579","n3679","n3677","n2987","n3592","n3588","n3608","n3559","n3617","n3620","n3660","n3553","n3533","n3530","n3531","n3525","n3527","n3526","n3532","n3529","n3528","n3667","n3627","n3623","n3625","n3601","n3687","n3671","n3644","n3626","n3673","n3582","n3693","n3605","n3619","n3651","n3650","n3615","n3663","n3631","n3596","n3604","n3655","n3586","n3595","n3701","n3603","n3686","n3611","n3568","n3674","n3613","n3580","n3562","n3564","n3689","n3585","n3670","n3659","n3684","n3680","n3646","n3558","n3556","n3692","n3563","n3575","n3571","n3675","n3557","n3700","n3656","n3622","n3657","n3565","n3669","n3658","n3618","n3624","n3688","n3610","n3570","n3645","n3649","n3583","n3694","n3561","n3554","n3614","n3698","n3581","n3635","n3641","n3569","n3647","n3628","n3598","n3696","n3665","n3639","n3607","n3695","n3642","n3672","n3577","n3643","n3691","n3602","n3576","n3591","n3560","n3606","n3685","n3597","n3629","n3661","n3654","n3616","n3697","n3578","n3609","n3653","n3699","n3566","n3637","n3567","n3666","n3555","n3599","n3590","n3572","n3593","n3690","n3681","n3612","n3682","n3668","n3587","n3621","n3636","n3662","n3589","n3573","n3652","n3664","n3632","n3574","n3594","n3584","n3630","n3634"],"tags":{"landuse":"reservoir","name":"Hoffman Pond","natural":"water"}},"w641":{"id":"w641","nodes":["n2988","n3534","n3535","n3536","n3537","n3538","n3539","n3540","n3541","n3542","n3543","n3544","n3545","n3546","n3547","n3548","n2970"],"tags":{"waterway":"river"}},"w642":{"id":"w642","nodes":["n3702","n3703","n3704","n3705","n3706","n3707","n3708","n3709","n3710","n3711","n3712","n3713","n3714","n3715","n3716","n3717","n3718","n3719","n3720","n3721","n3722","n3723","n3724","n3725","n3726","n3727","n3728","n3729","n3730","n3731","n3732","n3733","n3734","n3735","n3736","n3737","n3738","n3739","n3740","n3741","n3742","n3743","n3702"],"tags":{"admin_level":"8","boundary":"administrative"}},"w643":{"id":"w643","nodes":["n2839","n2873"],"tags":{"highway":"service","service":"driveway"}},"w644":{"id":"w644","nodes":["n2873","n2840"],"tags":{"bridge":"yes","highway":"service","layer":"1","service":"driveway"}},"w645":{"id":"w645","nodes":["n2840","n2841","n2842","n2845","n2866"],"tags":{"highway":"service","service":"driveway","surface":"unpaved"}},"w646":{"id":"w646","nodes":["n2752","n3759","n1420","n1421","n1422","n3758","n4507","n4506","n4505","n4520","n3199","n4522","n4504","n4546","n3200","n4547","n3412"],"tags":{"highway":"residential","name":"Flower Street"}},"w647":{"id":"w647","nodes":["n2874","n2875","n2876","n2954","n2874"],"tags":{"building":"industrial"}},"w648":{"id":"w648","nodes":["n3778","n3779","n3780","n3781","n3782","n3783","n3778"],"tags":{"building":"yes"}},"w649":{"id":"w649","nodes":["n3197","n4543","n4544","n3198"],"tags":{"highway":"residential","name":"Morris Avenue","surface":"unpaved"}},"w65":{"id":"w65","nodes":["n317","n318","n319","n320","n321"],"tags":{"footway":"sidewalk","highway":"footway"}},"w650":{"id":"w650","nodes":["n3207","n4526","n4528","n4548","n3203","n4549","n3413","n2762"],"tags":{"highway":"residential","name":"Adams Street"}},"w651":{"id":"w651","nodes":["n3788","n3785","n3786","n3787","n3788"],"tags":{"power":"station"}},"w652":{"id":"w652","nodes":["n2957","n3163","n3241"],"tags":{"barrier":"wall"}},"w653":{"id":"w653","nodes":["n3549","n3802","n3803","n3800","n3801"],"tags":{"highway":"service","surface":"unpaved"}},"w654":{"id":"w654","nodes":["n3164","n3165","n3166","n3167","n3168","n3505","n3164"],"tags":{"building":"yes"}},"w655":{"id":"w655","nodes":["n3506","n3517","n3760","n3761","n3762","n3763","n3506"],"tags":{"building":"yes"}},"w656":{"id":"w656","nodes":["n3764","n3765","n3766","n3767","n3768","n3769","n3770","n3771","n3764"],"tags":{"building":"yes"}},"w657":{"id":"w657","nodes":["n3772","n3773","n3774","n3775","n3772"],"tags":{"building":"yes"}},"w658":{"id":"w658","nodes":["n3776","n3777","n3784","n3789","n3776"],"tags":{"building":"yes"}},"w659":{"id":"w659","nodes":["n3930","n3931","n3932","n3933","n3934","n3935","n3936","n3937","n3938","n3930"],"tags":{"leisure":"pitch","sport":"baseball"}},"w66":{"id":"w66","nodes":["n321","n322"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w660":{"id":"w660","nodes":["n3982","n3842","n3864","n3865","n2938","n3866","n2939","n3867","n3868","n3858","n2937","n3869","n2935","n2934","n3870","n3348","n3862"],"tags":{"highway":"service"}},"w661":{"id":"w661","nodes":["n3968","n3969"],"tags":{"highway":"footway"}},"w662":{"id":"w662","nodes":["n3875","n3876","n3877","n3878","n3879","n3880","n3881","n3882","n3875"],"tags":{"amenity":"parking"}},"w663":{"id":"w663","nodes":["n3964","n3965"],"tags":{"highway":"footway"}},"w664":{"id":"w664","nodes":["n3966","n3967"],"tags":{"highway":"footway"}},"w665":{"id":"w665","nodes":["n3857","n3890","n3884","n3894","n3889","n3899","n3885","n3886","n3896","n3887"],"tags":{"highway":"service","service":"parking_aisle"}},"w666":{"id":"w666","nodes":["n3895","n3896"],"tags":{"highway":"service","service":"parking_aisle"}},"w667":{"id":"w667","nodes":["n3274","n3977","n3984","n3983","n3981","n3844","n3978","n3982","n3861","n3862","n3873","n3874","n4468","n3863"],"tags":{"access":"private","highway":"service","name":"Collins Drive"}},"w668":{"id":"w668","nodes":["n3900","n3901","n3902","n3903","n3904","n3905","n3808","n3809","n3906","n3907","n3908","n3967","n3909","n3910","n3911","n3955","n3964","n3912","n3913","n3914","n3915","n3916","n3917","n3918","n3919","n3920","n3921","n3922","n3923","n3924","n3925","n3926","n3927","n3969","n3970","n3928","n3807","n3929","n3900"],"tags":{"building":"school"}},"w669":{"id":"w669","nodes":["n3272","n39","n40","n3974","n3863","n3857","n3892","n3883","n3891","n3889"],"tags":{"highway":"service"}},"w67":{"id":"w67","nodes":["n322","n886","n323","n475"],"tags":{"footway":"crossing","highway":"footway"}},"w670":{"id":"w670","nodes":["n3473","n3859","n3860","n3980","n4908","n4865"],"tags":{"highway":"secondary","name":"Hoffman Street","ref":"M 60"}},"w671":{"id":"w671","nodes":["n3970","n3806","n3971"],"tags":{"highway":"footway"}},"w672":{"id":"w672","nodes":["n3892","n3893","n3894"],"tags":{"highway":"service","service":"parking_aisle"}},"w673":{"id":"w673","nodes":["n3945","n3946","n3992","n3990","n3945"],"tags":{"leisure":"pitch","sport":"tennis"}},"w674":{"id":"w674","nodes":["n3890","n3893","n3891"],"tags":{"highway":"service","service":"parking_aisle"}},"w675":{"id":"w675","nodes":["n3947","n3948","n3994","n3993","n3947"],"tags":{"leisure":"pitch","sport":"tennis"}},"w676":{"id":"w676","nodes":["n3858","n3954","n3972","n3810","n3811","n3812","n3841","n3973","n3898","n3963","n3897","n3896"],"tags":{"highway":"service"}},"w677":{"id":"w677","nodes":["n3977","n3996","n3997","n4004","n3998","n3999","n4005","n4007","n4006","n3995","n4000","n3843","n4001","n4002","n4003","n3949","n3351","n3950","n3354","n3350","n3951","n3349","n3952","n3953","n3954","n3956","n3966","n3955"],"tags":{"highway":"footway"}},"w678":{"id":"w678","nodes":["n3887","n3888","n3895","n3899"],"tags":{"highway":"service","service":"parking_aisle"}},"w679":{"id":"w679","nodes":["n3946","n3947","n3993","n3992","n3946"],"tags":{"leisure":"pitch","sport":"tennis"}},"w68":{"id":"w68","nodes":["n294","n1952","n326"],"tags":{"footway":"sidewalk","highway":"footway"}},"w680":{"id":"w680","nodes":["n3939","n3940","n3941","n3985","n3986","n3987","n3988","n3989","n3942","n3943","n3939"],"tags":{"leisure":"pitch","sport":"baseball"}},"w681":{"id":"w681","nodes":["n3990","n3991","n3944","n3945","n3990"],"tags":{"leisure":"pitch","sport":"tennis"}},"w682":{"id":"w682","nodes":["n3871","n3872","n3873","n3874","n3871"],"tags":{"amenity":"parking"}},"w683":{"id":"w683","nodes":["n3956","n3965","n3957","n3958","n3959"],"tags":{"footway":"sidewalk","highway":"footway"}},"w684":{"id":"w684","nodes":["n3790","n3791","n3792","n3793","n3790"],"tags":{"building":"shed"}},"w685":{"id":"w685","nodes":["n3794","n3795","n3796","n3797","n3794"],"tags":{"building":"yes"}},"w686":{"id":"w686","nodes":["n3798","n3799","n3804","n3805","n3798"],"tags":{"building":"yes"}},"w687":{"id":"w687","nodes":["n3806","n3807"],"tags":{"highway":"footway"}},"w688":{"id":"w688","nodes":["n3845","n3846","n3847","n3848","n3845"],"tags":{"leisure":"pitch","sport":"american_football"}},"w689":{"id":"w689","nodes":["n3849","n4021","n3850","n3851","n3852","n3853","n3854","n3855","n3856","n3975","n3976","n3979","n4008","n4009","n4010","n4011","n4012","n4013","n4014","n4015","n4016","n4017","n4018","n4019","n4020","n4021"],"tags":{"leisure":"track","sport":"running"}},"w69":{"id":"w69","nodes":["n326","n327"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w690":{"id":"w690","nodes":["n4022","n4023","n4024","n4025","n4026","n4027","n4022"],"tags":{"building":"yes"}},"w691":{"id":"w691","nodes":["n4028","n4029","n4030","n4031","n4028"],"tags":{"building":"yes"}},"w692":{"id":"w692","nodes":["n4032","n4033","n4034","n4035","n4032"],"tags":{"building":"yes"}},"w693":{"id":"w693","nodes":["n4036","n4037","n4038","n4039","n4036"],"tags":{"building":"yes"}},"w694":{"id":"w694","nodes":["n4040","n4041","n4042","n4043","n4040"],"tags":{"building":"yes"}},"w695":{"id":"w695","nodes":["n4044","n4045","n4050","n4053","n4046","n4047","n4048","n4049","n4044"],"tags":{"building":"yes"}},"w696":{"id":"w696","nodes":["n4050","n4051","n4052","n4053","n4050"],"tags":{"building":"roof"}},"w697":{"id":"w697","nodes":["n4054","n4068","n4055","n4056","n4057","n4054"],"tags":{"building":"yes"}},"w698":{"id":"w698","nodes":["n4058","n4059","n4060","n4061","n4062","n4063","n4058"],"tags":{"building":"yes"}},"w699":{"id":"w699","nodes":["n4064","n4066","n4065"],"tags":{"barrier":"fence"}},"w7":{"id":"w7","nodes":["n43","n44","n45"],"tags":{"highway":"service"}},"w70":{"id":"w70","nodes":["n327","n328","n27","n329"],"tags":{"footway":"sidewalk","highway":"footway"}},"w700":{"id":"w700","nodes":["n4066","n4067","n4068"],"tags":{"barrier":"fence"}},"w701":{"id":"w701","nodes":["n4069","n4070","n4071","n4072","n4069"],"tags":{"building":"shed"}},"w702":{"id":"w702","nodes":["n4073","n4074","n4075","n4076","n4077","n4078","n4079","n4080","n4081","n4082","n4083","n4084","n4073"],"tags":{"building":"yes"}},"w703":{"id":"w703","nodes":["n4085","n4093","n4086","n4087","n4088","n4089","n4090","n4091","n4092","n4085"],"tags":{"building":"yes"}},"w704":{"id":"w704","nodes":["n4093","n4094","n4095","n4096"],"tags":{"barrier":"fence"}},"w705":{"id":"w705","nodes":["n4097","n4098","n4099","n4100","n4097"],"tags":{"building":"yes"}},"w706":{"id":"w706","nodes":["n4098","n4102","n4087"],"tags":{"barrier":"fence"}},"w707":{"id":"w707","nodes":["n4101","n4102","n4096","n4170","n4103"],"tags":{"barrier":"fence"}},"w708":{"id":"w708","nodes":["n4104","n4105","n4106","n4107","n4104"],"tags":{"access":"private","leisure":"swimming_pool"}},"w709":{"id":"w709","nodes":["n4108","n4109","n4110","n4111","n4108"],"tags":{"building":"yes"}},"w71":{"id":"w71","nodes":["n329","n331"],"tags":{"bridge":"yes","footway":"sidewalk","highway":"footway","layer":"1"}},"w710":{"id":"w710","nodes":["n4112","n4113","n4114","n4115","n4116","n4117","n4118","n4119","n4112"],"tags":{"building":"yes"}},"w711":{"id":"w711","nodes":["n4120","n4121","n4122","n4123","n4120"],"tags":{"building":"yes"}},"w712":{"id":"w712","nodes":["n4124","n4125","n4126","n4127","n4128","n4129","n4124"],"tags":{"building":"yes"}},"w713":{"id":"w713","nodes":["n4130","n4131","n4132","n4133","n4130"],"tags":{"building":"shed"}},"w714":{"id":"w714","nodes":["n4134","n4135","n4136","n4137","n4138","n4139","n4140","n4141","n4142","n4143","n4134"],"tags":{"building":"yes"}},"w715":{"id":"w715","nodes":["n4144","n4145","n4146","n4147","n4148","n4149","n4144"],"tags":{"building":"yes"}},"w716":{"id":"w716","nodes":["n4150","n4151","n4152","n4153","n4150"],"tags":{"building":"yes"}},"w717":{"id":"w717","nodes":["n4154","n4155","n4156","n4157","n4154"],"tags":{"building":"yes"}},"w718":{"id":"w718","nodes":["n4158","n4159","n4160","n4161","n4162","n4163","n4164","n4165","n4158"],"tags":{"building":"yes"}},"w719":{"id":"w719","nodes":["n4166","n4167","n4168","n4169","n4166"],"tags":{"building":"yes"}},"w72":{"id":"w72","nodes":["n331","n344","n332","n333","n334"],"tags":{"footway":"sidewalk","highway":"footway"}},"w720":{"id":"w720","nodes":["n4170","n4171"],"tags":{"barrier":"fence"}},"w721":{"id":"w721","nodes":["n4138","n4103"],"tags":{"barrier":"fence"}},"w722":{"id":"w722","nodes":["n4103","n4172"],"tags":{"barrier":"fence"}},"w723":{"id":"w723","nodes":["n4173","n4174"],"tags":{"barrier":"fence"}},"w724":{"id":"w724","nodes":["n4175","n4176","n4177","n4178","n4175"],"tags":{"building":"yes"}},"w725":{"id":"w725","nodes":["n4179","n4180","n4181","n4182","n4183","n4184","n4179"],"tags":{"building":"yes"}},"w726":{"id":"w726","nodes":["n4185","n4186","n4187","n4188","n4185"],"tags":{"building":"yes"}},"w727":{"id":"w727","nodes":["n4189","n4190","n4191","n4192","n4193","n4194","n4195","n4196","n4197","n4198","n4199","n4200","n4201","n4202","n4189"],"tags":{"building":"yes"}},"w728":{"id":"w728","nodes":["n4203","n4204","n4205","n4206","n4207","n4208","n4209","n4210","n4203"],"tags":{"building":"yes"}},"w729":{"id":"w729","nodes":["n4211","n4212","n4213","n4214","n4211"],"tags":{"building":"shed"}},"w73":{"id":"w73","nodes":["n335","n336","n337","n338","n339","n340","n341","n342","n335"],"tags":{"building":"yes"}},"w730":{"id":"w730","nodes":["n4215","n4216","n4217","n4218","n4215"],"tags":{"building":"yes"}},"w731":{"id":"w731","nodes":["n4219","n4220","n4221","n4222","n4223","n4224","n4225","n4226","n4227","n4228","n4229","n4230","n4219"],"tags":{"building":"yes"}},"w732":{"id":"w732","nodes":["n4231","n4232","n4233","n4234","n4235","n4236","n4237","n4238","n4231"],"tags":{"building":"yes"}},"w733":{"id":"w733","nodes":["n4239","n4240","n4241","n4242","n4243","n4244","n4245","n4246","n4247","n4248","n4241"],"tags":{"highway":"service"}},"w734":{"id":"w734","nodes":["n4240","n4249","n4248"],"tags":{"highway":"service","service":"parking_aisle"}},"w735":{"id":"w735","nodes":["n4250","n4251","n4252","n4253","n4254","n4255","n4256","n4257","n4258","n4250"],"tags":{"amenity":"parking"}},"w736":{"id":"w736","nodes":["n4259","n4260","n4261","n4262","n4259"],"tags":{"building":"yes"}},"w737":{"id":"w737","nodes":["n4263","n4264","n4265","n4266","n4267","n4268","n4269","n4270","n4271","n4272","n4273","n4274","n4275","n4276","n4263"],"tags":{"building":"yes"}},"w738":{"id":"w738","nodes":["n4277","n4278","n4279","n4280","n4281","n4282","n4277"],"tags":{"building":"yes"}},"w739":{"id":"w739","nodes":["n4283","n4284","n4285","n4286","n4287","n4288","n4289","n4290","n4291","n4292","n4293","n4294","n4283"],"tags":{"building":"yes"}},"w74":{"id":"w74","nodes":["n343","n344","n345"],"tags":{"highway":"service"}},"w740":{"id":"w740","nodes":["n4295","n4296","n4297","n4298","n4295"],"tags":{"building":"yes"}},"w741":{"id":"w741","nodes":["n4299","n4300","n4301","n4302","n4303","n4304","n4305","n4306","n4307","n4308","n4309","n4310","n4299"],"tags":{"building":"yes"}},"w742":{"id":"w742","nodes":["n4311","n4312","n4313","n4314","n4311"],"tags":{"building":"shed"}},"w743":{"id":"w743","nodes":["n4315","n4316","n4317","n4318","n4319","n4320","n4315"],"tags":{"building":"yes"}},"w744":{"id":"w744","nodes":["n4321","n4322","n4323","n4324","n4325","n4326","n4327","n4328","n4329","n4330","n4331","n4332","n4333","n4334","n4321"],"tags":{"building":"yes"}},"w745":{"id":"w745","nodes":["n4335","n4336","n4337","n4338","n4335"],"tags":{"building":"shed"}},"w746":{"id":"w746","nodes":["n4339","n4340","n4341","n4342","n4343","n4344","n4339"],"tags":{"building":"yes"}},"w747":{"id":"w747","nodes":["n4345","n4346","n4347","n4348","n4345"],"tags":{"building":"yes"}},"w748":{"id":"w748","nodes":["n4349","n4350","n4351","n4352","n4349"],"tags":{"building":"yes"}},"w749":{"id":"w749","nodes":["n4353","n4354","n4355","n4356","n4357","n4358","n4353"],"tags":{"building":"yes"}},"w75":{"id":"w75","nodes":["n346","n347","n348","n349","n350","n351","n346"],"tags":{"amenity":"parking"}},"w750":{"id":"w750","nodes":["n4612","n4359","n4360"],"tags":{"barrier":"fence"}},"w751":{"id":"w751","nodes":["n4361","n4362","n4363","n4364","n4361"],"tags":{"building":"yes"}},"w752":{"id":"w752","nodes":["n4365","n4366","n4367","n4368","n4365"],"tags":{"building":"yes"}},"w753":{"id":"w753","nodes":["n4369","n4370","n4371","n4372","n4375","n4369"],"tags":{"building":"yes"}},"w754":{"id":"w754","nodes":["n4373","n4374","n4375"],"tags":{"barrier":"fence"}},"w755":{"id":"w755","nodes":["n4376","n4377","n4378","n4379","n4376"],"tags":{"building":"shed"}},"w756":{"id":"w756","nodes":["n4380","n4381","n4382","n4383","n4384","n4385","n4386","n4387","n4388","n4389","n4390","n4391","n4380"],"tags":{"building":"yes"}},"w757":{"id":"w757","nodes":["n4392","n4393","n4394","n4395","n4392"],"tags":{"building":"yes"}},"w758":{"id":"w758","nodes":["n4396","n4397","n4398","n4399","n4396"],"tags":{"building":"shed"}},"w759":{"id":"w759","nodes":["n4400","n4401","n4402","n4403","n4404","n4405","n4406","n4407","n4408","n4409","n4410","n4411","n4412","n4413","n4414","n4415","n4400"],"tags":{"building":"yes"}},"w76":{"id":"w76","nodes":["n2561","n359","n2563","n2793","n357","n356","n2792","n355","n354","n2791","n2562","n353","n352","n358","n2561"],"tags":{"highway":"service","oneway":"yes","service":"parking_aisle"}},"w760":{"id":"w760","nodes":["n4416","n4417"],"tags":{"barrier":"fence"}},"w761":{"id":"w761","nodes":["n4418","n4416","n4419"],"tags":{"barrier":"fence"}},"w762":{"id":"w762","nodes":["n4420","n4421"],"tags":{"barrier":"fence"}},"w763":{"id":"w763","nodes":["n4422","n4423","n4424","n4425","n4426","n4427","n4428","n4429","n4430","n4431","n4432","n4433","n4422"],"tags":{"building":"yes"}},"w764":{"id":"w764","nodes":["n4434","n4435","n4436","n4437","n4438","n4439","n4440","n4441","n4442","n4445","n4444","n4443","n4434"],"tags":{"building":"yes"}},"w765":{"id":"w765","nodes":["n4446","n4447","n4448","n4449","n4446"],"tags":{"building":"yes"}},"w766":{"id":"w766","nodes":["n4450","n4451","n4452","n4453","n4450"],"tags":{"building":"yes"}},"w767":{"id":"w767","nodes":["n4454","n4455","n4456","n4457","n4454"],"tags":{"building":"yes"}},"w768":{"id":"w768","nodes":["n4461","n4458","n4460"],"tags":{"footway":"crossing","highway":"footway"}},"w769":{"id":"w769","nodes":["n4460","n4462","n4459"],"tags":{"footway":"sidewalk","highway":"footway"}},"w77":{"id":"w77","nodes":["n325","n360","n361"],"tags":{"footway":"crossing","highway":"footway"}},"w770":{"id":"w770","nodes":["n4462","n4463","n4464"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w771":{"id":"w771","nodes":["n4464","n4465","n4466","n4467"],"tags":{"footway":"sidewalk","highway":"footway"}},"w772":{"id":"w772","nodes":["n3959","n3968","n3971","n3960","n3961","n3962","n3963"],"tags":{"footway":"sidewalk","highway":"footway"}},"w773":{"id":"w773","nodes":["n4467","n4468","n3959"],"tags":{"footway":"crossing","highway":"footway"}},"w774":{"id":"w774","nodes":["n4459","n4469","n4470"],"tags":{"footway":"crossing","highway":"footway"}},"w775":{"id":"w775","nodes":["n4470","n4471","n4472","n4473","n4474","n4475"],"tags":{"footway":"sidewalk","highway":"footway"}},"w776":{"id":"w776","nodes":["n4475","n4476","n4477"],"tags":{"footway":"crossing","highway":"footway"}},"w777":{"id":"w777","nodes":["n4477","n4478","n4479","n4480","n4481","n4482","n4483","n4484","n4485","n4486","n4487"],"tags":{"footway":"sidewalk","highway":"footway"}},"w778":{"id":"w778","nodes":["n4488","n4489","n4490","n4491","n4488"],"tags":{"building":"yes"}},"w779":{"id":"w779","nodes":["n4492","n4493","n4494","n4495","n4492"],"tags":{"building":"yes"}},"w78":{"id":"w78","nodes":["n361","n362","n369"],"tags":{"footway":"sidewalk","highway":"footway"}},"w780":{"id":"w780","nodes":["n4496","n4497","n4498","n4499","n4496"],"tags":{"access":"private","leisure":"swimming_pool"}},"w781":{"id":"w781","nodes":["n4508","n4509"],"tags":{"footway":"sidewalk","highway":"footway"}},"w782":{"id":"w782","nodes":["n4510","n4511"],"tags":{"footway":"sidewalk","highway":"footway"}},"w783":{"id":"w783","nodes":["n4512","n4513"],"tags":{"footway":"sidewalk","highway":"footway"}},"w784":{"id":"w784","nodes":["n4513","n4514"],"tags":{"footway":"sidewalk","highway":"footway"}},"w785":{"id":"w785","nodes":["n4515","n4516"],"tags":{"footway":"sidewalk","highway":"footway"}},"w786":{"id":"w786","nodes":["n4517","n4515"],"tags":{"footway":"sidewalk","highway":"footway"}},"w787":{"id":"w787","nodes":["n4518","n4519"],"tags":{"footway":"sidewalk","highway":"footway"}},"w788":{"id":"w788","nodes":["n4519","n4520","n4513"],"tags":{"footway":"crossing","highway":"footway"}},"w789":{"id":"w789","nodes":["n4515","n4521","n4513"],"tags":{"footway":"crossing","highway":"footway"}},"w79":{"id":"w79","nodes":["n362","n363","n334"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w790":{"id":"w790","nodes":["n4515","n4522","n4523"],"tags":{"footway":"crossing","highway":"footway"}},"w791":{"id":"w791","nodes":["n4523","n4524","n4519"],"tags":{"footway":"crossing","highway":"footway"}},"w792":{"id":"w792","nodes":["n4523","n4525"],"tags":{"footway":"sidewalk","highway":"footway"}},"w793":{"id":"w793","nodes":["n4525","n4526","n4527"],"tags":{"footway":"crossing","highway":"footway"}},"w794":{"id":"w794","nodes":["n4527","n4529"],"tags":{"footway":"sidewalk","highway":"footway"}},"w795":{"id":"w795","nodes":["n4529","n4530","n4518"],"tags":{"footway":"crossing","highway":"footway"}},"w796":{"id":"w796","nodes":["n4518","n4531"],"tags":{"footway":"sidewalk","highway":"footway"}},"w797":{"id":"w797","nodes":["n4531","n4532"],"tags":{"footway":"sidewalk","highway":"footway"}},"w798":{"id":"w798","nodes":["n4533","n4534"],"tags":{"footway":"sidewalk","highway":"footway"}},"w799":{"id":"w799","nodes":["n4518","n4538","n4539"],"tags":{"footway":"crossing","highway":"footway"}},"w8":{"id":"w8","nodes":["n46","n47","n145","n48","n49","n46"],"tags":{"amenity":"parking"}},"w80":{"id":"w80","nodes":["n334","n364","n365"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w800":{"id":"w800","nodes":["n4539","n4540","n4541"],"tags":{"footway":"crossing","highway":"footway"}},"w801":{"id":"w801","nodes":["n4541","n4542","n4529"],"tags":{"footway":"crossing","highway":"footway"}},"w802":{"id":"w802","nodes":["n4552","n4553"],"tags":{"footway":"sidewalk","highway":"footway"}},"w803":{"id":"w803","nodes":["n4554","n4555","n4556","n4557","n4558","n4559","n4554"],"tags":{"building":"yes"}},"w804":{"id":"w804","nodes":["n4562","n4563"],"tags":{"barrier":"retaining_wall"}},"w805":{"id":"w805","nodes":["n4568","n4569","n4570","n4571","n4568"],"tags":{"building":"yes"}},"w806":{"id":"w806","nodes":["n3473","n4575","n4576","n4581","n4580","n3551"],"tags":{"highway":"residential","oneway":"yes"}},"w807":{"id":"w807","nodes":["n4613","n4614","n4615","n4616","n4617","n4618","n4619","n4620","n4613"],"tags":{"leisure":"pitch","sport":"baseball"}},"w808":{"id":"w808","nodes":["n4621","n4622","n4623","n4624","n4625","n4626","n4627","n4628","n4629","n4630"],"tags":{"highway":"service"}},"w809":{"id":"w809","nodes":["n4631","n4632","n4633","n4637","n4634","n4638","n4635","n4636"],"tags":{"highway":"service"}},"w81":{"id":"w81","nodes":["n365","n366","n367"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w810":{"id":"w810","nodes":["n4639","n4640","n4641"],"tags":{"barrier":"fence"}},"w811":{"id":"w811","nodes":["n4649","n4650","n4651","n4652","n4649"],"tags":{"building":"yes"}},"w812":{"id":"w812","nodes":["n4654","n4655"],"tags":{"barrier":"fence"}},"w813":{"id":"w813","nodes":["n4656","n4657"],"tags":{"barrier":"fence"}},"w814":{"id":"w814","nodes":["n4669","n4670","n4671","n4672","n4669"],"tags":{"amenity":"shelter","shelter_type":"picnic_shelters"}},"w815":{"id":"w815","nodes":["n4678","n4679","n4680","n1889"],"tags":{"highway":"service"}},"w816":{"id":"w816","nodes":["n239","n4686","n4687"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w817":{"id":"w817","nodes":["n4687","n4688","n4689"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w818":{"id":"w818","nodes":["n4689","n4690","n307"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w819":{"id":"w819","nodes":["n2266","n4743"],"tags":{"highway":"path"}},"w82":{"id":"w82","nodes":["n724","n368","n369"],"tags":{"crossing":"zebra","footway":"crossing","highway":"footway"}},"w820":{"id":"w820","nodes":["n4785","n4786","n4787","n4788","n1684","n4760","n4769","n4761","n4762","n4763","n4764","n4765","n4766","n4767","n4768","n4785"],"tags":{"natural":"wood"}},"w821":{"id":"w821","nodes":["n4769","n4770","n4771","n4772","n4773","n4774","n4775","n4776","n4777","n4778","n4779","n4780","n4781","n4782","n4783","n4784","n4785","n4768","n4767","n4766","n4765","n4764","n4763","n4762","n4761","n4769"],"tags":{"natural":"scrub"}},"w822":{"id":"w822","nodes":["n4772","n4789","n4790","n4791","n4792","n4793","n4794","n4795","n4796","n4797","n4798","n4799","n4783","n4782","n4781","n4780","n4779","n4778","n4777","n4776","n4775","n4774","n4773","n4772"],"tags":{"natural":"wood"}},"w823":{"id":"w823","nodes":["n4800","n4801","n4802","n4803","n4804","n4805","n4806","n4807","n4808","n4809","n4810","n4811","n4812","n4813","n4814","n4815","n4816","n3490","n3489","n4800"],"tags":{"natural":"wood"}},"w824":{"id":"w824","nodes":["n4817","n4818","n4819","n4820","n4821","n4822","n4817"],"tags":{"landuse":"recreation_ground"}},"w825":{"id":"w825","nodes":["n4563","n4823","n4824","n4829","n4825","n4826","n4827","n4828","n4562","n4563"],"tags":{"landuse":"recreation_ground"}},"w826":{"id":"w826","nodes":["n4830","n4831","n4832","n4833","n4834","n4835","n4836","n4830"],"tags":{"landuse":"industrial"}},"w827":{"id":"w827","nodes":["n4563","n4837","n4838","n4839","n4840","n4841","n4842","n4827","n4828","n4562","n4563"],"tags":{"landuse":"industrial"}},"w828":{"id":"w828","nodes":["n4843","n4844","n4845","n4846","n4843"],"tags":{"landuse":"farmland"}},"w829":{"id":"w829","nodes":["n3712","n4847","n4848","n4849","n4850","n4851","n4852","n4858","n4864","n4959","n4960","n4853","n4857","n4854","n4855","n4856","n3712"],"tags":{"aeroway":"aerodrome","name":"Three Rivers Municipal Airport"}},"w83":{"id":"w83","nodes":["n371","n372","n373","n374","n371"],"tags":{"building":"yes"}},"w830":{"id":"w830","nodes":["n4855","n4854","n4857","n4853","n4960"],"tags":{"barrier":"fence"}},"w831":{"id":"w831","nodes":["n4860","n4859","n4858","n4852","n4851"],"tags":{"barrier":"fence"}},"w832":{"id":"w832","nodes":["n4866","n4878","n4869","n4867"],"tags":{"aeroway":"runway","ref":"5/23"}},"w833":{"id":"w833","nodes":["n4868","n4890","n4894","n4881","n4869","n4905","n4870"],"tags":{"aeroway":"runway","ref":"9/27"}},"w834":{"id":"w834","nodes":["n4871","n4875","n4872","n4895","n4873","n4874","n4871"],"tags":{"aeroway":"apron"}},"w835":{"id":"w835","nodes":["n4875","n4876","n4877","n4878","n4879","n4880","n4882","n4881"],"tags":{"aeroway":"taxiway"}},"w836":{"id":"w836","nodes":["n4882","n4893","n4883","n4891","n4884","n4885","n4886","n4887","n4888","n4892","n4889","n4890"],"tags":{"aeroway":"taxiway"}},"w837":{"id":"w837","nodes":["n4893","n4894"],"tags":{"aeroway":"taxiway"}},"w838":{"id":"w838","nodes":["n4895","n4896","n4897","n4898","n4899","n4900","n4901","n4902","n4903","n4906","n4904","n4905"],"tags":{"aeroway":"taxiway"}},"w839":{"id":"w839","nodes":["n4907","n4908"],"tags":{"highway":"service"}},"w84":{"id":"w84","nodes":["n374","n375","n376","n377","n373","n374"],"tags":{"building":"yes"}},"w840":{"id":"w840","nodes":["n4909","n4907","n4910"],"tags":{"highway":"service"}},"w841":{"id":"w841","nodes":["n4911","n4912","n4913","n4914","n4911"],"tags":{"building":"yes"}},"w842":{"id":"w842","nodes":["n4915","n4916","n4917","n4918","n4915"],"tags":{"aeroway":"hangar","building":"yes"}},"w843":{"id":"w843","nodes":["n4919","n4920","n4921","n4922","n4919"],"tags":{"building":"yes"}},"w844":{"id":"w844","nodes":["n4923","n4924","n4925","n4926","n4923"],"tags":{"aeroway":"hangar","building":"yes"}},"w845":{"id":"w845","nodes":["n4927","n4928","n4929","n4930","n4927"],"tags":{"aeroway":"hangar","building":"yes"}},"w846":{"id":"w846","nodes":["n4931","n4932","n4933","n4934","n4931"],"tags":{"aeroway":"hangar","building":"yes"}},"w847":{"id":"w847","nodes":["n4935","n4936","n4937","n4938","n4935"],"tags":{"aeroway":"hangar","building":"yes"}},"w848":{"id":"w848","nodes":["n4939","n4940","n4941","n4942","n4939"],"tags":{"aeroway":"hangar","building":"yes"}},"w849":{"id":"w849","nodes":["n4943","n4944","n4945","n4946","n4943"],"tags":{"aeroway":"hangar","building":"yes"}},"w85":{"id":"w85","nodes":["n431","n432","n1038","n433","n434","n1040","n431"],"tags":{"building":"yes"}},"w850":{"id":"w850","nodes":["n4947","n4948","n4949","n4950","n4947"],"tags":{"aeroway":"hangar","building":"yes"}},"w851":{"id":"w851","nodes":["n4951","n4952","n4953","n4954","n4951"],"tags":{"aeroway":"hangar","building":"yes"}},"w852":{"id":"w852","nodes":["n4955","n4956","n4957","n4958","n4955"],"tags":{"aeroway":"hangar","building":"yes"}},"w853":{"id":"w853","nodes":["n4959","n4864","n4861","n4862","n4863"],"tags":{"barrier":"fence"}},"w854":{"id":"w854","nodes":["n4961","n4962","n4963","n4964","n4965","n4966","n4967","n4968","n4969","n4961"],"tags":{"landuse":"farmland"}},"w855":{"id":"w855","nodes":["n4970","n4971","n4972","n4973","n4974","n4975","n4976","n4977","n4978","n4980","n4970"],"tags":{"landuse":"farmland"}},"w856":{"id":"w856","nodes":["n4979","n4980","n4978","n4981","n4982","n4983","n4984","n4985","n4979"],"tags":{"natural":"scrub"}},"w857":{"id":"w857","nodes":["n4986","n4987","n4988","n5032","n4989","n4990","n4991","n4992","n4993","n4994","n4995","n4996","n4997","n4998","n4999","n5000","n5001","n5002","n5022","n5023","n5024","n5025","n5030","n5031","n5029","n5028","n5027","n5026","n4986"],"tags":{"landuse":"farmland"}},"w858":{"id":"w858","nodes":["n5001","n5003","n5004","n4999","n5000","n5001"],"tags":{"natural":"scrub"}},"w859":{"id":"w859","nodes":["n5005","n5006","n5007","n5008","n5009","n5010","n5021","n5020","n5019","n5011","n5012","n5013","n5018","n5014","n5015","n5017","n5016","n5005"],"tags":{"landuse":"farmland"}},"w86":{"id":"w86","nodes":["n384","n385","n386","n387","n384"],"tags":{"building":"yes"}},"w860":{"id":"w860","nodes":["n3020","n5033","n5034","n5035","n3179","n3180","n3191","n3181","n3190","n3182","n3183","n3184","n3185","n3186","n3187","n3188","n3189","n3160","n3161","n3162","n2126","n2153","n2288","n3020"],"tags":{"landuse":"industrial"}},"w87":{"id":"w87","nodes":["n387","n388","n389","n386","n387"],"tags":{"building":"yes"}},"w88":{"id":"w88","nodes":["n390","n391","n392","n393","n390"],"tags":{"building":"yes"}},"w89":{"id":"w89","nodes":["n394","n2895"],"tags":{"highway":"service"}},"w9":{"id":"w9","nodes":["n50","n51","n148","n52","n57","n891","n53","n50"],"tags":{"building":"yes"}},"w90":{"id":"w90","nodes":["n398","n399","n400","n401","n402","n403","n404","n405","n406","n407","n408","n409","n410","n411","n412","n413","n414","n415","n416","n417","n398"],"tags":{"building":"yes"}},"w91":{"id":"w91","nodes":["n418","n423","n419"],"tags":{"highway":"service"}},"w92":{"id":"w92","nodes":["n420","n421","n422","n423","n420"],"tags":{"amenity":"parking"}},"w93":{"id":"w93","nodes":["n2282","n1876"],"tags":{"name":"Rocky River","tunnel":"building_passage","waterway":"river"}},"w94":{"id":"w94","nodes":["n1876","n885","n1875","n2234"],"tags":{"name":"Rocky River","waterway":"river"}},"w95":{"id":"w95","nodes":["n425","n426","n427","n914","n428","n913","n425"],"tags":{"building":"yes"}},"w96":{"id":"w96","nodes":["n456","n620","n1034","n1035","n456"],"tags":{"building":"yes"}},"w97":{"id":"w97","nodes":["n435","n912","n451","n321"],"tags":{"highway":"footway"}},"w98":{"id":"w98","nodes":["n436","n319","n437","n438","n439","n440","n441","n476","n442"],"tags":{"highway":"service"}},"w99":{"id":"w99","nodes":["n443","n444","n445","n446","n447","n448","n449","n450","n443"],"tags":{"amenity":"parking"}},"n2934":{"id":"n2934","loc":[-85.617051,41.952263]},"n2935":{"id":"n2935","loc":[-85.61699,41.952276]},"n2937":{"id":"n2937","loc":[-85.616847,41.952262]},"n2938":{"id":"n2938","loc":[-85.616577,41.951956]},"n2939":{"id":"n2939","loc":[-85.61656,41.952044]},"n3348":{"id":"n3348","loc":[-85.61714,41.9522]},"n3349":{"id":"n3349","loc":[-85.616517,41.95212]},"n3350":{"id":"n3350","loc":[-85.616489,41.952033]},"n3351":{"id":"n3351","loc":[-85.616529,41.951907]},"n3354":{"id":"n3354","loc":[-85.616488,41.951994]}};
+
+ // Tooltips and svg mask used to highlight certain features
+ function uiCurtain() {
+
+ var surface = select(null),
+ tooltip = select(null),
+ darkness = select(null);
+
+ function curtain(selection$$1) {
+ surface = selection$$1
+ .append('svg')
+ .attr('id', 'curtain')
+ .style('z-index', 1000)
+ .style('pointer-events', 'none')
+ .style('position', 'absolute')
+ .style('top', 0)
+ .style('left', 0);
+
+ darkness = surface.append('path')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('class', 'curtain-darkness');
+
+ select(window).on('resize.curtain', resize);
+
+ tooltip = selection$$1.append('div')
+ .attr('class', 'tooltip')
+ .style('z-index', 1002);
+
+ tooltip
+ .append('div')
+ .attr('class', 'tooltip-arrow');
+
+ tooltip
+ .append('div')
+ .attr('class', 'tooltip-inner');
+
+ resize();
+
+
+ function resize() {
+ surface
+ .attr('width', window.innerWidth)
+ .attr('height', window.innerHeight);
+ curtain.cut(darkness.datum());
+ }
+ }
+
+
+ /**
+ * Reveal cuts the curtain to highlight the given box,
+ * and shows a tooltip with instructions next to the box.
+ *
+ * @param {String|ClientRect} [box] box used to cut the curtain
+ * @param {String} [text] text for a tooltip
+ * @param {Object} [options]
+ * @param {string} [options.tooltipClass] optional class to add to the tooltip
+ * @param {integer} [options.duration] transition time in milliseconds
+ * @param {string} [options.buttonText] if set, create a button with this text label
+ * @param {function} [options.buttonCallback] if set, the callback for the button
+ * @param {String|ClientRect} [options.tooltipBox] box for tooltip position, if different from box for the curtain
+ */
+ curtain.reveal = function(box, text, options) {
+ if (typeof box === 'string') {
+ box = select(box).node();
+ }
+ if (box && box.getBoundingClientRect) {
+ box = copyBox(box.getBoundingClientRect());
+ }
+
+ options = options || {};
+
+ var tooltipBox;
+ if (options.tooltipBox) {
+ tooltipBox = options.tooltipBox;
+ if (typeof tooltipBox === 'string') {
+ tooltipBox = select(tooltipBox).node();
+ }
+ if (tooltipBox && tooltipBox.getBoundingClientRect) {
+ tooltipBox = copyBox(tooltipBox.getBoundingClientRect());
+ }
+ } else {
+ tooltipBox = box;
+ }
+
+ if (tooltipBox && text) {
+ // pseudo markdown bold text for the instruction section..
+ var parts = text.split('**');
+ var html = parts[0] ? '<span>' + parts[0] + '</span>' : '';
+ if (parts[1]) {
+ html += '<span class="instruction">' + parts[1] + '</span>';
+ }
+
+ html = html.replace(/\*(.*?)\*/g, '<em>$1</em>'); // emphasis
+ html = html.replace(/\{br\}/g, '<br/><br/>'); // linebreak
+
+ if (options.buttonText && options.buttonCallback) {
+ html += '<div class="button-section">' +
+ '<button href="#" class="button action col8">' + options.buttonText + '</button></div>';
+ }
+
+ var classes = 'curtain-tooltip tooltip in ' + (options.tooltipClass || '');
+ tooltip
+ .classed(classes, true)
+ .selectAll('.tooltip-inner')
+ .html(html);
+
+ if (options.buttonText && options.buttonCallback) {
+ var button = tooltip.selectAll('.button-section .button.action');
+ button
+ .on('click', function() {
+ event.preventDefault();
+ options.buttonCallback();
+ });
+ }
+
+ var tip = copyBox(tooltip.node().getBoundingClientRect()),
+ w = window.innerWidth,
+ h = window.innerHeight,
+ tooltipWidth = 200,
+ tooltipArrow = 5,
+ side, pos;
+
+
+ // hack: this will have bottom placement,
+ // so need to reserve extra space for the tooltip illustration.
+ if (options.tooltipClass === 'intro-mouse') {
+ tip.height += 80;
+ }
+
+ // trim box dimensions to just the portion that fits in the window..
+ if (tooltipBox.top + tooltipBox.height > h) {
+ tooltipBox.height -= (tooltipBox.top + tooltipBox.height - h);
+ }
+ if (tooltipBox.left + tooltipBox.width > w) {
+ tooltipBox.width -= (tooltipBox.left + tooltipBox.width - w);
+ }
+
+ // determine tooltip placement..
+
+ if (tooltipBox.top + tooltipBox.height < 100) {
+ // tooltip below box..
+ side = 'bottom';
+ pos = [
+ tooltipBox.left + tooltipBox.width / 2 - tip.width / 2,
+ tooltipBox.top + tooltipBox.height
+ ];
+
+ } else if (tooltipBox.top > h - 140) {
+ // tooltip above box..
+ side = 'top';
+ pos = [
+ tooltipBox.left + tooltipBox.width / 2 - tip.width / 2,
+ tooltipBox.top - tip.height
+ ];
+
+ } else {
+ // tooltip to the side of the tooltipBox..
+ var tipY = tooltipBox.top + tooltipBox.height / 2 - tip.height / 2;
+
+ if (textDirection === 'rtl') {
+ if (tooltipBox.left - tooltipWidth - tooltipArrow < 70) {
+ side = 'right';
+ pos = [tooltipBox.left + tooltipBox.width + tooltipArrow, tipY];
+
+ } else {
+ side = 'left';
+ pos = [tooltipBox.left - tooltipWidth - tooltipArrow, tipY];
+ }
+
+ } else {
+ if (tooltipBox.left + tooltipBox.width + tooltipArrow + tooltipWidth > w - 70) {
+ side = 'left';
+ pos = [tooltipBox.left - tooltipWidth - tooltipArrow, tipY];
+ }
+ else {
+ side = 'right';
+ pos = [tooltipBox.left + tooltipBox.width + tooltipArrow, tipY];
+ }
+ }
+ }
+
+ if (options.duration !== 0 || !tooltip.classed(side)) {
+ tooltip.call(uiToggle(true));
+ }
+
+ tooltip
+ .style('top', pos[1] + 'px')
+ .style('left', pos[0] + 'px')
+ .attr('class', classes + ' ' + side);
+
+
+ // shift tooltip-inner if it is very close to the top or bottom edge
+ // (doesn't affect the placement of the tooltip-arrow)
+ var shiftY = 0;
+ if (side === 'left' || side === 'right') {
+ if (pos[1] < 60) {
+ shiftY = 60 - pos[1];
+ }
+ else if (pos[1] + tip.height > h - 100) {
+ shiftY = h - pos[1] - tip.height - 100;
+ }
+ }
+ tooltip.selectAll('.tooltip-inner')
+ .style('top', shiftY + 'px');
+
+ } else {
+ tooltip
+ .classed('in', false)
+ .call(uiToggle(false));
+ }
+
+ curtain.cut(box, options.duration);
+
+ return tooltip;
+ };
+
+
+ curtain.cut = function(datum, duration) {
+ darkness.datum(datum)
+ .interrupt();
+
+ var selection$$1;
+ if (duration === 0) {
+ selection$$1 = darkness;
+ } else {
+ selection$$1 = darkness
+ .transition()
+ .duration(duration || 600)
+ .ease(linear$1);
+ }
+
+ selection$$1
+ .attr('d', function(d) {
+ var string = 'M 0,0 L 0,' + window.innerHeight + ' L ' +
+ window.innerWidth + ',' + window.innerHeight + 'L' +
+ window.innerWidth + ',0 Z';
+
+ if (!d) return string;
+ return string + 'M' +
+ d.left + ',' + d.top + 'L' +
+ d.left + ',' + (d.top + d.height) + 'L' +
+ (d.left + d.width) + ',' + (d.top + d.height) + 'L' +
+ (d.left + d.width) + ',' + (d.top) + 'Z';
+
+ });
+ };
+
+
+ curtain.remove = function() {
+ surface.remove();
+ tooltip.remove();
+ select(window).on('resize.curtain', null);
+ };
+
+
+ // ClientRects are immutable, so copy them to an object,
+ // in case we need to trim the height/width.
+ function copyBox(src) {
+ return {
+ top: src.top,
+ right: src.right,
+ bottom: src.bottom,
+ left: src.left,
+ width: src.width,
+ height: src.height
+ };
+ }
+
+
+ return curtain;
+ }
+
+ function uiIntroWelcome(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ listener = clickListener();
+
+ var chapter = {
+ title: 'intro.welcome.title'
+ };
+
+
+ function welcome() {
+ context.map().centerZoom([-85.63591, 41.94285], 19);
+ reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.welcome'),
+ { buttonText: t('intro.ok'), buttonCallback: practice }
+ );
+ }
+
+ function practice() {
+ reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.practice'),
+ { buttonText: t('intro.ok'), buttonCallback: words }
+ );
+ }
+
+ function words() {
+ reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.words'),
+ { buttonText: t('intro.ok'), buttonCallback: mouse$$1 }
+ );
+ }
+
+
+ function mouse$$1() {
+ reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.mouse'),
+ { buttonText: t('intro.ok'), buttonCallback: leftClick }
+ );
+ }
+
+
+ function leftClick() {
+ var counter = 0,
+ times = 5;
+
+ var tooltip = reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.leftclick', { num: times }),
+ { tooltipClass: 'intro-mouse' }
+ );
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#walkthrough-mouse');
+
+ tooltip
+ .append('div')
+ .attr('class', 'counter');
+
+ tooltip.call(listener);
+
+ listener.on('click', function(which) {
+ if (which === 'left') {
+ select('.curtain-tooltip.intro-mouse .counter')
+ .text(String(++counter));
+
+ if (counter === times) {
+ window.setTimeout(function() { continueTo(rightClick); }, 1000);
+ }
+ }
+ });
+
+ function continueTo(nextStep) {
+ listener.on('click', null);
+ tooltip.call(listener.off);
+ tooltip.select('.counter').remove();
+ nextStep();
+ }
+ }
+
+
+ function rightClick() {
+ var counter = 0,
+ times = 5;
+
+ var tooltip = reveal('.intro-nav-wrap .chapter-welcome',
+ t('intro.welcome.rightclick', { num: times }),
+ { tooltipClass: 'intro-mouse' }
+ );
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#walkthrough-mouse');
+
+ tooltip
+ .append('div')
+ .attr('class', 'counter');
+
+ tooltip.call(listener);
+
+ listener.on('click', function(which) {
+ if (which === 'right') {
+ select('.curtain-tooltip.intro-mouse .counter')
+ .text(String(++counter));
+
+ if (counter === times) {
+ window.setTimeout(function() { continueTo(chapters); }, 1000);
+ }
+ }
+ });
+
+ function continueTo(nextStep) {
+ listener.on('click', null);
+ tooltip.call(listener.off);
+ tooltip.select('.counter').remove();
+ nextStep();
+ }
+ }
+
+
+ function chapters() {
+ dispatch$$1.call('done');
+ reveal('.intro-nav-wrap .chapter-navigation',
+ t('intro.welcome.chapters', { next: t('intro.navigation.title') })
+ );
+ }
+
+
+ chapter.enter = function() {
+ welcome();
+ };
+
+
+ chapter.exit = function() {
+ listener.off();
+ select('.curtain-tooltip.intro-mouse')
+ .selectAll('.counter')
+ .remove();
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+
+
+ function clickListener() {
+ var dispatch$$1 = dispatch('click'),
+ minTime = 120,
+ tooltip = select(null),
+ down = {};
+
+ // `down` keeps track of which buttons/keys are down.
+ // Setting a property in `down` happens immediately.
+ // Unsetting a property in `down` is delayed because
+ // on Windows a contextmenu event happens after keyup/mouseup
+
+ function keydown() {
+ if (event.keyCode === 93) { // context menu
+ event.preventDefault();
+ event.stopPropagation();
+ down.menu = event.timeStamp;
+ tooltip.classed('rightclick', true);
+ }
+ }
+
+
+ function keyup() {
+ if (event.keyCode === 93) { // context menu
+ event.preventDefault();
+ event.stopPropagation();
+ var endTime = event.timeStamp,
+ startTime = down.menu || endTime,
+ delay = (endTime - startTime < minTime) ? minTime : 0;
+
+ window.setTimeout(function() {
+ tooltip.classed('rightclick', false);
+ down.menu = undefined; // delayed, for Windows
+ }, delay);
+
+ dispatch$$1.call('click', this, 'right');
+ }
+ }
+
+
+ function mousedown() {
+ var button = event.button;
+ if (button === 0 && !event.ctrlKey) {
+ tooltip.classed('leftclick', true);
+ } else if (button === 2) {
+ tooltip.classed('rightclick', true);
+ }
+ down[button] = event.timeStamp;
+ }
+
+
+ function mouseup() {
+ var button = event.button,
+ endTime = event.timeStamp,
+ startTime = down[button] || endTime,
+ delay = (endTime - startTime < minTime) ? minTime : 0;
+
+ if (button === 0 && !event.ctrlKey) {
+ window.setTimeout(function() {
+ tooltip.classed('leftclick', false);
+ down[button] = undefined; // delayed, for Windows
+ }, delay);
+
+ dispatch$$1.call('click', this, 'left');
+
+ } else if (button === 2) {
+ window.setTimeout(function() {
+ tooltip.classed('rightclick', false);
+ down[button] = undefined; // delayed, for Windows
+ }, delay);
+
+ dispatch$$1.call('click', this, 'right');
+
+ } else {
+ window.setTimeout(function() {
+ down[button] = undefined; // delayed, for Windows
+ }, delay);
+ }
+ }
+
+
+ function contextmenu() {
+ event.preventDefault();
+ event.stopPropagation();
+ if (!down[2] && !down.menu) {
+ tooltip.classed('rightclick', true);
+ window.setTimeout(function() {
+ tooltip.classed('rightclick', false);
+ }, minTime);
+ dispatch$$1.call('click', this, 'right');
+ }
+ }
+
+
+ var behavior = function(selection$$1) {
+ tooltip = selection$$1;
+ down = {};
+
+ select(window)
+ .on('keydown.intro', keydown)
+ .on('keyup.intro', keyup)
+ .on('mousedown.intro', mousedown)
+ .on('mouseup.intro', mouseup)
+ .on('contextmenu.intro', contextmenu);
+ };
+
+
+ behavior.off = function() {
+ select(window)
+ .on('keydown.intro', null)
+ .on('keyup.intro', null)
+ .on('mousedown.intro', null)
+ .on('mouseup.intro', null)
+ .on('contextmenu.intro', null);
+
+ tooltip
+ .classed('leftclick', false)
+ .classed('rightclick', false);
+ };
+
+ return utilRebind(behavior, dispatch$$1, 'on');
+ }
+
+ function uiIntroNavigation(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ timeouts = [],
+ hallId = 'n2061',
+ townHall = [-85.63591, 41.94285],
+ springStreetId = 'w397',
+ springStreetEndId = 'n1834',
+ springStreet = [-85.63582, 41.94255],
+ onewayField = context.presets().field('oneway'),
+ maxspeedField = context.presets().field('maxspeed');
+
+
+ var chapter = {
+ title: 'intro.navigation.title'
+ };
+
+
+ function timeout(f, t$$1) {
+ timeouts.push(window.setTimeout(f, t$$1));
+ }
+
+
+ function eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function isTownHallSelected() {
+ var ids = context.selectedIDs();
+ return ids.length === 1 && ids[0] === hallId;
+ }
+
+
+ function dragMap() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+
+ var msec = transitionTime(townHall, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(townHall, msec);
+
+ timeout(function() {
+ var centerStart = context.map().center();
+
+ reveal('#surface', t('intro.navigation.drag'));
+ context.map().on('drawn.intro', function() {
+ reveal('#surface', t('intro.navigation.drag'), { duration: 0 });
+ });
+
+ context.map().on('move.intro', function() {
+ var centerNow = context.map().center();
+ if (centerStart[0] !== centerNow[0] || centerStart[1] !== centerNow[1]) {
+ context.map().on('move.intro', null);
+ timeout(function() { continueTo(zoomMap); }, 3000);
+ }
+ });
+
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function zoomMap() {
+ var zoomStart = context.map().zoom();
+
+ reveal('#surface',
+ t('intro.navigation.zoom', {
+ plus: icon('#icon-plus', 'pre-text'),
+ minus: icon('#icon-minus', 'pre-text')
+ })
+ );
+
+ context.map().on('drawn.intro', function() {
+ reveal('#surface',
+ t('intro.navigation.zoom', {
+ plus: icon('#icon-plus', 'pre-text'),
+ minus: icon('#icon-minus', 'pre-text')
+ }), { duration: 0 }
+ );
+ });
+
+ context.map().on('move.intro', function() {
+ if (context.map().zoom() !== zoomStart) {
+ context.map().on('move.intro', null);
+ timeout(function() { continueTo(features); }, 3000);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function features() {
+ var onClick = function() { continueTo(pointsLinesAreas); };
+
+ reveal('#surface', t('intro.navigation.features'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.map().on('drawn.intro', function() {
+ reveal('#surface', t('intro.navigation.features'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('drawn.intro', null);
+ nextStep();
+ }
+ }
+
+ function pointsLinesAreas() {
+ var onClick = function() { continueTo(nodesWays); };
+
+ reveal('#surface', t('intro.navigation.points_lines_areas'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.map().on('drawn.intro', function() {
+ reveal('#surface', t('intro.navigation.points_lines_areas'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('drawn.intro', null);
+ nextStep();
+ }
+ }
+
+ function nodesWays() {
+ var onClick = function() { continueTo(clickTownHall); };
+
+ reveal('#surface', t('intro.navigation.nodes_ways'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.map().on('drawn.intro', function() {
+ reveal('#surface', t('intro.navigation.nodes_ways'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('drawn.intro', null);
+ nextStep();
+ }
+ }
+
+ function clickTownHall() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+
+ reveal(null, null, { duration: 0 });
+ context.map().zoomEase(19, 500);
+
+ timeout(function() {
+ var entity = context.hasEntity(hallId);
+ if (!entity) return;
+ context.map().centerEase(entity.loc, 500);
+
+ timeout(function() {
+ var entity = context.hasEntity(hallId);
+ if (!entity) return;
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.navigation.click_townhall'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ var entity = context.hasEntity(hallId);
+ if (!entity) return;
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.navigation.click_townhall'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function() {
+ if (isTownHallSelected()) continueTo(selectedTownHall);
+ });
+
+ }, 550); // after centerEase
+
+ }, 550); // after zoomEase
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(hallId)) {
+ continueTo(clickTownHall);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function selectedTownHall() {
+ if (!isTownHallSelected()) return clickTownHall();
+
+ var entity = context.hasEntity(hallId);
+ if (!entity) return clickTownHall();
+
+ var box = pointBox(entity.loc, context);
+ var onClick = function() { continueTo(editorTownHall); };
+
+ reveal(box, t('intro.navigation.selected_townhall'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var entity = context.hasEntity(hallId);
+ if (!entity) return;
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.navigation.selected_townhall'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(hallId)) {
+ continueTo(clickTownHall);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function editorTownHall() {
+ if (!isTownHallSelected()) return clickTownHall();
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ var onClick = function() { continueTo(presetTownHall); };
+
+ reveal('.entity-editor-pane',
+ t('intro.navigation.editor_townhall'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.on('exit.intro', function() {
+ continueTo(clickTownHall);
+ });
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(hallId)) {
+ continueTo(clickTownHall);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function presetTownHall() {
+ if (!isTownHallSelected()) return clickTownHall();
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ // preset match, in case the user happened to change it.
+ var entity = context.entity(context.selectedIDs()[0]);
+ var preset = context.presets().match(entity, context.graph());
+
+ var onClick = function() { continueTo(fieldsTownHall); };
+
+ context.on('exit.intro', function() {
+ continueTo(clickTownHall);
+ });
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(hallId)) {
+ continueTo(clickTownHall);
+ }
+ });
+
+ reveal('.inspector-body .preset-list-item.inspector-inner',
+ t('intro.navigation.preset_townhall', { preset: preset.name() }),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function fieldsTownHall() {
+ if (!isTownHallSelected()) return clickTownHall();
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ var onClick = function() { continueTo(closeTownHall); };
+
+ reveal('.inspector-body .preset-editor',
+ t('intro.navigation.fields_townhall'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.on('exit.intro', function() {
+ continueTo(clickTownHall);
+ });
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(hallId)) {
+ continueTo(clickTownHall);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function closeTownHall() {
+ if (!isTownHallSelected()) return clickTownHall();
+
+ var selector$$1 = '.entity-editor-pane button.preset-close svg use';
+ var href = select(selector$$1).attr('href') || '#icon-close';
+
+ reveal('.entity-editor-pane',
+ t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') })
+ );
+
+ context.on('exit.intro', function() {
+ continueTo(searchStreet);
+ });
+
+ context.history().on('change.intro', function() {
+ // update the close icon in the tooltip if the user edits something.
+ var selector$$1 = '.entity-editor-pane button.preset-close svg use';
+ var href = select(selector$$1).attr('href') || '#icon-close';
+
+ reveal('.entity-editor-pane',
+ t('intro.navigation.close_townhall', { button: icon(href, 'pre-text') }),
+ { duration: 0 }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function searchStreet() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial'); // ensure spring street exists
+
+ var msec = transitionTime(springStreet, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(springStreet, msec); // ..and user can see it
+
+ timeout(function() {
+ reveal('.search-header input',
+ t('intro.navigation.search_street', { name: t('intro.graph.name.spring-street') })
+ );
+
+ select('.search-header input')
+ .on('keyup.intro', checkSearchResult);
+ }, msec + 100);
+ }
+
+
+ function checkSearchResult() {
+ var first = select('.feature-list-item:nth-child(0n+2)'), // skip "No Results" item
+ firstName = first.select('.entity-name'),
+ name = t('intro.graph.name.spring-street');
+
+ if (!firstName.empty() && firstName.text() === name) {
+ reveal(first.node(),
+ t('intro.navigation.choose_street', { name: name }),
+ { duration: 300 }
+ );
+
+ context.on('exit.intro', function() {
+ continueTo(selectedStreet);
+ });
+
+ select('.search-header input')
+ .on('keydown.intro', eventCancel, true)
+ .on('keyup.intro', null);
+ }
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ select('.search-header input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function selectedStreet() {
+ if (!context.hasEntity(springStreetEndId) || !context.hasEntity(springStreetId)) {
+ return searchStreet();
+ }
+
+ var onClick = function() { continueTo(editorStreet); };
+ var entity = context.entity(springStreetEndId);
+ var box = pointBox(entity.loc, context);
+ box.height = 500;
+
+ reveal(box,
+ t('intro.navigation.selected_street', { name: t('intro.graph.name.spring-street') }),
+ { duration: 600, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ var entity = context.hasEntity(springStreetEndId);
+ if (!entity) return;
+ var box = pointBox(entity.loc, context);
+ box.height = 500;
+ reveal(box,
+ t('intro.navigation.selected_street', { name: t('intro.graph.name.spring-street') }),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+ }, 600); // after reveal.
+
+ context.on('enter.intro', function(mode) {
+ if (!context.hasEntity(springStreetId)) {
+ return continueTo(searchStreet);
+ }
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== springStreetId) {
+ // keep Spring Street selected..
+ context.enter(modeSelect(context, [springStreetId]));
+ }
+ });
+
+ context.history().on('change.intro', function() {
+ if (!context.hasEntity(springStreetEndId) || !context.hasEntity(springStreetId)) {
+ timeout(function() {
+ continueTo(searchStreet);
+ }, 300); // after any transition (e.g. if user deleted intersection)
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function editorStreet() {
+ var selector$$1 = '.entity-editor-pane button.preset-close svg use';
+ var href = select(selector$$1).attr('href') || '#icon-close';
+
+ reveal('.entity-editor-pane',
+ t('intro.navigation.editor_street', {
+ button: icon(href, 'pre-text'),
+ field1: onewayField.label(),
+ field2: maxspeedField.label()
+ })
+ );
+
+ context.on('exit.intro', function() {
+ continueTo(play);
+ });
+
+ context.history().on('change.intro', function() {
+ // update the close icon in the tooltip if the user edits something.
+ var selector$$1 = '.entity-editor-pane button.preset-close svg use';
+ var href = select(selector$$1).attr('href') || '#icon-close';
+
+ reveal('.entity-editor-pane',
+ t('intro.navigation.editor_street', {
+ button: icon(href, 'pre-text'),
+ field1: onewayField.label().toLowerCase(),
+ field2: maxspeedField.label().toLowerCase()
+ }), { duration: 0 }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function play() {
+ dispatch$$1.call('done');
+ reveal('#id-container',
+ t('intro.navigation.play', { next: t('intro.points.title') }), {
+ tooltipBox: '.intro-nav-wrap .chapter-point',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { reveal('#id-container'); }
+ }
+ );
+ }
+
+
+ chapter.enter = function() {
+ dragMap();
+ };
+
+
+ chapter.exit = function() {
+ timeouts.forEach(window.clearTimeout);
+ context.on('enter.intro exit.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.search-header input').on('keydown.intro keyup.intro', null);
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ function uiIntroPoint(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ timeouts = [],
+ intersection = [-85.63279, 41.94394],
+ building = [-85.632422, 41.944045],
+ cafePreset = context.presets().item('amenity/cafe'),
+ pointId = null;
+
+
+ var chapter = {
+ title: 'intro.points.title'
+ };
+
+
+ function timeout(f, t$$1) {
+ timeouts.push(window.setTimeout(f, t$$1));
+ }
+
+
+ function revealEditMenu(loc, text, options) {
+ var rect = context.surfaceRect();
+ var point$$1 = context.curtainProjection(loc);
+ var pad = 40;
+ var width = 250 + (2 * pad);
+ var height = 250;
+ var startX = rect.left + point$$1[0];
+ var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+ var box = {
+ left: left,
+ top: point$$1[1] + rect.top - 60,
+ width: width,
+ height: height
+ };
+ reveal(box, text, options);
+ }
+
+
+ function eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function addPoint() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+
+ var msec = transitionTime(intersection, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(intersection, msec);
+
+ timeout(function() {
+ var tooltip = reveal('button.add-point',
+ t('intro.points.add_point', { button: icon('#icon-point', 'pre-text') }));
+
+ pointId = null;
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#poi-images');
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'add-point') return;
+ continueTo(placePoint);
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function placePoint() {
+ if (context.mode().id !== 'add-point') {
+ return chapter.restart();
+ }
+
+ var pointBox$$1 = pad$1(building, 150, context);
+ reveal(pointBox$$1, t('intro.points.place_point'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ pointBox$$1 = pad$1(building, 150, context);
+ reveal(pointBox$$1, t('intro.points.place_point'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return chapter.restart();
+ pointId = context.mode().selectedIDs()[0];
+ continueTo(searchPreset);
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function searchPreset() {
+ if (context.mode().id !== 'select' || !pointId || !context.hasEntity(pointId)) {
+ return addPoint();
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.points.search_cafe', { preset: cafePreset.name() })
+ );
+
+ context.on('enter.intro', function(mode) {
+ if (!pointId || !context.hasEntity(pointId)) {
+ return continueTo(addPoint);
+ }
+
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== pointId) {
+ // keep the user's point selected..
+ context.enter(modeSelect(context, [pointId]));
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.points.search_cafe', { preset: cafePreset.name() })
+ );
+
+ context.history().on('change.intro', null);
+ }
+ });
+
+
+ function checkPresetSearch() {
+ var first = select('.preset-list-item:first-child');
+
+ if (first.classed('preset-amenity-cafe')) {
+ select('.preset-search-input')
+ .on('keydown.intro', eventCancel, true)
+ .on('keyup.intro', null);
+
+ reveal(first.select('.preset-list-button').node(),
+ t('intro.points.choose_cafe', { preset: cafePreset.name() }),
+ { duration: 300 }
+ );
+
+ context.history().on('change.intro', function() {
+ continueTo(aboutFeatureEditor);
+ });
+ }
+ }
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function aboutFeatureEditor() {
+ if (context.mode().id !== 'select' || !pointId || !context.hasEntity(pointId)) {
+ return addPoint();
+ }
+
+ timeout(function() {
+ reveal('.entity-editor-pane', t('intro.points.feature_editor'), {
+ tooltipClass: 'intro-points-describe',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(addName); }
+ });
+ }, 400);
+
+ context.on('exit.intro', function() {
+ // if user leaves select mode here, just continue with the tutorial.
+ continueTo(reselectPoint);
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function addName() {
+ if (context.mode().id !== 'select' || !pointId || !context.hasEntity(pointId)) {
+ return addPoint();
+ }
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ timeout(function() {
+ // It's possible for the user to add a name in a previous step..
+ // If so, don't tell them to add the name in this step.
+ // Give them an OK button instead.
+ var entity = context.entity(pointId);
+ if (entity.tags.name) {
+ var tooltip = reveal('.entity-editor-pane', t('intro.points.add_name'), {
+ tooltipClass: 'intro-points-describe',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(addCloseEditor); }
+ });
+ tooltip.select('.instruction').style('display', 'none');
+
+ } else {
+ reveal('.entity-editor-pane', t('intro.points.add_name'),
+ { tooltipClass: 'intro-points-describe' }
+ );
+ }
+ }, 400);
+
+ context.history().on('change.intro', function() {
+ continueTo(addCloseEditor);
+ });
+
+ context.on('exit.intro', function() {
+ // if user leaves select mode here, just continue with the tutorial.
+ continueTo(reselectPoint);
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function addCloseEditor() {
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ var selector$$1 = '.entity-editor-pane button.preset-close svg use';
+ var href = select(selector$$1).attr('href') || '#icon-close';
+
+ context.on('exit.intro', function() {
+ continueTo(reselectPoint);
+ });
+
+ reveal('.entity-editor-pane',
+ t('intro.points.add_close', { button: icon(href, 'pre-text') })
+ );
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function reselectPoint() {
+ if (!pointId) return chapter.restart();
+ var entity = context.hasEntity(pointId);
+ if (!entity) return chapter.restart();
+
+ // make sure it's still a cafe, in case user somehow changed it..
+ var oldPreset = context.presets().match(entity, context.graph());
+ context.replace(actionChangePreset(pointId, oldPreset, cafePreset));
+
+ context.enter(modeBrowse(context));
+
+ var msec = transitionTime(entity.loc, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().centerEase(entity.loc, msec);
+
+ timeout(function() {
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.points.reselect'), { duration: 600 });
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ var entity = context.hasEntity(pointId);
+ if (!entity) return chapter.restart();
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.points.reselect'), { duration: 0 });
+ });
+ }, 600); // after reveal..
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return;
+ continueTo(updatePoint);
+ });
+
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function updatePoint() {
+ if (context.mode().id !== 'select' || !pointId || !context.hasEntity(pointId)) {
+ return continueTo(reselectPoint);
+ }
+
+ // reset pane, in case user happened to untag the point..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ context.on('exit.intro', function() {
+ continueTo(reselectPoint);
+ });
+
+ context.history().on('change.intro', function() {
+ continueTo(updateCloseEditor);
+ });
+
+ timeout(function() {
+ reveal('.entity-editor-pane', t('intro.points.update'),
+ { tooltipClass: 'intro-points-describe' }
+ );
+ }, 400);
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function updateCloseEditor() {
+ if (context.mode().id !== 'select' || !pointId || !context.hasEntity(pointId)) {
+ return continueTo(reselectPoint);
+ }
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ context.on('exit.intro', function() {
+ continueTo(rightClickPoint);
+ });
+
+ timeout(function() {
+ reveal('.entity-editor-pane',
+ t('intro.points.update_close', { button: icon('#icon-apply', 'pre-text') })
+ );
+ }, 500);
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function rightClickPoint() {
+ if (!pointId) return chapter.restart();
+ var entity = context.hasEntity(pointId);
+ if (!entity) return chapter.restart();
+
+ context.enter(modeBrowse(context));
+
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.points.rightclick'), { duration: 600 });
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ var entity = context.hasEntity(pointId);
+ if (!entity) return chapter.restart();
+ var box = pointBox(entity.loc, context);
+ reveal(box, t('intro.points.rightclick'), { duration: 0 });
+ });
+ }, 600); // after reveal
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return;
+ var ids = context.selectedIDs();
+ if (ids.length !== 1 || ids[0] !== pointId) return;
+
+ timeout(function() {
+ var node = selectMenuItem('delete').node();
+ if (!node) return;
+ continueTo(enterDelete);
+ }, 300); // after menu visible
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function enterDelete() {
+ if (!pointId) return chapter.restart();
+ var entity = context.hasEntity(pointId);
+ if (!entity) return chapter.restart();
+
+ var node = selectMenuItem('delete').node();
+ if (!node) { return continueTo(rightClickPoint); }
+
+ revealEditMenu(entity.loc,
+ t('intro.points.delete', { button: icon('#operation-delete', 'pre-text') })
+ );
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ revealEditMenu(entity.loc,
+ t('intro.points.delete', { button: icon('#operation-delete', 'pre-text') }),
+ { duration: 0}
+ );
+ });
+ }, 300); // after menu visible
+
+ context.on('exit.intro', function() {
+ if (!pointId) return chapter.restart();
+ var entity = context.hasEntity(pointId);
+ if (entity) return continueTo(rightClickPoint); // point still exists
+ });
+
+ context.history().on('change.intro', function(changed) {
+ if (changed.deleted().length) {
+ continueTo(undo);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function undo() {
+ context.history().on('change.intro', function() {
+ continueTo(play);
+ });
+
+ var iconName = '#icon-' + (textDirection === 'rtl' ? 'redo' : 'undo');
+ reveal('#bar button.undo-button',
+ t('intro.points.undo', { button: icon(iconName, 'pre-text') })
+ );
+
+ function continueTo(nextStep) {
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function play() {
+ dispatch$$1.call('done');
+ reveal('#id-container',
+ t('intro.points.play', { next: t('intro.areas.title') }), {
+ tooltipBox: '.intro-nav-wrap .chapter-area',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { reveal('#id-container'); }
+ }
+ );
+ }
+
+
+ chapter.enter = function() {
+ addPoint();
+ };
+
+
+ chapter.exit = function() {
+ timeouts.forEach(window.clearTimeout);
+ context.on('enter.intro exit.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ function uiIntroArea(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ playground = [-85.63552, 41.94159],
+ playgroundPreset = context.presets().item('leisure/playground'),
+ descriptionField = context.presets().field('description'),
+ timeouts = [],
+ areaId;
+
+
+ var chapter = {
+ title: 'intro.areas.title'
+ };
+
+
+ function timeout(f, t$$1) {
+ timeouts.push(window.setTimeout(f, t$$1));
+ }
+
+
+ function eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function revealPlayground(center, text, options) {
+ var padding = 180 * Math.pow(2, context.map().zoom() - 19.5);
+ var box = pad$1(center, padding, context);
+ reveal(box, text, options);
+ }
+
+
+ function addArea() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+ areaId = null;
+
+ var msec = transitionTime(playground, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(playground, msec);
+
+ timeout(function() {
+ var tooltip = reveal('button.add-area',
+ t('intro.areas.add_playground', { button: icon('#icon-area', 'pre-text') }));
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#landuse-images');
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'add-area') return;
+ continueTo(startPlayground);
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startPlayground() {
+ if (context.mode().id !== 'add-area') {
+ return chapter.restart();
+ }
+
+ areaId = null;
+ context.map().zoomEase(19.5, 500);
+
+ timeout(function() {
+ revealPlayground(playground,
+ t('intro.areas.start_playground'), { duration: 250 }
+ );
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ revealPlayground(playground,
+ t('intro.areas.start_playground'), { duration: 0 }
+ );
+ });
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'draw-area') return chapter.restart();
+ continueTo(continuePlayground);
+ });
+ }, 250); // after reveal
+
+ }, 550); // after easing
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function continuePlayground() {
+ if (context.mode().id !== 'draw-area') {
+ return chapter.restart();
+ }
+
+ areaId = null;
+ revealPlayground(playground,
+ t('intro.areas.continue_playground', { alt: uiCmd.display('⌥') }),
+ { duration: 250 }
+ );
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ revealPlayground(playground,
+ t('intro.areas.continue_playground', { alt: uiCmd.display('⌥') }),
+ { duration: 0 }
+ );
+ });
+ }, 250); // after reveal
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-area') {
+ var entity = context.hasEntity(context.selectedIDs()[0]);
+ if (entity && entity.nodes.length >= 6) {
+ return continueTo(finishPlayground);
+ } else {
+ return;
+ }
+ } else if (mode.id === 'select') {
+ areaId = context.selectedIDs()[0];
+ return continueTo(searchPresets);
+ } else {
+ return chapter.restart();
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function finishPlayground() {
+ if (context.mode().id !== 'draw-area') {
+ return chapter.restart();
+ }
+
+ areaId = null;
+ revealPlayground(playground,
+ t('intro.areas.finish_playground'), { duration: 250 }
+ );
+
+ timeout(function() {
+ context.map().on('move.intro drawn.intro', function() {
+ revealPlayground(playground,
+ t('intro.areas.finish_playground'), { duration: 0 }
+ );
+ });
+ }, 250); // after reveal
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-area') {
+ return;
+ } else if (mode.id === 'select') {
+ areaId = context.selectedIDs()[0];
+ return continueTo(searchPresets);
+ } else {
+ return chapter.restart();
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function searchPresets() {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return addArea();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== areaId) {
+ context.enter(modeSelect(context, [areaId]));
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.areas.search_playground', { preset: playgroundPreset.name() })
+ );
+ }, 400); // after preset list pane visible..
+
+ context.on('enter.intro', function(mode) {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return continueTo(addArea);
+ }
+
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== areaId) {
+ // keep the user's area selected..
+ context.enter(modeSelect(context, [areaId]));
+
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.areas.search_playground', { preset: playgroundPreset.name() })
+ );
+
+ context.history().on('change.intro', null);
+ }
+ });
+
+ function checkPresetSearch() {
+ var first = select('.preset-list-item:first-child');
+
+ if (first.classed('preset-leisure-playground')) {
+ reveal(first.select('.preset-list-button').node(),
+ t('intro.areas.choose_playground', { preset: playgroundPreset.name() }),
+ { duration: 300 }
+ );
+
+ select('.preset-search-input')
+ .on('keydown.intro', eventCancel, true)
+ .on('keyup.intro', null);
+
+ context.history().on('change.intro', function() {
+ continueTo(clickAddField);
+ });
+ }
+ }
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function clickAddField() {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return addArea();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== areaId) {
+ return searchPresets();
+ }
+
+ if (!select('.form-field-description').empty()) {
+ return continueTo(describePlayground);
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ // It's possible for the user to add a description in a previous step..
+ // If they did this already, just continue to next step.
+ var entity = context.entity(areaId);
+ if (entity.tags.description) {
+ return continueTo(play);
+ }
+
+ // scroll "Add field" into view
+ var box = select('.more-fields').node().getBoundingClientRect();
+ if (box.top > 300) {
+ var pane = select('.entity-editor-pane .inspector-body');
+ var start = pane.node().scrollTop;
+ var end = start + (box.top - 300);
+
+ pane
+ .transition()
+ .duration(250)
+ .tween('scroll.inspector', function() {
+ var node = this;
+ var i = interpolateNumber(start, end);
+ return function(t$$1) {
+ node.scrollTop = i(t$$1);
+ };
+ });
+ }
+
+ timeout(function() {
+ reveal('.more-fields .combobox-input',
+ t('intro.areas.add_field'),
+ { duration: 300 }
+ );
+
+ select('.more-fields .combobox-input')
+ .on('click.intro', function() {
+ continueTo(chooseDescriptionField);
+ });
+ }, 300); // after "Add Field" visible
+
+ }, 400); // after editor pane visible
+
+ context.on('exit.intro', function() {
+ return continueTo(searchPresets);
+ });
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.more-fields .combobox-input').on('click.intro', null);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function chooseDescriptionField() {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return addArea();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== areaId) {
+ return searchPresets();
+ }
+
+ if (!select('.form-field-description').empty()) {
+ return continueTo(describePlayground);
+ }
+
+ // Make sure combobox is ready..
+ if (select('div.combobox').empty()) {
+ return continueTo(clickAddField);
+ }
+ // Watch for the combobox to go away..
+ var watcher;
+ watcher = window.setInterval(function() {
+ if (select('div.combobox').empty()) {
+ window.clearInterval(watcher);
+ timeout(function() {
+ if (select('.form-field-description').empty()) {
+ continueTo(retryChooseDescription);
+ } else {
+ continueTo(describePlayground);
+ }
+ }, 300); // after description field added.
+ }
+ }, 300);
+
+ reveal('div.combobox',
+ t('intro.areas.choose_field', { field: descriptionField.label() }),
+ { duration: 300 }
+ );
+
+ context.on('exit.intro', function() {
+ return continueTo(searchPresets);
+ });
+
+ function continueTo(nextStep) {
+ if (watcher) window.clearInterval(watcher);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function describePlayground() {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return addArea();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== areaId) {
+ return searchPresets();
+ }
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ if (select('.form-field-description').empty()) {
+ return continueTo(retryChooseDescription);
+ }
+
+ context.on('exit.intro', function() {
+ continueTo(play);
+ });
+
+ reveal('.entity-editor-pane',
+ t('intro.areas.describe_playground', { button: icon('#icon-apply', 'pre-text') }),
+ { duration: 300 }
+ );
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retryChooseDescription() {
+ if (!areaId || !context.hasEntity(areaId)) {
+ return addArea();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== areaId) {
+ return searchPresets();
+ }
+
+ // reset pane, in case user happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '0%');
+
+ reveal('.entity-editor-pane',
+ t('intro.areas.retry_add_field', { field: descriptionField.label() }), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(clickAddField); }
+ });
+
+ context.on('exit.intro', function() {
+ return continueTo(searchPresets);
+ });
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function play() {
+ dispatch$$1.call('done');
+ reveal('#id-container',
+ t('intro.areas.play', { next: t('intro.lines.title') }), {
+ tooltipBox: '.intro-nav-wrap .chapter-line',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { reveal('#id-container'); }
+ }
+ );
+ }
+
+
+ chapter.enter = function() {
+ addArea();
+ };
+
+
+ chapter.exit = function() {
+ timeouts.forEach(window.clearTimeout);
+ context.on('enter.intro exit.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ select('.more-fields .combobox-input').on('click.intro', null);
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ function uiIntroLine(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ timeouts = [],
+ tulipRoadId = null,
+ flowerRoadId = 'w646',
+ tulipRoadStart = [-85.6297754121684, 41.95805253325314],
+ tulipRoadMidpoint = [-85.62975395449628, 41.95787501510204],
+ tulipRoadIntersection = [-85.62974496187628, 41.95742515554585],
+ roadCategory = context.presets().item('category-road'),
+ residentialPreset = context.presets().item('highway/residential'),
+ woodRoadId = 'w525',
+ woodRoadEndId = 'n2862',
+ woodRoadAddNode = [-85.62390110349587, 41.95397111462291],
+ woodRoadDragEndpoint = [-85.623867390213, 41.95466987786487],
+ woodRoadDragMidpoint = [-85.62386254803509, 41.95430395953872],
+ washingtonStreetId = 'w522',
+ twelfthAvenueId = 'w1',
+ eleventhAvenueEndId = 'n3550',
+ twelfthAvenueEndId = 'n5',
+ washingtonSegmentId = null,
+ eleventhAvenueEnd = context.entity(eleventhAvenueEndId).loc,
+ twelfthAvenueEnd = context.entity(twelfthAvenueEndId).loc,
+ deleteLinesLoc = [-85.6219395542764, 41.95228033922477],
+ twelfthAvenue = [-85.62219310052491, 41.952505413152956];
+
+
+ var chapter = {
+ title: 'intro.lines.title'
+ };
+
+
+ function timeout(f, t$$1) {
+ timeouts.push(window.setTimeout(f, t$$1));
+ }
+
+
+ function eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function revealEditMenu(loc, text, options) {
+ var rect = context.surfaceRect();
+ var point$$1 = context.curtainProjection(loc);
+ var pad = 40;
+ var width = 250 + (2 * pad);
+ var height = 350;
+ var startX = rect.left + point$$1[0];
+ var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+ var box = {
+ left: left,
+ top: point$$1[1] + rect.top - 60,
+ width: width,
+ height: height
+ };
+ reveal(box, text, options);
+ }
+
+
+ function addLine() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+
+ var msec = transitionTime(tulipRoadStart, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(18.5).centerEase(tulipRoadStart, msec);
+
+ timeout(function() {
+ var tooltip = reveal('button.add-line',
+ t('intro.lines.add_line', { button: icon('#icon-line', 'pre-text') }));
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#feature-images');
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'add-line') return;
+ continueTo(startLine);
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startLine() {
+ if (context.mode().id !== 'add-line') {
+ return chapter.restart();
+ }
+
+ tulipRoadId = null;
+
+ var padding = 70 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(tulipRoadStart, padding, context);
+ box.height = box.height + 100;
+ reveal(box, t('intro.lines.start_line'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ padding = 70 * Math.pow(2, context.map().zoom() - 18);
+ box = pad$1(tulipRoadStart, padding, context);
+ box.height = box.height + 100;
+ reveal(box, t('intro.lines.start_line'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'draw-line') return chapter.restart();
+ continueTo(drawLine);
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function drawLine() {
+ if (context.mode().id !== 'draw-line') {
+ return chapter.restart();
+ }
+
+ tulipRoadId = context.mode().selectedIDs()[0];
+ context.map().centerEase(tulipRoadMidpoint, 500);
+
+ timeout(function() {
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18.5);
+ var box = pad$1(tulipRoadMidpoint, padding, context);
+ box.height = box.height * 2;
+ reveal(box,
+ t('intro.lines.intersect', { name: t('intro.graph.name.flower-street') })
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ padding = 200 * Math.pow(2, context.map().zoom() - 18.5);
+ box = pad$1(tulipRoadMidpoint, padding, context);
+ box.height = box.height * 2;
+ reveal(box,
+ t('intro.lines.intersect', { name: t('intro.graph.name.flower-street') }),
+ { duration: 0 }
+ );
+ });
+ }, 550); // after easing..
+
+ context.history().on('change.intro', function() {
+ var entity = tulipRoadId && context.hasEntity(tulipRoadId);
+ if (!entity) return chapter.restart();
+
+ if (isLineConnected()) {
+ continueTo(continueLine);
+ }
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-line')
+ return;
+ else if (mode.id === 'select') {
+ continueTo(retryIntersect);
+ return;
+ }
+ else
+ return chapter.restart();
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function isLineConnected() {
+ var entity = tulipRoadId && context.hasEntity(tulipRoadId);
+ if (!entity) return false;
+
+ var drawNodes = context.graph().childNodes(entity);
+ return some(drawNodes, function(node) {
+ return some(context.graph().parentWays(node), function(parent) {
+ return parent.id === flowerRoadId;
+ });
+ });
+ }
+
+
+ function retryIntersect() {
+ select(window).on('mousedown.intro', eventCancel, true);
+
+ var box = pad$1(tulipRoadIntersection, 80, context);
+ reveal(box,
+ t('intro.lines.retry_intersect', { name: t('intro.graph.name.flower-street') })
+ );
+
+ timeout(chapter.restart, 3000);
+ }
+
+
+ function continueLine() {
+ if (context.mode().id !== 'draw-line') return chapter.restart();
+ var entity = tulipRoadId && context.hasEntity(tulipRoadId);
+ if (!entity) return chapter.restart();
+
+ context.map().centerEase(tulipRoadIntersection, 500);
+
+ reveal('#surface', t('intro.lines.continue_line'));
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-line')
+ return;
+ else if (mode.id === 'select')
+ return continueTo(chooseCategoryRoad);
+ else
+ return chapter.restart();
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function chooseCategoryRoad() {
+ if (context.mode().id !== 'select') {
+ return chapter.restart();
+ }
+
+ context.on('exit.intro', function() {
+ return chapter.restart();
+ });
+
+ var button = select('.preset-category-road .preset-list-button');
+ if (button.empty()) return chapter.restart();
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+
+ reveal(button.node(),
+ t('intro.lines.choose_category_road', { category: roadCategory.name() })
+ );
+
+ button.on('click.intro', function() {
+ continueTo(choosePresetResidential);
+ });
+
+ }, 400); // after editor pane visible
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-list-button').on('click.intro', null);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function choosePresetResidential() {
+ if (context.mode().id !== 'select') {
+ return chapter.restart();
+ }
+
+ context.on('exit.intro', function() {
+ return chapter.restart();
+ });
+
+ var subgrid = select('.preset-category-road .subgrid');
+ if (subgrid.empty()) return chapter.restart();
+
+ subgrid.selectAll(':not(.preset-highway-residential) .preset-list-button')
+ .on('click.intro', function() {
+ continueTo(retryPresetResidential);
+ });
+
+ subgrid.selectAll('.preset-highway-residential .preset-list-button')
+ .on('click.intro', function() {
+ continueTo(nameRoad);
+ });
+
+ timeout(function() {
+ reveal(subgrid.node(),
+ t('intro.lines.choose_preset_residential', { preset: residentialPreset.name() }),
+ { tooltipBox: '.preset-highway-residential .preset-list-button', duration: 300 }
+ );
+ }, 300);
+
+ function continueTo(nextStep) {
+ select('.preset-list-button').on('click.intro', null);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ // selected wrong road type
+ function retryPresetResidential() {
+ if (context.mode().id !== 'select') {
+ return chapter.restart();
+ }
+
+ context.on('exit.intro', function() {
+ return chapter.restart();
+ });
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ var button = select('.entity-editor-pane .preset-list-button');
+
+ reveal(button.node(),
+ t('intro.lines.retry_preset_residential', { preset: residentialPreset.name() })
+ );
+
+ button.on('click.intro', function() {
+ continueTo(chooseCategoryRoad);
+ });
+
+ }, 500);
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-list-button').on('click.intro', null);
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function nameRoad() {
+ context.on('exit.intro', function() {
+ continueTo(didNameRoad);
+ });
+
+ timeout(function() {
+ reveal('.entity-editor-pane',
+ t('intro.lines.name_road', { button: icon('#icon-apply', 'pre-text') }),
+ { tooltipClass: 'intro-lines-name_road' }
+ );
+ }, 500);
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function didNameRoad() {
+ context.history().checkpoint('doneAddLine');
+
+ timeout(function() {
+ reveal('#surface', t('intro.lines.did_name_road'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(updateLine); }
+ });
+ }, 500);
+
+ function continueTo(nextStep) {
+ nextStep();
+ }
+ }
+
+
+ function updateLine() {
+ context.history().reset('doneAddLine');
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return chapter.restart();
+ }
+
+ var msec = transitionTime(woodRoadDragMidpoint, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(woodRoadDragMidpoint, msec);
+
+ timeout(function() {
+ var padding = 250 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragMidpoint, padding, context);
+ var advance = function() { continueTo(addNode); };
+
+ reveal(box, t('intro.lines.update_line'),
+ { buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 250 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragMidpoint, padding, context);
+ reveal(box, t('intro.lines.update_line'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function addNode() {
+ context.history().reset('doneAddLine');
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return chapter.restart();
+ }
+
+ var padding = 40 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadAddNode, padding, context);
+ reveal(box, t('intro.lines.add_node'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 40 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadAddNode, padding, context);
+ reveal(box, t('intro.lines.add_node'), { duration: 0 });
+ });
+
+ context.history().on('change.intro', function(changed) {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ if (changed.created().length === 1) {
+ timeout(function() { continueTo(startDragEndpoint); }, 500);
+ }
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') {
+ continueTo(updateLine);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startDragEndpoint() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ reveal(box, t('intro.lines.start_drag_endpoint'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ reveal(box, t('intro.lines.start_drag_endpoint'), { duration: 0 });
+
+ var entity = context.entity(woodRoadEndId);
+ if (geoSphericalDistance(entity.loc, woodRoadDragEndpoint) <= 4) {
+ continueTo(finishDragEndpoint);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function finishDragEndpoint() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ reveal(box, t('intro.lines.finish_drag_endpoint'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ reveal(box, t('intro.lines.finish_drag_endpoint'), { duration: 0 });
+
+ var entity = context.entity(woodRoadEndId);
+ if (geoSphericalDistance(entity.loc, woodRoadDragEndpoint) > 4) {
+ continueTo(startDragEndpoint);
+ }
+ });
+
+ context.on('enter.intro', function() {
+ continueTo(startDragMidpoint);
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startDragMidpoint() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ if (context.selectedIDs().indexOf(woodRoadId) === -1) {
+ context.enter(modeSelect(context, [woodRoadId]));
+ }
+
+ var padding = 80 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragMidpoint, padding, context);
+ reveal(box, t('intro.lines.start_drag_midpoint'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ var padding = 80 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragMidpoint, padding, context);
+ reveal(box, t('intro.lines.start_drag_midpoint'), { duration: 0 });
+ });
+
+ context.history().on('change.intro', function(changed) {
+ if (changed.created().length === 1) {
+ continueTo(continueDragMidpoint);
+ }
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') {
+ // keep Wood Road selected so midpoint triangles are drawn..
+ context.enter(modeSelect(context, [woodRoadId]));
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function continueDragMidpoint() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ box.height += 400;
+
+ var advance = function() {
+ context.history().checkpoint('doneUpdateLine');
+ continueTo(deleteLines);
+ };
+
+ reveal(box, t('intro.lines.continue_drag_midpoint'),
+ { buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ if (!context.hasEntity(woodRoadId) || !context.hasEntity(woodRoadEndId)) {
+ return continueTo(updateLine);
+ }
+ var padding = 100 * Math.pow(2, context.map().zoom() - 19);
+ var box = pad$1(woodRoadDragEndpoint, padding, context);
+ box.height += 400;
+ reveal(box, t('intro.lines.continue_drag_midpoint'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function deleteLines() {
+ context.history().reset('doneUpdateLine');
+ context.enter(modeBrowse(context));
+
+ if (!context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return chapter.restart();
+ }
+
+ var msec = transitionTime(deleteLinesLoc, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(18).centerEase(deleteLinesLoc, msec);
+
+ timeout(function() {
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(deleteLinesLoc, padding, context);
+ box.top -= 200;
+ box.height += 400;
+ var advance = function() { continueTo(rightClickIntersection); };
+
+ reveal(box, t('intro.lines.delete_lines', { street: t('intro.graph.name.12th-avenue') }),
+ { buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(deleteLinesLoc, padding, context);
+ box.top -= 200;
+ box.height += 400;
+ reveal(box, t('intro.lines.delete_lines', { street: t('intro.graph.name.12th-avenue') }),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+ });
+
+ context.history().on('change.intro', function() {
+ timeout(function() {
+ continueTo(deleteLines);
+ }, 500); // after any transition (e.g. if user deleted intersection)
+ });
+
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function rightClickIntersection() {
+ context.history().reset('doneUpdateLine');
+ context.enter(modeBrowse(context));
+
+ context.map().zoom(18).centerEase(eleventhAvenueEnd, 500);
+
+ timeout(function() {
+ var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(eleventhAvenueEnd, padding, context);
+ reveal(box, t('intro.lines.rightclick_intersection',
+ { street1: t('intro.graph.name.11th-avenue'), street2: t('intro.graph.name.washington-street') })
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(eleventhAvenueEnd, padding, context);
+ reveal(box, t('intro.lines.rightclick_intersection',
+ { street1: t('intro.graph.name.11th-avenue'), street2: t('intro.graph.name.washington-street') }),
+ { duration: 0 }
+ );
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return;
+ var ids = context.selectedIDs();
+ if (ids.length !== 1 || ids[0] !== eleventhAvenueEndId) return;
+
+ timeout(function() {
+ var node = selectMenuItem('split').node();
+ if (!node) return;
+ continueTo(splitIntersection);
+ }, 300); // after menu visible
+ });
+
+ context.history().on('change.intro', function() {
+ timeout(function() {
+ continueTo(deleteLines);
+ }, 300); // after any transition (e.g. if user deleted intersection)
+ });
+
+ }, 600);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function splitIntersection() {
+ if (!context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(deleteLines);
+ }
+
+ var node = selectMenuItem('split').node();
+ if (!node) { return continueTo(rightClickIntersection); }
+
+ var wasChanged = false;
+ var menuCoords = context.map().mouseCoordinates();
+ washingtonSegmentId = null;
+
+ revealEditMenu(menuCoords, t('intro.lines.split_intersection',
+ { button: icon('#operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') })
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var node = selectMenuItem('split').node();
+ if (!wasChanged && !node) { return continueTo(rightClickIntersection); }
+
+ revealEditMenu(menuCoords, t('intro.lines.split_intersection',
+ { button: icon('#operation-split', 'pre-text'), street: t('intro.graph.name.washington-street') }),
+ { duration: 0 }
+ );
+ });
+
+ context.history().on('change.intro', function(changed) {
+ wasChanged = true;
+ timeout(function() {
+ if (context.history().undoAnnotation() === t('operations.split.annotation.line')) {
+ washingtonSegmentId = changed.created()[0].id;
+ continueTo(didSplit);
+ } else {
+ washingtonSegmentId = null;
+ continueTo(retrySplit);
+ }
+ }, 300); // after any transition (e.g. if user deleted intersection)
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retrySplit() {
+ context.enter(modeBrowse(context));
+ context.map().zoom(18).centerEase(eleventhAvenueEnd, 500);
+ var advance = function() { continueTo(rightClickIntersection); };
+
+ var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(eleventhAvenueEnd, padding, context);
+ reveal(box, t('intro.lines.retry_split'),
+ { buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(eleventhAvenueEnd, padding, context);
+ reveal(box, t('intro.lines.retry_split'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: advance }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function didSplit() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+
+ var ids = context.selectedIDs();
+ var string = 'intro.lines.did_split_' + (ids.length > 1 ? 'multi' : 'single');
+ var street = t('intro.graph.name.washington-street');
+
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(twelfthAvenue, padding, context);
+ box.width = box.width / 2;
+ reveal(box, t(string, { street1: street, street2: street }),
+ { duration: 500 }
+ );
+
+ timeout(function() {
+ context.map().zoom(18).centerEase(twelfthAvenue, 500);
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(twelfthAvenue, padding, context);
+ box.width = box.width / 2;
+ reveal(box, t(string, { street1: street, street2: street }),
+ { duration: 0 }
+ );
+ });
+ }, 600); // after initial reveal and curtain cut
+
+ context.on('enter.intro', function() {
+ var ids = context.selectedIDs();
+ if (ids.length === 1 && ids[0] === washingtonSegmentId) {
+ continueTo(multiSelect);
+ }
+ });
+
+ context.history().on('change.intro', function() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function multiSelect() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+
+ var ids = context.selectedIDs();
+ var hasWashington = ids.indexOf(washingtonSegmentId) !== -1;
+ var hasTwelfth = ids.indexOf(twelfthAvenueId) !== -1;
+
+ if (hasWashington && hasTwelfth) {
+ return continueTo(multiRightClick);
+ } else if (!hasWashington && !hasTwelfth) {
+ return continueTo(didSplit);
+ }
+
+ context.map().zoom(18).centerEase(twelfthAvenue, 500);
+
+ timeout(function() {
+ var selected, other, padding, box;
+ if (hasWashington) {
+ selected = t('intro.graph.name.washington-street');
+ other = t('intro.graph.name.12th-avenue');
+ padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ box = pad$1(twelfthAvenueEnd, padding, context);
+ box.width *= 3;
+ } else {
+ selected = t('intro.graph.name.12th-avenue');
+ other = t('intro.graph.name.washington-street');
+ padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ box = pad$1(twelfthAvenue, padding, context);
+ box.width /= 2;
+ }
+
+ reveal(box,
+ t('intro.lines.multi_select', { selected: selected, other1: other, other2: other })
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ if (hasWashington) {
+ selected = t('intro.graph.name.washington-street');
+ other = t('intro.graph.name.12th-avenue');
+ padding = 60 * Math.pow(2, context.map().zoom() - 18);
+ box = pad$1(twelfthAvenueEnd, padding, context);
+ box.width *= 3;
+ } else {
+ selected = t('intro.graph.name.12th-avenue');
+ other = t('intro.graph.name.washington-street');
+ padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ box = pad$1(twelfthAvenue, padding, context);
+ box.width /= 2;
+ }
+
+ reveal(box,
+ t('intro.lines.multi_select', { selected: selected, other1: other, other2: other }),
+ { duration: 0 }
+ );
+ });
+
+ context.on('enter.intro', function() {
+ continueTo(multiSelect);
+ });
+
+ context.history().on('change.intro', function() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+ });
+ }, 600);
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function multiRightClick() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(twelfthAvenue, padding, context);
+ reveal(box, t('intro.lines.multi_rightclick'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(twelfthAvenue, padding, context);
+ reveal(box, t('intro.lines.multi_rightclick'), { duration: 0 });
+ });
+
+ select(window).on('click.intro contextmenu.intro', function() {
+ timeout(function() {
+ var ids = context.selectedIDs();
+ if (ids.length === 2 &&
+ ids.indexOf(twelfthAvenueId) !== -1 &&
+ ids.indexOf(washingtonSegmentId) !== -1) {
+ var node = selectMenuItem('delete').node();
+ if (!node) return;
+ continueTo(multiDelete);
+ } else if (ids.length === 1 &&
+ ids.indexOf(washingtonSegmentId) !== -1) {
+ return continueTo(multiSelect);
+ } else {
+ return continueTo(didSplit);
+ }
+ }, 300); // after edit menu visible
+ }, true);
+
+ context.history().on('change.intro', function() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ select(window).on('click.intro contextmenu.intro', null, true);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function multiDelete() {
+ if (!washingtonSegmentId ||
+ !context.hasEntity(washingtonSegmentId) ||
+ !context.hasEntity(washingtonStreetId) ||
+ !context.hasEntity(twelfthAvenueId) ||
+ !context.hasEntity(eleventhAvenueEndId)) {
+ return continueTo(rightClickIntersection);
+ }
+
+ var node = selectMenuItem('delete').node();
+ if (!node) return continueTo(multiRightClick);
+
+ var menuCoords = context.map().mouseCoordinates();
+ revealEditMenu(menuCoords,
+ t('intro.lines.multi_delete', { button: icon('#operation-delete', 'pre-text') })
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealEditMenu(menuCoords,
+ t('intro.lines.multi_delete', { button: icon('#operation-delete', 'pre-text') }),
+ { duration: 0 }
+ );
+ });
+
+ context.on('exit.intro', function() {
+ if (context.hasEntity(washingtonSegmentId) || context.hasEntity(twelfthAvenueId)) {
+ return continueTo(multiSelect); // left select mode but roads still exist
+ }
+ });
+
+ context.history().on('change.intro', function() {
+ if (context.hasEntity(washingtonSegmentId) || context.hasEntity(twelfthAvenueId)) {
+ continueTo(retryDelete); // changed something but roads still exist
+ } else {
+ continueTo(play);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('exit.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retryDelete() {
+ context.enter(modeBrowse(context));
+
+ var padding = 200 * Math.pow(2, context.map().zoom() - 18);
+ var box = pad$1(twelfthAvenue, padding, context);
+ reveal(box, t('intro.lines.retry_delete'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(multiSelect); }
+ });
+
+ function continueTo(nextStep) {
+ nextStep();
+ }
+ }
+
+
+ function play() {
+ dispatch$$1.call('done');
+ reveal('#id-container',
+ t('intro.lines.play', { next: t('intro.buildings.title') }), {
+ tooltipBox: '.intro-nav-wrap .chapter-building',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { reveal('#id-container'); }
+ }
+ );
+ }
+
+
+ chapter.enter = function() {
+ addLine();
+ };
+
+
+ chapter.exit = function() {
+ timeouts.forEach(window.clearTimeout);
+ select(window).on('mousedown.intro', null, true);
+ context.on('enter.intro exit.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-list-button').on('click.intro', null);
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ function uiIntroBuilding(context, reveal) {
+ var dispatch$$1 = dispatch('done'),
+ house = [-85.62815, 41.95638],
+ tank = [-85.62732, 41.95347],
+ buildingCatetory = context.presets().item('category-building'),
+ housePreset = context.presets().item('building/house'),
+ tankPreset = context.presets().item('man_made/storage_tank'),
+ timeouts = [],
+ houseId = null,
+ tankId = null;
+
+
+ var chapter = {
+ title: 'intro.buildings.title'
+ };
+
+
+ function timeout(f, t$$1) {
+ timeouts.push(window.setTimeout(f, t$$1));
+ }
+
+
+ function eventCancel() {
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ function revealHouse(center, text, options) {
+ var padding = 160 * Math.pow(2, context.map().zoom() - 20);
+ var box = pad$1(center, padding, context);
+ reveal(box, text, options);
+ }
+
+
+ function revealTank(center, text, options) {
+ var padding = 190 * Math.pow(2, context.map().zoom() - 19.5);
+ var box = pad$1(center, padding, context);
+ reveal(box, text, options);
+ }
+
+
+ function revealEditMenu(loc, text, options) {
+ var rect = context.surfaceRect();
+ var point$$1 = context.curtainProjection(loc);
+ var pad = 40;
+ var width = 250 + (2 * pad);
+ var height = 350;
+ var startX = rect.left + point$$1[0];
+ var left = (textDirection === 'rtl') ? (startX - width + pad) : (startX - pad);
+ var box = {
+ left: left,
+ top: point$$1[1] + rect.top - 60,
+ width: width,
+ height: height
+ };
+ reveal(box, text, options);
+ }
+
+
+ function addHouse() {
+ context.enter(modeBrowse(context));
+ context.history().reset('initial');
+ houseId = null;
+
+ var msec = transitionTime(house, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19).centerEase(house, msec);
+
+ timeout(function() {
+ var tooltip = reveal('button.add-area',
+ t('intro.buildings.add_building', { button: icon('#icon-area', 'pre-text') }));
+
+ tooltip.selectAll('.tooltip-inner')
+ .insert('svg', 'span')
+ .attr('class', 'tooltip-illustration')
+ .append('use')
+ .attr('xlink:href', '#building-images');
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'add-area') return;
+ continueTo(startHouse);
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startHouse() {
+ if (context.mode().id !== 'add-area') {
+ return continueTo(addHouse);
+ }
+
+ houseId = null;
+ context.map().zoomEase(20, 500);
+
+ timeout(function() {
+ revealHouse(house, t('intro.buildings.start_building'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealHouse(house, t('intro.buildings.start_building'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'draw-area') return chapter.restart();
+ continueTo(continueHouse);
+ });
+
+ }, 550); // after easing
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function continueHouse() {
+ if (context.mode().id !== 'draw-area') {
+ return continueTo(addHouse);
+ }
+
+ houseId = null;
+
+ revealHouse(house, t('intro.buildings.continue_building'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealHouse(house, t('intro.buildings.continue_building'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-area') {
+ return;
+ } else if (mode.id === 'select') {
+ var graph = context.graph(),
+ way = context.entity(context.selectedIDs()[0]),
+ nodes = graph.childNodes(way),
+ points = uniq(nodes).map(function(n) { return context.projection(n.loc); });
+
+ if (isMostlySquare(points)) {
+ houseId = way.id;
+ return continueTo(chooseCategoryBuilding);
+ } else {
+ return continueTo(retryHouse);
+ }
+
+ } else {
+ return chapter.restart();
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retryHouse() {
+ var onClick = function() { continueTo(addHouse); };
+
+ revealHouse(house, t('intro.buildings.retry_building'),
+ { buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealHouse(house, t('intro.buildings.retry_building'),
+ { duration: 0, buttonText: t('intro.ok'), buttonCallback: onClick }
+ );
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function chooseCategoryBuilding() {
+ if (!houseId || !context.hasEntity(houseId)) {
+ return addHouse();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== houseId) {
+ context.enter(modeSelect(context, [houseId]));
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+
+ var button = select('.preset-category-building .preset-list-button');
+
+ reveal(button.node(),
+ t('intro.buildings.choose_category_building', { category: buildingCatetory.name() })
+ );
+
+ button.on('click.intro', function() {
+ button.on('click.intro', null);
+ continueTo(choosePresetHouse);
+ });
+
+ }, 400); // after preset list pane visible..
+
+
+ context.on('enter.intro', function(mode) {
+ if (!houseId || !context.hasEntity(houseId)) {
+ return continueTo(addHouse);
+ }
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== houseId) {
+ return continueTo(chooseCategoryBuilding);
+ }
+ });
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-list-button').on('click.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function choosePresetHouse() {
+ if (!houseId || !context.hasEntity(houseId)) {
+ return addHouse();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== houseId) {
+ context.enter(modeSelect(context, [houseId]));
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+
+ var button = select('.preset-building-house .preset-list-button');
+
+ reveal(button.node(),
+ t('intro.buildings.choose_preset_house', { preset: housePreset.name() }),
+ { duration: 300 }
+ );
+
+ button.on('click.intro', function() {
+ button.on('click.intro', null);
+ continueTo(closeEditorHouse);
+ });
+
+
+ }, 400); // after preset list pane visible..
+
+ context.on('enter.intro', function(mode) {
+ if (!houseId || !context.hasEntity(houseId)) {
+ return continueTo(addHouse);
+ }
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== houseId) {
+ return continueTo(chooseCategoryBuilding);
+ }
+ });
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-list-button').on('click.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function closeEditorHouse() {
+ if (!houseId || !context.hasEntity(houseId)) {
+ return addHouse();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== houseId) {
+ context.enter(modeSelect(context, [houseId]));
+ }
+
+ context.history().checkpoint('hasHouse');
+
+ context.on('exit.intro', function() {
+ continueTo(rightClickHouse);
+ });
+
+ timeout(function() {
+ reveal('.entity-editor-pane',
+ t('intro.buildings.close', { button: icon('#icon-apply', 'pre-text') })
+ );
+ }, 500);
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function rightClickHouse() {
+ if (!houseId) return chapter.restart();
+
+ context.enter(modeBrowse(context));
+ context.history().reset('hasHouse');
+ context.map().centerEase(house, 500);
+
+ timeout(function() {
+ if (context.map().zoom() < 20) {
+ context.map().zoomEase(20, 500);
+ }
+ }, 520);
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return;
+ var ids = context.selectedIDs();
+ if (ids.length !== 1 || ids[0] !== houseId) return;
+
+ timeout(function() {
+ var node = selectMenuItem('orthogonalize').node();
+ if (!node) return;
+ continueTo(clickSquare);
+ }, 300); // after menu visible
+ });
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealHouse(house, t('intro.buildings.rightclick_building'), { duration: 0 });
+ });
+
+ context.history().on('change.intro', function() {
+ continueTo(rightClickHouse);
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function clickSquare() {
+ if (!houseId) return chapter.restart();
+ var entity = context.hasEntity(houseId);
+ if (!entity) return continueTo(rightClickHouse);
+
+ var node = selectMenuItem('orthogonalize').node();
+ if (!node) { return continueTo(rightClickHouse); }
+
+ var wasChanged = false;
+ var menuCoords = context.map().mouseCoordinates();
+
+ revealEditMenu(menuCoords,
+ t('intro.buildings.square_building', { button: icon('#operation-orthogonalize', 'pre-text') })
+ );
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'browse') {
+ continueTo(rightClickHouse);
+ } else if (mode.id === 'move' || mode.id === 'rotate') {
+ continueTo(retryClickSquare);
+ }
+ });
+
+ context.map().on('move.intro drawn.intro', function() {
+ var node = selectMenuItem('orthogonalize').node();
+ if (!wasChanged && !node) { return continueTo(rightClickHouse); }
+
+ revealEditMenu(menuCoords,
+ t('intro.buildings.square_building', { button: icon('#operation-orthogonalize', 'pre-text') }),
+ { duration: 0 }
+ );
+ });
+
+ context.history().on('change.intro', function() {
+ wasChanged = true;
+ context.history().on('change.intro', null);
+
+ // Something changed. Wait for transition to complete and check undo annotation.
+ timeout(function() {
+ if (context.history().undoAnnotation() === t('operations.orthogonalize.annotation.area')) {
+ continueTo(doneSquare);
+ } else {
+ continueTo(retryClickSquare);
+ }
+ }, 500); // after transitioned actions
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retryClickSquare() {
+ context.enter(modeBrowse(context));
+
+ revealHouse(house, t('intro.buildings.retry_square'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(rightClickHouse); }
+ });
+
+ function continueTo(nextStep) {
+ nextStep();
+ }
+ }
+
+
+ function doneSquare() {
+ context.history().checkpoint('doneSquare');
+
+ revealHouse(house, t('intro.buildings.done_square'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(addTank); }
+ });
+
+ function continueTo(nextStep) {
+ nextStep();
+ }
+ }
+
+
+ function addTank() {
+ context.enter(modeBrowse(context));
+ context.history().reset('doneSquare');
+ tankId = null;
+
+ var msec = transitionTime(tank, context.map().center());
+ if (msec) { reveal(null, null, { duration: 0 }); }
+ context.map().zoom(19.5).centerEase(tank, msec);
+
+ timeout(function() {
+ reveal('button.add-area',
+ t('intro.buildings.add_tank', { button: icon('#icon-area', 'pre-text') })
+ );
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'add-area') return;
+ continueTo(startTank);
+ });
+ }, msec + 100);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function startTank() {
+ if (context.mode().id !== 'add-area') {
+ return continueTo(addTank);
+ }
+
+ tankId = null;
+
+ timeout(function() {
+ revealTank(tank, t('intro.buildings.start_tank'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealTank(tank, t('intro.buildings.start_tank'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'draw-area') return chapter.restart();
+ continueTo(continueTank);
+ });
+
+ }, 550); // after easing
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function continueTank() {
+ if (context.mode().id !== 'draw-area') {
+ return continueTo(addTank);
+ }
+
+ tankId = null;
+
+ revealTank(tank, t('intro.buildings.continue_tank'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealTank(tank, t('intro.buildings.continue_tank'), { duration: 0 });
+ });
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'draw-area') {
+ return;
+ } else if (mode.id === 'select') {
+ tankId = context.selectedIDs()[0];
+ return continueTo(searchPresetTank);
+ } else {
+ return continueTo(addTank);
+ }
+ });
+
+ function continueTo(nextStep) {
+ context.map().on('move.intro drawn.intro', null);
+ context.on('enter.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function searchPresetTank() {
+ if (!tankId || !context.hasEntity(tankId)) {
+ return addTank();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== tankId) {
+ context.enter(modeSelect(context, [tankId]));
+ }
+
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ timeout(function() {
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.buildings.search_tank', { preset: tankPreset.name() })
+ );
+ }, 400); // after preset list pane visible..
+
+ context.on('enter.intro', function(mode) {
+ if (!tankId || !context.hasEntity(tankId)) {
+ return continueTo(addTank);
+ }
+
+ var ids = context.selectedIDs();
+ if (mode.id !== 'select' || !ids.length || ids[0] !== tankId) {
+ // keep the user's area selected..
+ context.enter(modeSelect(context, [tankId]));
+
+ // reset pane, in case user somehow happened to change it..
+ select('.inspector-wrap .panewrap').style('right', '-100%');
+ // disallow scrolling
+ select('.inspector-wrap').on('wheel.intro', eventCancel);
+
+ select('.preset-search-input')
+ .on('keydown.intro', null)
+ .on('keyup.intro', checkPresetSearch);
+
+ reveal('.preset-search-input',
+ t('intro.buildings.search_tank', { preset: tankPreset.name() })
+ );
+
+ context.history().on('change.intro', null);
+ }
+ });
+
+ function checkPresetSearch() {
+ var first = select('.preset-list-item:first-child');
+
+ if (first.classed('preset-man_made-storage_tank')) {
+ reveal(first.select('.preset-list-button').node(),
+ t('intro.buildings.choose_tank', { preset: tankPreset.name() }),
+ { duration: 300 }
+ );
+
+ select('.preset-search-input')
+ .on('keydown.intro', eventCancel, true)
+ .on('keyup.intro', null);
+
+ context.history().on('change.intro', function() {
+ continueTo(closeEditorTank);
+ });
+ }
+ }
+
+ function continueTo(nextStep) {
+ select('.inspector-wrap').on('wheel.intro', null);
+ context.on('enter.intro', null);
+ context.history().on('change.intro', null);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function closeEditorTank() {
+ if (!tankId || !context.hasEntity(tankId)) {
+ return addTank();
+ }
+ var ids = context.selectedIDs();
+ if (context.mode().id !== 'select' || !ids.length || ids[0] !== tankId) {
+ context.enter(modeSelect(context, [tankId]));
+ }
+
+ context.history().checkpoint('hasTank');
+
+ context.on('exit.intro', function() {
+ continueTo(rightClickTank);
+ });
+
+ timeout(function() {
+ reveal('.entity-editor-pane',
+ t('intro.buildings.close', { button: icon('#icon-apply', 'pre-text') })
+ );
+ }, 500);
+
+ function continueTo(nextStep) {
+ context.on('exit.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function rightClickTank() {
+ if (!tankId) return continueTo(addTank);
+
+ context.enter(modeBrowse(context));
+ context.history().reset('hasTank');
+ context.map().centerEase(tank, 500);
+
+ timeout(function() {
+ context.on('enter.intro', function(mode) {
+ if (mode.id !== 'select') return;
+ var ids = context.selectedIDs();
+ if (ids.length !== 1 || ids[0] !== tankId) return;
+
+ timeout(function() {
+ var node = selectMenuItem('circularize').node();
+ if (!node) return;
+ continueTo(clickCircle);
+ }, 300); // after menu visible
+ });
+
+ revealTank(tank, t('intro.buildings.rightclick_tank'));
+
+ context.map().on('move.intro drawn.intro', function() {
+ revealTank(tank, t('intro.buildings.rightclick_tank'), { duration: 0 });
+ });
+
+ context.history().on('change.intro', function() {
+ continueTo(rightClickTank);
+ });
+
+ }, 600);
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function clickCircle() {
+ if (!tankId) return chapter.restart();
+ var entity = context.hasEntity(tankId);
+ if (!entity) return continueTo(rightClickTank);
+
+ var node = selectMenuItem('circularize').node();
+ if (!node) { return continueTo(rightClickTank); }
+
+ var wasChanged = false;
+ var menuCoords = context.map().mouseCoordinates();
+
+ revealEditMenu(menuCoords,
+ t('intro.buildings.circle_tank', { button: icon('#operation-circularize', 'pre-text') })
+ );
+
+ context.on('enter.intro', function(mode) {
+ if (mode.id === 'browse') {
+ continueTo(rightClickTank);
+ } else if (mode.id === 'move' || mode.id === 'rotate') {
+ continueTo(retryClickCircle);
+ }
+ });
+
+ context.map().on('move.intro drawn.intro', function() {
+ var node = selectMenuItem('circularize').node();
+ if (!wasChanged && !node) { return continueTo(rightClickTank); }
+
+ revealEditMenu(menuCoords,
+ t('intro.buildings.circle_tank', { button: icon('#operation-circularize', 'pre-text') }),
+ { duration: 0 }
+ );
+ });
+
+ context.history().on('change.intro', function() {
+ wasChanged = true;
+ context.history().on('change.intro', null);
+
+ // Something changed. Wait for transition to complete and check undo annotation.
+ timeout(function() {
+ if (context.history().undoAnnotation() === t('operations.circularize.annotation.area')) {
+ continueTo(play);
+ } else {
+ continueTo(retryClickCircle);
+ }
+ }, 500); // after transitioned actions
+ });
+
+ function continueTo(nextStep) {
+ context.on('enter.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ nextStep();
+ }
+ }
+
+
+ function retryClickCircle() {
+ context.enter(modeBrowse(context));
+
+ revealTank(tank, t('intro.buildings.retry_circle'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { continueTo(rightClickTank); }
+ });
+
+ function continueTo(nextStep) {
+ nextStep();
+ }
+ }
+
+
+ function play() {
+ dispatch$$1.call('done');
+ reveal('#id-container',
+ t('intro.buildings.play', { next: t('intro.startediting.title') }), {
+ tooltipBox: '.intro-nav-wrap .chapter-startEditing',
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { reveal('#id-container'); }
+ }
+ );
+ }
+
+
+ chapter.enter = function() {
+ addHouse();
+ };
+
+
+ chapter.exit = function() {
+ timeouts.forEach(window.clearTimeout);
+ context.on('enter.intro exit.intro', null);
+ context.map().on('move.intro drawn.intro', null);
+ context.history().on('change.intro', null);
+ select('.inspector-wrap').on('wheel.intro', null);
+ select('.preset-search-input').on('keydown.intro keyup.intro', null);
+ select('.more-fields .combobox-input').on('click.intro', null);
+ };
+
+
+ chapter.restart = function() {
+ chapter.exit();
+ chapter.enter();
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ function uiModal(selection$$1, blocking) {
+ var keybinding = d3keybinding('modal');
+ var previous = selection$$1.select('div.modal');
+ var animate = previous.empty();
+
+ previous.transition()
+ .duration(200)
+ .style('opacity', 0)
+ .remove();
+
+ var shaded = selection$$1
+ .append('div')
+ .attr('class', 'shaded')
+ .style('opacity', 0);
+
+ shaded.close = function() {
+ shaded
+ .transition()
+ .duration(200)
+ .style('opacity',0)
+ .remove();
+
+ modal
+ .transition()
+ .duration(200)
+ .style('top','0px');
+
+ keybinding.off();
+ };
+
+
+ var modal = shaded
+ .append('div')
+ .attr('class', 'modal fillL col6');
+
+ if (!blocking) {
+ shaded.on('click.remove-modal', function() {
+ if (event.target === this) {
+ shaded.close();
+ }
+ });
+
+ modal.append('button')
+ .attr('class', 'close')
+ .on('click', shaded.close)
+ .call(svgIcon('#icon-close'));
+
+ keybinding
+ .on('⌫', shaded.close)
+ .on('⎋', shaded.close);
+
+ select(document)
+ .call(keybinding);
+ }
+
+ modal
+ .append('div')
+ .attr('class', 'content');
+
+ if (animate) {
+ shaded.transition().style('opacity', 1);
+ } else {
+ shaded.style('opacity', 1);
+ }
+
+
+ return shaded;
+ }
+
+ function uiIntroStartEditing(context, reveal) {
+ var dispatch$$1 = dispatch('done', 'startEditing'),
+ modalSelection = select(null);
+
+
+ var chapter = {
+ title: 'intro.startediting.title'
+ };
+
+ function showHelp() {
+ reveal('.map-control.help-control',
+ t('intro.startediting.help', { button: icon('#icon-help', 'pre-text'), key: t('help.key') }), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { shortcuts(); }
+ }
+ );
+ }
+
+ function shortcuts() {
+ reveal('.map-control.help-control',
+ t('intro.startediting.shortcuts', { key: t('shortcuts.toggle.key') }), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { showSave(); }
+ }
+ );
+ }
+
+ function showSave() {
+ d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
+ reveal('#bar button.save',
+ t('intro.startediting.save'), {
+ buttonText: t('intro.ok'),
+ buttonCallback: function() { showStart(); }
+ }
+ );
+ }
+
+ function showStart() {
+ d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
+
+ modalSelection = uiModal(context.container());
+
+ modalSelection.select('.modal')
+ .attr('class', 'modal-splash modal col6');
+
+ modalSelection.selectAll('.close').remove();
+
+ var startbutton = modalSelection.select('.content')
+ .attr('class', 'fillL')
+ .append('button')
+ .attr('class', 'modal-section huge-modal-button')
+ .on('click', function() {
+ modalSelection.remove();
+ });
+
+ startbutton
+ .append('svg')
+ .attr('class', 'illustration')
+ .append('use')
+ .attr('xlink:href', '#logo-walkthrough');
+
+ startbutton
+ .append('h2')
+ .text(t('intro.startediting.start'));
+
+ dispatch$$1.call('startEditing');
+ }
+
+
+ chapter.enter = function() {
+ showHelp();
+ };
+
+
+ chapter.exit = function() {
+ modalSelection.remove();
+ d3_selectAll('.shaded').remove(); // in case user opened keyboard shortcuts
+ };
+
+
+ return utilRebind(chapter, dispatch$$1, 'on');
+ }
+
+ var chapterUi = {
+ welcome: uiIntroWelcome,
+ navigation: uiIntroNavigation,
+ point: uiIntroPoint,
+ area: uiIntroArea,
+ line: uiIntroLine,
+ building: uiIntroBuilding,
+ startEditing: uiIntroStartEditing
+ };
+
+ var chapterFlow = [
+ 'welcome',
+ 'navigation',
+ 'point',
+ 'area',
+ 'line',
+ 'building',
+ 'startEditing'
+ ];
+
+
+ function uiIntro(context) {
+ var introGraph = {},
+ currChapter;
+
+
+ // create entities for intro graph and localize names
+ for (var id in dataIntroGraph) {
+ introGraph[id] = osmEntity$$1(localize(dataIntroGraph[id]));
+ }
+
+
+ function intro(selection$$1) {
+ context.enter(modeBrowse(context));
+
+ // Save current map state
+ var osm = context.connection(),
+ history = context.history().toJSON(),
+ hash = window.location.hash,
+ center = context.map().center(),
+ zoom = context.map().zoom(),
+ background = context.background().baseLayerSource(),
+ overlays = context.background().overlayLayerSources(),
+ opacity = d3_selectAll('#map .layer-background').style('opacity'),
+ loadedTiles = osm && osm.loadedTiles(),
+ baseEntities = context.history().graph().base().entities,
+ countryCode = services.geocoder.countryCode;
+
+ // Block saving
+ context.inIntro(true);
+
+ // Load semi-real data used in intro
+ if (osm) { osm.toggle(false).reset(); }
+ context.history().reset();
+ context.history().merge(values$1(coreGraph$$1().load(introGraph).entities));
+ context.history().checkpoint('initial');
+
+ var esri = context.background().findSource('EsriWorldImagery');
+ if (esri) {
+ context.background().baseLayerSource(esri);
+ } else {
+ context.background().bing();
+ }
+ overlays.forEach(function (d) {
+ context.background().toggleOverlayLayer(d);
+ });
+
+ // Mock geocoder
+ services.geocoder.countryCode = function(location, callback) {
+ callback(null, t('intro.graph.countrycode'));
+ };
+
+ d3_selectAll('#map .layer-background').style('opacity', 1);
+
+ var curtain = uiCurtain();
+ selection$$1.call(curtain);
+
+ // store that the user started the walkthrough..
+ context.storage('walkthrough_started', 'yes');
+
+ // restore previous walkthrough progress..
+ var storedProgress = context.storage('walkthrough_progress') || '';
+ var progress = storedProgress.split(';').filter(Boolean);
+
+ var chapters = chapterFlow.map(function(chapter, i) {
+ var s = chapterUi[chapter](context, curtain.reveal)
+ .on('done', function() {
+ context.presets().init(); // clear away "recent" presets
+
+ buttons.filter(function(d) {
+ return d.title === s.title;
+ }).classed('finished', true);
+
+ if (i < chapterFlow.length - 1) {
+ var next = chapterFlow[i + 1];
+ select('button.chapter-' + next)
+ .classed('next', true);
+ }
+
+ // store walkthrough progress..
+ progress.push(chapter);
+ context.storage('walkthrough_progress', uniq(progress).join(';'));
+ });
+ return s;
+ });
+
+ chapters[chapters.length - 1].on('startEditing', function() {
+ // store walkthrough progress..
+ progress.push('startEditing');
+ context.storage('walkthrough_progress', uniq(progress).join(';'));
+
+ // store if walkthrough is completed..
+ var incomplete = difference(chapterFlow, progress);
+ if (!incomplete.length) {
+ context.storage('walkthrough_completed', 'yes');
+ }
+
+ curtain.remove();
+ navwrap.remove();
+ d3_selectAll('#map .layer-background').style('opacity', opacity);
+ if (osm) { osm.toggle(true).reset().loadedTiles(loadedTiles); }
+ context.history().reset().merge(values$1(baseEntities));
+ context.background().baseLayerSource(background);
+ overlays.forEach(function (d) { context.background().toggleOverlayLayer(d); });
+ if (history) { context.history().fromJSON(history, false); }
+ context.map().centerZoom(center, zoom);
+ window.location.replace(hash);
+ services.geocoder.countryCode = countryCode;
+ context.inIntro(false);
+ });
+
+ var navwrap = selection$$1
+ .append('div')
+ .attr('class', 'intro-nav-wrap fillD');
+
+ navwrap
+ .append('svg')
+ .attr('class', 'intro-nav-wrap-logo')
+ .append('use')
+ .attr('xlink:href', '#logo-walkthrough');
+
+ var buttonwrap = navwrap
+ .append('div')
+ .attr('class', 'joined')
+ .selectAll('button.chapter');
+
+ var buttons = buttonwrap
+ .data(chapters)
+ .enter()
+ .append('button')
+ .attr('class', function(d, i) { return 'chapter chapter-' + chapterFlow[i]; })
+ .on('click', enterChapter);
+
+ buttons
+ .append('span')
+ .text(function(d) { return t(d.title); });
+
+ buttons
+ .append('span')
+ .attr('class', 'status')
+ .call(svgIcon((textDirection === 'rtl' ? '#icon-backward' : '#icon-forward'), 'inline'));
+
+ enterChapter(chapters[0]);
+
+
+ function enterChapter(newChapter) {
+ if (currChapter) { currChapter.exit(); }
+ context.enter(modeBrowse(context));
+
+ currChapter = newChapter;
+ currChapter.enter();
+
+ buttons
+ .classed('next', false)
+ .classed('active', function(d) {
+ return d.title === currChapter.title;
+ });
+ }
+ }
+
+
+ return intro;
+ }
+
+ function uiTooltipHtml(text, key, heading) {
+ var s = '';
+
+ if (heading) {
+ s += '<div class="tooltip-heading"><span>' + heading + '</span></div>';
+ }
+ if (text) {
+ s += '<div class="tooltip-text"><span>' + text + '</span></div>';
+ }
+ if (key) {
+ s += '<div class="keyhint-wrap"><span>' + t('tooltip_keyhint') + '</span>' +
+ '<span class="keyhint">' + key + '</span></div>';
+ }
+
+ return s;
+ }
+
+ function uiMapData(context) {
+ var key = t('map_data.key');
+ var features = context.features().keys();
+ var layers = context.layers();
+ var fills = ['wireframe', 'partial', 'full'];
+
+ var _fillSelected = context.storage('area-fill') || 'partial';
+ var _shown = false;
+ var _dataLayerContainer = select(null);
+ var _fillList = select(null);
+ var _featureList = select(null);
+
+
+ function showsFeature(d) {
+ return context.features().enabled(d);
+ }
+
+
+ function autoHiddenFeature(d) {
+ return context.features().autoHidden(d);
+ }
+
+
+ function clickFeature(d) {
+ context.features().toggle(d);
+ update();
+ }
+
+
+ function showsFill(d) {
+ return _fillSelected === d;
+ }
+
+
+ function setFill(d) {
+ fills.forEach(function(opt) {
+ context.surface().classed('fill-' + opt, Boolean(opt === d));
+ });
+
+ _fillSelected = d;
+ context.storage('area-fill', d);
+ if (d !== 'wireframe') {
+ context.storage('area-fill-toggle', d);
+ }
+ update();
+ }
+
+
+ function showsLayer(which) {
+ var layer = layers.layer(which);
+ if (layer) {
+ return layer.enabled();
+ }
+ return false;
+ }
+
+
+ function setLayer(which, enabled) {
+ var layer = layers.layer(which);
+ if (layer) {
+ layer.enabled(enabled);
+ update();
+ }
+ }
+
+
+ function toggleLayer(which) {
+ setLayer(which, !showsLayer(which));
+ }
+
+
+ function drawPhotoItems(selection$$1) {
+ var photoKeys = ['mapillary-images', 'mapillary-signs', 'openstreetcam-images'];
+ var photoLayers = layers.all().filter(function(obj) { return photoKeys.indexOf(obj.id) !== -1; });
+ var data = photoLayers.filter(function(obj) { return obj.layer.supported(); });
+
+ function layerSupported(d) {
+ return d.layer && d.layer.supported();
+ }
+ function layerEnabled(d) {
+ return layerSupported(d) && d.layer.enabled();
+ }
+
+ var ul = selection$$1
+ .selectAll('.layer-list-photos')
+ .data([0]);
+
+ ul = ul.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-list-photos')
+ .merge(ul);
+
+ var li = ul.selectAll('.list-item-photos')
+ .data(data);
+
+ li.exit()
+ .remove();
+
+ var liEnter = li.enter()
+ .append('li')
+ .attr('class', function(d) { return 'list-item-photos list-item-' + d.id; });
+
+ var labelEnter = liEnter
+ .append('label')
+ .each(function(d) {
+ select(this)
+ .call(tooltip()
+ .title(t(d.id.replace('-', '_') + '.tooltip'))
+ .placement('top')
+ );
+ });
+
+ labelEnter
+ .append('input')
+ .attr('type', 'checkbox')
+ .on('change', function(d) { toggleLayer(d.id); });
+
+ labelEnter
+ .append('span')
+ .text(function(d) { return t(d.id.replace('-', '_') + '.title'); });
+
+
+ // Update
+ li = li
+ .merge(liEnter);
+
+ li
+ .classed('active', layerEnabled)
+ .selectAll('input')
+ .property('checked', layerEnabled);
+ }
+
+
+ function drawOsmItem(selection$$1) {
+ var osm = layers.layer('osm'),
+ showsOsm = osm.enabled();
+
+ var ul = selection$$1
+ .selectAll('.layer-list-osm')
+ .data(osm ? [0] : []);
+
+ // Exit
+ ul.exit()
+ .remove();
+
+ // Enter
+ var ulEnter = ul.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-list-osm');
+
+ var liEnter = ulEnter
+ .append('li')
+ .attr('class', 'list-item-osm');
+
+ var labelEnter = liEnter
+ .append('label')
+ .call(tooltip()
+ .title(t('map_data.layers.osm.tooltip'))
+ .placement('top')
+ );
+
+ labelEnter
+ .append('input')
+ .attr('type', 'checkbox')
+ .on('change', function() { toggleLayer('osm'); });
+
+ labelEnter
+ .append('span')
+ .text(t('map_data.layers.osm.title'));
+
+ // Update
+ ul = ul
+ .merge(ulEnter);
+
+ ul.selectAll('.list-item-osm')
+ .classed('active', showsOsm)
+ .selectAll('input')
+ .property('checked', showsOsm);
+ }
+
+
+ function drawGpxItem(selection$$1) {
+ var gpx = layers.layer('gpx'),
+ hasGpx = gpx && gpx.hasGpx(),
+ showsGpx = hasGpx && gpx.enabled();
+
+ var ul = selection$$1
+ .selectAll('.layer-list-gpx')
+ .data(gpx ? [0] : []);
+
+ // Exit
+ ul.exit()
+ .remove();
+
+ // Enter
+ var ulEnter = ul.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-list-gpx');
+
+ var liEnter = ulEnter
+ .append('li')
+ .attr('class', 'list-item-gpx');
+
+ liEnter
+ .append('button')
+ .attr('class', 'list-item-gpx-extent')
+ .call(tooltip()
+ .title(t('gpx.zoom'))
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ )
+ .on('click', function() {
+ event.preventDefault();
+ event.stopPropagation();
+ gpx.fitZoom();
+ })
+ .call(svgIcon('#icon-search'));
+
+ liEnter
+ .append('button')
+ .attr('class', 'list-item-gpx-browse')
+ .call(tooltip()
+ .title(t('gpx.browse'))
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ )
+ .on('click', function() {
+ select(document.createElement('input'))
+ .attr('type', 'file')
+ .on('change', function() {
+ gpx.files(event.target.files);
+ })
+ .node().click();
+ })
+ .call(svgIcon('#icon-geolocate'));
+
+ var labelEnter = liEnter
+ .append('label')
+ .call(tooltip()
+ .title(t('gpx.drag_drop'))
+ .placement('top')
+ );
+
+ labelEnter
+ .append('input')
+ .attr('type', 'checkbox')
+ .on('change', function() { toggleLayer('gpx'); });
+
+ labelEnter
+ .append('span')
+ .text(t('gpx.local_layer'));
+
+ // Update
+ ul = ul
+ .merge(ulEnter);
+
+ ul.selectAll('.list-item-gpx')
+ .classed('active', showsGpx)
+ .selectAll('label')
+ .classed('deemphasize', !hasGpx)
+ .selectAll('input')
+ .property('disabled', !hasGpx)
+ .property('checked', showsGpx);
+ }
+
+
+ function drawListItems(selection$$1, data, type, name, change, active) {
+ var items = selection$$1.selectAll('li')
+ .data(data);
+
+ // Exit
+ items.exit()
+ .remove();
+
+ // Enter
+ var enter = items.enter()
+ .append('li')
+ .attr('class', 'layer')
+ .call(tooltip()
+ .html(true)
+ .title(function(d) {
+ var tip = t(name + '.' + d + '.tooltip'),
+ key = (d === 'wireframe' ? t('area_fill.wireframe.key') : null);
+
+ if (name === 'feature' && autoHiddenFeature(d)) {
+ var msg = showsLayer('osm') ? t('map_data.autohidden') : t('map_data.osmhidden');
+ tip += '<div>' + msg + '</div>';
+ }
+ return uiTooltipHtml(tip, key);
+ })
+ .placement('top')
+ );
+
+ var label = enter
+ .append('label');
+
+ label
+ .append('input')
+ .attr('type', type)
+ .attr('name', name)
+ .on('change', change);
+
+ label
+ .append('span')
+ .text(function(d) { return t(name + '.' + d + '.description'); });
+
+ // Update
+ items = items
+ .merge(enter);
+
+ items
+ .classed('active', active)
+ .selectAll('input')
+ .property('checked', active)
+ .property('indeterminate', function(d) {
+ return (name === 'feature' && autoHiddenFeature(d));
+ });
+ }
+
+
+ function renderDataLayers(selection$$1) {
+ var container = selection$$1.selectAll('data-layer-container')
+ .data([0]);
+
+ _dataLayerContainer = container.enter()
+ .append('div')
+ .attr('class', 'data-layer-container')
+ .merge(container);
+ }
+
+
+ function renderFillList(selection$$1) {
+ var container = selection$$1.selectAll('layer-fill-list')
+ .data([0]);
+
+ _fillList = container.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-fill-list')
+ .merge(container);
+ }
+
+
+ function renderFeatureList(selection$$1) {
+ var container = selection$$1.selectAll('layer-feature-list')
+ .data([0]);
+
+ _featureList = container.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-feature-list')
+ .merge(container);
+ }
+
+
+ function update() {
+ _dataLayerContainer
+ .call(drawOsmItem)
+ .call(drawPhotoItems)
+ .call(drawGpxItem);
+
+ _fillList
+ .call(drawListItems, fills, 'radio', 'area_fill', setFill, showsFill);
+
+ _featureList
+ .call(drawListItems, features, 'checkbox', 'feature', clickFeature, showsFeature);
+ }
+
+
+ function toggleWireframe() {
+ if (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+
+ if (_fillSelected === 'wireframe') {
+ _fillSelected = context.storage('area-fill-toggle') || 'partial';
+ } else {
+ _fillSelected = 'wireframe';
+ }
+
+ setFill(_fillSelected);
+ context.map().pan([0,0]); // trigger a redraw
+ }
+
+
+ function mapData(selection$$1) {
+
+ function hidePane() {
+ setVisible(false);
+ }
+
+ function togglePane() {
+ if (event) event.preventDefault();
+ paneTooltip.hide(button);
+ setVisible(!button.classed('active'));
+ }
+
+ function setVisible(show) {
+ if (show !== _shown) {
+ button.classed('active', show);
+ _shown = show;
+
+ if (show) {
+ uiBackground.hidePane();
+ uiHelp.hidePane();
+ update();
+
+ pane
+ .style('display', 'block')
+ .style('right', '-300px')
+ .transition()
+ .duration(200)
+ .style('right', '0px');
+
+ } else {
+ pane
+ .style('display', 'block')
+ .style('right', '0px')
+ .transition()
+ .duration(200)
+ .style('right', '-300px')
+ .on('end', function() {
+ select(this).style('display', 'none');
+ });
+ }
+ }
+ }
+
+
+ var pane = selection$$1
+ .append('div')
+ .attr('class', 'fillL map-pane col4 hide');
+
+ var paneTooltip = tooltip()
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ .html(true)
+ .title(uiTooltipHtml(t('map_data.description'), key));
+
+ var button = selection$$1
+ .append('button')
+ .attr('tabindex', -1)
+ .on('click', togglePane)
+ .call(svgIcon('#icon-data', 'light'))
+ .call(paneTooltip);
+
+
+ var heading = pane
+ .append('div')
+ .attr('class', 'pane-heading');
+
+ heading
+ .append('h2')
+ .text(t('map_data.title'));
+
+ heading
+ .append('button')
+ .on('click', function() { uiMapData.hidePane(); })
+ .call(svgIcon('#icon-close'));
+
+
+ var content = pane
+ .append('div')
+ .attr('class', 'pane-content');
+
+ // data layers
+ content
+ .append('div')
+ .attr('class', 'map-data-data-layers')
+ .call(uiDisclosure(context, 'data_layers', true)
+ .title(t('map_data.data_layers'))
+ .content(renderDataLayers)
+ );
+
+ // area fills
+ content
+ .append('div')
+ .attr('class', 'map-data-area-fills')
+ .call(uiDisclosure(context, 'fill_area', false)
+ .title(t('map_data.fill_area'))
+ .content(renderFillList)
+ );
+
+ // feature filters
+ content
+ .append('div')
+ .attr('class', 'map-data-feature-filters')
+ .call(uiDisclosure(context, 'map_features', false)
+ .title(t('map_data.map_features'))
+ .content(renderFeatureList)
+ );
+
+
+ // add listeners
+ context.features()
+ .on('change.map_data-update', update);
+
+ update();
+ setFill(_fillSelected);
+
+ var keybinding = d3keybinding('features')
+ .on(key, togglePane)
+ .on(t('area_fill.wireframe.key'), toggleWireframe)
+ .on([t('background.key'), t('help.key')], hidePane);
+
+ select(document)
+ .call(keybinding);
+
+ uiMapData.hidePane = hidePane;
+ uiMapData.togglePane = togglePane;
+ uiMapData.setVisible = setVisible;
+ }
+
+ return mapData;
+ }
+
+ function uiShortcuts() {
+ var detected = utilDetect();
+ var activeTab = 0;
+ var modalSelection;
+ var savedSelection;
+
+
+ var keybinding = d3keybinding('shortcuts')
+ .on(t('shortcuts.toggle.key'), function () {
+ if (d3_selectAll('.modal-shortcuts').size()) { // already showing
+ if (modalSelection) {
+ modalSelection.close();
+ modalSelection = null;
+ }
+ } else {
+ modalSelection = uiModal(savedSelection);
+ shortcutsModal(modalSelection);
+ }
+ });
+
+ select(document)
+ .call(keybinding);
+
+
+
+ function shortcutsModal(modalSelection) {
+ modalSelection.select('.modal')
+ .classed('modal-shortcuts', true);
+
+ var shortcutsModal = modalSelection.select('.content');
+
+ shortcutsModal
+ .append('div')
+ .attr('class', 'modal-section')
+ .append('h3')
+ .text(t('shortcuts.title'));
+
+ shortcutsModal
+ .call(render);
+ }
+
+
+ function render(selection$$1) {
+ var wrapper = selection$$1
+ .selectAll('.wrapper')
+ .data([0]);
+
+ var wrapperEnter = wrapper
+ .enter()
+ .append('div')
+ .attr('class', 'wrapper modal-section');
+
+ var tabsBar = wrapperEnter
+ .append('div')
+ .attr('class', 'tabs-bar');
+
+ var shortcutsList = wrapperEnter
+ .append('div')
+ .attr('class', 'shortcuts-list');
+
+ wrapper = wrapper.merge(wrapperEnter);
+
+ var tabs = tabsBar
+ .selectAll('.tab')
+ .data(dataShortcuts);
+
+ var tabsEnter = tabs
+ .enter()
+ .append('div')
+ .attr('class', 'tab')
+ .on('click', function (d, i) {
+ activeTab = i;
+ render(selection$$1);
+ });
+
+ tabsEnter
+ .append('span')
+ .text(function (d) { return t(d.text); });
+
+ tabs = tabs
+ .merge(tabsEnter);
+
+ // Update
+ wrapper.selectAll('.tab')
+ .classed('active', function (d, i) {
+ return i === activeTab;
+ });
+
+
+ var shortcuts = shortcutsList
+ .selectAll('.shortcut-tab')
+ .data(dataShortcuts);
+
+ var shortcutsEnter = shortcuts
+ .enter()
+ .append('div')
+ .attr('class', function(d) { return 'shortcut-tab shortcut-tab-' + d.tab; });
+
+ var columnsEnter = shortcutsEnter
+ .selectAll('.shortcut-column')
+ .data(function (d) { return d.columns; })
+ .enter()
+ .append('table')
+ .attr('class', 'shortcut-column');
+
+ var rowsEnter = columnsEnter
+ .selectAll('.shortcut-row')
+ .data(function (d) { return d.rows; })
+ .enter()
+ .append('tr')
+ .attr('class', 'shortcut-row');
+
+
+ var sectionRows = rowsEnter
+ .filter(function (d) { return !d.shortcuts; });
+
+ sectionRows
+ .append('td');
+
+ sectionRows
+ .append('td')
+ .attr('class', 'shortcut-section')
+ .append('h3')
+ .text(function (d) { return t(d.text); });
+
+
+ var shortcutRows = rowsEnter
+ .filter(function (d) { return d.shortcuts; });
+
+ var shortcutKeys = shortcutRows
+ .append('td')
+ .attr('class', 'shortcut-keys');
+
+ var modifierKeys = shortcutKeys
+ .filter(function (d) { return d.modifiers; });
+
+ modifierKeys
+ .selectAll('kbd.modifier')
+ .data(function (d) {
+ if (detected.os === 'win' && d.text === 'shortcuts.editing.commands.redo') {
+ return ['⌘'];
+ } else if (detected.os !== 'mac' && d.text === 'shortcuts.browsing.display_options.fullscreen') {
+ return [];
+ } else {
+ return d.modifiers;
+ }
+ })
+ .enter()
+ .each(function () {
+ var selection$$1 = select(this);
+
+ selection$$1
+ .append('kbd')
+ .attr('class', 'modifier')
+ .text(function (d) { return uiCmd.display(d); });
+
+ selection$$1
+ .append('span')
+ .text('+');
+ });
+
+
+ shortcutKeys
+ .selectAll('kbd.shortcut')
+ .data(function (d) {
+ var arr = d.shortcuts;
+ if (detected.os === 'win' && d.text === 'shortcuts.editing.commands.redo') {
+ arr = ['Y'];
+ } else if (detected.os !== 'mac' && d.text === 'shortcuts.browsing.display_options.fullscreen') {
+ arr = ['F11'];
+ }
+
+ return arr.map(function(s) {
+ return {
+ shortcut: s,
+ separator: d.separator
+ };
+ });
+ })
+ .enter()
+ .each(function (d, i, nodes) {
+ var selection$$1 = select(this);
+ var click = d.shortcut.toLowerCase().match(/(.*).click/);
+
+ if (click && click[1]) {
+ selection$$1
+ .call(svgIcon('#walkthrough-mouse', 'mouseclick', click[1]));
+ } else {
+ selection$$1
+ .append('kbd')
+ .attr('class', 'shortcut')
+ .text(function (d) {
+ var key = d.shortcut;
+ return key.indexOf('.') !== -1 ? uiCmd.display(t(key)) : uiCmd.display(key);
+ });
+ }
+
+ if (i < nodes.length - 1) {
+ selection$$1
+ .append('span')
+ .text(d.separator || '\u00a0' + t('shortcuts.or') + '\u00a0');
+ }
+ });
+
+
+ shortcutKeys
+ .filter(function(d) { return d.gesture; })
+ .each(function () {
+ var selection$$1 = select(this);
+
+ selection$$1
+ .append('span')
+ .text('+');
+
+ selection$$1
+ .append('span')
+ .attr('class', 'gesture')
+ .text(function (d) { return t(d.gesture); });
+ });
+
+
+ shortcutRows
+ .append('td')
+ .attr('class', 'shortcut-desc')
+ .text(function (d) { return d.text ? t(d.text) : '\u00a0'; });
+
+
+ shortcuts = shortcuts
+ .merge(shortcutsEnter);
+
+ // Update
+ wrapper.selectAll('.shortcut-tab')
+ .style('display', function (d, i) {
+ return i === activeTab ? 'flex' : 'none';
+ });
+ }
+
+
+ return function(selection$$1, show) {
+ savedSelection = selection$$1;
+ if (show) {
+ modalSelection = uiModal(selection$$1);
+ shortcutsModal(modalSelection);
+ }
+ };
+ }
+
+ function uiHelp(context) {
+ var key = t('help.key');
+
+ var docKeys = [
+ ['help', [
+ 'welcome',
+ 'open_data_h',
+ 'open_data',
+ 'before_start_h',
+ 'before_start',
+ 'open_source_h',
+ 'open_source',
+ 'open_source_help'
+ ]],
+ ['overview', [
+ 'navigation_h',
+ 'navigation_drag',
+ 'navigation_zoom',
+ 'features_h',
+ 'features',
+ 'nodes_ways'
+ ]],
+ ['editing', [
+ 'select_h',
+ 'select_left_click',
+ 'select_right_click',
+ 'multiselect_h',
+ 'multiselect_shift_click',
+ 'multiselect_lasso',
+ 'undo_redo_h',
+ 'undo_redo',
+ 'save_h',
+ 'save',
+ 'save_validation',
+ 'upload_h',
+ 'upload',
+ 'backups_h',
+ 'backups',
+ 'keyboard_h',
+ 'keyboard'
+ ]],
+ ['feature_editor', [
+ 'intro',
+ 'definitions',
+ 'type_h',
+ 'type',
+ 'type_picker',
+ 'fields_h',
+ 'fields_all_fields',
+ 'fields_example',
+ 'fields_add_field',
+ 'tags_h',
+ 'tags_all_tags',
+ 'tags_resources'
+ ]],
+ ['points', [
+ 'intro',
+ 'add_point_h',
+ 'add_point',
+ 'add_point_finish',
+ 'move_point_h',
+ 'move_point',
+ 'delete_point_h',
+ 'delete_point',
+ 'delete_point_command'
+ ]],
+ ['lines', [
+ 'intro',
+ 'add_line_h',
+ 'add_line',
+ 'add_line_draw',
+ 'add_line_finish',
+ 'modify_line_h',
+ 'modify_line_dragnode',
+ 'modify_line_addnode',
+ 'connect_line_h',
+ 'connect_line',
+ 'connect_line_display',
+ 'connect_line_drag',
+ 'connect_line_tag',
+ 'disconnect_line_h',
+ 'disconnect_line_command',
+ 'move_line_h',
+ 'move_line_command',
+ 'move_line_connected',
+ 'delete_line_h',
+ 'delete_line',
+ 'delete_line_command'
+ ]],
+ ['areas', [
+ 'intro',
+ 'point_or_area_h',
+ 'point_or_area',
+ 'add_area_h',
+ 'add_area_command',
+ 'add_area_draw',
+ 'add_area_finish',
+ 'square_area_h',
+ 'square_area_command',
+ 'modify_area_h',
+ 'modify_area_dragnode',
+ 'modify_area_addnode',
+ 'delete_area_h',
+ 'delete_area',
+ 'delete_area_command'
+ ]],
+ ['relations', [
+ 'intro',
+ 'edit_relation_h',
+ 'edit_relation',
+ 'edit_relation_add',
+ 'edit_relation_delete',
+ 'maintain_relation_h',
+ 'maintain_relation',
+ 'relation_types_h',
+ 'multipolygon_h',
+ 'multipolygon',
+ 'multipolygon_create',
+ 'multipolygon_merge',
+ 'turn_restriction_h',
+ 'turn_restriction',
+ 'turn_restriction_field',
+ 'turn_restriction_editing',
+ 'route_h',
+ 'route',
+ 'route_add',
+ 'boundary_h',
+ 'boundary',
+ 'boundary_add'
+ ]],
+ ['imagery', [
+ 'intro',
+ 'sources_h',
+ 'choosing',
+ 'sources',
+ 'offsets_h',
+ 'offset',
+ 'offset_change'
+ ]],
+ ['streetlevel', [
+ 'intro',
+ 'using_h',
+ 'using',
+ 'photos',
+ 'viewer'
+ ]],
+ ['gps', [
+ 'intro',
+ 'survey',
+ 'using_h',
+ 'using',
+ 'tracing',
+ 'upload'
+ ]]
+ ];
+
+ var headings = {
+ 'help.help.open_data_h': 3,
+ 'help.help.before_start_h': 3,
+ 'help.help.open_source_h': 3,
+ 'help.overview.navigation_h': 3,
+ 'help.overview.features_h': 3,
+ 'help.editing.select_h': 3,
+ 'help.editing.multiselect_h': 3,
+ 'help.editing.undo_redo_h': 3,
+ 'help.editing.save_h': 3,
+ 'help.editing.upload_h': 3,
+ 'help.editing.backups_h': 3,
+ 'help.editing.keyboard_h': 3,
+ 'help.feature_editor.type_h': 3,
+ 'help.feature_editor.fields_h': 3,
+ 'help.feature_editor.tags_h': 3,
+ 'help.points.add_point_h': 3,
+ 'help.points.move_point_h': 3,
+ 'help.points.delete_point_h': 3,
+ 'help.lines.add_line_h': 3,
+ 'help.lines.modify_line_h': 3,
+ 'help.lines.connect_line_h': 3,
+ 'help.lines.disconnect_line_h': 3,
+ 'help.lines.move_line_h': 3,
+ 'help.lines.delete_line_h': 3,
+ 'help.areas.point_or_area_h': 3,
+ 'help.areas.add_area_h': 3,
+ 'help.areas.square_area_h': 3,
+ 'help.areas.modify_area_h': 3,
+ 'help.areas.delete_area_h': 3,
+ 'help.relations.edit_relation_h': 3,
+ 'help.relations.maintain_relation_h': 3,
+ 'help.relations.relation_types_h': 2,
+ 'help.relations.multipolygon_h': 3,
+ 'help.relations.turn_restriction_h': 3,
+ 'help.relations.route_h': 3,
+ 'help.relations.boundary_h': 3,
+ 'help.imagery.sources_h': 3,
+ 'help.imagery.offsets_h': 3,
+ 'help.streetlevel.using_h': 3,
+ 'help.gps.using_h': 3,
+ };
+
+ var replacements = {
+ point: icon('#icon-point', 'pre-text'),
+ line: icon('#icon-line', 'pre-text'),
+ area: icon('#icon-area', 'pre-text'),
+ plus: icon('#icon-plus', 'pre-text'),
+ minus: icon('#icon-minus', 'pre-text'),
+ orthogonalize: icon('#operation-orthogonalize', 'pre-text'),
+ disconnect: icon('#operation-disconnect', 'pre-text'),
+ layers: icon('#icon-layers', 'pre-text'),
+ data: icon('#icon-data', 'pre-text'),
+ inspect: icon('#icon-inspect', 'pre-text'),
+ move: icon('#operation-move', 'pre-text'),
+ merge: icon('#operation-merge', 'pre-text'),
+ delete: icon('#operation-delete', 'pre-text'),
+ close: icon('#icon-close', 'pre-text'),
+ undo: icon(textDirection === 'rtl' ? '#icon-redo' : '#icon-undo', 'pre-text'),
+ redo: icon(textDirection === 'rtl' ? '#icon-undo' : '#icon-redo', 'pre-text'),
+ save: icon('#icon-save', 'pre-text'),
+ leftclick: icon('#walkthrough-mouse', 'pre-text mouseclick', 'left'),
+ rightclick: icon('#walkthrough-mouse', 'pre-text mouseclick', 'right'),
+ shift: uiCmd.display('⇧'),
+ alt: uiCmd.display('⌥'),
+ return: uiCmd.display('↵'),
+ version: context.version
+ };
+
+ // For each section, squash all the texts into a single markdown document
+ var docs = docKeys.map(function(key) {
+ var helpkey = 'help.' + key[0];
+ var text = key[1].reduce(function(all, part) {
+ var subkey = helpkey + '.' + part;
+ var depth = headings[subkey]; // is this subkey a heading?
+ var hhh = depth ? Array(depth + 1).join('#') + ' ' : ''; // if so, prepend with some ##'s
+ return all + hhh + t(subkey, replacements) + '\n\n';
+ }, '');
+
+ return {
+ title: t(helpkey + '.title'),
+ html: marked(text.trim())
+ };
+ });
+
+
+ function help(selection$$1) {
+
+ function hidePane() {
+ setVisible(false);
+ }
+
+
+ function togglePane() {
+ if (event) event.preventDefault();
+ tooltipBehavior.hide(button);
+ setVisible(!button.classed('active'));
+ }
+
+
+ function setVisible(show) {
+ if (show !== shown) {
+ button.classed('active', show);
+ shown = show;
+
+ if (show) {
+ uiBackground.hidePane();
+ uiMapData.hidePane();
+
+ pane.style('display', 'block')
+ .style('right', '-500px')
+ .transition()
+ .duration(200)
+ .style('right', '0px');
+
+ } else {
+ pane.style('right', '0px')
+ .transition()
+ .duration(200)
+ .style('right', '-500px')
+ .on('end', function() {
+ select(this).style('display', 'none');
+ });
+ }
+ }
+ }
+
+
+ function clickHelp(d, i) {
+ var rtl = (textDirection === 'rtl');
+ pane.property('scrollTop', 0);
+ doctitle.html(d.title);
+
+ body.html(d.html);
+ body.selectAll('a')
+ .attr('target', '_blank');
+ menuItems.classed('selected', function(m) {
+ return m.title === d.title;
+ });
+
+ nav.html('');
+ if (rtl) {
+ nav.call(drawNext).call(drawPrevious);
+ } else {
+ nav.call(drawPrevious).call(drawNext);
+ }
+
+
+ function drawNext(selection$$1) {
+ if (i < docs.length - 1) {
+ var nextLink = selection$$1
+ .append('a')
+ .attr('class', 'next')
+ .on('click', function() {
+ clickHelp(docs[i + 1], i + 1);
+ });
+
+ nextLink
+ .append('span')
+ .text(docs[i + 1].title)
+ .call(svgIcon((rtl ? '#icon-backward' : '#icon-forward'), 'inline'));
+ }
+ }
+
+
+ function drawPrevious(selection$$1) {
+ if (i > 0) {
+ var prevLink = selection$$1
+ .append('a')
+ .attr('class', 'previous')
+ .on('click', function() {
+ clickHelp(docs[i - 1], i - 1);
+ });
+
+ prevLink
+ .call(svgIcon((rtl ? '#icon-forward' : '#icon-backward'), 'inline'))
+ .append('span')
+ .text(docs[i - 1].title);
+ }
+ }
+ }
+
+
+ function clickWalkthrough() {
+ if (context.inIntro()) return;
+ context.container().call(uiIntro(context));
+ setVisible(false);
+ }
+
+
+ function clickShortcuts() {
+ context.container().call(uiShortcuts(context), true);
+ }
+
+
+ var pane = selection$$1.append('div')
+ .attr('class', 'help-wrap map-pane fillL col6 hide');
+
+ var tooltipBehavior = tooltip()
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ .html(true)
+ .title(uiTooltipHtml(t('help.title'), key));
+
+ var button = selection$$1.append('button')
+ .attr('tabindex', -1)
+ .on('click', togglePane)
+ .call(svgIcon('#icon-help', 'light'))
+ .call(tooltipBehavior);
+
+ var shown = false;
+
+
+ var heading = pane
+ .append('div')
+ .attr('class', 'pane-heading');
+
+ var doctitle = heading
+ .append('h2')
+ .text(t('help.title'));
+
+ heading
+ .append('button')
+ .on('click', function() { uiHelp.hidePane(); })
+ .call(svgIcon('#icon-close'));
+
+
+ var content = pane
+ .append('div')
+ .attr('class', 'pane-content');
+
+ var toc = content
+ .append('ul')
+ .attr('class', 'toc');
+
+ var menuItems = toc.selectAll('li')
+ .data(docs)
+ .enter()
+ .append('li')
+ .append('a')
+ .html(function(d) { return d.title; })
+ .on('click', clickHelp);
+
+ var shortcuts = toc
+ .append('li')
+ .attr('class', 'shortcuts')
+ .call(tooltip()
+ .html(true)
+ .title(uiTooltipHtml(t('shortcuts.tooltip'), '?'))
+ .placement('top')
+ )
+ .append('a')
+ .on('click', clickShortcuts);
+
+ shortcuts
+ .append('div')
+ .text(t('shortcuts.title'));
+
+ var walkthrough = toc
+ .append('li')
+ .attr('class', 'walkthrough')
+ .append('a')
+ .on('click', clickWalkthrough);
+
+ walkthrough
+ .append('svg')
+ .attr('class', 'logo logo-walkthrough')
+ .append('use')
+ .attr('xlink:href', '#logo-walkthrough');
+
+ walkthrough
+ .append('div')
+ .text(t('splash.walkthrough'));
+
+
+ var helpContent = content
+ .append('div')
+ .attr('class', 'left-content');
+
+ var body = helpContent
+ .append('div')
+ .attr('class', 'body');
+
+ var nav = helpContent
+ .append('div')
+ .attr('class', 'nav');
+
+ clickHelp(docs[0], 0);
+
+ var keybinding = d3keybinding('help')
+ .on(key, togglePane)
+ .on([t('background.key'), t('map_data.key')], hidePane);
+
+ select(document)
+ .call(keybinding);
+
+ uiHelp.hidePane = hidePane;
+ uiHelp.togglePane = togglePane;
+ uiHelp.setVisible = setVisible;
+ }
+
+ return help;
+ }
+
+ function localeDateString(s) {
+ if (!s) return null;
+ var detected = utilDetect();
+ var options = { day: 'numeric', month: 'short', year: 'numeric' };
+ var d = new Date(s);
+ if (isNaN(d.getTime())) return null;
+ return d.toLocaleDateString(detected.locale, options);
+ }
+
+ function vintageRange(vintage) {
+ var s;
+ if (vintage.start || vintage.end) {
+ s = (vintage.start || '?');
+ if (vintage.start !== vintage.end) {
+ s += ' - ' + (vintage.end || '?');
+ }
+ }
+ return s;
+ }
+
+
+ function rendererBackgroundSource(data) {
+ var source = clone(data);
+ var offset = [0, 0];
+ var name = source.name;
+ var description = source.description;
+ var best = !!source.best;
+ var template = source.template;
+
+ source.scaleExtent = data.scaleExtent || [0, 22];
+ source.overzoom = data.overzoom !== false;
+
+
+ source.offset = function(_) {
+ if (!arguments.length) return offset;
+ offset = _;
+ return source;
+ };
+
+
+ source.nudge = function(_, zoomlevel) {
+ offset[0] += _[0] / Math.pow(2, zoomlevel);
+ offset[1] += _[1] / Math.pow(2, zoomlevel);
+ return source;
+ };
+
+
+ source.name = function() {
+ var id_safe = source.id.replace('.', '<TX_DOT>');
+ return t('imagery.' + id_safe + '.name', { default: name });
+ };
+
+
+ source.description = function() {
+ var id_safe = source.id.replace('.', '<TX_DOT>');
+ return t('imagery.' + id_safe + '.description', { default: description });
+ };
+
+
+ source.best = function() {
+ return best;
+ };
+
+
+ source.area = function() {
+ if (!data.polygon) return Number.MAX_VALUE; // worldwide
+ var area = d3_geoArea({ type: 'MultiPolygon', coordinates: [ data.polygon ] });
+ return isNaN(area) ? 0 : area;
+ };
+
+
+ source.imageryUsed = function() {
+ return name || source.id;
+ };
+
+
+ source.template = function(_) {
+ if (!arguments.length) return template;
+ if (source.id === 'custom') template = _;
+ return source;
+ };
+
+
+ source.url = function(coord) {
+ if (this.type === 'wms') {
+ var tileToProjectedCoords = (function(x, y, z) {
+ //polyfill for IE11, PhantomJS
+ var sinh = Math.sinh || function(x) {
+ var y = Math.exp(x);
+ return (y - 1 / y) / 2;
+ };
+
+ var zoomSize = Math.pow(2, z);
+ var lon = x / zoomSize * Math.PI * 2 - Math.PI;
+ var lat = Math.atan(sinh(Math.PI * (1 - 2 * y / zoomSize)));
+
+ switch (this.projection) {
+ case 'EPSG:4326': // todo: alternative codes of WGS 84?
+ return {
+ x: lon * 180 / Math.PI,
+ y: lat * 180 / Math.PI
+ };
+ default: // EPSG:3857 and synonyms
+ var mercCoords = mercatorRaw(lon, lat);
+ return {
+ x: 20037508.34 / Math.PI * mercCoords[0],
+ y: 20037508.34 / Math.PI * mercCoords[1]
+ };
+ }
+ }).bind(this);
+ var minXmaxY = tileToProjectedCoords(coord[0], coord[1], coord[2]);
+ var maxXminY = tileToProjectedCoords(coord[0]+1, coord[1]+1, coord[2]);
+ return template
+ .replace('{width}', 256)
+ .replace('{height}', 256)
+ .replace('{proj}', this.projection)
+ .replace('{bbox}', minXmaxY.x + ',' + maxXminY.y + ',' + maxXminY.x + ',' + minXmaxY.y);
+ }
+ return template
+ .replace('{x}', coord[0])
+ .replace('{y}', coord[1])
+ // TMS-flipped y coordinate
+ .replace(/\{[t-]y\}/, Math.pow(2, coord[2]) - coord[1] - 1)
+ .replace(/\{z(oom)?\}/, coord[2])
+ .replace(/\{switch:([^}]+)\}/, function(s, r) {
+ var subdomains = r.split(',');
+ return subdomains[(coord[0] + coord[1]) % subdomains.length];
+ })
+ .replace('{u}', function() {
+ var u = '';
+ for (var zoom = coord[2]; zoom > 0; zoom--) {
+ var b = 0;
+ var mask = 1 << (zoom - 1);
+ if ((coord[0] & mask) !== 0) b++;
+ if ((coord[1] & mask) !== 0) b += 2;
+ u += b.toString();
+ }
+ return u;
+ });
+ };
+
+
+ source.intersects = function(extent) {
+ extent = extent.polygon();
+ return !data.polygon || data.polygon.some(function(polygon) {
+ return geoPolygonIntersectsPolygon(polygon, extent, true);
+ });
+ };
+
+
+ source.validZoom = function(z) {
+ return source.scaleExtent[0] <= z &&
+ (source.overzoom || source.scaleExtent[1] > z);
+ };
+
+
+ source.isLocatorOverlay = function() {
+ return source.id === 'mapbox_locator_overlay';
+ };
+
+
+ /* hides a source from the list, but leaves it available for use */
+ source.isHidden = function() {
+ return source.id === 'DigitalGlobe-Premium-vintage' ||
+ source.id === 'DigitalGlobe-Standard-vintage';
+ };
+
+
+ source.copyrightNotices = function() {};
+
+
+ source.getMetadata = function(center, tileCoord, callback) {
+ var vintage = {
+ start: localeDateString(source.startDate),
+ end: localeDateString(source.endDate)
+ };
+ vintage.range = vintageRange(vintage);
+
+ var metadata = { vintage: vintage };
+ callback(null, metadata);
+ };
+
+
+ return source;
+ }
+
+
+ rendererBackgroundSource.Bing = function(data, dispatch) {
+ // http://msdn.microsoft.com/en-us/library/ff701716.aspx
+ // http://msdn.microsoft.com/en-us/library/ff701701.aspx
+
+ data.template = 'https://ecn.t{switch:0,1,2,3}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z';
+
+ var bing = rendererBackgroundSource(data),
+ key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU', // Same as P2 and JOSM
+ url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' +
+ key + '&jsonp={callback}',
+ cache = {},
+ inflight = {},
+ providers = [];
+
+ jsonpRequest(url, function(json) {
+ providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
+ return {
+ attribution: provider.attribution,
+ areas: provider.coverageAreas.map(function(area) {
+ return {
+ zoom: [area.zoomMin, area.zoomMax],
+ extent: geoExtent$$1([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
+ };
+ })
+ };
+ });
+ dispatch.call('change');
+ });
+
+
+ bing.copyrightNotices = function(zoom, extent) {
+ zoom = Math.min(zoom, 21);
+ return providers.filter(function(provider) {
+ return some(provider.areas, function(area) {
+ return extent.intersects(area.extent) &&
+ area.zoom[0] <= zoom &&
+ area.zoom[1] >= zoom;
+ });
+ }).map(function(provider) {
+ return provider.attribution;
+ }).join(', ');
+ };
+
+
+ bing.getMetadata = function(center, tileCoord, callback) {
+ var tileId = tileCoord.slice(0, 3).join('/'),
+ zoom = Math.min(tileCoord[2], 21),
+ centerPoint = center[1] + ',' + center[0], // lat,lng
+ url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial/' + centerPoint +
+ '?zl=' + zoom + '&key=' + key + '&jsonp={callback}';
+
+ if (inflight[tileId]) return;
+
+ if (!cache[tileId]) {
+ cache[tileId] = {};
+ }
+ if (cache[tileId] && cache[tileId].metadata) {
+ return callback(null, cache[tileId].metadata);
+ }
+
+ inflight[tileId] = true;
+ jsonpRequest(url, function(result) {
+ delete inflight[tileId];
+
+ var err = (!result && 'Unknown Error') || result.errorDetails;
+ if (err) {
+ return callback(err);
+ } else {
+ var vintage = {
+ start: localeDateString(result.resourceSets[0].resources[0].vintageStart),
+ end: localeDateString(result.resourceSets[0].resources[0].vintageEnd)
+ };
+ vintage.range = vintageRange(vintage);
+
+ var metadata = { vintage: vintage };
+ cache[tileId].metadata = metadata;
+ return callback(null, metadata);
+ }
+ });
+ };
+
+
+ bing.terms_url = 'https://blog.openstreetmap.org/2010/11/30/microsoft-imagery-details';
+
+
+ return bing;
+ };
+
+
+
+ rendererBackgroundSource.Esri = function(data) {
+
+ // don't request blank tiles, instead overzoom real tiles - #4327
+ // deprecated technique, but it works (for now)
+ if (data.template.match(/blankTile/) === null) {
+ data.template = data.template + '?blankTile=false';
+ }
+
+ var esri = rendererBackgroundSource(data),
+ cache = {},
+ inflight = {};
+
+ esri.getMetadata = function(center, tileCoord, callback) {
+ var tileId = tileCoord.slice(0, 3).join('/'),
+ zoom = Math.min(tileCoord[2], esri.scaleExtent[1]),
+ centerPoint = center[0] + ',' + center[1], // long, lat (as it should be)
+ unknown = t('info_panels.background.unknown'),
+ metadataLayer,
+ vintage = {},
+ metadata = {};
+
+ if (inflight[tileId]) return;
+
+ switch (true) {
+ case (zoom >= 20 && esri.id === 'EsriWorldImageryClarity'):
+ metadataLayer = 4;
+ break;
+ case zoom >= 19:
+ metadataLayer = 3;
+ break;
+ case zoom >= 17:
+ metadataLayer = 2;
+ break;
+ case zoom >= 13:
+ metadataLayer = 0;
+ break;
+ default:
+ metadataLayer = 99;
+ }
+
+ var url;
+ // build up query using the layer appropriate to the current zoom
+ if (esri.id === 'EsriWorldImagery') {
+ url = 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/';
+ } else if (esri.id === 'EsriWorldImageryClarity') {
+ url = 'https://serviceslab.arcgisonline.com/arcgis/rest/services/Clarity_World_Imagery/MapServer/';
+ }
+
+ url += metadataLayer + '/query?returnGeometry=false&geometry=' + centerPoint + '&inSR=4326&geometryType=esriGeometryPoint&outFields=*&f=json&callback={callback}';
+
+ if (!cache[tileId]) {
+ cache[tileId] = {};
+ }
+ if (cache[tileId] && cache[tileId].metadata) {
+ return callback(null, cache[tileId].metadata);
+ }
+
+ // accurate metadata is only available >= 13
+ if (metadataLayer === 99) {
+ vintage = {
+ start: null,
+ end: null,
+ range: null
+ };
+ metadata = {
+ vintage: null,
+ source: unknown,
+ description: unknown,
+ resolution: unknown,
+ accuracy: unknown
+ };
+
+ callback(null, metadata);
+
+ } else {
+ inflight[tileId] = true;
+ jsonpRequest(url, function(result) {
+ delete inflight[tileId];
+
+ var err;
+ if (!result) {
+ err = 'Unknown Error';
+ } else if (result.features && result.features.length < 1) {
+ err = 'No Results';
+ } else if (result.error && result.error.message) {
+ err = result.error.message;
+ }
+
+ if (err) {
+ return callback(err);
+ } else {
+ // pass through the discrete capture date from metadata
+ var captureDate = localeDateString(result.features[0].attributes.SRC_DATE2);
+ vintage = {
+ start: captureDate,
+ end: captureDate,
+ range: captureDate
+ };
+ metadata = {
+ vintage: vintage,
+ source: clean(result.features[0].attributes.NICE_NAME),
+ description: clean(result.features[0].attributes.NICE_DESC),
+ resolution: clean(result.features[0].attributes.SRC_RES),
+ accuracy: clean(result.features[0].attributes.SRC_ACC)
+ };
+
+ // append units - meters
+ if (isFinite(metadata.resolution)) {
+ metadata.resolution += ' m';
+ }
+ if (isFinite(metadata.accuracy)) {
+ metadata.accuracy += ' m';
+ }
+
+ cache[tileId].metadata = metadata;
+ return callback(null, metadata);
+ }
+ });
+ }
+
+
+ function clean(val) {
+ return String(val).trim() || unknown;
+ }
+ };
+
+ return esri;
+ };
+
+
+ rendererBackgroundSource.None = function() {
+ var source = rendererBackgroundSource({ id: 'none', template: '' });
+
+
+ source.name = function() {
+ return t('background.none');
+ };
+
+
+ source.imageryUsed = function() {
+ return 'None';
+ };
+
+
+ source.area = function() {
+ return -1; // sources in background pane are sorted by area
+ };
+
+
+ return source;
+ };
+
+
+ rendererBackgroundSource.Custom = function(template) {
+ var source = rendererBackgroundSource({ id: 'custom', template: template });
+
+
+ source.name = function() {
+ return t('background.custom');
+ };
+
+
+ source.imageryUsed = function() {
+ return 'Custom (' + source.template() + ')';
+ };
+
+
+ source.area = function() {
+ return -2; // sources in background pane are sorted by area
+ };
+
+
+ return source;
+ };
+
+ function rendererTileLayer(context) {
+ var tileSize = 256;
+ var transformProp = utilPrefixCSSProperty('Transform');
+ var geotile = d3geoTile();
+
+ var _projection;
+ var _cache = {};
+ var _tileOrigin;
+ var _zoom;
+ var _source;
+
+
+ // blacklist overlay tiles around Null Island..
+ function nearNullIsland(x, y, z) {
+ if (z >= 7) {
+ var center = Math.pow(2, z - 1);
+ var width = Math.pow(2, z - 6);
+ var min = center - (width / 2);
+ var max = center + (width / 2) - 1;
+ return x >= min && x <= max && y >= min && y <= max;
+ }
+ return false;
+ }
+
+
+ function tileSizeAtZoom(d, z) {
+ var EPSILON = 0.002;
+ return ((tileSize * Math.pow(2, z - d[2])) / tileSize) + EPSILON;
+ }
+
+
+ function atZoom(t$$1, distance) {
+ var power = Math.pow(2, distance);
+ return [
+ Math.floor(t$$1[0] * power),
+ Math.floor(t$$1[1] * power),
+ t$$1[2] + distance
+ ];
+ }
+
+
+ function lookUp(d) {
+ for (var up = -1; up > -d[2]; up--) {
+ var tile = atZoom(d, up);
+ if (_cache[_source.url(tile)] !== false) {
+ return tile;
+ }
+ }
+ }
+
+
+ function uniqueBy(a, n) {
+ var o = [];
+ var seen = {};
+ for (var i = 0; i < a.length; i++) {
+ if (seen[a[i][n]] === undefined) {
+ o.push(a[i]);
+ seen[a[i][n]] = true;
+ }
+ }
+ return o;
+ }
+
+
+ function addSource(d) {
+ d.push(_source.url(d));
+ return d;
+ }
+
+
+ // Update tiles based on current state of `projection`.
+ function background(selection$$1) {
+ _zoom = geoScaleToZoom(_projection.scale(), tileSize);
+
+ var pixelOffset;
+ if (_source) {
+ pixelOffset = [
+ _source.offset()[0] * Math.pow(2, _zoom),
+ _source.offset()[1] * Math.pow(2, _zoom)
+ ];
+ } else {
+ pixelOffset = [0, 0];
+ }
+
+ var translate = [
+ _projection.translate()[0] + pixelOffset[0],
+ _projection.translate()[1] + pixelOffset[1]
+ ];
+
+ geotile
+ .scale(_projection.scale() * 2 * Math.PI)
+ .translate(translate);
+
+ _tileOrigin = [
+ _projection.scale() * Math.PI - translate[0],
+ _projection.scale() * Math.PI - translate[1]
+ ];
+
+ render(selection$$1);
+ }
+
+
+ // Derive the tiles onscreen, remove those offscreen and position them.
+ // Important that this part not depend on `_projection` because it's
+ // rentered when tiles load/error (see #644).
+ function render(selection$$1) {
+ if (!_source) return;
+ var requests = [];
+ var showDebug = context.getDebug('tile') && !_source.overlay;
+
+ if (_source.validZoom(_zoom)) {
+ geotile().forEach(function(d) {
+ addSource(d);
+ if (d[3] === '') return;
+ if (typeof d[3] !== 'string') return; // Workaround for #2295
+ requests.push(d);
+ if (_cache[d[3]] === false && lookUp(d)) {
+ requests.push(addSource(lookUp(d)));
+ }
+ });
+
+ requests = uniqueBy(requests, 3).filter(function(r) {
+ if (!!_source.overlay && nearNullIsland(r[0], r[1], r[2])) {
+ return false;
+ }
+ // don't re-request tiles which have failed in the past
+ return _cache[r[3]] !== false;
+ });
+ }
+
+
+ function load(d) {
+ _cache[d[3]] = true;
+ select(this)
+ .on('error', null)
+ .on('load', null)
+ .classed('tile-loaded', true);
+ render(selection$$1);
+ }
+
+ function error(d) {
+ _cache[d[3]] = false;
+ select(this)
+ .on('error', null)
+ .on('load', null)
+ .remove();
+ render(selection$$1);
+ }
+
+ function imageTransform(d) {
+ var ts = tileSize * Math.pow(2, _zoom - d[2]);
+ var scale = tileSizeAtZoom(d, _zoom);
+ return 'translate(' +
+ ((d[0] * ts) - _tileOrigin[0]) + 'px,' +
+ ((d[1] * ts) - _tileOrigin[1]) + 'px) ' +
+ 'scale(' + scale + ',' + scale + ')';
+ }
+
+ function tileCenter(d) {
+ var ts = tileSize * Math.pow(2, _zoom - d[2]);
+ return [
+ ((d[0] * ts) - _tileOrigin[0] + (ts / 2)),
+ ((d[1] * ts) - _tileOrigin[1] + (ts / 2))
+ ];
+ }
+
+ function debugTransform(d) {
+ var coord = tileCenter(d);
+ return 'translate(' + coord[0] + 'px,' + coord[1] + 'px)';
+ }
+
+
+ // Pick a representative tile near the center of the viewport
+ // (This is useful for sampling the imagery vintage)
+ var dims = geotile.size();
+ var mapCenter = [dims[0] / 2, dims[1] / 2];
+ var minDist = Math.max(dims[0], dims[1]);
+ var nearCenter;
+
+ requests.forEach(function(d) {
+ var c = tileCenter(d);
+ var dist = geoVecLength(c, mapCenter);
+ if (dist < minDist) {
+ minDist = dist;
+ nearCenter = d;
+ }
+ });
+
+
+ var image = selection$$1.selectAll('img')
+ .data(requests, function(d) { return d[3]; });
+
+ image.exit()
+ .style(transformProp, imageTransform)
+ .classed('tile-removing', true)
+ .classed('tile-center', false)
+ .each(function() {
+ var tile = select(this);
+ window.setTimeout(function() {
+ if (tile.classed('tile-removing')) {
+ tile.remove();
+ }
+ }, 300);
+ });
+
+ image.enter()
+ .append('img')
+ .attr('class', 'tile')
+ .attr('src', function(d) { return d[3]; })
+ .on('error', error)
+ .on('load', load)
+ .merge(image)
+ .style(transformProp, imageTransform)
+ .classed('tile-debug', showDebug)
+ .classed('tile-removing', false)
+ .classed('tile-center', function(d) { return d === nearCenter; });
+
+
+
+ var debug = selection$$1.selectAll('.tile-label-debug')
+ .data(showDebug ? requests : [], function(d) { return d[3]; });
+
+ debug.exit()
+ .remove();
+
+ if (showDebug) {
+ var debugEnter = debug.enter()
+ .append('div')
+ .attr('class', 'tile-label-debug');
+
+ debugEnter
+ .append('div')
+ .attr('class', 'tile-label-debug-coord');
+
+ debugEnter
+ .append('div')
+ .attr('class', 'tile-label-debug-vintage');
+
+ debug = debug.merge(debugEnter);
+
+ debug
+ .style(transformProp, debugTransform);
+
+ debug
+ .selectAll('.tile-label-debug-coord')
+ .text(function(d) { return d[2] + ' / ' + d[0] + ' / ' + d[1]; });
+
+ debug
+ .selectAll('.tile-label-debug-vintage')
+ .each(function(d) {
+ var span = select(this);
+ var center = context.projection.invert(tileCenter(d));
+ _source.getMetadata(center, d, function(err, result) {
+ span.text((result && result.vintage && result.vintage.range) ||
+ t('info_panels.background.vintage') + ': ' + t('info_panels.background.unknown')
+ );
+ });
+ });
+ }
+
+ }
+
+
+ background.projection = function(_) {
+ if (!arguments.length) return _projection;
+ _projection = _;
+ return background;
+ };
+
+
+ background.dimensions = function(_) {
+ if (!arguments.length) return geotile.size();
+ geotile.size(_);
+ return background;
+ };
+
+
+ background.source = function(_) {
+ if (!arguments.length) return _source;
+ _source = _;
+ _cache = {};
+ geotile.scaleExtent(_source.scaleExtent);
+ return background;
+ };
+
+
+ return background;
+ }
+
+ function rendererBackground(context) {
+ var dispatch$$1 = dispatch('change');
+ var detected = utilDetect();
+ var baseLayer = rendererTileLayer(context).projection(context.projection);
+ var _overlayLayers = [];
+ var _backgroundSources = [];
+ var _brightness = 1;
+ var _contrast = 1;
+ var _saturation = 1;
+ var _sharpness = 1;
+
+
+ function background(selection$$1) {
+
+ var baseFilter = '';
+ if (detected.cssfilters) {
+ if (_brightness !== 1) {
+ baseFilter += 'brightness(' + _brightness + ')';
+ }
+ if (_contrast !== 1) {
+ baseFilter += 'contrast(' + _contrast + ')';
+ }
+ if (_saturation !== 1) {
+ baseFilter += 'saturate(' + _saturation + ')';
+ }
+ if (_sharpness < 1) { // gaussian blur
+ var blur = interpolateNumber(0.5, 5)(1 - _sharpness);
+ baseFilter += 'blur(' + blur + 'px)';
+ }
+ }
+
+ var base = selection$$1.selectAll('.layer-background')
+ .data([0]);
+
+ base = base.enter()
+ .insert('div', '.layer-data')
+ .attr('class', 'layer layer-background')
+ .merge(base);
+
+ if (detected.cssfilters) {
+ base.style('filter', baseFilter || null);
+ } else {
+ base.style('opacity', _brightness);
+ }
+
+
+ var imagery = base.selectAll('.layer-imagery')
+ .data([0]);
+
+ imagery.enter()
+ .append('div')
+ .attr('class', 'layer layer-imagery')
+ .merge(imagery)
+ .call(baseLayer);
+
+
+ var maskFilter = '';
+ var mixBlendMode = '';
+ if (detected.cssfilters && _sharpness > 1) { // apply unsharp mask
+ mixBlendMode = 'overlay';
+ maskFilter = 'saturate(0) blur(3px) invert(1)';
+
+ var contrast = _sharpness - 1;
+ maskFilter += ' contrast(' + contrast + ')';
+
+ var brightness = interpolateNumber(1, 0.85)(_sharpness - 1);
+ maskFilter += ' brightness(' + brightness + ')';
+ }
+
+ var mask = base.selectAll('.layer-unsharp-mask')
+ .data(detected.cssfilters && _sharpness > 1 ? [0] : []);
+
+ mask.exit()
+ .remove();
+
+ mask.enter()
+ .append('div')
+ .attr('class', 'layer layer-mask layer-unsharp-mask')
+ .merge(mask)
+ .call(baseLayer)
+ .style('filter', maskFilter || null)
+ .style('mix-blend-mode', mixBlendMode || null);
+
+
+ var overlays = selection$$1.selectAll('.layer-overlay')
+ .data(_overlayLayers, function(d) { return d.source().name(); });
+
+ overlays.exit()
+ .remove();
+
+ overlays.enter()
+ .insert('div', '.layer-data')
+ .attr('class', 'layer layer-overlay')
+ .merge(overlays)
+ .each(function(layer) { select(this).call(layer); });
+ }
+
+
+ background.updateImagery = function() {
+ if (context.inIntro()) return;
+
+ var b = background.baseLayerSource(),
+ o = _overlayLayers
+ .filter(function (d) { return !d.source().isLocatorOverlay() && !d.source().isHidden(); })
+ .map(function (d) { return d.source().id; })
+ .join(','),
+ meters = geoOffsetToMeters(b.offset()),
+ epsilon = 0.01,
+ x = +meters[0].toFixed(2),
+ y = +meters[1].toFixed(2),
+ q = utilStringQs(window.location.hash.substring(1));
+
+ var id = b.id;
+ if (id === 'custom') {
+ id = 'custom:' + b.template();
+ }
+
+ if (id) {
+ q.background = id;
+ } else {
+ delete q.background;
+ }
+
+ if (o) {
+ q.overlays = o;
+ } else {
+ delete q.overlays;
+ }
+
+ if (Math.abs(x) > epsilon || Math.abs(y) > epsilon) {
+ q.offset = x + ',' + y;
+ } else {
+ delete q.offset;
+ }
+
+ if (!window.mocha) {
+ window.location.replace('#' + utilQsString(q, true));
+ }
+
+ var imageryUsed = [b.imageryUsed()];
+
+ _overlayLayers
+ .filter(function (d) { return !d.source().isLocatorOverlay() && !d.source().isHidden(); })
+ .forEach(function (d) { imageryUsed.push(d.source().imageryUsed()); });
+
+ var gpx = context.layers().layer('gpx');
+ if (gpx && gpx.enabled() && gpx.hasGpx()) {
+ // Include a string like '.gpx data file' or '.geojson data file'
+ var match = gpx.getSrc().match(/(kml|gpx|(?:geo)?json)$/i);
+ var extension = match ? ('.' + match[0].toLowerCase() + ' ') : '';
+ imageryUsed.push(extension + 'data file');
+ }
+
+ var mapillary_images = context.layers().layer('mapillary-images');
+ if (mapillary_images && mapillary_images.enabled()) {
+ imageryUsed.push('Mapillary Images');
+ }
+
+ var mapillary_signs = context.layers().layer('mapillary-signs');
+ if (mapillary_signs && mapillary_signs.enabled()) {
+ imageryUsed.push('Mapillary Signs');
+ }
+
+ var openstreetcam_images = context.layers().layer('openstreetcam-images');
+ if (openstreetcam_images && openstreetcam_images.enabled()) {
+ imageryUsed.push('OpenStreetCam Images');
+ }
+
+ context.history().imageryUsed(imageryUsed);
+ };
+
+
+ background.sources = function(extent) {
+ return _backgroundSources.filter(function(source) {
+ return source.intersects(extent);
+ });
+ };
+
+
+ background.dimensions = function(_) {
+ if (!_) return;
+ baseLayer.dimensions(_);
+
+ _overlayLayers.forEach(function(layer) {
+ layer.dimensions(_);
+ });
+ };
+
+
+ background.baseLayerSource = function(d) {
+ if (!arguments.length) return baseLayer.source();
+
+ // test source against OSM imagery blacklists..
+ var osm = context.connection();
+ if (!osm) return background;
+
+ var blacklists = context.connection().imageryBlacklists();
+
+ var template = d.template(),
+ fail = false,
+ tested = 0,
+ regex, i;
+
+ for (i = 0; i < blacklists.length; i++) {
+ try {
+ regex = new RegExp(blacklists[i]);
+ fail = regex.test(template);
+ tested++;
+ if (fail) break;
+ } catch (e) {
+ /* noop */
+ }
+ }
+
+ // ensure at least one test was run.
+ if (!tested) {
+ regex = new RegExp('.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*');
+ fail = regex.test(template);
+ }
+
+ baseLayer.source(!fail ? d : background.findSource('none'));
+ dispatch$$1.call('change');
+ background.updateImagery();
+ return background;
+ };
+
+
+ background.findSource = function(id) {
+ return find$1(_backgroundSources, function(d) {
+ return d.id && d.id === id;
+ });
+ };
+
+
+ background.bing = function() {
+ background.baseLayerSource(background.findSource('Bing'));
+ };
+
+
+ background.showsLayer = function(d) {
+ return d.id === baseLayer.source().id ||
+ _overlayLayers.some(function(layer) { return d.id === layer.source().id; });
+ };
+
+
+ background.overlayLayerSources = function() {
+ return _overlayLayers.map(function (l) { return l.source(); });
+ };
+
+
+ background.toggleOverlayLayer = function(d) {
+ var layer;
+
+ for (var i = 0; i < _overlayLayers.length; i++) {
+ layer = _overlayLayers[i];
+ if (layer.source() === d) {
+ _overlayLayers.splice(i, 1);
+ dispatch$$1.call('change');
+ background.updateImagery();
+ return;
+ }
+ }
+
+ layer = rendererTileLayer(context)
+ .source(d)
+ .projection(context.projection)
+ .dimensions(baseLayer.dimensions()
+ );
+
+ _overlayLayers.push(layer);
+ dispatch$$1.call('change');
+ background.updateImagery();
+ };
+
+
+ background.nudge = function(d, zoom) {
+ baseLayer.source().nudge(d, zoom);
+ dispatch$$1.call('change');
+ background.updateImagery();
+ return background;
+ };
+
+
+ background.offset = function(d) {
+ if (!arguments.length) return baseLayer.source().offset();
+ baseLayer.source().offset(d);
+ dispatch$$1.call('change');
+ background.updateImagery();
+ return background;
+ };
+
+
+ background.brightness = function(d) {
+ if (!arguments.length) return _brightness;
+ _brightness = d;
+ if (context.mode()) dispatch$$1.call('change');
+ return background;
+ };
+
+
+ background.contrast = function(d) {
+ if (!arguments.length) return _contrast;
+ _contrast = d;
+ if (context.mode()) dispatch$$1.call('change');
+ return background;
+ };
+
+
+ background.saturation = function(d) {
+ if (!arguments.length) return _saturation;
+ _saturation = d;
+ if (context.mode()) dispatch$$1.call('change');
+ return background;
+ };
+
+
+ background.sharpness = function(d) {
+ if (!arguments.length) return _sharpness;
+ _sharpness = d;
+ if (context.mode()) dispatch$$1.call('change');
+ return background;
+ };
+
+
+ background.init = function() {
+ function parseMap(qmap) {
+ if (!qmap) return false;
+ var args = qmap.split('/').map(Number);
+ if (args.length < 3 || args.some(isNaN)) return false;
+ return geoExtent$$1([args[2], args[1]]);
+ }
+
+ var dataImagery = data.imagery || [],
+ q = utilStringQs(window.location.hash.substring(1)),
+ requested = q.background || q.layer,
+ extent = parseMap(q.map),
+ first,
+ best;
+
+ // Add all the available imagery sources
+ _backgroundSources = dataImagery.map(function(source) {
+ if (source.type === 'bing') {
+ return rendererBackgroundSource.Bing(source, dispatch$$1);
+ } else if (/^EsriWorldImagery/.test(source.id)) {
+ return rendererBackgroundSource.Esri(source);
+ } else {
+ return rendererBackgroundSource(source);
+ }
+ });
+
+ first = _backgroundSources.length && _backgroundSources[0];
+
+ // Add 'None'
+ _backgroundSources.unshift(rendererBackgroundSource.None());
+
+ // Add 'Custom'
+ var template = context.storage('background-custom-template') || '';
+ var custom = rendererBackgroundSource.Custom(template);
+ _backgroundSources.unshift(custom);
+
+
+ // Decide which background layer to display
+ if (!requested && extent) {
+ best = find$1(this.sources(extent), function(s) { return s.best(); });
+ }
+ if (requested && requested.indexOf('custom:') === 0) {
+ template = requested.replace(/^custom:/, '');
+ background.baseLayerSource(custom.template(template));
+ context.storage('background-custom-template', template);
+ } else {
+ background.baseLayerSource(
+ background.findSource(requested) ||
+ best ||
+ background.findSource(context.storage('background-last-used')) ||
+ background.findSource('Bing') ||
+ first ||
+ background.findSource('none')
+ );
+ }
+
+ var locator = find$1(_backgroundSources, function(d) {
+ return d.overlay && d.default;
+ });
+
+ if (locator) {
+ background.toggleOverlayLayer(locator);
+ }
+
+ var overlays = (q.overlays || '').split(',');
+ overlays.forEach(function(overlay) {
+ overlay = background.findSource(overlay);
+ if (overlay) {
+ background.toggleOverlayLayer(overlay);
+ }
+ });
+
+ if (q.gpx) {
+ var gpx = context.layers().layer('gpx');
+ if (gpx) {
+ gpx.url(q.gpx);
+ }
+ }
+
+ if (q.offset) {
+ var offset = q.offset.replace(/;/g, ',').split(',').map(function(n) {
+ return !isNaN(n) && n;
+ });
+
+ if (offset.length === 2) {
+ background.offset(geoMetersToOffset(offset));
+ }
+ }
+ };
+
+
+ return utilRebind(background, dispatch$$1, 'on');
+ }
+
+ function rendererFeatures(context) {
+ var traffic_roads = {
+ 'motorway': true,
+ 'motorway_link': true,
+ 'trunk': true,
+ 'trunk_link': true,
+ 'primary': true,
+ 'primary_link': true,
+ 'secondary': true,
+ 'secondary_link': true,
+ 'tertiary': true,
+ 'tertiary_link': true,
+ 'residential': true,
+ 'unclassified': true,
+ 'living_street': true
+ };
+
+ var service_roads = {
+ 'service': true,
+ 'road': true,
+ 'track': true
+ };
+
+ var paths = {
+ 'path': true,
+ 'footway': true,
+ 'cycleway': true,
+ 'bridleway': true,
+ 'steps': true,
+ 'pedestrian': true,
+ 'corridor': true
+ };
+
+ var past_futures = {
+ 'proposed': true,
+ 'construction': true,
+ 'abandoned': true,
+ 'dismantled': true,
+ 'disused': true,
+ 'razed': true,
+ 'demolished': true,
+ 'obliterated': true
+ };
+
+ var dispatch$$1 = dispatch('change', 'redraw'),
+ _cullFactor = 1,
+ _cache = {},
+ _features = {},
+ _stats = {},
+ _keys = [],
+ _hidden = [];
+
+
+ function update() {
+ if (!window.mocha) {
+ var q = utilStringQs(window.location.hash.substring(1));
+ var disabled = features.disabled();
+ if (disabled.length) {
+ q.disable_features = disabled.join(',');
+ } else {
+ delete q.disable_features;
+ }
+ window.location.replace('#' + utilQsString(q, true));
+ context.storage('disabled-features', disabled.join(','));
+ }
+ _hidden = features.hidden();
+ dispatch$$1.call('change');
+ dispatch$$1.call('redraw');
+ }
+
+
+ function defineFeature(k, filter, max) {
+ var isEnabled = true;
+
+ _keys.push(k);
+ _features[k] = {
+ filter: filter,
+ enabled: isEnabled, // whether the user wants it enabled..
+ count: 0,
+ currentMax: (max || Infinity),
+ defaultMax: (max || Infinity),
+ enable: function() { this.enabled = true; this.currentMax = this.defaultMax; },
+ disable: function() { this.enabled = false; this.currentMax = 0; },
+ hidden: function() { return !context.editable() || this.count > this.currentMax * _cullFactor; },
+ autoHidden: function() { return this.hidden() && this.currentMax > 0; }
+ };
+ }
+
+
+ defineFeature('points', function isPoint(entity, resolver, geometry) {
+ return geometry === 'point';
+ }, 200);
+
+ defineFeature('traffic_roads', function isTrafficRoad(entity) {
+ return traffic_roads[entity.tags.highway];
+ });
+
+ defineFeature('service_roads', function isServiceRoad(entity) {
+ return service_roads[entity.tags.highway];
+ });
+
+ defineFeature('paths', function isPath(entity) {
+ return paths[entity.tags.highway];
+ });
+
+ defineFeature('buildings', function isBuilding(entity) {
+ return (
+ !!entity.tags['building:part'] ||
+ (!!entity.tags.building && entity.tags.building !== 'no') ||
+ entity.tags.amenity === 'shelter' ||
+ entity.tags.parking === 'multi-storey' ||
+ entity.tags.parking === 'sheds' ||
+ entity.tags.parking === 'carports' ||
+ entity.tags.parking === 'garage_boxes'
+ );
+ }, 250);
+
+ defineFeature('landuse', function isLanduse(entity, resolver, geometry) {
+ return geometry === 'area' &&
+ !_features.buildings.filter(entity) &&
+ !_features.water.filter(entity);
+ });
+
+ defineFeature('boundaries', function isBoundary(entity) {
+ return (
+ !!entity.tags.boundary
+ ) && !(
+ traffic_roads[entity.tags.highway] ||
+ service_roads[entity.tags.highway] ||
+ paths[entity.tags.highway]
+ );
+ });
+
+ defineFeature('water', function isWater(entity) {
+ return (
+ !!entity.tags.waterway ||
+ entity.tags.natural === 'water' ||
+ entity.tags.natural === 'coastline' ||
+ entity.tags.natural === 'bay' ||
+ entity.tags.landuse === 'pond' ||
+ entity.tags.landuse === 'basin' ||
+ entity.tags.landuse === 'reservoir' ||
+ entity.tags.landuse === 'salt_pond'
+ );
+ });
+
+ defineFeature('rail', function isRail(entity) {
+ return (
+ !!entity.tags.railway ||
+ entity.tags.landuse === 'railway'
+ ) && !(
+ traffic_roads[entity.tags.highway] ||
+ service_roads[entity.tags.highway] ||
+ paths[entity.tags.highway]
+ );
+ });
+
+ defineFeature('power', function isPower(entity) {
+ return !!entity.tags.power;
+ });
+
+ // contains a past/future tag, but not in active use as a road/path/cycleway/etc..
+ defineFeature('past_future', function isPastFuture(entity) {
+ if (
+ traffic_roads[entity.tags.highway] ||
+ service_roads[entity.tags.highway] ||
+ paths[entity.tags.highway]
+ ) { return false; }
+
+ var strings = Object.keys(entity.tags);
+
+ for (var i = 0; i < strings.length; i++) {
+ var s = strings[i];
+ if (past_futures[s] || past_futures[entity.tags[s]]) { return true; }
+ }
+ return false;
+ });
+
+ // Lines or areas that don't match another feature filter.
+ // IMPORTANT: The 'others' feature must be the last one defined,
+ // so that code in getMatches can skip this test if `hasMatch = true`
+ defineFeature('others', function isOther(entity, resolver, geometry) {
+ return (geometry === 'line' || geometry === 'area');
+ });
+
+
+ function features() {}
+
+
+ features.features = function() {
+ return _features;
+ };
+
+
+ features.keys = function() {
+ return _keys;
+ };
+
+
+ features.enabled = function(k) {
+ if (!arguments.length) {
+ return _keys.filter(function(k) { return _features[k].enabled; });
+ }
+ return _features[k] && _features[k].enabled;
+ };
+
+
+ features.disabled = function(k) {
+ if (!arguments.length) {
+ return _keys.filter(function(k) { return !_features[k].enabled; });
+ }
+ return _features[k] && !_features[k].enabled;
+ };
+
+
+ features.hidden = function(k) {
+ if (!arguments.length) {
+ return _keys.filter(function(k) { return _features[k].hidden(); });
+ }
+ return _features[k] && _features[k].hidden();
+ };
+
+
+ features.autoHidden = function(k) {
+ if (!arguments.length) {
+ return _keys.filter(function(k) { return _features[k].autoHidden(); });
+ }
+ return _features[k] && _features[k].autoHidden();
+ };
+
+
+ features.enable = function(k) {
+ if (_features[k] && !_features[k].enabled) {
+ _features[k].enable();
+ update();
+ }
+ };
+
+
+ features.disable = function(k) {
+ if (_features[k] && _features[k].enabled) {
+ _features[k].disable();
+ update();
+ }
+ };
+
+
+ features.toggle = function(k) {
+ if (_features[k]) {
+ (function(f) { return f.enabled ? f.disable() : f.enable(); }(_features[k]));
+ update();
+ }
+ };
+
+
+ features.resetStats = function() {
+ for (var i = 0; i < _keys.length; i++) {
+ _features[_keys[i]].count = 0;
+ }
+ dispatch$$1.call('change');
+ };
+
+
+ features.gatherStats = function(d, resolver, dimensions) {
+ var needsRedraw = false,
+ type = groupBy(d, function(ent) { return ent.type; }),
+ entities = [].concat(type.relation || [], type.way || [], type.node || []),
+ currHidden, geometry, matches, i, j;
+
+ for (i = 0; i < _keys.length; i++) {
+ _features[_keys[i]].count = 0;
+ }
+
+ // adjust the threshold for point/building culling based on viewport size..
+ // a _cullFactor of 1 corresponds to a 1000x1000px viewport..
+ _cullFactor = dimensions[0] * dimensions[1] / 1000000;
+
+ for (i = 0; i < entities.length; i++) {
+ geometry = entities[i].geometry(resolver);
+ if (!(geometry === 'vertex' || geometry === 'relation')) {
+ matches = Object.keys(features.getMatches(entities[i], resolver, geometry));
+ for (j = 0; j < matches.length; j++) {
+ _features[matches[j]].count++;
+ }
+ }
+ }
+
+ currHidden = features.hidden();
+ if (currHidden !== _hidden) {
+ _hidden = currHidden;
+ needsRedraw = true;
+ dispatch$$1.call('change');
+ }
+
+ return needsRedraw;
+ };
+
+
+ features.stats = function() {
+ for (var i = 0; i < _keys.length; i++) {
+ _stats[_keys[i]] = _features[_keys[i]].count;
+ }
+
+ return _stats;
+ };
+
+
+ features.clear = function(d) {
+ for (var i = 0; i < d.length; i++) {
+ features.clearEntity(d[i]);
+ }
+ };
+
+
+ features.clearEntity = function(entity) {
+ delete _cache[osmEntity$$1.key(entity)];
+ };
+
+
+ features.reset = function() {
+ _cache = {};
+ };
+
+
+ features.getMatches = function(entity, resolver, geometry) {
+ if (geometry === 'vertex' || geometry === 'relation') return {};
+
+ var ent = osmEntity$$1.key(entity);
+ if (!_cache[ent]) {
+ _cache[ent] = {};
+ }
+
+ if (!_cache[ent].matches) {
+ var matches = {},
+ hasMatch = false;
+
+ for (var i = 0; i < _keys.length; i++) {
+ if (_keys[i] === 'others') {
+ if (hasMatch) continue;
+
+ // Multipolygon members:
+ // If an entity...
+ // 1. is a way that hasn't matched other 'interesting' feature rules,
+ // 2. and it belongs to a single parent multipolygon relation
+ // ...then match whatever feature rules the parent multipolygon has matched.
+ // see #2548, #2887
+ //
+ // IMPORTANT:
+ // For this to work, getMatches must be called on relations before ways.
+ //
+ if (entity.type === 'way') {
+ var parents = features.getParents(entity, resolver, geometry);
+ if (parents.length === 1 && parents[0].isMultipolygon()) {
+ var pkey = osmEntity$$1.key(parents[0]);
+ if (_cache[pkey] && _cache[pkey].matches) {
+ matches = clone(_cache[pkey].matches);
+ continue;
+ }
+ }
+ }
+ }
+
+ if (_features[_keys[i]].filter(entity, resolver, geometry)) {
+ matches[_keys[i]] = hasMatch = true;
+ }
+ }
+ _cache[ent].matches = matches;
+ }
+
+ return _cache[ent].matches;
+ };
+
+
+ features.getParents = function(entity, resolver, geometry) {
+ if (geometry === 'point') return [];
+
+ var ent = osmEntity$$1.key(entity);
+ if (!_cache[ent]) {
+ _cache[ent] = {};
+ }
+
+ if (!_cache[ent].parents) {
+ var parents = [];
+ if (geometry === 'vertex') {
+ parents = resolver.parentWays(entity);
+ } else { // 'line', 'area', 'relation'
+ parents = resolver.parentRelations(entity);
+ }
+ _cache[ent].parents = parents;
+ }
+ return _cache[ent].parents;
+ };
+
+
+ features.isHiddenFeature = function(entity, resolver, geometry) {
+ if (!_hidden.length) return false;
+ if (!entity.version) return false;
+
+ var matches = features.getMatches(entity, resolver, geometry);
+
+ for (var i = 0; i < _hidden.length; i++) {
+ if (matches[_hidden[i]]) return true;
+ }
+ return false;
+ };
+
+
+ features.isHiddenChild = function(entity, resolver, geometry) {
+ if (!_hidden.length) return false;
+ if (!entity.version || geometry === 'point') return false;
+
+ var parents = features.getParents(entity, resolver, geometry);
+ if (!parents.length) return false;
+
+ for (var i = 0; i < parents.length; i++) {
+ if (!features.isHidden(parents[i], resolver, parents[i].geometry(resolver))) {
+ return false;
+ }
+ }
+ return true;
+ };
+
+
+ features.hasHiddenConnections = function(entity, resolver) {
+ if (!_hidden.length) return false;
+ var childNodes, connections;
+
+ if (entity.type === 'midpoint') {
+ childNodes = [resolver.entity(entity.edge[0]), resolver.entity(entity.edge[1])];
+ connections = [];
+ } else {
+ childNodes = entity.nodes ? resolver.childNodes(entity) : [];
+ connections = features.getParents(entity, resolver, entity.geometry(resolver));
+ }
+
+ // gather ways connected to child nodes..
+ connections = reduce(childNodes, function(result, e) {
+ return resolver.isShared(e) ? union(result, resolver.parentWays(e)) : result;
+ }, connections);
+
+ return connections.length ? some(connections, function(e) {
+ return features.isHidden(e, resolver, e.geometry(resolver));
+ }) : false;
+ };
+
+
+ features.isHidden = function(entity, resolver, geometry) {
+ if (!_hidden.length) return false;
+ if (!entity.version) return false;
+
+ var fn = (geometry === 'vertex' ? features.isHiddenChild : features.isHiddenFeature);
+ return fn(entity, resolver, geometry);
+ };
+
+
+ features.filter = function(d, resolver) {
+ if (!_hidden.length) return d;
+
+ var result = [];
+ for (var i = 0; i < d.length; i++) {
+ var entity = d[i];
+ if (!features.isHidden(entity, resolver, entity.geometry(resolver))) {
+ result.push(entity);
+ }
+ }
+ return result;
+ };
+
+
+ features.init = function() {
+ var storage = context.storage('disabled-features');
+ if (storage) {
+ var storageDisabled = storage.replace(/;/g, ',').split(',');
+ storageDisabled.forEach(features.disable);
+ }
+
+ var q = utilStringQs(window.location.hash.substring(1));
+ if (q.disable_features) {
+ var hashDisabled = q.disable_features.replace(/;/g, ',').split(',');
+ hashDisabled.forEach(features.disable);
+ }
+ };
+
+ return utilRebind(features, dispatch$$1, 'on');
+ }
+
+ function utilBindOnce(target, type, listener, capture) {
+ var typeOnce = type + '.once';
+ function one() {
+ target.on(typeOnce, null);
+ listener.apply(this, arguments);
+ }
+ target.on(typeOnce, one, capture);
+ return this;
+ }
+
+ // constants
+ var TAU$1 = 2 * Math.PI;
+ var TILESIZE = 256;
+ var kMin = geoZoomToScale(2, TILESIZE);
+ var kMax = geoZoomToScale(24, TILESIZE);
+
+
+ function rendererMap(context) {
+ var dispatch$$1 = dispatch('move', 'drawn');
+ var projection = context.projection;
+ var curtainProjection = context.curtainProjection;
+ var drawLayers = svgLayers(projection, context);
+ var drawPoints = svgPoints$$1(projection, context);
+ var drawVertices = svgVertices$$1(projection, context);
+ var drawLines = svgLines$$1(projection, context);
+ var drawAreas = svgAreas$$1(projection, context);
+ var drawMidpoints = svgMidpoints$$1(projection, context);
+ var drawLabels = svgLabels(projection, context);
+
+ var _selection = select(null);
+ var supersurface = select(null);
+ var wrapper = select(null);
+ var surface = select(null);
+
+ var dimensions = [1, 1];
+ var dblclickEnabled = true;
+ var redrawEnabled = true;
+ var transformStart = projection.transform();
+ var transformLast;
+ var transformed = false;
+ var minzoom = 0;
+ var mouse$$1;
+ var mousemove;
+
+ var zoom$$1 = d3_zoom()
+ .scaleExtent([kMin, kMax])
+ .interpolate(interpolate)
+ .filter(zoomEventFilter)
+ .on('zoom', zoomPan);
+
+ var scheduleRedraw = throttle(redraw, 750);
+ // var isRedrawScheduled = false;
+ // var pendingRedrawCall;
+ // function scheduleRedraw() {
+ // // Only schedule the redraw if one has not already been set.
+ // if (isRedrawScheduled) return;
+ // isRedrawScheduled = true;
+ // var that = this;
+ // var args = arguments;
+ // pendingRedrawCall = window.requestIdleCallback(function () {
+ // // Reset the boolean so future redraws can be set.
+ // isRedrawScheduled = false;
+ // redraw.apply(that, args);
+ // }, { timeout: 1400 });
+ // }
+
+ function cancelPendingRedraw() {
+ scheduleRedraw.cancel();
+ // isRedrawScheduled = false;
+ // window.cancelIdleCallback(pendingRedrawCall);
+ }
+
+
+ function map(selection$$1) {
+ _selection = selection$$1;
+
+ context
+ .on('change.map', immediateRedraw);
+
+ var osm = context.connection();
+ if (osm) {
+ osm.on('change.map', immediateRedraw);
+ }
+
+ context.history()
+ .on('change.map', immediateRedraw)
+ .on('undone.map redone.map', function(stack) {
+ var mode = context.mode().id;
+ if (mode !== 'browse' && mode !== 'select') return;
+
+ var followSelected = false;
+ if (Array.isArray(stack.selectedIDs)) {
+ followSelected = (stack.selectedIDs.length === 1 && stack.selectedIDs[0][0] === 'n');
+ context.enter(
+ modeSelect(context, stack.selectedIDs).follow(followSelected)
+ );
+ }
+ if (!followSelected && stack.transform) {
+ map.transformEase(stack.transform);
+ }
+ });
+
+ context.background()
+ .on('change.map', immediateRedraw);
+
+ context.features()
+ .on('redraw.map', immediateRedraw);
+
+ drawLayers
+ .on('change.map', function() {
+ context.background().updateImagery();
+ immediateRedraw();
+ });
+
+ selection$$1
+ .on('dblclick.map', dblClick)
+ .call(zoom$$1)
+ .call(zoom$$1.transform, projection.transform());
+
+ supersurface = selection$$1.append('div')
+ .attr('id', 'supersurface')
+ .call(utilSetTransform, 0, 0);
+
+ // Need a wrapper div because Opera can't cope with an absolutely positioned
+ // SVG element: http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
+ wrapper = supersurface
+ .append('div')
+ .attr('class', 'layer layer-data');
+
+ map.surface = surface = wrapper
+ .call(drawLayers)
+ .selectAll('.surface')
+ .attr('id', 'surface');
+
+ surface
+ .call(drawLabels.observe)
+ .on('mousedown.zoom', function() {
+ if (event.button === 2) {
+ event.stopPropagation();
+ }
+ }, true)
+ .on('mouseup.zoom', function() {
+ if (resetTransform()) immediateRedraw();
+ })
+ .on('mousemove.map', function() {
+ mousemove = event;
+ })
+ .on('mouseover.vertices', function() {
+ if (map.editable() && !transformed) {
+ var hover = event.target.__data__;
+ surface.selectAll('.data-layer-osm')
+ .call(drawVertices.drawHover, context.graph(), hover, map.extent());
+ dispatch$$1.call('drawn', this, { full: false });
+ }
+ })
+ .on('mouseout.vertices', function() {
+ if (map.editable() && !transformed) {
+ var hover = event.relatedTarget && event.relatedTarget.__data__;
+ surface.selectAll('.data-layer-osm')
+ .call(drawVertices.drawHover, context.graph(), hover, map.extent());
+ dispatch$$1.call('drawn', this, { full: false });
+ }
+ });
+
+ supersurface
+ .call(context.background());
+
+ context.on('enter.map', function() {
+ if (map.editable() && !transformed) {
+
+ // redraw immediately any objects affected by a change in selectedIDs.
+ var graph = context.graph();
+ var selectedAndParents = {};
+ context.selectedIDs().forEach(function(id) {
+ var entity = graph.hasEntity(id);
+ if (entity) {
+ selectedAndParents[entity.id] = entity;
+ if (entity.type === 'node') {
+ graph.parentWays(entity).forEach(function(parent) {
+ selectedAndParents[parent.id] = parent;
+ });
+ }
+ }
+ });
+ var data = values$1(selectedAndParents);
+ var filter = function(d) { return d.id in selectedAndParents; };
+
+ data = context.features().filter(data, graph);
+
+ surface.selectAll('.data-layer-osm')
+ .call(drawVertices.drawSelected, graph, map.extent())
+ .call(drawLines, graph, data, filter)
+ .call(drawAreas, graph, data, filter)
+ .call(drawMidpoints, graph, data, filter, map.trimmedExtent());
+
+ dispatch$$1.call('drawn', this, { full: false });
+
+
+ // redraw everything else later
+ scheduleRedraw();
+ }
+ });
+
+ map.dimensions(utilGetDimensions(selection$$1));
+ }
+
+
+ function zoomEventFilter() {
+ // Fix for #2151, (see also d3/d3-zoom#60, d3/d3-brush#18)
+ // Intercept `mousedown` and check if there is an orphaned zoom gesture.
+ // This can happen if a previous `mousedown` occurred without a `mouseup`.
+ // If we detect this, dispatch `mouseup` to complete the orphaned gesture,
+ // so that d3-zoom won't stop propagation of new `mousedown` events.
+ if (event.type === 'mousedown') {
+ var hasOrphan = false;
+ var listeners = window.__on;
+ for (var i = 0; i < listeners.length; i++) {
+ var listener = listeners[i];
+ if (listener.name === 'zoom' && listener.type === 'mouseup') {
+ hasOrphan = true;
+ break;
+ }
+ }
+ if (hasOrphan) {
+ var event$$1 = window.CustomEvent;
+ if (event$$1) {
+ event$$1 = new event$$1('mouseup');
+ } else {
+ event$$1 = window.document.createEvent('Event');
+ event$$1.initEvent('mouseup', false, false);
+ }
+ // Event needs to be dispatched with an event.view property.
+ event$$1.view = window;
+ window.dispatchEvent(event$$1);
+ }
+ }
+
+ return event.button !== 2; // ignore right clicks
+ }
+
+
+ function pxCenter() {
+ return [dimensions[0] / 2, dimensions[1] / 2];
+ }
+
+
+ function drawVector(difference, extent) {
+ var mode = context.mode();
+ var graph = context.graph();
+ var features = context.features();
+ var all = context.intersects(map.extent());
+ var fullRedraw = false;
+ var data;
+ var filter;
+
+ if (difference) {
+ var complete = difference.complete(map.extent());
+ data = compact(values$1(complete));
+ filter = function(d) { return d.id in complete; };
+ features.clear(data);
+
+ } else {
+ // force a full redraw if gatherStats detects that a feature
+ // should be auto-hidden (e.g. points or buildings)..
+ if (features.gatherStats(all, graph, dimensions)) {
+ extent = undefined;
+ }
+
+ if (extent) {
+ data = context.intersects(map.extent().intersection(extent));
+ var set$$1 = set$2(map$3(data, 'id'));
+ filter = function(d) { return set$$1.has(d.id); };
+
+ } else {
+ data = all;
+ fullRedraw = true;
+ filter = utilFunctor(true);
+ }
+ }
+
+ data = features.filter(data, graph);
+
+ if (mode && mode.id === 'select') {
+ // update selected vertices - the user might have just double-clicked a way,
+ // creating a new vertex, triggering a partial redraw without a mode change
+ surface.selectAll('.data-layer-osm')
+ .call(drawVertices.drawSelected, graph, map.extent());
+ }
+
+ surface.selectAll('.data-layer-osm')
+ .call(drawVertices, graph, data, filter, map.extent(), fullRedraw)
+ .call(drawLines, graph, data, filter)
+ .call(drawAreas, graph, data, filter)
+ .call(drawMidpoints, graph, data, filter, map.trimmedExtent())
+ .call(drawLabels, graph, data, filter, dimensions, fullRedraw)
+ .call(drawPoints, graph, data, filter);
+
+ dispatch$$1.call('drawn', this, {full: true});
+ }
+
+
+ function editOff() {
+ context.features().resetStats();
+ surface.selectAll('.layer-osm *').remove();
+
+ var mode = context.mode();
+ if (mode && mode.id !== 'save') {
+ context.enter(modeBrowse(context));
+ }
+
+ dispatch$$1.call('drawn', this, {full: true});
+ }
+
+
+ function dblClick() {
+ if (!dblclickEnabled) {
+ event.preventDefault();
+ event.stopImmediatePropagation();
+ }
+ }
+
+
+ function zoomPan(manualEvent) {
+ var event$$1 = (manualEvent || event);
+ var source = event$$1.sourceEvent;
+ var eventTransform = event$$1.transform;
+
+ if (transformStart.x === eventTransform.x &&
+ transformStart.y === eventTransform.y &&
+ transformStart.k === eventTransform.k) {
+ return; // no change
+ }
+
+ // Normalize mousewheel - #3029
+ // If wheel delta is provided in LINE units, recalculate it in PIXEL units
+ // We are essentially redoing the calculations that occur here:
+ // https://github.com/d3/d3-zoom/blob/78563a8348aa4133b07cac92e2595c2227ca7cd7/src/zoom.js#L203
+ // See this for more info:
+ // https://github.com/basilfx/normalize-wheel/blob/master/src/normalizeWheel.js
+ if (source && source.type === 'wheel' && source.deltaMode === 1 /* LINE */) {
+ // pick sensible scroll amount if user scrolling fast or slow..
+ var lines = Math.abs(source.deltaY);
+ var scroll = lines > 2 ? 40 : lines * 10;
+
+ var t0 = transformed ? transformLast : transformStart;
+ var p0 = mouse$$1(source);
+ var p1 = t0.invert(p0);
+ var k2 = t0.k * Math.pow(2, -source.deltaY * scroll / 500);
+ var x2 = p0[0] - p1[0] * k2;
+ var y2 = p0[1] - p1[1] * k2;
+
+ eventTransform = identity$7.translate(x2,y2).scale(k2);
+ _selection.node().__zoom = eventTransform;
+ }
+
+ if (geoScaleToZoom(eventTransform.k, TILESIZE) < minzoom) {
+ surface.interrupt();
+ uiFlash().text(t('cannot_zoom'))();
+ setZoom(context.minEditableZoom(), true);
+ scheduleRedraw();
+ dispatch$$1.call('move', this, map);
+ return;
+ }
+
+ projection.transform(eventTransform);
+
+ var scale = eventTransform.k / transformStart.k;
+ var tX = (eventTransform.x / scale - transformStart.x) * scale;
+ var tY = (eventTransform.y / scale - transformStart.y) * scale;
+
+ if (context.inIntro()) {
+ curtainProjection.transform({
+ x: eventTransform.x - tX,
+ y: eventTransform.y - tY,
+ k: eventTransform.k
+ });
+ }
+
+ if (source) mousemove = event$$1;
+ transformed = true;
+ transformLast = eventTransform;
+ utilSetTransform(supersurface, tX, tY, scale);
+ scheduleRedraw();
+
+ dispatch$$1.call('move', this, map);
+ }
+
+
+ function resetTransform() {
+ if (!transformed) return false;
+
+ // deprecation warning - Radial Menu to be removed in iD v3
+ surface.selectAll('.edit-menu, .radial-menu').interrupt().remove();
+ utilSetTransform(supersurface, 0, 0);
+ transformed = false;
+ if (context.inIntro()) {
+ curtainProjection.transform(projection.transform());
+ }
+ return true;
+ }
+
+
+ function redraw(difference, extent) {
+ if (surface.empty() || !redrawEnabled) return;
+
+ // If we are in the middle of a zoom/pan, we can't do differenced redraws.
+ // It would result in artifacts where differenced entities are redrawn with
+ // one transform and unchanged entities with another.
+ if (resetTransform()) {
+ difference = extent = undefined;
+ }
+
+ var z = String(~~map.zoom());
+ if (surface.attr('data-zoom') !== z) {
+ surface.attr('data-zoom', z)
+ .classed('low-zoom', z <= 16);
+ }
+
+ if (!difference) {
+ supersurface.call(context.background());
+ }
+
+ wrapper
+ .call(drawLayers);
+
+ // OSM
+ if (map.editable()) {
+ context.loadTiles(projection, dimensions);
+ drawVector(difference, extent);
+ } else {
+ editOff();
+ }
+
+ transformStart = projection.transform();
+
+ return map;
+ }
+
+
+
+ var immediateRedraw = function(difference, extent) {
+ if (!difference && !extent) cancelPendingRedraw();
+ redraw(difference, extent);
+ };
+
+
+ map.mouse = function() {
+ var event$$1 = mousemove || event;
+ if (event$$1) {
+ var s;
+ while ((s = event$$1.sourceEvent)) { event$$1 = s; }
+ return mouse$$1(event$$1);
+ }
+ return null;
+ };
+
+
+ // returns Lng/Lat
+ map.mouseCoordinates = function() {
+ var coord = map.mouse() || pxCenter();
+ return projection.invert(coord);
+ };
+
+
+ map.dblclickEnable = function(_) {
+ if (!arguments.length) return dblclickEnabled;
+ dblclickEnabled = _;
+ return map;
+ };
+
+
+ map.redrawEnable = function(_) {
+ if (!arguments.length) return redrawEnabled;
+ redrawEnabled = _;
+ return map;
+ };
+
+
+ function setTransform(t2, duration, force) {
+ var t$$1 = projection.transform();
+ if (!force && t2.k === t$$1.k && t2.x === t$$1.x && t2.y === t$$1.y) {
+ return false;
+ }
+
+ if (duration) {
+ _selection
+ .transition()
+ .duration(duration)
+ .on('start', function() { map.startEase(); })
+ .call(zoom$$1.transform, identity$7.translate(t2.x, t2.y).scale(t2.k));
+ } else {
+ projection.transform(t2);
+ transformStart = t2;
+ _selection.call(zoom$$1.transform, transformStart);
+ }
+ }
+
+
+ function setZoom(z2, force, duration) {
+ if (z2 === map.zoom() && !force) {
+ return false;
+ }
+
+ var k = projection.scale();
+ var k2 = Math.max(kMin, Math.min(kMax, geoZoomToScale(z2, TILESIZE)));
+ var center = pxCenter();
+ var l = pointLocation(center);
+
+ projection.scale(k2);
+
+ var t$$1 = projection.translate();
+ l = locationPoint(l);
+
+ t$$1[0] += center[0] - l[0];
+ t$$1[1] += center[1] - l[1];
+
+ if (duration) {
+ projection.scale(k); // reset scale
+ _selection
+ .transition()
+ .duration(duration)
+ .on('start', function() { map.startEase(); })
+ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k2));
+ } else {
+ projection.translate(t$$1);
+ transformStart = projection.transform();
+ _selection.call(zoom$$1.transform, transformStart);
+ }
+
+ return true;
+
+
+ function locationPoint(l) {
+ var translate = projection.translate();
+ var scale = projection.scale() * TAU$1;
+ return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
+ }
+
+ function pointLocation(p) {
+ var translate = projection.translate();
+ var scale = projection.scale() * TAU$1;
+ return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
+ }
+ }
+
+
+ function setCenter(loc2, duration) {
+ var c = map.center();
+ if (loc2[0] === c[0] && loc2[1] === c[1]) {
+ return false;
+ }
+
+ var t$$1 = projection.translate();
+ var k = projection.scale();
+ var pxC = pxCenter();
+ var ll = projection(loc2);
+
+ t$$1[0] = t$$1[0] - ll[0] + pxC[0];
+ t$$1[1] = t$$1[1] - ll[1] + pxC[1];
+
+ if (duration) {
+ _selection
+ .transition()
+ .duration(duration)
+ .on('start', function() { map.startEase(); })
+ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k));
+ } else {
+ projection.translate(t$$1);
+ transformStart = projection.transform();
+ _selection.call(zoom$$1.transform, transformStart);
+ }
+
+ return true;
+ }
+
+
+ map.pan = function(delta, duration) {
+ var t$$1 = projection.translate();
+ var k = projection.scale();
+
+ t$$1[0] += delta[0];
+ t$$1[1] += delta[1];
+
+ if (duration) {
+ _selection
+ .transition()
+ .duration(duration)
+ .on('start', function() { map.startEase(); })
+ .call(zoom$$1.transform, identity$7.translate(t$$1[0], t$$1[1]).scale(k));
+ } else {
+ projection.translate(t$$1);
+ transformStart = projection.transform();
+ _selection.call(zoom$$1.transform, transformStart);
+ dispatch$$1.call('move', this, map);
+ immediateRedraw();
+ }
+
+ return map;
+ };
+
+
+ map.dimensions = function(_) {
+ if (!arguments.length) return dimensions;
+ var center = map.center();
+ dimensions = _;
+ drawLayers.dimensions(dimensions);
+ context.background().dimensions(dimensions);
+ projection.clipExtent([[0, 0], dimensions]);
+ mouse$$1 = utilFastMouse(supersurface.node());
+ setCenter(center);
+
+ scheduleRedraw();
+ return map;
+ };
+
+
+ function zoomIn(delta) {
+ setZoom(~~map.zoom() + delta, true, 250);
+ }
+
+ function zoomOut(delta) {
+ setZoom(~~map.zoom() - delta, true, 250);
+ }
+
+ map.zoomIn = function() { zoomIn(1); };
+ map.zoomInFurther = function() { zoomIn(4); };
+
+ map.zoomOut = function() { zoomOut(1); };
+ map.zoomOutFurther = function() { zoomOut(4); };
+
+
+ map.center = function(loc2) {
+ if (!arguments.length) {
+ return projection.invert(pxCenter());
+ }
+
+ if (setCenter(loc2)) {
+ dispatch$$1.call('move', this, map);
+ }
+
+ scheduleRedraw();
+ return map;
+ };
+
+
+ map.zoom = function(z2) {
+ if (!arguments.length) {
+ return Math.max(geoScaleToZoom(projection.scale(), TILESIZE), 0);
+ }
+
+ if (z2 < minzoom) {
+ surface.interrupt();
+ uiFlash().text(t('cannot_zoom'))();
+ z2 = context.minEditableZoom();
+ }
+
+ if (setZoom(z2)) {
+ dispatch$$1.call('move', this, map);
+ }
+
+ scheduleRedraw();
+ return map;
+ };
+
+
+ map.zoomTo = function(entity, zoomLimits) {
+ var extent = entity.extent(context.graph());
+ if (!isFinite(extent.area())) return;
+
+ var z2 = map.trimmedExtentZoom(extent);
+ zoomLimits = zoomLimits || [context.minEditableZoom(), 24];
+ map.centerZoom(extent.center(), Math.min(Math.max(z2, zoomLimits[0]), zoomLimits[1]));
+ };
+
+
+ map.centerZoom = function(loc2, z2) {
+ var centered = setCenter(loc2);
+ var zoomed = setZoom(z2);
+
+ if (centered || zoomed) {
+ dispatch$$1.call('move', this, map);
+ }
+
+ scheduleRedraw();
+ return map;
+ };
+
+
+ map.centerEase = function(loc2, duration) {
+ duration = duration || 250;
+ setCenter(loc2, duration);
+ return map;
+ };
+
+
+ map.zoomEase = function(z2, duration) {
+ duration = duration || 250;
+ setZoom(z2, false, duration);
+ return map;
+ };
+
+
+ map.transformEase = function(t2, duration) {
+ duration = duration || 250;
+ setTransform(t2, duration, false);
+ return map;
+ };
+
+
+ map.startEase = function() {
+ utilBindOnce(surface, 'mousedown.ease', function() {
+ map.cancelEase();
+ });
+ return map;
+ };
+
+
+ map.cancelEase = function() {
+ _selection.interrupt();
+ return map;
+ };
+
+
+ map.extent = function(_) {
+ if (!arguments.length) {
+ return new geoExtent$$1(
+ projection.invert([0, dimensions[1]]),
+ projection.invert([dimensions[0], 0])
+ );
+ } else {
+ var extent = geoExtent$$1(_);
+ map.centerZoom(extent.center(), map.extentZoom(extent));
+ }
+ };
+
+
+ map.trimmedExtent = function(_) {
+ if (!arguments.length) {
+ var headerY = 60;
+ var footerY = 30;
+ var pad = 10;
+ return new geoExtent$$1(
+ projection.invert([pad, dimensions[1] - footerY - pad]),
+ projection.invert([dimensions[0] - pad, headerY + pad])
+ );
+ } else {
+ var extent = geoExtent$$1(_);
+ map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+ }
+ };
+
+
+ function calcZoom(extent, dim) {
+ var tl = projection([extent[0][0], extent[1][1]]);
+ var br = projection([extent[1][0], extent[0][1]]);
+
+ // Calculate maximum zoom that fits extent
+ var hFactor = (br[0] - tl[0]) / dim[0];
+ var vFactor = (br[1] - tl[1]) / dim[1];
+ var hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2;
+ var vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2;
+ var newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
+
+ return newZoom;
+ }
+
+
+ map.extentZoom = function(_) {
+ return calcZoom(geoExtent$$1(_), dimensions);
+ };
+
+
+ map.trimmedExtentZoom = function(_) {
+ var trimY = 120;
+ var trimX = 40;
+ var trimmed = [dimensions[0] - trimX, dimensions[1] - trimY];
+ return calcZoom(geoExtent$$1(_), trimmed);
+ };
+
+
+ map.editable = function() {
+ var osmLayer = surface.selectAll('.data-layer-osm');
+ if (!osmLayer.empty() && osmLayer.classed('disabled')) return false;
+
+ return map.zoom() >= context.minEditableZoom();
+ };
+
+
+ map.minzoom = function(_) {
+ if (!arguments.length) return minzoom;
+ minzoom = _;
+ return map;
+ };
+
+
+ map.layers = drawLayers;
+
+
+ return utilRebind(map, dispatch$$1, 'on');
+ }
+
+ function uiMapInMap(context) {
+
+ function map_in_map(selection$$1) {
+ var backgroundLayer = rendererTileLayer(context);
+ var overlayLayers = {};
+ var projection$$1 = geoRawMercator();
+ var gpxLayer = svgGpx$$1(projection$$1, context).showLabels(false);
+ var debugLayer = svgDebug$$1(projection$$1, context);
+ var zoom$$1 = d3_zoom()
+ .scaleExtent([geoZoomToScale(0.5), geoZoomToScale(24)])
+ .on('start', zoomStarted)
+ .on('zoom', zoomed)
+ .on('end', zoomEnded);
+ var isTransformed = false;
+ var isHidden = true;
+ var skipEvents = false;
+ var gesture = null;
+ var zDiff = 6; // by default, minimap renders at (main zoom - 6)
+ var wrap = select(null);
+ var tiles = select(null);
+ var viewport = select(null);
+ var tStart; // transform at start of gesture
+ var tCurr; // transform at most recent event
+ var timeoutId;
+
+
+ function zoomStarted() {
+ if (skipEvents) return;
+ tStart = tCurr = projection$$1.transform();
+ gesture = null;
+ }
+
+
+ function zoomed() {
+ if (skipEvents) return;
+
+ var x = event.transform.x;
+ var y = event.transform.y;
+ var k = event.transform.k;
+ var isZooming = (k !== tStart.k);
+ var isPanning = (x !== tStart.x || y !== tStart.y);
+
+ if (!isZooming && !isPanning) {
+ return; // no change
+ }
+
+ // lock in either zooming or panning, don't allow both in minimap.
+ if (!gesture) {
+ gesture = isZooming ? 'zoom' : 'pan';
+ }
+
+ var tMini = projection$$1.transform();
+ var tX, tY, scale;
+
+ if (gesture === 'zoom') {
+ var dMini = utilGetDimensions(wrap);
+ var cMini = geoVecScale(dMini, 0.5);
+ scale = k / tMini.k;
+ tX = (cMini[0] / scale - cMini[0]) * scale;
+ tY = (cMini[1] / scale - cMini[1]) * scale;
+ } else {
+ k = tMini.k;
+ scale = 1;
+ tX = x - tMini.x;
+ tY = y - tMini.y;
+ }
+
+ utilSetTransform(tiles, tX, tY, scale);
+ utilSetTransform(viewport, 0, 0, scale);
+ isTransformed = true;
+ tCurr = identity$7.translate(x, y).scale(k);
+
+ var zMain = geoScaleToZoom(context.projection.scale());
+ var zMini = geoScaleToZoom(k);
+
+ zDiff = zMain - zMini;
+
+ queueRedraw();
+ }
+
+
+ function zoomEnded() {
+ if (skipEvents) return;
+ if (gesture !== 'pan') return;
+
+ updateProjection();
+ gesture = null;
+ var dMini = utilGetDimensions(wrap);
+ var cMini = geoVecScale(dMini, 0.5);
+ context.map().center(projection$$1.invert(cMini)); // recenter main map..
+ }
+
+
+ function updateProjection() {
+ var loc = context.map().center();
+ var dMini = utilGetDimensions(wrap);
+ var cMini = geoVecScale(dMini, 0.5);
+ var tMain = context.projection.transform();
+ var zMain = geoScaleToZoom(tMain.k);
+ var zMini = Math.max(zMain - zDiff, 0.5);
+ var kMini = geoZoomToScale(zMini);
+
+ projection$$1
+ .translate([tMain.x, tMain.y])
+ .scale(kMini);
+
+ var point$$1 = projection$$1(loc);
+ var mouse$$1 = (gesture === 'pan') ? geoVecSubtract([tCurr.x, tCurr.y], [tStart.x, tStart.y]) : [0, 0];
+ var xMini = cMini[0] - point$$1[0] + tMain.x + mouse$$1[0];
+ var yMini = cMini[1] - point$$1[1] + tMain.y + mouse$$1[1];
+
+ projection$$1
+ .translate([xMini, yMini])
+ .clipExtent([[0, 0], dMini]);
+
+ tCurr = projection$$1.transform();
+
+ if (isTransformed) {
+ utilSetTransform(tiles, 0, 0);
+ utilSetTransform(viewport, 0, 0);
+ isTransformed = false;
+ }
+
+ zoom$$1
+ .scaleExtent([geoZoomToScale(0.5), geoZoomToScale(zMain - 3)]);
+
+ skipEvents = true;
+ wrap.call(zoom$$1.transform, tCurr);
+ skipEvents = false;
+ }
+
+
+ function redraw() {
+ clearTimeout(timeoutId);
+ if (isHidden) return;
+
+ updateProjection();
+
+ var dMini = utilGetDimensions(wrap);
+ var zMini = geoScaleToZoom(projection$$1.scale());
+
+ // setup tile container
+ tiles = wrap
+ .selectAll('.map-in-map-tiles')
+ .data([0]);
+
+ tiles = tiles.enter()
+ .append('div')
+ .attr('class', 'map-in-map-tiles')
+ .merge(tiles);
+
+ // redraw background
+ backgroundLayer
+ .source(context.background().baseLayerSource())
+ .projection(projection$$1)
+ .dimensions(dMini);
+
+ var background = tiles
+ .selectAll('.map-in-map-background')
+ .data([0]);
+
+ background.enter()
+ .append('div')
+ .attr('class', 'map-in-map-background')
+ .merge(background)
+ .call(backgroundLayer);
+
+
+ // redraw overlay
+ var overlaySources = context.background().overlayLayerSources();
+ var activeOverlayLayers = [];
+ for (var i = 0; i < overlaySources.length; i++) {
+ if (overlaySources[i].validZoom(zMini)) {
+ if (!overlayLayers[i]) overlayLayers[i] = rendererTileLayer(context);
+ activeOverlayLayers.push(overlayLayers[i]
+ .source(overlaySources[i])
+ .projection(projection$$1)
+ .dimensions(dMini));
+ }
+ }
+
+ var overlay = tiles
+ .selectAll('.map-in-map-overlay')
+ .data([0]);
+
+ overlay = overlay.enter()
+ .append('div')
+ .attr('class', 'map-in-map-overlay')
+ .merge(overlay);
+
+
+ var overlays = overlay
+ .selectAll('div')
+ .data(activeOverlayLayers, function(d) { return d.source().name(); });
+
+ overlays.exit()
+ .remove();
+
+ overlays = overlays.enter()
+ .append('div')
+ .merge(overlays)
+ .each(function(layer) { select(this).call(layer); });
+
+
+ var dataLayers = tiles
+ .selectAll('.map-in-map-data')
+ .data([0]);
+
+ dataLayers.exit()
+ .remove();
+
+ dataLayers = dataLayers.enter()
+ .append('svg')
+ .attr('class', 'map-in-map-data')
+ .merge(dataLayers)
+ .call(gpxLayer)
+ .call(debugLayer);
+
+
+ // redraw viewport bounding box
+ if (gesture !== 'pan') {
+ var getPath = d3_geoPath(projection$$1);
+ var bbox = { type: 'Polygon', coordinates: [context.map().extent().polygon()] };
+
+ viewport = wrap.selectAll('.map-in-map-viewport')
+ .data([0]);
+
+ viewport = viewport.enter()
+ .append('svg')
+ .attr('class', 'map-in-map-viewport')
+ .merge(viewport);
+
+
+ var path = viewport.selectAll('.map-in-map-bbox')
+ .data([bbox]);
+
+ path.enter()
+ .append('path')
+ .attr('class', 'map-in-map-bbox')
+ .merge(path)
+ .attr('d', getPath)
+ .classed('thick', function(d) { return getPath.area(d) < 30; });
+ }
+ }
+
+
+ function queueRedraw() {
+ clearTimeout(timeoutId);
+ timeoutId = setTimeout(function() { redraw(); }, 750);
+ }
+
+
+ function toggle() {
+ if (event) event.preventDefault();
+
+ isHidden = !isHidden;
+
+ select('.minimap-toggle-item')
+ .classed('active', !isHidden)
+ .select('input')
+ .property('checked', !isHidden);
+
+ if (isHidden) {
+ wrap
+ .style('display', 'block')
+ .style('opacity', '1')
+ .transition()
+ .duration(200)
+ .style('opacity', '0')
+ .on('end', function() {
+ selection$$1.selectAll('.map-in-map')
+ .style('display', 'none');
+ });
+ } else {
+ wrap
+ .style('display', 'block')
+ .style('opacity', '0')
+ .transition()
+ .duration(200)
+ .style('opacity', '1')
+ .on('end', function() {
+ redraw();
+ });
+ }
+ }
+
+
+ uiMapInMap.toggle = toggle;
+
+ wrap = selection$$1.selectAll('.map-in-map')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'map-in-map')
+ .style('display', (isHidden ? 'none' : 'block'))
+ .call(zoom$$1)
+ .on('dblclick.zoom', null)
+ .merge(wrap);
+
+ context.map()
+ .on('drawn.map-in-map', function(drawn) {
+ if (drawn.full === true) {
+ redraw();
+ }
+ });
+
+ redraw();
+
+ var keybinding = d3keybinding('map-in-map')
+ .on(t('background.minimap.key'), toggle);
+
+ select(document)
+ .call(keybinding);
+ }
+
+ return map_in_map;
+ }
+
+ function uiBackground(context) {
+ var key = t('background.key');
+
+ var _customSource = context.background().findSource('custom');
+ var _previousBackground = context.background().findSource(context.storage('background-last-used-toggle'));
+ var _shown = false;
+
+ var _backgroundList = select(null);
+ var _overlayList = select(null);
+ var _displayOptionsContainer = select(null);
+ var _offsetContainer = select(null);
+
+ var backgroundDisplayOptions = uiBackgroundDisplayOptions(context);
+ var backgroundOffset = uiBackgroundOffset(context);
+
+
+ function setTooltips(selection$$1) {
+ selection$$1.each(function(d, i, nodes) {
+ var item = select(this).select('label');
+ var span = item.select('span');
+ var placement = (i < nodes.length / 2) ? 'bottom' : 'top';
+ var description = d.description();
+ var isOverflowing = (span.property('clientWidth') !== span.property('scrollWidth'));
+
+ if (d === _previousBackground) {
+ item.call(tooltip()
+ .placement(placement)
+ .html(true)
+ .title(function() {
+ var tip = '<div>' + t('background.switch') + '</div>';
+ return uiTooltipHtml(tip, uiCmd('⌘' + key));
+ })
+ );
+ } else if (description || isOverflowing) {
+ item.call(tooltip()
+ .placement(placement)
+ .title(description || d.name())
+ );
+ } else {
+ item.call(tooltip().destroy);
+ }
+ });
+ }
+
+
+ function updateLayerSelections(selection$$1) {
+ function active(d) {
+ return context.background().showsLayer(d);
+ }
+
+ selection$$1.selectAll('.layer')
+ .classed('active', active)
+ .classed('switch', function(d) { return d === _previousBackground; })
+ .call(setTooltips)
+ .selectAll('input')
+ .property('checked', active);
+ }
+
+
+ function chooseBackground(d) {
+ if (d.id === 'custom' && !d.template()) {
+ return editCustom();
+ }
+
+ event.preventDefault();
+ _previousBackground = context.background().baseLayerSource();
+ context.storage('background-last-used-toggle', _previousBackground.id);
+ context.storage('background-last-used', d.id);
+ context.background().baseLayerSource(d);
+ _backgroundList.call(updateLayerSelections);
+ document.activeElement.blur();
+ }
+
+
+ function editCustom() {
+ event.preventDefault();
+ var example = 'https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png';
+ var template = window.prompt(
+ t('background.custom_prompt', { example: example }),
+ _customSource.template() || example
+ );
+
+ if (template) {
+ context.storage('background-custom-template', template);
+ _customSource.template(template);
+ chooseBackground(_customSource);
+ } else {
+ _backgroundList.call(updateLayerSelections);
+ }
+ }
+
+
+ function chooseOverlay(d) {
+ event.preventDefault();
+ context.background().toggleOverlayLayer(d);
+ _overlayList.call(updateLayerSelections);
+ document.activeElement.blur();
+ }
+
+
+ function drawListItems(layerList, type, change, filter) {
+ var sources = context.background()
+ .sources(context.map().extent())
+ .filter(filter);
+
+ var layerLinks = layerList.selectAll('li.layer')
+ .data(sources, function(d) { return d.name(); });
+
+ layerLinks.exit()
+ .remove();
+
+ var enter = layerLinks.enter()
+ .append('li')
+ .attr('class', 'layer')
+ .classed('layer-custom', function(d) { return d.id === 'custom'; })
+ .classed('best', function(d) { return d.best(); });
+
+ enter.filter(function(d) { return d.id === 'custom'; })
+ .append('button')
+ .attr('class', 'layer-browse')
+ .call(tooltip()
+ .title(t('background.custom_button'))
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ )
+ .on('click', editCustom)
+ .call(svgIcon('#icon-edit'));
+
+ enter.filter(function(d) { return d.best(); })
+ .append('div')
+ .attr('class', 'best')
+ .call(tooltip()
+ .title(t('background.best_imagery'))
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ )
+ .append('span')
+ .html('★');
+
+ var label = enter
+ .append('label');
+
+ label
+ .append('input')
+ .attr('type', type)
+ .attr('name', 'layers')
+ .on('change', change);
+
+ label
+ .append('span')
+ .text(function(d) { return d.name(); });
+
+
+ layerList.selectAll('li.layer')
+ .sort(sortSources)
+ .style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
+
+ layerList
+ .call(updateLayerSelections);
+
+
+ function sortSources(a, b) {
+ return a.best() && !b.best() ? -1
+ : b.best() && !a.best() ? 1
+ : d3_descending(a.area(), b.area()) || ascending(a.name(), b.name()) || 0;
+ }
+ }
+
+
+ function renderBackgroundList(selection$$1) {
+
+ // the background list
+ var container = selection$$1.selectAll('.layer-background-list')
+ .data([0]);
+
+ _backgroundList = container.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-background-list')
+ .attr('dir', 'auto')
+ .merge(container);
+
+
+ // add minimap toggle below list
+ var minimapEnter = selection$$1.selectAll('.minimap-toggle-list')
+ .data([0])
+ .enter()
+ .append('ul')
+ .attr('class', 'layer-list minimap-toggle-list')
+ .append('li')
+ .attr('class', 'layer minimap-toggle-item');
+
+ var minimapLabelEnter = minimapEnter
+ .append('label')
+ .call(tooltip()
+ .html(true)
+ .title(uiTooltipHtml(t('background.minimap.tooltip'), t('background.minimap.key')))
+ .placement('top')
+ );
+
+ minimapLabelEnter
+ .append('input')
+ .attr('type', 'checkbox')
+ .on('change', function() {
+ event.preventDefault();
+ uiMapInMap.toggle();
+ });
+
+ minimapLabelEnter
+ .append('span')
+ .text(t('background.minimap.description'));
+
+
+ // "Info / Report a Problem" link
+ selection$$1.selectAll('.imagery-faq')
+ .data([0])
+ .enter()
+ .append('div')
+ .attr('class', 'imagery-faq')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .attr('href', 'https://github.com/openstreetmap/iD/blob/master/FAQ.md#how-can-i-report-an-issue-with-background-imagery')
+ .append('span')
+ .text(t('background.imagery_source_faq'));
+ }
+
+
+ function renderOverlayList(selection$$1) {
+ var container = selection$$1.selectAll('.layer-overlay-list')
+ .data([0]);
+
+ _overlayList = container.enter()
+ .append('ul')
+ .attr('class', 'layer-list layer-overlay-list')
+ .attr('dir', 'auto')
+ .merge(container);
+ }
+
+
+ function update() {
+ _backgroundList
+ .call(drawListItems, 'radio', chooseBackground, function(d) { return !d.isHidden() && !d.overlay; });
+
+ _overlayList
+ .call(drawListItems, 'checkbox', chooseOverlay, function(d) { return !d.isHidden() && d.overlay; });
+
+ _displayOptionsContainer
+ .call(backgroundDisplayOptions);
+
+ _offsetContainer
+ .call(backgroundOffset);
+ }
+
+
+ function quickSwitch() {
+ if (event) {
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ }
+ if (_previousBackground) {
+ chooseBackground(_previousBackground);
+ }
+ }
+
+
+ function background(selection$$1) {
+
+ function hidePane() {
+ setVisible(false);
+ }
+
+ function togglePane() {
+ if (event) event.preventDefault();
+ paneTooltip.hide(button);
+ setVisible(!button.classed('active'));
+ }
+
+ function setVisible(show) {
+ if (show !== _shown) {
+ button.classed('active', show);
+ _shown = show;
+
+ if (show) {
+ uiMapData.hidePane();
+ uiHelp.hidePane();
+ update();
+
+ pane
+ .style('display', 'block')
+ .style('right', '-300px')
+ .transition()
+ .duration(200)
+ .style('right', '0px');
+
+ } else {
+ pane
+ .style('display', 'block')
+ .style('right', '0px')
+ .transition()
+ .duration(200)
+ .style('right', '-300px')
+ .on('end', function() {
+ select(this).style('display', 'none');
+ });
+ }
+ }
+ }
+
+
+ var pane = selection$$1
+ .append('div')
+ .attr('class', 'fillL map-pane col4 hide');
+
+ var paneTooltip = tooltip()
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ .html(true)
+ .title(uiTooltipHtml(t('background.description'), key));
+
+ var button = selection$$1
+ .append('button')
+ .attr('tabindex', -1)
+ .on('click', togglePane)
+ .call(svgIcon('#icon-layers', 'light'))
+ .call(paneTooltip);
+
+
+ var heading = pane
+ .append('div')
+ .attr('class', 'pane-heading');
+
+ heading
+ .append('h2')
+ .text(t('background.title'));
+
+ heading
+ .append('button')
+ .on('click', function() { uiBackground.hidePane(); })
+ .call(svgIcon('#icon-close'));
+
+
+ var content = pane
+ .append('div')
+ .attr('class', 'pane-content');
+
+ // background list
+ content
+ .append('div')
+ .attr('class', 'background-background-list-container')
+ .call(uiDisclosure(context, 'background_list', true)
+ .title(t('background.backgrounds'))
+ .content(renderBackgroundList)
+ );
+
+ // overlay list
+ content
+ .append('div')
+ .attr('class', 'background-overlay-list-container')
+ .call(uiDisclosure(context, 'overlay_list', true)
+ .title(t('background.overlays'))
+ .content(renderOverlayList)
+ );
+
+ // display options
+ _displayOptionsContainer = content
+ .append('div')
+ .attr('class', 'background-display-options');
+
+ // offset controls
+ _offsetContainer = content
+ .append('div')
+ .attr('class', 'background-offset');
+
+
+ // add listeners
+ context.map()
+ .on('move.background-update', debounce(utilCallWhenIdle(update), 1000));
+
+ context.background()
+ .on('change.background-update', update);
+
+
+ update();
+
+ var keybinding = d3keybinding('background')
+ .on(key, togglePane)
+ .on(uiCmd('⌘' + key), quickSwitch)
+ .on([t('map_data.key'), t('help.key')], hidePane);
+
+ select(document)
+ .call(keybinding);
+
+ uiBackground.hidePane = hidePane;
+ uiBackground.togglePane = togglePane;
+ uiBackground.setVisible = setVisible;
+ }
+
+ return background;
+ }
+
+ function uiContributors(context) {
+ var osm = context.connection(),
+ debouncedUpdate = debounce(function() { update(); }, 1000),
+ limit = 4,
+ hidden = false,
+ wrap = select(null);
+
+
+ function update() {
+ if (!osm) return;
+
+ var users = {},
+ entities = context.intersects(context.map().extent());
+
+ entities.forEach(function(entity) {
+ if (entity && entity.user) users[entity.user] = true;
+ });
+
+ var u = Object.keys(users),
+ subset = u.slice(0, u.length > limit ? limit - 1 : limit);
+
+ wrap.html('')
+ .call(svgIcon('#icon-nearby', 'pre-text light'));
+
+ var userList = select(document.createElement('span'));
+
+ userList.selectAll()
+ .data(subset)
+ .enter()
+ .append('a')
+ .attr('class', 'user-link')
+ .attr('href', function(d) { return osm.userURL(d); })
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .text(String);
+
+ if (u.length > limit) {
+ var count = select(document.createElement('span'));
+
+ count.append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', function() {
+ return osm.changesetsURL(context.map().center(), context.map().zoom());
+ })
+ .text(u.length - limit + 1);
+
+ wrap.append('span')
+ .html(t('contributors.truncated_list', { users: userList.html(), count: count.html() }));
+
+ } else {
+ wrap.append('span')
+ .html(t('contributors.list', { users: userList.html() }));
+ }
+
+ if (!u.length) {
+ hidden = true;
+ wrap
+ .transition()
+ .style('opacity', 0);
+
+ } else if (hidden) {
+ wrap
+ .transition()
+ .style('opacity', 1);
+ }
+ }
+
+
+ return function(selection$$1) {
+ if (!osm) return;
+ wrap = selection$$1;
+ update();
+
+ osm.on('loaded.contributors', debouncedUpdate);
+ context.map().on('move.contributors', debouncedUpdate);
+ };
+ }
+
+ function uiFeatureInfo(context) {
+ function update(selection$$1) {
+ var features = context.features(),
+ stats = features.stats(),
+ count = 0,
+ hiddenList = compact(map$3(features.hidden(), function(k) {
+ if (stats[k]) {
+ count += stats[k];
+ return String(stats[k]) + ' ' + t('feature.' + k + '.description');
+ }
+ }));
+
+ selection$$1.html('');
+
+ if (hiddenList.length) {
+ var tooltipBehavior = tooltip()
+ .placement('top')
+ .html(true)
+ .title(function() {
+ return uiTooltipHtml(hiddenList.join('<br/>'));
+ });
+
+ var warning = selection$$1.append('a')
+ .attr('href', '#')
+ .attr('tabindex', -1)
+ .html(t('feature_info.hidden_warning', { count: count }))
+ .call(tooltipBehavior)
+ .on('click', function() {
+ tooltipBehavior.hide(warning);
+ // open map data panel?
+ event.preventDefault();
+ });
+ }
+
+ selection$$1
+ .classed('hide', !hiddenList.length);
+ }
+
+
+ return function(selection$$1) {
+ update(selection$$1);
+
+ context.features().on('change.feature_info', function() {
+ update(selection$$1);
+ });
+ };
+ }
+
+ function uiFullScreen(context) {
+ var element = context.container().node(),
+ keybinding = d3keybinding('full-screen');
+ // button;
+
+
+ function getFullScreenFn() {
+ if (element.requestFullscreen) {
+ return element.requestFullscreen;
+ } else if (element.msRequestFullscreen) {
+ return element.msRequestFullscreen;
+ } else if (element.mozRequestFullScreen) {
+ return element.mozRequestFullScreen;
+ } else if (element.webkitRequestFullscreen) {
+ return element.webkitRequestFullscreen;
+ }
+ }
+
+
+ function getExitFullScreenFn() {
+ if (document.exitFullscreen) {
+ return document.exitFullscreen;
+ } else if (document.msExitFullscreen) {
+ return document.msExitFullscreen;
+ } else if (document.mozCancelFullScreen) {
+ return document.mozCancelFullScreen;
+ } else if (document.webkitExitFullscreen) {
+ return document.webkitExitFullscreen;
+ }
+ }
+
+
+ function isFullScreen() {
+ return document.fullscreenElement ||
+ document.mozFullScreenElement ||
+ document.webkitFullscreenElement ||
+ document.msFullscreenElement;
+ }
+
+
+ function isSupported() {
+ return !!getFullScreenFn();
+ }
+
+
+ function fullScreen() {
+ event.preventDefault();
+ if (!isFullScreen()) {
+ // button.classed('active', true);
+ getFullScreenFn().apply(element);
+ } else {
+ // button.classed('active', false);
+ getExitFullScreenFn().apply(document);
+ }
+ }
+
+
+ return function() { // selection) {
+ if (!isSupported())
+ return;
+
+ // button = selection.append('button')
+ // .attr('title', t('full_screen'))
+ // .attr('tabindex', -1)
+ // .on('click', fullScreen)
+ // .call(tooltip);
+
+ // button.append('span')
+ // .attr('class', 'icon full-screen');
+
+ var detected = utilDetect();
+ var keys = detected.os === 'mac' ? [uiCmd('⌃⌘F'), 'f11'] : ['f11'];
+ keybinding.on(keys, fullScreen);
+
+ select(document)
+ .call(keybinding);
+ };
+ }
+
+ function uiLoading(context) {
+ var _modalSelection = select(null);
+ var _message = '';
+ var _blocking = false;
+
+
+ var loading = function(selection$$1) {
+ _modalSelection = uiModal(selection$$1, _blocking);
+
+ var loadertext = _modalSelection.select('.content')
+ .classed('loading-modal', true)
+ .append('div')
+ .attr('class', 'modal-section fillL');
+
+ loadertext
+ .append('img')
+ .attr('class', 'loader')
+ .attr('src', context.imagePath('loader-white.gif'));
+
+ loadertext
+ .append('h3')
+ .text(_message);
+
+ _modalSelection.select('button.close')
+ .attr('class', 'hide');
+
+ return loading;
+ };
+
+
+ loading.message = function(_) {
+ if (!arguments.length) return _message;
+ _message = _;
+ return loading;
+ };
+
+
+ loading.blocking = function(_) {
+ if (!arguments.length) return _blocking;
+ _blocking = _;
+ return loading;
+ };
+
+
+ loading.close = function() {
+ _modalSelection.remove();
+ };
+
+
+ return loading;
+ }
+
+ function uiGeolocate(context) {
+ var geoOptions = { enableHighAccuracy: false, timeout: 6000 /* 6sec */ },
+ locating = uiLoading(context).message(t('geolocate.locating')).blocking(true),
+ timeoutId;
+
+
+ function click() {
+ if (context.inIntro()) return;
+ context.enter(modeBrowse(context));
+ context.container().call(locating);
+ navigator.geolocation.getCurrentPosition(success, error, geoOptions);
+
+ // This timeout ensures that we still call finish() even if
+ // the user declines to share their location in Firefox
+ timeoutId = setTimeout(finish, 10000 /* 10sec */ );
+ }
+
+
+ function success(position) {
+ var map = context.map(),
+ extent = geoExtent$$1([position.coords.longitude, position.coords.latitude])
+ .padByMeters(position.coords.accuracy);
+
+ map.centerZoom(extent.center(), Math.min(20, map.extentZoom(extent)));
+ finish();
+ }
+
+
+ function error() {
+ finish();
+ }
+
+
+ function finish() {
+ locating.close(); // unblock ui
+ if (timeoutId) { clearTimeout(timeoutId); }
+ timeoutId = undefined;
+ }
+
+
+ return function(selection) {
+ if (!navigator.geolocation) return;
+
+ selection
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('title', t('geolocate.title'))
+ .on('click', click)
+ .call(svgIcon('#icon-geolocate', 'light'))
+ .call(tooltip()
+ .placement((textDirection === 'rtl') ? 'right' : 'left'));
+ };
+ }
+
+ function uiPanelBackground(context) {
+ var background = context.background();
+ var currSourceName = null;
+ var metadata = {};
+ var metadataKeys = [
+ 'zoom', 'vintage', 'source', 'description', 'resolution', 'accuracy'
+ ];
+
+ var debouncedRedraw = debounce(redraw, 250);
+
+ function redraw(selection$$1) {
+ var source = background.baseLayerSource(),
+ isDG = (source.id.match(/^DigitalGlobe/i) !== null);
+
+ if (currSourceName !== source.name()) {
+ currSourceName = source.name();
+ metadata = {};
+ }
+
+ selection$$1.html('');
+
+ var list = selection$$1
+ .append('ul')
+ .attr('class', 'background-info');
+
+ list
+ .append('li')
+ .text(currSourceName);
+
+ metadataKeys.forEach(function(k) {
+ // DigitalGlobe vintage is available in raster layers for now.
+ if (isDG && k === 'vintage') return;
+
+ list
+ .append('li')
+ .attr('class', 'background-info-list-' + k)
+ .classed('hide', !metadata[k])
+ .text(t('info_panels.background.' + k) + ':')
+ .append('span')
+ .attr('class', 'background-info-span-' + k)
+ .text(metadata[k]);
+ });
+
+ debouncedGetMetadata(selection$$1);
+
+ var toggleTiles = context.getDebug('tile') ? 'hide_tiles' : 'show_tiles';
+
+ selection$$1
+ .append('a')
+ .text(t('info_panels.background.' + toggleTiles))
+ .attr('href', '#')
+ .attr('class', 'button button-toggle-tiles')
+ .on('click', function() {
+ event.preventDefault();
+ context.setDebug('tile', !context.getDebug('tile'));
+ selection$$1.call(redraw);
+ });
+
+ if (isDG) {
+ var key = source.id + '-vintage';
+ var sourceVintage = context.background().findSource(key);
+ var showsVintage = context.background().showsLayer(sourceVintage);
+ var toggleVintage = showsVintage ? 'hide_vintage' : 'show_vintage';
+ selection$$1
+ .append('a')
+ .text(t('info_panels.background.' + toggleVintage))
+ .attr('href', '#')
+ .attr('class', 'button button-toggle-vintage')
+ .on('click', function() {
+ event.preventDefault();
+ context.background().toggleOverlayLayer(sourceVintage);
+ selection$$1.call(redraw);
+ });
+ }
+
+ // disable if necessary
+ ['DigitalGlobe-Premium', 'DigitalGlobe-Standard'].forEach(function(layerId) {
+ if (source.id !== layerId) {
+ var key = layerId + '-vintage';
+ var sourceVintage = context.background().findSource(key);
+ if (context.background().showsLayer(sourceVintage)) {
+ context.background().toggleOverlayLayer(sourceVintage);
+ }
+ }
+ });
+ }
+
+
+ var debouncedGetMetadata = debounce(getMetadata, 250);
+
+ function getMetadata(selection$$1) {
+ var tile = select('.layer-background img.tile-center'); // tile near viewport center
+ if (tile.empty()) return;
+
+ var sourceName = currSourceName,
+ d = tile.datum(),
+ zoom = (d && d.length >= 3 && d[2]) || Math.floor(context.map().zoom()),
+ center = context.map().center();
+
+ // update zoom
+ metadata.zoom = String(zoom);
+ selection$$1.selectAll('.background-info-list-zoom')
+ .classed('hide', false)
+ .selectAll('.background-info-span-zoom')
+ .text(metadata.zoom);
+
+ if (!d || !d.length >= 3) return;
+
+ background.baseLayerSource().getMetadata(center, d, function(err, result) {
+ if (err || currSourceName !== sourceName) return;
+
+ // update vintage
+ var vintage = result.vintage;
+ metadata.vintage = (vintage && vintage.range) || t('info_panels.background.unknown');
+ selection$$1.selectAll('.background-info-list-vintage')
+ .classed('hide', false)
+ .selectAll('.background-info-span-vintage')
+ .text(metadata.vintage);
+
+ // update other metdata
+ without(metadataKeys, 'zoom', 'vintage')
+ .forEach(function(k) {
+ var val = result[k];
+ metadata[k] = val;
+ selection$$1.selectAll('.background-info-list-' + k)
+ .classed('hide', !val)
+ .selectAll('.background-info-span-' + k)
+ .text(val);
+ });
+ });
+ }
+
+
+ var panel = function(selection$$1) {
+ selection$$1.call(redraw);
+
+ context.map()
+ .on('drawn.info-background', function() {
+ selection$$1.call(debouncedRedraw);
+ })
+ .on('move.info-background', function() {
+ selection$$1.call(debouncedGetMetadata);
+ });
+
+ };
+
+ panel.off = function() {
+ context.map()
+ .on('drawn.info-background', null)
+ .on('move.info-background', null);
+ };
+
+ panel.id = 'background';
+ panel.title = t('info_panels.background.title');
+ panel.key = t('info_panels.background.key');
+
+
+ return panel;
+ }
+
+ function uiPanelHistory(context) {
+ var osm;
+
+ function displayTimestamp(entity) {
+ if (!entity.timestamp) return t('info_panels.history.unknown');
+ var detected = utilDetect();
+ var options = {
+ day: 'numeric', month: 'short', year: 'numeric',
+ hour: 'numeric', minute: 'numeric', second: 'numeric'
+ };
+ var d = new Date(entity.timestamp);
+ if (isNaN(d.getTime())) return t('info_panels.history.unknown');
+ return d.toLocaleString(detected.locale, options);
+ }
+
+
+ function displayUser(selection, entity) {
+ if (!entity.user) {
+ selection
+ .append('span')
+ .text(t('info_panels.history.unknown'));
+ return;
+ }
+
+ selection
+ .append('span')
+ .attr('class', 'user-name')
+ .text(entity.user);
+
+ var links = selection
+ .append('div')
+ .attr('class', 'links');
+
+ if (osm) {
+ links
+ .append('a')
+ .attr('class', 'user-osm-link')
+ .attr('href', osm.userURL(entity.user))
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .text('OSM');
+ }
+
+ links
+ .append('a')
+ .attr('class', 'user-hdyc-link')
+ .attr('href', 'https://hdyc.neis-one.org/?' + entity.user)
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .text('HDYC');
+ }
+
+
+ function displayChangeset(selection, entity) {
+ if (!entity.changeset) {
+ selection
+ .append('span')
+ .text(t('info_panels.history.unknown'));
+ return;
+ }
+
+ selection
+ .append('span')
+ .attr('class', 'changeset-id')
+ .text(entity.changeset);
+
+ var links = selection
+ .append('div')
+ .attr('class', 'links');
+
+ if (osm) {
+ links
+ .append('a')
+ .attr('class', 'changeset-osm-link')
+ .attr('href', osm.changesetURL(entity.changeset))
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .text('OSM');
+ }
+
+ links
+ .append('a')
+ .attr('class', 'changeset-osmcha-link')
+ .attr('href', 'https://osmcha.mapbox.com/changesets/' + entity.changeset)
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .text('OSMCha');
+ }
+
+
+ function redraw(selection) {
+ var selected = filter(context.selectedIDs(), function(e) { return context.hasEntity(e); });
+ var singular = selected.length === 1 ? selected[0] : null;
+
+ osm = context.connection();
+
+ selection.html('');
+
+ selection
+ .append('h4')
+ .attr('class', 'history-heading')
+ .text(singular || t('info_panels.history.selected', { n: selected.length }));
+
+ if (!singular) return;
+
+ var entity = context.entity(singular);
+
+ if (!entity.version) {
+ selection
+ .append('div')
+ .text(t('info_panels.history.no_history'));
+ return;
+ }
+
+ var list = selection
+ .append('ul');
+
+ list
+ .append('li')
+ .text(t('info_panels.history.version') + ':')
+ .append('span')
+ .text(entity.version);
+
+ list
+ .append('li')
+ .text(t('info_panels.history.last_edit') + ':')
+ .append('span')
+ .text(displayTimestamp(entity));
+
+ list
+ .append('li')
+ .text(t('info_panels.history.edited_by') + ':')
+ .call(displayUser, entity);
+
+ list
+ .append('li')
+ .text(t('info_panels.history.changeset') + ':')
+ .call(displayChangeset, entity);
+
+ if (osm) {
+ selection
+ .append('a')
+ .attr('class', 'view-history-on-osm')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', osm.historyURL(entity))
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .append('span')
+ .text(t('info_panels.history.link_text'));
+ }
+ }
+
+
+ var panel = function(selection) {
+ selection.call(redraw);
+
+ context.map()
+ .on('drawn.info-history', function() {
+ selection.call(redraw);
+ });
+ };
+
+ panel.off = function() {
+ context.map()
+ .on('drawn.info-history', null);
+ };
+
+ panel.id = 'history';
+ panel.title = t('info_panels.history.title');
+ panel.key = t('info_panels.history.key');
+
+
+ return panel;
+ }
+
+ var OSM_PRECISION = 7;
+ var locale$2 = utilDetect().locale;
+
+ /**
+ * Returns a localized representation of the given length measurement.
+ *
+ * @param {Number} m area in meters
+ * @param {Boolean} isImperial true for U.S. customary units; false for metric
+ */
+ function displayLength(m, isImperial) {
+ var d = m * (isImperial ? 3.28084 : 1);
+ var unit;
+
+ if (isImperial) {
+ if (d >= 5280) {
+ d /= 5280;
+ unit = 'miles';
+ } else {
+ unit = 'feet';
+ }
+ } else {
+ if (d >= 1000) {
+ d /= 1000;
+ unit = 'kilometers';
+ } else {
+ unit = 'meters';
+ }
+ }
+
+ return t('units.' + unit, {
+ quantity: d.toLocaleString(locale$2, {
+ maximumSignificantDigits: 4
+ })
+ });
+ }
+
+ /**
+ * Returns a localized representation of the given area measurement.
+ *
+ * @param {Number} m2 area in square meters
+ * @param {Boolean} isImperial true for U.S. customary units; false for metric
+ */
+ function displayArea(m2, isImperial) {
+ var d = m2 * (isImperial ? 10.7639111056 : 1);
+ var d1, d2, area;
+ var unit1 = '';
+ var unit2 = '';
+
+ if (isImperial) {
+ if (d >= 6969600) { // > 0.25mi² show mi²
+ d1 = d / 27878400;
+ unit1 = 'square_miles';
+ } else {
+ d1 = d;
+ unit1 = 'square_feet';
+ }
+
+ if (d > 4356 && d < 43560000) { // 0.1 - 1000 acres
+ d2 = d / 43560;
+ unit2 = 'acres';
+ }
+
+ } else {
+ if (d >= 250000) { // > 0.25km² show km²
+ d1 = d / 1000000;
+ unit1 = 'square_kilometers';
+ } else {
+ d1 = d;
+ unit1 = 'square_meters';
+ }
+
+ if (d > 1000 && d < 10000000) { // 0.1 - 1000 hectares
+ d2 = d / 10000;
+ unit2 = 'hectares';
+ }
+ }
+
+ area = t('units.' + unit1, {
+ quantity: d1.toLocaleString(locale$2, {
+ maximumSignificantDigits: 4
+ })
+ });
+
+ if (d2) {
+ return t('units.area_pair', {
+ area1: area,
+ area2: t('units.' + unit2, {
+ quantity: d2.toLocaleString(locale$2, {
+ maximumSignificantDigits: 2
+ })
+ })
+ });
+ } else {
+ return area;
+ }
+ }
+
+ function wrap(x, min, max) {
+ var d = max - min;
+ return ((x - min) % d + d) % d + min;
+ }
+
+ function clamp(x, min, max) {
+ return Math.max(min, Math.min(x, max));
+ }
+
+ function displayCoordinate(deg, pos, neg) {
+ var min = (Math.abs(deg) - Math.floor(Math.abs(deg))) * 60;
+ var sec = (min - Math.floor(min)) * 60;
+ var displayDegrees = t('units.arcdegrees', {
+ quantity: Math.floor(Math.abs(deg)).toLocaleString(locale$2)
+ });
+ var displayCoordinate;
+
+ if (Math.floor(sec) > 0) {
+ displayCoordinate = displayDegrees +
+ t('units.arcminutes', {
+ quantity: Math.floor(min).toLocaleString(locale$2)
+ }) +
+ t('units.arcseconds', {
+ quantity: Math.round(sec).toLocaleString(locale$2)
+ });
+ } else if (Math.floor(min) > 0) {
+ displayCoordinate = displayDegrees +
+ t('units.arcminutes', {
+ quantity: Math.round(min).toLocaleString(locale$2)
+ });
+ } else {
+ displayCoordinate = t('units.arcdegrees', {
+ quantity: Math.round(Math.abs(deg)).toLocaleString(locale$2)
+ });
+ }
+
+ if (deg === 0) {
+ return displayCoordinate;
+ } else {
+ return t('units.coordinate', {
+ coordinate: displayCoordinate,
+ direction: t('units.' + (deg > 0 ? pos : neg))
+ });
+ }
+ }
+
+ /**
+ * Returns given coordinate pair in degree-minute-second format.
+ *
+ * @param {Array<Number>} coord longitude and latitude
+ */
+ function dmsCoordinatePair(coord) {
+ return t('units.coordinate_pair', {
+ latitude: displayCoordinate(clamp(coord[1], -90, 90), 'north', 'south'),
+ longitude: displayCoordinate(wrap(coord[0], -180, 180), 'east', 'west')
+ });
+ }
+
+ /**
+ * Returns the given coordinate pair in decimal format.
+ * note: unlocalized to avoid comma ambiguity - see #4765
+ *
+ * @param {Array<Number>} coord longitude and latitude
+ */
+ function decimalCoordinatePair(coord) {
+ return t('units.coordinate_pair', {
+ latitude: clamp(coord[1], -90, 90).toFixed(OSM_PRECISION),
+ longitude: wrap(coord[0], -180, 180).toFixed(OSM_PRECISION)
+ });
+ }
+
+ function uiPanelLocation(context) {
+ var currLocation = '';
+
+
+ function redraw(selection) {
+ selection.html('');
+
+ var list = selection
+ .append('ul');
+
+ // Mouse coordinates
+ var coord = context.map().mouseCoordinates();
+ if (coord.some(isNaN)) {
+ coord = context.map().center();
+ }
+
+ list
+ .append('li')
+ .text(dmsCoordinatePair(coord))
+ .append('li')
+ .text(decimalCoordinatePair(coord));
+
+ // Location Info
+ selection
+ .append('div')
+ .attr('class', 'location-info')
+ .text(currLocation || ' ');
+
+ debouncedGetLocation(selection, coord);
+ }
+
+
+ var debouncedGetLocation = debounce(getLocation, 250);
+ function getLocation(selection, coord) {
+ if (!services.geocoder) {
+ currLocation = t('info_panels.location.unknown_location');
+ selection.selectAll('.location-info')
+ .text(currLocation);
+ } else {
+ services.geocoder.reverse(coord, function(err, result) {
+ currLocation = result ? result.display_name : t('info_panels.location.unknown_location');
+ selection.selectAll('.location-info')
+ .text(currLocation);
+ });
+ }
+ }
+
+
+ var panel = function(selection) {
+ selection.call(redraw);
+
+ context.surface()
+ .on('mousemove.info-location', function() {
+ selection.call(redraw);
+ });
+ };
+
+ panel.off = function() {
+ context.surface()
+ .on('mousemove.info-location', null);
+ };
+
+ panel.id = 'location';
+ panel.title = t('info_panels.location.title');
+ panel.key = t('info_panels.location.key');
+
+
+ return panel;
+ }
+
+ function uiPanelMeasurement(context) {
+ var locale = utilDetect().locale,
+ isImperial = (locale.toLowerCase() === 'en-us');
+
+
+ function radiansToMeters(r) {
+ // using WGS84 authalic radius (6371007.1809 m)
+ return r * 6371007.1809;
+ }
+
+ function steradiansToSqmeters(r) {
+ // http://gis.stackexchange.com/a/124857/40446
+ return r / (4 * Math.PI) * 510065621724000;
+ }
+
+
+ function toLineString(feature) {
+ if (feature.type === 'LineString') return feature;
+
+ var result = { type: 'LineString', coordinates: [] };
+ if (feature.type === 'Polygon') {
+ result.coordinates = feature.coordinates[0];
+ } else if (feature.type === 'MultiPolygon') {
+ result.coordinates = feature.coordinates[0][0];
+ }
+
+ return result;
+ }
+
+ function nodeCount(feature) {
+ if (feature.type === 'LineString') return feature.coordinates.length;
+
+ if (feature.type === 'Polygon') {
+ return feature.coordinates[0].length - 1;
+ }
+ }
+
+
+ function redraw(selection$$1) {
+ var resolver = context.graph();
+ var selected = filter(context.selectedIDs(), function(e) { return context.hasEntity(e); });
+ var singular = selected.length === 1 ? selected[0] : null;
+ var extent = geoExtent$$1();
+ var entity;
+
+ selection$$1.html('');
+
+ selection$$1
+ .append('h4')
+ .attr('class', 'measurement-heading')
+ .text(singular || t('info_panels.measurement.selected', { n: selected.length.toLocaleString(locale) }));
+
+ if (!selected.length) return;
+
+ var center;
+ for (var i = 0; i < selected.length; i++) {
+ entity = context.entity(selected[i]);
+ extent._extend(entity.extent(resolver));
+ }
+ center = extent.center();
+
+
+ var list = selection$$1
+ .append('ul');
+ var coordItem;
+
+ // multiple features, just display extent center..
+ if (!singular) {
+ coordItem = list
+ .append('li')
+ .text(t('info_panels.measurement.center') + ':');
+ coordItem.append('span')
+ .text(dmsCoordinatePair(center));
+ coordItem.append('span')
+ .text(decimalCoordinatePair(center));
+ return;
+ }
+
+ // single feature, display details..
+ if (!entity) return;
+ var geometry = entity.geometry(resolver);
+
+ if (geometry === 'line' || geometry === 'area') {
+ var closed = (entity.type === 'relation') || (entity.isClosed() && !entity.isDegenerate()),
+ feature = entity.asGeoJSON(resolver),
+ length = radiansToMeters(length$1(toLineString(feature))),
+ lengthLabel = t('info_panels.measurement.' + (closed ? 'perimeter' : 'length')),
+ centroid = d3_geoCentroid(feature);
+
+ list
+ .append('li')
+ .text(t('info_panels.measurement.geometry') + ':')
+ .append('span')
+ .text(
+ closed ? t('info_panels.measurement.closed_' + geometry) : t('geometry.' + geometry)
+ );
+
+ if (entity.type !== 'relation') {
+ list
+ .append('li')
+ .text(t('info_panels.measurement.node_count') + ':')
+ .append('span')
+ .text(nodeCount(feature).toLocaleString(locale));
+ }
+
+ if (closed) {
+ var area = steradiansToSqmeters(entity.area(resolver));
+ list
+ .append('li')
+ .text(t('info_panels.measurement.area') + ':')
+ .append('span')
+ .text(displayArea(area, isImperial));
+ }
+
+
+ list
+ .append('li')
+ .text(lengthLabel + ':')
+ .append('span')
+ .text(displayLength(length, isImperial));
+
+ coordItem = list
+ .append('li')
+ .text(t('info_panels.measurement.centroid') + ':');
+ coordItem.append('span')
+ .text(dmsCoordinatePair(centroid));
+ coordItem.append('span')
+ .text(decimalCoordinatePair(centroid));
+
+ var toggle = isImperial ? 'imperial' : 'metric';
+
+ selection$$1
+ .append('a')
+ .text(t('info_panels.measurement.' + toggle))
+ .attr('href', '#')
+ .attr('class', 'button button-toggle-units')
+ .on('click', function() {
+ event.preventDefault();
+ isImperial = !isImperial;
+ selection$$1.call(redraw);
+ });
+
+ } else {
+ var centerLabel = t('info_panels.measurement.' + (entity.type === 'node' ? 'location' : 'center'));
+
+ list
+ .append('li')
+ .text(t('info_panels.measurement.geometry') + ':')
+ .append('span')
+ .text(t('geometry.' + geometry));
+
+ coordItem = list
+ .append('li')
+ .text(centerLabel + ':');
+ coordItem.append('span')
+ .text(dmsCoordinatePair(center));
+ coordItem.append('span')
+ .text(decimalCoordinatePair(center));
+ }
+ }
+
+
+ var panel = function(selection$$1) {
+ selection$$1.call(redraw);
+
+ context.map()
+ .on('drawn.info-measurement', function() {
+ selection$$1.call(redraw);
+ });
+ };
+
+ panel.off = function() {
+ context.map()
+ .on('drawn.info-measurement', null);
+ };
+
+ panel.id = 'measurement';
+ panel.title = t('info_panels.measurement.title');
+ panel.key = t('info_panels.measurement.key');
+
+
+ return panel;
+ }
+
+ var uiInfoPanels = {
+ background: uiPanelBackground,
+ history: uiPanelHistory,
+ location: uiPanelLocation,
+ measurement: uiPanelMeasurement,
+ };
+
+ function uiInfo(context) {
+ var ids = Object.keys(uiInfoPanels),
+ wasActive = ['measurement'],
+ panels = {},
+ active = {};
+
+ // create panels
+ ids.forEach(function(k) {
+ if (!panels[k]) {
+ panels[k] = uiInfoPanels[k](context);
+ active[k] = false;
+ }
+ });
+
+
+ function info(selection$$1) {
+
+ function redraw() {
+ var activeids = ids.filter(function(k) { return active[k]; }).sort();
+
+ var containers = infoPanels.selectAll('.panel-container')
+ .data(activeids, function(k) { return k; });
+
+ containers.exit()
+ .style('opacity', 1)
+ .transition()
+ .duration(200)
+ .style('opacity', 0)
+ .on('end', function(d) {
+ select(this)
+ .call(panels[d].off)
+ .remove();
+ });
+
+ var enter = containers.enter()
+ .append('div')
+ .attr('class', function(d) { return 'fillD2 panel-container panel-container-' + d; });
+
+ enter
+ .style('opacity', 0)
+ .transition()
+ .duration(200)
+ .style('opacity', 1);
+
+ var title = enter
+ .append('div')
+ .attr('class', 'panel-title fillD2');
+
+ title
+ .append('h3')
+ .text(function(d) { return panels[d].title; });
+
+ title
+ .append('button')
+ .attr('class', 'close')
+ .on('click', function (d) { toggle(d); })
+ .call(svgIcon('#icon-close'));
+
+ enter
+ .append('div')
+ .attr('class', function(d) { return 'panel-content panel-content-' + d; });
+
+
+ // redraw the panels
+ infoPanels.selectAll('.panel-content')
+ .each(function(d) {
+ select(this).call(panels[d]);
+ });
+ }
+
+
+ function toggle(which) {
+ if (event) {
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ }
+
+ var activeids = ids.filter(function(k) { return active[k]; });
+
+ if (which) { // toggle one
+ active[which] = !active[which];
+ if (activeids.length === 1 && activeids[0] === which) { // none active anymore
+ wasActive = [which];
+ }
+ } else { // toggle all
+ if (activeids.length) {
+ wasActive = activeids;
+ activeids.forEach(function(k) { active[k] = false; });
+ } else {
+ wasActive.forEach(function(k) { active[k] = true; });
+ }
+ }
+
+ redraw();
+ }
+
+
+ var infoPanels = selection$$1.selectAll('.info-panels')
+ .data([0]);
+
+ infoPanels = infoPanels.enter()
+ .append('div')
+ .attr('class', 'info-panels')
+ .merge(infoPanels);
+
+ redraw();
+
+ var keybinding = d3keybinding('info')
+ .on(uiCmd('⌘' + t('info_panels.key')), toggle);
+
+ ids.forEach(function(k) {
+ var key = t('info_panels.' + k + '.key', { default: null });
+ if (!key) return;
+ keybinding
+ .on(uiCmd('⌘⇧' + key), function() { toggle(k); });
+ });
+
+ select(document)
+ .call(keybinding);
+ }
+
+ return info;
+ }
+
+ function uiModes(context) {
+ var modes = [
+ modeAddPoint$$1(context),
+ modeAddLine$$1(context),
+ modeAddArea$$1(context)
+ ];
+
+
+ function editable() {
+ var mode = context.mode();
+ return context.editable() && mode && mode.id !== 'save';
+ }
+
+
+ return function(selection$$1) {
+ var buttons = selection$$1.selectAll('button.add-button')
+ .data(modes);
+
+ buttons = buttons.enter()
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', function(mode) { return mode.id + ' add-button col4'; })
+ .on('click.mode-buttons', function(mode) {
+ // When drawing, ignore accidental clicks on mode buttons - #4042
+ var currMode = context.mode().id;
+ if (currMode.match(/^draw/) !== null) return;
+
+ if (mode.id === currMode) {
+ context.enter(modeBrowse(context));
+ } else {
+ context.enter(mode);
+ }
+ })
+ .call(tooltip()
+ .placement('bottom')
+ .html(true)
+ .title(function(mode) {
+ return uiTooltipHtml(mode.description, mode.key);
+ })
+ );
+
+ buttons
+ .each(function(d) {
+ select(this)
+ .call(svgIcon('#icon-' + d.button, 'pre-text'));
+ });
+
+ buttons
+ .append('span')
+ .attr('class', 'label')
+ .text(function(mode) { return mode.title; });
+
+ context
+ .on('enter.editor', function(entered) {
+ selection$$1.selectAll('button.add-button')
+ .classed('active', function(mode) { return entered.button === mode.button; });
+ context.container()
+ .classed('mode-' + entered.id, true);
+ });
+
+ context
+ .on('exit.editor', function(exited) {
+ context.container()
+ .classed('mode-' + exited.id, false);
+ });
+
+ var keybinding = d3keybinding('mode-buttons');
+
+ modes.forEach(function(mode) {
+ keybinding.on(mode.key, function() {
+ if (editable()) {
+ if (mode.id === context.mode().id) {
+ context.enter(modeBrowse(context));
+ } else {
+ context.enter(mode);
+ }
+ }
+ });
+ });
+
+ select(document)
+ .call(keybinding);
+
+
+ var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+
+ context.map()
+ .on('move.modes', debouncedUpdate)
+ .on('drawn.modes', debouncedUpdate);
+
+ context
+ .on('enter.modes', update);
+
+
+
+ function update() {
+ selection$$1.selectAll('button.add-button')
+ .property('disabled', !editable());
+ }
+ };
+ }
+
+ function uiNotice(context) {
+
+ return function(selection$$1) {
+ var div = selection$$1
+ .append('div')
+ .attr('class', 'notice');
+
+ var button = div
+ .append('button')
+ .attr('class', 'zoom-to notice fillD')
+ .on('click', function() {
+ context.map().zoomEase(context.minEditableZoom());
+ })
+ .on('wheel', function() { // let wheel events pass through #4482
+ var e2 = new WheelEvent(event.type, event);
+ context.surface().node().dispatchEvent(e2);
+ });
+
+ button
+ .call(svgIcon('#icon-plus', 'pre-text'))
+ .append('span')
+ .attr('class', 'label')
+ .text(t('zoom_in_edit'));
+
+
+ function disableTooHigh() {
+ var canEdit = context.map().zoom() >= context.minEditableZoom();
+ div.style('display', canEdit ? 'none' : 'block');
+ }
+
+ context.map()
+ .on('move.notice', debounce(disableTooHigh, 500));
+
+ disableTooHigh();
+ };
+ }
+
+ function uiRestore(context) {
+
+ return function(selection) {
+ if (!context.history().lock() || !context.history().restorableChanges())
+ return;
+
+ var modalSelection = uiModal(selection, true);
+
+ modalSelection.select('.modal')
+ .attr('class', 'modal fillL col6');
+
+ var introModal = modalSelection.select('.content');
+
+ introModal
+ .attr('class','cf');
+
+ introModal
+ .append('div')
+ .attr('class', 'modal-section')
+ .append('h3')
+ .text(t('restore.heading'));
+
+ introModal
+ .append('div')
+ .attr('class','modal-section')
+ .append('p')
+ .text(t('restore.description'));
+
+ var buttonWrap = introModal
+ .append('div')
+ .attr('class', 'modal-actions cf');
+
+ var restore = buttonWrap
+ .append('button')
+ .attr('class', 'restore col6')
+ .on('click', function() {
+ context.history().restore();
+ modalSelection.remove();
+ });
+
+ restore
+ .append('svg')
+ .attr('class', 'logo logo-restore')
+ .append('use')
+ .attr('xlink:href', '#logo-restore');
+
+ restore
+ .append('div')
+ .text(t('restore.restore'));
+
+ var reset = buttonWrap
+ .append('button')
+ .attr('class', 'reset col6')
+ .on('click', function() {
+ context.history().clearSaved();
+ modalSelection.remove();
+ });
+
+ reset
+ .append('svg')
+ .attr('class', 'logo logo-reset')
+ .append('use')
+ .attr('xlink:href', '#logo-reset');
+
+ reset
+ .append('div')
+ .text(t('restore.reset'));
+
+ restore.node().focus();
+ };
+ }
+
+ function uiSave(context) {
+ var history = context.history();
+ var key = uiCmd('⌘S');
+
+
+ function saving() {
+ var mode = context.mode();
+ return mode && mode.id === 'save';
+ }
+
+
+ function save() {
+ event.preventDefault();
+ if (!context.inIntro() && !saving() && history.hasChanges()) {
+ context.enter(modeSave$$1(context));
+ }
+ }
+
+
+ function getBackground(numChanges) {
+ var step;
+ if (numChanges === 0) {
+ return null;
+ } else if (numChanges <= 50) {
+ step = numChanges / 50;
+ return interpolateRgb('#fff', '#ff8')(step); // white -> yellow
+ } else {
+ step = Math.min((numChanges - 50) / 50, 1.0);
+ return interpolateRgb('#ff8', '#f88')(step); // yellow -> red
+ }
+ }
+
+
+ return function(selection$$1) {
+ var numChanges = 0;
+
+ function updateCount() {
+ var _ = history.difference().summary().length;
+ if (_ === numChanges) return;
+ numChanges = _;
+
+ tooltipBehavior
+ .title(uiTooltipHtml(
+ t(numChanges > 0 ? 'save.help' : 'save.no_changes'), key)
+ );
+
+ var background = getBackground(numChanges);
+
+ button
+ .classed('disabled', numChanges === 0)
+ .classed('has-count', numChanges > 0)
+ .style('background', background);
+
+ button.select('span.count')
+ .text(numChanges)
+ .style('background', background)
+ .style('border-color', background);
+ }
+
+
+ var tooltipBehavior = tooltip()
+ .placement('bottom')
+ .html(true)
+ .title(uiTooltipHtml(t('save.no_changes'), key));
+
+ var button = selection$$1
+ .append('button')
+ .attr('class', 'save col12 disabled')
+ .attr('tabindex', -1)
+ .on('click', save)
+ .call(tooltipBehavior);
+
+ button
+ .call(svgIcon('#icon-save', 'pre-text'))
+ .append('span')
+ .attr('class', 'label')
+ .text(t('save.title'));
+
+ button
+ .append('span')
+ .attr('class', 'count')
+ .text('0');
+
+ updateCount();
+
+
+ var keybinding = d3keybinding('uiSave')
+ .on(key, save, true);
+
+ select(document)
+ .call(keybinding);
+
+ context.history()
+ .on('change.save', updateCount);
+
+ context
+ .on('enter.save', function() {
+ button.property('disabled', saving());
+ if (saving()) button.call(tooltipBehavior.hide);
+ });
+ };
+ }
+
+ function uiScale(context) {
+ var projection = context.projection,
+ isImperial = (utilDetect().locale.toLowerCase() === 'en-us'),
+ maxLength = 180,
+ tickHeight = 8;
+
+
+ function scaleDefs(loc1, loc2) {
+ var lat = (loc2[1] + loc1[1]) / 2,
+ conversion = (isImperial ? 3.28084 : 1),
+ dist = geoLonToMeters(loc2[0] - loc1[0], lat) * conversion,
+ scale = { dist: 0, px: 0, text: '' },
+ buckets, i, val, dLon;
+
+ if (isImperial) {
+ buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
+ } else {
+ buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
+ }
+
+ // determine a user-friendly endpoint for the scale
+ for (i = 0; i < buckets.length; i++) {
+ val = buckets[i];
+ if (dist >= val) {
+ scale.dist = Math.floor(dist / val) * val;
+ break;
+ } else {
+ scale.dist = +dist.toFixed(2);
+ }
+ }
+
+ dLon = geoMetersToLon(scale.dist / conversion, lat);
+ scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
+
+ scale.text = displayLength(scale.dist / conversion, isImperial);
+
+ return scale;
+ }
+
+
+ function update(selection) {
+ // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
+ var dims = context.map().dimensions(),
+ loc1 = projection.invert([0, dims[1]]),
+ loc2 = projection.invert([maxLength, dims[1]]),
+ scale = scaleDefs(loc1, loc2);
+
+ selection.select('#scale-path')
+ .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
+
+ selection.select('#scale-textgroup')
+ .attr('transform', 'translate(' + (scale.px + 8) + ',' + tickHeight + ')');
+
+ selection.select('#scale-text')
+ .text(scale.text);
+ }
+
+
+ return function(selection) {
+ function switchUnits() {
+ isImperial = !isImperial;
+ selection.call(update);
+ }
+
+ var scalegroup = selection.append('svg')
+ .attr('id', 'scale')
+ .on('click', switchUnits)
+ .append('g')
+ .attr('transform', 'translate(10,11)');
+
+ scalegroup
+ .append('path')
+ .attr('id', 'scale-path');
+
+ scalegroup
+ .append('g')
+ .attr('id', 'scale-textgroup')
+ .append('text')
+ .attr('id', 'scale-text');
+
+ selection.call(update);
+
+ context.map().on('move.scale', function() {
+ update(selection);
+ });
+ };
+ }
+
+ var pair_1 = pair$1;
+
+ function search(x, dims, r) {
+ if (!dims) dims = 'NSEW';
+ if (typeof x !== 'string') return { val: null, regex: r };
+
+ r = r || /[\s\,]*([NSEW])?\s*([\-|\—|\―]?[0-9.]+)°?\s*(?:([0-9.]+)['’′‘]\s*)?(?:([0-9.]+)(?:''|"|”|″)\s*)?([NSEW])?/gi;
+
+ var m = r.exec(x);
+ if (!m) return { val: null, regex: r };
+
+ var dim = m[1] || m[5];
+ if (dim && dims.indexOf(dim) === -1) return { val: null, regex: r };
+
+ return {
+ val: (((m[2]) ? parseFloat(m[2]) : 0) +
+ ((m[3] ? parseFloat(m[3]) / 60 : 0)) +
+ ((m[4] ? parseFloat(m[4]) / 3600 : 0))) *
+ ((dim === 'S' || dim === 'W') ? -1 : 1),
+ regex: r,
+ raw: m[0],
+ dim: dim
+ };
+ }
+
+ function pair$1(x, dims) {
+ x = x.trim();
+ var one = search(x, dims);
+ if (one.val === null) return null;
+ var two = search(x, dims, one.regex);
+ if (two.val === null) return null;
+ // null if one/two are not contiguous.
+ if (one.raw + two.raw !== x) return null;
+ if (one.dim) {
+ return swapdim(one.val, two.val, one.dim);
+ } else {
+ return [one.val, two.val];
+ }
+ }
+
+ function swapdim(a, b, dim) {
+ if (dim === 'N' || dim === 'S') return [a, b];
+ if (dim === 'W' || dim === 'E') return [b, a];
+ }
+
+ function uiFeatureList(context) {
+ var keybinding = d3keybinding('uiFeatureList');
+ var _geocodeResults;
+
+
+ function featureList(selection$$1) {
+ var header = selection$$1
+ .append('div')
+ .attr('class', 'header fillL cf');
+
+ header
+ .append('h3')
+ .text(t('inspector.feature_list'));
+
+ var searchWrap = selection$$1
+ .append('div')
+ .attr('class', 'search-header');
+
+ var search = searchWrap
+ .append('input')
+ .attr('placeholder', t('inspector.search'))
+ .attr('type', 'search')
+ .call(utilNoAuto)
+ .on('keypress', keypress)
+ .on('keydown', keydown)
+ .on('input', inputevent);
+
+ searchWrap
+ .call(svgIcon('#icon-search', 'pre-text'));
+
+ var listWrap = selection$$1
+ .append('div')
+ .attr('class', 'inspector-body');
+
+ var list = listWrap
+ .append('div')
+ .attr('class', 'feature-list cf');
+
+ context
+ .on('exit.feature-list', clearSearch);
+ context.map()
+ .on('drawn.feature-list', mapDrawn);
+
+ keybinding
+ .on(uiCmd('⌘F'), focusSearch);
+
+ select(document)
+ .call(keybinding);
+
+
+ function focusSearch() {
+ var mode = context.mode() && context.mode().id;
+ if (mode !== 'browse') return;
+
+ event.preventDefault();
+ search.node().focus();
+ }
+
+
+ function keydown() {
+ if (event.keyCode === 27) { // escape
+ search.node().blur();
+ }
+ }
+
+
+ function keypress() {
+ var q = search.property('value'),
+ items = list.selectAll('.feature-list-item');
+ if (event.keyCode === 13 && q.length && items.size()) { // return
+ click(items.datum());
+ }
+ }
+
+
+ function inputevent() {
+ _geocodeResults = undefined;
+ drawList();
+ }
+
+
+ function clearSearch() {
+ search.property('value', '');
+ drawList();
+ }
+
+
+ function mapDrawn(e) {
+ if (e.full) {
+ drawList();
+ }
+ }
+
+
+ function features() {
+ var entities = {};
+ var result = [];
+ var graph = context.graph();
+ var q = search.property('value').toLowerCase();
+
+ if (!q) return result;
+
+ var idMatch = q.match(/^([nwr])([0-9]+)$/);
+
+ if (idMatch) {
+ result.push({
+ id: idMatch[0],
+ geometry: idMatch[1] === 'n' ? 'point' : idMatch[1] === 'w' ? 'line' : 'relation',
+ type: idMatch[1] === 'n' ? t('inspector.node') : idMatch[1] === 'w' ? t('inspector.way') : t('inspector.relation'),
+ name: idMatch[2]
+ });
+ }
+
+ var locationMatch = pair_1(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
+
+ if (locationMatch) {
+ var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
+ result.push({
+ id: -1,
+ geometry: 'point',
+ type: t('inspector.location'),
+ name: dmsCoordinatePair([loc[1], loc[0]]),
+ location: loc
+ });
+ }
+
+ function addEntity(entity) {
+ if (entity.id in entities || result.length > 200)
+ return;
+
+ entities[entity.id] = true;
+
+ var name = utilDisplayName(entity) || '';
+ if (name.toLowerCase().indexOf(q) >= 0) {
+ var matched = context.presets().match(entity, graph);
+ var type = (matched && matched.name()) || utilDisplayType(entity.id);
+
+ result.push({
+ id: entity.id,
+ entity: entity,
+ geometry: context.geometry(entity.id),
+ type: type,
+ name: name
+ });
+ }
+
+ graph.parentRelations(entity).forEach(function(parent) {
+ addEntity(parent);
+ });
+ }
+
+ var visible = context.surface().selectAll('.point, .line, .area').nodes();
+ for (var i = 0; i < visible.length && result.length <= 200; i++) {
+ var datum = visible[i].__data__;
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (entity) { addEntity(entity); }
+ }
+
+ (_geocodeResults || []).forEach(function(d) {
+ if (d.osm_type && d.osm_id) { // some results may be missing these - #1890
+
+ // Make a temporary osmEntity so we can preset match
+ // and better localize the search result - #4725
+ var id = osmEntity$$1.id.fromOSM(d.osm_type, d.osm_id);
+ var tags = {};
+ tags[d.class] = d.type;
+
+ var attrs = { id: id, type: d.osm_type, tags: tags };
+ if (d.osm_type === 'way') { // for ways, add some fake closed nodes
+ attrs.nodes = ['a','a']; // so that geometry area is possible
+ }
+
+ var tempEntity = osmEntity$$1(attrs);
+ var tempGraph = coreGraph$$1([tempEntity]);
+ var matched = context.presets().match(tempEntity, tempGraph);
+ var type = (matched && matched.name()) || utilDisplayType(id);
+
+ result.push({
+ id: tempEntity.id,
+ geometry: tempEntity.geometry(tempGraph),
+ type: type,
+ name: d.display_name,
+ extent: new geoExtent$$1(
+ [parseFloat(d.boundingbox[3]), parseFloat(d.boundingbox[0])],
+ [parseFloat(d.boundingbox[2]), parseFloat(d.boundingbox[1])])
+ });
+ }
+ });
+
+ return result;
+ }
+
+
+ function drawList() {
+ var value = search.property('value');
+ var results = features();
+
+ list.classed('filtered', value.length);
+
+ var noResultsWorldwide = _geocodeResults && _geocodeResults.length === 0;
+
+ var resultsIndicator = list.selectAll('.no-results-item')
+ .data([0])
+ .enter()
+ .append('button')
+ .property('disabled', true)
+ .attr('class', 'no-results-item')
+ .call(svgIcon('#icon-alert', 'pre-text'));
+
+ resultsIndicator.append('span')
+ .attr('class', 'entity-name');
+
+ list.selectAll('.no-results-item .entity-name')
+ .text(noResultsWorldwide ? t('geocoder.no_results_worldwide') : t('geocoder.no_results_visible'));
+
+ if (services.geocoder) {
+ list.selectAll('.geocode-item')
+ .data([0])
+ .enter()
+ .append('button')
+ .attr('class', 'geocode-item')
+ .on('click', geocoderSearch)
+ .append('div')
+ .attr('class', 'label')
+ .append('span')
+ .attr('class', 'entity-name')
+ .text(t('geocoder.search'));
+ }
+
+ list.selectAll('.no-results-item')
+ .style('display', (value.length && !results.length) ? 'block' : 'none');
+
+ list.selectAll('.geocode-item')
+ .style('display', (value && _geocodeResults === undefined) ? 'block' : 'none');
+
+ list.selectAll('.feature-list-item')
+ .data([-1])
+ .remove();
+
+ var items = list.selectAll('.feature-list-item')
+ .data(results, function(d) { return d.id; });
+
+ var enter = items.enter()
+ .insert('button', '.geocode-item')
+ .attr('class', 'feature-list-item')
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout)
+ .on('click', click);
+
+ var label = enter
+ .append('div')
+ .attr('class', 'label');
+
+ label
+ .each(function(d) {
+ select(this)
+ .call(svgIcon('#icon-' + d.geometry, 'pre-text'));
+ });
+
+ label
+ .append('span')
+ .attr('class', 'entity-type')
+ .text(function(d) { return d.type; });
+
+ label
+ .append('span')
+ .attr('class', 'entity-name')
+ .text(function(d) { return d.name; });
+
+ enter
+ .style('opacity', 0)
+ .transition()
+ .style('opacity', 1);
+
+ items.order();
+
+ items.exit()
+ .remove();
+ }
+
+
+ function mouseover(d) {
+ if (d.id === -1) return;
+
+ context.surface().selectAll(utilEntityOrMemberSelector([d.id], context.graph()))
+ .classed('hover', true);
+ }
+
+
+ function mouseout() {
+ context.surface().selectAll('.hover')
+ .classed('hover', false);
+ }
+
+
+ function click(d) {
+ event.preventDefault();
+ if (d.location) {
+ context.map().centerZoom([d.location[1], d.location[0]], 20);
+ }
+ else if (d.entity) {
+ if (d.entity.type === 'node') {
+ context.map().center(d.entity.loc);
+ } else if (d.entity.type === 'way') {
+ var center = context.projection(context.map().center());
+ var edge = geoChooseEdge(context.childNodes(d.entity), center, context.projection);
+ context.map().center(edge.loc);
+ }
+ context.enter(modeSelect(context, [d.entity.id]));
+ } else {
+ context.zoomToEntity(d.id);
+ }
+ }
+
+
+ function geocoderSearch() {
+ services.geocoder.search(search.property('value'), function (err, resp) {
+ _geocodeResults = resp || [];
+ drawList();
+ });
+ }
+ }
+
+
+ return featureList;
+ }
+
+ function uiPresetIcon() {
+ var preset, geometry;
+
+
+ function presetIcon(selection$$1) {
+ selection$$1.each(render);
+ }
+
+
+ function getIcon(p, geom) {
+ if (p.icon)
+ return p.icon;
+ else if (geom === 'line')
+ return 'other-line';
+ else if (geom === 'vertex')
+ return p.isFallback() ? '' : 'poi-vertex';
+ else
+ return 'marker-stroked';
+ }
+
+
+ function render() {
+ var selection$$1 = select(this),
+ p = preset.apply(this, arguments),
+ geom = geometry.apply(this, arguments),
+ picon = getIcon(p, geom),
+ isPoi = picon.match(/^poi-/) !== null,
+ isMaki = dataFeatureIcons.indexOf(picon) !== -1,
+ isFramed = (geom === 'area' || geom === 'verex');
+
+
+ function tag_classes(p) {
+ var s = '';
+ for (var i in p.tags) {
+ s += ' tag-' + i;
+ if (p.tags[i] !== '*') {
+ s += ' tag-' + i + '-' + p.tags[i];
+ }
+ }
+ return s;
+ }
+
+
+ var fill = selection$$1.selectAll('.preset-icon-fill')
+ .data([0]);
+
+ fill = fill.enter()
+ .append('div')
+ .merge(fill);
+
+ fill
+ .attr('class', function() {
+ return 'preset-icon-fill preset-icon-fill-' + geom + tag_classes(p);
+ });
+
+
+ var areaFrame = selection$$1.selectAll('.preset-icon-frame')
+ .data((geom === 'area') ? [0] : []);
+
+ areaFrame.exit()
+ .remove();
+
+ areaFrame = areaFrame.enter()
+ .append('div')
+ .attr('class', 'preset-icon-frame')
+ .call(svgIcon('#preset-icon-frame'));
+
+
+ var icon = selection$$1.selectAll('.preset-icon')
+ .data([0]);
+
+ icon = icon.enter()
+ .append('div')
+ .attr('class', 'preset-icon')
+ .call(svgIcon(''))
+ .merge(icon);
+
+ icon
+ .attr('class', 'preset-icon preset-icon-' +
+ ((isMaki || isPoi) ? (isFramed ? '24' : '28') : (isFramed ? '44' : '60'))
+ );
+
+ icon.selectAll('svg')
+ .attr('class', function() {
+ return 'icon ' + picon + (isMaki || isPoi ? '' : tag_classes(p));
+ });
+
+ icon.selectAll('use')
+ .attr('href', '#' + picon + (isMaki ? '-15' : ''));
+ }
+
+
+ presetIcon.preset = function(_) {
+ if (!arguments.length) return preset;
+ preset = utilFunctor(_);
+ return presetIcon;
+ };
+
+
+ presetIcon.geometry = function(_) {
+ if (!arguments.length) return geometry;
+ geometry = utilFunctor(_);
+ return presetIcon;
+ };
+
+ return presetIcon;
+ }
+
+ function d3combobox() {
+ var dispatch$$1 = dispatch('accept');
+ var _container = select(document.body);
+ var _data = [];
+ var _suggestions = [];
+ var _minItems = 2;
+ var _caseSensitive = false;
+
+ var _fetcher = function(val, cb) {
+ cb(_data.filter(function(d) {
+ return d.value
+ .toString()
+ .toLowerCase()
+ .indexOf(val.toLowerCase()) !== -1;
+ }));
+ };
+
+ var combobox = function(input, attachTo) {
+ var idx = -1;
+ var wrapper = _container
+ .selectAll('div.combobox')
+ .filter(function(d) { return d === input.node(); });
+ var shown = !wrapper.empty();
+ var tagName = input.node() ? input.node().tagName.toLowerCase() : '';
+
+ input
+ .classed('combobox-input', true)
+ .on('focus.typeahead', focus)
+ .on('blur.typeahead', blur)
+ .on('keydown.typeahead', keydown)
+ .on('keyup.typeahead', keyup)
+ .on('input.typeahead', change)
+ .each(function() {
+ var parent = this.parentNode;
+ var sibling = this.nextSibling;
+
+ var caret = select(parent).selectAll('.combobox-caret')
+ .filter(function(d) { return d === input.node(); })
+ .data([input.node()]);
+
+ caret = caret.enter()
+ .insert('div', function() { return sibling; })
+ .attr('class', 'combobox-caret')
+ .merge(caret);
+
+ caret
+ .on('mousedown', function () {
+ // prevent the form element from blurring. it blurs
+ // on mousedown
+ event.stopPropagation();
+ event.preventDefault();
+ if (!shown) {
+ input.node().focus();
+ fetch('', render);
+ } else {
+ hide();
+ }
+ });
+ });
+
+ function focus() {
+ fetch(value(), render);
+ }
+
+ function blur() {
+ window.setTimeout(hide, 150);
+ }
+
+ function show() {
+ if (!shown) {
+ wrapper = _container
+ .insert('div', ':first-child')
+ .datum(input.node())
+ .attr('class', 'combobox')
+ .style('position', 'absolute')
+ .style('display', 'block')
+ .style('left', '0px')
+ .on('mousedown', function () {
+ // prevent moving focus out of the text field
+ event.preventDefault();
+ });
+
+ select('body')
+ .on('scroll.combobox', render, true);
+
+ shown = true;
+ }
+ }
+
+ function hide() {
+ if (shown) {
+ idx = -1;
+ wrapper.remove();
+
+ select('body')
+ .on('scroll.combobox', null);
+
+ shown = false;
+ }
+ }
+
+ function keydown() {
+ switch (event.keyCode) {
+ // backspace, delete
+ case 8:
+ case 46:
+ input.on('input.typeahead', function() {
+ idx = -1;
+ render();
+ var start = input.property('selectionStart');
+ input.node().setSelectionRange(start, start);
+ input.on('input.typeahead', change);
+ });
+ break;
+ // tab
+ case 9:
+ wrapper.selectAll('a.selected').each(function (d) {
+ dispatch$$1.call('accept', this, d);
+ });
+ hide();
+ break;
+ // return
+ case 13:
+ event.preventDefault();
+ break;
+ // up arrow
+ case 38:
+ if (tagName === 'textarea' && !shown) return;
+ nav(-1);
+ event.preventDefault();
+ break;
+ // down arrow
+ case 40:
+ if (tagName === 'textarea' && !shown) return;
+ nav(+1);
+ event.preventDefault();
+ break;
+ }
+ event.stopPropagation();
+ }
+
+ function keyup() {
+ switch (event.keyCode) {
+ // escape
+ case 27:
+ hide();
+ break;
+ // return
+ case 13:
+ wrapper.selectAll('a.selected').each(function (d) {
+ dispatch$$1.call('accept', this, d);
+ });
+ hide();
+ break;
+ }
+ }
+
+ function change() {
+ fetch(value(), function() {
+ if (input.property('selectionEnd') === input.property('value').length) {
+ autocomplete();
+ }
+ render();
+ });
+ }
+
+ function nav(dir) {
+ if (!_suggestions.length) return;
+ idx = Math.max(Math.min(idx + dir, _suggestions.length - 1), 0);
+ input.property('value', _suggestions[idx].value);
+ render();
+ ensureVisible();
+ }
+
+ function value() {
+ var value = input.property('value');
+ var start = input.property('selectionStart');
+ var end = input.property('selectionEnd');
+
+ if (start && end) {
+ value = value.substring(0, start);
+ }
+
+ return value;
+ }
+
+ function fetch(v, cb) {
+ _fetcher.call(input, v, function(_) {
+ _suggestions = _;
+ cb();
+ });
+ }
+
+ function autocomplete() {
+ var v = _caseSensitive ? value() : value().toLowerCase();
+ idx = -1;
+ if (!v) return;
+
+ // Don't autocomplete if user is typing a number - #4935
+ if (!isNaN(parseFloat(v)) && isFinite(v)) return;
+
+ var best = -1;
+ var suggestion, compare;
+
+ for (var i = 0; i < _suggestions.length; i++) {
+ suggestion = _suggestions[i].value;
+ compare = _caseSensitive ? suggestion : suggestion.toLowerCase();
+
+ // if search string matches suggestion exactly, pick it..
+ if (compare === v) {
+ best = i;
+ break;
+
+ // otherwise lock in the first result that starts with the search string..
+ } else if (best === -1 && compare.indexOf(v) === 0) {
+ best = i;
+ }
+ }
+
+ if (best !== -1) {
+ idx = best;
+ suggestion = _suggestions[best].value;
+ input.property('value', suggestion);
+ input.node().setSelectionRange(v.length, suggestion.length);
+ }
+ }
+
+ function render() {
+ if (_suggestions.length >= _minItems && document.activeElement === input.node()) {
+ show();
+ } else {
+ hide();
+ return;
+ }
+
+ var options = wrapper
+ .selectAll('a.combobox-option')
+ .data(_suggestions, function(d) { return d.value; });
+
+ options.exit()
+ .remove();
+
+ options.enter()
+ .append('a')
+ .attr('class', 'combobox-option')
+ .text(function(d) { return d.value; })
+ .merge(options)
+ .attr('title', function(d) { return d.title; })
+ .classed('selected', function(d, i) { return i === idx; })
+ .on('mouseover', select$$1)
+ .on('click', accept)
+ .order();
+
+
+ var node = attachTo ? attachTo.node() : input.node();
+ var rect = node.getBoundingClientRect();
+
+ wrapper
+ .style('left', (rect.left + 5) + 'px')
+ .style('width', (rect.width - 10) + 'px')
+ .style('top', rect.height + rect.top + 'px');
+ }
+
+ function select$$1(d, i) {
+ idx = i;
+ render();
+ }
+
+ function ensureVisible() {
+ var node = wrapper.selectAll('a.selected').node();
+ if (node) node.scrollIntoView();
+ }
+
+ function accept(d) {
+ if (!shown) return;
+ input.property('value', d.value);
+ utilTriggerEvent(input, 'change');
+ dispatch$$1.call('accept', this, d);
+ hide();
+ }
+ };
+
+ combobox.fetcher = function(_) {
+ if (!arguments.length) return _fetcher;
+ _fetcher = _;
+ return combobox;
+ };
+
+ combobox.data = function(_) {
+ if (!arguments.length) return _data;
+ _data = _;
+ return combobox;
+ };
+
+ combobox.minItems = function(_) {
+ if (!arguments.length) return _minItems;
+ _minItems = _;
+ return combobox;
+ };
+
+ combobox.caseSensitive = function(_) {
+ if (!arguments.length) return _caseSensitive;
+ _caseSensitive = _;
+ return combobox;
+ };
+
+ combobox.container = function(_) {
+ if (!arguments.length) return _container;
+ _container = _;
+ return combobox;
+ };
+
+ return utilRebind(combobox, dispatch$$1, 'on');
+ }
+
+
+ d3combobox.off = function(input) {
+ input
+ .on('focus.typeahead', null)
+ .on('blur.typeahead', null)
+ .on('keydown.typeahead', null)
+ .on('keyup.typeahead', null)
+ .on('input.typeahead', null)
+ .each(function() {
+ select(this.parentNode).selectAll('.combobox-caret')
+ .filter(function(d) { return d === input.node(); })
+ .on('mousedown', null);
+ });
+
+ select('body')
+ .on('scroll.combobox', null);
+ };
+
+ function uiRawMemberEditor(context) {
+ var taginfo = services.taginfo,
+ _entityID;
+
+
+ function selectMember(d) {
+ event.preventDefault();
+ context.enter(modeSelect(context, [d.id]));
+ }
+
+
+ function changeRole(d) {
+ var role = select(this).property('value');
+ var member = { id: d.id, type: d.type, role: role };
+ context.perform(
+ actionChangeMember(d.relation.id, member, d.index),
+ t('operations.change_role.annotation')
+ );
+ }
+
+
+ function deleteMember(d) {
+ context.perform(
+ actionDeleteMember(d.relation.id, d.index),
+ t('operations.delete_member.annotation')
+ );
+
+ if (!context.hasEntity(d.relation.id)) {
+ context.enter(modeBrowse(context));
+ }
+ }
+
+
+ function rawMemberEditor(selection$$1) {
+ var entity = context.entity(_entityID),
+ memberships = [];
+
+ entity.members.slice(0, 1000).forEach(function(member, index) {
+ memberships.push({
+ index: index,
+ id: member.id,
+ type: member.type,
+ role: member.role,
+ relation: entity,
+ member: context.hasEntity(member.id)
+ });
+ });
+
+ var gt = entity.members.length > 1000 ? '>' : '';
+ selection$$1.call(uiDisclosure(context, 'raw_member_editor', true)
+ .title(t('inspector.all_members') + ' (' + gt + memberships.length + ')')
+ .expanded(true)
+ .updatePreference(false)
+ .on('toggled', function(expanded) {
+ if (expanded) { selection$$1.node().parentNode.scrollTop += 200; }
+ })
+ .content(content)
+ );
+
+
+ function content(wrap) {
+ var list = wrap.selectAll('.member-list')
+ .data([0]);
+
+ list = list.enter()
+ .append('ul')
+ .attr('class', 'member-list')
+ .merge(list);
+
+
+ var items = list.selectAll('li')
+ .data(memberships, function(d) {
+ return osmEntity$$1.key(d.relation) + ',' + d.index + ',' +
+ (d.member ? osmEntity$$1.key(d.member) : 'incomplete');
+ });
+
+ items.exit()
+ .each(unbind)
+ .remove();
+
+ var enter = items.enter()
+ .append('li')
+ .attr('class', 'member-row form-field')
+ .classed('member-incomplete', function(d) { return !d.member; });
+
+ enter
+ .each(function(d) {
+ if (d.member) {
+ var label = select(this).append('label')
+ .attr('class', 'form-label')
+ .append('a')
+ .attr('href', '#')
+ .on('click', selectMember);
+
+ label.append('span')
+ .attr('class', 'member-entity-type')
+ .text(function(d) {
+ var matched = context.presets().match(d.member, context.graph());
+ return (matched && matched.name()) || utilDisplayType(d.member.id);
+ });
+
+ label.append('span')
+ .attr('class', 'member-entity-name')
+ .text(function(d) { return utilDisplayName(d.member); });
+
+ } else {
+ select(this).append('label')
+ .attr('class', 'form-label')
+ .text(t('inspector.incomplete', { id: d.id }));
+ }
+ });
+
+ enter
+ .append('input')
+ .attr('class', 'member-role')
+ .property('type', 'text')
+ .attr('maxlength', 255)
+ .attr('placeholder', t('inspector.role'))
+ .call(utilNoAuto)
+ .property('value', function(d) { return d.role; })
+ .on('change', changeRole);
+
+ enter
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', 'remove button-input-action member-delete minor')
+ .on('click', deleteMember)
+ .call(svgIcon('#operation-delete'));
+
+ if (taginfo) {
+ enter.each(bindTypeahead);
+ }
+
+
+ function bindTypeahead(d) {
+ var row = select(this),
+ role = row.selectAll('input.member-role');
+
+ function sort(value, data) {
+ var sameletter = [],
+ other = [];
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].value.substring(0, value.length) === value) {
+ sameletter.push(data[i]);
+ } else {
+ other.push(data[i]);
+ }
+ }
+ return sameletter.concat(other);
+ }
+
+ role.call(d3combobox()
+ .container(context.container())
+ .fetcher(function(role, callback) {
+ var rtype = entity.tags.type;
+ taginfo.roles({
+ debounce: true,
+ rtype: rtype || '',
+ geometry: context.geometry(d.member.id),
+ query: role
+ }, function(err, data) {
+ if (!err) callback(sort(role, data));
+ });
+ }));
+ }
+
+
+ function unbind() {
+ var row = select(this);
+
+ row.selectAll('input.member-role')
+ .call(d3combobox.off);
+ }
+ }
+ }
+
+
+ rawMemberEditor.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ return rawMemberEditor;
+ };
+
+
+ return rawMemberEditor;
+ }
+
+ function uiRawMembershipEditor(context) {
+ var taginfo = services.taginfo,
+ _entityID,
+ _showBlank;
+
+
+ function selectRelation(d) {
+ event.preventDefault();
+ context.enter(modeSelect(context, [d.relation.id]));
+ }
+
+
+ function changeRole(d) {
+ var role = select(this).property('value');
+ context.perform(
+ actionChangeMember(d.relation.id, assignIn({}, d.member, { role: role }), d.index),
+ t('operations.change_role.annotation')
+ );
+ }
+
+
+ function addMembership(d, role) {
+ _showBlank = false;
+
+ var member = { id: _entityID, type: context.entity(_entityID).type, role: role };
+
+ if (d.relation) {
+ context.perform(
+ actionAddMember(d.relation.id, member),
+ t('operations.add_member.annotation')
+ );
+
+ } else {
+ var relation = osmRelation();
+ context.perform(
+ actionAddEntity(relation),
+ actionAddMember(relation.id, member),
+ t('operations.add.annotation.relation')
+ );
+
+ context.enter(modeSelect(context, [relation.id]));
+ }
+ }
+
+
+ function deleteMembership(d) {
+ context.perform(
+ actionDeleteMember(d.relation.id, d.index),
+ t('operations.delete_member.annotation')
+ );
+ }
+
+
+ function relations(q) {
+ var newRelation = { relation: null, value: t('inspector.new_relation') };
+ var result = [];
+ var graph = context.graph();
+
+ context.intersects(context.extent()).forEach(function(entity) {
+ if (entity.type !== 'relation' || entity.id === _entityID)
+ return;
+
+ var matched = context.presets().match(entity, graph),
+ presetName = (matched && matched.name()) || t('inspector.relation'),
+ entityName = utilDisplayName(entity) || '';
+
+ var value = presetName + ' ' + entityName;
+ if (q && value.toLowerCase().indexOf(q.toLowerCase()) === -1)
+ return;
+
+ result.push({ relation: entity, value: value });
+ });
+
+ result.sort(function(a, b) {
+ return osmRelation.creationOrder(a.relation, b.relation);
+ });
+
+ // Dedupe identical names by appending relation id - see #2891
+ var dupeGroups = filter(
+ groupBy(result, 'value'),
+ function(v) { return v.length > 1; }
+ );
+
+ dupeGroups.forEach(function(group) {
+ group.forEach(function(obj) {
+ obj.value += ' ' + obj.relation.id;
+ });
+ });
+
+ forEach(result, function(obj) {
+ obj.title = obj.value;
+ });
+
+ result.unshift(newRelation);
+ return result;
+ }
+
+
+ function rawMembershipEditor(selection$$1) {
+ var entity = context.entity(_entityID),
+ parents = context.graph().parentRelations(entity),
+ memberships = [];
+
+ parents.slice(0, 1000).forEach(function(relation) {
+ relation.members.forEach(function(member, index) {
+ if (member.id === entity.id) {
+ memberships.push({ relation: relation, member: member, index: index });
+ }
+ });
+ });
+
+ var gt = parents.length > 1000 ? '>' : '';
+ selection$$1.call(uiDisclosure(context, 'raw_membership_editor', true)
+ .title(t('inspector.all_relations') + ' (' + gt + memberships.length + ')')
+ .expanded(true)
+ .updatePreference(false)
+ .on('toggled', function(expanded) {
+ if (expanded) { selection$$1.node().parentNode.scrollTop += 200; }
+ })
+ .content(content)
+ );
+
+
+ function content(wrap) {
+ var list = wrap.selectAll('.member-list')
+ .data([0]);
+
+ list = list.enter()
+ .append('ul')
+ .attr('class', 'member-list')
+ .merge(list);
+
+
+ var items = list.selectAll('li.member-row-normal')
+ .data(memberships, function(d) {
+ return osmEntity$$1.key(d.relation) + ',' + d.index;
+ });
+
+ items.exit()
+ .each(unbind)
+ .remove();
+
+ var enter = items.enter()
+ .append('li')
+ .attr('class', 'member-row member-row-normal form-field');
+
+ var label = enter
+ .append('label')
+ .attr('class', 'form-label')
+ .append('a')
+ .attr('href', '#')
+ .on('click', selectRelation);
+
+ label
+ .append('span')
+ .attr('class', 'member-entity-type')
+ .text(function(d) {
+ var matched = context.presets().match(d.relation, context.graph());
+ return (matched && matched.name()) || t('inspector.relation');
+ });
+
+ label
+ .append('span')
+ .attr('class', 'member-entity-name')
+ .text(function(d) { return utilDisplayName(d.relation); });
+
+ enter
+ .append('input')
+ .attr('class', 'member-role')
+ .property('type', 'text')
+ .attr('maxlength', 255)
+ .attr('placeholder', t('inspector.role'))
+ .call(utilNoAuto)
+ .property('value', function(d) { return d.member.role; })
+ .on('change', changeRole);
+
+ enter
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', 'remove button-input-action member-delete minor')
+ .on('click', deleteMembership)
+ .call(svgIcon('#operation-delete'));
+
+ if (taginfo) {
+ enter.each(bindTypeahead);
+ }
+
+
+ var newrow = list.selectAll('.member-row-new')
+ .data(_showBlank ? [0] : []);
+
+ newrow.exit()
+ .remove();
+
+ enter = newrow.enter()
+ .append('li')
+ .attr('class', 'member-row member-row-new form-field');
+
+ enter
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'member-entity-input')
+ .call(utilNoAuto);
+
+ enter
+ .append('input')
+ .attr('class', 'member-role')
+ .property('type', 'text')
+ .attr('maxlength', 255)
+ .attr('placeholder', t('inspector.role'))
+ .call(utilNoAuto)
+ .on('change', changeRole);
+
+ enter
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', 'remove button-input-action member-delete minor')
+ .on('click', deleteMembership)
+ .call(svgIcon('#operation-delete'));
+
+ newrow = newrow
+ .merge(enter);
+
+ newrow.selectAll('.member-entity-input')
+ .call(d3combobox()
+ .container(context.container())
+ .minItems(1)
+ .fetcher(function(value, callback) { callback(relations(value)); })
+ .on('accept', onAccept)
+ );
+
+
+ var addrel = wrap.selectAll('.add-relation')
+ .data([0]);
+
+ addrel = addrel.enter()
+ .append('button')
+ .attr('class', 'add-relation')
+ .merge(addrel);
+
+ addrel
+ .call(svgIcon('#icon-plus', 'light'))
+ .on('click', function() {
+ _showBlank = true;
+ content(wrap);
+ list.selectAll('.member-entity-input').node().focus();
+ });
+
+
+ function onAccept(d) {
+ var role = list.selectAll('.member-row-new .member-role').property('value');
+ addMembership(d, role);
+ }
+
+
+ function bindTypeahead(d) {
+ var row = select(this),
+ role = row.selectAll('input.member-role');
+
+ function sort(value, data) {
+ var sameletter = [],
+ other = [];
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].value.substring(0, value.length) === value) {
+ sameletter.push(data[i]);
+ } else {
+ other.push(data[i]);
+ }
+ }
+ return sameletter.concat(other);
+ }
+
+ role.call(d3combobox()
+ .container(context.container())
+ .fetcher(function(role, callback) {
+ var rtype = d.relation.tags.type;
+ taginfo.roles({
+ debounce: true,
+ rtype: rtype || '',
+ geometry: context.geometry(_entityID),
+ query: role
+ }, function(err, data) {
+ if (!err) callback(sort(role, data));
+ });
+ }));
+ }
+
+
+ function unbind() {
+ var row = select(this);
+
+ row.selectAll('input.member-role')
+ .call(d3combobox.off);
+ }
+ }
+ }
+
+
+ rawMembershipEditor.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ return rawMembershipEditor;
+ };
+
+
+ return rawMembershipEditor;
+ }
+
+ function uiTagReference(tag) {
+ var taginfo = services.taginfo;
+ var tagReference = {};
+
+ var _button = select(null);
+ var _body = select(null);
+ var _loaded;
+ var _showing;
+
+
+ function findLocal(data) {
+ var locale = utilDetect().locale.toLowerCase();
+ var localized;
+
+ if (locale !== 'pt-br') { // see #3776, prefer 'pt' over 'pt-br'
+ localized = find$1(data, function(d) {
+ return d.lang.toLowerCase() === locale;
+ });
+ if (localized) return localized;
+ }
+
+ // try the non-regional version of a language, like
+ // 'en' if the language is 'en-US'
+ if (locale.indexOf('-') !== -1) {
+ var first = locale.split('-')[0];
+ localized = find$1(data, function(d) {
+ return d.lang.toLowerCase() === first;
+ });
+ if (localized) return localized;
+ }
+
+ // finally fall back to english
+ return find$1(data, function(d) {
+ return d.lang.toLowerCase() === 'en';
+ });
+ }
+
+
+ function load(param) {
+ if (!taginfo) return;
+
+ _button
+ .classed('tag-reference-loading', true);
+
+ taginfo.docs(param, function show(err, data) {
+ var docs;
+ if (!err && data) {
+ docs = findLocal(data);
+ }
+
+ _body.html('');
+
+ if (!docs || !docs.title) {
+ if (param.hasOwnProperty('value')) {
+ load(omit(param, 'value')); // retry with key only
+ } else {
+ _body
+ .append('p')
+ .attr('class', 'tag-reference-description')
+ .text(t('inspector.no_documentation_key'));
+ done();
+ }
+ return;
+ }
+
+ if (docs.image && docs.image.thumb_url_prefix) {
+ _body
+ .append('img')
+ .attr('class', 'tag-reference-wiki-image')
+ .attr('src', docs.image.thumb_url_prefix + '100' + docs.image.thumb_url_suffix)
+ .on('load', function() { done(); })
+ .on('error', function() { select(this).remove(); done(); });
+ } else {
+ done();
+ }
+
+ _body
+ .append('p')
+ .attr('class', 'tag-reference-description')
+ .text(docs.description || t('inspector.documentation_redirect'));
+
+ _body
+ .append('a')
+ .attr('class', 'tag-reference-link')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', 'https://wiki.openstreetmap.org/wiki/' + docs.title)
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .append('span')
+ .text(t('inspector.reference'));
+
+ // Add link to info about "good changeset comments" - #2923
+ if (param.key === 'comment') {
+ _body
+ .append('a')
+ .attr('class', 'tag-reference-comment-link')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .attr('href', t('commit.about_changeset_comments_link'))
+ .append('span')
+ .text(t('commit.about_changeset_comments'));
+ }
+ });
+ }
+
+
+ function done() {
+ _loaded = true;
+
+ _button
+ .classed('tag-reference-loading', false);
+
+ _body
+ .classed('expanded', true)
+ .transition()
+ .duration(200)
+ .style('max-height', '200px')
+ .style('opacity', '1');
+
+ _showing = true;
+ }
+
+
+ function hide() {
+ _body
+ .transition()
+ .duration(200)
+ .style('max-height', '0px')
+ .style('opacity', '0')
+ .on('end', function () {
+ _body.classed('expanded', false);
+ });
+
+ _showing = false;
+ }
+
+
+ tagReference.button = function(selection$$1) {
+ _button = selection$$1.selectAll('.tag-reference-button')
+ .data([0]);
+
+ _button = _button.enter()
+ .append('button')
+ .attr('class', 'tag-reference-button')
+ .attr('title', t('icons.information'))
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-inspect'))
+ .merge(_button);
+
+ _button
+ .on('click', function () {
+ event.stopPropagation();
+ event.preventDefault();
+ if (_showing) {
+ hide();
+ } else if (_loaded) {
+ done();
+ } else {
+ load(tag);
+ }
+ });
+ };
+
+
+ tagReference.body = function(selection$$1) {
+ var tagid = tag.rtype || (tag.key + '-' + tag.value);
+ _body = selection$$1.selectAll('.tag-reference-body')
+ .data([tagid], function(d) { return d; });
+
+ _body.exit()
+ .remove();
+
+ _body = _body.enter()
+ .append('div')
+ .attr('class', 'tag-reference-body cf')
+ .style('max-height', '0')
+ .style('opacity', '0')
+ .merge(_body);
+
+ if (_showing === false) {
+ hide();
+ }
+ };
+
+
+ tagReference.showing = function(_) {
+ if (!arguments.length) return _showing;
+ _showing = _;
+ return tagReference;
+ };
+
+
+ return tagReference;
+ }
+
+ function uiRawTagEditor(context) {
+ var taginfo = services.taginfo,
+ dispatch$$1 = dispatch('change'),
+ _readOnlyTags = [],
+ _showBlank = false,
+ _updatePreference = true,
+ _expanded = false,
+ _newRow,
+ _state,
+ _preset,
+ _tags,
+ _entityID;
+
+
+ function rawTagEditor(selection$$1) {
+ var count = Object.keys(_tags).filter(function(d) { return d; }).length;
+
+ var disclosure = uiDisclosure(context, 'raw_tag_editor', false)
+ .title(t('inspector.all_tags') + ' (' + count + ')')
+ .on('toggled', toggled)
+ .updatePreference(_updatePreference)
+ .content(content);
+
+ // Sometimes we want to force the raw_tag_editor to be opened/closed..
+ // When undefined, uiDisclosure will use the user's stored preference.
+ if (_expanded !== undefined) {
+ disclosure.expanded(_expanded);
+ }
+
+ selection$$1.call(disclosure);
+
+ function toggled(expanded) {
+ _expanded = expanded;
+ if (expanded) {
+ selection$$1.node().parentNode.scrollTop += 200;
+ }
+ }
+ }
+
+
+ function content(wrap) {
+ var entries = map$3(_tags, function(v, k) {
+ return { key: k, value: v };
+ });
+
+ if (!entries.length || _showBlank) {
+ _showBlank = false;
+ entries.push({key: '', value: ''});
+ _newRow = '';
+ }
+
+ var list = wrap.selectAll('.tag-list')
+ .data([0]);
+
+ list = list.enter()
+ .append('ul')
+ .attr('class', 'tag-list')
+ .merge(list);
+
+ var newTag = wrap.selectAll('.add-tag')
+ .data([0]);
+
+ newTag.enter()
+ .append('button')
+ .attr('class', 'add-tag')
+ .on('click', addTag)
+ .call(svgIcon('#icon-plus', 'light'));
+
+
+ var items = list.selectAll('.tag-row')
+ .data(entries, function(d) { return d.key; });
+
+ items.exit()
+ .each(unbind)
+ .remove();
+
+ // Enter
+
+ var enter = items.enter()
+ .append('li')
+ .attr('class', 'tag-row cf')
+ .classed('readonly', isReadOnly);
+
+ enter
+ .append('div')
+ .attr('class', 'key-wrap')
+ .append('input')
+ .property('type', 'text')
+ .attr('class', 'key')
+ .attr('maxlength', 255)
+ .call(utilNoAuto)
+ .on('blur', keyChange)
+ .on('change', keyChange);
+
+ enter
+ .append('div')
+ .attr('class', 'input-wrap-position')
+ .append('input')
+ .property('type', 'text')
+ .attr('class', 'value')
+ .attr('maxlength', 255)
+ .call(utilNoAuto)
+ .on('blur', valueChange)
+ .on('change', valueChange)
+ .on('keydown.push-more', pushMore);
+
+ enter
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', 'remove minor')
+ .call(svgIcon('#operation-delete'));
+
+
+ // Update
+
+ items = items
+ .merge(enter)
+ .sort(function(a, b) {
+ return (a.key === _newRow && b.key !== _newRow) ? 1
+ : (a.key !== _newRow && b.key === _newRow) ? -1
+ : ascending(a.key, b.key);
+ });
+
+ items
+ .each(function(tag) {
+ var row = select(this),
+ key = row.select('input.key'), // propagate bound data to child
+ value = row.select('input.value'); // propagate bound data to child
+
+ if (_entityID && taginfo) {
+ bindTypeahead(key, value);
+ }
+
+ var isRelation = (_entityID && context.entity(_entityID).type === 'relation'),
+ reference;
+
+ if (isRelation && tag.key === 'type') {
+ reference = uiTagReference({ rtype: tag.value }, context);
+ } else {
+ reference = uiTagReference({ key: tag.key, value: tag.value }, context);
+ }
+
+ if (_state === 'hover') {
+ reference.showing(false);
+ }
+
+ row
+ .call(reference.button)
+ .call(reference.body);
+ });
+
+ items.selectAll('input.key')
+ .attr('title', function(d) { return d.key; })
+ .call(utilGetSetValue, function(d) { return d.key; })
+ .property('disabled', isReadOnly);
+
+ items.selectAll('input.value')
+ .attr('title', function(d) { return d.value; })
+ .call(utilGetSetValue, function(d) { return d.value; })
+ .property('disabled', isReadOnly);
+
+ items.selectAll('button.remove')
+ .on('click', removeTag);
+
+
+
+ function isReadOnly(d) {
+ for (var i = 0; i < _readOnlyTags.length; i++) {
+ if (d.key.match(_readOnlyTags[i]) !== null) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+
+ function pushMore() {
+ if (event.keyCode === 9 && !event.shiftKey &&
+ list.selectAll('li:last-child input.value').node() === this) {
+ addTag();
+ }
+ }
+
+
+ function bindTypeahead(key, value) {
+ if (isReadOnly({ key: key })) return;
+ var geometry = context.geometry(_entityID);
+
+ key.call(d3combobox()
+ .container(context.container())
+ .fetcher(function(value, callback) {
+ taginfo.keys({
+ debounce: true,
+ geometry: geometry,
+ query: value
+ }, function(err, data) {
+ if (!err) callback(sort(value, data));
+ });
+ }));
+
+ value.call(d3combobox()
+ .container(context.container())
+ .fetcher(function(value, callback) {
+ taginfo.values({
+ debounce: true,
+ key: utilGetSetValue(key),
+ geometry: geometry,
+ query: value
+ }, function(err, data) {
+ if (!err) callback(sort(value, data));
+ });
+ }));
+
+
+ function sort(value, data) {
+ var sameletter = [],
+ other = [];
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].value.substring(0, value.length) === value) {
+ sameletter.push(data[i]);
+ } else {
+ other.push(data[i]);
+ }
+ }
+ return sameletter.concat(other);
+ }
+ }
+
+
+ function unbind() {
+ var row = select(this);
+
+ row.selectAll('input.key')
+ .call(d3combobox.off);
+
+ row.selectAll('input.value')
+ .call(d3combobox.off);
+ }
+
+
+ function keyChange(d) {
+ var kOld = d.key,
+ kNew = this.value.trim(),
+ tag = {};
+
+
+ if (isReadOnly({ key: kNew })) {
+ this.value = kOld;
+ return;
+ }
+
+ if (kNew && kNew !== kOld) {
+ var match = kNew.match(/^(.*?)(?:_(\d+))?$/),
+ base = match[1],
+ suffix = +(match[2] || 1);
+ while (_tags[kNew]) { // rename key if already in use
+ kNew = base + '_' + suffix++;
+ }
+ }
+ tag[kOld] = undefined;
+ tag[kNew] = d.value;
+
+ d.key = kNew; // Maintain DOM identity through the subsequent update.
+
+ if (_newRow === kOld) { // see if this row is still a new row
+ _newRow = ((d.value === '' || kNew === '') ? kNew : undefined);
+ }
+
+ this.value = kNew;
+ dispatch$$1.call('change', this, tag);
+ }
+
+
+ function valueChange(d) {
+ if (isReadOnly(d)) return;
+ var tag = {};
+ tag[d.key] = this.value;
+
+ if (_newRow === d.key && d.key !== '' && d.value !== '') { // not a new row anymore
+ _newRow = undefined;
+ }
+
+ dispatch$$1.call('change', this, tag);
+ }
+
+
+ function removeTag(d) {
+ if (isReadOnly(d)) return;
+ var tag = {};
+ tag[d.key] = undefined;
+ dispatch$$1.call('change', this, tag);
+ select(this.parentNode).remove();
+ }
+
+
+ function addTag() {
+ // Wrapped in a setTimeout in case it's being called from a blur
+ // handler. Without the setTimeout, the call to `content` would
+ // wipe out the pending value change.
+ window.setTimeout(function() {
+ _showBlank = true;
+ content(wrap);
+ list.selectAll('li:last-child input.key').node().focus();
+ }, 1);
+ }
+ }
+
+
+ rawTagEditor.state = function(_) {
+ if (!arguments.length) return _state;
+ _state = _;
+ return rawTagEditor;
+ };
+
+
+ rawTagEditor.preset = function(_) {
+ if (!arguments.length) return _preset;
+ _preset = _;
+ if (_preset.isFallback()) {
+ _expanded = true;
+ _updatePreference = false;
+ } else {
+ _expanded = undefined;
+ _updatePreference = true;
+ }
+ return rawTagEditor;
+ };
+
+
+ rawTagEditor.tags = function(_) {
+ if (!arguments.length) return _tags;
+ _tags = _;
+ return rawTagEditor;
+ };
+
+
+ rawTagEditor.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ return rawTagEditor;
+ };
+
+
+ rawTagEditor.expanded = function(_) {
+ if (!arguments.length) return _expanded;
+ _expanded = _;
+ _updatePreference = false;
+ return rawTagEditor;
+ };
+
+
+ rawTagEditor.readOnlyTags = function(_) {
+ if (!arguments.length) return _readOnlyTags;
+ _readOnlyTags = _;
+ return rawTagEditor;
+ };
+
+
+ return utilRebind(rawTagEditor, dispatch$$1, 'on');
+ }
+
+ // This currently only works with the 'restrictions' field
+ // It borrows some code from uiHelp
+
+ function uiFieldHelp(context, fieldName) {
+ var fieldHelp = {};
+ var _inspector = select(null);
+ var _wrap = select(null);
+ var _body = select(null);
+
+ var fieldHelpKeys = {
+ restrictions: [
+ ['about',[
+ 'about',
+ 'from_via_to',
+ 'maxdist',
+ 'maxvia'
+ ]],
+ ['inspecting',[
+ 'about',
+ 'from_shadow',
+ 'allow_shadow',
+ 'restrict_shadow',
+ 'only_shadow',
+ 'restricted',
+ 'only'
+ ]],
+ ['modifying',[
+ 'about',
+ 'indicators',
+ 'allow_turn',
+ 'restrict_turn',
+ 'only_turn'
+ ]],
+ ['tips',[
+ 'simple',
+ 'simple_example',
+ 'indirect',
+ 'indirect_example',
+ 'indirect_noedit'
+ ]]
+ ]
+ };
+
+ var fieldHelpHeadings = {};
+
+ var replacements = {
+ distField: t('restriction.controls.distance'),
+ viaField: t('restriction.controls.via'),
+ fromShadow: icon('#turn-shadow', 'pre-text shadow from'),
+ allowShadow: icon('#turn-shadow', 'pre-text shadow allow'),
+ restrictShadow: icon('#turn-shadow', 'pre-text shadow restrict'),
+ onlyShadow: icon('#turn-shadow', 'pre-text shadow only'),
+ allowTurn: icon('#turn-yes', 'pre-text turn'),
+ restrictTurn: icon('#turn-no', 'pre-text turn'),
+ onlyTurn: icon('#turn-only', 'pre-text turn')
+ };
+
+
+ // For each section, squash all the texts into a single markdown document
+ var docs = fieldHelpKeys[fieldName].map(function(key) {
+ var helpkey = 'help.field.' + fieldName + '.' + key[0];
+ var text = key[1].reduce(function(all, part) {
+ var subkey = helpkey + '.' + part;
+ var depth = fieldHelpHeadings[subkey]; // is this subkey a heading?
+ var hhh = depth ? Array(depth + 1).join('#') + ' ' : ''; // if so, prepend with some ##'s
+ return all + hhh + t(subkey, replacements) + '\n\n';
+ }, '');
+
+ return {
+ key: helpkey,
+ title: t(helpkey + '.title'),
+ html: marked(text.trim())
+ };
+ });
+
+
+ function show() {
+ updatePosition();
+
+ _body
+ .classed('hide', false)
+ .style('opacity', '0')
+ .transition()
+ .duration(200)
+ .style('opacity', '1');
+ }
+
+
+ function hide() {
+ _body
+ .classed('hide', true)
+ .transition()
+ .duration(200)
+ .style('opacity', '0')
+ .on('end', function () {
+ _body.classed('hide', true);
+ });
+ }
+
+
+ function clickHelp(index) {
+ var d = docs[index];
+ var tkeys = fieldHelpKeys[fieldName][index][1];
+
+ _body.selectAll('.field-help-nav-item')
+ .classed('active', function(d, i) { return i === index; });
+
+ var content = _body.selectAll('.field-help-content')
+ .html(d.html);
+
+ // class the paragraphs so we can find and style them
+ content.selectAll('p')
+ .attr('class', function(d, i) { return tkeys[i]; });
+
+ // insert special content for certain help sections
+ if (d.key === 'help.field.restrictions.inspecting') {
+ content
+ .insert('img', 'p.from_shadow')
+ .attr('class', 'field-help-image cf')
+ .attr('src', context.imagePath('tr_inspect.gif'));
+
+ } else if (d.key === 'help.field.restrictions.modifying') {
+ content
+ .insert('img', 'p.allow_turn')
+ .attr('class', 'field-help-image cf')
+ .attr('src', context.imagePath('tr_modify.gif'));
+ }
+ }
+
+
+ fieldHelp.button = function(selection$$1) {
+ if (_body.empty()) return;
+
+ var button = selection$$1.selectAll('.field-help-button')
+ .data([0]);
+
+ // enter/update
+ button.enter()
+ .append('button')
+ .attr('class', 'field-help-button')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-help'))
+ .merge(button)
+ .on('click', function () {
+ event.stopPropagation();
+ event.preventDefault();
+ if (_body.classed('hide')) {
+ show();
+ } else {
+ hide();
+ }
+ });
+ };
+
+
+ function updatePosition() {
+ var wrap = _wrap.node();
+ var inspector = _inspector.node();
+ var wRect = wrap.getBoundingClientRect();
+ var iRect = inspector.getBoundingClientRect();
+
+ _body
+ .style('top', wRect.top + inspector.scrollTop - iRect.top + 'px');
+ }
+
+
+ fieldHelp.body = function(selection$$1) {
+ // This control expects the field to have a preset-input-wrap div
+ _wrap = selection$$1.selectAll('.preset-input-wrap');
+ if (_wrap.empty()) return;
+
+ // absolute position relative to the inspector, so it "floats" above the fields
+ _inspector = select('#sidebar .entity-editor-pane .inspector-body');
+ if (_inspector.empty()) return;
+
+ _body = _inspector.selectAll('.field-help-body')
+ .data([0]);
+
+ var enter = _body.enter()
+ .append('div')
+ .attr('class', 'field-help-body hide'); // initially hidden
+
+ var titleEnter = enter
+ .append('div')
+ .attr('class', 'field-help-title cf');
+
+ titleEnter
+ .append('h2')
+ .attr('class', 'fl')
+ .text(t('help.field.' + fieldName + '.title'));
+
+ titleEnter
+ .append('button')
+ .attr('class', 'fr close')
+ .on('click', function() {
+ event.stopPropagation();
+ event.preventDefault();
+ hide();
+ })
+ .call(svgIcon('#icon-close'));
+
+ var navEnter = enter
+ .append('div')
+ .attr('class', 'field-help-nav cf');
+
+ var titles = docs.map(function(d) { return d.title; });
+ navEnter.selectAll('.field-help-nav-item')
+ .data(titles)
+ .enter()
+ .append('div')
+ .attr('class', 'field-help-nav-item')
+ .text(function(d) { return d; })
+ .on('click', function(d, i) {
+ event.stopPropagation();
+ event.preventDefault();
+ clickHelp(i);
+ });
+
+ enter
+ .append('div')
+ .attr('class', 'field-help-content');
+
+ _body = _body
+ .merge(enter);
+
+ clickHelp(0);
+ };
+
+
+ return fieldHelp;
+ }
+
+ function uiFieldCheck(field, context) {
+ var dispatch$$1 = dispatch('change');
+ var options = field.strings && field.strings.options;
+ var values = [];
+ var texts = [];
+
+ var input = select(null);
+ var text = select(null);
+ var label = select(null);
+ var reverser = select(null);
+
+ var _impliedYes;
+ var _entityID;
+ var _value;
+
+
+ if (options) {
+ for (var k in options) {
+ values.push(k === 'undefined' ? undefined : k);
+ texts.push(field.t('options.' + k, { 'default': options[k] }));
+ }
+ } else {
+ values = [undefined, 'yes'];
+ texts = [t('inspector.unknown'), t('inspector.check.yes')];
+ if (field.type !== 'defaultCheck') {
+ values.push('no');
+ texts.push(t('inspector.check.no'));
+ }
+ }
+
+
+ // Checks tags to see whether an undefined value is "Assumed to be Yes"
+ function checkImpliedYes() {
+ _impliedYes = (field.id === 'oneway_yes');
+
+ // hack: pretend `oneway` field is a `oneway_yes` field
+ // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
+ if (field.id === 'oneway') {
+ var entity = context.entity(_entityID);
+ for (var key in entity.tags) {
+ if (key in osmOneWayTags && (entity.tags[key] in osmOneWayTags[key])) {
+ _impliedYes = true;
+ texts[0] = t('presets.fields.oneway_yes.options.undefined');
+ break;
+ }
+ }
+ }
+ }
+
+
+ function reverserHidden() {
+ if (!select('div.inspector-hover').empty()) return true;
+ return !(_value === 'yes' || (_impliedYes && !_value));
+ }
+
+
+ function reverserSetText(selection$$1) {
+ var entity = context.hasEntity(_entityID);
+ if (reverserHidden() || !entity) return selection$$1;
+
+ var first = entity.first();
+ var last = entity.isClosed() ? entity.nodes[entity.nodes.length - 2] : entity.last();
+ var pseudoDirection = first < last;
+ var icon = pseudoDirection ? '#icon-forward' : '#icon-backward';
+
+ selection$$1.selectAll('.reverser-span')
+ .text(t('inspector.check.reverser'))
+ .call(svgIcon(icon, 'inline'));
+
+ return selection$$1;
+ }
+
+
+ var check = function(selection$$1) {
+ checkImpliedYes();
+ selection$$1.classed('checkselect', 'true');
+
+ label = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ var enter = label.enter()
+ .append('label')
+ .attr('class', 'preset-input-wrap');
+
+ enter
+ .append('input')
+ .property('indeterminate', field.type !== 'defaultCheck')
+ .attr('type', 'checkbox')
+ .attr('id', 'preset-input-' + field.safeid);
+
+ enter
+ .append('span')
+ .text(texts[0])
+ .attr('class', 'value');
+
+ if (field.type === 'onewayCheck') {
+ enter
+ .append('a')
+ .attr('id', 'preset-input-' + field.safeid + '-reverser')
+ .attr('class', 'reverser button' + (reverserHidden() ? ' hide' : ''))
+ .attr('href', '#')
+ .append('span')
+ .attr('class', 'reverser-span');
+ }
+
+ label = label.merge(enter);
+ input = label.selectAll('input');
+ text = label.selectAll('span.value');
+
+ input
+ .on('click', function() {
+ event.stopPropagation();
+ var t$$1 = {};
+ t$$1[field.key] = values[(values.indexOf(_value) + 1) % values.length];
+
+ // Don't cycle through `alternating` or `reversible` states - #4970
+ // (They are supported as translated strings, but should not toggle with clicks)
+ if (t$$1[field.key] === 'reversible' || t$$1[field.key] === 'alternating') {
+ t$$1[field.key] = values[0];
+ }
+
+ dispatch$$1.call('change', this, t$$1);
+ });
+
+ if (field.type === 'onewayCheck') {
+ reverser = label.selectAll('.reverser');
+
+ reverser
+ .call(reverserSetText)
+ .on('click', function() {
+ event.preventDefault();
+ event.stopPropagation();
+ context.perform(
+ actionReverse(_entityID),
+ t('operations.reverse.annotation')
+ );
+ select(this)
+ .call(reverserSetText);
+ });
+ }
+ };
+
+
+ check.entity = function(_) {
+ if (!arguments.length) return context.hasEntity(_entityID);
+ _entityID = _.id;
+ return check;
+ };
+
+
+ check.tags = function(tags) {
+
+ function isChecked(val) {
+ return val !== 'no' && val !== '' && val !== undefined && val !== null;
+ }
+
+ function textFor(val) {
+ if (val === '') val = undefined;
+ var index = values.indexOf(val);
+ return (index !== -1 ? texts[index] : ('"' + val + '"'));
+ }
+
+ checkImpliedYes();
+ _value = tags[field.key] && tags[field.key].toLowerCase();
+
+ if (field.type === 'onewayCheck' && (_value === '1' || _value === '-1')) {
+ _value = 'yes';
+ }
+
+ input
+ .property('indeterminate', field.type !== 'defaultCheck' && !_value)
+ .property('checked', isChecked(_value));
+
+ text
+ .text(textFor(_value));
+
+ label
+ .classed('set', !!_value);
+
+ if (field.type === 'onewayCheck') {
+ reverser
+ .classed('hide', reverserHidden())
+ .call(reverserSetText);
+ }
+ };
+
+
+ check.focus = function() {
+ input.node().focus();
+ };
+
+ return utilRebind(check, dispatch$$1, 'on');
+ }
+
+ /** Used for built-in method references. */
+ var arrayProto$1 = Array.prototype;
+
+ /** Built-in value references. */
+ var splice$1 = arrayProto$1.splice;
+
+ /**
+ * The base implementation of `_.pullAt` without support for individual
+ * indexes or capturing the removed elements.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {number[]} indexes The indexes of elements to remove.
+ * @returns {Array} Returns `array`.
+ */
+ function basePullAt(array, indexes) {
+ var length = array ? indexes.length : 0,
+ lastIndex = length - 1;
+
+ while (length--) {
+ var index = indexes[length];
+ if (length == lastIndex || index !== previous) {
+ var previous = index;
+ if (isIndex(index)) {
+ splice$1.call(array, index, 1);
+ } else {
+ baseUnset(array, index);
+ }
+ }
+ }
+ return array;
+ }
+
+ /**
+ * Removes all elements from `array` that `predicate` returns truthy for
+ * and returns an array of the removed elements. The predicate is invoked
+ * with three arguments: (value, index, array).
+ *
+ * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`
+ * to pull elements from an array by value.
+ *
+ * @static
+ * @memberOf _
+ * @since 2.0.0
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
+ * @returns {Array} Returns the new array of removed elements.
+ * @example
+ *
+ * var array = [1, 2, 3, 4];
+ * var evens = _.remove(array, function(n) {
+ * return n % 2 == 0;
+ * });
+ *
+ * console.log(array);
+ * // => [1, 3]
+ *
+ * console.log(evens);
+ * // => [2, 4]
+ */
+ function remove$8(array, predicate) {
+ var result = [];
+ if (!(array && array.length)) {
+ return result;
+ }
+ var index = -1,
+ indexes = [],
+ length = array.length;
+
+ predicate = baseIteratee(predicate, 3);
+ while (++index < length) {
+ var value = array[index];
+ if (predicate(value, index, array)) {
+ result.push(value);
+ indexes.push(index);
+ }
+ }
+ basePullAt(array, indexes);
+ return result;
+ }
+
+ function uiFieldCombo(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ nominatim = services.geocoder,
+ taginfo = services.taginfo,
+ isMulti = (field.type === 'multiCombo'),
+ isNetwork = (field.type === 'networkCombo'),
+ isSemi = (field.type === 'semiCombo'),
+ optstrings = field.strings && field.strings.options,
+ optarray = field.options,
+ snake_case = (field.snake_case || (field.snake_case === undefined)),
+ caseSensitive = field.caseSensitive,
+ combobox = d3combobox()
+ .container(context.container())
+ .caseSensitive(caseSensitive)
+ .minItems(isMulti || isSemi ? 1 : 2),
+ comboData = [],
+ multiData = [],
+ container,
+ input,
+ entity,
+ country;
+
+ // ensure multiCombo field.key ends with a ':'
+ if (isMulti && field.key.match(/:$/) === null) {
+ field.key += ':';
+ }
+
+
+ function snake(s) {
+ return s.replace(/\s+/g, '_');
+ }
+
+ function unsnake(s) {
+ return s.replace(/_+/g, ' ');
+ }
+
+ function clean(s) {
+ return s.split(';')
+ .map(function(s) { return s.trim(); })
+ .join(';');
+ }
+
+
+ // returns the tag value for a display value
+ // (for multiCombo, dval should be the key suffix, not the entire key)
+ function tagValue(dval) {
+ dval = clean(dval || '');
+
+ if (optstrings) {
+ var match = find$1(comboData, function(o) {
+ return o.key && clean(o.value) === dval;
+ });
+ if (match) {
+ return match.key;
+ }
+ }
+
+ if (field.type === 'typeCombo' && !dval) {
+ return 'yes';
+ }
+
+ return (snake_case ? snake(dval) : dval) || undefined;
+ }
+
+
+ // returns the display value for a tag value
+ // (for multiCombo, tval should be the key suffix, not the entire key)
+ function displayValue(tval) {
+ tval = tval || '';
+
+ if (optstrings) {
+ var match = find$1(comboData, function(o) { return o.key === tval && o.value; });
+ if (match) {
+ return match.value;
+ }
+ }
+
+ if (field.type === 'typeCombo' && tval.toLowerCase() === 'yes') {
+ return '';
+ }
+
+ return snake_case ? unsnake(tval) : tval;
+ }
+
+
+ function objectDifference(a, b) {
+ return reject(a, function(d1) {
+ return some(b, function(d2) { return d1.value === d2.value; });
+ });
+ }
+
+
+ function initCombo(selection$$1, attachTo) {
+ if (optstrings) {
+ selection$$1.attr('readonly', 'readonly');
+ selection$$1.call(combobox, attachTo);
+ setStaticValues(setPlaceholder);
+
+ } else if (optarray) {
+ selection$$1.call(combobox, attachTo);
+ setStaticValues(setPlaceholder);
+
+ } else if (taginfo) {
+ selection$$1.call(combobox.fetcher(setTaginfoValues), attachTo);
+ setTaginfoValues('', setPlaceholder);
+ }
+ }
+
+
+ function setStaticValues(callback) {
+ if (!(optstrings || optarray)) return;
+
+ if (optstrings) {
+ comboData = Object.keys(optstrings).map(function(k) {
+ var v = field.t('options.' + k, { 'default': optstrings[k] });
+ return {
+ key: k,
+ value: v,
+ title: v
+ };
+ });
+
+ } else if (optarray) {
+ comboData = optarray.map(function(k) {
+ var v = snake_case ? unsnake(k) : k;
+ return {
+ key: k,
+ value: v,
+ title: v
+ };
+ });
+ }
+
+ combobox.data(objectDifference(comboData, multiData));
+ if (callback) callback(comboData);
+ }
+
+
+ function setTaginfoValues(q, callback) {
+ var fn = isMulti ? 'multikeys' : 'values';
+ var query = (isMulti ? field.key : '') + q;
+ var hasCountryPrefix = isNetwork && country && country.indexOf(q.toLowerCase()) === 0;
+ if (hasCountryPrefix) {
+ query = country + ':';
+ }
+
+ var params = {
+ debounce: (q !== ''),
+ key: field.key,
+ query: query
+ };
+
+ if (entity) {
+ params.geometry = context.geometry(entity.id);
+ }
+
+ taginfo[fn](params, function(err, data) {
+ if (err) return;
+ if (hasCountryPrefix) {
+ data = filter(data, function(d) {
+ return d.value.toLowerCase().indexOf(country + ':') === 0;
+ });
+ }
+
+ comboData = map$3(data, function(d) {
+ var k = d.value;
+ if (isMulti) k = k.replace(field.key, '');
+ var v = snake_case ? unsnake(k) : k;
+ return {
+ key: k,
+ value: v,
+ title: isMulti ? v : d.title
+ };
+ });
+
+ comboData = objectDifference(comboData, multiData);
+ if (callback) callback(comboData);
+ });
+ }
+
+
+ function setPlaceholder(d) {
+ var ph;
+
+ if (isMulti || isSemi) {
+ ph = field.placeholder() || t('inspector.add');
+ } else {
+ var vals = map$3(d, 'value').filter(function(s) { return s.length < 20; }),
+ placeholders = vals.length > 1 ? vals : map$3(d, 'key');
+ ph = field.placeholder() || placeholders.slice(0, 3).join(', ');
+ }
+
+ if (ph.match(/(…|\.\.\.)$/) === null) {
+ ph += '…';
+ }
+
+ container.selectAll('input')
+ .attr('placeholder', ph);
+ }
+
+
+ function change() {
+ var val = tagValue(utilGetSetValue(input)),
+ t$$1 = {};
+
+ if (isMulti || isSemi) {
+ if (!val) return;
+ container.classed('active', false);
+ utilGetSetValue(input, '');
+ if (isMulti) {
+ field.keys.push(field.key + val);
+ t$$1[field.key + val] = 'yes';
+ } else if (isSemi) {
+ var arr = multiData.map(function(d) { return d.key; });
+ arr.push(val);
+ t$$1[field.key] = compact(uniq(arr)).join(';');
+ }
+ window.setTimeout(function() { input.node().focus(); }, 10);
+
+ } else {
+ t$$1[field.key] = val;
+ }
+
+ dispatch$$1.call('change', this, t$$1);
+ }
+
+
+ function removeMultikey(d) {
+ event.stopPropagation();
+ var t$$1 = {};
+ if (isMulti) {
+ t$$1[d.key] = undefined;
+ } else if (isSemi) {
+ remove$8(multiData, function(md) { return md.key === d.key; });
+ var arr = multiData.map(function(md) { return md.key; });
+ arr = compact(uniq(arr));
+ t$$1[field.key] = arr.length ? arr.join(';') : undefined;
+ }
+ dispatch$$1.call('change', this, t$$1);
+ }
+
+
+ function combo(selection$$1) {
+ if (isMulti || isSemi) {
+ container = selection$$1.selectAll('ul').data([0]);
+
+ container = container.enter()
+ .append('ul')
+ .attr('class', 'form-field-multicombo')
+ .on('click', function() {
+ window.setTimeout(function() { input.node().focus(); }, 10);
+ })
+ .merge(container);
+
+ } else {
+ container = selection$$1;
+ }
+
+ input = container.selectAll('input')
+ .data([0]);
+
+ input = input.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('id', 'preset-input-' + field.safeid)
+ .call(utilNoAuto)
+ .call(initCombo, selection$$1)
+ .merge(input);
+
+ if (isNetwork && nominatim && entity) {
+ var center = entity.extent(context.graph()).center();
+ nominatim.countryCode(center, function (err, code) {
+ country = code;
+ });
+ }
+
+ input
+ .on('change', change)
+ .on('blur', change);
+
+ if (isMulti || isSemi) {
+ combobox
+ .on('accept', function() {
+ input.node().blur();
+ input.node().focus();
+ });
+
+ input
+ .on('focus', function() { container.classed('active', true); });
+ }
+ }
+
+
+ combo.tags = function(tags) {
+ if (isMulti || isSemi) {
+ multiData = [];
+
+ if (isMulti) {
+ // Build multiData array containing keys already set..
+ Object.keys(tags).forEach(function(key) {
+ if (key.indexOf(field.key) !== 0 || tags[key].toLowerCase() !== 'yes') return;
+
+ var suffix = key.substring(field.key.length);
+ multiData.push({
+ key: key,
+ value: displayValue(suffix)
+ });
+ });
+
+ // Set keys for form-field modified (needed for undo and reset buttons)..
+ field.keys = map$3(multiData, 'key');
+
+ } else if (isSemi) {
+ var arr = compact(uniq((tags[field.key] || '').split(';')));
+ multiData = arr.map(function(key) {
+ return {
+ key: key,
+ value: displayValue(key)
+ };
+ });
+ }
+
+ // Exclude existing multikeys from combo options..
+ var available = objectDifference(comboData, multiData);
+ combobox.data(available);
+
+ // Hide 'Add' button if this field uses fixed set of
+ // translateable optstrings and they're all currently used..
+ container.selectAll('.combobox-input, .combobox-caret')
+ .classed('hide', optstrings && !available.length);
+
+
+ // Render chips
+ var chips = container.selectAll('.chips')
+ .data(multiData);
+
+ chips.exit()
+ .remove();
+
+ var enter = chips.enter()
+ .insert('li', 'input')
+ .attr('class', 'chips');
+
+ enter.append('span');
+ enter.append('a');
+
+ chips = chips.merge(enter);
+
+ chips.select('span')
+ .text(function(d) { return d.value; });
+
+ chips.select('a')
+ .on('click', removeMultikey)
+ .attr('class', 'remove')
+ .text('×');
+
+ } else {
+ utilGetSetValue(input, displayValue(tags[field.key]));
+ }
+ };
+
+
+ combo.focus = function() {
+ input.node().focus();
+ };
+
+
+ combo.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return combo;
+ };
+
+
+ return utilRebind(combo, dispatch$$1, 'on');
+ }
+
+ function uiFieldText(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ nominatim = services.geocoder,
+ input,
+ entity;
+
+
+ function i(selection$$1) {
+ var fieldId = 'preset-input-' + field.safeid;
+
+ input = selection$$1.selectAll('input')
+ .data([0]);
+
+ input = input.enter()
+ .append('input')
+ .attr('type', field.type)
+ .attr('id', fieldId)
+ .attr('placeholder', field.placeholder() || t('inspector.unknown'))
+ .call(utilNoAuto)
+ .merge(input);
+
+ input
+ .on('input', change(true))
+ .on('blur', change())
+ .on('change', change());
+
+ if (field.type === 'tel' && nominatim && entity) {
+ var center = entity.extent(context.graph()).center();
+ nominatim.countryCode(center, function (err, countryCode) {
+ if (err || !dataPhoneFormats[countryCode]) return;
+ selection$$1.selectAll('#' + fieldId)
+ .attr('placeholder', dataPhoneFormats[countryCode]);
+ });
+
+ } else if (field.type === 'number') {
+ var rtl = (textDirection === 'rtl');
+
+ input.attr('type', 'text');
+
+ var spinControl = selection$$1.selectAll('.spin-control')
+ .data([0]);
+
+ var enter = spinControl.enter()
+ .append('div')
+ .attr('class', 'spin-control');
+
+ enter
+ .append('button')
+ .datum(rtl ? 1 : -1)
+ .attr('class', rtl ? 'increment' : 'decrement')
+ .attr('tabindex', -1);
+
+ enter
+ .append('button')
+ .datum(rtl ? -1 : 1)
+ .attr('class', rtl ? 'decrement' : 'increment')
+ .attr('tabindex', -1);
+
+ spinControl = spinControl
+ .merge(enter);
+
+ spinControl.selectAll('button')
+ .on('click', function(d) {
+ event.preventDefault();
+ var num = parseInt(input.node().value || 0, 10);
+ if (!isNaN(num)) input.node().value = num + d;
+ change()();
+ });
+ }
+ }
+
+
+ function change(onInput) {
+ return function() {
+ var t$$1 = {};
+ t$$1[field.key] = utilGetSetValue(input) || undefined;
+ dispatch$$1.call('change', this, t$$1, onInput);
+ };
+ }
+
+
+ i.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return i;
+ };
+
+
+ i.tags = function(tags) {
+ utilGetSetValue(input, tags[field.key] || '');
+ };
+
+
+ i.focus = function() {
+ var node = input.node();
+ if (node) node.focus();
+ };
+
+ return utilRebind(i, dispatch$$1, 'on');
+ }
+
+ function uiFieldAccess(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ items;
+
+ function access(selection$$1) {
+ var wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'cf preset-input-wrap')
+ .append('ul')
+ .merge(wrap);
+
+ var list = wrap.selectAll('ul')
+ .data([0]);
+
+ list = list.enter()
+ .append('ul')
+ .merge(list);
+
+
+ items = list.selectAll('li')
+ .data(field.keys);
+
+ // Enter
+ var enter = items.enter()
+ .append('li')
+ .attr('class', function(d) { return 'cf preset-access-' + d; });
+
+ enter
+ .append('span')
+ .attr('class', 'col6 label preset-label-access')
+ .attr('for', function(d) { return 'preset-input-access-' + d; })
+ .text(function(d) { return field.t('types.' + d); });
+
+ enter
+ .append('div')
+ .attr('class', 'col6 preset-input-access-wrap')
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'preset-input-access')
+ .attr('id', function(d) { return 'preset-input-access-' + d; })
+ .call(utilNoAuto)
+ .each(function(d) {
+ select(this)
+ .call(d3combobox()
+ .container(context.container())
+ .data(access.options(d))
+ );
+ });
+
+
+ // Update
+ items = items.merge(enter);
+
+ wrap.selectAll('.preset-input-access')
+ .on('change', change)
+ .on('blur', change);
+ }
+
+
+ function change(d) {
+ var tag = {};
+ tag[d] = utilGetSetValue(select(this)) || undefined;
+ dispatch$$1.call('change', this, tag);
+ }
+
+
+ access.options = function(type) {
+ var options = ['no', 'permissive', 'private', 'destination'];
+
+ if (type !== 'access') {
+ options.unshift('yes');
+ options.push('designated');
+
+ if (type === 'bicycle') {
+ options.push('dismount');
+ }
+ }
+
+ return options.map(function(option) {
+ return {
+ title: field.t('options.' + option + '.description'),
+ value: option
+ };
+ });
+ };
+
+
+ var placeholders = {
+ footway: {
+ foot: 'designated',
+ motor_vehicle: 'no'
+ },
+ steps: {
+ foot: 'yes',
+ motor_vehicle: 'no',
+ bicycle: 'no',
+ horse: 'no'
+ },
+ pedestrian: {
+ foot: 'yes',
+ motor_vehicle: 'no'
+ },
+ cycleway: {
+ motor_vehicle: 'no',
+ bicycle: 'designated'
+ },
+ bridleway: {
+ motor_vehicle: 'no',
+ horse: 'designated'
+ },
+ path: {
+ foot: 'yes',
+ motor_vehicle: 'no',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ motorway: {
+ foot: 'no',
+ motor_vehicle: 'yes',
+ bicycle: 'no',
+ horse: 'no'
+ },
+ trunk: {
+ motor_vehicle: 'yes'
+ },
+ primary: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ secondary: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ tertiary: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ residential: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ unclassified: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ service: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ motorway_link: {
+ foot: 'no',
+ motor_vehicle: 'yes',
+ bicycle: 'no',
+ horse: 'no'
+ },
+ trunk_link: {
+ motor_vehicle: 'yes'
+ },
+ primary_link: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ secondary_link: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ },
+ tertiary_link: {
+ foot: 'yes',
+ motor_vehicle: 'yes',
+ bicycle: 'yes',
+ horse: 'yes'
+ }
+ };
+
+
+ access.tags = function(tags) {
+ utilGetSetValue(items.selectAll('.preset-input-access'),
+ function(d) { return tags[d] || ''; })
+ .attr('placeholder', function() {
+ return tags.access ? tags.access : field.placeholder();
+ });
+
+ items.selectAll('#preset-input-access-access')
+ .attr('placeholder', 'yes');
+
+ forEach(placeholders[tags.highway], function(v, k) {
+ items.selectAll('#preset-input-access-' + k)
+ .attr('placeholder', function() { return (tags.access || v); });
+ });
+ };
+
+
+ access.focus = function() {
+ items.selectAll('.preset-input-access')
+ .node().focus();
+ };
+
+
+ return utilRebind(access, dispatch$$1, 'on');
+ }
+
+ function uiFieldAddress(field, context) {
+ var dispatch$$1 = dispatch('init', 'change'),
+ nominatim = services.geocoder,
+ wrap = select(null),
+ isInitialized = false,
+ entity;
+
+ function getNearStreets() {
+ var extent = entity.extent(context.graph()),
+ l = extent.center(),
+ box = geoExtent$$1(l).padByMeters(200);
+
+ var streets = context.intersects(box)
+ .filter(isAddressable)
+ .map(function(d) {
+ var loc = context.projection([
+ (extent[0][0] + extent[1][0]) / 2,
+ (extent[0][1] + extent[1][1]) / 2]),
+ choice = geoChooseEdge(context.childNodes(d), loc, context.projection);
+ return {
+ title: d.tags.name,
+ value: d.tags.name,
+ dist: choice.distance
+ };
+ })
+ .sort(function(a, b) {
+ return a.dist - b.dist;
+ });
+
+ return uniqBy(streets, 'value');
+
+ function isAddressable(d) {
+ return d.tags.highway && d.tags.name && d.type === 'way';
+ }
+ }
+
+
+ function getNearCities() {
+ var extent = entity.extent(context.graph()),
+ l = extent.center(),
+ box = geoExtent$$1(l).padByMeters(200);
+
+ var cities = context.intersects(box)
+ .filter(isAddressable)
+ .map(function(d) {
+ return {
+ title: d.tags['addr:city'] || d.tags.name,
+ value: d.tags['addr:city'] || d.tags.name,
+ dist: geoSphericalDistance(d.extent(context.graph()).center(), l)
+ };
+ })
+ .sort(function(a, b) {
+ return a.dist - b.dist;
+ });
+
+ return uniqBy(cities, 'value');
+
+
+ function isAddressable(d) {
+ if (d.tags.name &&
+ (d.tags.admin_level === '8' || d.tags.border_type === 'city'))
+ return true;
+
+ if (d.tags.place && d.tags.name && (
+ d.tags.place === 'city' ||
+ d.tags.place === 'town' ||
+ d.tags.place === 'village'))
+ return true;
+
+ if (d.tags['addr:city']) return true;
+
+ return false;
+ }
+ }
+
+ function getNearValues(key) {
+ var extent = entity.extent(context.graph()),
+ l = extent.center(),
+ box = geoExtent$$1(l).padByMeters(200);
+
+ var results = context.intersects(box)
+ .filter(function hasTag(d) {
+ return d.tags[key];
+ })
+ .map(function(d) {
+ return {
+ title: d.tags[key],
+ value: d.tags[key],
+ dist: geoSphericalDistance(d.extent(context.graph()).center(), l)
+ };
+ })
+ .sort(function(a, b) {
+ return a.dist - b.dist;
+ });
+
+ return uniqBy(results, 'value');
+ }
+
+
+ function initCallback(err, countryCode) {
+ if (err) return;
+
+ var addressFormat = find$1(dataAddressFormats, function (a) {
+ return a && a.countryCodes && includes(a.countryCodes, countryCode.toLowerCase());
+ }) || dataAddressFormats[0];
+
+ var widths = addressFormat.widths || {
+ housenumber: 1/3, street: 2/3,
+ city: 2/3, state: 1/4, postcode: 1/3
+ };
+
+ function row(r) {
+ // Normalize widths.
+ var total = reduce(r, function(sum, field) {
+ return sum + (widths[field] || 0.5);
+ }, 0);
+
+ return r.map(function (field) {
+ return {
+ id: field,
+ width: (widths[field] || 0.5) / total
+ };
+ });
+ }
+
+ wrap.selectAll('div.addr-row')
+ .data(addressFormat.format)
+ .enter()
+ .append('div')
+ .attr('class', 'addr-row')
+ .selectAll('input')
+ .data(row)
+ .enter()
+ .append('input')
+ .property('type', 'text')
+ .attr('placeholder', function (d) {
+ var localkey = d.id + '!' + countryCode.toLowerCase(),
+ tkey = field.strings.placeholders[localkey] ? localkey : d.id;
+ return field.t('placeholders.' + tkey);
+ })
+ .attr('class', function (d) { return 'addr-' + d.id; })
+ .call(utilNoAuto)
+ .style('width', function (d) { return d.width * 100 + '%'; });
+
+ // Update
+
+ // setup dropdowns for common address tags
+ var dropdowns = addressFormat.dropdowns || [
+ 'city', 'county', 'country', 'district', 'hamlet',
+ 'neighbourhood', 'place', 'postcode', 'province',
+ 'quarter', 'state', 'street', 'subdistrict', 'suburb'
+ ];
+
+ // If fields exist for any of these tags, create dropdowns to pick nearby values..
+ dropdowns.forEach(function(tag) {
+ var nearValues = (tag === 'street') ? getNearStreets
+ : (tag === 'city') ? getNearCities
+ : getNearValues;
+
+ wrap.selectAll('input.addr-' + tag)
+ .call(d3combobox()
+ .container(context.container())
+ .minItems(1)
+ .fetcher(function(value, callback) {
+ callback(nearValues('addr:' + tag));
+ })
+ );
+ });
+
+ wrap.selectAll('input')
+ .on('blur', change())
+ .on('change', change());
+
+ wrap.selectAll('input:not(.combobox-input)')
+ .on('input', change(true));
+
+ dispatch$$1.call('init');
+ isInitialized = true;
+ }
+
+
+ function address(selection$$1) {
+ isInitialized = false;
+
+ wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'preset-input-wrap')
+ .merge(wrap);
+
+ if (nominatim && entity) {
+ var center = entity.extent(context.graph()).center();
+ nominatim.countryCode(center, initCallback);
+ }
+ }
+
+
+ function change(onInput) {
+ return function() {
+ var tags = {};
+
+ wrap.selectAll('input')
+ .each(function (field) {
+ tags['addr:' + field.id] = this.value || undefined;
+ });
+
+ dispatch$$1.call('change', this, tags, onInput);
+ };
+ }
+
+
+ function updateTags(tags) {
+ utilGetSetValue(wrap.selectAll('input'), function (field) {
+ return tags['addr:' + field.id] || '';
+ });
+ }
+
+
+ address.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return address;
+ };
+
+
+ address.tags = function(tags) {
+ if (isInitialized) {
+ updateTags(tags);
+ } else {
+ dispatch$$1.on('init', function () {
+ dispatch$$1.on('init', null);
+ updateTags(tags);
+ });
+ }
+ };
+
+
+ address.focus = function() {
+ var node = wrap.selectAll('input').node();
+ if (node) node.focus();
+ };
+
+
+ return utilRebind(address, dispatch$$1, 'on');
+ }
+
+ function uiFieldCycleway(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ items = select(null);
+
+
+ function cycleway(selection$$1) {
+
+ function stripcolon(s) {
+ return s.replace(':', '');
+ }
+
+
+ var wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'cf preset-input-wrap')
+ .merge(wrap);
+
+
+ var div = wrap.selectAll('ul')
+ .data([0]);
+
+ div = div.enter()
+ .append('ul')
+ .merge(div);
+
+
+ items = div.selectAll('li')
+ .data(field.keys);
+
+ var enter = items.enter()
+ .append('li')
+ .attr('class', function(d) { return 'cf preset-cycleway-' + stripcolon(d); });
+
+ enter
+ .append('span')
+ .attr('class', 'col6 label preset-label-cycleway')
+ .attr('for', function(d) { return 'preset-input-cycleway-' + stripcolon(d); })
+ .text(function(d) { return field.t('types.' + d); });
+
+ enter
+ .append('div')
+ .attr('class', 'col6 preset-input-cycleway-wrap')
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', function(d) { return 'preset-input-cycleway preset-input-' + stripcolon(d); })
+ .call(utilNoAuto)
+ .each(function(d) {
+ select(this)
+ .call(d3combobox()
+ .container(context.container())
+ .data(cycleway.options(d))
+ );
+ });
+
+
+ // Update
+ wrap.selectAll('.preset-input-cycleway')
+ .on('change', change)
+ .on('blur', change);
+ }
+
+
+ function change() {
+ var left = utilGetSetValue(select('.preset-input-cyclewayleft')),
+ right = utilGetSetValue(select('.preset-input-cyclewayright')),
+ tag = {};
+
+ if (left === 'none' || left === '') { left = undefined; }
+ if (right === 'none' || right === '') { right = undefined; }
+
+ // Always set both left and right as changing one can affect the other
+ tag = {
+ cycleway: undefined,
+ 'cycleway:left': left,
+ 'cycleway:right': right
+ };
+
+ // If the left and right tags match, use the cycleway tag to tag both
+ // sides the same way
+ if (left === right) {
+ tag = {
+ cycleway: left,
+ 'cycleway:left': undefined,
+ 'cycleway:right': undefined
+ };
+ }
+
+ dispatch$$1.call('change', this, tag);
+ }
+
+
+ cycleway.options = function() {
+ return keys$1(field.strings.options).map(function(option) {
+ return {
+ title: field.t('options.' + option + '.description'),
+ value: option
+ };
+ });
+ };
+
+
+ cycleway.tags = function(tags) {
+ utilGetSetValue(items.selectAll('.preset-input-cycleway'), function(d) {
+ // If cycleway is set, always return that
+ if (tags.cycleway) {
+ return tags.cycleway;
+ }
+ return tags[d] || '';
+ })
+ .attr('placeholder', field.placeholder());
+ };
+
+
+ cycleway.focus = function() {
+ items.selectAll('.preset-input-cycleway')
+ .node().focus();
+ };
+
+
+ return utilRebind(cycleway, dispatch$$1, 'on');
+ }
+
+ function uiFieldLanes(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ LANE_WIDTH = 40,
+ LANE_HEIGHT = 200,
+ wayID,
+ lanesData;
+
+ function lanes(selection$$1) {
+ lanesData = context.entity(wayID).lanes();
+
+ if (!select('.inspector-wrap.inspector-hidden').empty() || !selection$$1.node().parentNode) {
+ selection$$1.call(lanes.off);
+ return;
+ }
+
+ var wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'preset-input-wrap')
+ .merge(wrap);
+
+ var surface = wrap.selectAll('.surface')
+ .data([0]);
+
+ var d = utilGetDimensions(wrap);
+ var freeSpace = d[0] - lanesData.lanes.length * LANE_WIDTH * 1.5 + LANE_WIDTH * 0.5;
+
+ surface = surface.enter()
+ .append('svg')
+ .attr('width', d[0])
+ .attr('height', 300)
+ .attr('class', 'surface')
+ .merge(surface);
+
+
+ var lanesSelection = surface.selectAll('.lanes')
+ .data([0]);
+
+ lanesSelection = lanesSelection.enter()
+ .append('g')
+ .attr('class', 'lanes')
+ .merge(lanesSelection);
+
+ lanesSelection
+ .attr('transform', function () {
+ return 'translate(' + (freeSpace / 2) + ', 0)';
+ });
+
+
+ var lane = lanesSelection.selectAll('.lane')
+ .data(lanesData.lanes);
+
+ lane.exit()
+ .remove();
+
+ var enter = lane.enter()
+ .append('g')
+ .attr('class', 'lane');
+
+ enter
+ .append('g')
+ .append('rect')
+ .attr('y', 50)
+ .attr('width', LANE_WIDTH)
+ .attr('height', LANE_HEIGHT);
+
+ enter
+ .append('g')
+ .attr('class', 'forward')
+ .append('text')
+ .attr('y', 40)
+ .attr('x', 14)
+ .text('▲');
+
+ enter
+ .append('g')
+ .attr('class', 'bothways')
+ .append('text')
+ .attr('y', 40)
+ .attr('x', 14)
+ .text('▲▼');
+
+ enter
+ .append('g')
+ .attr('class', 'backward')
+ .append('text')
+ .attr('y', 40)
+ .attr('x', 14)
+ .text('▼');
+
+
+ lane = lane
+ .merge(enter);
+
+ lane
+ .attr('transform', function(d) {
+ return 'translate(' + (LANE_WIDTH * d.index * 1.5) + ', 0)';
+ });
+
+ lane.select('.forward')
+ .style('visibility', function(d) {
+ return d.direction === 'forward' ? 'visible' : 'hidden';
+ });
+
+ lane.select('.bothways')
+ .style('visibility', function(d) {
+ return d.direction === 'bothways' ? 'visible' : 'hidden';
+ });
+
+ lane.select('.backward')
+ .style('visibility', function(d) {
+ return d.direction === 'backward' ? 'visible' : 'hidden';
+ });
+ }
+
+
+ lanes.entity = function(_) {
+ if (!wayID || wayID !== _.id) {
+ wayID = _.id;
+ }
+ };
+
+ lanes.tags = function() {};
+ lanes.focus = function() {};
+ lanes.off = function() {};
+
+ return utilRebind(lanes, dispatch$$1, 'on');
+ }
+
+ function uiFieldLocalized(field, context) {
+ var dispatch$$1 = dispatch('change', 'input'),
+ wikipedia = services.wikipedia,
+ input = select(null),
+ localizedInputs = select(null),
+ wikiTitles,
+ entity;
+
+
+ function localized(selection$$1) {
+ input = selection$$1.selectAll('.localized-main')
+ .data([0]);
+
+ input = input.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('id', 'preset-input-' + field.safeid)
+ .attr('class', 'localized-main')
+ .attr('placeholder', field.placeholder())
+ .call(utilNoAuto)
+ .merge(input);
+
+ if (field.id === 'name') {
+ var preset = context.presets().match(entity, context.graph());
+ input
+ .call(d3combobox()
+ .container(context.container())
+ .fetcher(utilSuggestNames(preset, dataSuggestions))
+ );
+ }
+
+ input
+ .on('input', change(true))
+ .on('blur', change())
+ .on('change', change());
+
+
+ var translateButton = selection$$1.selectAll('.localized-add')
+ .data([0]);
+
+ translateButton = translateButton.enter()
+ .append('button')
+ .attr('class', 'button-input-action localized-add minor')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-plus'))
+ .call(tooltip()
+ .title(t('translate.translate'))
+ .placement('left'))
+ .merge(translateButton);
+
+ translateButton
+ .on('click', addNew);
+
+
+ localizedInputs = selection$$1.selectAll('.localized-wrap')
+ .data([0]);
+
+ localizedInputs = localizedInputs.enter().append('div')
+ .attr('class', 'localized-wrap')
+ .merge(localizedInputs);
+ }
+
+
+ function addNew() {
+ event.preventDefault();
+ var data$$1 = localizedInputs.selectAll('div.entry').data();
+ var defaultLang = utilDetect().locale.toLowerCase().split('-')[0];
+ var langExists = find$1(data$$1, function(datum) { return datum.lang === defaultLang;});
+ var isLangEn = defaultLang.indexOf('en') > -1;
+ if (isLangEn || langExists) {
+ defaultLang = '';
+ }
+ data$$1.push({ lang: defaultLang, value: '' });
+ localizedInputs.call(render, data$$1);
+ }
+
+
+ function change(onInput) {
+ return function() {
+ var t$$1 = {};
+ t$$1[field.key] = utilGetSetValue(select(this)) || undefined;
+ dispatch$$1.call('change', this, t$$1, onInput);
+ };
+ }
+
+
+ function key(lang) {
+ return field.key + ':' + lang;
+ }
+
+
+ function changeLang(d) {
+ var lang = utilGetSetValue(select(this)),
+ t$$1 = {},
+ language = find$1(wikipedia$2, function(d) {
+ return d[0].toLowerCase() === lang.toLowerCase() ||
+ d[1].toLowerCase() === lang.toLowerCase();
+ });
+
+ if (language) lang = language[2];
+
+ if (d.lang && d.lang !== lang) {
+ t$$1[key(d.lang)] = undefined;
+ }
+
+ var value = utilGetSetValue(select(this.parentNode)
+ .selectAll('.localized-value'));
+
+ if (lang && value) {
+ t$$1[key(lang)] = value;
+ } else if (lang && wikiTitles && wikiTitles[d.lang]) {
+ t$$1[key(lang)] = wikiTitles[d.lang];
+ }
+
+ d.lang = lang;
+ dispatch$$1.call('change', this, t$$1);
+ }
+
+
+ function changeValue(d) {
+ if (!d.lang) return;
+ var t$$1 = {};
+ t$$1[key(d.lang)] = utilGetSetValue(select(this)) || undefined;
+ dispatch$$1.call('change', this, t$$1);
+ }
+
+
+ function fetcher(value, cb) {
+ var v = value.toLowerCase();
+
+ cb(wikipedia$2.filter(function(d) {
+ return d[0].toLowerCase().indexOf(v) >= 0 ||
+ d[1].toLowerCase().indexOf(v) >= 0 ||
+ d[2].toLowerCase().indexOf(v) >= 0;
+ }).map(function(d) {
+ return { value: d[1] };
+ }));
+ }
+
+
+ function render(selection$$1, data$$1) {
+ var wraps = selection$$1.selectAll('div.entry').
+ data(data$$1, function(d) { return d.lang; });
+
+ wraps.exit()
+ .transition()
+ .duration(200)
+ .style('max-height','0px')
+ .style('opacity', '0')
+ .style('top','-10px')
+ .remove();
+
+ var innerWrap = wraps.enter()
+ .insert('div', ':first-child');
+
+ innerWrap.attr('class', 'entry')
+ .each(function() {
+ var wrap = select(this);
+ var langcombo = d3combobox()
+ .container(context.container())
+ .fetcher(fetcher)
+ .minItems(0);
+
+ var label = wrap
+ .append('label')
+ .attr('class','form-label')
+ .text(t('translate.localized_translation_label'))
+ .attr('for','localized-lang');
+
+ label
+ .append('button')
+ .attr('class', 'minor remove')
+ .on('click', function(d){
+ event.preventDefault();
+ var t$$1 = {};
+ t$$1[key(d.lang)] = undefined;
+ dispatch$$1.call('change', this, t$$1);
+ select(this.parentNode.parentNode)
+ .style('top','0')
+ .style('max-height','240px')
+ .transition()
+ .style('opacity', '0')
+ .style('max-height','0px')
+ .remove();
+ })
+ .call(svgIcon('#operation-delete'));
+
+ wrap
+ .append('input')
+ .attr('class', 'localized-lang')
+ .attr('type', 'text')
+ .attr('placeholder',t('translate.localized_translation_language'))
+ .on('blur', changeLang)
+ .on('change', changeLang)
+ .call(langcombo);
+
+ wrap
+ .append('input')
+ .on('blur', changeValue)
+ .on('change', changeValue)
+ .attr('type', 'text')
+ .attr('placeholder', t('translate.localized_translation_name'))
+ .attr('class', 'localized-value');
+ });
+
+ innerWrap
+ .style('margin-top', '0px')
+ .style('max-height', '0px')
+ .style('opacity', '0')
+ .transition()
+ .duration(200)
+ .style('margin-top', '10px')
+ .style('max-height', '240px')
+ .style('opacity', '1')
+ .on('end', function() {
+ select(this)
+ .style('max-height', '')
+ .style('overflow', 'visible');
+ });
+
+
+ var entry = selection$$1.selectAll('.entry');
+
+ utilGetSetValue(entry.select('.localized-lang'), function(d) {
+ var lang = find$1(wikipedia$2, function(lang) { return lang[2] === d.lang; });
+ return lang ? lang[1] : d.lang;
+ });
+
+ utilGetSetValue(entry.select('.localized-value'),
+ function(d) { return d.value; });
+ }
+
+
+ localized.tags = function(tags) {
+ // Fetch translations from wikipedia
+ if (tags.wikipedia && !wikiTitles) {
+ wikiTitles = {};
+ var wm = tags.wikipedia.match(/([^:]+):(.+)/);
+ if (wm && wm[0] && wm[1]) {
+ wikipedia.translations(wm[1], wm[2], function(d) {
+ wikiTitles = d;
+ });
+ }
+ }
+
+ utilGetSetValue(input, tags[field.key] || '');
+
+ var postfixed = [], k, m;
+ for (k in tags) {
+ m = k.match(/^(.*):([a-zA-Z_-]+)$/);
+ if (m && m[1] === field.key && m[2]) {
+ postfixed.push({ lang: m[2], value: tags[k] });
+ }
+ }
+
+ localizedInputs.call(render, postfixed.reverse());
+ };
+
+
+ localized.focus = function() {
+ input.node().focus();
+ };
+
+
+ localized.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return localized;
+ };
+
+ return utilRebind(localized, dispatch$$1, 'on');
+ }
+
+ function uiFieldMaxspeed(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ entity,
+ isImperial,
+ unitInput = select(null),
+ input = select(null),
+ combobox;
+
+ var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
+ imperialValues = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80];
+
+
+ function maxspeed(selection$$1) {
+ combobox = d3combobox()
+ .container(context.container());
+
+ var unitCombobox = d3combobox()
+ .container(context.container())
+ .data(['km/h', 'mph'].map(comboValues));
+
+ input = selection$$1.selectAll('#preset-input-' + field.safeid)
+ .data([0]);
+
+ input = input.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('id', 'preset-input-' + field.safeid)
+ .attr('placeholder', field.placeholder())
+ .call(utilNoAuto)
+ .call(combobox)
+ .merge(input);
+
+ input
+ .on('change', change)
+ .on('blur', change);
+
+ var childNodes = context.graph().childNodes(context.entity(entity.id)),
+ loc = childNodes[~~(childNodes.length/2)].loc;
+
+ isImperial = some(dataImperial.features, function(f) {
+ return some(f.geometry.coordinates, function(d) {
+ return geoPointInPolygon(loc, d);
+ });
+ });
+
+ unitInput = selection$$1.selectAll('input.maxspeed-unit')
+ .data([0]);
+
+ unitInput = unitInput.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'maxspeed-unit')
+ .call(unitCombobox)
+ .merge(unitInput);
+
+ unitInput
+ .on('blur', changeUnits)
+ .on('change', changeUnits);
+
+
+ function changeUnits() {
+ isImperial = utilGetSetValue(unitInput) === 'mph';
+ utilGetSetValue(unitInput, isImperial ? 'mph' : 'km/h');
+ setSuggestions();
+ change();
+ }
+ }
+
+
+ function setSuggestions() {
+ combobox.data((isImperial ? imperialValues : metricValues).map(comboValues));
+ utilGetSetValue(unitInput, isImperial ? 'mph' : 'km/h');
+ }
+
+
+ function comboValues(d) {
+ return {
+ value: d.toString(),
+ title: d.toString()
+ };
+ }
+
+
+ function change() {
+ var tag = {},
+ value = utilGetSetValue(input);
+
+ if (!value) {
+ tag[field.key] = undefined;
+ } else if (isNaN(value) || !isImperial) {
+ tag[field.key] = value;
+ } else {
+ tag[field.key] = value + ' mph';
+ }
+
+ dispatch$$1.call('change', this, tag);
+ }
+
+
+ maxspeed.tags = function(tags) {
+ var value = tags[field.key];
+
+ if (value && value.indexOf('mph') >= 0) {
+ value = parseInt(value, 10);
+ isImperial = true;
+ } else if (value) {
+ isImperial = false;
+ }
+
+ setSuggestions();
+ utilGetSetValue(input, value || '');
+ };
+
+
+ maxspeed.focus = function() {
+ input.node().focus();
+ };
+
+
+ maxspeed.entity = function(_) {
+ entity = _;
+ };
+
+
+ return utilRebind(maxspeed, dispatch$$1, 'on');
+ }
+
+ /**
+ * This function is like `baseIndexOf` except that it accepts a comparator.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @param {Function} comparator The comparator invoked per element.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+ function baseIndexOfWith(array, value, fromIndex, comparator) {
+ var index = fromIndex - 1,
+ length = array.length;
+
+ while (++index < length) {
+ if (comparator(array[index], value)) {
+ return index;
+ }
+ }
+ return -1;
+ }
+
+ /** Used for built-in method references. */
+ var arrayProto$2 = Array.prototype;
+
+ /** Built-in value references. */
+ var splice$2 = arrayProto$2.splice;
+
+ /**
+ * The base implementation of `_.pullAllBy` without support for iteratee
+ * shorthands.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to remove.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns `array`.
+ */
+ function basePullAll(array, values, iteratee, comparator) {
+ var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
+ index = -1,
+ length = values.length,
+ seen = array;
+
+ if (array === values) {
+ values = copyArray(values);
+ }
+ if (iteratee) {
+ seen = arrayMap(array, baseUnary(iteratee));
+ }
+ while (++index < length) {
+ var fromIndex = 0,
+ value = values[index],
+ computed = iteratee ? iteratee(value) : value;
+
+ while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
+ if (seen !== array) {
+ splice$2.call(seen, fromIndex, 1);
+ }
+ splice$2.call(array, fromIndex, 1);
+ }
+ }
+ return array;
+ }
+
+ /**
+ * This method is like `_.pull` except that it accepts an array of values to remove.
+ *
+ * **Note:** Unlike `_.difference`, this method mutates `array`.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to remove.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
+ *
+ * _.pullAll(array, ['a', 'c']);
+ * console.log(array);
+ * // => ['b', 'b']
+ */
+ function pullAll(array, values) {
+ return (array && array.length && values && values.length)
+ ? basePullAll(array, values)
+ : array;
+ }
+
+ /**
+ * Removes all given values from `array` using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
+ * to remove elements from an array by predicate.
+ *
+ * @static
+ * @memberOf _
+ * @since 2.0.0
+ * @category Array
+ * @param {Array} array The array to modify.
+ * @param {...*} [values] The values to remove.
+ * @returns {Array} Returns `array`.
+ * @example
+ *
+ * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
+ *
+ * _.pull(array, 'a', 'c');
+ * console.log(array);
+ * // => ['b', 'b']
+ */
+ var pull = baseRest(pullAll);
+
+ function uiFieldRadio(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ placeholder = select(null),
+ wrap = select(null),
+ labels = select(null),
+ radios = select(null),
+ radioData = clone(field.options || field.keys),
+ typeField,
+ layerField,
+ oldType = {},
+ entity;
+
+
+ function selectedKey() {
+ var node = wrap.selectAll('.toggle-list label.active input');
+ return !node.empty() && node.datum();
+ }
+
+
+ function radio(selection$$1) {
+ selection$$1.classed('preset-radio', true);
+
+ wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ var enter = wrap.enter()
+ .append('div')
+ .attr('class', 'preset-input-wrap toggle-list');
+
+ enter
+ .append('span')
+ .attr('class', 'placeholder');
+
+ wrap = wrap
+ .merge(enter);
+
+
+ placeholder = wrap.selectAll('.placeholder');
+
+ labels = wrap.selectAll('label')
+ .data(radioData);
+
+ enter = labels.enter()
+ .append('label');
+
+ enter
+ .append('input')
+ .attr('type', 'radio')
+ .attr('name', field.id)
+ .attr('value', function(d) { return field.t('options.' + d, { 'default': d }); })
+ .attr('checked', false);
+
+ enter
+ .append('span')
+ .text(function(d) { return field.t('options.' + d, { 'default': d }); });
+
+ labels = labels
+ .merge(enter);
+
+ radios = labels.selectAll('input')
+ .on('change', changeRadio);
+
+ }
+
+
+ function structureExtras(selection$$1, tags) {
+ var selected = selectedKey(),
+ type = context.presets().field(selected),
+ layer = context.presets().field('layer'),
+ showLayer = (selected === 'bridge' || selected === 'tunnel');
+
+
+ var extrasWrap = selection$$1.selectAll('.structure-extras-wrap')
+ .data(selected ? [0] : []);
+
+ extrasWrap.exit()
+ .remove();
+
+ extrasWrap = extrasWrap.enter()
+ .append('div')
+ .attr('class', 'structure-extras-wrap')
+ .merge(extrasWrap);
+
+ var list = extrasWrap.selectAll('ul')
+ .data([0]);
+
+ list = list.enter()
+ .append('ul')
+ .merge(list);
+
+
+ // Type
+ if (type) {
+ if (!typeField || typeField.id !== selected) {
+ typeField = uiField(context, type, entity, { wrap: false })
+ .on('change', changeType);
+ }
+ typeField.tags(tags);
+ } else {
+ typeField = null;
+ }
+
+ var typeItem = list.selectAll('.structure-type-item')
+ .data(typeField ? [typeField] : [], function(d) { return d.id; });
+
+ // Exit
+ typeItem.exit()
+ .remove();
+
+ // Enter
+ var typeEnter = typeItem.enter()
+ .insert('li', ':first-child')
+ .attr('class', 'cf structure-type-item');
+
+ typeEnter
+ .append('span')
+ .attr('class', 'col6 label structure-label-type')
+ .attr('for', 'preset-input-' + selected)
+ .text(t('inspector.radio.structure.type'));
+
+ typeEnter
+ .append('div')
+ .attr('class', 'col6 structure-input-type-wrap');
+
+ // Update
+ typeItem = typeItem
+ .merge(typeEnter);
+
+ if (typeField) {
+ typeItem.selectAll('.structure-input-type-wrap')
+ .call(typeField.render);
+ }
+
+
+ // Layer
+ if (layer && showLayer) {
+ if (!layerField) {
+ layerField = uiField(context, layer, entity, { wrap: false })
+ .on('change', changeLayer);
+ }
+ layerField.tags(tags);
+ field.keys = union(field.keys, ['layer']);
+ } else {
+ layerField = null;
+ pull(field.keys, 'layer');
+ }
+
+ var layerItem = list.selectAll('.structure-layer-item')
+ .data(layerField ? [layerField] : []);
+
+ // Exit
+ layerItem.exit()
+ .remove();
+
+ // Enter
+ var layerEnter = layerItem.enter()
+ .append('li')
+ .attr('class', 'cf structure-layer-item');
+
+ layerEnter
+ .append('span')
+ .attr('class', 'col6 label structure-label-layer')
+ .attr('for', 'preset-input-layer')
+ .text(t('inspector.radio.structure.layer'));
+
+ layerEnter
+ .append('div')
+ .attr('class', 'col6 structure-input-layer-wrap');
+
+ // Update
+ layerItem = layerItem
+ .merge(layerEnter);
+
+ if (layerField) {
+ layerItem.selectAll('.structure-input-layer-wrap')
+ .call(layerField.render);
+ }
+ }
+
+
+ function changeType(t$$1, onInput) {
+ var key = selectedKey();
+ if (!key) return;
+
+ var val = t$$1[key];
+ if (val !== 'no') {
+ oldType[key] = val;
+ }
+
+ if (field.type === 'structureRadio') {
+ // remove layer if it should not be set
+ if (val === 'no' ||
+ (key !== 'bridge' && key !== 'tunnel') ||
+ (key === 'tunnel' && val === 'building_passage')) {
+ t$$1.layer = undefined;
+ }
+ // add layer if it should be set
+ if (t$$1.layer === undefined) {
+ if (key === 'bridge' && val !== 'no') {
+ t$$1.layer = '1';
+ }
+ if (key === 'tunnel' && val !== 'no' && val !== 'building_passage') {
+ t$$1.layer = '-1';
+ }
+ }
+ }
+
+ dispatch$$1.call('change', this, t$$1, onInput);
+ }
+
+
+ function changeLayer(t$$1, onInput) {
+ if (t$$1.layer === '0') {
+ t$$1.layer = undefined;
+ }
+ dispatch$$1.call('change', this, t$$1, onInput);
+ }
+
+
+ function changeRadio() {
+ var t$$1 = {},
+ activeKey;
+
+ if (field.key) {
+ t$$1[field.key] = undefined;
+ }
+
+ radios.each(function(d) {
+ var active = select(this).property('checked');
+ if (active) activeKey = d;
+
+ if (field.key) {
+ if (active) t$$1[field.key] = d;
+ } else {
+ var val = oldType[activeKey] || 'yes';
+ t$$1[d] = active ? val : undefined;
+ }
+ });
+
+ if (field.type === 'structureRadio') {
+ if (activeKey === 'bridge') {
+ t$$1.layer = '1';
+ } else if (activeKey === 'tunnel' && t$$1.tunnel !== 'building_passage') {
+ t$$1.layer = '-1';
+ } else {
+ t$$1.layer = undefined;
+ }
+ }
+
+ dispatch$$1.call('change', this, t$$1);
+ }
+
+
+ radio.tags = function(tags) {
+ function checked(d) {
+ if (field.key) {
+ return tags[field.key] === d;
+ } else {
+ return !!(tags[d] && tags[d].toLowerCase() !== 'no');
+ }
+ }
+
+ labels.classed('active', checked);
+ radios.property('checked', checked);
+
+ var selection$$1 = radios.filter(function() { return this.checked; });
+
+ if (selection$$1.empty()) {
+ placeholder.text(t('inspector.none'));
+ } else {
+ placeholder.text(selection$$1.attr('value'));
+ oldType[selection$$1.datum()] = tags[selection$$1.datum()];
+ }
+
+ if (field.type === 'structureRadio') {
+ // For waterways without a tunnel tag, set 'culvert' as
+ // the oldType to default to if the user picks 'tunnel'
+ if (!!tags.waterway && !oldType.tunnel) {
+ oldType.tunnel = 'culvert';
+ }
+
+ wrap.call(structureExtras, tags);
+ }
+ };
+
+
+ radio.focus = function() {
+ radios.node().focus();
+ };
+
+
+ radio.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ oldType = {};
+ return radio;
+ };
+
+
+ return utilRebind(radio, dispatch$$1, 'on');
+ }
+
+ function uiFieldRestrictions(field, context) {
+ var dispatch$$1 = dispatch('change');
+ var breathe = behaviorBreathe(context);
+ var storedViaWay = context.storage('turn-restriction-via-way');
+ var storedDistance = context.storage('turn-restriction-distance');
+
+ var _maxViaWay = storedViaWay !== null ? (+storedViaWay) : 1;
+ var _maxDistance = storedDistance ? (+storedDistance) : 30;
+ var _initialized = false;
+ var _parent = select(null); // the entire field
+ var _container = select(null); // just the map
+ var _oldTurns;
+ var _graph;
+ var _vertexID;
+ var _intersection;
+ var _fromWayID;
+
+
+ function restrictions(selection$$1) {
+ _parent = selection$$1;
+
+ // try to reuse the intersection, but always rebuild it if the graph has changed
+ if (_vertexID && (context.graph() !== _graph || !_intersection)) {
+ _graph = context.graph();
+ _intersection = osmIntersection(_graph, _vertexID, _maxDistance);
+ }
+
+ // It's possible for there to be no actual intersection here.
+ // for example, a vertex of two `highway=path`
+ // In this case, hide the field.
+ var isOK = (
+ _intersection &&
+ _intersection.vertices.length && // has vertices
+ _intersection.vertices // has the vertex that the user selected
+ .filter(function(vertex) { return vertex.id === _vertexID; }).length &&
+ _intersection.ways.length > 2 && // has more than 2 ways
+ _intersection.ways // has more than 1 TO way
+ .filter(function(way) { return way.__to; }).length > 1
+ );
+
+ // Also hide in the case where
+ select(selection$$1.node().parentNode).classed('hide', !isOK);
+
+ // if form field is hidden or has detached from dom, clean up.
+ if (!isOK ||
+ !select('.inspector-wrap.inspector-hidden').empty() ||
+ !selection$$1.node().parentNode ||
+ !selection$$1.node().parentNode.parentNode) {
+ selection$$1.call(restrictions.off);
+ return;
+ }
+
+
+ var wrap = selection$$1.selectAll('.preset-input-wrap')
+ .data([0]);
+
+ wrap = wrap.enter()
+ .append('div')
+ .attr('class', 'preset-input-wrap')
+ .merge(wrap);
+
+ var container = wrap.selectAll('.restriction-container')
+ .data([0]);
+
+ // enter
+ var containerEnter = container.enter()
+ .append('div')
+ .attr('class', 'restriction-container');
+
+ containerEnter
+ .append('div')
+ .attr('class', 'restriction-help');
+
+ // update
+ _container = containerEnter
+ .merge(container)
+ .call(renderViewer);
+
+ var controls = wrap.selectAll('.restriction-controls')
+ .data([0]);
+
+ // enter/update
+ controls.enter()
+ .append('div')
+ .attr('class', 'restriction-controls-container')
+ .append('div')
+ .attr('class', 'restriction-controls')
+ .merge(controls)
+ .call(renderControls);
+ }
+
+
+ function renderControls(selection$$1) {
+ var distControl = selection$$1.selectAll('.restriction-distance')
+ .data([0]);
+
+ distControl.exit()
+ .remove();
+
+ var distControlEnter = distControl.enter()
+ .append('div')
+ .attr('class', 'restriction-control restriction-distance');
+
+ distControlEnter
+ .append('span')
+ .attr('class', 'restriction-control-label restriction-distance-label')
+ .text(t('restriction.controls.distance') + ':');
+
+ distControlEnter
+ .append('input')
+ .attr('class', 'restriction-distance-input')
+ .attr('type', 'range')
+ .attr('min', '20')
+ .attr('max', '50')
+ .attr('step', '5');
+
+ distControlEnter
+ .append('span')
+ .attr('class', 'restriction-distance-text');
+
+ // update
+ selection$$1.selectAll('.restriction-distance-input')
+ .property('value', _maxDistance)
+ .on('input', function() {
+ var val = select(this).property('value');
+ _maxDistance = +val;
+ _intersection = null;
+ _container.selectAll('.layer-osm .layer-turns *').remove();
+ context.storage('turn-restriction-distance', _maxDistance);
+ _parent.call(restrictions);
+ });
+
+ selection$$1.selectAll('.restriction-distance-text')
+ .text(displayMaxDistance(_maxDistance));
+
+
+ var viaControl = selection$$1.selectAll('.restriction-via-way')
+ .data([0]);
+
+ viaControl.exit()
+ .remove();
+
+ var viaControlEnter = viaControl.enter()
+ .append('div')
+ .attr('class', 'restriction-control restriction-via-way');
+
+ viaControlEnter
+ .append('span')
+ .attr('class', 'restriction-control-label restriction-via-way-label')
+ .text(t('restriction.controls.via') + ':');
+
+ viaControlEnter
+ .append('input')
+ .attr('class', 'restriction-via-way-input')
+ .attr('type', 'range')
+ .attr('min', '0')
+ .attr('max', '2')
+ .attr('step', '1');
+
+ viaControlEnter
+ .append('span')
+ .attr('class', 'restriction-via-way-text');
+
+ // update
+ selection$$1.selectAll('.restriction-via-way-input')
+ .property('value', _maxViaWay)
+ .on('input', function() {
+ var val = select(this).property('value');
+ _maxViaWay = +val;
+ _container.selectAll('.layer-osm .layer-turns *').remove();
+ context.storage('turn-restriction-via-way', _maxViaWay);
+ _parent.call(restrictions);
+ });
+
+ selection$$1.selectAll('.restriction-via-way-text')
+ .text(displayMaxVia(_maxViaWay));
+ }
+
+
+ function renderViewer(selection$$1) {
+ if (!_intersection) return;
+
+ var vgraph = _intersection.graph;
+ var filter = utilFunctor(true);
+ var projection = geoRawMercator();
+
+ var d = utilGetDimensions(selection$$1);
+ var c = geoVecScale(d, 0.5);
+ var z = 22;
+
+ projection.scale(geoZoomToScale(z));
+
+ // Calculate extent of all key vertices
+ var extent = geoExtent$$1();
+ for (var i = 0; i < _intersection.vertices.length; i++) {
+ extent._extend(_intersection.vertices[i].extent());
+ }
+
+ // If this is a large intersection, adjust zoom to fit extent
+ if (_intersection.vertices.length > 1) {
+ var padding = 180; // in z22 pixels
+ var tl = projection([extent[0][0], extent[1][1]]);
+ var br = projection([extent[1][0], extent[0][1]]);
+ var hFactor = (br[0] - tl[0]) / (d[0] - padding);
+ var vFactor = (br[1] - tl[1]) / (d[1] - padding);
+ var hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2;
+ var vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2;
+ z = z - Math.max(hZoomDiff, vZoomDiff);
+ projection.scale(geoZoomToScale(z));
+ }
+
+ var padTop = 35; // reserve top space for hint text
+ var extentCenter = projection(extent.center());
+ extentCenter[1] = extentCenter[1] - padTop;
+
+ projection
+ .translate(geoVecSubtract(c, extentCenter))
+ .clipExtent([[0, 0], d]);
+
+ var drawLayers = svgLayers(projection, context).only('osm').dimensions(d);
+ var drawVertices = svgVertices$$1(projection, context);
+ var drawLines = svgLines$$1(projection, context);
+ var drawTurns = svgTurns(projection, context);
+
+ var firstTime = selection$$1.selectAll('.surface').empty();
+
+ selection$$1
+ .call(drawLayers);
+
+ var surface = selection$$1.selectAll('.surface')
+ .classed('tr', true);
+
+ if (firstTime) {
+ _initialized = true;
+
+ surface
+ .call(breathe);
+
+ select(window)
+ .on('resize.restrictions', function() {
+ utilSetDimensions(_container, null);
+ redraw();
+ });
+ }
+
+
+ // This can happen if we've lowered the detail while a FROM way
+ // is selected, and that way is no longer part of the intersection.
+ if (_fromWayID && !vgraph.hasEntity(_fromWayID)) {
+ _fromWayID = null;
+ _oldTurns = null;
+ }
+
+ surface
+ .call(utilSetDimensions, d)
+ .call(drawVertices, vgraph, _intersection.vertices, filter, extent, z)
+ .call(drawLines, vgraph, _intersection.ways, filter)
+ .call(drawTurns, vgraph, _intersection.turns(_fromWayID, _maxViaWay));
+
+ surface
+ .on('click.restrictions', click)
+ .on('mouseover.restrictions', mouseover);
+
+ surface
+ .selectAll('.selected')
+ .classed('selected', false);
+
+ surface
+ .selectAll('.related')
+ .classed('related', false);
+
+ if (_fromWayID) {
+ var way = vgraph.entity(_fromWayID);
+ surface
+ .selectAll('.' + _fromWayID)
+ .classed('selected', true)
+ .classed('related', true);
+ }
+
+ updateHints(null);
+
+
+ function click() {
+ surface
+ .call(breathe.off)
+ .call(breathe);
+
+ var datum = event.target.__data__;
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (entity) {
+ datum = entity;
+ }
+
+ if (datum instanceof osmWay && (datum.__from || datum.__via)) {
+ _fromWayID = datum.id;
+ _oldTurns = null;
+ redraw();
+
+ } else if (datum instanceof osmTurn) {
+ var actions, extraActions, turns, i;
+ var restrictionType = osmInferRestriction(vgraph, datum, projection);
+
+ if (datum.restrictionID && !datum.direct) {
+ return;
+
+ } else if (datum.restrictionID && !datum.only) { // NO -> ONLY
+ var seen = {};
+ var datumOnly = cloneDeep(datum);
+ datumOnly.only = true;
+ restrictionType = restrictionType.replace(/^no/, 'only');
+
+ // Adding an ONLY restriction should destroy all other direct restrictions from the FROM towards the VIA.
+ // We will remember them in _oldTurns, and restore them if the user clicks again.
+ turns = _intersection.turns(_fromWayID, 2);
+ extraActions = [];
+ _oldTurns = [];
+ for (i = 0; i < turns.length; i++) {
+ var turn = turns[i];
+ if (seen[turn.restrictionID]) continue; // avoid deleting the turn twice (#4968, #4928)
+
+ if (turn.direct && turn.path[1] === datum.path[1]) {
+ seen[turns[i].restrictionID] = true;
+ turn.restrictionType = osmInferRestriction(vgraph, turn, projection);
+ _oldTurns.push(turn);
+ extraActions.push(actionUnrestrictTurn(turn));
+ }
+ }
+
+ actions = _intersection.actions.concat(extraActions, [
+ actionRestrictTurn(datumOnly, restrictionType),
+ t('operations.restriction.annotation.create')
+ ]);
+
+ } else if (datum.restrictionID) { // ONLY -> Allowed
+ // Restore whatever restrictions we might have destroyed by cycling thru the ONLY state.
+ // This relies on the assumption that the intersection was already split up when we
+ // performed the previous action (NO -> ONLY), so the IDs in _oldTurns shouldn't have changed.
+ turns = _oldTurns || [];
+ extraActions = [];
+ for (i = 0; i < turns.length; i++) {
+ if (turns[i].key !== datum.key) {
+ extraActions.push(actionRestrictTurn(turns[i], turns[i].restrictionType));
+ }
+ }
+ _oldTurns = null;
+
+ actions = _intersection.actions.concat(extraActions, [
+ actionUnrestrictTurn(datum),
+ t('operations.restriction.annotation.delete')
+ ]);
+
+ } else { // Allowed -> NO
+ actions = _intersection.actions.concat([
+ actionRestrictTurn(datum, restrictionType),
+ t('operations.restriction.annotation.create')
+ ]);
+ }
+
+ context.perform.apply(context, actions);
+
+ // At this point the datum will be changed, but will have same key..
+ // Refresh it and update the help..
+ var s = surface.selectAll('.' + datum.key);
+ datum = s.empty() ? null : s.datum();
+ updateHints(datum);
+
+ } else {
+ _fromWayID = null;
+ _oldTurns = null;
+ redraw();
+ }
+ }
+
+
+ function mouseover() {
+ var datum = event.target.__data__;
+ updateHints(datum);
+ }
+
+
+ function redraw() {
+ if (context.hasEntity(_vertexID)) {
+ _container.call(renderViewer);
+ }
+ }
+
+
+ function highlightPathsFrom(wayID) {
+ surface.selectAll('.related')
+ .classed('related', false)
+ .classed('allow', false)
+ .classed('restrict', false)
+ .classed('only', false);
+
+ surface.selectAll('.' + wayID)
+ .classed('related', true);
+
+ if (wayID) {
+ var turns = _intersection.turns(wayID, _maxViaWay);
+ for (var i = 0; i < turns.length; i++) {
+ var turn = turns[i];
+ var ids = [turn.to.way];
+ var klass = (turn.no ? 'restrict' : (turn.only ? 'only' : 'allow'));
+
+ if (turn.only || turns.length === 1) {
+ if (turn.via.ways) {
+ ids = ids.concat(turn.via.ways);
+ }
+ } else if (turn.to.way === wayID) {
+ continue;
+ }
+
+ surface.selectAll(utilEntitySelector(ids))
+ .classed('related', true)
+ .classed('allow', (klass === 'allow'))
+ .classed('restrict', (klass === 'restrict'))
+ .classed('only', (klass === 'only'));
+ }
+ }
+ }
+
+
+ function updateHints(datum) {
+ var help = _container.selectAll('.restriction-help').html('');
+
+ var placeholders = {};
+ ['from', 'via', 'to'].forEach(function(k) {
+ placeholders[k] = '<span class="qualifier">' + t('restriction.help.' + k) + '</span>';
+ });
+
+ var entity = datum && datum.properties && datum.properties.entity;
+ if (entity) {
+ datum = entity;
+ }
+
+ if (_fromWayID) {
+ way = vgraph.entity(_fromWayID);
+ surface
+ .selectAll('.' + _fromWayID)
+ .classed('selected', true)
+ .classed('related', true);
+ }
+
+ // Hovering a way
+ if (datum instanceof osmWay && datum.__from) {
+ way = datum;
+
+ highlightPathsFrom(_fromWayID ? null : way.id);
+ surface.selectAll('.' + way.id)
+ .classed('related', true);
+
+ var clickSelect = (!_fromWayID || _fromWayID !== way.id);
+ help
+ .append('div') // "Click to select FROM {fromName}." / "FROM {fromName}"
+ .html(t('restriction.help.' + (clickSelect ? 'select_from_name' : 'from_name'), {
+ from: placeholders.from,
+ fromName: displayName(way.id, vgraph)
+ }));
+
+
+ // Hovering a turn arrow
+ } else if (datum instanceof osmTurn) {
+ var restrictionType = osmInferRestriction(vgraph, datum, projection);
+ var turnType = restrictionType.replace(/^(only|no)\_/, '');
+ var indirect = (datum.direct === false ? t('restriction.help.indirect') : '');
+ var klass, turnText, nextText;
+
+ if (datum.no) {
+ klass = 'restrict';
+ turnText = t('restriction.help.turn.no_' + turnType, { indirect: indirect });
+ nextText = t('restriction.help.turn.only_' + turnType, { indirect: '' });
+ } else if (datum.only) {
+ klass = 'only';
+ turnText = t('restriction.help.turn.only_' + turnType, { indirect: indirect });
+ nextText = t('restriction.help.turn.allowed_' + turnType, { indirect: '' });
+ } else {
+ klass = 'allow';
+ turnText = t('restriction.help.turn.allowed_' + turnType, { indirect: indirect });
+ nextText = t('restriction.help.turn.no_' + turnType, { indirect: '' });
+ }
+
+ help
+ .append('div') // "NO Right Turn (indirect)"
+ .attr('class', 'qualifier ' + klass)
+ .text(turnText);
+
+ help
+ .append('div') // "FROM {fromName} TO {toName}"
+ .html(t('restriction.help.from_name_to_name', {
+ from: placeholders.from,
+ fromName: displayName(datum.from.way, vgraph),
+ to: placeholders.to,
+ toName: displayName(datum.to.way, vgraph)
+ }));
+
+ if (datum.via.ways && datum.via.ways.length) {
+ var names = [];
+ for (var i = 0; i < datum.via.ways.length; i++) {
+ var prev = names[names.length - 1];
+ var curr = displayName(datum.via.ways[i], vgraph);
+ if (!prev || curr !== prev) // collapse identical names
+ names.push(curr);
+ }
+
+ help
+ .append('div') // "VIA {viaNames}"
+ .html(t('restriction.help.via_names', {
+ via: placeholders.via,
+ viaNames: names.join(', ')
+ }));
+ }
+
+ if (!indirect) {
+ help
+ .append('div') // Click for "No Right Turn"
+ .text(t('restriction.help.toggle', { turn: nextText.trim() }));
+ }
+
+ highlightPathsFrom(null);
+ var alongIDs = datum.path.slice();
+ surface.selectAll(utilEntitySelector(alongIDs))
+ .classed('related', true)
+ .classed('allow', (klass === 'allow'))
+ .classed('restrict', (klass === 'restrict'))
+ .classed('only', (klass === 'only'));
+
+
+ // Hovering empty surface
+ } else {
+ highlightPathsFrom(null);
+ if (_fromWayID) {
+ help
+ .append('div') // "FROM {fromName}"
+ .html(t('restriction.help.from_name', {
+ from: placeholders.from,
+ fromName: displayName(_fromWayID, vgraph)
+ }));
+
+ } else {
+ help
+ .append('div') // "Click to select a FROM segment."
+ .html(t('restriction.help.select_from', {
+ from: placeholders.from
+ }));
+ }
+ }
+ }
+ }
+
+
+ function displayMaxDistance(maxDist) {
+ var isImperial = (utilDetect().locale.toLowerCase() === 'en-us');
+ var opts;
+
+ if (isImperial) {
+ var distToFeet = { // imprecise conversion for prettier display
+ 20: 70, 25: 85, 30: 100, 35: 115, 40: 130, 45: 145, 50: 160
+ }[maxDist];
+ opts = { distance: t('units.feet', { quantity: distToFeet }) };
+ } else {
+ opts = { distance: t('units.meters', { quantity: maxDist }) };
+ }
+
+ return t('restriction.controls.distance_up_to', opts);
+ }
+
+
+ function displayMaxVia(maxVia) {
+ return maxVia === 0 ? t('restriction.controls.via_node_only')
+ : maxVia === 1 ? t('restriction.controls.via_up_to_one')
+ : t('restriction.controls.via_up_to_two');
+ }
+
+
+ function displayName(entityID, graph) {
+ var entity = graph.entity(entityID);
+ var name = utilDisplayName(entity) || '';
+ var matched = context.presets().match(entity, graph);
+ var type = (matched && matched.name()) || utilDisplayType(entity.id);
+ return name || type;
+ }
+
+
+ restrictions.entity = function(_) {
+ _intersection = null;
+ _fromWayID = null;
+ _oldTurns = null;
+ _vertexID = _.id;
+ };
+
+
+ restrictions.tags = function() {};
+ restrictions.focus = function() {};
+
+
+ restrictions.off = function(selection$$1) {
+ if (!_initialized) return;
+
+ selection$$1.selectAll('.surface')
+ .call(breathe.off)
+ .on('click.restrictions', null)
+ .on('mouseover.restrictions', null);
+
+ select(window)
+ .on('resize.restrictions', null);
+ };
+
+
+ return utilRebind(restrictions, dispatch$$1, 'on');
+ }
+
+ function uiFieldTextarea(field) {
+ var dispatch$$1 = dispatch('change'),
+ input = select(null);
+
+
+ function textarea(selection$$1) {
+ input = selection$$1.selectAll('textarea')
+ .data([0]);
+
+ input = input.enter()
+ .append('textarea')
+ .attr('id', 'preset-input-' + field.safeid)
+ .attr('placeholder', field.placeholder() || t('inspector.unknown'))
+ .attr('maxlength', 255)
+ .call(utilNoAuto)
+ .on('input', change(true))
+ .on('blur', change())
+ .on('change', change())
+ .merge(input);
+ }
+
+
+ function change(onInput) {
+ return function() {
+ var t$$1 = {};
+ t$$1[field.key] = utilGetSetValue(input) || undefined;
+ dispatch$$1.call('change', this, t$$1, onInput);
+ };
+ }
+
+
+ textarea.tags = function(tags) {
+ utilGetSetValue(input, tags[field.key] || '');
+ };
+
+
+ textarea.focus = function() {
+ input.node().focus();
+ };
+
+
+ return utilRebind(textarea, dispatch$$1, 'on');
+ }
+
+ function uiFieldWikipedia(field, context) {
+ var dispatch$$1 = dispatch('change'),
+ wikipedia = services.wikipedia,
+ wikidata = services.wikidata,
+ link = select(null),
+ lang = select(null),
+ title = select(null),
+ wikiURL = '',
+ entity;
+
+
+ function wiki(selection$$1) {
+ var langcombo = d3combobox()
+ .container(context.container())
+ .fetcher(function(value, cb) {
+ var v = value.toLowerCase();
+
+ cb(wikipedia$2.filter(function(d) {
+ return d[0].toLowerCase().indexOf(v) >= 0 ||
+ d[1].toLowerCase().indexOf(v) >= 0 ||
+ d[2].toLowerCase().indexOf(v) >= 0;
+ }).map(function(d) {
+ return { value: d[1] };
+ }));
+ });
+
+ var titlecombo = d3combobox()
+ .container(context.container())
+ .fetcher(function(value, cb) {
+ if (!value) {
+ value = context.entity(entity.id).tags.name || '';
+ }
+
+ var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
+ searchfn(language()[2], value, function(query, data$$1) {
+ cb(data$$1.map(function(d) {
+ return { value: d };
+ }));
+ });
+ });
+
+
+ lang = selection$$1.selectAll('input.wiki-lang')
+ .data([0]);
+
+ lang = lang.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'wiki-lang')
+ .attr('placeholder', t('translate.localized_translation_language'))
+ .call(utilNoAuto)
+ .merge(lang);
+
+ utilGetSetValue(lang, language()[1]);
+
+ lang
+ .call(langcombo)
+ .on('blur', changeLang)
+ .on('change', changeLang);
+
+
+ title = selection$$1.selectAll('input.wiki-title')
+ .data([0]);
+
+ title = title.enter()
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'wiki-title')
+ .attr('id', 'preset-input-' + field.safeid)
+ .call(utilNoAuto)
+ .merge(title);
+
+ title
+ .call(titlecombo)
+ .on('blur', blur)
+ .on('change', change);
+
+
+ link = selection$$1.selectAll('.wiki-link')
+ .data([0]);
+
+ link = link.enter()
+ .append('button')
+ .attr('class', 'button-input-action wiki-link minor')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-out-link'))
+ .merge(link);
+
+ link
+ .on('click', function() {
+ event.preventDefault();
+ if (wikiURL) window.open(wikiURL, '_blank');
+ });
+ }
+
+
+ function language() {
+ var value = utilGetSetValue(lang).toLowerCase();
+ var locale = utilDetect().locale.toLowerCase();
+ var localeLanguage;
+ return find$1(wikipedia$2, function(d) {
+ if (d[2] === locale) localeLanguage = d;
+ return d[0].toLowerCase() === value ||
+ d[1].toLowerCase() === value ||
+ d[2] === value;
+ }) || localeLanguage || ['English', 'English', 'en'];
+ }
+
+
+ function changeLang() {
+ utilGetSetValue(lang, language()[1]);
+ change(true);
+ }
+
+
+ function blur() {
+ change(true);
+ }
+
+
+ function change(skipWikidata) {
+ var value = utilGetSetValue(title),
+ m = value.match(/https?:\/\/([-a-z]+)\.wikipedia\.org\/(?:wiki|\1-[-a-z]+)\/([^#]+)(?:#(.+))?/),
+ l = m && find$1(wikipedia$2, function(d) { return m[1] === d[2]; }),
+ syncTags = {};
+
+ if (l) {
+ // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
+ value = decodeURIComponent(m[2]).replace(/_/g, ' ');
+ if (m[3]) {
+ var anchor;
+ try {
+ // Best-effort `anchordecode:` implementation
+ anchor = decodeURIComponent(m[3].replace(/\.([0-9A-F]{2})/g, '%$1'));
+ } catch (e) {
+ anchor = decodeURIComponent(m[3]);
+ }
+ value += '#' + anchor.replace(/_/g, ' ');
+ }
+ value = value.slice(0, 1).toUpperCase() + value.slice(1);
+ utilGetSetValue(lang, l[1]);
+ utilGetSetValue(title, value);
+ }
+
+ if (value) {
+ syncTags.wikipedia = language()[2] + ':' + value;
+ } else {
+ syncTags.wikipedia = undefined;
+ syncTags.wikidata = undefined;
+ }
+
+ dispatch$$1.call('change', this, syncTags);
+
+
+ if (skipWikidata || !value || !language()[2]) return;
+
+ // attempt asynchronous update of wikidata tag..
+ var initGraph = context.graph(),
+ initEntityId = entity.id;
+
+ wikidata.itemsByTitle(language()[2], value, function(title, data$$1) {
+ // If graph has changed, we can't apply this update.
+ if (context.graph() !== initGraph) return;
+
+ if (!data$$1 || !Object.keys(data$$1).length) return;
+
+ var qids = Object.keys(data$$1);
+ var value = qids && find$1(qids, function(id) { return id.match(/^Q\d+$/); });
+ var currTags = clone(context.entity(initEntityId).tags);
+
+ currTags.wikidata = value;
+
+ // Coalesce the update of wikidata tag into the previous tag change
+ context.overwrite(
+ actionChangeTags(initEntityId, currTags),
+ context.history().undoAnnotation()
+ );
+
+ // do not dispatch.call('change') here, because entity_editor
+ // changeTags() is not intended to be called asynchronously
+ });
+ }
+
+
+ wiki.tags = function(tags) {
+ var value = tags[field.key] || '',
+ m = value.match(/([^:]+):([^#]+)(?:#(.+))?/),
+ l = m && find$1(wikipedia$2, function(d) { return m[1] === d[2]; }),
+ anchor = m && m[3];
+
+ // value in correct format
+ if (l) {
+ utilGetSetValue(lang, l[1]);
+ utilGetSetValue(title, m[2] + (anchor ? ('#' + anchor) : ''));
+ if (anchor) {
+ try {
+ // Best-effort `anchorencode:` implementation
+ anchor = encodeURIComponent(anchor.replace(/ /g, '_')).replace(/%/g, '.');
+ } catch (e) {
+ anchor = anchor.replace(/ /g, '_');
+ }
+ }
+ wikiURL = 'https://' + m[1] + '.wikipedia.org/wiki/' +
+ m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : '');
+
+ // unrecognized value format
+ } else {
+ utilGetSetValue(title, value);
+ if (value && value !== '') {
+ utilGetSetValue(lang, '');
+ wikiURL = 'https://en.wikipedia.org/wiki/Special:Search?search=' + value;
+ } else {
+ wikiURL = '';
+ }
+ }
+ };
+
+
+ wiki.entity = function(_) {
+ if (!arguments.length) return entity;
+ entity = _;
+ return wiki;
+ };
+
+
+ wiki.focus = function() {
+ title.node().focus();
+ };
+
+
+ return utilRebind(wiki, dispatch$$1, 'on');
+ }
+
+ var uiFields = {
+ access: uiFieldAccess,
+ address: uiFieldAddress,
+ check: uiFieldCheck,
+ combo: uiFieldCombo,
+ cycleway: uiFieldCycleway,
+ defaultCheck: uiFieldCheck,
+ email: uiFieldText,
+ lanes: uiFieldLanes,
+ localized: uiFieldLocalized,
+ maxspeed: uiFieldMaxspeed,
+ multiCombo: uiFieldCombo,
+ networkCombo: uiFieldCombo,
+ number: uiFieldText,
+ onewayCheck: uiFieldCheck,
+ radio: uiFieldRadio,
+ restrictions: uiFieldRestrictions,
+ semiCombo: uiFieldCombo,
+ structureRadio: uiFieldRadio,
+ tel: uiFieldText,
+ text: uiFieldText,
+ textarea: uiFieldTextarea,
+ typeCombo: uiFieldCombo,
+ url: uiFieldText,
+ wikipedia: uiFieldWikipedia
+ };
+
+ function uiField(context, presetField, entity, options) {
+ options = assignIn({
+ show: true,
+ wrap: true,
+ remove: true,
+ revert: true,
+ info: true
+ }, options);
+
+ var dispatch$$1 = dispatch('change');
+ var field = clone(presetField);
+ var _show = options.show;
+ var _state = '';
+ var _tags = {};
+
+
+ field.impl = uiFields[field.type](field, context)
+ .on('change', function(t$$1, onInput) {
+ dispatch$$1.call('change', field, t$$1, onInput);
+ });
+
+ if (entity && field.impl.entity) {
+ field.impl.entity(entity);
+ }
+
+ field.keys = field.keys || [field.key];
+
+
+ function isModified() {
+ if (!entity) return false;
+ var original = context.graph().base().entities[entity.id];
+ return some(field.keys, function(key) {
+ return original ? _tags[key] !== original.tags[key] : _tags[key];
+ });
+ }
+
+
+ function isPresent() {
+ return some(field.keys, function(key) {
+ return _tags[key];
+ });
+ }
+
+
+ function revert(d) {
+ event.stopPropagation();
+ event.preventDefault();
+ if (!entity) return false;
+
+ var original = context.graph().base().entities[entity.id];
+ var t$$1 = {};
+ d.keys.forEach(function(key) {
+ t$$1[key] = original ? original.tags[key] : undefined;
+ });
+
+ dispatch$$1.call('change', d, t$$1);
+ }
+
+
+ function remove(d) {
+ event.stopPropagation();
+ event.preventDefault();
+
+ var t$$1 = {};
+ d.keys.forEach(function(key) {
+ t$$1[key] = undefined;
+ });
+
+ dispatch$$1.call('change', d, t$$1);
+ }
+
+
+ field.render = function(selection$$1) {
+ var container = selection$$1.selectAll('.form-field')
+ .data([field]);
+
+ // Enter
+ var enter = container.enter()
+ .append('div')
+ .attr('class', function(d) { return 'form-field form-field-' + d.safeid; })
+ .classed('nowrap', !options.wrap);
+
+ if (options.wrap) {
+ var label = enter
+ .append('label')
+ .attr('class', 'form-label')
+ .attr('for', function(d) { return 'preset-input-' + d.safeid; })
+ .text(function(d) { return d.label(); });
+
+ var wrap = label
+ .append('div')
+ .attr('class', 'form-label-button-wrap');
+
+ if (options.remove) {
+ wrap
+ .append('button')
+ .attr('class', 'remove-icon')
+ .attr('title', t('icons.remove'))
+ .attr('tabindex', -1)
+ .call(svgIcon('#operation-delete'));
+ }
+
+ if (options.revert) {
+ wrap
+ .append('button')
+ .attr('class', 'modified-icon')
+ .attr('title', t('icons.undo'))
+ .attr('tabindex', -1)
+ .call(
+ (textDirection === 'rtl') ? svgIcon('#icon-redo') : svgIcon('#icon-undo')
+ );
+ }
+ }
+
+
+ // Update
+ container = container
+ .merge(enter);
+
+ container.selectAll('.form-label-button-wrap .remove-icon')
+ .on('click', remove);
+
+ container.selectAll('.form-label-button-wrap .modified-icon')
+ .on('click', revert);
+
+ container
+ .classed('modified', isModified())
+ .classed('present', isPresent())
+ .each(function(d) {
+ var reference, help;
+
+ // instantiate field help
+ if (options.wrap && field.type === 'restrictions') {
+ help = uiFieldHelp(context, 'restrictions');
+ }
+
+ // instantiate tag reference
+ if (options.wrap && options.info) {
+ var referenceKey = d.key;
+ if (d.type === 'multiCombo') { // lookup key without the trailing ':'
+ referenceKey = referenceKey.replace(/:$/, '');
+ }
+
+ reference = uiTagReference(d.reference || { key: referenceKey }, context);
+ if (_state === 'hover') {
+ reference.showing(false);
+ }
+ }
+
+ select(this)
+ .call(d.impl);
+
+ // add field help components
+ if (help) {
+ select(this)
+ .call(help.body)
+ .select('.form-label-button-wrap')
+ .call(help.button);
+ }
+
+ // add tag reference components
+ if (reference) {
+ select(this)
+ .call(reference.body)
+ .select('.form-label-button-wrap')
+ .call(reference.button);
+ }
+
+ d.impl.tags(_tags);
+ });
+ };
+
+
+ field.state = function(_) {
+ if (!arguments.length) return _state;
+ _state = _;
+ return field;
+ };
+
+
+ field.tags = function(_) {
+ if (!arguments.length) return _tags;
+ _tags = _;
+ return field;
+ };
+
+
+ field.show = function() {
+ _show = true;
+ if (field.default && field.key && _tags[field.key] !== field.default) {
+ var t$$1 = {};
+ t$$1[field.key] = field.default;
+ dispatch$$1.call('change', this, t$$1);
+ }
+ };
+
+
+ field.isShown = function() {
+ return _show || some(field.keys, function(key) { return !!_tags[key]; });
+ };
+
+
+ field.focus = function() {
+ field.impl.focus();
+ };
+
+
+ return utilRebind(field, dispatch$$1, 'on');
+ }
+
+ function uiFormFields(context) {
+ var fieldsArr;
+
+
+ function formFields(selection$$1, klass) {
+ render(selection$$1, klass);
+ }
+
+
+ function render(selection$$1, klass) {
+
+ var shown = fieldsArr.filter(function(field) { return field.isShown(); }),
+ notShown = fieldsArr.filter(function(field) { return !field.isShown(); });
+
+ var container = selection$$1.selectAll('.form-fields-container')
+ .data([0]);
+
+ container = container.enter()
+ .append('div')
+ .attr('class', 'form-fields-container ' + (klass || ''))
+ .merge(container);
+
+
+ var fields = container.selectAll('.wrap-form-field')
+ .data(shown, function(d) { return d.id; });
+
+ fields.exit()
+ .remove();
+
+ // Enter
+ var enter = fields.enter()
+ .append('div')
+ .attr('class', function(d) { return 'wrap-form-field wrap-form-field-' + d.safeid; });
+
+ // Update
+ fields = fields
+ .merge(enter);
+
+ fields
+ .order()
+ .each(function(d) {
+ select(this)
+ .call(d.render);
+ });
+
+
+ notShown = notShown.map(function(field) {
+ return {
+ title: field.label(),
+ value: field.label(),
+ field: field
+ };
+ });
+
+
+ var more = selection$$1.selectAll('.more-fields')
+ .data((notShown.length > 0) ? [0] : []);
+
+ more.exit()
+ .remove();
+
+ more = more.enter()
+ .append('div')
+ .attr('class', 'more-fields')
+ .append('label')
+ .text(t('inspector.add_fields'))
+ .merge(more);
+
+
+ var input = more.selectAll('.value')
+ .data([0]);
+
+ input.exit()
+ .remove();
+
+ input = input.enter()
+ .append('input')
+ .attr('class', 'value')
+ .attr('type', 'text')
+ .call(utilNoAuto)
+ .merge(input);
+
+ input
+ .call(utilGetSetValue, '')
+ .attr('placeholder', function() {
+ var placeholder = [];
+ for (var field in notShown) {
+ placeholder.push(notShown[field].title);
+ }
+ return placeholder.slice(0,3).join(', ') + ((placeholder.length > 3) ? '…' : '');
+ })
+ .call(d3combobox()
+ .container(context.container())
+ .data(notShown)
+ .minItems(1)
+ .on('accept', function (d) {
+ var field = d.field;
+ field.show();
+ render(selection$$1);
+ if (field.type !== 'semiCombo' && field.type !== 'multiCombo') {
+ field.focus();
+ }
+ })
+ );
+ }
+
+
+ formFields.fieldsArr = function(_) {
+ if (!arguments.length) return fieldsArr;
+ fieldsArr = _;
+ return formFields;
+ };
+
+
+ return formFields;
+ }
+
+ function uiPresetEditor(context) {
+ var dispatch$$1 = dispatch('change'),
+ formFields = uiFormFields(context),
+ state,
+ fieldsArr,
+ preset,
+ tags,
+ entityId;
+
+
+ function presetEditor(selection$$1) {
+ selection$$1.call(uiDisclosure(context, 'preset_fields', true)
+ .title(t('inspector.all_fields'))
+ .content(render)
+ );
+ }
+
+
+ function render(selection$$1) {
+ if (!fieldsArr) {
+ var entity = context.entity(entityId),
+ geometry = context.geometry(entityId),
+ presets = context.presets();
+
+ fieldsArr = [];
+
+ preset.fields.forEach(function(field) {
+ if (field.matchGeometry(geometry)) {
+ fieldsArr.push(
+ uiField(context, field, entity)
+ );
+ }
+ });
+
+ if (entity.isHighwayIntersection(context.graph()) && presets.field('restrictions')) {
+ fieldsArr.push(
+ uiField(context, presets.field('restrictions'), entity)
+ );
+ }
+
+ presets.universal().forEach(function(field) {
+ if (preset.fields.indexOf(field) === -1) {
+ fieldsArr.push(
+ uiField(context, field, entity, { show: false })
+ );
+ }
+ });
+
+ fieldsArr.forEach(function(field) {
+ field
+ .on('change', function(t$$1, onInput) {
+ dispatch$$1.call('change', field, t$$1, onInput);
+ });
+ });
+ }
+
+ fieldsArr.forEach(function(field) {
+ field
+ .state(state)
+ .tags(tags);
+ });
+
+
+ selection$$1
+ .call(formFields.fieldsArr(fieldsArr), 'inspector-inner fillL3');
+
+
+ selection$$1.selectAll('.wrap-form-field input')
+ .on('keydown', function() {
+ // if user presses enter, and combobox is not active, accept edits..
+ if (event.keyCode === 13 && select('.combobox').empty()) {
+ context.enter(modeBrowse(context));
+ }
+ });
+ }
+
+
+ presetEditor.preset = function(_) {
+ if (!arguments.length) return preset;
+ if (preset && preset.id === _.id) return presetEditor;
+ preset = _;
+ fieldsArr = null;
+ return presetEditor;
+ };
+
+
+ presetEditor.state = function(_) {
+ if (!arguments.length) return state;
+ state = _;
+ return presetEditor;
+ };
+
+
+ presetEditor.tags = function(_) {
+ if (!arguments.length) return tags;
+ tags = _;
+ // Don't reset fieldsArr here.
+ return presetEditor;
+ };
+
+
+ presetEditor.entityID = function(_) {
+ if (!arguments.length) return entityId;
+ if (entityId === _) return presetEditor;
+ entityId = _;
+ fieldsArr = null;
+ return presetEditor;
+ };
+
+
+ return utilRebind(presetEditor, dispatch$$1, 'on');
+ }
+
+ function uiEntityEditor(context) {
+ var dispatch$$1 = dispatch('choose');
+ var _state = 'select';
+ var _coalesceChanges = false;
+ var _modified = false;
+ var _base;
+ var _entityID;
+ var _activePreset;
+ var _tagReference;
+
+ var presetEditor = uiPresetEditor(context)
+ .on('change', changeTags);
+ var rawTagEditor = uiRawTagEditor(context)
+ .on('change', changeTags);
+
+
+ function entityEditor(selection$$1) {
+ var entity = context.entity(_entityID);
+ var tags = clone(entity.tags);
+
+ // Header
+ var header = selection$$1.selectAll('.header')
+ .data([0]);
+
+ // Enter
+ var enter = header.enter()
+ .append('div')
+ .attr('class', 'header fillL cf');
+
+ enter
+ .append('button')
+ .attr('class', 'fl preset-reset preset-choose')
+ .call(svgIcon((textDirection === 'rtl') ? '#icon-forward' : '#icon-backward'));
+
+ enter
+ .append('button')
+ .attr('class', 'fr preset-close')
+ .on('click', function() { context.enter(modeBrowse(context)); })
+ .call(svgIcon(_modified ? '#icon-apply' : '#icon-close'));
+
+ enter
+ .append('h3')
+ .text(t('inspector.edit'));
+
+ // Update
+ header = header
+ .merge(enter);
+
+ header.selectAll('.preset-reset')
+ .on('click', function() {
+ dispatch$$1.call('choose', this, _activePreset);
+ });
+
+
+ // Body
+ var body = selection$$1.selectAll('.inspector-body')
+ .data([0]);
+
+ // Enter
+ enter = body.enter()
+ .append('div')
+ .attr('class', 'inspector-body');
+
+ enter
+ .append('div')
+ .attr('class', 'preset-list-item inspector-inner')
+ .append('div')
+ .attr('class', 'preset-list-button-wrap')
+ .append('button')
+ .attr('class', 'preset-list-button preset-reset')
+ .call(tooltip().title(t('inspector.back_tooltip')).placement('bottom'))
+ .append('div')
+ .attr('class', 'label');
+
+ enter
+ .append('div')
+ .attr('class', 'inspector-border preset-editor');
+
+ enter
+ .append('div')
+ .attr('class', 'inspector-border raw-tag-editor inspector-inner');
+
+ enter
+ .append('div')
+ .attr('class', 'inspector-border raw-member-editor inspector-inner');
+
+ enter
+ .append('div')
+ .attr('class', 'raw-membership-editor inspector-inner');
+
+ enter
+ .append('input')
+ .attr('type', 'text')
+ .attr('class', 'key-trap');
+
+
+ // Update
+ body = body
+ .merge(enter);
+
+ if (_tagReference) {
+ body.selectAll('.preset-list-button-wrap')
+ .call(_tagReference.button);
+
+ body.selectAll('.preset-list-item')
+ .call(_tagReference.body);
+ }
+
+ body.selectAll('.preset-reset')
+ .on('click', function() {
+ dispatch$$1.call('choose', this, _activePreset);
+ });
+
+ body.select('.preset-list-item button')
+ .call(uiPresetIcon()
+ .geometry(context.geometry(_entityID))
+ .preset(_activePreset)
+ );
+
+ body.select('.preset-list-item .label')
+ .text(_activePreset.name());
+
+ body.select('.preset-editor')
+ .call(presetEditor
+ .preset(_activePreset)
+ .entityID(_entityID)
+ .tags(tags)
+ .state(_state)
+ );
+
+ body.select('.raw-tag-editor')
+ .call(rawTagEditor
+ .preset(_activePreset)
+ .entityID(_entityID)
+ .tags(tags)
+ .state(_state)
+ );
+
+ if (entity.type === 'relation') {
+ body.select('.raw-member-editor')
+ .style('display', 'block')
+ .call(uiRawMemberEditor(context)
+ .entityID(_entityID)
+ );
+ } else {
+ body.select('.raw-member-editor')
+ .style('display', 'none');
+ }
+
+ body.select('.raw-membership-editor')
+ .call(uiRawMembershipEditor(context)
+ .entityID(_entityID)
+ );
+
+ body.select('.key-trap')
+ .on('keydown.key-trap', function() {
+ // On tabbing, send focus back to the first field on the inspector-body
+ // (probably the `name` field) #4159
+ if (event.keyCode === 9 && !event.shiftKey) {
+ event.preventDefault();
+ body.select('input').node().focus();
+ }
+ });
+
+ context.history()
+ .on('change.entity-editor', historyChanged);
+
+
+ function historyChanged() {
+ if (_state === 'hide') return;
+
+ var entity = context.hasEntity(_entityID);
+ var graph = context.graph();
+ if (!entity) return;
+
+ var match = context.presets().match(entity, graph);
+ var activePreset = entityEditor.preset();
+ var weakPreset = activePreset && isEmpty(activePreset.addTags);
+
+ // A "weak" preset doesn't set any tags. (e.g. "Address")
+ // Don't replace a weak preset with a fallback preset (e.g. "Point")
+ if (!(weakPreset && match.isFallback())) {
+ entityEditor.preset(match);
+ }
+ entityEditor.modified(_base !== graph);
+ entityEditor(selection$$1);
+ }
+ }
+
+
+ // Tag changes that fire on input can all get coalesced into a single
+ // history operation when the user leaves the field. #2342
+ function changeTags(changed, onInput) {
+ var entity = context.entity(_entityID);
+ var annotation = t('operations.change_tags.annotation');
+ var tags = clone(entity.tags);
+
+ for (var k in changed) {
+ if (!k) continue;
+ var v = changed[k];
+ if (v !== undefined || tags.hasOwnProperty(k)) {
+ tags[k] = v;
+ }
+ }
+
+ if (!onInput) {
+ tags = utilCleanTags(tags);
+ }
+
+ if (!isEqual(entity.tags, tags)) {
+ if (_coalesceChanges) {
+ context.overwrite(actionChangeTags(_entityID, tags), annotation);
+ } else {
+ context.perform(actionChangeTags(_entityID, tags), annotation);
+ _coalesceChanges = !!onInput;
+ }
+ }
+ }
+
+
+ entityEditor.modified = function(_) {
+ if (!arguments.length) return _modified;
+ _modified = _;
+ d3_selectAll('button.preset-close use')
+ .attr('xlink:href', (_modified ? '#icon-apply' : '#icon-close'));
+ return entityEditor;
+ };
+
+
+ entityEditor.state = function(_) {
+ if (!arguments.length) return _state;
+ _state = _;
+ return entityEditor;
+ };
+
+
+ entityEditor.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ _base = context.graph();
+ _coalesceChanges = false;
+
+ var presetMatch = context.presets().match(context.entity(_entityID), _base);
+
+ return entityEditor
+ .preset(presetMatch)
+ .modified(false);
+ };
+
+
+ entityEditor.preset = function(_) {
+ if (!arguments.length) return _activePreset;
+ if (_ !== _activePreset) {
+ _activePreset = _;
+ _tagReference = uiTagReference(_activePreset.reference(context.geometry(_entityID)), context)
+ .showing(false);
+ }
+ return entityEditor;
+ };
+
+
+ return utilRebind(entityEditor, dispatch$$1, 'on');
+ }
+
+ function uiPresetList(context) {
+ var dispatch$$1 = dispatch('choose'),
+ id,
+ currentPreset,
+ autofocus = false;
+
+
+ function presetList(selection$$1) {
+ var entity = context.entity(id),
+ geometry = context.geometry(id);
+
+ // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+ if (geometry === 'vertex' && entity.isOnAddressLine(context.graph())) {
+ geometry = 'point';
+ }
+
+ var presets = context.presets().matchGeometry(geometry);
+
+ selection$$1.html('');
+
+ var messagewrap = selection$$1
+ .append('div')
+ .attr('class', 'header fillL cf');
+
+ var message = messagewrap
+ .append('h3')
+ .text(t('inspector.choose'));
+
+ if (context.entity(id).isUsed(context.graph())) {
+ messagewrap
+ .append('button')
+ .attr('class', 'preset-choose')
+ .on('click', function() { dispatch$$1.call('choose', this, currentPreset); })
+ .call(svgIcon((textDirection === 'rtl') ? '#icon-backward' : '#icon-forward'));
+ } else {
+ messagewrap
+ .append('button')
+ .attr('class', 'close')
+ .on('click', function() {
+ context.enter(modeBrowse(context));
+ })
+ .call(svgIcon('#icon-close'));
+ }
+
+ function keydown() {
+ // hack to let delete shortcut work when search is autofocused
+ if (search.property('value').length === 0 &&
+ (event.keyCode === d3keybinding.keyCodes['⌫'] ||
+ event.keyCode === d3keybinding.keyCodes['⌦'])) {
+ event.preventDefault();
+ event.stopPropagation();
+ operationDelete([id], context)();
+ } else if (search.property('value').length === 0 &&
+ (event.ctrlKey || event.metaKey) &&
+ event.keyCode === d3keybinding.keyCodes.z) {
+ event.preventDefault();
+ event.stopPropagation();
+ context.undo();
+ } else if (!event.ctrlKey && !event.metaKey) {
+ select(this).on('keydown', null);
+ }
+ }
+
+ function keypress() {
+ // enter
+ var value = search.property('value');
+ if (event.keyCode === 13 && value.length) {
+ list.selectAll('.preset-list-item:first-child').datum().choose();
+ }
+ }
+
+ function inputevent() {
+ var value = search.property('value');
+ list.classed('filtered', value.length);
+ if (value.length) {
+ var results = presets.search(value, geometry);
+ message.text(t('inspector.results', {
+ n: results.collection.length,
+ search: value
+ }));
+ list.call(drawList, results);
+ } else {
+ list.call(drawList, context.presets().defaults(geometry, 36));
+ message.text(t('inspector.choose'));
+ }
+ }
+
+ var searchWrap = selection$$1
+ .append('div')
+ .attr('class', 'search-header');
+
+ var search = searchWrap
+ .append('input')
+ .attr('class', 'preset-search-input')
+ .attr('placeholder', t('inspector.search'))
+ .attr('type', 'search')
+ .call(utilNoAuto)
+ .on('keydown', keydown)
+ .on('keypress', keypress)
+ .on('input', inputevent);
+
+ searchWrap
+ .call(svgIcon('#icon-search', 'pre-text'));
+
+ if (autofocus) {
+ search.node().focus();
+ }
+
+ var listWrap = selection$$1
+ .append('div')
+ .attr('class', 'inspector-body');
+
+ var list = listWrap
+ .append('div')
+ .attr('class', 'preset-list fillL cf')
+ .call(drawList, context.presets().defaults(geometry, 36));
+ }
+
+
+ function drawList(list, presets) {
+ var collection = presets.collection.map(function(preset) {
+ return preset.members ? CategoryItem(preset) : PresetItem(preset);
+ });
+
+ var items = list.selectAll('.preset-list-item')
+ .data(collection, function(d) { return d.preset.id; });
+
+ items.order();
+
+ items.exit()
+ .remove();
+
+ items.enter()
+ .append('div')
+ .attr('class', function(item) { return 'preset-list-item preset-' + item.preset.id.replace('/', '-'); })
+ .classed('current', function(item) { return item.preset === currentPreset; })
+ .each(function(item) { select(this).call(item); })
+ .style('opacity', 0)
+ .transition()
+ .style('opacity', 1);
+ }
+
+
+ function CategoryItem(preset) {
+ var box, sublist, shown = false;
+
+ function item(selection$$1) {
+ var wrap = selection$$1.append('div')
+ .attr('class', 'preset-list-button-wrap category col12');
+
+ var button = wrap
+ .append('button')
+ .attr('class', 'preset-list-button')
+ .classed('expanded', false)
+ .call(uiPresetIcon()
+ .geometry(context.geometry(id))
+ .preset(preset))
+ .on('click', function() {
+ var isExpanded = select(this).classed('expanded');
+ var iconName = isExpanded ?
+ (textDirection === 'rtl' ? '#icon-backward' : '#icon-forward') : '#icon-down';
+ select(this)
+ .classed('expanded', !isExpanded);
+ select(this).selectAll('div.label svg.icon use')
+ .attr('href', iconName);
+ item.choose();
+ });
+
+ var label = button
+ .append('div')
+ .attr('class', 'label');
+
+ label
+ .call(svgIcon((textDirection === 'rtl' ? '#icon-backward' : '#icon-forward'), 'inline'))
+ .append('span')
+ .html(function() { return preset.name() + '…'; });
+
+ box = selection$$1.append('div')
+ .attr('class', 'subgrid col12')
+ .style('max-height', '0px')
+ .style('opacity', 0);
+
+ box.append('div')
+ .attr('class', 'arrow');
+
+ sublist = box.append('div')
+ .attr('class', 'preset-list fillL3 cf fl');
+ }
+
+
+ item.choose = function() {
+ if (!box || !sublist) return;
+
+ if (shown) {
+ shown = false;
+ box.transition()
+ .duration(200)
+ .style('opacity', '0')
+ .style('max-height', '0px')
+ .style('padding-bottom', '0px');
+ } else {
+ shown = true;
+ sublist.call(drawList, preset.members);
+ box.transition()
+ .duration(200)
+ .style('opacity', '1')
+ .style('max-height', 200 + preset.members.collection.length * 190 + 'px')
+ .style('padding-bottom', '20px');
+ }
+ };
+
+ item.preset = preset;
+
+ return item;
+ }
+
+
+ function PresetItem(preset) {
+ function item(selection$$1) {
+ var wrap = selection$$1.append('div')
+ .attr('class', 'preset-list-button-wrap col12');
+
+ wrap.append('button')
+ .attr('class', 'preset-list-button')
+ .call(uiPresetIcon()
+ .geometry(context.geometry(id))
+ .preset(preset))
+ .on('click', item.choose)
+ .append('div')
+ .attr('class', 'label')
+ .text(preset.name());
+
+ wrap.call(item.reference.button);
+ selection$$1.call(item.reference.body);
+ }
+
+ item.choose = function() {
+ context.presets().choose(preset);
+
+ context.perform(
+ actionChangePreset(id, currentPreset, preset),
+ t('operations.change_tags.annotation')
+ );
+
+ dispatch$$1.call('choose', this, preset);
+ };
+
+ item.help = function() {
+ event.stopPropagation();
+ item.reference.toggle();
+ };
+
+ item.preset = preset;
+ item.reference = uiTagReference(preset.reference(context.geometry(id)), context);
+
+ return item;
+ }
+
+
+ presetList.autofocus = function(_) {
+ if (!arguments.length) return autofocus;
+ autofocus = _;
+ return presetList;
+ };
+
+
+ presetList.entityID = function(_) {
+ if (!arguments.length) return id;
+ id = _;
+ presetList.preset(context.presets().match(context.entity(id), context.graph()));
+ return presetList;
+ };
+
+
+ presetList.preset = function(_) {
+ if (!arguments.length) return currentPreset;
+ currentPreset = _;
+ return presetList;
+ };
+
+
+ return utilRebind(presetList, dispatch$$1, 'on');
+ }
+
+ function uiViewOnOSM(context) {
+ var id;
+
+ function viewOnOSM(selection) {
+ var entity = context.entity(id);
+
+ selection.style('display', entity.isNew() ? 'none' : null);
+
+ var link = selection.selectAll('.view-on-osm')
+ .data([0]);
+
+ var enter = link.enter()
+ .append('a')
+ .attr('class', 'view-on-osm')
+ .attr('target', '_blank')
+ .call(svgIcon('#icon-out-link', 'inline'));
+
+ enter
+ .append('span')
+ .text(t('inspector.view_on_osm'));
+
+ link
+ .merge(enter)
+ .attr('href', context.connection().entityURL(entity));
+ }
+
+
+ viewOnOSM.entityID = function(_) {
+ if (!arguments.length) return id;
+ id = _;
+ return viewOnOSM;
+ };
+
+ return viewOnOSM;
+ }
+
+ function uiInspector(context) {
+ var presetList = uiPresetList(context);
+ var entityEditor = uiEntityEditor(context);
+ var _state = 'select';
+ var _entityID;
+ var _newFeature = false;
+
+
+ function inspector(selection$$1) {
+ presetList
+ .entityID(_entityID)
+ .autofocus(_newFeature)
+ .on('choose', setPreset);
+
+ entityEditor
+ .state(_state)
+ .entityID(_entityID)
+ .on('choose', showList);
+
+ var wrap = selection$$1.selectAll('.panewrap')
+ .data([0]);
+
+ var enter = wrap.enter()
+ .append('div')
+ .attr('class', 'panewrap');
+
+ enter
+ .append('div')
+ .attr('class', 'preset-list-pane pane');
+
+ enter
+ .append('div')
+ .attr('class', 'entity-editor-pane pane');
+
+ wrap = wrap.merge(enter);
+ var presetPane = wrap.selectAll('.preset-list-pane');
+ var editorPane = wrap.selectAll('.entity-editor-pane');
+
+ var graph = context.graph(),
+ entity = context.entity(_entityID),
+ showEditor = _state === 'hover' ||
+ entity.isUsed(graph) ||
+ entity.isHighwayIntersection(graph);
+
+ if (showEditor) {
+ wrap.style('right', '0%');
+ editorPane.call(entityEditor);
+ } else {
+ wrap.style('right', '-100%');
+ presetPane.call(presetList);
+ }
+
+ var footer = selection$$1.selectAll('.footer')
+ .data([0]);
+
+ footer = footer.enter()
+ .append('div')
+ .attr('class', 'footer')
+ .merge(footer);
+
+ footer
+ .call(uiViewOnOSM(context).entityID(_entityID));
+
+
+ function showList(preset) {
+ wrap.transition()
+ .styleTween('right', function() { return interpolate('0%', '-100%'); });
+
+ presetPane
+ .call(presetList.preset(preset).autofocus(true));
+ }
+
+
+ function setPreset(preset) {
+ wrap.transition()
+ .styleTween('right', function() { return interpolate('-100%', '0%'); });
+
+ editorPane
+ .call(entityEditor.preset(preset));
+ }
+ }
+
+
+ inspector.state = function(_) {
+ if (!arguments.length) return _state;
+ _state = _;
+ entityEditor.state(_state);
+
+ // remove any old field help overlay that might have gotten attached to the inspector
+ d3_selectAll('.field-help-body').remove();
+
+ return inspector;
+ };
+
+
+ inspector.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ return inspector;
+ };
+
+
+ inspector.newFeature = function(_) {
+ if (!arguments.length) return _newFeature;
+ _newFeature = _;
+ return inspector;
+ };
+
+
+ return inspector;
+ }
+
+ function uiSidebar(context) {
+ var inspector = uiInspector(context),
+ current;
+
+
+ function sidebar(selection) {
+ var featureListWrap = selection
+ .append('div')
+ .attr('class', 'feature-list-pane')
+ .call(uiFeatureList(context));
+
+
+ var inspectorWrap = selection
+ .append('div')
+ .attr('class', 'inspector-hidden inspector-wrap fr');
+
+
+ function hover(id) {
+ if (!current && context.hasEntity(id)) {
+ featureListWrap
+ .classed('inspector-hidden', true);
+
+ inspectorWrap
+ .classed('inspector-hidden', false)
+ .classed('inspector-hover', true);
+
+ if (inspector.entityID() !== id || inspector.state() !== 'hover') {
+ inspector
+ .state('hover')
+ .entityID(id);
+
+ inspectorWrap
+ .call(inspector);
+ }
+
+ } else if (!current) {
+ featureListWrap
+ .classed('inspector-hidden', false);
+ inspectorWrap
+ .classed('inspector-hidden', true);
+ inspector
+ .state('hide');
+ }
+ }
+
+
+ sidebar.hover = throttle(hover, 200);
+
+
+ sidebar.select = function(id, newFeature) {
+ if (!current && id) {
+ featureListWrap
+ .classed('inspector-hidden', true);
+
+ inspectorWrap
+ .classed('inspector-hidden', false)
+ .classed('inspector-hover', false);
+
+ if (inspector.entityID() !== id || inspector.state() !== 'select') {
+ inspector
+ .state('select')
+ .entityID(id)
+ .newFeature(newFeature);
+
+ inspectorWrap
+ .call(inspector);
+ }
+
+ } else if (!current) {
+ featureListWrap
+ .classed('inspector-hidden', false);
+ inspectorWrap
+ .classed('inspector-hidden', true);
+ inspector
+ .state('hide');
+ }
+ };
+
+
+ sidebar.show = function(component) {
+ featureListWrap
+ .classed('inspector-hidden', true);
+ inspectorWrap
+ .classed('inspector-hidden', true);
+
+ if (current) current.remove();
+ current = selection
+ .append('div')
+ .attr('class', 'sidebar-component')
+ .call(component);
+ };
+
+
+ sidebar.hide = function() {
+ featureListWrap
+ .classed('inspector-hidden', false);
+ inspectorWrap
+ .classed('inspector-hidden', true);
+
+ if (current) current.remove();
+ current = null;
+ };
+ }
+
+
+ sidebar.hover = function() {};
+ sidebar.hover.cancel = function() {};
+ sidebar.select = function() {};
+ sidebar.show = function() {};
+ sidebar.hide = function() {};
+
+ return sidebar;
+ }
+
+ function uiSpinner(context) {
+ var osm = context.connection();
+
+
+ return function(selection) {
+ var img = selection
+ .append('img')
+ .attr('src', context.imagePath('loader-black.gif'))
+ .style('opacity', 0);
+
+ if (osm) {
+ osm
+ .on('loading.spinner', function() {
+ img.transition()
+ .style('opacity', 1);
+ })
+ .on('loaded.spinner', function() {
+ img.transition()
+ .style('opacity', 0);
+ });
+ }
+ };
+ }
+
+ function uiSplash(context) {
+
+ return function(selection) {
+ if (context.storage('sawSplash'))
+ return;
+
+ context.storage('sawSplash', true);
+
+ var modalSelection = uiModal(selection);
+
+ modalSelection.select('.modal')
+ .attr('class', 'modal-splash modal col6');
+
+ var introModal = modalSelection.select('.content')
+ .append('div')
+ .attr('class', 'fillL');
+
+ introModal
+ .append('div')
+ .attr('class','modal-section cf')
+ .append('h3').text(t('splash.welcome'));
+
+ introModal
+ .append('div')
+ .attr('class','modal-section')
+ .append('p')
+ .html(t('splash.text', {
+ version: context.version,
+ website: '<a href="http://ideditor.com/">ideditor.com</a>',
+ github: '<a href="https://github.com/openstreetmap/iD">github.com</a>'
+ }));
+
+ var buttonWrap = introModal
+ .append('div')
+ .attr('class', 'modal-actions cf');
+
+ var walkthrough = buttonWrap
+ .append('button')
+ .attr('class', 'walkthrough col6')
+ .on('click', function() {
+ context.container().call(uiIntro(context));
+ modalSelection.close();
+ });
+
+ walkthrough
+ .append('svg')
+ .attr('class', 'logo logo-walkthrough')
+ .append('use')
+ .attr('xlink:href', '#logo-walkthrough');
+
+ walkthrough
+ .append('div')
+ .text(t('splash.walkthrough'));
+
+ var startEditing = buttonWrap
+ .append('button')
+ .attr('class', 'start-editing col6')
+ .on('click', modalSelection.close);
+
+ startEditing
+ .append('svg')
+ .attr('class', 'logo logo-features')
+ .append('use')
+ .attr('xlink:href', '#logo-features');
+
+ startEditing
+ .append('div')
+ .text(t('splash.start'));
+
+
+ modalSelection.select('button.close')
+ .attr('class','hide');
+
+ };
+ }
+
+ function uiStatus(context) {
+ var osm = context.connection();
+
+
+ return function(selection$$1) {
+ if (!osm) return;
+
+ function update() {
+ osm.status(function(err, apiStatus) {
+ selection$$1.html('');
+
+ if (err) {
+ if (apiStatus === 'connectionSwitched') {
+ // if the connection was just switched, we can't rely on
+ // the status (we're getting the status of the previous api)
+ return;
+
+ } else if (apiStatus === 'rateLimited') {
+ selection$$1
+ .text(t('status.rateLimit'))
+ .append('a')
+ .attr('class', 'api-status-login')
+ .attr('target', '_blank')
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .append('span')
+ .text(t('login'))
+ .on('click.login', function() {
+ event.preventDefault();
+ osm.authenticate();
+ });
+ } else {
+ // eslint-disable-next-line no-warning-comments
+ // TODO: nice messages for different error types
+ selection$$1.text(t('status.error'));
+ }
+
+ } else if (apiStatus === 'readonly') {
+ selection$$1.text(t('status.readonly'));
+ } else if (apiStatus === 'offline') {
+ selection$$1.text(t('status.offline'));
+ }
+
+ selection$$1.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
+ });
+ }
+
+ osm.on('change', function() { update(selection$$1); });
+
+ window.setInterval(update, 90000);
+ update(selection$$1);
+ };
+ }
+
+ function uiUndoRedo(context) {
+ var commands = [{
+ id: 'undo',
+ cmd: uiCmd('⌘Z'),
+ action: function() { if (editable()) context.undo(); },
+ annotation: function() { return context.history().undoAnnotation(); }
+ }, {
+ id: 'redo',
+ cmd: uiCmd('⌘⇧Z'),
+ action: function() { if (editable()) context.redo(); },
+ annotation: function() { return context.history().redoAnnotation(); }
+ }];
+
+
+ function editable() {
+ var mode = context.mode();
+ return context.editable() && mode && mode.id !== 'save';
+ }
+
+
+ return function(selection$$1) {
+ var tooltipBehavior = tooltip()
+ .placement('bottom')
+ .html(true)
+ .title(function (d) {
+ return uiTooltipHtml(d.annotation() ?
+ t(d.id + '.tooltip', {action: d.annotation()}) :
+ t(d.id + '.nothing'), d.cmd);
+ });
+
+ var buttons = selection$$1.selectAll('button')
+ .data(commands)
+ .enter()
+ .append('button')
+ .attr('class', function(d) { return 'col6 disabled ' + d.id + '-button'; })
+ .on('click', function(d) { return d.action(); })
+ .call(tooltipBehavior);
+
+ buttons.each(function(d) {
+ var iconName = d.id;
+ if (textDirection === 'rtl') {
+ if (iconName === 'undo') {
+ iconName = 'redo';
+ } else if (iconName === 'redo') {
+ iconName = 'undo';
+ }
+ }
+ select(this)
+ .call(svgIcon('#icon-' + iconName));
+ });
+
+ var keybinding = d3keybinding('undo')
+ .on(commands[0].cmd, function() { event.preventDefault(); commands[0].action(); })
+ .on(commands[1].cmd, function() { event.preventDefault(); commands[1].action(); });
+
+ select(document)
+ .call(keybinding);
+
+
+ var debouncedUpdate = debounce(update, 500, { leading: true, trailing: true });
+
+ context.map()
+ .on('move.undo_redo', debouncedUpdate)
+ .on('drawn.undo_redo', debouncedUpdate);
+
+ context.history()
+ .on('change.undo_redo', update);
+
+ context
+ .on('enter.undo_redo', update);
+
+
+ function update() {
+ buttons
+ .property('disabled', !editable())
+ .classed('disabled', function(d) { return !d.annotation(); })
+ .each(function() {
+ var selection$$1 = select(this);
+ if (selection$$1.property('tooltipVisible')) {
+ selection$$1.call(tooltipBehavior.show);
+ }
+ });
+ }
+ };
+ }
+
+ // these are module variables so they are preserved through a ui.restart()
+ var sawVersion = null,
+ isNewVersion = false,
+ isNewUser = false;
+
+
+ function uiVersion(context) {
+
+ var currVersion = context.version,
+ matchedVersion = currVersion.match(/\d\.\d\.\d.*/);
+
+ if (sawVersion === null && matchedVersion !== null) {
+ isNewVersion = (context.storage('sawVersion') !== currVersion);
+ isNewUser = !context.storage('sawSplash');
+ context.storage('sawVersion', currVersion);
+ sawVersion = currVersion;
+ }
+
+ return function(selection) {
+ selection
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', 'https://github.com/openstreetmap/iD')
+ .text(currVersion);
+
+ // only show new version indicator to users that have used iD before
+ if (isNewVersion && !isNewUser) {
+ selection
+ .append('div')
+ .attr('class', 'badge')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CHANGELOG.md#whats-new')
+ .call(svgIcon('#gift-11'))
+ .call(tooltip()
+ .title(t('version.whats_new', { version: currVersion }))
+ .placement('top')
+ );
+ }
+ };
+ }
+
+ function uiZoom(context) {
+ var zooms = [{
+ id: 'zoom-in',
+ icon: 'plus',
+ title: t('zoom.in'),
+ action: context.zoomIn,
+ key: '+'
+ }, {
+ id: 'zoom-out',
+ icon: 'minus',
+ title: t('zoom.out'),
+ action: context.zoomOut,
+ key: '-'
+ }];
+
+
+ function zoomIn() {
+ event.preventDefault();
+ context.zoomIn();
+ }
+
+
+ function zoomOut() {
+ event.preventDefault();
+ context.zoomOut();
+ }
+
+
+ function zoomInFurther() {
+ event.preventDefault();
+ context.zoomInFurther();
+ }
+
+
+ function zoomOutFurther() {
+ event.preventDefault();
+ context.zoomOutFurther();
+ }
+
+
+ return function(selection$$1) {
+ var button = selection$$1.selectAll('button')
+ .data(zooms)
+ .enter()
+ .append('button')
+ .attr('tabindex', -1)
+ .attr('class', function(d) { return d.id; })
+ .on('click.editor', function(d) { d.action(); })
+ .call(tooltip()
+ .placement((textDirection === 'rtl') ? 'right' : 'left')
+ .html(true)
+ .title(function(d) {
+ return uiTooltipHtml(d.title, d.key);
+ })
+ );
+
+ button.each(function(d) {
+ select(this)
+ .call(svgIcon('#icon-' + d.icon, 'light'));
+ });
+
+ var keybinding = d3keybinding('zoom');
+
+ ['plus', 'ffplus', '=', 'ffequals'].forEach(function(key) {
+ keybinding.on([key], zoomIn);
+ keybinding.on([uiCmd('⌘' + key)], zoomInFurther);
+ });
+
+ ['_', '-', 'ffminus', 'dash'].forEach(function(key) {
+ keybinding.on([key], zoomOut);
+ keybinding.on([uiCmd('⌘' + key)], zoomOutFurther);
+ });
+
+ select(document)
+ .call(keybinding);
+ };
+ }
+
+ function uiInit(context) {
+ var uiInitCounter = 0;
+
+
+ function render(container) {
+ container
+ .attr('dir', textDirection);
+
+ var map = context.map();
+
+ var hash = behaviorHash(context);
+ hash();
+
+ if (!hash.hadHash) {
+ map.centerZoom([0, 0], 2);
+ }
+
+ container
+ .append('svg')
+ .attr('id', 'defs')
+ .call(svgDefs(context));
+
+ container
+ .append('div')
+ .attr('id', 'sidebar')
+ .attr('class', 'col4')
+ .call(ui.sidebar);
+
+ var content = container
+ .append('div')
+ .attr('id', 'content')
+ .attr('class', 'active');
+
+ var bar = content
+ .append('div')
+ .attr('id', 'bar')
+ .attr('class', 'fillD');
+
+ content
+ .append('div')
+ .attr('id', 'map')
+ .attr('dir', 'ltr')
+ .call(map);
+
+ content
+ .call(uiMapInMap(context))
+ .call(uiInfo(context))
+ .call(uiNotice(context));
+
+ bar
+ .append('div')
+ .attr('class', 'spacer col4');
+
+ var limiter = bar.append('div')
+ .attr('class', 'limiter');
+
+ limiter
+ .append('div')
+ .attr('class', 'button-wrap joined col3')
+ .call(uiModes(context), limiter);
+
+ limiter
+ .append('div')
+ .attr('class', 'button-wrap joined col1')
+ .call(uiUndoRedo(context));
+
+ limiter
+ .append('div')
+ .attr('class', 'button-wrap col1')
+ .call(uiSave(context));
+
+ bar
+ .append('div')
+ .attr('class', 'full-screen')
+ .call(uiFullScreen(context));
+
+ bar
+ .append('div')
+ .attr('class', 'spinner')
+ .call(uiSpinner(context));
+
+
+ var controls = bar
+ .append('div')
+ .attr('class', 'map-controls');
+
+ controls
+ .append('div')
+ .attr('class', 'map-control zoombuttons')
+ .call(uiZoom(context));
+
+ controls
+ .append('div')
+ .attr('class', 'map-control geolocate-control')
+ .call(uiGeolocate(context));
+
+ controls
+ .append('div')
+ .attr('class', 'map-control background-control')
+ .call(uiBackground(context));
+
+ controls
+ .append('div')
+ .attr('class', 'map-control map-data-control')
+ .call(uiMapData(context));
+
+ controls
+ .append('div')
+ .attr('class', 'map-control help-control')
+ .call(uiHelp(context));
+
+
+ var about = content
+ .append('div')
+ .attr('id', 'about');
+
+ about
+ .append('div')
+ .attr('id', 'attrib')
+ .attr('dir', 'ltr')
+ .call(uiAttribution(context));
+
+ about
+ .append('div')
+ .attr('class', 'api-status')
+ .call(uiStatus(context));
+
+
+ var footer = about
+ .append('div')
+ .attr('id', 'footer')
+ .attr('class', 'fillD');
+
+ footer
+ .append('div')
+ .attr('id', 'flash-wrap')
+ .attr('class', 'footer-hide');
+
+ var footerWrap = footer
+ .append('div')
+ .attr('id', 'footer-wrap')
+ .attr('class', 'footer-show');
+
+ footerWrap
+ .append('div')
+ .attr('id', 'scale-block')
+ .call(uiScale(context));
+
+ var aboutList = footerWrap
+ .append('div')
+ .attr('id', 'info-block')
+ .append('ul')
+ .attr('id', 'about-list');
+
+ if (!context.embed()) {
+ aboutList
+ .call(uiAccount(context));
+ }
+
+ aboutList
+ .append('li')
+ .attr('class', 'version')
+ .call(uiVersion(context));
+
+ var issueLinks = aboutList
+ .append('li');
+
+ issueLinks
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', 'https://github.com/openstreetmap/iD/issues')
+ .call(svgIcon('#icon-bug', 'light'))
+ .call(tooltip().title(t('report_a_bug')).placement('top'));
+
+ issueLinks
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating')
+ .call(svgIcon('#icon-translate', 'light'))
+ .call(tooltip().title(t('help_translate')).placement('top'));
+
+ aboutList
+ .append('li')
+ .attr('class', 'feature-warning')
+ .attr('tabindex', -1)
+ .call(uiFeatureInfo(context));
+
+ aboutList
+ .append('li')
+ .attr('class', 'user-list')
+ .attr('tabindex', -1)
+ .call(uiContributors(context));
+
+
+ var photoviewer = content
+ .append('div')
+ .attr('id', 'photoviewer')
+ .classed('al', true) // 'al'=left, 'ar'=right
+ .classed('hide', true);
+
+ photoviewer
+ .append('button')
+ .attr('class', 'thumb-hide')
+ .on('click', function () {
+ if (services.mapillary) { services.mapillary.hideViewer(); }
+ if (services.openstreetcam) { services.openstreetcam.hideViewer(); }
+ })
+ .append('div')
+ .call(svgIcon('#icon-close'));
+
+
+ window.onbeforeunload = function() {
+ return context.save();
+ };
+
+ window.onunload = function() {
+ context.history().unlock();
+ };
+
+ var mapDimensions = map.dimensions();
+
+
+ function onResize() {
+ mapDimensions = utilGetDimensions(content, true);
+ map.dimensions(mapDimensions);
+ }
+
+ select(window)
+ .on('resize.editor', onResize);
+
+ onResize();
+
+ function pan(d) {
+ return function() {
+ event.preventDefault();
+ context.pan(d, 100);
+ };
+ }
+
+
+ // pan amount
+ var pa = 80;
+
+ var keybinding = d3keybinding('main')
+ .on('⌫', function() { event.preventDefault(); })
+ .on('←', pan([pa, 0]))
+ .on('↑', pan([0, pa]))
+ .on('→', pan([-pa, 0]))
+ .on('↓', pan([0, -pa]))
+ .on(['⇧←', uiCmd('⌘←')], pan([mapDimensions[0], 0]))
+ .on(['⇧↑', uiCmd('⌘↑')], pan([0, mapDimensions[1]]))
+ .on(['⇧→', uiCmd('⌘→')], pan([-mapDimensions[0], 0]))
+ .on(['⇧↓', uiCmd('⌘↓')], pan([0, -mapDimensions[1]]));
+
+ select(document)
+ .call(keybinding);
+
+ context.enter(modeBrowse(context));
+
+ if (!uiInitCounter++) {
+ if (!hash.startWalkthrough) {
+ context.container()
+ .call(uiSplash(context))
+ .call(uiRestore(context));
+ }
+
+ context.container()
+ .call(uiShortcuts(context));
+ }
+
+ var osm = context.connection(),
+ auth = uiLoading(context).message(t('loading_auth')).blocking(true);
+
+ if (osm && auth) {
+ osm
+ .on('authLoading.ui', function() {
+ context.container()
+ .call(auth);
+ })
+ .on('authDone.ui', function() {
+ auth.close();
+ });
+ }
+
+ uiInitCounter++;
+
+ if (hash.startWalkthrough) {
+ hash.startWalkthrough = false;
+ context.container().call(uiIntro(context));
+ }
+ }
+
+
+ var renderCallback;
+
+ function ui(node, callback) {
+ renderCallback = callback;
+ var container = select(node);
+ context.container(container);
+ context.loadLocale(function(err) {
+ if (!err) {
+ render(container);
+ }
+ if (callback) {
+ callback(err);
+ }
+ });
+ }
+
+
+ ui.restart = function(arg) {
+ context.locale(arg);
+ context.loadLocale(function(err) {
+ if (!err) {
+ context.container().selectAll('*').remove();
+ render(context.container());
+ if (renderCallback) renderCallback();
+ }
+ });
+ };
+
+
+ ui.sidebar = uiSidebar(context);
+
+ return ui;
+ }
+
+ function uiChangesetEditor(context) {
+ var dispatch$$1 = dispatch('change');
+ var formFields = uiFormFields(context);
+ var _fieldsArr;
+ var _tags;
+ var _changesetID;
+
+
+ function changesetEditor(selection) {
+ render(selection);
+ }
+
+
+ function render(selection) {
+ var initial = false;
+
+ if (!_fieldsArr) {
+ initial = true;
+ var presets = context.presets();
+
+ _fieldsArr = [
+ uiField(context, presets.field('comment'), null, { show: true, revert: false }),
+ uiField(context, presets.field('source'), null, { show: false, revert: false }),
+ uiField(context, presets.field('hashtags'), null, { show: false, revert: false }),
+ ];
+
+ _fieldsArr.forEach(function(field) {
+ field
+ .on('change', function(t$$1, onInput) {
+ dispatch$$1.call('change', field, t$$1, onInput);
+ });
+ });
+ }
+
+ _fieldsArr.forEach(function(field) {
+ field
+ .tags(_tags);
+ });
+
+
+ selection
+ .call(formFields.fieldsArr(_fieldsArr));
+
+
+ if (initial) {
+ var commentField = selection.select('#preset-input-comment');
+ var commentNode = commentField.node();
+
+ if (commentNode) {
+ commentNode.focus();
+ commentNode.select();
+ }
+
+ // trigger a 'blur' event so that comment field can be cleaned
+ // and checked for hashtags, even if retrieved from localstorage
+ utilTriggerEvent(commentField, 'blur');
+
+ var osm = context.connection();
+ if (osm) {
+ osm.userChangesets(function (err, changesets) {
+ if (err) return;
+
+ var comments = changesets.map(function(changeset) {
+ return {
+ title: changeset.tags.comment,
+ value: changeset.tags.comment
+ };
+ });
+
+ commentField
+ .call(d3combobox()
+ .container(context.container())
+ .caseSensitive(true)
+ .data(uniqBy(comments, 'title'))
+ );
+ });
+ }
+ }
+
+ // Add warning if comment mentions Google
+ var hasGoogle = _tags.comment.match(/google/i);
+ var commentWarning = selection.select('.form-field-comment').selectAll('.comment-warning')
+ .data(hasGoogle ? [0] : []);
+
+ commentWarning.exit()
+ .transition()
+ .duration(200)
+ .style('opacity', 0)
+ .remove();
+
+ var commentEnter = commentWarning.enter()
+ .insert('div', '.tag-reference-body')
+ .attr('class', 'field-warning comment-warning')
+ .style('opacity', 0);
+
+ commentEnter
+ .append('a')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-alert', 'inline'))
+ .attr('href', t('commit.google_warning_link'))
+ .append('span')
+ .text(t('commit.google_warning'));
+
+ commentEnter
+ .transition()
+ .duration(200)
+ .style('opacity', 1);
+ }
+
+
+ changesetEditor.tags = function(_) {
+ if (!arguments.length) return _tags;
+ _tags = _;
+ // Don't reset _fieldsArr here.
+ return changesetEditor;
+ };
+
+
+ changesetEditor.changesetID = function(_) {
+ if (!arguments.length) return _changesetID;
+ if (_changesetID === _) return changesetEditor;
+ _changesetID = _;
+ _fieldsArr = null;
+ return changesetEditor;
+ };
+
+
+ return utilRebind(changesetEditor, dispatch$$1, 'on');
+ }
+
+ /**
+ * This method is like `_.union` except that it accepts `iteratee` which is
+ * invoked for each element of each `arrays` to generate the criterion by
+ * which uniqueness is computed. Result values are chosen from the first
+ * array in which the value occurs. The iteratee is invoked with one argument:
+ * (value).
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
+ * @returns {Array} Returns the new array of combined values.
+ * @example
+ *
+ * _.unionBy([2.1], [1.2, 2.3], Math.floor);
+ * // => [2.1, 1.2]
+ *
+ * // The `_.property` iteratee shorthand.
+ * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */
+ var unionBy = baseRest(function(arrays) {
+ var iteratee = last(arrays);
+ if (isArrayLikeObject(iteratee)) {
+ iteratee = undefined;
+ }
+ return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2));
+ });
+
+ function uiCommitChanges(context) {
+ var detected = utilDetect();
+ var _entityID;
+
+
+ function commitChanges(selection$$1) {
+ var history = context.history();
+ var summary = history.difference().summary();
+
+ var container = selection$$1.selectAll('.modal-section.commit-section')
+ .data([0]);
+
+ var containerEnter = container.enter()
+ .append('div')
+ .attr('class', 'commit-section modal-section fillL2');
+
+ containerEnter
+ .append('h3')
+ .text(t('commit.changes', { count: summary.length }));
+
+ containerEnter
+ .append('ul')
+ .attr('class', 'changeset-list');
+
+ container = containerEnter
+ .merge(container);
+
+
+ var items = container.select('ul').selectAll('li')
+ .data(summary);
+
+ var itemsEnter = items.enter()
+ .append('li')
+ .attr('class', 'change-item');
+
+ itemsEnter
+ .each(function(d) {
+ select(this)
+ .call(svgIcon('#icon-' + d.entity.geometry(d.graph), 'pre-text ' + d.changeType));
+ });
+
+ itemsEnter
+ .append('span')
+ .attr('class', 'change-type')
+ .text(function(d) { return t('commit.' + d.changeType) + ' '; });
+
+ itemsEnter
+ .append('strong')
+ .attr('class', 'entity-type')
+ .text(function(d) {
+ var matched = context.presets().match(d.entity, d.graph);
+ return (matched && matched.name()) || utilDisplayType(d.entity.id);
+ });
+
+ itemsEnter
+ .append('span')
+ .attr('class', 'entity-name')
+ .text(function(d) {
+ var name = utilDisplayName(d.entity) || '',
+ string = '';
+ if (name !== '') {
+ string += ':';
+ }
+ return string += ' ' + name;
+ });
+
+ itemsEnter
+ .style('opacity', 0)
+ .transition()
+ .style('opacity', 1);
+
+ items = itemsEnter
+ .merge(items);
+
+ items
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout)
+ .on('click', click);
+
+
+ // Download changeset link
+ var changeset = new osmChangeset().update({ id: undefined });
+ var changes = history.changes(actionDiscardTags(history.difference()));
+
+ delete changeset.id; // Export without chnageset_id
+
+ var data = JXON.stringify(changeset.osmChangeJXON(changes));
+ var blob = new Blob([data], {type: 'text/xml;charset=utf-8;'});
+ var fileName = 'changes.osc';
+
+ var linkEnter = container.selectAll('.download-changes')
+ .data([0])
+ .enter()
+ .append('a')
+ .attr('class', 'download-changes');
+
+ if (detected.download) { // All except IE11 and Edge
+ linkEnter // download the data as a file
+ .attr('href', window.URL.createObjectURL(blob))
+ .attr('download', fileName);
+
+ } else { // IE11 and Edge
+ linkEnter // open data uri in a new tab
+ .attr('target', '_blank')
+ .on('click.download', function() {
+ navigator.msSaveBlob(blob, fileName);
+ });
+ }
+
+ linkEnter
+ .call(svgIcon('#icon-load', 'inline'))
+ .append('span')
+ .text(t('commit.download_changes'));
+
+
+ function mouseover(d) {
+ if (d.entity) {
+ context.surface().selectAll(
+ utilEntityOrMemberSelector([d.entity.id], context.graph())
+ ).classed('hover', true);
+ }
+ }
+
+
+ function mouseout() {
+ context.surface().selectAll('.hover')
+ .classed('hover', false);
+ }
+
+
+ function click(change) {
+ if (change.changeType === 'deleted') {
+ _entityID = null;
+ } else {
+ var entity = change.entity;
+ _entityID = change.entity.id;
+ context.map().zoomTo(entity);
+ context.surface().selectAll(utilEntityOrMemberSelector([_entityID], context.graph()))
+ .classed('hover', true);
+ }
+ }
+ }
+
+
+ commitChanges.entityID = function(_) {
+ if (!arguments.length) return _entityID;
+ _entityID = _;
+ return commitChanges;
+ };
+
+
+ return commitChanges;
+ }
+
+ function uiCommitWarnings(context) {
+
+ function commitWarnings(selection) {
+
+ var changes = context.history().changes();
+ var warnings = context.history().validate(changes);
+
+ var container = selection.selectAll('.warning-section')
+ .data(warnings.length ? [0] : []);
+
+ container.exit()
+ .remove();
+
+ var containerEnter = container.enter()
+ .append('div')
+ .attr('class', 'modal-section warning-section fillL2');
+
+ containerEnter
+ .append('h3')
+ .text(t('commit.warnings'));
+
+ containerEnter
+ .append('ul')
+ .attr('class', 'changeset-list');
+
+ container = containerEnter
+ .merge(container);
+
+
+ var items = container.select('ul').selectAll('li')
+ .data(warnings);
+
+ items.exit()
+ .remove();
+
+ var itemsEnter = items.enter()
+ .append('li')
+ .attr('class', 'warning-item');
+
+ itemsEnter
+ .call(svgIcon('#icon-alert', 'pre-text'));
+
+ itemsEnter
+ .append('strong')
+ .text(function(d) { return d.message; });
+
+ itemsEnter.filter(function(d) { return d.tooltip; })
+ .call(tooltip()
+ .title(function(d) { return d.tooltip; })
+ .placement('top')
+ );
+
+ items = itemsEnter
+ .merge(items);
+
+ items
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout)
+ .on('click', warningClick);
+
+
+ function mouseover(d) {
+ if (d.entity) {
+ context.surface().selectAll(
+ utilEntityOrMemberSelector([d.entity.id], context.graph())
+ ).classed('hover', true);
+ }
+ }
+
+
+ function mouseout() {
+ context.surface().selectAll('.hover')
+ .classed('hover', false);
+ }
+
+
+ function warningClick(d) {
+ if (d.entity) {
+ context.map().zoomTo(d.entity);
+ context.enter(modeSelect(context, [d.entity.id]));
+ }
+ }
+
+ }
+
+
+ return commitWarnings;
+ }
+
+ var _changeset$1;
+ var readOnlyTags = [
+ /^changesets_count$/,
+ /^created_by$/,
+ /^ideditor:/,
+ /^imagery_used$/,
+ /^host$/,
+ /^locale$/
+ ];
+
+ // treat most punctuation (except -, _, +, &) as hashtag delimiters - #4398
+ // from https://stackoverflow.com/a/25575009
+ var hashtagRegex = /(#[^\u2000-\u206F\u2E00-\u2E7F\s\\'!"#$%()*,.\/:;<=>?@\[\]^`{|}~]+)/g;
+
+
+ function uiCommit(context) {
+ var dispatch$$1 = dispatch('cancel', 'save');
+ var _userDetails;
+ var _selection;
+
+ var changesetEditor = uiChangesetEditor(context)
+ .on('change', changeTags);
+ var rawTagEditor = uiRawTagEditor(context)
+ .on('change', changeTags);
+ var commitChanges = uiCommitChanges(context);
+ var commitWarnings = uiCommitWarnings(context);
+
+
+ function commit(selection$$1) {
+ _selection = selection$$1;
+
+ var osm = context.connection();
+ if (!osm) return;
+
+ // expire stored comment, hashtags, source after cutoff datetime - #3947 #4899
+ var commentDate = +context.storage('commentDate') || 0;
+ var currDate = Date.now();
+ var cutoff = 2 * 86400 * 1000; // 2 days
+ if (commentDate > currDate || currDate - commentDate > cutoff) {
+ context.storage('comment', null);
+ context.storage('hashtags', null);
+ context.storage('source', null);
+ }
+
+ var tags;
+ if (!_changeset$1) {
+ var detected = utilDetect();
+ tags = {
+ comment: context.storage('comment') || '',
+ created_by: ('iD ' + context.version).substr(0, 255),
+ host: detected.host.substr(0, 255),
+ locale: detected.locale.substr(0, 255)
+ };
+
+ // call findHashtags initially - this will remove stored
+ // hashtags if any hashtags are found in the comment - #4304
+ findHashtags(tags, true);
+
+ var hashtags = context.storage('hashtags');
+ if (hashtags) {
+ tags.hashtags = hashtags;
+ }
+
+ var source = context.storage('source');
+ if (source) {
+ tags.source = source;
+ }
+
+ _changeset$1 = new osmChangeset({ tags: tags });
+ }
+
+ tags = clone(_changeset$1.tags);
+ tags.imagery_used = context.history().imageryUsed().join(';').substr(0, 255);
+ _changeset$1 = _changeset$1.update({ tags: tags });
+
+ var header = selection$$1.selectAll('.header')
+ .data([0]);
+
+ header.enter()
+ .append('div')
+ .attr('class', 'header fillL')
+ .append('h3')
+ .text(t('commit.title'));
+
+ var body = selection$$1.selectAll('.body')
+ .data([0]);
+
+ body = body.enter()
+ .append('div')
+ .attr('class', 'body')
+ .merge(body);
+
+
+ // Changeset Section
+ var changesetSection = body.selectAll('.changeset-editor')
+ .data([0]);
+
+ changesetSection = changesetSection.enter()
+ .append('div')
+ .attr('class', 'modal-section changeset-editor')
+ .merge(changesetSection);
+
+ changesetSection
+ .call(changesetEditor
+ .changesetID(_changeset$1.id)
+ .tags(tags)
+ );
+
+
+ // Warnings
+ body.call(commitWarnings);
+
+
+ // Upload Explanation
+ var saveSection = body.selectAll('.save-section')
+ .data([0]);
+
+ saveSection = saveSection.enter()
+ .append('div')
+ .attr('class','modal-section save-section fillL cf')
+ .merge(saveSection);
+
+ var prose = saveSection.selectAll('.commit-info')
+ .data([0]);
+
+ prose = prose.enter()
+ .append('p')
+ .attr('class', 'commit-info')
+ .text(t('commit.upload_explanation'))
+ .merge(prose);
+
+ osm.userDetails(function(err, user) {
+ if (err) return;
+
+ var userLink = select(document.createElement('div'));
+
+ _userDetails = user;
+
+ if (user.image_url) {
+ userLink
+ .append('img')
+ .attr('src', user.image_url)
+ .attr('class', 'icon pre-text user-icon');
+ }
+
+ userLink
+ .append('a')
+ .attr('class','user-info')
+ .text(user.display_name)
+ .attr('href', osm.userURL(user.display_name))
+ .attr('tabindex', -1)
+ .attr('target', '_blank');
+
+ prose
+ .html(t('commit.upload_explanation_with_user', { user: userLink.html() }));
+ });
+
+
+ // Request Review
+ var requestReview = saveSection.selectAll('.request-review')
+ .data([0]);
+
+ // Enter
+ var requestReviewEnter = requestReview.enter()
+ .append('div')
+ .attr('class', 'request-review');
+
+ var labelEnter = requestReviewEnter
+ .append('label')
+ .attr('for', 'commit-input-request-review');
+
+ labelEnter
+ .append('input')
+ .attr('type', 'checkbox')
+ .attr('id', 'commit-input-request-review');
+
+ labelEnter
+ .append('span')
+ .text(t('commit.request_review'));
+
+ // Update
+ requestReview = requestReview
+ .merge(requestReviewEnter);
+
+ var requestReviewInput = requestReview.selectAll('input')
+ .property('checked', isReviewRequested(_changeset$1.tags))
+ .on('change', toggleRequestReview);
+
+
+ // Buttons
+ var buttonSection = saveSection.selectAll('.buttons')
+ .data([0]);
+
+ // enter
+ var buttonEnter = buttonSection.enter()
+ .append('div')
+ .attr('class', 'buttons fillL cf');
+
+ buttonEnter
+ .append('button')
+ .attr('class', 'secondary-action col5 button cancel-button')
+ .append('span')
+ .attr('class', 'label')
+ .text(t('commit.cancel'));
+
+ buttonEnter
+ .append('button')
+ .attr('class', 'action col5 button save-button')
+ .append('span')
+ .attr('class', 'label')
+ .text(t('commit.save'));
+
+ // update
+ buttonSection = buttonSection
+ .merge(buttonEnter);
+
+ buttonSection.selectAll('.cancel-button')
+ .on('click.cancel', function() {
+ var selectedID = commitChanges.entityID();
+ dispatch$$1.call('cancel', this, selectedID);
+ });
+
+ buttonSection.selectAll('.save-button')
+ .attr('disabled', function() {
+ var n = select('#preset-input-comment').node();
+ return (n && n.value.length) ? null : true;
+ })
+ .on('click.save', function() {
+ this.blur(); // avoid keeping focus on the button - #4641
+ dispatch$$1.call('save', this, _changeset$1);
+ });
+
+
+ // Raw Tag Editor
+ var tagSection = body.selectAll('.tag-section.raw-tag-editor')
+ .data([0]);
+
+ tagSection = tagSection.enter()
+ .append('div')
+ .attr('class', 'modal-section tag-section raw-tag-editor')
+ .merge(tagSection);
+
+ var expanded = !tagSection.selectAll('a.hide-toggle.expanded').empty();
+ tagSection
+ .call(rawTagEditor
+ .expanded(expanded)
+ .readOnlyTags(readOnlyTags)
+ .tags(clone(_changeset$1.tags))
+ );
+
+
+ // Change summary
+ body.call(commitChanges);
+
+
+ function toggleRequestReview() {
+ var rr = requestReviewInput.property('checked');
+ updateChangeset({ review_requested: (rr ? 'yes' : undefined) });
+
+ var expanded = !tagSection.selectAll('a.hide-toggle.expanded').empty();
+ tagSection
+ .call(rawTagEditor
+ .expanded(expanded)
+ .readOnlyTags(readOnlyTags)
+ .tags(clone(_changeset$1.tags))
+ );
+ }
+ }
+
+
+ function changeTags(changed, onInput) {
+ if (changed.hasOwnProperty('comment')) {
+ if (changed.comment === undefined) {
+ changed.comment = '';
+ }
+ if (!onInput) {
+ context.storage('comment', changed.comment);
+ context.storage('commentDate', Date.now());
+ }
+ }
+ if (changed.hasOwnProperty('source')) {
+ if (!onInput) {
+ context.storage('source', changed.source);
+ context.storage('commentDate', Date.now());
+ }
+ }
+
+ updateChangeset(changed, onInput);
+
+ if (_selection) {
+ _selection.call(commit);
+ }
+ }
+
+
+ function findHashtags(tags, commentOnly) {
+ var inComment = commentTags();
+ var inHashTags = hashTags();
+
+ if (inComment !== null) { // when hashtags are detected in comment...
+ context.storage('hashtags', null); // always remove stored hashtags - #4304
+ if (commentOnly) { inHashTags = null; } // optionally override hashtags field
+ }
+ return unionBy(inComment, inHashTags, function (s) {
+ return s.toLowerCase();
+ });
+
+ // Extract hashtags from `comment`
+ function commentTags() {
+ return tags.comment
+ .replace(/http\S*/g, '') // drop anything that looks like a URL - #4289
+ .match(hashtagRegex);
+ }
+
+ // Extract and clean hashtags from `hashtags`
+ function hashTags() {
+ var t$$1 = tags.hashtags || '';
+ return t$$1
+ .split(/[,;\s]+/)
+ .map(function (s) {
+ if (s[0] !== '#') { s = '#' + s; } // prepend '#'
+ var matched = s.match(hashtagRegex);
+ return matched && matched[0];
+ }).filter(Boolean); // exclude falsey
+ }
+ }
+
+
+ function isReviewRequested(tags) {
+ var rr = tags.review_requested;
+ if (rr === undefined) return false;
+ rr = rr.trim().toLowerCase();
+ return !(rr === '' || rr === 'no');
+ }
+
+
+ function updateChangeset(changed, onInput) {
+ var tags = clone(_changeset$1.tags);
+
+ forEach(changed, function(v, k) {
+ k = k.trim().substr(0, 255);
+ if (readOnlyTags.indexOf(k) !== -1) return;
+
+ if (k !== '' && v !== undefined) {
+ if (onInput) {
+ tags[k] = v;
+ } else {
+ tags[k] = v.trim().substr(0, 255);
+ }
+ } else {
+ delete tags[k];
+ }
+ });
+
+ if (!onInput) {
+ // when changing the comment, override hashtags with any found in comment.
+ var commentOnly = changed.hasOwnProperty('comment') && (changed.comment !== '');
+ var arr = findHashtags(tags, commentOnly);
+ if (arr.length) {
+ tags.hashtags = arr.join(';').substr(0, 255);
+ context.storage('hashtags', tags.hashtags);
+ } else {
+ delete tags.hashtags;
+ context.storage('hashtags', null);
+ }
+ }
+
+ // always update userdetails, just in case user reauthenticates as someone else
+ if (_userDetails && _userDetails.changesets_count !== undefined) {
+ var changesetsCount = parseInt(_userDetails.changesets_count, 10) + 1; // #4283
+ tags.changesets_count = String(changesetsCount);
+
+ // first 100 edits - new user
+ if (changesetsCount <= 100) {
+ var s;
+ s = context.storage('walkthrough_completed');
+ if (s) {
+ tags['ideditor:walkthrough_completed'] = s;
+ }
+
+ s = context.storage('walkthrough_progress');
+ if (s) {
+ tags['ideditor:walkthrough_progress'] = s;
+ }
+
+ s = context.storage('walkthrough_started');
+ if (s) {
+ tags['ideditor:walkthrough_started'] = s;
+ }
+ }
+ } else {
+ delete tags.changesets_count;
+ }
+
+ if (!isEqual(_changeset$1.tags, tags)) {
+ _changeset$1 = _changeset$1.update({ tags: tags });
+ }
+ }
+
+
+ commit.reset = function() {
+ _changeset$1 = null;
+ };
+
+
+ return utilRebind(commit, dispatch$$1, 'on');
+ }
+
+ function uiConfirm(selection) {
+ var modalSelection = uiModal(selection);
+
+ modalSelection.select('.modal')
+ .classed('modal-alert', true);
+
+ var section = modalSelection.select('.content');
+
+ section.append('div')
+ .attr('class', 'modal-section header');
+
+ section.append('div')
+ .attr('class', 'modal-section message-text');
+
+ var buttons = section.append('div')
+ .attr('class', 'modal-section buttons cf');
+
+
+ modalSelection.okButton = function() {
+ buttons
+ .append('button')
+ .attr('class', 'action col4')
+ .on('click.confirm', function() {
+ modalSelection.remove();
+ })
+ .text(t('confirm.okay'))
+ .node()
+ .focus();
+
+ return modalSelection;
+ };
+
+
+ return modalSelection;
+ }
+
+ function uiConflicts(context) {
+ var dispatch$$1 = dispatch('cancel', 'save');
+ var keybinding = d3keybinding('conflicts');
+ var _origChanges;
+ var _conflictList;
+
+
+ function keybindingOn() {
+ select(document)
+ .call(keybinding.on('⎋', cancel, true));
+ }
+
+ function keybindingOff() {
+ select(document)
+ .call(keybinding.off);
+ }
+
+ function tryAgain() {
+ keybindingOff();
+ dispatch$$1.call('save');
+ }
+
+ function cancel() {
+ keybindingOff();
+ dispatch$$1.call('cancel');
+ }
+
+
+ function conflicts(selection$$1) {
+ keybindingOn();
+
+ var headerEnter = selection$$1.selectAll('.header')
+ .data([0])
+ .enter()
+ .append('div')
+ .attr('class', 'header fillL');
+
+ headerEnter
+ .append('button')
+ .attr('class', 'fr')
+ .on('click', cancel)
+ .call(svgIcon('#icon-close'));
+
+ headerEnter
+ .append('h3')
+ .text(t('save.conflict.header'));
+
+ var bodyEnter = selection$$1.selectAll('.body')
+ .data([0])
+ .enter()
+ .append('div')
+ .attr('class', 'body fillL');
+
+ var conflictsHelpEnter = bodyEnter
+ .append('div')
+ .attr('class', 'conflicts-help')
+ .text(t('save.conflict.help'));
+
+
+ // Download changes link
+ var detected = utilDetect();
+ var changeset = new osmChangeset();
+
+ delete changeset.id; // Export without changeset_id
+
+ var data = JXON.stringify(changeset.osmChangeJXON(_origChanges));
+ var blob = new Blob([data], { type: 'text/xml;charset=utf-8;' });
+ var fileName = 'changes.osc';
+
+ var linkEnter = conflictsHelpEnter.selectAll('.download-changes')
+ .append('a')
+ .attr('class', 'download-changes');
+
+ if (detected.download) { // All except IE11 and Edge
+ linkEnter // download the data as a file
+ .attr('href', window.URL.createObjectURL(blob))
+ .attr('download', fileName);
+
+ } else { // IE11 and Edge
+ linkEnter // open data uri in a new tab
+ .attr('target', '_blank')
+ .on('click.download', function() {
+ navigator.msSaveBlob(blob, fileName);
+ });
+ }
+
+ linkEnter
+ .call(svgIcon('#icon-load', 'inline'))
+ .append('span')
+ .text(t('save.conflict.download_changes'));
+
+
+ bodyEnter
+ .append('div')
+ .attr('class', 'conflict-container fillL3')
+ .call(showConflict, 0);
+
+ bodyEnter
+ .append('div')
+ .attr('class', 'conflicts-done')
+ .attr('opacity', 0)
+ .style('display', 'none')
+ .text(t('save.conflict.done'));
+
+ var buttonsEnter = bodyEnter
+ .append('div')
+ .attr('class','buttons col12 joined conflicts-buttons');
+
+ buttonsEnter
+ .append('button')
+ .attr('disabled', _conflictList.length > 1)
+ .attr('class', 'action conflicts-button col6')
+ .text(t('save.title'))
+ .on('click.try_again', tryAgain);
+
+ buttonsEnter
+ .append('button')
+ .attr('class', 'secondary-action conflicts-button col6')
+ .text(t('confirm.cancel'))
+ .on('click.cancel', cancel);
+ }
+
+
+ function showConflict(selection$$1, index) {
+ index = utilWrap(index, _conflictList.length);
+
+ var parent = select(selection$$1.node().parentNode);
+
+ // enable save button if this is the last conflict being reviewed..
+ if (index === _conflictList.length - 1) {
+ window.setTimeout(function() {
+ parent.select('.conflicts-button')
+ .attr('disabled', null);
+
+ parent.select('.conflicts-done')
+ .transition()
+ .attr('opacity', 1)
+ .style('display', 'block');
+ }, 250);
+ }
+
+ var conflict = selection$$1
+ .selectAll('.conflict')
+ .data([_conflictList[index]]);
+
+ conflict.exit()
+ .remove();
+
+ var conflictEnter = conflict.enter()
+ .append('div')
+ .attr('class', 'conflict');
+
+ conflictEnter
+ .append('h4')
+ .attr('class', 'conflict-count')
+ .text(t('save.conflict.count', { num: index + 1, total: _conflictList.length }));
+
+ conflictEnter
+ .append('a')
+ .attr('class', 'conflict-description')
+ .attr('href', '#')
+ .text(function(d) { return d.name; })
+ .on('click', function(d) {
+ event.preventDefault();
+ zoomToEntity(d.id);
+ });
+
+ var details = conflictEnter
+ .append('div')
+ .attr('class', 'conflict-detail-container');
+
+ details
+ .append('ul')
+ .attr('class', 'conflict-detail-list')
+ .selectAll('li')
+ .data(function(d) { return d.details || []; })
+ .enter()
+ .append('li')
+ .attr('class', 'conflict-detail-item')
+ .html(function(d) { return d; });
+
+ details
+ .append('div')
+ .attr('class', 'conflict-choices')
+ .call(addChoices);
+
+ details
+ .append('div')
+ .attr('class', 'conflict-nav-buttons joined cf')
+ .selectAll('button')
+ .data(['previous', 'next'])
+ .enter()
+ .append('button')
+ .text(function(d) { return t('save.conflict.' + d); })
+ .attr('class', 'conflict-nav-button action col6')
+ .attr('disabled', function(d, i) {
+ return (i === 0 && index === 0) ||
+ (i === 1 && index === _conflictList.length - 1) || null;
+ })
+ .on('click', function(d, i) {
+ event.preventDefault();
+
+ var container = parent.selectAll('.conflict-container');
+ var sign = (i === 0 ? -1 : 1);
+
+ container
+ .selectAll('.conflict')
+ .remove();
+
+ container
+ .call(showConflict, index + sign);
+ });
+
+ }
+
+
+ function addChoices(selection$$1) {
+ var choices = selection$$1
+ .append('ul')
+ .attr('class', 'layer-list')
+ .selectAll('li')
+ .data(function(d) { return d.choices || []; });
+
+ // enter
+ var choicesEnter = choices.enter()
+ .append('li')
+ .attr('class', 'layer');
+
+ var labelEnter = choicesEnter
+ .append('label');
+
+ labelEnter
+ .append('input')
+ .attr('type', 'radio')
+ .attr('name', function(d) { return d.id; })
+ .on('change', function(d, i) {
+ var ul = this.parentNode.parentNode.parentNode;
+ ul.__data__.chosen = i;
+ choose(ul, d);
+ });
+
+ labelEnter
+ .append('span')
+ .text(function(d) { return d.text; });
+
+ // update
+ choicesEnter
+ .merge(choices)
+ .each(function(d, i) {
+ var ul = this.parentNode;
+ if (ul.__data__.chosen === i) {
+ choose(ul, d);
+ }
+ });
+ }
+
+
+ function choose(ul, datum) {
+ if (event) event.preventDefault();
+
+ select(ul)
+ .selectAll('li')
+ .classed('active', function(d) { return d === datum; })
+ .selectAll('input')
+ .property('checked', function(d) { return d === datum; });
+
+ var extent = geoExtent$$1();
+ var entity;
+
+ entity = context.graph().hasEntity(datum.id);
+ if (entity) extent._extend(entity.extent(context.graph()));
+
+ datum.action();
+
+ entity = context.graph().hasEntity(datum.id);
+ if (entity) extent._extend(entity.extent(context.graph()));
+
+ zoomToEntity(datum.id, extent);
+ }
+
+
+ function zoomToEntity(id, extent) {
+ context.surface().selectAll('.hover')
+ .classed('hover', false);
+
+ var entity = context.graph().hasEntity(id);
+ if (entity) {
+ if (extent) {
+ context.map().trimmedExtent(extent);
+ } else {
+ context.map().zoomTo(entity);
+ }
+ context.surface().selectAll(utilEntityOrMemberSelector([entity.id], context.graph()))
+ .classed('hover', true);
+ }
+ }
+
+
+ // The conflict list should be an array of objects like:
+ // {
+ // id: id,
+ // name: entityName(local),
+ // details: merge.conflicts(),
+ // chosen: 1,
+ // choices: [
+ // choice(id, keepMine, forceLocal),
+ // choice(id, keepTheirs, forceRemote)
+ // ]
+ // }
+ conflicts.conflictList = function(_) {
+ if (!arguments.length) return _conflictList;
+ _conflictList = _;
+ return conflicts;
+ };
+
+
+ conflicts.origChanges = function(_) {
+ if (!arguments.length) return _origChanges;
+ _origChanges = _;
+ return conflicts;
+ };
+
+
+ return utilRebind(conflicts, dispatch$$1, 'on');
+ }
+
+ function uiEditMenu(context, operations) {
+ var menu,
+ center = [0, 0],
+ offset = [0, 0],
+ tooltip;
+
+ var p = 8, // top padding
+ m = 4, // top margin
+ h = 15, // height of icon
+ vpBottomMargin = 45, // viewport bottom margin
+ vpSideMargin = 35, // viewport side margin
+ buttonWidth = 44,
+ buttonHeight = (2 * p + h),
+ menuWidth = buttonWidth,
+ menuHeight = (2 * m) + operations.length * buttonHeight,
+ menuSideMargin = 10,
+ tooltipWidth = 200,
+ tooltipHeight = 200; // a reasonable guess, real height depends on tooltip contents
+
+
+ var editMenu = function (selection$$1) {
+ if (!operations.length) return;
+
+ selection$$1.node().parentNode.focus();
+
+ var isRTL = textDirection === 'rtl',
+ viewport = context.surfaceRect();
+
+ if (!isRTL && (center[0] + menuSideMargin + menuWidth) > (viewport.width - vpSideMargin)) {
+ // menu is going left-to-right and near right viewport edge, go left instead
+ isRTL = true;
+ } else if (isRTL && (center[0] - menuSideMargin - menuWidth) < vpSideMargin) {
+ // menu is going right-to-left and near left viewport edge, go right instead
+ isRTL = false;
+ }
+
+ offset[0] = (isRTL ? -1 * (menuSideMargin + menuWidth) : menuSideMargin);
+
+ if (center[1] + menuHeight > (viewport.height - vpBottomMargin)) {
+ // menu is near bottom viewport edge, shift upwards
+ offset[1] = -1 * (center[1] + menuHeight - viewport.height + vpBottomMargin);
+ }
+
+ var origin = [ center[0] + offset[0], center[1] + offset[1] ];
+
+ menu = selection$$1
+ .append('g')
+ .attr('class', 'edit-menu')
+ .attr('transform', 'translate(' + origin + ')')
+ .attr('opacity', 0);
+
+ menu
+ .transition()
+ .attr('opacity', 1);
+
+ menu
+ .append('rect')
+ .attr('class', 'edit-menu-background')
+ .attr('x', 4)
+ .attr('rx', 4)
+ .attr('ry', 4)
+ .attr('width', menuWidth)
+ .attr('height', menuHeight)
+ .attr('stroke-linecap', 'round');
+
+
+ var button = menu.selectAll('.edit-menu-item')
+ .data(operations)
+ .enter()
+ .append('g')
+ .attr('class', function (d) { return 'edit-menu-item edit-menu-item-' + d.id; })
+ .classed('disabled', function (d) { return d.disabled(); })
+ .attr('transform', function (d, i) {
+ return 'translate(' + geoVecFloor([
+ 0,
+ m + i * buttonHeight
+ ]).join(',') + ')';
+ });
+
+ button
+ .append('rect')
+ .attr('x', 4)
+ .attr('width', buttonWidth)
+ .attr('height', buttonHeight)
+ .on('click', click)
+ .on('mousedown', mousedown)
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout);
+
+ button
+ .append('use')
+ .attr('width', '20')
+ .attr('height', '20')
+ .attr('transform', function () {
+ return 'translate(' + [2 * p, 5] + ')';
+ })
+ .attr('xlink:href', function (d) { return '#operation-' + d.id; });
+
+ tooltip = select(document.body)
+ .append('div')
+ .attr('class', 'tooltip-inner edit-menu-tooltip');
+
+
+ function click(operation) {
+ event.stopPropagation();
+ if (operation.disabled()) return;
+ operation();
+ editMenu.close();
+ }
+
+ function mousedown() {
+ event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
+ }
+
+ function mouseover(d, i) {
+ var tipX, tipY;
+
+ if (!isRTL) {
+ tipX = viewport.left + origin[0] + menuSideMargin + menuWidth;
+ } else {
+ tipX = viewport.left + origin[0] - 4 - tooltipWidth;
+ }
+
+ if (tipX + tooltipWidth > viewport.right) {
+ // tip is going left-to-right and near right viewport edge, go left instead
+ tipX = viewport.left + origin[0] - 4 - tooltipWidth;
+ } else if (tipX < viewport.left) {
+ // tip is going right-to-left and near left viewport edge, go right instead
+ tipX = viewport.left + origin[0] + menuSideMargin + menuWidth;
+ }
+
+ tipY = viewport.top + origin[1] + (i * buttonHeight);
+ if (tipY + tooltipHeight > viewport.bottom) {
+ // tip is near bottom viewport edge, shift upwards
+ tipY -= tipY + tooltipHeight - viewport.bottom;
+ }
+
+ tooltip
+ .style('left', tipX + 'px')
+ .style('top', tipY + 'px')
+ .style('display', 'block')
+ .html(uiTooltipHtml(d.tooltip(), d.keys[0], d.title));
+ }
+
+ function mouseout() {
+ tooltip.style('display', 'none');
+ }
+ };
+
+
+ editMenu.close = function () {
+ if (menu) {
+ menu
+ .style('pointer-events', 'none')
+ .transition()
+ .attr('opacity', 0)
+ .remove();
+ }
+
+ if (tooltip) {
+ tooltip.remove();
+ }
+ };
+
+
+ editMenu.center = function (_) {
+ if (!arguments.length) return center;
+ center = _;
+ return editMenu;
+ };
+
+
+ return editMenu;
+ }
+
+ var _flashTimer;
+
+
+ function uiFlash() {
+ var _duration = 2000;
+ var _iconName = '#icon-no';
+ var _iconClass = 'disabled';
+ var _text = '';
+ var _textClass;
+
+
+ function flash() {
+ if (_flashTimer) {
+ _flashTimer.stop();
+ }
+
+ select('#footer-wrap')
+ .attr('class', 'footer-hide');
+ select('#flash-wrap')
+ .attr('class', 'footer-show');
+
+ var content = select('#flash-wrap').selectAll('.flash-content')
+ .data([0]);
+
+ // Enter
+ var contentEnter = content.enter()
+ .append('div')
+ .attr('class', 'flash-content');
+
+ var iconEnter = contentEnter
+ .append('svg')
+ .attr('class', 'flash-icon')
+ .append('g')
+ .attr('transform', 'translate(10,10)');
+
+ iconEnter
+ .append('circle')
+ .attr('r', 9);
+
+ iconEnter
+ .append('use')
+ .attr('transform', 'translate(-7,-7)')
+ .attr('width', '14')
+ .attr('height', '14');
+
+ contentEnter
+ .append('div')
+ .attr('class', 'flash-text');
+
+
+ // Update
+ content = content
+ .merge(contentEnter);
+
+ content
+ .selectAll('.flash-icon')
+ .attr('class', 'flash-icon ' + (_iconClass || ''));
+
+ content
+ .selectAll('.flash-icon use')
+ .attr('xlink:href', _iconName);
+
+ content
+ .selectAll('.flash-text')
+ .attr('class', 'flash-text ' + (_textClass || ''))
+ .text(_text);
+
+
+ _flashTimer = timeout$1(function() {
+ _flashTimer = null;
+ select('#footer-wrap')
+ .attr('class', 'footer-show');
+ select('#flash-wrap')
+ .attr('class', 'footer-hide');
+ }, _duration);
+
+ return content;
+ }
+
+
+ flash.duration = function(_) {
+ if (!arguments.length) return _duration;
+ _duration = _;
+ return flash;
+ };
+
+ flash.text = function(_) {
+ if (!arguments.length) return _text;
+ _text = _;
+ return flash;
+ };
+
+ flash.textClass = function(_) {
+ if (!arguments.length) return _textClass;
+ _textClass = _;
+ return flash;
+ };
+
+ flash.iconName = function(_) {
+ if (!arguments.length) return _iconName;
+ _iconName = _;
+ return flash;
+ };
+
+ flash.iconClass = function(_) {
+ if (!arguments.length) return _iconClass;
+ _iconClass = _;
+ return flash;
+ };
+
+ return flash;
+ }
+
+ function uiLasso(context) {
+ var group, polygon;
+
+ lasso.coordinates = [];
+
+ function lasso(selection$$1) {
+ context.container()
+ .classed('lasso', true);
+
+ group = selection$$1
+ .append('g')
+ .attr('class', 'lasso hide');
+
+ polygon = group
+ .append('path')
+ .attr('class', 'lasso-path');
+
+ group
+ .call(uiToggle(true));
+ }
+
+
+ function draw() {
+ if (polygon) {
+ polygon.data([lasso.coordinates])
+ .attr('d', function(d) { return 'M' + d.join(' L') + ' Z'; });
+ }
+ }
+
+
+ lasso.extent = function () {
+ return lasso.coordinates.reduce(function(extent, point$$1) {
+ return extent.extend(geoExtent$$1(point$$1));
+ }, geoExtent$$1());
+ };
+
+
+ lasso.p = function(_) {
+ if (!arguments.length) return lasso;
+ lasso.coordinates.push(_);
+ draw();
+ return lasso;
+ };
+
+
+ lasso.close = function() {
+ if (group) {
+ group.call(uiToggle(false, function() {
+ select(this).remove();
+ }));
+ }
+ context.container().classed('lasso', false);
+ };
+
+
+ return lasso;
+ }
+
+ function uiRadialMenu(context, operations) {
+ var menu,
+ center = [0, 0],
+ tooltip;
+
+
+ var radialMenu = function(selection$$1) {
+ if (!operations.length) return;
+
+ selection$$1.node().parentNode.focus();
+
+ function click(operation) {
+ event.stopPropagation();
+ if (operation.disabled()) return;
+ operation();
+ radialMenu.close();
+ }
+
+ menu = selection$$1
+ .append('g')
+ .attr('class', 'radial-menu')
+ .attr('transform', 'translate(' + center + ')')
+ .attr('opacity', 0);
+
+ menu
+ .transition()
+ .attr('opacity', 1);
+
+ var r = 50,
+ a = Math.PI / 4,
+ a0 = -Math.PI / 4,
+ a1 = a0 + (operations.length - 1) * a;
+
+ menu
+ .append('path')
+ .attr('class', 'radial-menu-background')
+ .attr('d', 'M' + r * Math.sin(a0) + ',' +
+ r * Math.cos(a0) +
+ ' A' + r + ',' + r + ' 0 ' + (operations.length > 5 ? '1' : '0') + ',0 ' +
+ (r * Math.sin(a1) + 1e-3) + ',' +
+ (r * Math.cos(a1) + 1e-3)) // Force positive-length path (#1305)
+ .attr('stroke-width', 50)
+ .attr('stroke-linecap', 'round');
+
+ var button = menu.selectAll()
+ .data(operations)
+ .enter()
+ .append('g')
+ .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
+ .classed('disabled', function(d) { return d.disabled(); })
+ .attr('transform', function(d, i) {
+ return 'translate(' + geoVecFloor([
+ r * Math.sin(a0 + i * a),
+ r * Math.cos(a0 + i * a)]).join(',') + ')';
+ });
+
+ button
+ .append('circle')
+ .attr('r', 15)
+ .on('click', click)
+ .on('mousedown', mousedown)
+ .on('mouseover', mouseover)
+ .on('mouseout', mouseout);
+
+ button
+ .append('use')
+ .attr('transform', 'translate(-10,-10)')
+ .attr('width', '20')
+ .attr('height', '20')
+ .attr('xlink:href', function(d) { return '#operation-' + d.id; });
+
+ tooltip = select(document.body)
+ .append('div')
+ .attr('class', 'tooltip-inner radial-menu-tooltip');
+
+ function mousedown() {
+ event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
+ }
+
+ function mouseover(d, i) {
+ var rect = context.surfaceRect(),
+ angle = a0 + i * a,
+ top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px',
+ left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px',
+ bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px',
+ right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px';
+
+ tooltip
+ .style('top', null)
+ .style('left', null)
+ .style('bottom', null)
+ .style('right', null)
+ .style('display', 'block')
+ .html(uiTooltipHtml(d.tooltip(), d.keys[0]));
+
+ if (i === 0) {
+ tooltip
+ .style('right', right)
+ .style('top', top);
+ } else if (i >= 4) {
+ tooltip
+ .style('left', left)
+ .style('bottom', bottom);
+ } else {
+ tooltip
+ .style('left', left)
+ .style('top', top);
+ }
+ }
+
+ function mouseout() {
+ tooltip.style('display', 'none');
+ }
+ };
+
+
+ radialMenu.close = function() {
+ if (menu) {
+ menu
+ .style('pointer-events', 'none')
+ .transition()
+ .attr('opacity', 0)
+ .remove();
+ }
+
+ if (tooltip) {
+ tooltip.remove();
+ }
+ };
+
+
+ radialMenu.center = function(_) {
+ if (!arguments.length) return center;
+ center = _;
+ return radialMenu;
+ };
+
+
+ return radialMenu;
+ }
+
+ function uiSelectionList(context, selectedIDs) {
+
+ function selectEntity(entity) {
+ context.enter(modeSelect(context, [entity.id]));
+ }
+
+
+ function deselectEntity(entity) {
+ event.stopPropagation();
+ var index = selectedIDs.indexOf(entity.id);
+ if (index > -1) {
+ selectedIDs.splice(index, 1);
+ }
+ context.enter(modeSelect(context, selectedIDs));
+ }
+
+
+ function selectionList(selection$$1) {
+ selection$$1.classed('selection-list-pane', true);
+
+ var header = selection$$1
+ .append('div')
+ .attr('class', 'header fillL cf');
+
+ header
+ .append('h3')
+ .text(t('inspector.multiselect'));
+
+ var listWrap = selection$$1
+ .append('div')
+ .attr('class', 'inspector-body');
+
+ var list = listWrap
+ .append('div')
+ .attr('class', 'feature-list cf');
+
+ context.history().on('change.selection-list', drawList);
+ drawList();
+
+
+ function drawList() {
+ var entities = selectedIDs
+ .map(function(id) { return context.hasEntity(id); })
+ .filter(function(entity) { return entity; });
+
+ var items = list.selectAll('.feature-list-item')
+ .data(entities, osmEntity$$1.key);
+
+ items.exit()
+ .remove();
+
+ // Enter
+ var enter = items.enter()
+ .append('div')
+ .attr('class', 'feature-list-item')
+ .on('click', selectEntity);
+
+ var label = enter
+ .append('button')
+ .attr('class', 'label');
+
+ enter
+ .append('button')
+ .attr('class', 'close')
+ .on('click', deselectEntity)
+ .call(svgIcon('#icon-close'));
+
+ label
+ .append('span')
+ .attr('class', 'entity-geom-icon')
+ .call(svgIcon('', 'pre-text'));
+
+ label
+ .append('span')
+ .attr('class', 'entity-type');
+
+ label
+ .append('span')
+ .attr('class', 'entity-name');
+
+ // Update
+ items = items.merge(enter);
+
+ items.selectAll('.entity-geom-icon use')
+ .attr('href', function() {
+ var entity = this.parentNode.parentNode.__data__;
+ return '#icon-' + context.geometry(entity.id);
+ });
+
+ items.selectAll('.entity-type')
+ .text(function(entity) { return context.presets().match(entity, context.graph()).name(); });
+
+ items.selectAll('.entity-name')
+ .text(function(entity) { return utilDisplayName(entity); });
+ }
+ }
+
+ return selectionList;
+ }
+
+ function uiSourceSwitch(context) {
+ var keys;
+
+
+ function click() {
+ event.preventDefault();
+
+ var osm = context.connection();
+ if (!osm) return;
+
+ if (context.inIntro()) return;
+
+ if (context.history().hasChanges() &&
+ !window.confirm(t('source_switch.lose_changes'))) return;
+
+ var isLive = select(this)
+ .classed('live');
+
+ isLive = !isLive;
+ context.enter(modeBrowse(context));
+ context.history().clearSaved(); // remove saved history
+ context.flush(); // remove stored data
+
+ select(this)
+ .text(isLive ? t('source_switch.live') : t('source_switch.dev'))
+ .classed('live', isLive);
+
+ osm.switch(isLive ? keys[0] : keys[1]); // switch connection (warning: dispatches 'change' event)
+ }
+
+ var sourceSwitch = function(selection$$1) {
+ selection$$1
+ .append('a')
+ .attr('href', '#')
+ .text(t('source_switch.live'))
+ .classed('live', true)
+ .attr('tabindex', -1)
+ .on('click', click);
+ };
+
+
+ sourceSwitch.keys = function(_) {
+ if (!arguments.length) return keys;
+ keys = _;
+ return sourceSwitch;
+ };
+
+
+ return sourceSwitch;
+ }
+
+ function uiSuccess$$1(context) {
+ var MAXEVENTS = 2;
+
+ // All else being equal, rank more "social" communities higher
+ // (anything not in this list receives no adjustment)
+ var COMMUNITYRANK = {
+ 'meetup': +5,
+ 'slack': +4,
+ 'facebook': +3,
+ 'reddit': +2,
+ 'forum': -2,
+ 'mailinglist': -3,
+ 'irc': -4
+ };
+
+ var detected = utilDetect();
+ var dispatch$$1 = dispatch('cancel');
+ var _changeset;
+ var _location;
+
+
+ function success(selection$$1) {
+ var header = selection$$1
+ .append('div')
+ .attr('class', 'header fillL');
+
+ header
+ .append('button')
+ .attr('class', 'fr')
+ .on('click', function() { dispatch$$1.call('cancel'); })
+ .call(svgIcon('#icon-close'));
+
+ header
+ .append('h3')
+ .text(t('success.just_edited'));
+
+ var body = selection$$1
+ .append('div')
+ .attr('class', 'body save-success fillL');
+
+ var summary = body
+ .append('div')
+ .attr('class', 'save-summary');
+
+ summary
+ .append('h3')
+ .text(t('success.thank_you' + (_location ? '_location' : ''), { where: _location }));
+
+ summary
+ .append('p')
+ .text(t('success.help_html'))
+ .append('a')
+ .attr('class', 'link-out')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .attr('href', t('success.help_link_url'))
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .append('span')
+ .text(t('success.help_link_text'));
+
+ var osm = context.connection();
+ if (!osm) return;
+
+ var changesetURL = osm.changesetURL(_changeset.id);
+
+ var table = summary
+ .append('table')
+ .attr('class', 'summary-table');
+
+ var row = table
+ .append('tr')
+ .attr('class', 'summary-row');
+
+ row
+ .append('td')
+ .attr('class', 'cell-icon summary-icon')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('href', changesetURL)
+ .append('svg')
+ .attr('class', 'logo-small')
+ .append('use')
+ .attr('xlink:href', '#logo-osm');
+
+ var summaryDetail = row
+ .append('td')
+ .attr('class', 'cell-detail summary-detail');
+
+ summaryDetail
+ .append('a')
+ .attr('class', 'cell-detail summary-view-on-osm')
+ .attr('target', '_blank')
+ .attr('href', changesetURL)
+ .text(t('success.view_on_osm'));
+
+ summaryDetail
+ .append('div')
+ .text(t('success.changeset_id', { changeset_id: _changeset.id }));
+
+
+ // Gather community polygon IDs intersecting the map..
+ var matchFeatures = data.community.query(context.map().center(), true) || [];
+ var matchIDs = matchFeatures.map(function(feature) { return feature.id; });
+
+ // Gather community resources that are either global or match a polygon.
+ var matchResources = filter(data.community.resources, function(v) {
+ return !v.featureId || matchIDs.indexOf(v.featureId) !== -1;
+ });
+
+ if (matchResources.length) {
+ // sort by size ascending, then by community rank
+ matchResources.sort(function(a, b) {
+ var aSize = Infinity;
+ var bSize = Infinity;
+ var aRank = COMMUNITYRANK[a.type] || 0;
+ var bRank = COMMUNITYRANK[b.type] || 0;
+
+ if (a.featureId) {
+ aSize = data.community.features[a.featureId].properties.area;
+ }
+ if (b.featureId) {
+ bSize = data.community.features[b.featureId].properties.area;
+ }
+
+ return aSize < bSize ? -1 : aSize > bSize ? 1 : bRank - aRank;
+ });
+
+ body
+ .call(showCommunityLinks, matchResources);
+ }
+ }
+
+
+ function showCommunityLinks(selection$$1, matchResources) {
+ var communityLinks = selection$$1
+ .append('div')
+ .attr('class', 'save-communityLinks');
+
+ communityLinks
+ .append('h3')
+ .text(t('success.like_osm'));
+
+ var table = communityLinks
+ .append('table')
+ .attr('class', 'community-table');
+
+ var row = table.selectAll('.community-row')
+ .data(matchResources);
+
+ var rowEnter = row.enter()
+ .append('tr')
+ .attr('class', 'community-row');
+
+ rowEnter
+ .append('td')
+ .attr('class', 'cell-icon community-icon')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('href', function(d) { return d.url; })
+ .append('svg')
+ .attr('class', 'logo-small')
+ .append('use')
+ .attr('xlink:href', function(d) { return '#community-' + d.type; });
+
+ var communityDetail = rowEnter
+ .append('td')
+ .attr('class', 'cell-detail community-detail');
+
+ communityDetail
+ .each(showCommunityDetails);
+
+ communityLinks
+ .append('div')
+ .attr('class', 'community-missing')
+ .text(t('success.missing'))
+ .append('a')
+ .attr('class', 'link-out')
+ .attr('target', '_blank')
+ .attr('tabindex', -1)
+ .call(svgIcon('#icon-out-link', 'inline'))
+ .attr('href', 'https://github.com/osmlab/osm-community-index/issues')
+ .append('span')
+ .text(t('success.tell_us'));
+ }
+
+
+ function showCommunityDetails(d) {
+ var selection$$1 = select(this);
+ var communityID = d.id;
+ var replacements = {
+ url: linkify(d.url),
+ signupUrl: linkify(d.signupUrl || d.url)
+ };
+
+ selection$$1
+ .append('div')
+ .attr('class', 'community-name')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('href', d.url)
+ .text(t('community.' + d.id + '.name'));
+
+ var descriptionHTML = t('community.' + d.id + '.description', replacements);
+
+ if (d.type === 'reddit') { // linkify subreddits #4997
+ descriptionHTML = descriptionHTML
+ .replace(/(\/r\/\w*\/*)/i, function(match) { return linkify(d.url, match); });
+ }
+
+ selection$$1
+ .append('div')
+ .attr('class', 'community-description')
+ .html(descriptionHTML);
+
+ if (d.extendedDescription || (d.languageCodes && d.languageCodes.length)) {
+ selection$$1
+ .append('div')
+ .call(uiDisclosure(context, 'community-more-' + d.id, false)
+ .expanded(false)
+ .updatePreference(false)
+ .title(t('success.more'))
+ .content(showMore)
+ );
+ }
+
+ var nextEvents = (d.events || [])
+ .map(function(event$$1) { // add parsed date
+ event$$1.date = new Date(event$$1.when);
+ return event$$1;
+ })
+ .filter(function(event$$1) { // date is valid and future (or today)
+ var t$$1 = event$$1.date.getTime();
+ var now = (new Date()).setHours(0,0,0,0);
+ return !isNaN(t$$1) && t$$1 >= now;
+ })
+ .sort(function(a, b) { // sort by date ascending
+ return a.date < b.date ? -1 : a.date > b.date ? 1 : 0;
+ })
+ .slice(0, MAXEVENTS); // limit number of events shown
+
+ if (nextEvents.length) {
+ selection$$1
+ .append('div')
+ .call(uiDisclosure(context, 'community-events-' + d.id, false)
+ .expanded(false)
+ .updatePreference(false)
+ .title(t('success.events'))
+ .content(showNextEvents)
+ )
+ .select('.hide-toggle')
+ .append('span')
+ .attr('class', 'badge-text')
+ .text(nextEvents.length);
+ }
+
+
+ function showMore(selection$$1) {
+ var more = selection$$1
+ .append('div')
+ .attr('class', 'community-more');
+
+ if (d.extendedDescription) {
+ more
+ .append('div')
+ .attr('class', 'community-extended-description')
+ .html(t('community.' + d.id + '.extendedDescription', replacements));
+ }
+
+ if (d.languageCodes && d.languageCodes.length) {
+ more
+ .append('div')
+ .attr('class', 'community-languages')
+ .text(t('success.languages', { languages: d.languageCodes.join(', ') }));
+ }
+ }
+
+
+ function showNextEvents(selection$$1) {
+ var events = selection$$1
+ .append('div')
+ .attr('class', 'community-events');
+
+ var item = events.selectAll('.community-event')
+ .data(nextEvents);
+
+ var itemEnter = item.enter()
+ .append('div')
+ .attr('class', 'community-event');
+
+ itemEnter
+ .append('div')
+ .attr('class', 'community-event-name')
+ .append('a')
+ .attr('target', '_blank')
+ .attr('href', function(d) { return d.url; })
+ .text(function(d) {
+ var name = d.name;
+ if (d.i18n && d.id) {
+ name = t('community.' + communityID + '.events.' + d.id + '.name', { default: name });
+ }
+ return name;
+ });
+
+ itemEnter
+ .append('div')
+ .attr('class', 'community-event-when')
+ .text(function(d) {
+ var options = {
+ weekday: 'short', day: 'numeric', month: 'short', year: 'numeric'
+ };
+ if (d.date.getHours() || d.date.getMinutes()) { // include time if it has one
+ options.hour = 'numeric';
+ options.minute = 'numeric';
+ }
+ return d.date.toLocaleString(detected.locale, options);
+ });
+
+ itemEnter
+ .append('div')
+ .attr('class', 'community-event-where')
+ .text(function(d) {
+ var where = d.where;
+ if (d.i18n && d.id) {
+ where = t('community.' + communityID + '.events.' + d.id + '.where', { default: where });
+ }
+ return where;
+ });
+
+ itemEnter
+ .append('div')
+ .attr('class', 'community-event-description')
+ .text(function(d) {
+ var description = d.description;
+ if (d.i18n && d.id) {
+ description = t('community.' + communityID + '.events.' + d.id + '.description', { default: description });
+ }
+ return description;
+ });
+ }
+
+
+ function linkify(url, text) {
+ text = text || url;
+ return '<a target="_blank" href="' + url + '">' + text + '</a>';
+ }
+ }
+
+
+ success.changeset = function(_) {
+ if (!arguments.length) return _changeset;
+ _changeset = _;
+ return success;
+ };
+
+
+ success.location = function(_) {
+ if (!arguments.length) return _location;
+ _location = _;
+ return success;
+ };
+
+
+ return utilRebind(success, dispatch$$1, 'on');
+ }
+
+ function coreHistory(context) {
+ var imageryUsed = ['Bing'];
+ var dispatch$$1 = dispatch('change', 'undone', 'redone');
+ var lock = utilSessionMutex('lock');
+ var duration = 150;
+ var _checkpoints = {};
+ var _stack;
+ var _index;
+ var _tree;
+
+
+ // internal _act, accepts list of actions and eased time
+ function _act(actions, t) {
+ actions = Array.prototype.slice.call(actions);
+
+ var annotation;
+ if (!isFunction(actions[actions.length - 1])) {
+ annotation = actions.pop();
+ }
+
+ _stack[_index].transform = context.projection.transform();
+ _stack[_index].selectedIDs = context.selectedIDs();
+
+ var graph = _stack[_index].graph;
+ for (var i = 0; i < actions.length; i++) {
+ graph = actions[i](graph, t);
+ }
+
+ return {
+ graph: graph,
+ annotation: annotation,
+ imageryUsed: imageryUsed
+ };
+ }
+
+
+ // internal _perform with eased time
+ function _perform(args, t) {
+ var previous = _stack[_index].graph;
+ _stack = _stack.slice(0, _index + 1);
+ _stack.push(_act(args, t));
+ _index++;
+ return change(previous);
+ }
+
+
+ // internal _replace with eased time
+ function _replace(args, t) {
+ var previous = _stack[_index].graph;
+ // assert(_index == _stack.length - 1)
+ _stack[_index] = _act(args, t);
+ return change(previous);
+ }
+
+
+ // internal _overwrite with eased time
+ function _overwrite(args, t) {
+ var previous = _stack[_index].graph;
+ if (_index > 0) {
+ _index--;
+ _stack.pop();
+ }
+ _stack = _stack.slice(0, _index + 1);
+ _stack.push(_act(args, t));
+ _index++;
+ return change(previous);
+ }
+
+
+ // determine diffrence and dispatch a change event
+ function change(previous) {
+ var difference$$1 = coreDifference(previous, history.graph());
+ dispatch$$1.call('change', this, difference$$1);
+ return difference$$1;
+ }
+
+
+ // iD uses namespaced keys so multiple installations do not conflict
+ function getKey(n) {
+ return 'iD_' + window.location.origin + '_' + n;
+ }
+
+
+ var history = {
+
+ graph: function() {
+ return _stack[_index].graph;
+ },
+
+
+ base: function() {
+ return _stack[0].graph;
+ },
+
+
+ merge: function(entities, extent) {
+ _stack[0].graph.rebase(entities, map$3(_stack, 'graph'), false);
+ _tree.rebase(entities, false);
+
+ dispatch$$1.call('change', this, undefined, extent);
+ },
+
+
+ perform: function() {
+ // complete any transition already in progress
+ select(document).interrupt('history.perform');
+
+ var transitionable = false;
+ var action0 = arguments[0];
+
+ if (arguments.length === 1 ||
+ arguments.length === 2 && !isFunction(arguments[1])) {
+ transitionable = !!action0.transitionable;
+ }
+
+ if (transitionable) {
+ var origArguments = arguments;
+ select(document)
+ .transition('history.perform')
+ .duration(duration)
+ .ease(linear$1)
+ .tween('history.tween', function() {
+ return function(t) {
+ if (t < 1) _overwrite([action0], t);
+ };
+ })
+ .on('start', function() {
+ _perform([action0], 0);
+ })
+ .on('end interrupt', function() {
+ _overwrite(origArguments, 1);
+ });
+
+ } else {
+ return _perform(arguments);
+ }
+ },
+
+
+ replace: function() {
+ select(document).interrupt('history.perform');
+ return _replace(arguments, 1);
+ },
+
+
+ // Same as calling pop and then perform
+ overwrite: function() {
+ select(document).interrupt('history.perform');
+ return _overwrite(arguments, 1);
+ },
+
+
+ pop: function(n) {
+ select(document).interrupt('history.perform');
+
+ var previous = _stack[_index].graph;
+ if (isNaN(+n) || +n < 0) {
+ n = 1;
+ }
+ while (n-- > 0 && _index > 0) {
+ _index--;
+ _stack.pop();
+ }
+ return change(previous);
+ },
+
+
+ // Back to the previous annotated state or _index = 0.
+ undo: function() {
+ select(document).interrupt('history.perform');
+
+ var previous = _stack[_index].graph;
+ while (_index > 0) {
+ _index--;
+ if (_stack[_index].annotation) break;
+ }
+
+ dispatch$$1.call('undone', this, _stack[_index]);
+ return change(previous);
+ },
+
+
+ // Forward to the next annotated state.
+ redo: function() {
+ select(document).interrupt('history.perform');
+
+ var previous = _stack[_index].graph;
+ var tryIndex = _index;
+ while (tryIndex < _stack.length - 1) {
+ tryIndex++;
+ if (_stack[tryIndex].annotation) {
+ _index = tryIndex;
+ dispatch$$1.call('redone', this, _stack[_index]);
+ break;
+ }
+ }
+
+ return change(previous);
+ },
+
+
+ undoAnnotation: function() {
+ var i = _index;
+ while (i >= 0) {
+ if (_stack[i].annotation) return _stack[i].annotation;
+ i--;
+ }
+ },
+
+
+ redoAnnotation: function() {
+ var i = _index + 1;
+ while (i <= _stack.length - 1) {
+ if (_stack[i].annotation) return _stack[i].annotation;
+ i++;
+ }
+ },
+
+
+ intersects: function(extent) {
+ return _tree.intersects(extent, _stack[_index].graph);
+ },
+
+
+ difference: function() {
+ var base = _stack[0].graph;
+ var head = _stack[_index].graph;
+ return coreDifference(base, head);
+ },
+
+
+ changes: function(action) {
+ var base = _stack[0].graph;
+ var head = _stack[_index].graph;
+
+ if (action) {
+ head = action(head);
+ }
+
+ var difference$$1 = coreDifference(base, head);
+
+ return {
+ modified: difference$$1.modified(),
+ created: difference$$1.created(),
+ deleted: difference$$1.deleted()
+ };
+ },
+
+
+ validate: function(changes) {
+ return flatten(
+ map$3(Validations, function(fn) { return fn()(changes, _stack[_index].graph); })
+ );
+ },
+
+
+ hasChanges: function() {
+ return this.difference().length() > 0;
+ },
+
+
+ imageryUsed: function(sources) {
+ if (sources) {
+ imageryUsed = sources;
+ return history;
+ } else {
+ var arr = map$3(_stack.slice(1, _index + 1), 'imageryUsed');
+ return without(uniq(flatten(arr)), 'Custom');
+ }
+ },
+
+
+ // save the current history state
+ checkpoint: function(key) {
+ _checkpoints[key] = {
+ stack: cloneDeep(_stack),
+ index: _index
+ };
+ return history;
+ },
+
+
+ // restore history state to a given checkpoint or reset completely
+ reset: function(key) {
+ if (key !== undefined && _checkpoints.hasOwnProperty(key)) {
+ _stack = cloneDeep(_checkpoints[key].stack);
+ _index = _checkpoints[key].index;
+ } else {
+ _stack = [{graph: coreGraph$$1()}];
+ _index = 0;
+ _tree = coreTree(_stack[0].graph);
+ _checkpoints = {};
+ }
+ dispatch$$1.call('change');
+ return history;
+ },
+
+
+ toIntroGraph: function() {
+ var nextId = { n: 0, r: 0, w: 0 };
+ var permIds = {};
+ var graph = this.graph();
+ var baseEntities = {};
+
+ // clone base entities..
+ forEach(graph.base().entities, function(entity) {
+ var copy = cloneDeepWith(entity, customizer);
+ baseEntities[copy.id] = copy;
+ });
+
+ // replace base entities with head entities..
+ forEach(graph.entities, function(entity, id) {
+ if (entity) {
+ var copy = cloneDeepWith(entity, customizer);
+ baseEntities[copy.id] = copy;
+ } else {
+ delete baseEntities[id];
+ }
+ });
+
+ // swap temporary for permanent ids..
+ forEach(baseEntities, function(entity) {
+ if (Array.isArray(entity.nodes)) {
+ entity.nodes = entity.nodes.map(function(node) {
+ return permIds[node] || node;
+ });
+ }
+ if (Array.isArray(entity.members)) {
+ entity.members = entity.members.map(function(member) {
+ member.id = permIds[member.id] || member.id;
+ return member;
+ });
+ }
+ });
+
+ return JSON.stringify({ dataIntroGraph: baseEntities });
+
+
+ function customizer(src) {
+ var copy = omit(cloneDeep(src), ['type', 'user', 'v', 'version', 'visible']);
+ if (isEmpty(copy.tags)) {
+ delete copy.tags;
+ }
+
+ if (Array.isArray(copy.loc)) {
+ copy.loc[0] = +copy.loc[0].toFixed(6);
+ copy.loc[1] = +copy.loc[1].toFixed(6);
+ }
+
+ var match = src.id.match(/([nrw])-\d*/); // temporary id
+ if (match !== null) {
+ var nrw = match[1], permId;
+ do { permId = nrw + (++nextId[nrw]); }
+ while (baseEntities.hasOwnProperty(permId));
+
+ copy.id = permIds[src.id] = permId;
+ }
+ return copy;
+ }
+ },
+
+
+ toJSON: function() {
+ if (!this.hasChanges()) return;
+
+ var allEntities = {};
+ var baseEntities = {};
+ var base = _stack[0];
+
+ var s = _stack.map(function(i) {
+ var modified = [], deleted = [];
+
+ forEach(i.graph.entities, function(entity, id) {
+ if (entity) {
+ var key = osmEntity$$1.key(entity);
+ allEntities[key] = entity;
+ modified.push(key);
+ } else {
+ deleted.push(id);
+ }
+
+ // make sure that the originals of changed or deleted entities get merged
+ // into the base of the _stack after restoring the data from JSON.
+ if (id in base.graph.entities) {
+ baseEntities[id] = base.graph.entities[id];
+ }
+ // get originals of parent entities too
+ forEach(base.graph._parentWays[id], function(parentId) {
+ if (parentId in base.graph.entities) {
+ baseEntities[parentId] = base.graph.entities[parentId];
+ }
+ });
+ });
+
+ var x = {};
+
+ if (modified.length) x.modified = modified;
+ if (deleted.length) x.deleted = deleted;
+ if (i.imageryUsed) x.imageryUsed = i.imageryUsed;
+ if (i.annotation) x.annotation = i.annotation;
+
+ return x;
+ });
+
+ return JSON.stringify({
+ version: 3,
+ entities: values$1(allEntities),
+ baseEntities: values$1(baseEntities),
+ stack: s,
+ nextIDs: osmEntity$$1.id.next,
+ index: _index
+ });
+ },
+
+
+ fromJSON: function(json, loadChildNodes) {
+ var h = JSON.parse(json);
+ var loadComplete = true;
+
+ osmEntity$$1.id.next = h.nextIDs;
+ _index = h.index;
+
+ if (h.version === 2 || h.version === 3) {
+ var allEntities = {};
+
+ h.entities.forEach(function(entity) {
+ allEntities[osmEntity$$1.key(entity)] = osmEntity$$1(entity);
+ });
+
+ if (h.version === 3) {
+ // This merges originals for changed entities into the base of
+ // the _stack even if the current _stack doesn't have them (for
+ // example when iD has been restarted in a different region)
+ var baseEntities = h.baseEntities.map(function(d) { return osmEntity$$1(d); });
+ _stack[0].graph.rebase(baseEntities, map$3(_stack, 'graph'), true);
+ _tree.rebase(baseEntities, true);
+
+ // When we restore a modified way, we also need to fetch any missing
+ // childnodes that would normally have been downloaded with it.. #2142
+ if (loadChildNodes) {
+ var osm = context.connection();
+ var nodes = flatten(uniq(map$3(filter(baseEntities, { type: 'way' }), 'nodes')));
+ var missing = reject(nodes, function(n) { return _stack[0].graph.hasEntity(n); });
+
+ if (!isEmpty(missing) && osm) {
+ loadComplete = false;
+ context.redrawEnable(false);
+
+ var loading = uiLoading(context).blocking(true);
+ context.container().call(loading);
+
+ var childNodesLoaded = function(err, result) {
+ if (!err) {
+ var visible = groupBy(result.data, 'visible');
+ if (!isEmpty(visible.true)) {
+ missing = difference(missing, map$3(visible.true, 'id'));
+ _stack[0].graph.rebase(visible.true, map$3(_stack, 'graph'), true);
+ _tree.rebase(visible.true, true);
+ }
+
+ // fetch older versions of nodes that were deleted..
+ forEach(visible.false, function(entity) {
+ osm.loadEntityVersion(entity.id, +entity.version - 1, childNodesLoaded);
+ });
+ }
+
+ if (err || isEmpty(missing)) {
+ loading.close();
+ context.redrawEnable(true);
+ dispatch$$1.call('change');
+ }
+ };
+
+ osm.loadMultiple(missing, childNodesLoaded);
+ }
+ }
+ }
+
+ _stack = h.stack.map(function(d) {
+ var entities = {}, entity;
+
+ if (d.modified) {
+ d.modified.forEach(function(key) {
+ entity = allEntities[key];
+ entities[entity.id] = entity;
+ });
+ }
+
+ if (d.deleted) {
+ d.deleted.forEach(function(id) {
+ entities[id] = undefined;
+ });
+ }
+
+ return {
+ graph: coreGraph$$1(_stack[0].graph).load(entities),
+ annotation: d.annotation,
+ imageryUsed: d.imageryUsed
+ };
+ });
+
+ } else { // original version
+ _stack = h.stack.map(function(d) {
+ var entities = {};
+
+ for (var i in d.entities) {
+ var entity = d.entities[i];
+ entities[i] = entity === 'undefined' ? undefined : osmEntity$$1(entity);
+ }
+
+ d.graph = coreGraph$$1(_stack[0].graph).load(entities);
+ return d;
+ });
+ }
+
+ if (loadComplete) {
+ dispatch$$1.call('change');
+ }
+
+ return history;
+ },
+
+
+ save: function() {
+ if (lock.locked()) context.storage(getKey('saved_history'), history.toJSON() || null);
+ return history;
+ },
+
+
+ clearSaved: function() {
+ context.debouncedSave.cancel();
+ if (lock.locked()) context.storage(getKey('saved_history'), null);
+ return history;
+ },
+
+
+ lock: function() {
+ return lock.lock();
+ },
+
+
+ unlock: function() {
+ lock.unlock();
+ },
+
+
+ // is iD not open in another window and it detects that
+ // there's a history stored in localStorage that's recoverable?
+ restorableChanges: function() {
+ return lock.locked() && !!context.storage(getKey('saved_history'));
+ },
+
+
+ // load history from a version stored in localStorage
+ restore: function() {
+ if (!lock.locked()) return;
+
+ var json = context.storage(getKey('saved_history'));
+ if (json) history.fromJSON(json, true);
+ },
+
+
+ _getKey: getKey
+
+ };
+
+
+ history.reset();
+
+ return utilRebind(history, dispatch$$1, 'on');
+ }
+
+ /** Used to store function metadata. */
+ var metaMap = WeakMap && new WeakMap;
+
+ /**
+ * The base implementation of `setData` without support for hot loop shorting.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */
+ var baseSetData = !metaMap ? identity$8 : function(func, data) {
+ metaMap.set(func, data);
+ return func;
+ };
+
+ /**
+ * Creates a function that produces an instance of `Ctor` regardless of
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
+ *
+ * @private
+ * @param {Function} Ctor The constructor to wrap.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createCtor(Ctor) {
+ return function() {
+ // Use a `switch` statement to work with class constructors. See
+ // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
+ // for more details.
+ var args = arguments;
+ switch (args.length) {
+ case 0: return new Ctor;
+ case 1: return new Ctor(args[0]);
+ case 2: return new Ctor(args[0], args[1]);
+ case 3: return new Ctor(args[0], args[1], args[2]);
+ case 4: return new Ctor(args[0], args[1], args[2], args[3]);
+ case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
+ case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
+ case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+ }
+ var thisBinding = baseCreate(Ctor.prototype),
+ result = Ctor.apply(thisBinding, args);
+
+ // Mimic the constructor's `return` behavior.
+ // See https://es5.github.io/#x13.2.2 for more details.
+ return isObject(result) ? result : thisBinding;
+ };
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG = 1;
+
+ /**
+ * Creates a function that wraps `func` to invoke it with the optional `this`
+ * binding of `thisArg`.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createBind(func, bitmask, thisArg) {
+ var isBind = bitmask & WRAP_BIND_FLAG,
+ Ctor = createCtor(func);
+
+ function wrapper() {
+ var fn = (this && this !== root$2 && this instanceof wrapper) ? Ctor : func;
+ return fn.apply(isBind ? thisArg : this, arguments);
+ }
+ return wrapper;
+ }
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax$5 = Math.max;
+
+ /**
+ * Creates an array that is the composition of partially applied arguments,
+ * placeholders, and provided arguments into a single array of arguments.
+ *
+ * @private
+ * @param {Array} args The provided arguments.
+ * @param {Array} partials The arguments to prepend to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @params {boolean} [isCurried] Specify composing for a curried function.
+ * @returns {Array} Returns the new array of composed arguments.
+ */
+ function composeArgs(args, partials, holders, isCurried) {
+ var argsIndex = -1,
+ argsLength = args.length,
+ holdersLength = holders.length,
+ leftIndex = -1,
+ leftLength = partials.length,
+ rangeLength = nativeMax$5(argsLength - holdersLength, 0),
+ result = Array(leftLength + rangeLength),
+ isUncurried = !isCurried;
+
+ while (++leftIndex < leftLength) {
+ result[leftIndex] = partials[leftIndex];
+ }
+ while (++argsIndex < holdersLength) {
+ if (isUncurried || argsIndex < argsLength) {
+ result[holders[argsIndex]] = args[argsIndex];
+ }
+ }
+ while (rangeLength--) {
+ result[leftIndex++] = args[argsIndex++];
+ }
+ return result;
+ }
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax$6 = Math.max;
+
+ /**
+ * This function is like `composeArgs` except that the arguments composition
+ * is tailored for `_.partialRight`.
+ *
+ * @private
+ * @param {Array} args The provided arguments.
+ * @param {Array} partials The arguments to append to those provided.
+ * @param {Array} holders The `partials` placeholder indexes.
+ * @params {boolean} [isCurried] Specify composing for a curried function.
+ * @returns {Array} Returns the new array of composed arguments.
+ */
+ function composeArgsRight(args, partials, holders, isCurried) {
+ var argsIndex = -1,
+ argsLength = args.length,
+ holdersIndex = -1,
+ holdersLength = holders.length,
+ rightIndex = -1,
+ rightLength = partials.length,
+ rangeLength = nativeMax$6(argsLength - holdersLength, 0),
+ result = Array(rangeLength + rightLength),
+ isUncurried = !isCurried;
+
+ while (++argsIndex < rangeLength) {
+ result[argsIndex] = args[argsIndex];
+ }
+ var offset = argsIndex;
+ while (++rightIndex < rightLength) {
+ result[offset + rightIndex] = partials[rightIndex];
+ }
+ while (++holdersIndex < holdersLength) {
+ if (isUncurried || argsIndex < argsLength) {
+ result[offset + holders[holdersIndex]] = args[argsIndex++];
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Gets the number of `placeholder` occurrences in `array`.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} placeholder The placeholder to search for.
+ * @returns {number} Returns the placeholder count.
+ */
+ function countHolders(array, placeholder) {
+ var length = array.length,
+ result = 0;
+
+ while (length--) {
+ if (array[length] === placeholder) {
+ ++result;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * The function whose prototype chain sequence wrappers inherit from.
+ *
+ * @private
+ */
+ function baseLodash() {
+ // No operation performed.
+ }
+
+ /** Used as references for the maximum length and index of an array. */
+ var MAX_ARRAY_LENGTH = 4294967295;
+
+ /**
+ * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
+ *
+ * @private
+ * @constructor
+ * @param {*} value The value to wrap.
+ */
+ function LazyWrapper(value) {
+ this.__wrapped__ = value;
+ this.__actions__ = [];
+ this.__dir__ = 1;
+ this.__filtered__ = false;
+ this.__iteratees__ = [];
+ this.__takeCount__ = MAX_ARRAY_LENGTH;
+ this.__views__ = [];
+ }
+
+ // Ensure `LazyWrapper` is an instance of `baseLodash`.
+ LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+ LazyWrapper.prototype.constructor = LazyWrapper;
+
+ /**
+ * Gets metadata for `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {*} Returns the metadata for `func`.
+ */
+ var getData = !metaMap ? noop$3 : function(func) {
+ return metaMap.get(func);
+ };
+
+ /** Used to lookup unminified function names. */
+ var realNames = {};
+
+ /** Used for built-in method references. */
+ var objectProto$20 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$17 = objectProto$20.hasOwnProperty;
+
+ /**
+ * Gets the name of `func`.
+ *
+ * @private
+ * @param {Function} func The function to query.
+ * @returns {string} Returns the function name.
+ */
+ function getFuncName(func) {
+ var result = (func.name + ''),
+ array = realNames[result],
+ length = hasOwnProperty$17.call(realNames, result) ? array.length : 0;
+
+ while (length--) {
+ var data = array[length],
+ otherFunc = data.func;
+ if (otherFunc == null || otherFunc == func) {
+ return data.name;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * The base constructor for creating `lodash` wrapper objects.
+ *
+ * @private
+ * @param {*} value The value to wrap.
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
+ */
+ function LodashWrapper(value, chainAll) {
+ this.__wrapped__ = value;
+ this.__actions__ = [];
+ this.__chain__ = !!chainAll;
+ this.__index__ = 0;
+ this.__values__ = undefined;
+ }
+
+ LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+ LodashWrapper.prototype.constructor = LodashWrapper;
+
+ /**
+ * Creates a clone of `wrapper`.
+ *
+ * @private
+ * @param {Object} wrapper The wrapper to clone.
+ * @returns {Object} Returns the cloned wrapper.
+ */
+ function wrapperClone(wrapper) {
+ if (wrapper instanceof LazyWrapper) {
+ return wrapper.clone();
+ }
+ var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
+ result.__actions__ = copyArray(wrapper.__actions__);
+ result.__index__ = wrapper.__index__;
+ result.__values__ = wrapper.__values__;
+ return result;
+ }
+
+ /** Used for built-in method references. */
+ var objectProto$21 = Object.prototype;
+
+ /** Used to check objects for own properties. */
+ var hasOwnProperty$18 = objectProto$21.hasOwnProperty;
+
+ /**
+ * Creates a `lodash` object which wraps `value` to enable implicit method
+ * chain sequences. Methods that operate on and return arrays, collections,
+ * and functions can be chained together. Methods that retrieve a single value
+ * or may return a primitive value will automatically end the chain sequence
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
+ * with `_#value`.
+ *
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
+ * enabled using `_.chain`.
+ *
+ * The execution of chained methods is lazy, that is, it's deferred until
+ * `_#value` is implicitly or explicitly called.
+ *
+ * Lazy evaluation allows several methods to support shortcut fusion.
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
+ * the creation of intermediate arrays and can greatly reduce the number of
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
+ * fusion if the section is applied to an array and iteratees accept only
+ * one argument. The heuristic for whether a section qualifies for shortcut
+ * fusion is subject to change.
+ *
+ * Chaining is supported in custom builds as long as the `_#value` method is
+ * directly or indirectly included in the build.
+ *
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
+ *
+ * The wrapper `Array` methods are:
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
+ *
+ * The wrapper `String` methods are:
+ * `replace` and `split`
+ *
+ * The wrapper methods that support shortcut fusion are:
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
+ *
+ * The chainable wrapper methods are:
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
+ *
+ * The wrapper methods that are **not** chainable by default are:
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
+ * `upperFirst`, `value`, and `words`
+ *
+ * @name _
+ * @constructor
+ * @category Seq
+ * @param {*} value The value to wrap in a `lodash` instance.
+ * @returns {Object} Returns the new `lodash` wrapper instance.
+ * @example
+ *
+ * function square(n) {
+ * return n * n;
+ * }
+ *
+ * var wrapped = _([1, 2, 3]);
+ *
+ * // Returns an unwrapped value.
+ * wrapped.reduce(_.add);
+ * // => 6
+ *
+ * // Returns a wrapped value.
+ * var squares = wrapped.map(square);
+ *
+ * _.isArray(squares);
+ * // => false
+ *
+ * _.isArray(squares.value());
+ * // => true
+ */
+ function lodash(value) {
+ if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
+ if (value instanceof LodashWrapper) {
+ return value;
+ }
+ if (hasOwnProperty$18.call(value, '__wrapped__')) {
+ return wrapperClone(value);
+ }
+ }
+ return new LodashWrapper(value);
+ }
+
+ // Ensure wrappers are instances of `baseLodash`.
+ lodash.prototype = baseLodash.prototype;
+ lodash.prototype.constructor = lodash;
+
+ /**
+ * Checks if `func` has a lazy counterpart.
+ *
+ * @private
+ * @param {Function} func The function to check.
+ * @returns {boolean} Returns `true` if `func` has a lazy counterpart,
+ * else `false`.
+ */
+ function isLaziable(func) {
+ var funcName = getFuncName(func),
+ other = lodash[funcName];
+
+ if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
+ return false;
+ }
+ if (func === other) {
+ return true;
+ }
+ var data = getData(other);
+ return !!data && func === data[0];
+ }
+
+ /**
+ * Sets metadata for `func`.
+ *
+ * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
+ * period of time, it will trip its breaker and transition to an identity
+ * function to avoid garbage collection pauses in V8. See
+ * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
+ * for more details.
+ *
+ * @private
+ * @param {Function} func The function to associate metadata with.
+ * @param {*} data The metadata.
+ * @returns {Function} Returns `func`.
+ */
+ var setData = shortOut(baseSetData);
+
+ /** Used to match wrap detail comments. */
+ var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
+ reSplitDetails = /,? & /;
+
+ /**
+ * Extracts wrapper details from the `source` body comment.
+ *
+ * @private
+ * @param {string} source The source to inspect.
+ * @returns {Array} Returns the wrapper details.
+ */
+ function getWrapDetails(source) {
+ var match = source.match(reWrapDetails);
+ return match ? match[1].split(reSplitDetails) : [];
+ }
+
+ /** Used to match wrap detail comments. */
+ var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;
+
+ /**
+ * Inserts wrapper `details` in a comment at the top of the `source` body.
+ *
+ * @private
+ * @param {string} source The source to modify.
+ * @returns {Array} details The details to insert.
+ * @returns {string} Returns the modified source.
+ */
+ function insertWrapDetails(source, details) {
+ var length = details.length;
+ if (!length) {
+ return source;
+ }
+ var lastIndex = length - 1;
+ details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];
+ details = details.join(length > 2 ? ', ' : ' ');
+ return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n');
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$1 = 1,
+ WRAP_BIND_KEY_FLAG = 2,
+ WRAP_CURRY_FLAG = 8,
+ WRAP_CURRY_RIGHT_FLAG = 16,
+ WRAP_PARTIAL_FLAG = 32,
+ WRAP_PARTIAL_RIGHT_FLAG = 64,
+ WRAP_ARY_FLAG = 128,
+ WRAP_REARG_FLAG = 256,
+ WRAP_FLIP_FLAG = 512;
+
+ /** Used to associate wrap methods with their bit flags. */
+ var wrapFlags = [
+ ['ary', WRAP_ARY_FLAG],
+ ['bind', WRAP_BIND_FLAG$1],
+ ['bindKey', WRAP_BIND_KEY_FLAG],
+ ['curry', WRAP_CURRY_FLAG],
+ ['curryRight', WRAP_CURRY_RIGHT_FLAG],
+ ['flip', WRAP_FLIP_FLAG],
+ ['partial', WRAP_PARTIAL_FLAG],
+ ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
+ ['rearg', WRAP_REARG_FLAG]
+ ];
+
+ /**
+ * Updates wrapper `details` based on `bitmask` flags.
+ *
+ * @private
+ * @returns {Array} details The details to modify.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @returns {Array} Returns `details`.
+ */
+ function updateWrapDetails(details, bitmask) {
+ arrayEach(wrapFlags, function(pair) {
+ var value = '_.' + pair[0];
+ if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {
+ details.push(value);
+ }
+ });
+ return details.sort();
+ }
+
+ /**
+ * Sets the `toString` method of `wrapper` to mimic the source of `reference`
+ * with wrapper details in a comment at the top of the source body.
+ *
+ * @private
+ * @param {Function} wrapper The function to modify.
+ * @param {Function} reference The reference function.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @returns {Function} Returns `wrapper`.
+ */
+ function setWrapToString(wrapper, reference, bitmask) {
+ var source = (reference + '');
+ return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$2 = 1,
+ WRAP_BIND_KEY_FLAG$1 = 2,
+ WRAP_CURRY_BOUND_FLAG = 4,
+ WRAP_CURRY_FLAG$1 = 8,
+ WRAP_PARTIAL_FLAG$1 = 32,
+ WRAP_PARTIAL_RIGHT_FLAG$1 = 64;
+
+ /**
+ * Creates a function that wraps `func` to continue currying.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @param {Function} wrapFunc The function to create the `func` wrapper.
+ * @param {*} placeholder The placeholder value.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to prepend to those provided to
+ * the new function.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
+ var isCurry = bitmask & WRAP_CURRY_FLAG$1,
+ newHolders = isCurry ? holders : undefined,
+ newHoldersRight = isCurry ? undefined : holders,
+ newPartials = isCurry ? partials : undefined,
+ newPartialsRight = isCurry ? undefined : partials;
+
+ bitmask |= (isCurry ? WRAP_PARTIAL_FLAG$1 : WRAP_PARTIAL_RIGHT_FLAG$1);
+ bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG$1 : WRAP_PARTIAL_FLAG$1);
+
+ if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
+ bitmask &= ~(WRAP_BIND_FLAG$2 | WRAP_BIND_KEY_FLAG$1);
+ }
+ var newData = [
+ func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
+ newHoldersRight, argPos, ary, arity
+ ];
+
+ var result = wrapFunc.apply(undefined, newData);
+ if (isLaziable(func)) {
+ setData(result, newData);
+ }
+ result.placeholder = placeholder;
+ return setWrapToString(result, func, bitmask);
+ }
+
+ /**
+ * Gets the argument placeholder value for `func`.
+ *
+ * @private
+ * @param {Function} func The function to inspect.
+ * @returns {*} Returns the placeholder value.
+ */
+ function getHolder(func) {
+ var object = func;
+ return object.placeholder;
+ }
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMin$2 = Math.min;
+
+ /**
+ * Reorder `array` according to the specified indexes where the element at
+ * the first index is assigned as the first element, the element at
+ * the second index is assigned as the second element, and so on.
+ *
+ * @private
+ * @param {Array} array The array to reorder.
+ * @param {Array} indexes The arranged array indexes.
+ * @returns {Array} Returns `array`.
+ */
+ function reorder(array, indexes) {
+ var arrLength = array.length,
+ length = nativeMin$2(indexes.length, arrLength),
+ oldArray = copyArray(array);
+
+ while (length--) {
+ var index = indexes[length];
+ array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
+ }
+ return array;
+ }
+
+ /** Used as the internal argument placeholder. */
+ var PLACEHOLDER = '__lodash_placeholder__';
+
+ /**
+ * Replaces all `placeholder` elements in `array` with an internal placeholder
+ * and returns an array of their indexes.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {*} placeholder The placeholder to replace.
+ * @returns {Array} Returns the new array of placeholder indexes.
+ */
+ function replaceHolders(array, placeholder) {
+ var index = -1,
+ length = array.length,
+ resIndex = 0,
+ result = [];
+
+ while (++index < length) {
+ var value = array[index];
+ if (value === placeholder || value === PLACEHOLDER) {
+ array[index] = PLACEHOLDER;
+ result[resIndex++] = index;
+ }
+ }
+ return result;
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$3 = 1,
+ WRAP_BIND_KEY_FLAG$2 = 2,
+ WRAP_CURRY_FLAG$2 = 8,
+ WRAP_CURRY_RIGHT_FLAG$1 = 16,
+ WRAP_ARY_FLAG$1 = 128,
+ WRAP_FLIP_FLAG$1 = 512;
+
+ /**
+ * Creates a function that wraps `func` to invoke it with optional `this`
+ * binding of `thisArg`, partial application, and currying.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to wrap.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to prepend to those provided to
+ * the new function.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [partialsRight] The arguments to append to those provided
+ * to the new function.
+ * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
+ var isAry = bitmask & WRAP_ARY_FLAG$1,
+ isBind = bitmask & WRAP_BIND_FLAG$3,
+ isBindKey = bitmask & WRAP_BIND_KEY_FLAG$2,
+ isCurried = bitmask & (WRAP_CURRY_FLAG$2 | WRAP_CURRY_RIGHT_FLAG$1),
+ isFlip = bitmask & WRAP_FLIP_FLAG$1,
+ Ctor = isBindKey ? undefined : createCtor(func);
+
+ function wrapper() {
+ var length = arguments.length,
+ args = Array(length),
+ index = length;
+
+ while (index--) {
+ args[index] = arguments[index];
+ }
+ if (isCurried) {
+ var placeholder = getHolder(wrapper),
+ holdersCount = countHolders(args, placeholder);
+ }
+ if (partials) {
+ args = composeArgs(args, partials, holders, isCurried);
+ }
+ if (partialsRight) {
+ args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
+ }
+ length -= holdersCount;
+ if (isCurried && length < arity) {
+ var newHolders = replaceHolders(args, placeholder);
+ return createRecurry(
+ func, bitmask, createHybrid, wrapper.placeholder, thisArg,
+ args, newHolders, argPos, ary, arity - length
+ );
+ }
+ var thisBinding = isBind ? thisArg : this,
+ fn = isBindKey ? thisBinding[func] : func;
+
+ length = args.length;
+ if (argPos) {
+ args = reorder(args, argPos);
+ } else if (isFlip && length > 1) {
+ args.reverse();
+ }
+ if (isAry && ary < length) {
+ args.length = ary;
+ }
+ if (this && this !== root$2 && this instanceof wrapper) {
+ fn = Ctor || createCtor(fn);
+ }
+ return fn.apply(thisBinding, args);
+ }
+ return wrapper;
+ }
+
+ /**
+ * Creates a function that wraps `func` to enable currying.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @param {number} arity The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createCurry(func, bitmask, arity) {
+ var Ctor = createCtor(func);
+
+ function wrapper() {
+ var length = arguments.length,
+ args = Array(length),
+ index = length,
+ placeholder = getHolder(wrapper);
+
+ while (index--) {
+ args[index] = arguments[index];
+ }
+ var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
+ ? []
+ : replaceHolders(args, placeholder);
+
+ length -= holders.length;
+ if (length < arity) {
+ return createRecurry(
+ func, bitmask, createHybrid, wrapper.placeholder, undefined,
+ args, holders, undefined, undefined, arity - length);
+ }
+ var fn = (this && this !== root$2 && this instanceof wrapper) ? Ctor : func;
+ return apply(fn, this, args);
+ }
+ return wrapper;
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$4 = 1;
+
+ /**
+ * Creates a function that wraps `func` to invoke it with the `this` binding
+ * of `thisArg` and `partials` prepended to the arguments it receives.
+ *
+ * @private
+ * @param {Function} func The function to wrap.
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {Array} partials The arguments to prepend to those provided to
+ * the new function.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createPartial(func, bitmask, thisArg, partials) {
+ var isBind = bitmask & WRAP_BIND_FLAG$4,
+ Ctor = createCtor(func);
+
+ function wrapper() {
+ var argsIndex = -1,
+ argsLength = arguments.length,
+ leftIndex = -1,
+ leftLength = partials.length,
+ args = Array(leftLength + argsLength),
+ fn = (this && this !== root$2 && this instanceof wrapper) ? Ctor : func;
+
+ while (++leftIndex < leftLength) {
+ args[leftIndex] = partials[leftIndex];
+ }
+ while (argsLength--) {
+ args[leftIndex++] = arguments[++argsIndex];
+ }
+ return apply(fn, isBind ? thisArg : this, args);
+ }
+ return wrapper;
+ }
+
+ /** Used as the internal argument placeholder. */
+ var PLACEHOLDER$1 = '__lodash_placeholder__';
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$5 = 1,
+ WRAP_BIND_KEY_FLAG$3 = 2,
+ WRAP_CURRY_BOUND_FLAG$1 = 4,
+ WRAP_CURRY_FLAG$3 = 8,
+ WRAP_ARY_FLAG$2 = 128,
+ WRAP_REARG_FLAG$1 = 256;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMin$3 = Math.min;
+
+ /**
+ * Merges the function metadata of `source` into `data`.
+ *
+ * Merging metadata reduces the number of wrappers used to invoke a function.
+ * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
+ * may be applied regardless of execution order. Methods like `_.ary` and
+ * `_.rearg` modify function arguments, making the order in which they are
+ * executed important, preventing the merging of metadata. However, we make
+ * an exception for a safe combined case where curried functions have `_.ary`
+ * and or `_.rearg` applied.
+ *
+ * @private
+ * @param {Array} data The destination metadata.
+ * @param {Array} source The source metadata.
+ * @returns {Array} Returns `data`.
+ */
+ function mergeData(data, source) {
+ var bitmask = data[1],
+ srcBitmask = source[1],
+ newBitmask = bitmask | srcBitmask,
+ isCommon = newBitmask < (WRAP_BIND_FLAG$5 | WRAP_BIND_KEY_FLAG$3 | WRAP_ARY_FLAG$2);
+
+ var isCombo =
+ ((srcBitmask == WRAP_ARY_FLAG$2) && (bitmask == WRAP_CURRY_FLAG$3)) ||
+ ((srcBitmask == WRAP_ARY_FLAG$2) && (bitmask == WRAP_REARG_FLAG$1) && (data[7].length <= source[8])) ||
+ ((srcBitmask == (WRAP_ARY_FLAG$2 | WRAP_REARG_FLAG$1)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG$3));
+
+ // Exit early if metadata can't be merged.
+ if (!(isCommon || isCombo)) {
+ return data;
+ }
+ // Use source `thisArg` if available.
+ if (srcBitmask & WRAP_BIND_FLAG$5) {
+ data[2] = source[2];
+ // Set when currying a bound function.
+ newBitmask |= bitmask & WRAP_BIND_FLAG$5 ? 0 : WRAP_CURRY_BOUND_FLAG$1;
+ }
+ // Compose partial arguments.
+ var value = source[3];
+ if (value) {
+ var partials = data[3];
+ data[3] = partials ? composeArgs(partials, value, source[4]) : value;
+ data[4] = partials ? replaceHolders(data[3], PLACEHOLDER$1) : source[4];
+ }
+ // Compose partial right arguments.
+ value = source[5];
+ if (value) {
+ partials = data[5];
+ data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
+ data[6] = partials ? replaceHolders(data[5], PLACEHOLDER$1) : source[6];
+ }
+ // Use source `argPos` if available.
+ value = source[7];
+ if (value) {
+ data[7] = value;
+ }
+ // Use source `ary` if it's smaller.
+ if (srcBitmask & WRAP_ARY_FLAG$2) {
+ data[8] = data[8] == null ? source[8] : nativeMin$3(data[8], source[8]);
+ }
+ // Use source `arity` if one is not provided.
+ if (data[9] == null) {
+ data[9] = source[9];
+ }
+ // Use source `func` and merge bitmasks.
+ data[0] = source[0];
+ data[1] = newBitmask;
+
+ return data;
+ }
+
+ /** Error message constants. */
+ var FUNC_ERROR_TEXT$4 = 'Expected a function';
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$6 = 1,
+ WRAP_BIND_KEY_FLAG$4 = 2,
+ WRAP_CURRY_FLAG$4 = 8,
+ WRAP_CURRY_RIGHT_FLAG$2 = 16,
+ WRAP_PARTIAL_FLAG$2 = 32,
+ WRAP_PARTIAL_RIGHT_FLAG$2 = 64;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax$7 = Math.max;
+
+ /**
+ * Creates a function that either curries or invokes `func` with optional
+ * `this` binding and partially applied arguments.
+ *
+ * @private
+ * @param {Function|string} func The function or method name to wrap.
+ * @param {number} bitmask The bitmask flags.
+ * 1 - `_.bind`
+ * 2 - `_.bindKey`
+ * 4 - `_.curry` or `_.curryRight` of a bound function
+ * 8 - `_.curry`
+ * 16 - `_.curryRight`
+ * 32 - `_.partial`
+ * 64 - `_.partialRight`
+ * 128 - `_.rearg`
+ * 256 - `_.ary`
+ * 512 - `_.flip`
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {Array} [partials] The arguments to be partially applied.
+ * @param {Array} [holders] The `partials` placeholder indexes.
+ * @param {Array} [argPos] The argument positions of the new function.
+ * @param {number} [ary] The arity cap of `func`.
+ * @param {number} [arity] The arity of `func`.
+ * @returns {Function} Returns the new wrapped function.
+ */
+ function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
+ var isBindKey = bitmask & WRAP_BIND_KEY_FLAG$4;
+ if (!isBindKey && typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT$4);
+ }
+ var length = partials ? partials.length : 0;
+ if (!length) {
+ bitmask &= ~(WRAP_PARTIAL_FLAG$2 | WRAP_PARTIAL_RIGHT_FLAG$2);
+ partials = holders = undefined;
+ }
+ ary = ary === undefined ? ary : nativeMax$7(toInteger(ary), 0);
+ arity = arity === undefined ? arity : toInteger(arity);
+ length -= holders ? holders.length : 0;
+
+ if (bitmask & WRAP_PARTIAL_RIGHT_FLAG$2) {
+ var partialsRight = partials,
+ holdersRight = holders;
+
+ partials = holders = undefined;
+ }
+ var data = isBindKey ? undefined : getData(func);
+
+ var newData = [
+ func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
+ argPos, ary, arity
+ ];
+
+ if (data) {
+ mergeData(newData, data);
+ }
+ func = newData[0];
+ bitmask = newData[1];
+ thisArg = newData[2];
+ partials = newData[3];
+ holders = newData[4];
+ arity = newData[9] = newData[9] === undefined
+ ? (isBindKey ? 0 : func.length)
+ : nativeMax$7(newData[9] - length, 0);
+
+ if (!arity && bitmask & (WRAP_CURRY_FLAG$4 | WRAP_CURRY_RIGHT_FLAG$2)) {
+ bitmask &= ~(WRAP_CURRY_FLAG$4 | WRAP_CURRY_RIGHT_FLAG$2);
+ }
+ if (!bitmask || bitmask == WRAP_BIND_FLAG$6) {
+ var result = createBind(func, bitmask, thisArg);
+ } else if (bitmask == WRAP_CURRY_FLAG$4 || bitmask == WRAP_CURRY_RIGHT_FLAG$2) {
+ result = createCurry(func, bitmask, arity);
+ } else if ((bitmask == WRAP_PARTIAL_FLAG$2 || bitmask == (WRAP_BIND_FLAG$6 | WRAP_PARTIAL_FLAG$2)) && !holders.length) {
+ result = createPartial(func, bitmask, thisArg, partials);
+ } else {
+ result = createHybrid.apply(undefined, newData);
+ }
+ var setter = data ? baseSetData : setData;
+ return setWrapToString(setter(result, newData), func, bitmask);
+ }
+
+ /** Used to compose bitmasks for function metadata. */
+ var WRAP_BIND_FLAG$7 = 1,
+ WRAP_PARTIAL_FLAG$3 = 32;
+
+ /**
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
+ * and `partials` prepended to the arguments it receives.
+ *
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+ * may be used as a placeholder for partially applied arguments.
+ *
+ * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
+ * property of bound functions.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {...*} [partials] The arguments to be partially applied.
+ * @returns {Function} Returns the new bound function.
+ * @example
+ *
+ * function greet(greeting, punctuation) {
+ * return greeting + ' ' + this.user + punctuation;
+ * }
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * var bound = _.bind(greet, object, 'hi');
+ * bound('!');
+ * // => 'hi fred!'
+ *
+ * // Bound with placeholders.
+ * var bound = _.bind(greet, object, _, '!');
+ * bound('hi');
+ * // => 'hi fred!'
+ */
+ var bind$2 = baseRest(function(func, thisArg, partials) {
+ var bitmask = WRAP_BIND_FLAG$7;
+ if (partials.length) {
+ var holders = replaceHolders(partials, getHolder(bind$2));
+ bitmask |= WRAP_PARTIAL_FLAG$3;
+ }
+ return createWrap(func, bitmask, thisArg, partials, holders);
+ });
+
+ // Assign default placeholders.
+ bind$2.placeholder = {};
+
+ function presetCollection(collection) {
+ var maxSearchResults = 50,
+ maxSuggestionResults = 10;
+
+ var presets = {
+
+ collection: collection,
+
+
+ item: function(id) {
+ return find$1(this.collection, function(d) {
+ return d.id === id;
+ });
+ },
+
+
+ matchGeometry: function(geometry) {
+ return presetCollection(this.collection.filter(function(d) {
+ return d.matchGeometry(geometry);
+ }));
+ },
+
+
+ search: function(value, geometry) {
+ if (!value) return this;
+
+ function leading(a) {
+ var index = a.indexOf(value);
+ return index === 0 || a[index - 1] === ' ';
+ }
+
+ function suggestionName(name) {
+ var nameArray = name.split(' - ');
+ if (nameArray.length > 1) {
+ name = nameArray.slice(0, nameArray.length - 1).join(' - ');
+ }
+ return name.toLowerCase();
+ }
+
+
+ value = value.toLowerCase();
+
+ var searchable = filter(this.collection, function(a) {
+ return a.searchable !== false && a.suggestion !== true;
+ }),
+ suggestions = filter(this.collection, function(a) {
+ return a.suggestion === true;
+ });
+
+
+ // matches value to preset.name
+ var leading_name = filter(searchable, function(a) {
+ return leading(a.name().toLowerCase());
+ }).sort(function(a, b) {
+ var aCompare = a.name().toLowerCase(),
+ bCompare = b.name().toLowerCase(),
+ i;
+
+ // priority if search string matches preset name exactly - #4325
+ if (value === aCompare) return -1;
+ if (value === bCompare) return 1;
+
+ // priority for higher matchScore
+ i = b.originalScore - a.originalScore;
+ if (i !== 0) return i;
+
+ // priority if search string appears earlier in preset name
+ i = aCompare.indexOf(value) - bCompare.indexOf(value);
+ if (i !== 0) return i;
+
+ // priority for shorter preset names
+ return a.name().length - b.name().length;
+ });
+
+ // matches value to preset.terms values
+ var leading_terms = filter(searchable, function(a) {
+ return some(a.terms() || [], leading);
+ });
+
+ // matches value to preset.tags values
+ var leading_tag_values = filter(searchable, function(a) {
+ return some(without(values$1(a.tags || {}), '*'), leading);
+ });
+
+
+ // finds close matches to value in preset.name
+ var similar_name = searchable.map(function(a) {
+ return {
+ preset: a,
+ dist: utilEditDistance(value, a.name())
+ };
+ }).filter(function(a) {
+ return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
+ }).sort(function(a, b) {
+ return a.dist - b.dist;
+ }).map(function(a) {
+ return a.preset;
+ });
+
+ // finds close matches to value in preset.terms
+ var similar_terms = filter(searchable, function(a) {
+ return some(a.terms() || [], function(b) {
+ return utilEditDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
+ });
+ });
+
+ var leading_suggestions = filter(suggestions, function(a) {
+ return leading(suggestionName(a.name()));
+ }).sort(function(a, b) {
+ a = suggestionName(a.name());
+ b = suggestionName(b.name());
+ var i = a.indexOf(value) - b.indexOf(value);
+ if (i === 0) return a.length - b.length;
+ else return i;
+ });
+
+ var similar_suggestions = suggestions.map(function(a) {
+ return {
+ preset: a,
+ dist: utilEditDistance(value, suggestionName(a.name()))
+ };
+ }).filter(function(a) {
+ return a.dist + Math.min(value.length - suggestionName(a.preset.name()).length, 0) < 1;
+ }).sort(function(a, b) {
+ return a.dist - b.dist;
+ }).map(function(a) {
+ return a.preset;
+ });
+
+ var other = presets.item(geometry);
+
+ var results = leading_name.concat(
+ leading_terms,
+ leading_tag_values,
+ leading_suggestions.slice(0, maxSuggestionResults + 5),
+ similar_name,
+ similar_terms,
+ similar_suggestions.slice(0, maxSuggestionResults)
+ ).slice(0, maxSearchResults - 1);
+
+ return presetCollection(uniq(results.concat(other)));
+ }
+ };
+
+
+ return presets;
+ }
+
+ function presetCategory(id, category, all) {
+ category = clone(category);
+
+ category.id = id;
+
+
+ category.members = presetCollection(category.members.map(function(id) {
+ return all.item(id);
+ }));
+
+
+ category.matchGeometry = function(geometry) {
+ return category.geometry.indexOf(geometry) >= 0;
+ };
+
+
+ category.matchScore = function() {
+ return -1;
+ };
+
+
+ category.name = function() {
+ return t('presets.categories.' + id + '.name', {'default': id});
+ };
+
+
+ category.terms = function() {
+ return [];
+ };
+
+
+ return category;
+ }
+
+ function presetField(id, field) {
+ field = clone(field);
+
+ field.id = id;
+
+ // for use in classes, element ids, css selectors
+ field.safeid = id.replace(/[^_a-zA-Z0-9\-]/g, '_');
+
+ field.matchGeometry = function(geometry) {
+ return !field.geometry || field.geometry === geometry;
+ };
+
+
+ field.t = function(scope, options) {
+ return t('presets.fields.' + id + '.' + scope, options);
+ };
+
+
+ field.label = function() {
+ return field.t('label', {'default': id});
+ };
+
+
+ var placeholder = field.placeholder;
+ field.placeholder = function() {
+ return field.t('placeholder', {'default': placeholder});
+ };
+
+
+ return field;
+ }
+
+ function presetPreset(id, preset, fields) {
+ preset = clone(preset);
+
+ preset.id = id;
+ preset.fields = (preset.fields || []).map(getFields);
+ preset.geometry = (preset.geometry || []);
+
+
+ function getFields(f) {
+ return fields[f];
+ }
+
+
+ preset.matchGeometry = function(geometry) {
+ return preset.geometry.indexOf(geometry) >= 0;
+ };
+
+
+ preset.originalScore = preset.matchScore || 1;
+
+
+ preset.matchScore = function(entity) {
+ var tags = preset.tags,
+ score = 0;
+
+ for (var t$$1 in tags) {
+ if (entity.tags[t$$1] === tags[t$$1]) {
+ score += preset.originalScore;
+ } else if (tags[t$$1] === '*' && t$$1 in entity.tags) {
+ score += preset.originalScore / 2;
+ } else {
+ return -1;
+ }
+ }
+
+ return score;
+ };
+
+
+ preset.t = function(scope, options) {
+ return t('presets.presets.' + id + '.' + scope, options);
+ };
+
+
+ var origName = preset.name || '';
+ preset.name = function() {
+ if (preset.suggestion) {
+ id = id.split('/');
+ id = id[0] + '/' + id[1];
+ return origName + ' - ' + t('presets.presets.' + id + '.name');
+ }
+ return preset.t('name', { 'default': origName });
+ };
+
+ var origTerms = (preset.terms || []).join();
+ preset.terms = function() {
+ return preset.t('terms', { 'default': origTerms }).toLowerCase().trim().split(/\s*,+\s*/);
+ };
+
+
+ preset.isFallback = function() {
+ var tagCount = Object.keys(preset.tags).length;
+ return tagCount === 0 || (tagCount === 1 && preset.tags.hasOwnProperty('area'));
+ };
+
+
+ var reference = preset.reference || {};
+ preset.reference = function(geometry) {
+ var key = reference.key || Object.keys(omit(preset.tags, 'name'))[0],
+ value = reference.value || preset.tags[key];
+
+ if (geometry === 'relation' && key === 'type') {
+ if (value in preset.tags) {
+ key = value;
+ value = preset.tags[key];
+ } else {
+ return { rtype: value };
+ }
+ }
+
+ if (value === '*') {
+ return { key: key };
+ } else {
+ return { key: key, value: value };
+ }
+ };
+
+
+ var removeTags = preset.removeTags || preset.tags || {};
+ preset.removeTags = function(tags, geometry) {
+ tags = omit(tags, keys$1(removeTags));
+
+ for (var f in preset.fields) {
+ var field = preset.fields[f];
+ if (field.matchGeometry(geometry) && field.default === tags[field.key]) {
+ delete tags[field.key];
+ }
+ }
+
+ delete tags.area;
+ return tags;
+ };
+
+
+ var applyTags = preset.addTags || preset.tags || {};
+ preset.applyTags = function(tags, geometry) {
+ var k;
+
+ tags = clone(tags);
+
+ for (k in applyTags) {
+ if (applyTags[k] === '*') {
+ tags[k] = 'yes';
+ } else {
+ tags[k] = applyTags[k];
+ }
+ }
+
+ // Add area=yes if necessary.
+ // This is necessary if the geometry is already an area (e.g. user drew an area) AND any of:
+ // 1. chosen preset could be either an area or a line (`barrier=city_wall`)
+ // 2. chosen preset doesn't have a key in areaKeys (`railway=station`)
+ if (!applyTags.hasOwnProperty('area')) {
+ delete tags.area;
+ if (geometry === 'area') {
+ var needsAreaTag = true;
+ if (preset.geometry.indexOf('line') === -1) {
+ for (k in applyTags) {
+ if (k in areaKeys) {
+ needsAreaTag = false;
+ break;
+ }
+ }
+ }
+ if (needsAreaTag) {
+ tags.area = 'yes';
+ }
+ }
+ }
+
+ for (var f in preset.fields) {
+ var field = preset.fields[f];
+ if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field.default) {
+ tags[field.key] = field.default;
+ }
+ }
+
+ return tags;
+ };
+
+
+ return preset;
+ }
+
+ function presetIndex() {
+ // a presetCollection with methods for
+ // loading new data and returning defaults
+
+ var all = presetCollection([]);
+ var _defaults = { area: all, line: all, point: all, vertex: all, relation: all };
+ var _fields = {};
+ var _universal = [];
+ var _recent = presetCollection([]);
+
+ // Index of presets by (geometry, tag key).
+ var _index = {
+ point: {},
+ vertex: {},
+ line: {},
+ area: {},
+ relation: {}
+ };
+
+ all.match = function(entity, resolver) {
+ var geometry = entity.geometry(resolver);
+ var address;
+
+ // Treat entities on addr:interpolation lines as points, not vertices - #3241
+ if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) {
+ geometry = 'point';
+ }
+
+ var geometryMatches = _index[geometry];
+ var best = -1;
+ var match;
+
+ for (var k in entity.tags) {
+ // If any part of an address is present,
+ // allow fallback to "Address" preset - #4353
+ if (k.match(/^addr:/) !== null && geometryMatches['addr:*']) {
+ address = geometryMatches['addr:*'][0];
+ }
+
+ var keyMatches = geometryMatches[k];
+ if (!keyMatches) continue;
+
+ for (var i = 0; i < keyMatches.length; i++) {
+ var score = keyMatches[i].matchScore(entity);
+ if (score > best) {
+ best = score;
+ match = keyMatches[i];
+ }
+ }
+ }
+
+ if (address && (!match || match.isFallback())) {
+ match = address;
+ }
+
+ return match || all.item(geometry);
+ };
+
+
+ // Because of the open nature of tagging, iD will never have a complete
+ // list of tags used in OSM, so we want it to have logic like "assume
+ // that a closed way with an amenity tag is an area, unless the amenity
+ // is one of these specific types". This function computes a structure
+ // that allows testing of such conditions, based on the presets designated
+ // as as supporting (or not supporting) the area geometry.
+ //
+ // The returned object L is a whitelist/blacklist of tags. A closed way
+ // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])`
+ // (see `Way#isArea()`). In other words, the keys of L form the whitelist,
+ // and the subkeys form the blacklist.
+ all.areaKeys = function() {
+ var areaKeys = {};
+ var ignore = ['barrier', 'highway', 'footway', 'railway', 'type']; // probably a line..
+ var presets = reject(all.collection, 'suggestion');
+
+ // whitelist
+ presets.forEach(function(d) {
+ for (var key in d.tags) break;
+ if (!key) return;
+ if (ignore.indexOf(key) !== -1) return;
+
+ if (d.geometry.indexOf('area') !== -1) { // probably an area..
+ areaKeys[key] = areaKeys[key] || {};
+ }
+ });
+
+ // blacklist
+ presets.forEach(function(d) {
+ for (var key in d.tags) break;
+ if (!key) return;
+ if (ignore.indexOf(key) !== -1) return;
+
+ var value = d.tags[key];
+ if (key in areaKeys && // probably an area...
+ d.geometry.indexOf('line') !== -1 && // but sometimes a line
+ value !== '*') {
+ areaKeys[key][value] = true;
+ }
+ });
+
+ return areaKeys;
+ };
+
+
+ all.init = function() {
+ var d = data.presets;
+
+ all.collection = [];
+ _recent.collection = [];
+ _fields = {};
+ _universal = [];
+ _index = { point: {}, vertex: {}, line: {}, area: {}, relation: {} };
+
+ if (d.fields) {
+ forEach(d.fields, function(d, id) {
+ _fields[id] = presetField(id, d);
+ if (d.universal) {
+ _universal.push(_fields[id]);
+ }
+ });
+ }
+
+ if (d.presets) {
+ forEach(d.presets, function(d, id) {
+ all.collection.push(presetPreset(id, d, _fields));
+ });
+ }
+
+ if (d.categories) {
+ forEach(d.categories, function(d, id) {
+ all.collection.push(presetCategory(id, d, all));
+ });
+ }
+
+ if (d.defaults) {
+ var getItem = bind$2(all.item, all);
+ _defaults = {
+ area: presetCollection(d.defaults.area.map(getItem)),
+ line: presetCollection(d.defaults.line.map(getItem)),
+ point: presetCollection(d.defaults.point.map(getItem)),
+ vertex: presetCollection(d.defaults.vertex.map(getItem)),
+ relation: presetCollection(d.defaults.relation.map(getItem))
+ };
+ }
+
+ for (var i = 0; i < all.collection.length; i++) {
+ var preset = all.collection[i];
+ var geometry = preset.geometry;
+
+ for (var j = 0; j < geometry.length; j++) {
+ var g = _index[geometry[j]];
+ for (var k in preset.tags) {
+ (g[k] = g[k] || []).push(preset);
+ }
+ }
+ }
+
+ return all;
+ };
+
+ all.field = function(id) {
+ return _fields[id];
+ };
+
+ all.universal = function() {
+ return _universal;
+ };
+
+ all.defaults = function(geometry, n) {
+ var rec = _recent.matchGeometry(geometry).collection.slice(0, 4);
+ var def = uniq(rec.concat(_defaults[geometry].collection)).slice(0, n - 1);
+ return presetCollection(uniq(rec.concat(def).concat(all.item(geometry))));
+ };
+
+ all.choose = function(preset) {
+ _recent = presetCollection(uniq([preset].concat(_recent.collection)));
+ return all;
+ };
+
+ return all;
+ }
+
+ var areaKeys = {};
+
+ function setAreaKeys(value) {
+ areaKeys = value;
+ }
+
+
+ function coreContext() {
+ var context = {};
+ context.version = '2.8.1';
+
+ // create a special translation that contains the keys in place of the strings
+ var tkeys = cloneDeep(en);
+ var parents = [];
+
+ function traverser(v, k, obj) {
+ parents.push(k);
+ if (isObject(v)) {
+ forOwn(v, traverser);
+ } else if (isString(v)) {
+ obj[k] = parents.join('.');
+ }
+ parents.pop();
+ }
+
+ forOwn(tkeys, traverser);
+ addTranslation('_tkeys_', tkeys);
+
+ addTranslation('en', en);
+ setLocale('en');
+
+ var dispatch$$1 = dispatch('enter', 'exit', 'change');
+
+ // https://github.com/openstreetmap/iD/issues/772
+ // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
+ var storage;
+ try { storage = localStorage; } catch (e) {} // eslint-disable-line no-empty
+ storage = storage || (function() {
+ var s = {};
+ return {
+ getItem: function(k) { return s[k]; },
+ setItem: function(k, v) { s[k] = v; },
+ removeItem: function(k) { delete s[k]; }
+ };
+ })();
+
+ context.storage = function(k, v) {
+ try {
+ if (arguments.length === 1) return storage.getItem(k);
+ else if (v === null) storage.removeItem(k);
+ else storage.setItem(k, v);
+ } catch (e) {
+ // localstorage quota exceeded
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
+ /* eslint-enable no-console */
+ }
+ };
+
+
+ /* Straight accessors. Avoid using these if you can. */
+ var ui, connection, history;
+ context.ui = function() { return ui; };
+ context.connection = function() { return connection; };
+ context.history = function() { return history; };
+
+
+ /* Connection */
+ context.preauth = function(options) {
+ if (connection) {
+ connection.switch(options);
+ }
+ return context;
+ };
+
+ context.loadTiles = utilCallWhenIdle(function(projection, dimensions, callback) {
+ var cid;
+ function done(err, result) {
+ if (connection.getConnectionId() !== cid) {
+ if (callback) callback({ message: 'Connection Switched', status: -1 });
+ return;
+ }
+ if (!err) history.merge(result.data, result.extent);
+ if (callback) callback(err, result);
+ }
+ if (connection && context.editable()) {
+ cid = connection.getConnectionId();
+ connection.loadTiles(projection, dimensions, done);
+ }
+ });
+
+ context.loadEntity = function(entityId, callback) {
+ var cid;
+ function done(err, result) {
+ if (connection.getConnectionId() !== cid) {
+ if (callback) callback({ message: 'Connection Switched', status: -1 });
+ return;
+ }
+ if (!err) history.merge(result.data, result.extent);
+ if (callback) callback(err, result);
+ }
+ if (connection) {
+ cid = connection.getConnectionId();
+ connection.loadEntity(entityId, done);
+ }
+ };
+
+ context.zoomToEntity = function(entityId, zoomTo) {
+ if (zoomTo !== false) {
+ this.loadEntity(entityId, function(err, result) {
+ if (err) return;
+ var entity = find$1(result.data, function(e) { return e.id === entityId; });
+ if (entity) { map.zoomTo(entity); }
+ });
+ }
+
+ map.on('drawn.zoomToEntity', function() {
+ if (!context.hasEntity(entityId)) return;
+ map.on('drawn.zoomToEntity', null);
+ context.on('enter.zoomToEntity', null);
+ context.enter(modeSelect(context, [entityId]));
+ });
+
+ context.on('enter.zoomToEntity', function() {
+ if (mode.id !== 'browse') {
+ map.on('drawn.zoomToEntity', null);
+ context.on('enter.zoomToEntity', null);
+ }
+ });
+ };
+
+ var minEditableZoom = 16;
+ context.minEditableZoom = function(_) {
+ if (!arguments.length) return minEditableZoom;
+ minEditableZoom = _;
+ if (connection) {
+ connection.tileZoom(_);
+ }
+ return context;
+ };
+
+
+ /* History */
+ var inIntro = false;
+ context.inIntro = function(_) {
+ if (!arguments.length) return inIntro;
+ inIntro = _;
+ return context;
+ };
+
+ context.save = function() {
+ // no history save, no message onbeforeunload
+ if (inIntro || select('.modal').size()) return;
+
+ var canSave;
+ if (mode && mode.id === 'save') {
+ canSave = false;
+ } else {
+ canSave = context.selectedIDs().every(function(id) {
+ var entity = context.hasEntity(id);
+ return entity && !entity.isDegenerate();
+ });
+ }
+
+ if (canSave) {
+ history.save();
+ }
+ if (history.hasChanges()) {
+ return t('save.unsaved_changes');
+ }
+ };
+
+
+ /* Graph */
+ context.hasEntity = function(id) {
+ return history.graph().hasEntity(id);
+ };
+ context.entity = function(id) {
+ return history.graph().entity(id);
+ };
+ context.childNodes = function(way) {
+ return history.graph().childNodes(way);
+ };
+ context.geometry = function(id) {
+ return context.entity(id).geometry(history.graph());
+ };
+
+
+ /* Modes */
+ var mode;
+ context.mode = function() {
+ return mode;
+ };
+ context.enter = function(newMode) {
+ if (mode) {
+ mode.exit();
+ dispatch$$1.call('exit', this, mode);
+ }
+
+ mode = newMode;
+ mode.enter();
+ dispatch$$1.call('enter', this, mode);
+ };
+
+ context.selectedIDs = function() {
+ if (mode && mode.selectedIDs) {
+ return mode.selectedIDs();
+ } else {
+ return [];
+ }
+ };
+ context.activeID = function() {
+ return mode && mode.activeID && mode.activeID();
+ };
+
+
+ /* Behaviors */
+ context.install = function(behavior) {
+ context.surface().call(behavior);
+ };
+ context.uninstall = function(behavior) {
+ context.surface().call(behavior.off);
+ };
+
+
+ /* Copy/Paste */
+ var copyIDs = [], copyGraph;
+ context.copyGraph = function() { return copyGraph; };
+ context.copyIDs = function(_) {
+ if (!arguments.length) return copyIDs;
+ copyIDs = _;
+ copyGraph = history.graph();
+ return context;
+ };
+
+
+ /* Background */
+ var background;
+ context.background = function() { return background; };
+
+
+ /* Features */
+ var features;
+ context.features = function() { return features; };
+ context.hasHiddenConnections = function(id) {
+ var graph = history.graph(),
+ entity = graph.entity(id);
+ return features.hasHiddenConnections(entity, graph);
+ };
+
+
+ /* Presets */
+ var presets;
+ context.presets = function() { return presets; };
+
+
+ /* Map */
+ var map;
+ context.map = function() { return map; };
+ context.layers = function() { return map.layers; };
+ context.surface = function() { return map.surface; };
+ context.editable = function() { return map.editable(); };
+ context.surfaceRect = function() {
+ return map.surface.node().getBoundingClientRect();
+ };
+
+
+ /* Debug */
+ var debugFlags = {
+ tile: false, // tile boundaries
+ collision: false, // label collision bounding boxes
+ imagery: false, // imagery bounding polygons
+ community: false, // community bounding polygons
+ imperial: false, // imperial (not metric) bounding polygons
+ driveLeft: false, // driveLeft bounding polygons
+ target: false // touch targets
+ };
+ context.debugFlags = function() {
+ return debugFlags;
+ };
+ context.setDebug = function(flag, val) {
+ if (arguments.length === 1) val = true;
+ debugFlags[flag] = val;
+ dispatch$$1.call('change');
+ return context;
+ };
+ context.getDebug = function(flag) {
+ return flag && debugFlags[flag];
+ };
+
+
+ /* Container */
+ var container = select(document.body);
+ context.container = function(_) {
+ if (!arguments.length) return container;
+ container = _;
+ container.classed('id-container', true);
+ return context;
+ };
+ var embed;
+ context.embed = function(_) {
+ if (!arguments.length) return embed;
+ embed = _;
+ return context;
+ };
+
+
+ /* Assets */
+ var assetPath = '';
+ context.assetPath = function(_) {
+ if (!arguments.length) return assetPath;
+ assetPath = _;
+ return context;
+ };
+
+ var assetMap = {};
+ context.assetMap = function(_) {
+ if (!arguments.length) return assetMap;
+ assetMap = _;
+ return context;
+ };
+
+ context.asset = function(_) {
+ var filename = assetPath + _;
+ return assetMap[filename] || filename;
+ };
+
+ context.imagePath = function(_) {
+ return context.asset('img/' + _);
+ };
+
+
+ /* locales */
+ // `locale` variable contains a "requested locale".
+ // It won't become the `currentLocale` until after loadLocale() is called.
+ var locale, localePath;
+
+ context.locale = function(loc, path) {
+ if (!arguments.length) return currentLocale;
+ locale = loc;
+ localePath = path;
+ return context;
+ };
+
+ context.loadLocale = function(callback) {
+ if (locale && locale !== 'en' && dataLocales.hasOwnProperty(locale)) {
+ localePath = localePath || context.asset('locales/' + locale + '.json');
+ d3_json(localePath, function(err, result) {
+ if (!err) {
+ addTranslation(locale, result[locale]);
+ setLocale(locale);
+ utilDetect(true);
+ }
+ if (callback) {
+ callback(err);
+ }
+ });
+ } else {
+ if (locale) {
+ setLocale(locale);
+ utilDetect(true);
+ }
+ if (callback) {
+ callback();
+ }
+ }
+ };
+
+
+ /* reset (aka flush) */
+ context.reset = context.flush = function() {
+ context.debouncedSave.cancel();
+ forEach(services, function(service) {
+ if (service && typeof service.reset === 'function') {
+ service.reset(context);
+ }
+ });
+ features.reset();
+ history.reset();
+ return context;
+ };
+
+
+ /* Init */
+
+ context.projection = geoRawMercator();
+ context.curtainProjection = geoRawMercator();
+
+ locale = utilDetect().locale;
+ if (locale && !dataLocales.hasOwnProperty(locale)) {
+ locale = locale.split('-')[0];
+ }
+
+ history = coreHistory(context);
+ context.graph = history.graph;
+ context.changes = history.changes;
+ context.intersects = history.intersects;
+
+ // Debounce save, since it's a synchronous localStorage write,
+ // and history changes can happen frequently (e.g. when dragging).
+ context.debouncedSave = debounce(context.save, 350);
+ function withDebouncedSave(fn) {
+ return function() {
+ var result = fn.apply(history, arguments);
+ context.debouncedSave();
+ return result;
+ };
+ }
+
+ context.perform = withDebouncedSave(history.perform);
+ context.replace = withDebouncedSave(history.replace);
+ context.pop = withDebouncedSave(history.pop);
+ context.overwrite = withDebouncedSave(history.overwrite);
+ context.undo = withDebouncedSave(history.undo);
+ context.redo = withDebouncedSave(history.redo);
+
+ ui = uiInit(context);
+
+ connection = services.osm;
+ background = rendererBackground(context);
+ features = rendererFeatures(context);
+ presets = presetIndex();
+
+ map = rendererMap(context);
+ context.mouse = map.mouse;
+ context.extent = map.extent;
+ context.pan = map.pan;
+ context.zoomIn = map.zoomIn;
+ context.zoomOut = map.zoomOut;
+ context.zoomInFurther = map.zoomInFurther;
+ context.zoomOutFurther = map.zoomOutFurther;
+ context.redrawEnable = map.redrawEnable;
+
+ forEach(services, function(service) {
+ if (service && typeof service.init === 'function') {
+ service.init(context);
+ }
+ });
+
+ background.init();
+ features.init();
+ presets.init();
+ areaKeys = presets.areaKeys();
+
+
+ return utilRebind(context, dispatch$$1, 'on');
+ }
+
+ function osmWay() {
+ if (!(this instanceof osmWay)) {
+ return (new osmWay()).initialize(arguments);
+ } else if (arguments.length) {
+ this.initialize(arguments);
+ }
+ }
+
+
+ osmEntity$$1.way = osmWay;
+
+ osmWay.prototype = Object.create(osmEntity$$1.prototype);
+
+
+ assignIn(osmWay.prototype, {
+ type: 'way',
+ nodes: [],
+
+
+ copy: function(resolver, copies) {
+ if (copies[this.id])
+ return copies[this.id];
+
+ var copy = osmEntity$$1.prototype.copy.call(this, resolver, copies);
+
+ var nodes = this.nodes.map(function(id) {
+ return resolver.entity(id).copy(resolver, copies).id;
+ });
+
+ copy = copy.update({ nodes: nodes });
+ copies[this.id] = copy;
+
+ return copy;
+ },
+
+
+ extent: function(resolver) {
+ return resolver.transient(this, 'extent', function() {
+ var extent = geoExtent$$1();
+ for (var i = 0; i < this.nodes.length; i++) {
+ var node = resolver.hasEntity(this.nodes[i]);
+ if (node) {
+ extent._extend(node.extent());
+ }
+ }
+ return extent;
+ });
+ },
+
+
+ first: function() {
+ return this.nodes[0];
+ },
+
+
+ last: function() {
+ return this.nodes[this.nodes.length - 1];
+ },
+
+
+ contains: function(node) {
+ return this.nodes.indexOf(node) >= 0;
+ },
+
+
+ affix: function(node) {
+ if (this.nodes[0] === node) return 'prefix';
+ if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
+ },
+
+
+ layer: function() {
+ // explicit layer tag, clamp between -10, 10..
+ if (isFinite(this.tags.layer)) {
+ return Math.max(-10, Math.min(+(this.tags.layer), 10));
+ }
+
+ // implied layer tag..
+ if (this.tags.covered === 'yes') return -1;
+ if (this.tags.location === 'overground') return 1;
+ if (this.tags.location === 'underground') return -1;
+ if (this.tags.location === 'underwater') return -10;
+
+ if (this.tags.power === 'line') return 10;
+ if (this.tags.power === 'minor_line') return 10;
+ if (this.tags.aerialway) return 10;
+ if (this.tags.bridge) return 1;
+ if (this.tags.cutting) return -1;
+ if (this.tags.tunnel) return -1;
+ if (this.tags.waterway) return -1;
+ if (this.tags.man_made === 'pipeline') return -10;
+ if (this.tags.boundary) return -10;
+ return 0;
+ },
+
+
+ isOneWay: function() {
+ // explicit oneway tag..
+ var values = {
+ 'yes': true,
+ '1': true,
+ '-1': true,
+ 'reversible': true,
+ 'alternating': true,
+ 'no': false,
+ '0': false
+ };
+ if (values[this.tags.oneway] !== undefined) {
+ return values[this.tags.oneway];
+ }
+
+ // implied oneway tag..
+ for (var key in this.tags) {
+ if (key in osmOneWayTags && (this.tags[key] in osmOneWayTags[key]))
+ return true;
+ }
+ return false;
+ },
+
+
+ lanes: function() {
+ return osmLanes(this);
+ },
+
+
+ isClosed: function() {
+ return this.nodes.length > 1 && this.first() === this.last();
+ },
+
+
+ isConvex: function(resolver) {
+ if (!this.isClosed() || this.isDegenerate()) return null;
+
+ var nodes = uniq(resolver.childNodes(this));
+ var coords = map$3(nodes, 'loc');
+ var curr = 0;
+ var prev = 0;
+
+ for (var i = 0; i < coords.length; i++) {
+ var o = coords[(i+1) % coords.length];
+ var a = coords[i];
+ var b = coords[(i+2) % coords.length];
+ var res = geoVecCross(a, b, o);
+
+ curr = (res > 0) ? 1 : (res < 0) ? -1 : 0;
+ if (curr === 0) {
+ continue;
+ } else if (prev && curr !== prev) {
+ return false;
+ }
+ prev = curr;
+ }
+ return true;
+ },
+
+
+ isArea: function() {
+ // `highway` and `railway` are typically linear features, but there
+ // are a few exceptions that should be treated as areas, even in the
+ // absence of a proper `area=yes` or `areaKeys` tag.. see #4194
+ var lineKeys = {
+ highway: {
+ rest_area: true,
+ services: true
+ },
+ railway: {
+ roundhouse: true,
+ station: true,
+ traverser: true,
+ turntable: true,
+ wash: true
+ }
+ };
+
+ if (this.tags.area === 'yes')
+ return true;
+ if (!this.isClosed() || this.tags.area === 'no')
+ return false;
+ for (var key in this.tags) {
+ if (key in areaKeys && !(this.tags[key] in areaKeys[key])) {
+ return true;
+ }
+ if (key in lineKeys && this.tags[key] in lineKeys[key]) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+
+ isDegenerate: function() {
+ return uniq(this.nodes).length < (this.isArea() ? 3 : 2);
+ },
+
+
+ areAdjacent: function(n1, n2) {
+ for (var i = 0; i < this.nodes.length; i++) {
+ if (this.nodes[i] === n1) {
+ if (this.nodes[i - 1] === n2) return true;
+ if (this.nodes[i + 1] === n2) return true;
+ }
+ }
+ return false;
+ },
+
+
+ geometry: function(graph) {
+ return graph.transient(this, 'geometry', function() {
+ return this.isArea() ? 'area' : 'line';
+ });
+ },
+
+
+ // If this way is not closed, append the beginning node to the end of the nodelist to close it.
+ close: function() {
+ if (this.isClosed() || !this.nodes.length) return this;
+
+ var nodes = this.nodes.slice();
+ nodes = nodes.filter(noRepeatNodes);
+ nodes.push(nodes[0]);
+ return this.update({ nodes: nodes });
+ },
+
+
+ // If this way is closed, remove any connector nodes from the end of the nodelist to unclose it.
+ unclose: function() {
+ if (!this.isClosed()) return this;
+
+ var nodes = this.nodes.slice(),
+ connector = this.first(),
+ i = nodes.length - 1;
+
+ // remove trailing connectors..
+ while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+ nodes.splice(i, 1);
+ i = nodes.length - 1;
+ }
+
+ nodes = nodes.filter(noRepeatNodes);
+ return this.update({ nodes: nodes });
+ },
+
+
+ // Adds a node (id) in front of the node which is currently at position index.
+ // If index is undefined, the node will be added to the end of the way for linear ways,
+ // or just before the final connecting node for circular ways.
+ // Consecutive duplicates are eliminated including existing ones.
+ // Circularity is always preserved when adding a node.
+ addNode: function(id, index) {
+ var nodes = this.nodes.slice(),
+ isClosed = this.isClosed(),
+ max = isClosed ? nodes.length - 1 : nodes.length;
+
+ if (index === undefined) {
+ index = max;
+ }
+
+ if (index < 0 || index > max) {
+ throw new RangeError('index ' + index + ' out of range 0..' + max);
+ }
+
+ // If this is a closed way, remove all connector nodes except the first one
+ // (there may be duplicates) and adjust index if necessary..
+ if (isClosed) {
+ var connector = this.first();
+
+ // leading connectors..
+ var i = 1;
+ while (i < nodes.length && nodes.length > 2 && nodes[i] === connector) {
+ nodes.splice(i, 1);
+ if (index > i) index--;
+ }
+
+ // trailing connectors..
+ i = nodes.length - 1;
+ while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+ nodes.splice(i, 1);
+ if (index > i) index--;
+ i = nodes.length - 1;
+ }
+ }
+
+ nodes.splice(index, 0, id);
+ nodes = nodes.filter(noRepeatNodes);
+
+ // If the way was closed before, append a connector node to keep it closed..
+ if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+ nodes.push(nodes[0]);
+ }
+
+ return this.update({ nodes: nodes });
+ },
+
+
+ // Replaces the node which is currently at position index with the given node (id).
+ // Consecutive duplicates are eliminated including existing ones.
+ // Circularity is preserved when updating a node.
+ updateNode: function(id, index) {
+ var nodes = this.nodes.slice(),
+ isClosed = this.isClosed(),
+ max = nodes.length - 1;
+
+ if (index === undefined || index < 0 || index > max) {
+ throw new RangeError('index ' + index + ' out of range 0..' + max);
+ }
+
+ // If this is a closed way, remove all connector nodes except the first one
+ // (there may be duplicates) and adjust index if necessary..
+ if (isClosed) {
+ var connector = this.first();
+
+ // leading connectors..
+ var i = 1;
+ while (i < nodes.length && nodes.length > 2 && nodes[i] === connector) {
+ nodes.splice(i, 1);
+ if (index > i) index--;
+ }
+
+ // trailing connectors..
+ i = nodes.length - 1;
+ while (i > 0 && nodes.length > 1 && nodes[i] === connector) {
+ nodes.splice(i, 1);
+ if (index === i) index = 0; // update leading connector instead
+ i = nodes.length - 1;
+ }
+ }
+
+ nodes.splice(index, 1, id);
+ nodes = nodes.filter(noRepeatNodes);
+
+ // If the way was closed before, append a connector node to keep it closed..
+ if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+ nodes.push(nodes[0]);
+ }
+
+ return this.update({nodes: nodes});
+ },
+
+
+ // Replaces each occurrence of node id needle with replacement.
+ // Consecutive duplicates are eliminated including existing ones.
+ // Circularity is preserved.
+ replaceNode: function(needle, replacement) {
+ var nodes = this.nodes.slice(),
+ isClosed = this.isClosed();
+
+ for (var i = 0; i < nodes.length; i++) {
+ if (nodes[i] === needle) {
+ nodes[i] = replacement;
+ }
+ }
+
+ nodes = nodes.filter(noRepeatNodes);
+
+ // If the way was closed before, append a connector node to keep it closed..
+ if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+ nodes.push(nodes[0]);
+ }
+
+ return this.update({nodes: nodes});
+ },
+
+
+ // Removes each occurrence of node id needle with replacement.
+ // Consecutive duplicates are eliminated including existing ones.
+ // Circularity is preserved.
+ removeNode: function(id) {
+ var nodes = this.nodes.slice(),
+ isClosed = this.isClosed();
+
+ nodes = nodes
+ .filter(function(node) { return node !== id; })
+ .filter(noRepeatNodes);
+
+ // If the way was closed before, append a connector node to keep it closed..
+ if (isClosed && (nodes.length === 1 || nodes[0] !== nodes[nodes.length - 1])) {
+ nodes.push(nodes[0]);
+ }
+
+ return this.update({nodes: nodes});
+ },
+
+
+ asJXON: function(changeset_id) {
+ var r = {
+ way: {
+ '@id': this.osmId(),
+ '@version': this.version || 0,
+ nd: map$3(this.nodes, function(id) {
+ return { keyAttributes: { ref: osmEntity$$1.id.toOSM(id) } };
+ }),
+ tag: map$3(this.tags, function(v, k) {
+ return { keyAttributes: { k: k, v: v } };
+ })
+ }
+ };
+ if (changeset_id) {
+ r.way['@changeset'] = changeset_id;
+ }
+ return r;
+ },
+
+
+ asGeoJSON: function(resolver) {
+ return resolver.transient(this, 'GeoJSON', function() {
+ var coordinates = map$3(resolver.childNodes(this), 'loc');
+ if (this.isArea() && this.isClosed()) {
+ return {
+ type: 'Polygon',
+ coordinates: [coordinates]
+ };
+ } else {
+ return {
+ type: 'LineString',
+ coordinates: coordinates
+ };
+ }
+ });
+ },
+
+
+ area: function(resolver) {
+ return resolver.transient(this, 'area', function() {
+ var nodes = resolver.childNodes(this);
+
+ var json = {
+ type: 'Polygon',
+ coordinates: [map$3(nodes, 'loc')]
+ };
+
+ if (!this.isClosed() && nodes.length) {
+ json.coordinates[0].push(nodes[0].loc);
+ }
+
+ var area = d3_geoArea(json);
+
+ // Heuristic for detecting counterclockwise winding order. Assumes
+ // that OpenStreetMap polygons are not hemisphere-spanning.
+ if (area > 2 * Math.PI) {
+ json.coordinates[0] = json.coordinates[0].reverse();
+ area = d3_geoArea(json);
+ }
+
+ return isNaN(area) ? 0 : area;
+ });
+ }
+ });
+
+
+ // Filter function to eliminate consecutive duplicates.
+ function noRepeatNodes(node, i, arr) {
+ return i === 0 || node !== arr[i - 1];
+ }
+
+ // For fixing up rendering of multipolygons with tags on the outer member.
+ // https://github.com/openstreetmap/iD/issues/613
+ function osmIsSimpleMultipolygonOuterMember(entity, graph) {
+ if (entity.type !== 'way' || Object.keys(entity.tags).filter(osmIsInterestingTag).length === 0)
+ return false;
+
+ var parents = graph.parentRelations(entity);
+ if (parents.length !== 1)
+ return false;
+
+ var parent = parents[0];
+ if (!parent.isMultipolygon() || Object.keys(parent.tags).filter(osmIsInterestingTag).length > 1)
+ return false;
+
+ var members = parent.members, member;
+ for (var i = 0; i < members.length; i++) {
+ member = members[i];
+ if (member.id === entity.id && member.role && member.role !== 'outer')
+ return false; // Not outer member
+ if (member.id !== entity.id && (!member.role || member.role === 'outer'))
+ return false; // Not a simple multipolygon
+ }
+
+ return parent;
+ }
+
+
+ function osmSimpleMultipolygonOuterMember(entity, graph) {
+ if (entity.type !== 'way')
+ return false;
+
+ var parents = graph.parentRelations(entity);
+ if (parents.length !== 1)
+ return false;
+
+ var parent = parents[0];
+ if (!parent.isMultipolygon() || Object.keys(parent.tags).filter(osmIsInterestingTag).length > 1)
+ return false;
+
+ var members = parent.members, member, outerMember;
+ for (var i = 0; i < members.length; i++) {
+ member = members[i];
+ if (!member.role || member.role === 'outer') {
+ if (outerMember)
+ return false; // Not a simple multipolygon
+ outerMember = member;
+ }
+ }
+
+ if (!outerMember)
+ return false;
+
+ var outerEntity = graph.hasEntity(outerMember.id);
+ if (!outerEntity || !Object.keys(outerEntity.tags).filter(osmIsInterestingTag).length)
+ return false;
+
+ return outerEntity;
+ }
+
+
+ // Join `toJoin` array into sequences of connecting ways.
+
+ // Segments which share identical start/end nodes will, as much as possible,
+ // be connected with each other.
+ //
+ // The return value is a nested array. Each constituent array contains elements
+ // of `toJoin` which have been determined to connect.
+ //
+ // Each consitituent array also has a `nodes` property whose value is an
+ // ordered array of member nodes, with appropriate order reversal and
+ // start/end coordinate de-duplication.
+ //
+ // Members of `toJoin` must have, at minimum, `type` and `id` properties.
+ // Thus either an array of `osmWay`s or a relation member array may be used.
+ //
+ // If an member is an `osmWay`, its tags and childnodes may be reversed via
+ // `actionReverse` in the output.
+ //
+ // The returned sequences array also has an `actions` array property, containing
+ // any reversal actions that should be applied to the graph, should the calling
+ // code attempt to actually join the given ways.
+ //
+ // Incomplete members (those for which `graph.hasEntity(element.id)` returns
+ // false) and non-way members are ignored.
+ //
+ function osmJoinWays(toJoin, graph) {
+ function resolve(member) {
+ return graph.childNodes(graph.entity(member.id));
+ }
+
+ function reverse(item) {
+ var action = actionReverse(item.id, { reverseOneway: true });
+ sequences.actions.push(action);
+ return (item instanceof osmWay) ? action(graph).entity(item.id) : item;
+ }
+
+ // make a copy containing only the items to join
+ toJoin = toJoin.filter(function(member) {
+ return member.type === 'way' && graph.hasEntity(member.id);
+ });
+
+ // Are the things we are joining relation members or `osmWays`?
+ // If `osmWays`, skip the "prefer a forward path" code below (see #4872)
+ var i;
+ var joinAsMembers = true;
+ for (i = 0; i < toJoin.length; i++) {
+ if (toJoin[i] instanceof osmWay) {
+ joinAsMembers = false;
+ break;
+ }
+ }
+
+ var sequences = [];
+ sequences.actions = [];
+
+ while (toJoin.length) {
+ // start a new sequence
+ var item = toJoin.shift();
+ var currWays = [item];
+ var currNodes = resolve(item).slice();
+ var doneSequence = false;
+
+ // add to it
+ while (toJoin.length && !doneSequence) {
+ var start = currNodes[0];
+ var end = currNodes[currNodes.length - 1];
+ var fn = null;
+ var nodes = null;
+
+ // Find the next way/member to join.
+ for (i = 0; i < toJoin.length; i++) {
+ item = toJoin[i];
+ nodes = resolve(item);
+
+ // (for member ordering only, not way ordering - see #4872)
+ // Strongly prefer to generate a forward path that preserves the order
+ // of the members array. For multipolygons and most relations, member
+ // order does not matter - but for routes, it does. (see #4589)
+ // If we started this sequence backwards (i.e. next member way attaches to
+ // the start node and not the end node), reverse the initial way before continuing.
+ if (joinAsMembers && currWays.length === 1 && nodes[0] !== end && nodes[nodes.length - 1] !== end &&
+ (nodes[nodes.length - 1] === start || nodes[0] === start)
+ ) {
+ currWays[0] = reverse(currWays[0]);
+ currNodes.reverse();
+ start = currNodes[0];
+ end = currNodes[currNodes.length - 1];
+ }
+
+ if (nodes[0] === end) {
+ fn = currNodes.push; // join to end
+ nodes = nodes.slice(1);
+ break;
+ } else if (nodes[nodes.length - 1] === end) {
+ fn = currNodes.push; // join to end
+ nodes = nodes.slice(0, -1).reverse();
+ item = reverse(item);
+ break;
+ } else if (nodes[nodes.length - 1] === start) {
+ fn = currNodes.unshift; // join to beginning
+ nodes = nodes.slice(0, -1);
+ break;
+ } else if (nodes[0] === start) {
+ fn = currNodes.unshift; // join to beginning
+ nodes = nodes.slice(1).reverse();
+ item = reverse(item);
+ break;
+ } else {
+ fn = nodes = null;
+ }
+ }
+
+ if (!nodes) { // couldn't find a joinable way/member
+ doneSequence = true;
+ break;
+ }
+
+ fn.apply(currWays, [item]);
+ fn.apply(currNodes, nodes);
+
+ toJoin.splice(i, 1);
+ }
+
+ currWays.nodes = currNodes;
+ sequences.push(currWays);
+ }
+
+ return sequences;
+ }
+
+ function osmRelation() {
+ if (!(this instanceof osmRelation)) {
+ return (new osmRelation()).initialize(arguments);
+ } else if (arguments.length) {
+ this.initialize(arguments);
+ }
+ }
+
+
+ osmEntity$$1.relation = osmRelation;
+
+ osmRelation.prototype = Object.create(osmEntity$$1.prototype);
+
+
+ osmRelation.creationOrder = function(a, b) {
+ var aId = parseInt(osmEntity$$1.id.toOSM(a.id), 10);
+ var bId = parseInt(osmEntity$$1.id.toOSM(b.id), 10);
+
+ if (aId < 0 || bId < 0) return aId - bId;
+ return bId - aId;
+ };
+
+
+ assignIn(osmRelation.prototype, {
+ type: 'relation',
+ members: [],
+
+
+ copy: function(resolver, copies) {
+ if (copies[this.id])
+ return copies[this.id];
+
+ var copy = osmEntity$$1.prototype.copy.call(this, resolver, copies);
+
+ var members = this.members.map(function(member) {
+ return assignIn({}, member, { id: resolver.entity(member.id).copy(resolver, copies).id });
+ });
+
+ copy = copy.update({members: members});
+ copies[this.id] = copy;
+
+ return copy;
+ },
+
+
+ extent: function(resolver, memo) {
+ return resolver.transient(this, 'extent', function() {
+ if (memo && memo[this.id]) return geoExtent$$1();
+ memo = memo || {};
+ memo[this.id] = true;
+
+ var extent = geoExtent$$1();
+ for (var i = 0; i < this.members.length; i++) {
+ var member = resolver.hasEntity(this.members[i].id);
+ if (member) {
+ extent._extend(member.extent(resolver, memo));
+ }
+ }
+ return extent;
+ });
+ },
+
+
+ geometry: function(graph) {
+ return graph.transient(this, 'geometry', function() {
+ return this.isMultipolygon() ? 'area' : 'relation';
+ });
+ },
+
+
+ isDegenerate: function() {
+ return this.members.length === 0;
+ },
+
+
+ // Return an array of members, each extended with an 'index' property whose value
+ // is the member index.
+ indexedMembers: function() {
+ var result = new Array(this.members.length);
+ for (var i = 0; i < this.members.length; i++) {
+ result[i] = assignIn({}, this.members[i], {index: i});
+ }
+ return result;
+ },
+
+
+ // Return the first member with the given role. A copy of the member object
+ // is returned, extended with an 'index' property whose value is the member index.
+ memberByRole: function(role) {
+ for (var i = 0; i < this.members.length; i++) {
+ if (this.members[i].role === role) {
+ return assignIn({}, this.members[i], {index: i});
+ }
+ }
+ },
+
+ // Same as memberByRole, but returns all members with the given role
+ membersByRole: function(role) {
+ var result = [];
+ for (var i = 0; i < this.members.length; i++) {
+ if (this.members[i].role === role) {
+ result.push(assignIn({}, this.members[i], {index: i}));
+ }
+ }
+ return result;
+ },
+
+ // Return the first member with the given id. A copy of the member object
+ // is returned, extended with an 'index' property whose value is the member index.
+ memberById: function(id) {
+ for (var i = 0; i < this.members.length; i++) {
+ if (this.members[i].id === id) {
+ return assignIn({}, this.members[i], {index: i});
+ }
+ }
+ },
+
+
+ // Return the first member with the given id and role. A copy of the member object
+ // is returned, extended with an 'index' property whose value is the member index.
+ memberByIdAndRole: function(id, role) {
+ for (var i = 0; i < this.members.length; i++) {
+ if (this.members[i].id === id && this.members[i].role === role) {
+ return assignIn({}, this.members[i], {index: i});
+ }
+ }
+ },
+
+
+ addMember: function(member, index) {
+ var members = this.members.slice();
+ members.splice(index === undefined ? members.length : index, 0, member);
+ return this.update({members: members});
+ },
+
+
+ updateMember: function(member, index) {
+ var members = this.members.slice();
+ members.splice(index, 1, assignIn({}, members[index], member));
+ return this.update({members: members});
+ },
+
+
+ removeMember: function(index) {
+ var members = this.members.slice();
+ members.splice(index, 1);
+ return this.update({members: members});
+ },
+
+
+ removeMembersWithID: function(id) {
+ var members = reject(this.members, function(m) { return m.id === id; });
+ return this.update({members: members});
+ },
+
+
+ // Wherever a member appears with id `needle.id`, replace it with a member
+ // with id `replacement.id`, type `replacement.type`, and the original role,
+ // By default, adding a duplicate member (by id and role) is prevented.
+ // Return an updated relation.
+ replaceMember: function(needle, replacement, keepDuplicates) {
+ if (!this.memberById(needle.id))
+ return this;
+
+ var members = [];
+
+ for (var i = 0; i < this.members.length; i++) {
+ var member = this.members[i];
+ if (member.id !== needle.id) {
+ members.push(member);
+ } else if (keepDuplicates || !this.memberByIdAndRole(replacement.id, member.role)) {
+ members.push({id: replacement.id, type: replacement.type, role: member.role});
+ }
+ }
+
+ return this.update({members: members});
+ },
+
+
+ asJXON: function(changeset_id) {
+ var r = {
+ relation: {
+ '@id': this.osmId(),
+ '@version': this.version || 0,
+ member: map$3(this.members, function(member) {
+ return {
+ keyAttributes: {
+ type: member.type,
+ role: member.role,
+ ref: osmEntity$$1.id.toOSM(member.id)
+ }
+ };
+ }),
+ tag: map$3(this.tags, function(v, k) {
+ return { keyAttributes: { k: k, v: v } };
+ })
+ }
+ };
+ if (changeset_id) r.relation['@changeset'] = changeset_id;
+ return r;
+ },
+
+
+ asGeoJSON: function(resolver) {
+ return resolver.transient(this, 'GeoJSON', function () {
+ if (this.isMultipolygon()) {
+ return {
+ type: 'MultiPolygon',
+ coordinates: this.multipolygon(resolver)
+ };
+ } else {
+ return {
+ type: 'FeatureCollection',
+ properties: this.tags,
+ features: this.members.map(function (member) {
+ return assignIn({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
+ })
+ };
+ }
+ });
+ },
+
+
+ area: function(resolver) {
+ return resolver.transient(this, 'area', function() {
+ return d3_geoArea(this.asGeoJSON(resolver));
+ });
+ },
+
+
+ isMultipolygon: function() {
+ return this.tags.type === 'multipolygon';
+ },
+
+
+ isComplete: function(resolver) {
+ for (var i = 0; i < this.members.length; i++) {
+ if (!resolver.hasEntity(this.members[i].id)) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+
+ isRestriction: function() {
+ return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
+ },
+
+
+ isValidRestriction: function() {
+ if (!this.isRestriction()) return false;
+
+ var froms = this.members.filter(function(m) { return m.role === 'from'; });
+ var vias = this.members.filter(function(m) { return m.role === 'via'; });
+ var tos = this.members.filter(function(m) { return m.role === 'to'; });
+
+ if (froms.length !== 1 && this.tags.restriction !== 'no_entry') return false;
+ if (froms.some(function(m) { return m.type !== 'way'; })) return false;
+
+ if (tos.length !== 1 && this.tags.restriction !== 'no_exit') return false;
+ if (tos.some(function(m) { return m.type !== 'way'; })) return false;
+
+ if (vias.length === 0) return false;
+ if (vias.length > 1 && vias.some(function(m) { return m.type !== 'way'; })) return false;
+
+ return true;
+ },
+
+
+ // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
+ // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
+ //
+ // This corresponds to the structure needed for rendering a multipolygon path using a
+ // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
+ //
+ // In the case of invalid geometries, this function will still return a result which
+ // includes the nodes of all way members, but some Nds may be unclosed and some inner
+ // rings not matched with the intended outer ring.
+ //
+ multipolygon: function(resolver) {
+ var outers = this.members.filter(function(m) { return 'outer' === (m.role || 'outer'); });
+ var inners = this.members.filter(function(m) { return 'inner' === m.role; });
+
+ outers = osmJoinWays(outers, resolver);
+ inners = osmJoinWays(inners, resolver);
+
+ outers = outers.map(function(outer) { return map$3(outer.nodes, 'loc'); });
+ inners = inners.map(function(inner) { return map$3(inner.nodes, 'loc'); });
+
+ var result = outers.map(function(o) {
+ // Heuristic for detecting counterclockwise winding order. Assumes
+ // that OpenStreetMap polygons are not hemisphere-spanning.
+ return [d3_geoArea({ type: 'Polygon', coordinates: [o] }) > 2 * Math.PI ? o.reverse() : o];
+ });
+
+ function findOuter(inner) {
+ var o, outer;
+
+ for (o = 0; o < outers.length; o++) {
+ outer = outers[o];
+ if (geoPolygonContainsPolygon(outer, inner))
+ return o;
+ }
+
+ for (o = 0; o < outers.length; o++) {
+ outer = outers[o];
+ if (geoPolygonIntersectsPolygon(outer, inner, false))
+ return o;
+ }
+ }
+
+ for (var i = 0; i < inners.length; i++) {
+ var inner = inners[i];
+
+ if (d3_geoArea({ type: 'Polygon', coordinates: [inner] }) < 2 * Math.PI) {
+ inner = inner.reverse();
+ }
+
+ var o = findOuter(inners[i]);
+ if (o !== undefined)
+ result[o].push(inners[i]);
+ else
+ result.push([inners[i]]); // Invalid geometry
+ }
+
+ return result;
+ }
+ });
+
+ function osmTurn(turn) {
+ if (!(this instanceof osmTurn)) {
+ return new osmTurn(turn);
+ }
+ assignIn(this, turn);
+ }
+
+
+ function osmIntersection(graph, startVertexId, maxDistance) {
+ maxDistance = maxDistance || 30; // in meters
+ var vgraph = coreGraph$$1(); // virtual graph
+ var i, j, k;
+
+
+ function memberOfRestriction(entity) {
+ return graph.parentRelations(entity)
+ .some(function(r) { return r.isRestriction(); });
+ }
+
+ function isRoad(way) {
+ if (way.isArea() || way.isDegenerate()) return false;
+ var roads = {
+ 'motorway': true,
+ 'motorway_link': true,
+ 'trunk': true,
+ 'trunk_link': true,
+ 'primary': true,
+ 'primary_link': true,
+ 'secondary': true,
+ 'secondary_link': true,
+ 'tertiary': true,
+ 'tertiary_link': true,
+ 'residential': true,
+ 'unclassified': true,
+ 'living_street': true,
+ 'service': true,
+ 'road': true,
+ 'track': true
+ };
+ return roads[way.tags.highway];
+ }
+
+
+ var startNode = graph.entity(startVertexId);
+ var checkVertices = [startNode];
+ var checkWays;
+ var vertices = [];
+ var vertexIds = [];
+ var vertex;
+ var ways = [];
+ var wayIds = [];
+ var way;
+ var nodes = [];
+ var node;
+ var parents = [];
+ var parent;
+
+ // `actions` will store whatever actions must be performed to satisfy
+ // preconditions for adding a turn restriction to this intersection.
+ // - Remove any existing degenerate turn restrictions (missing from/to, etc)
+ // - Reverse oneways so that they are drawn in the forward direction
+ // - Split ways on key vertices
+ var actions = [];
+
+
+ // STEP 1: walk the graph outwards from starting vertex to search
+ // for more key vertices and ways to include in the intersection..
+
+ while (checkVertices.length) {
+ vertex = checkVertices.pop();
+
+ // check this vertex for parent ways that are roads
+ checkWays = graph.parentWays(vertex);
+ var hasWays = false;
+ for (i = 0; i < checkWays.length; i++) {
+ way = checkWays[i];
+ if (!isRoad(way) && !memberOfRestriction(way)) continue;
+
+ ways.push(way); // it's a road, or it's already in a turn restriction
+ hasWays = true;
+
+ // check the way's children for more key vertices
+ nodes = uniq(graph.childNodes(way));
+ for (j = 0; j < nodes.length; j++) {
+ node = nodes[j];
+ if (node === vertex) continue; // same thing
+ if (vertices.indexOf(node) !== -1) continue; // seen it already
+ if (node.loc && startNode.loc &&
+ geoSphericalDistance(node.loc, startNode.loc) > maxDistance) continue; // too far from start
+
+ // a key vertex will have parents that are also roads
+ var hasParents = false;
+ parents = graph.parentWays(node);
+ for (k = 0; k < parents.length; k++) {
+ parent = parents[k];
+ if (parent === way) continue; // same thing
+ if (ways.indexOf(parent) !== -1) continue; // seen it already
+ if (!isRoad(parent)) continue; // not a road
+ hasParents = true;
+ break;
+ }
+
+ if (hasParents) {
+ checkVertices.push(node);
+ }
+ }
+ }
+
+ if (hasWays) {
+ vertices.push(vertex);
+ }
+ }
+
+ vertices = uniq(vertices);
+ ways = uniq(ways);
+
+
+ // STEP 2: Build a virtual graph containing only the entities in the intersection..
+ // Everything done after this step should act on the virtual graph
+ // Any actions that must be performed later to the main graph go in `actions` array
+ ways.forEach(function(way) {
+ graph.childNodes(way).forEach(function(node) {
+ vgraph = vgraph.replace(node);
+ });
+
+ vgraph = vgraph.replace(way);
+
+ graph.parentRelations(way).forEach(function(relation) {
+ if (relation.isRestriction()) {
+ if (relation.isValidRestriction(graph)) {
+ vgraph = vgraph.replace(relation);
+ } else if (relation.isComplete(graph)) {
+ actions.push(actionDeleteRelation(relation.id));
+ }
+ }
+ });
+ });
+
+
+ // STEP 3: Force all oneways to be drawn in the forward direction
+ ways.forEach(function(w) {
+ var way = vgraph.entity(w.id);
+ if (way.tags.oneway === '-1') {
+ var action = actionReverse(way.id, { reverseOneway: true });
+ actions.push(action);
+ vgraph = action(vgraph);
+ }
+ });
+
+
+ // STEP 4: Split ways on key vertices
+ var origCount = osmEntity$$1.id.next.way;
+ vertices.forEach(function(v) {
+ // This is an odd way to do it, but we need to find all the ways that
+ // will be split here, then split them one at a time to ensure that these
+ // actions can be replayed on the main graph exactly in the same order.
+ // (It is unintuitive, but the order of ways returned from graph.parentWays()
+ // is arbitrary, depending on how the main graph and vgraph were built)
+ var splitAll = actionSplit(v.id);
+ if (!splitAll.disabled(vgraph)) {
+ splitAll.ways(vgraph).forEach(function(way) {
+ var splitOne = actionSplit(v.id).limitWays([way.id]);
+ actions.push(splitOne);
+ vgraph = splitOne(vgraph);
+ });
+ }
+ });
+
+ // In here is where we should also split the intersection at nearby junction.
+ // for https://github.com/mapbox/iD-internal/issues/31
+ // nearbyVertices.forEach(function(v) {
+ // });
+
+ // Reasons why we reset the way id count here:
+ // 1. Continuity with way ids created by the splits so that we can replay
+ // these actions later if the user decides to create a turn restriction
+ // 2. Avoids churning way ids just by hovering over a vertex
+ // and displaying the turn restriction editor
+ osmEntity$$1.id.next.way = origCount;
+
+
+ // STEP 5: Update arrays to point to vgraph entities
+ vertexIds = vertices.map(function(v) { return v.id; });
+ vertices = [];
+ ways = [];
+
+ vertexIds.forEach(function(id) {
+ var vertex = vgraph.entity(id);
+ var parents = vgraph.parentWays(vertex);
+ vertices.push(vertex);
+ ways = ways.concat(parents);
+ });
+
+ vertices = uniq(vertices);
+ ways = uniq(ways);
+
+ vertexIds = vertices.map(function(v) { return v.id; });
+ wayIds = ways.map(function(w) { return w.id; });
+
+
+ // STEP 6: Update the ways with some metadata that will be useful for
+ // walking the intersection graph later and rendering turn arrows.
+
+ function withMetadata(way, vertexIds) {
+ var __oneWay = way.isOneWay();
+
+ // which affixes are key vertices?
+ var __first = (vertexIds.indexOf(way.first()) !== -1);
+ var __last = (vertexIds.indexOf(way.last()) !== -1);
+
+ // what roles is this way eligible for?
+ var __via = (__first && __last);
+ var __from = ((__first && !__oneWay) || __last);
+ var __to = (__first || (__last && !__oneWay));
+
+ return way.update({
+ __first: __first,
+ __last: __last,
+ __from: __from,
+ __via: __via,
+ __to: __to,
+ __oneWay: __oneWay
+ });
+ }
+
+ ways = [];
+ wayIds.forEach(function(id) {
+ var way = withMetadata(vgraph.entity(id), vertexIds);
+ vgraph = vgraph.replace(way);
+ ways.push(way);
+ });
+
+
+ // STEP 7: Simplify - This is an iterative process where we:
+ // 1. Find trivial vertices with only 2 parents
+ // 2. trim off the leaf way from those vertices and remove from vgraph
+
+ var keepGoing;
+ var removeWayIds = [];
+ var removeVertexIds = [];
+
+ do {
+ keepGoing = false;
+ checkVertices = vertexIds.slice();
+
+ for (i = 0; i < checkVertices.length; i++) {
+ var vertexId = checkVertices[i];
+ vertex = vgraph.hasEntity(vertexId);
+
+ if (!vertex) {
+ if (vertexIds.indexOf(vertexId) !== -1) {
+ vertexIds.splice(vertexIds.indexOf(vertexId), 1); // stop checking this one
+ }
+ removeVertexIds.push(vertexId);
+ continue;
+ }
+
+ parents = vgraph.parentWays(vertex);
+ if (parents.length < 3) {
+ if (vertexIds.indexOf(vertexId) !== -1) {
+ vertexIds.splice(vertexIds.indexOf(vertexId), 1); // stop checking this one
+ }
+ }
+
+ if (parents.length === 2) { // vertex with 2 parents is trivial
+ var a = parents[0];
+ var b = parents[1];
+ var aIsLeaf = a && !a.__via;
+ var bIsLeaf = b && !b.__via;
+ var leaf, survivor;
+
+ if (aIsLeaf && !bIsLeaf) {
+ leaf = a;
+ survivor = b;
+ } else if (!aIsLeaf && bIsLeaf) {
+ leaf = b;
+ survivor = a;
+ }
+
+ if (leaf && survivor) {
+ survivor = withMetadata(survivor, vertexIds); // update survivor way
+ vgraph = vgraph.replace(survivor).remove(leaf); // update graph
+ removeWayIds.push(leaf.id);
+ keepGoing = true;
+ }
+ }
+
+ parents = vgraph.parentWays(vertex);
+
+ if (parents.length < 2) { // vertex is no longer a key vertex
+ if (vertexIds.indexOf(vertexId) !== -1) {
+ vertexIds.splice(vertexIds.indexOf(vertexId), 1); // stop checking this one
+ }
+ removeVertexIds.push(vertexId);
+ keepGoing = true;
+ }
+
+ if (parents.length < 1) { // vertex is no longer attached to anything
+ vgraph = vgraph.remove(vertex);
+ }
+
+ }
+ } while (keepGoing);
+
+
+ vertices = vertices
+ .filter(function(vertex) { return removeVertexIds.indexOf(vertex.id) === -1; })
+ .map(function(vertex) { return vgraph.entity(vertex.id); });
+ ways = ways
+ .filter(function(way) { return removeWayIds.indexOf(way.id) === -1; })
+ .map(function(way) { return vgraph.entity(way.id); });
+
+
+ // OK! Here is our intersection..
+ var intersection = {
+ graph: vgraph,
+ actions: actions,
+ vertices: vertices,
+ ways: ways,
+ };
+
+
+
+ // Get all the valid turns through this intersection given a starting way id.
+ // This operates on the virtual graph for everything.
+ //
+ // Basically, walk through all possible paths from starting way,
+ // honoring the existing turn restrictions as we go (watch out for loops!)
+ //
+ // For each path found, generate and return a `osmTurn` datastructure.
+ //
+ intersection.turns = function(fromWayId, maxViaWay) {
+ if (!fromWayId) return [];
+ if (!maxViaWay) maxViaWay = 0;
+
+ var vgraph = intersection.graph;
+ var keyVertexIds = intersection.vertices.map(function(v) { return v.id; });
+
+ var start = vgraph.entity(fromWayId);
+ if (!start || !(start.__from || start.__via)) return [];
+
+ // maxViaWay=0 from-*-to (0 vias)
+ // maxViaWay=1 from-*-via-*-to (1 via max)
+ // maxViaWay=2 from-*-via-*-via-*-to (2 vias max)
+ var maxPathLength = (maxViaWay * 2) + 3;
+ var turns = [];
+
+ step(start);
+ return turns;
+
+
+ // traverse the intersection graph and find all the valid paths
+ function step(entity, currPath, currRestrictions, matchedRestriction) {
+ currPath = clone(currPath || []);
+ if (currPath.length >= maxPathLength) return;
+ currPath.push(entity.id);
+ currRestrictions = clone(currRestrictions || []);
+ var i, j;
+
+ if (entity.type === 'node') {
+ var parents = vgraph.parentWays(entity);
+ var nextWays = [];
+
+ // which ways can we step into?
+ for (i = 0; i < parents.length; i++) {
+ var way = parents[i];
+
+ // if next way is a oneway incoming to this vertex, skip
+ if (way.__oneWay && way.nodes[0] !== entity.id) continue;
+
+ // if we have seen it before (allowing for an initial u-turn), skip
+ if (currPath.indexOf(way.id) !== -1 && currPath.length >= 3) continue;
+
+ // Check all "current" restrictions (where we've already walked the `FROM`)
+ var restrict = undefined;
+ for (j = 0; j < currRestrictions.length; j++) {
+ var restriction = currRestrictions[j];
+ var f = restriction.memberByRole('from');
+ var v = restriction.membersByRole('via');
+ var t = restriction.memberByRole('to');
+ var isOnly = /^only_/.test(restriction.tags.restriction);
+
+ // Does the current path match this turn restriction?
+ var matchesFrom = (f.id === fromWayId);
+ var matchesViaTo = false;
+ var isAlongOnlyPath = false;
+
+ if (t.id === way.id) { // match TO
+
+ if (v.length === 1 && v[0].type === 'node') { // match VIA node
+ matchesViaTo = (v[0].id === entity.id && (
+ (matchesFrom && currPath.length === 2) ||
+ (!matchesFrom && currPath.length > 2)
+ ));
+
+ } else { // match all VIA ways
+ var pathVias = [];
+ for (k = 2; k < currPath.length; k +=2 ) { // k = 2 skips FROM
+ pathVias.push(currPath[k]); // (path goes way-node-way...)
+ }
+ var restrictionVias = [];
+ for (k = 0; k < v.length; k++) {
+ if (v[k].type === 'way') {
+ restrictionVias.push(v[k].id);
+ }
+ }
+ var diff = difference(pathVias, restrictionVias);
+ matchesViaTo = !diff.length;
+ }
+
+ } else if (isOnly) {
+ for (k = 0; k < v.length; k++) {
+ // way doesn't match TO, but is one of the via ways along the path of an "only"
+ if (v[k].type === 'way' && v[k].id === way.id) {
+ isAlongOnlyPath = true;
+ break;
+ }
+ }
+ }
+
+ if (matchesViaTo) {
+ if (isOnly) {
+ restrict = { id: restriction.id, direct: matchesFrom, from: f.id, only: true, end: true };
+ } else {
+ restrict = { id: restriction.id, direct: matchesFrom, from: f.id, no: true, end: true };
+ }
+ } else { // indirect - caused by a different nearby restriction
+ if (isAlongOnlyPath) {
+ restrict = { id: restriction.id, direct: false, from: f.id, only: true, end: false };
+ } else if (isOnly) {
+ restrict = { id: restriction.id, direct: false, from: f.id, no: true, end: true };
+ }
+ }
+
+ // stop looking if we find a "direct" restriction (matching FROM, VIA, TO)
+ if (restrict && restrict.direct)
+ break;
+ }
+
+ nextWays.push({ way: way, restrict: restrict });
+ }
+
+ nextWays.forEach(function(nextWay) {
+ step(nextWay.way, currPath, currRestrictions, nextWay.restrict);
+ });
+
+
+ } else { // entity.type === 'way'
+ if (currPath.length >= 3) { // this is a "complete" path..
+ var turnPath = clone(currPath);
+
+ // an indirect restriction - only include the partial path (starting at FROM)
+ if (matchedRestriction && matchedRestriction.direct === false) {
+ for (i = 0; i < turnPath.length; i++) {
+ if (turnPath[i] === matchedRestriction.from) {
+ turnPath = turnPath.slice(i);
+ break;
+ }
+ }
+ }
+
+ var turn = pathToTurn(turnPath);
+ if (turn) {
+ if (matchedRestriction) {
+ turn.restrictionID = matchedRestriction.id;
+ turn.no = matchedRestriction.no;
+ turn.only = matchedRestriction.only;
+ turn.direct = matchedRestriction.direct;
+ }
+ turns.push(osmTurn(turn));
+ }
+
+ if (currPath[0] === currPath[2]) return; // if we made a u-turn - stop here
+ }
+
+ if (matchedRestriction && matchedRestriction.end) return; // don't advance any further
+
+ // which nodes can we step into?
+ var n1 = vgraph.entity(entity.first());
+ var n2 = vgraph.entity(entity.last());
+ var dist = n1.loc && n2.loc && geoSphericalDistance(n1.loc, n2.loc);
+ var nextNodes = [];
+
+ if (currPath.length > 1) {
+ if (dist > maxDistance) return; // the next node is too far
+ if (!entity.__via) return; // this way is a leaf / can't be a via
+ }
+
+ if (!entity.__oneWay && // bidirectional..
+ keyVertexIds.indexOf(n1.id) !== -1 && // key vertex..
+ currPath.indexOf(n1.id) === -1) { // haven't seen it yet..
+ nextNodes.push(n1); // can advance to first node
+ }
+ if (keyVertexIds.indexOf(n2.id) !== -1 && // key vertex..
+ currPath.indexOf(n2.id) === -1) { // haven't seen it yet..
+ nextNodes.push(n2); // can advance to last node
+ }
+
+ nextNodes.forEach(function(nextNode) {
+ // gather restrictions FROM this way
+ var fromRestrictions = vgraph.parentRelations(entity).filter(function(r) {
+ if (!r.isRestriction()) return false;
+
+ var f = r.memberByRole('from');
+ if (!f || f.id !== entity.id) return false;
+
+ var isOnly = /^only_/.test(r.tags.restriction);
+ if (!isOnly) return true;
+
+ // `only_` restrictions only matter along the direction of the VIA - #4849
+ var isOnlyVia = false;
+ var v = r.membersByRole('via');
+ if (v.length === 1 && v[0].type === 'node') { // via node
+ isOnlyVia = (v[0].id === nextNode.id);
+ } else { // via way(s)
+ for (var i = 0; i < v.length; i++) {
+ if (v[i].type !== 'way') continue;
+ var viaWay = vgraph.entity(v[i].id);
+ if (viaWay.first() === nextNode.id || viaWay.last() === nextNode.id) {
+ isOnlyVia = true;
+ break;
+ }
+ }
+ }
+ return isOnlyVia;
+ });
+
+ step(nextNode, currPath, currRestrictions.concat(fromRestrictions), false);
+ });
+ }
+ }
+
+
+ // assumes path is alternating way-node-way of odd length
+ function pathToTurn(path) {
+ if (path.length < 3) return;
+ var fromWayId, fromNodeId, fromVertexId;
+ var toWayId, toNodeId, toVertexId;
+ var viaWayIds, viaNodeId, isUturn;
+
+ fromWayId = path[0];
+ toWayId = path[path.length - 1];
+
+ if (path.length === 3 && fromWayId === toWayId) { // u turn
+ var way = vgraph.entity(fromWayId);
+ if (way.__oneWay) return null;
+
+ isUturn = true;
+ viaNodeId = fromVertexId = toVertexId = path[1];
+ fromNodeId = toNodeId = adjacentNode(fromWayId, viaNodeId);
+
+ } else {
+ isUturn = false;
+ fromVertexId = path[1];
+ fromNodeId = adjacentNode(fromWayId, fromVertexId);
+ toVertexId = path[path.length - 2];
+ toNodeId = adjacentNode(toWayId, toVertexId);
+
+ if (path.length === 3) {
+ viaNodeId = path[1];
+ } else {
+ viaWayIds = path.filter(function(entityId) { return entityId[0] === 'w'; });
+ viaWayIds = viaWayIds.slice(1, viaWayIds.length - 1); // remove first, last
+ }
+ }
+
+ return {
+ key: path.join('_'),
+ path: path,
+ from: { node: fromNodeId, way: fromWayId, vertex: fromVertexId },
+ via: { node: viaNodeId, ways: viaWayIds },
+ to: { node: toNodeId, way: toWayId, vertex: toVertexId },
+ u: isUturn
+ };
+
+
+ function adjacentNode(wayId, affixId) {
+ var nodes = vgraph.entity(wayId).nodes;
+ return affixId === nodes[0] ? nodes[1] : nodes[nodes.length - 2];
+ }
+ }
+
+ };
+
+ return intersection;
+ }
+
+
+ function osmInferRestriction(graph, turn, projection) {
+ var fromWay = graph.entity(turn.from.way);
+ var fromNode = graph.entity(turn.from.node);
+ var fromVertex = graph.entity(turn.from.vertex);
+ var toWay = graph.entity(turn.to.way);
+ var toNode = graph.entity(turn.to.node);
+ var toVertex = graph.entity(turn.to.vertex);
+
+ var fromOneWay = (fromWay.tags.oneway === 'yes');
+ var toOneWay = (toWay.tags.oneway === 'yes');
+ var angle = (geoAngle(fromVertex, fromNode, projection) -
+ geoAngle(toVertex, toNode, projection)) * 180 / Math.PI;
+
+ while (angle < 0)
+ angle += 360;
+
+ if (fromNode === toNode)
+ return 'no_u_turn';
+ if ((angle < 23 || angle > 336) && fromOneWay && toOneWay)
+ return 'no_u_turn'; // wider tolerance for u-turn if both ways are oneway
+ if ((angle < 40 || angle > 319) && fromOneWay && toOneWay && turn.from.vertex !== turn.to.vertex)
+ return 'no_u_turn'; // even wider tolerance for u-turn if there is a via way (from !== to)
+ if (angle < 158)
+ return 'no_right_turn';
+ if (angle > 202)
+ return 'no_left_turn';
+
+ return 'no_straight_on';
+ }
+
+ function actionAddMember(relationId, member, memberIndex, insertPair) {
+
+ return function action(graph) {
+ var relation = graph.entity(relationId);
+
+ // There are some special rules for Public Transport v2 routes.
+ var isPTv2 = /stop|platform/.test(member.role);
+
+ if ((isNaN(memberIndex) || insertPair) && member.type === 'way' && !isPTv2) {
+ // Try to perform sensible inserts based on how the ways join together
+ graph = addWayMember(relation, graph);
+ } else {
+ // see https://wiki.openstreetmap.org/wiki/Public_transport#Service_routes
+ // Stops and Platforms for PTv2 should be ordered first.
+ // hack: We do not currently have the ability to place them in the exactly correct order.
+ if (isPTv2 && isNaN(memberIndex)) {
+ memberIndex = 0;
+ }
+
+ graph = graph.replace(relation.addMember(member, memberIndex));
+ }
+
+ return graph;
+ };
+
+
+ // Add a way member into the relation "wherever it makes sense".
+ // In this situation we were not supplied a memberIndex.
+ function addWayMember(relation, graph) {
+ var groups, tempWay, item, i, j, k;
+
+ // remove PTv2 stops and platforms before doing anything.
+ var PTv2members = [];
+ var members = [];
+ for (i = 0; i < relation.members.length; i++) {
+ var m = relation.members[i];
+ if (/stop|platform/.test(m.role)) {
+ PTv2members.push(m);
+ } else {
+ members.push(m);
+ }
+ }
+ relation = relation.update({ members: members });
+
+
+ if (insertPair) {
+ // We're adding a member that must stay paired with an existing member.
+ // (This feature is used by `actionSplit`)
+ //
+ // This is tricky because the members may exist multiple times in the
+ // member list, and with different A-B/B-A ordering and different roles.
+ // (e.g. a bus route that loops out and back - #4589).
+ //
+ // Replace the existing member with a temporary way,
+ // so that `osmJoinWays` can treat the pair like a single way.
+ tempWay = osmWay({ id: 'wTemp', nodes: insertPair.nodes });
+ graph = graph.replace(tempWay);
+ var tempMember = { id: tempWay.id, type: 'way', role: member.role };
+ var tempRelation = relation.replaceMember({id: insertPair.originalID}, tempMember, true);
+ groups = groupBy(tempRelation.members, function(m) { return m.type; });
+ groups.way = groups.way || [];
+
+ } else {
+ // Add the member anywhere, one time. Just push and let `osmJoinWays` decide where to put it.
+ groups = groupBy(relation.members, function(m) { return m.type; });
+ groups.way = groups.way || [];
+ groups.way.push(member);
+ }
+
+ members = withIndex(groups.way);
+ var joined = osmJoinWays(members, graph);
+
+ // `joined` might not contain all of the way members,
+ // But will contain only the completed (downloaded) members
+ for (i = 0; i < joined.length; i++) {
+ var segment = joined[i];
+ var nodes = segment.nodes.slice();
+ var startIndex = segment[0].index;
+
+ // j = array index in `members` where this segment starts
+ for (j = 0; j < members.length; j++) {
+ if (members[j].index === startIndex) {
+ break;
+ }
+ }
+
+ // k = each member in segment
+ for (k = 0; k < segment.length; k++) {
+ item = segment[k];
+ var way = graph.entity(item.id);
+
+ // If this is a paired item, generate members in correct order and role
+ if (tempWay && item.id === tempWay.id) {
+ if (nodes[0].id === insertPair.nodes[0]) {
+ item.pair = [
+ { id: insertPair.originalID, type: 'way', role: item.role },
+ { id: insertPair.insertedID, type: 'way', role: item.role }
+ ];
+ } else {
+ item.pair = [
+ { id: insertPair.insertedID, type: 'way', role: item.role },
+ { id: insertPair.originalID, type: 'way', role: item.role }
+ ];
+ }
+ }
+
+ // reorder `members` if necessary
+ if (k > 0) {
+ if (j+k >= members.length || item.index !== members[j+k].index) {
+ moveMember(members, item.index, j+k);
+ }
+ }
+
+ nodes.splice(0, way.nodes.length - 1);
+ }
+ }
+
+ if (tempWay) {
+ graph = graph.remove(tempWay);
+ }
+
+ // Final pass: skip dead items, split pairs, remove index properties
+ var wayMembers = [];
+ for (i = 0; i < members.length; i++) {
+ item = members[i];
+ if (item.index === -1) continue;
+
+ if (item.pair) {
+ wayMembers.push(item.pair[0]);
+ wayMembers.push(item.pair[1]);
+ } else {
+ wayMembers.push(omit(item, 'index'));
+ }
+ }
+
+ // Put stops and platforms first, then nodes, ways, relations
+ // This is recommended for Public Transport v2 routes:
+ // see https://wiki.openstreetmap.org/wiki/Public_transport#Service_routes
+ var newMembers = PTv2members.concat( (groups.node || []), wayMembers, (groups.relation || []) );
+
+ return graph.replace(relation.update({members: newMembers}));
+
+
+ // `moveMember()` changes the `members` array in place by splicing
+ // the item with `.index = findIndex` to where it belongs,
+ // and marking the old position as "dead" with `.index = -1`
+ //
+ // j=5, k=0 jk
+ // segment 5 4 7 6
+ // members 0 1 2 3 4 5 6 7 8 9 keep 5 in j+k
+ //
+ // j=5, k=1 j k
+ // segment 5 4 7 6
+ // members 0 1 2 3 4 5 6 7 8 9 move 4 to j+k
+ // members 0 1 2 3 x 5 4 6 7 8 9 moved
+ //
+ // j=5, k=2 j k
+ // segment 5 4 7 6
+ // members 0 1 2 3 x 5 4 6 7 8 9 move 7 to j+k
+ // members 0 1 2 3 x 5 4 7 6 x 8 9 moved
+ //
+ // j=5, k=3 j k
+ // segment 5 4 7 6
+ // members 0 1 2 3 x 5 4 7 6 x 8 9 keep 6 in j+k
+ //
+ function moveMember(arr, findIndex, toIndex) {
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i].index === findIndex) {
+ break;
+ }
+ }
+
+ var item = clone(arr[i]);
+ arr[i].index = -1; // mark as dead
+ item.index = toIndex;
+ arr.splice(toIndex, 0, item);
+ }
+
+
+ // This is the same as `Relation.indexedMembers`,
+ // Except we don't want to index all the members, only the ways
+ function withIndex(arr) {
+ var result = new Array(arr.length);
+ for (var i = 0; i < arr.length; i++) {
+ result[i] = arr[i];
+ result[i].index = i;
+ }
+ return result;
+ }
+ }
+
+ }
+
+ function actionAddMidpoint(midpoint, node) {
+ return function(graph) {
+ graph = graph.replace(node.move(midpoint.loc));
+
+ var parents = intersection(
+ graph.parentWays(graph.entity(midpoint.edge[0])),
+ graph.parentWays(graph.entity(midpoint.edge[1])));
+
+ parents.forEach(function(way) {
+ for (var i = 0; i < way.nodes.length - 1; i++) {
+ if (geoEdgeEqual([way.nodes[i], way.nodes[i + 1]], midpoint.edge)) {
+ graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
+
+ // Add only one midpoint on doubled-back segments,
+ // turning them into self-intersections.
+ return;
+ }
+ }
+ });
+
+ return graph;
+ };
+ }
+
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
+ function actionAddVertex(wayId, nodeId, index) {
+ return function(graph) {
+ return graph.replace(graph.entity(wayId).addNode(nodeId, index));
+ };
+ }
+
+ function actionChangeMember(relationId, member, memberIndex) {
+ return function(graph) {
+ return graph.replace(graph.entity(relationId).updateMember(member, memberIndex));
+ };
+ }
+
+ function actionChangePreset(entityId, oldPreset, newPreset) {
+ return function(graph) {
+ var entity = graph.entity(entityId),
+ geometry = entity.geometry(graph),
+ tags = entity.tags;
+
+ if (oldPreset) tags = oldPreset.removeTags(tags, geometry);
+ if (newPreset) tags = newPreset.applyTags(tags, geometry);
+
+ return graph.replace(entity.update({tags: tags}));
+ };
+ }
+
+ function actionChangeTags(entityId, tags) {
+ return function(graph) {
+ var entity = graph.entity(entityId);
+ return graph.replace(entity.update({tags: tags}));
+ };
+ }
+
+ function actionCircularize(wayId, projection, maxAngle) {
+ maxAngle = (maxAngle || 20) * Math.PI / 180;
+
+
+ var action = function(graph, t) {
+ if (t === null || !isFinite(t)) t = 1;
+ t = Math.min(Math.max(+t, 0), 1);
+
+ var way = graph.entity(wayId),
+ origNodes = {};
+
+ graph.childNodes(way).forEach(function(node) {
+ if (!origNodes[node.id]) origNodes[node.id] = node;
+ });
+
+ if (!way.isConvex(graph)) {
+ graph = action.makeConvex(graph);
+ }
+
+ var nodes = uniq(graph.childNodes(way)),
+ keyNodes = nodes.filter(function(n) { return graph.parentWays(n).length !== 1; }),
+ points = nodes.map(function(n) { return projection(n.loc); }),
+ keyPoints = keyNodes.map(function(n) { return projection(n.loc); }),
+ centroid = (points.length === 2) ? geoVecInterp(points[0], points[1], 0.5) : d3_polygonCentroid(points),
+ radius = d3_median(points, function(p) { return geoVecLength(centroid, p); }),
+ sign = d3_polygonArea(points) > 0 ? 1 : -1,
+ ids;
+
+ // we need atleast two key nodes for the algorithm to work
+ if (!keyNodes.length) {
+ keyNodes = [nodes[0]];
+ keyPoints = [points[0]];
+ }
+
+ if (keyNodes.length === 1) {
+ var index = nodes.indexOf(keyNodes[0]),
+ oppositeIndex = Math.floor((index + nodes.length / 2) % nodes.length);
+
+ keyNodes.push(nodes[oppositeIndex]);
+ keyPoints.push(points[oppositeIndex]);
+ }
+
+ // key points and nodes are those connected to the ways,
+ // they are projected onto the circle, inbetween nodes are moved
+ // to constant intervals between key nodes, extra inbetween nodes are
+ // added if necessary.
+ for (var i = 0; i < keyPoints.length; i++) {
+ var nextKeyNodeIndex = (i + 1) % keyNodes.length,
+ startNode = keyNodes[i],
+ endNode = keyNodes[nextKeyNodeIndex],
+ startNodeIndex = nodes.indexOf(startNode),
+ endNodeIndex = nodes.indexOf(endNode),
+ numberNewPoints = -1,
+ indexRange = endNodeIndex - startNodeIndex,
+ nearNodes = {},
+ inBetweenNodes = [],
+ startAngle, endAngle, totalAngle, eachAngle,
+ angle, loc, node, origNode, j;
+
+ if (indexRange < 0) {
+ indexRange += nodes.length;
+ }
+
+ // position this key node
+ var distance = geoVecLength(centroid, keyPoints[i]);
+ if (distance === 0) { distance = 1e-4; }
+ keyPoints[i] = [
+ centroid[0] + (keyPoints[i][0] - centroid[0]) / distance * radius,
+ centroid[1] + (keyPoints[i][1] - centroid[1]) / distance * radius
+ ];
+ loc = projection.invert(keyPoints[i]);
+ node = keyNodes[i];
+ origNode = origNodes[node.id];
+ node = node.move(geoVecInterp(origNode.loc, loc, t));
+ graph = graph.replace(node);
+
+ // figure out the between delta angle we want to match to
+ startAngle = Math.atan2(keyPoints[i][1] - centroid[1], keyPoints[i][0] - centroid[0]);
+ endAngle = Math.atan2(keyPoints[nextKeyNodeIndex][1] - centroid[1], keyPoints[nextKeyNodeIndex][0] - centroid[0]);
+ totalAngle = endAngle - startAngle;
+
+ // detects looping around -pi/pi
+ if (totalAngle * sign > 0) {
+ totalAngle = -sign * (2 * Math.PI - Math.abs(totalAngle));
+ }
+
+ do {
+ numberNewPoints++;
+ eachAngle = totalAngle / (indexRange + numberNewPoints);
+ } while (Math.abs(eachAngle) > maxAngle);
+
+
+ // move existing nodes
+ for (j = 1; j < indexRange; j++) {
+ angle = startAngle + j * eachAngle;
+ loc = projection.invert([
+ centroid[0] + Math.cos(angle) * radius,
+ centroid[1] + Math.sin(angle) * radius
+ ]);
+
+ node = nodes[(j + startNodeIndex) % nodes.length];
+ origNode = origNodes[node.id];
+ nearNodes[node.id] = angle;
+
+ node = node.move(geoVecInterp(origNode.loc, loc, t));
+ graph = graph.replace(node);
+ }
+
+ // add new inbetween nodes if necessary
+ for (j = 0; j < numberNewPoints; j++) {
+ angle = startAngle + (indexRange + j) * eachAngle;
+ loc = projection.invert([
+ centroid[0] + Math.cos(angle) * radius,
+ centroid[1] + Math.sin(angle) * radius
+ ]);
+
+ // choose a nearnode to use as the original
+ var min$$1 = Infinity;
+ for (var nodeId in nearNodes) {
+ var nearAngle = nearNodes[nodeId],
+ dist = Math.abs(nearAngle - angle);
+ if (dist < min$$1) {
+ dist = min$$1;
+ origNode = origNodes[nodeId];
+ }
+ }
+
+ node = osmNode({ loc: geoVecInterp(origNode.loc, loc, t) });
+ graph = graph.replace(node);
+
+ nodes.splice(endNodeIndex + j, 0, node);
+ inBetweenNodes.push(node.id);
+ }
+
+ // Check for other ways that share these keyNodes..
+ // If keyNodes are adjacent in both ways,
+ // we can add inBetween nodes to that shared way too..
+ if (indexRange === 1 && inBetweenNodes.length) {
+ var startIndex1 = way.nodes.lastIndexOf(startNode.id),
+ endIndex1 = way.nodes.lastIndexOf(endNode.id),
+ wayDirection1 = (endIndex1 - startIndex1);
+ if (wayDirection1 < -1) { wayDirection1 = 1; }
+
+ /* eslint-disable no-loop-func */
+ forEach(without(graph.parentWays(keyNodes[i]), way), function(sharedWay) {
+ if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
+ var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id),
+ endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id),
+ wayDirection2 = (endIndex2 - startIndex2),
+ insertAt = endIndex2;
+ if (wayDirection2 < -1) { wayDirection2 = 1; }
+
+ if (wayDirection1 !== wayDirection2) {
+ inBetweenNodes.reverse();
+ insertAt = startIndex2;
+ }
+ for (j = 0; j < inBetweenNodes.length; j++) {
+ sharedWay = sharedWay.addNode(inBetweenNodes[j], insertAt + j);
+ }
+ graph = graph.replace(sharedWay);
+ }
+ });
+ /* eslint-enable no-loop-func */
+ }
+
+ }
+
+ // update the way to have all the new nodes
+ ids = nodes.map(function(n) { return n.id; });
+ ids.push(ids[0]);
+
+ way = way.update({nodes: ids});
+ graph = graph.replace(way);
+
+ return graph;
+ };
+
+
+ action.makeConvex = function(graph) {
+ var way = graph.entity(wayId),
+ nodes = uniq(graph.childNodes(way)),
+ points = nodes.map(function(n) { return projection(n.loc); }),
+ sign = d3_polygonArea(points) > 0 ? 1 : -1,
+ hull = d3_polygonHull(points);
+
+ // D3 convex hulls go counterclockwise..
+ if (sign === -1) {
+ nodes.reverse();
+ points.reverse();
+ }
+
+ for (var i = 0; i < hull.length - 1; i++) {
+ var startIndex = points.indexOf(hull[i]),
+ endIndex = points.indexOf(hull[i+1]),
+ indexRange = (endIndex - startIndex);
+
+ if (indexRange < 0) {
+ indexRange += nodes.length;
+ }
+
+ // move interior nodes to the surface of the convex hull..
+ for (var j = 1; j < indexRange; j++) {
+ var point = geoVecInterp(hull[i], hull[i+1], j / indexRange),
+ node = nodes[(j + startIndex) % nodes.length].move(projection.invert(point));
+ graph = graph.replace(node);
+ }
+ }
+ return graph;
+ };
+
+
+ action.disabled = function(graph) {
+ if (!graph.entity(wayId).isClosed())
+ return 'not_closed';
+ };
+
+
+ action.transitionable = true;
+
+
+ return action;
+ }
+
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
+ function actionDeleteWay(wayId) {
+
+
+ function canDeleteNode(node, graph) {
+ return !graph.parentWays(node).length &&
+ !graph.parentRelations(node).length &&
+ !node.hasInterestingTags();
+ }
+
+
+ var action = function(graph) {
+ var way = graph.entity(wayId);
+
+ graph.parentRelations(way)
+ .forEach(function(parent) {
+ parent = parent.removeMembersWithID(wayId);
+ graph = graph.replace(parent);
+
+ if (parent.isDegenerate()) {
+ graph = actionDeleteRelation(parent.id)(graph);
+ }
+ });
+
+ uniq(way.nodes).forEach(function(nodeId) {
+ graph = graph.replace(way.removeNode(nodeId));
+
+ var node = graph.entity(nodeId);
+ if (canDeleteNode(node, graph)) {
+ graph = graph.remove(node);
+ }
+ });
+
+ return graph.remove(way);
+ };
+
+
+ return action;
+ }
+
+ function actionDeleteMultiple(ids) {
+ var actions = {
+ way: actionDeleteWay,
+ node: actionDeleteNode,
+ relation: actionDeleteRelation
+ };
+
+
+ var action = function(graph) {
+ ids.forEach(function(id) {
+ if (graph.hasEntity(id)) { // It may have been deleted aready.
+ graph = actions[graph.entity(id).type](id)(graph);
+ }
+ });
+
+ return graph;
+ };
+
+
+ return action;
+ }
+
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
+ function actionDeleteRelation(relationId) {
+
+
+ function canDeleteEntity(entity, graph) {
+ return !graph.parentWays(entity).length &&
+ !graph.parentRelations(entity).length &&
+ !entity.hasInterestingTags();
+ }
+
+
+ var action = function(graph) {
+ var relation = graph.entity(relationId);
+
+ graph.parentRelations(relation)
+ .forEach(function(parent) {
+ parent = parent.removeMembersWithID(relationId);
+ graph = graph.replace(parent);
+
+ if (parent.isDegenerate()) {
+ graph = actionDeleteRelation(parent.id)(graph);
+ }
+ });
+
+ uniq(map$3(relation.members, 'id')).forEach(function(memberId) {
+ graph = graph.replace(relation.removeMembersWithID(memberId));
+
+ var entity = graph.entity(memberId);
+ if (canDeleteEntity(entity, graph)) {
+ graph = actionDeleteMultiple([memberId])(graph);
+ }
+ });
+
+ return graph.remove(relation);
+ };
+
+
+ return action;
+ }
+
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
+ function actionDeleteNode(nodeId) {
+ var action = function(graph) {
+ var node = graph.entity(nodeId);
+
+ graph.parentWays(node)
+ .forEach(function(parent) {
+ parent = parent.removeNode(nodeId);
+ graph = graph.replace(parent);
+
+ if (parent.isDegenerate()) {
+ graph = actionDeleteWay(parent.id)(graph);
+ }
+ });
+
+ graph.parentRelations(node)
+ .forEach(function(parent) {
+ parent = parent.removeMembersWithID(nodeId);
+ graph = graph.replace(parent);
+
+ if (parent.isDegenerate()) {
+ graph = actionDeleteRelation(parent.id)(graph);
+ }
+ });
+
+ return graph.remove(node);
+ };
+
+
+ return action;
+ }
+
+ // Connect the ways at the given nodes.
+ //
+ // First choose a node to be the survivor, with preference given
+ // to an existing (not new) node.
+ //
+ // Tags and relation memberships of of non-surviving nodes are merged
+ // to the survivor.
+ //
+ // This is the inverse of `iD.actionDisconnect`.
+ //
+ // Reference:
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
+ // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
+ //
+ function actionConnect(nodeIDs) {
+ var action = function(graph) {
+ var survivor;
+ var node;
+ var parents;
+ var i, j;
+
+ // Choose a survivor node, prefer an existing (not new) node - #4974
+ for (i = 0; i < nodeIDs.length; i++) {
+ survivor = graph.entity(nodeIDs[i]);
+ if (survivor.version) break; // found one
+ }
+
+ // Replace all non-surviving nodes with the survivor and merge tags.
+ for (i = 0; i < nodeIDs.length; i++) {
+ node = graph.entity(nodeIDs[i]);
+ if (node.id === survivor.id) continue;
+
+ parents = graph.parentWays(node);
+ for (j = 0; j < parents.length; j++) {
+ if (!parents[j].areAdjacent(node.id, survivor.id)) {
+ graph = graph.replace(parents[j].replaceNode(node.id, survivor.id));
+ }
+ }
+
+ parents = graph.parentRelations(node);
+ for (j = 0; j < parents.length; j++) {
+ graph = graph.replace(parents[j].replaceMember(node, survivor));
+ }
+
+ survivor = survivor.mergeTags(node.tags);
+ graph = actionDeleteNode(node.id)(graph);
+ }
+
+ graph = graph.replace(survivor);
+
+ return graph;
+ };
+
+
+ action.disabled = function(graph) {
+ var seen = {};
+ var restrictionIDs = [];
+ var survivor;
+ var node, way;
+ var relations, relation, role;
+ var i, j, k;
+
+ // Choose a survivor node, prefer an existing (not new) node - #4974
+ for (i = 0; i < nodeIDs.length; i++) {
+ survivor = graph.entity(nodeIDs[i]);
+ if (survivor.version) break; // found one
+ }
+
+ // 1. disable if the nodes being connected have conflicting relation roles
+ for (i = 0; i < nodeIDs.length; i++) {
+ node = graph.entity(nodeIDs[i]);
+ relations = graph.parentRelations(node);
+
+ for (j = 0; j < relations.length; j++) {
+ relation = relations[j];
+ role = relation.memberById(node.id).role || '';
+
+ // if this node is a via node in a restriction, remember for later
+ if (relation.isValidRestriction()) {
+ restrictionIDs.push(relation.id);
+ }
+
+ if (seen[relation.id] !== undefined && seen[relation.id] !== role) {
+ return 'relation';
+ } else {
+ seen[relation.id] = role;
+ }
+ }
+ }
+
+ // gather restrictions for parent ways
+ for (i = 0; i < nodeIDs.length; i++) {
+ node = graph.entity(nodeIDs[i]);
+
+ var parents = graph.parentWays(node);
+ for (j = 0; j < parents.length; j++) {
+ var parent = parents[j];
+ relations = graph.parentRelations(parent);
+
+ for (k = 0; k < relations.length; k++) {
+ relation = relations[k];
+ if (relation.isValidRestriction()) {
+ restrictionIDs.push(relation.id);
+ }
+ }
+ }
+ }
+
+
+ // test restrictions
+ restrictionIDs = uniq(restrictionIDs);
+ for (i = 0; i < restrictionIDs.length; i++) {
+ relation = graph.entity(restrictionIDs[i]);
+ if (!relation.isComplete(graph)) continue;
+
+ var memberWays = relation.members
+ .filter(function(m) { return m.type === 'way'; })
+ .map(function(m) { return graph.entity(m.id); });
+
+ memberWays = uniq(memberWays);
+ var f = relation.memberByRole('from');
+ var t = relation.memberByRole('to');
+ var isUturn = (f.id === t.id);
+
+ // 2a. disable if connection would damage a restriction
+ // (a key node is a node at the junction of ways)
+ var nodes = { from: [], via: [], to: [], keyfrom: [], keyto: [] };
+ for (j = 0; j < relation.members.length; j++) {
+ collectNodes(relation.members[j], nodes);
+ }
+
+ nodes.keyfrom = uniq(nodes.keyfrom.filter(hasDuplicates));
+ nodes.keyto = uniq(nodes.keyto.filter(hasDuplicates));
+
+ var filter = keyNodeFilter(nodes.keyfrom, nodes.keyto);
+ nodes.from = nodes.from.filter(filter);
+ nodes.via = nodes.via.filter(filter);
+ nodes.to = nodes.to.filter(filter);
+
+ var connectFrom = false;
+ var connectVia = false;
+ var connectTo = false;
+ var connectKeyFrom = false;
+ var connectKeyTo = false;
+
+ for (j = 0; j < nodeIDs.length; j++) {
+ var n = nodeIDs[j];
+ if (nodes.from.indexOf(n) !== -1) { connectFrom = true; }
+ if (nodes.via.indexOf(n) !== -1) { connectVia = true; }
+ if (nodes.to.indexOf(n) !== -1) { connectTo = true; }
+ if (nodes.keyfrom.indexOf(n) !== -1) { connectKeyFrom = true; }
+ if (nodes.keyto.indexOf(n) !== -1) { connectKeyTo = true; }
+ }
+ if (connectFrom && connectTo && !isUturn) { return 'restriction'; }
+ if (connectFrom && connectVia) { return 'restriction'; }
+ if (connectTo && connectVia) { return 'restriction'; }
+
+ // connecting to a key node -
+ // if both nodes are on a member way (i.e. part of the turn restriction),
+ // the connecting node must be adjacent to the key node.
+ if (connectKeyFrom || connectKeyTo) {
+ if (nodeIDs.length !== 2) { return 'restriction'; }
+
+ var n0 = null;
+ var n1 = null;
+ for (j = 0; j < memberWays.length; j++) {
+ way = memberWays[j];
+ if (way.contains(nodeIDs[0])) { n0 = nodeIDs[0]; }
+ if (way.contains(nodeIDs[1])) { n1 = nodeIDs[1]; }
+ }
+
+ if (n0 && n1) { // both nodes are part of the restriction
+ var ok = false;
+ for (j = 0; j < memberWays.length; j++) {
+ way = memberWays[j];
+ if (way.areAdjacent(n0, n1)) {
+ ok = true;
+ break;
+ }
+ }
+ if (!ok) {
+ return 'restriction';
+ }
+ }
+ }
+
+ // 2b. disable if nodes being connected will destroy a member way in a restriction
+ // (to test, make a copy and try actually connecting the nodes)
+ for (j = 0; j < memberWays.length; j++) {
+ way = memberWays[j].update({}); // make copy
+ for (k = 0; k < nodeIDs.length; k++) {
+ if (nodeIDs[k] === survivor.id) continue;
+
+ if (way.areAdjacent(nodeIDs[k], survivor.id)) {
+ way = way.removeNode(nodeIDs[k]);
+ } else {
+ way = way.replaceNode(nodeIDs[k], survivor.id);
+ }
+ }
+ if (way.isDegenerate()) {
+ return 'restriction';
+ }
+ }
+ }
+
+ return false;
+
+
+ // if a key node appears multiple times (indexOf !== lastIndexOf) it's a FROM-VIA or TO-VIA junction
+ function hasDuplicates(n, i, arr) {
+ return arr.indexOf(n) !== arr.lastIndexOf(n);
+ }
+
+ function keyNodeFilter(froms, tos) {
+ return function(n) {
+ return froms.indexOf(n) === -1 && tos.indexOf(n) === -1;
+ };
+ }
+
+ function collectNodes(member, collection) {
+ var entity = graph.hasEntity(member.id);
+ if (!entity) return;
+
+ var role = member.role || '';
+ if (!collection[role]) {
+ collection[role] = [];
+ }
+
+ if (member.type === 'node') {
+ collection[role].push(member.id);
+ if (role === 'via') {
+ collection.keyfrom.push(member.id);
+ collection.keyto.push(member.id);
+ }
+
+ } else if (member.type === 'way') {
+ collection[role].push.apply(collection[role], entity.nodes);
+ if (role === 'from' || role === 'via') {
+ collection.keyfrom.push(entity.first());
+ collection.keyfrom.push(entity.last());
+ }
+ if (role === 'to' || role === 'via') {
+ collection.keyto.push(entity.first());
+ collection.keyto.push(entity.last());
+ }
+ }
+ }
+ };
+
+
+ return action;
+ }
+
+ function actionCopyEntities(ids, fromGraph) {
+ var copies = {};
+
+
+ var action = function(graph) {
+ ids.forEach(function(id) {
+ fromGraph.entity(id).copy(fromGraph, copies);
+ });
+
+ for (var id in copies) {
+ graph = graph.replace(copies[id]);
+ }
+
+ return graph;
+ };
+
+
+ action.copies = function() {
+ return copies;
+ };
+
+
+ return action;
+ }
+
+ function actionDeleteMember(relationId, memberIndex) {
+ return function(graph) {
+ var relation = graph.entity(relationId)
+ .removeMember(memberIndex);
+
+ graph = graph.replace(relation);
+
+ if (relation.isDegenerate())
+ graph = actionDeleteRelation(relation.id)(graph);
+
+ return graph;
+ };
+ }
+
+ function actionDeprecateTags(entityId) {
+
+ return function(graph) {
+ var entity = graph.entity(entityId),
+ newtags = clone(entity.tags),
+ change = false,
+ rule;
+
+ // This handles dataDeprecated tags with a single condition
+ for (var i = 0; i < dataDeprecated.length; i++) {
+
+ rule = dataDeprecated[i];
+ var match = toPairs(rule.old)[0],
+ replacements = rule.replace ? toPairs(rule.replace) : null;
+
+ if (entity.tags[match[0]] && match[1] === '*') {
+
+ var value = entity.tags[match[0]];
+ if (replacements && !newtags[replacements[0][0]]) {
+ newtags[replacements[0][0]] = value;
+ }
+ delete newtags[match[0]];
+ change = true;
+
+ } else if (entity.tags[match[0]] === match[1]) {
+ newtags = assign({}, rule.replace || {}, omit(newtags, match[0]));
+ change = true;
+ }
+ }
+
+ if (change) {
+ return graph.replace(entity.update({tags: newtags}));
+ } else {
+ return graph;
+ }
+ };
+ }
+
+ function actionDiscardTags(difference) {
+
+ return function(graph) {
+ function discardTags(entity) {
+ var tags = {};
+ var keys = Object.keys(entity.tags);
+ var discarded = false;
+
+ for (var i = 0; i < keys.length; i++) {
+ var k = keys[i];
+ if (dataDiscarded[k] || !entity.tags[k]) {
+ discarded = true;
+ } else {
+ tags[k] = entity.tags[k];
+ }
+ }
+
+ if (discarded) {
+ graph = graph.replace(entity.update({ tags: tags }));
+ }
+ }
+
+ difference.modified().forEach(discardTags);
+ difference.created().forEach(discardTags);
+
+ return graph;
+ };
+ }
+
+ // Disconect the ways at the given node.
+ //
+ // Optionally, disconnect only the given ways.
+ //
+ // For testing convenience, accepts an ID to assign to the (first) new node.
+ // Normally, this will be undefined and the way will automatically
+ // be assigned a new ID.
+ //
+ // This is the inverse of `iD.actionConnect`.
+ //
+ // Reference:
+ // https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
+ // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
+ //
+ function actionDisconnect(nodeId, newNodeId) {
+ var wayIds;
+
+
+ var action = function(graph) {
+ var node = graph.entity(nodeId);
+ var connections = action.connections(graph);
+
+ connections.forEach(function(connection) {
+ var way = graph.entity(connection.wayID);
+ var newNode = osmNode({id: newNodeId, loc: node.loc, tags: node.tags});
+
+ graph = graph.replace(newNode);
+ if (connection.index === 0 && way.isArea()) {
+ // replace shared node with shared node..
+ graph = graph.replace(way.replaceNode(way.nodes[0], newNode.id));
+ } else if (way.isClosed() && connection.index === way.nodes.length - 1) {
+ // replace closing node with new new node..
+ graph = graph.replace(way.unclose().addNode(newNode.id));
+ } else {
+ // replace shared node with multiple new nodes..
+ graph = graph.replace(way.updateNode(newNode.id, connection.index));
+ }
+ });
+
+ return graph;
+ };
+
+
+ action.connections = function(graph) {
+ var candidates = [];
+ var keeping = false;
+ var parentWays = graph.parentWays(graph.entity(nodeId));
+
+ parentWays.forEach(function(way) {
+ if (wayIds && wayIds.indexOf(way.id) === -1) {
+ keeping = true;
+ return;
+ }
+ if (way.isArea() && (way.nodes[0] === nodeId)) {
+ candidates.push({ wayID: way.id, index: 0 });
+ } else {
+ way.nodes.forEach(function(waynode, index) {
+ if (waynode === nodeId) {
+ candidates.push({ wayID: way.id, index: index });
+ }
+ });
+ }
+ });
+
+ return keeping ? candidates : candidates.slice(1);
+ };
+
+
+ action.disabled = function(graph) {
+ var connections = action.connections(graph);
+ if (connections.length === 0 || (wayIds && wayIds.length !== connections.length))
+ return 'not_connected';
+
+ var parentWays = graph.parentWays(graph.entity(nodeId));
+ var seenRelationIds = {};
+ var sharedRelation;
+
+ parentWays.forEach(function(way) {
+ if (wayIds && wayIds.indexOf(way.id) === -1)
+ return;
+
+ var relations = graph.parentRelations(way);
+ relations.forEach(function(relation) {
+ if (relation.id in seenRelationIds) {
+ sharedRelation = relation;
+ } else {
+ seenRelationIds[relation.id] = true;
+ }
+ });
+ });
+
+ if (sharedRelation)
+ return 'relation';
+ };
+
+
+ action.limitWays = function(_) {
+ if (!arguments.length) return wayIds;
+ wayIds = _;
+ return action;
+ };
+
+
+ return action;
+ }
+
+ // Join ways at the end node they share.
+ //
+ // This is the inverse of `iD.actionSplit`.
+ //
+ // Reference:
+ // https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
+ // https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
+ //
+ function actionJoin(ids) {
+
+ function groupEntitiesByGeometry(graph) {
+ var entities = ids.map(function(id) { return graph.entity(id); });
+ return assignIn({line: []}, groupBy(entities, function(entity) { return entity.geometry(graph); }));
+ }
+
+
+ var action = function(graph) {
+ var ways = ids.map(graph.entity, graph);
+ var survivorID = ways[0].id;
+
+ // Prefer to keep an existing way.
+ for (var i = 0; i < ways.length; i++) {
+ if (!ways[i].isNew()) {
+ survivorID = ways[i].id;
+ break;
+ }
+ }
+
+ var sequences = osmJoinWays(ways, graph);
+ var joined = sequences[0];
+
+ // We might need to reverse some of these ways before joining them. #4688
+ // `joined.actions` property will contain any actions we need to apply.
+ graph = sequences.actions.reduce(function(g, action) { return action(g); }, graph);
+
+ var survivor = graph.entity(survivorID);
+ survivor = survivor.update({ nodes: joined.nodes.map(function(n) { return n.id; }) });
+ graph = graph.replace(survivor);
+
+ joined.forEach(function(way) {
+ if (way.id === survivorID) return;
+
+ graph.parentRelations(way).forEach(function(parent) {
+ graph = graph.replace(parent.replaceMember(way, survivor));
+ });
+
+ survivor = survivor.mergeTags(way.tags);
+
+ graph = graph.replace(survivor);
+ graph = actionDeleteWay(way.id)(graph);
+ });
+
+ return graph;
+ };
+
+
+ action.disabled = function(graph) {
+ var geometries = groupEntitiesByGeometry(graph);
+ if (ids.length < 2 || ids.length !== geometries.line.length)
+ return 'not_eligible';
+
+ var joined = osmJoinWays(ids.map(graph.entity, graph), graph);
+ if (joined.length > 1)
+ return 'not_adjacent';
+
+ var nodeIds = joined[0].nodes.map(function(n) { return n.id; }).slice(1, -1);
+ var relation;
+ var tags = {};
+ var conflicting = false;
+
+ joined[0].forEach(function(way) {
+ var parents = graph.parentRelations(way);
+ parents.forEach(function(parent) {
+ if (parent.isRestriction() && parent.members.some(function(m) { return nodeIds.indexOf(m.id) >= 0; }))
+ relation = parent;
+ });
+
+ for (var k in way.tags) {
+ if (!(k in tags)) {
+ tags[k] = way.tags[k];
+ } else if (tags[k] && osmIsInterestingTag(k) && tags[k] !== way.tags[k]) {
+ conflicting = true;
+ }
+ }
+ });
+
+ if (relation)
+ return 'restriction';
+
+ if (conflicting)
+ return 'conflicting_tags';
+ };
+
+
+ return action;
+ }
+
+ function actionMerge(ids) {
+
+ function groupEntitiesByGeometry(graph) {
+ var entities = ids.map(function(id) { return graph.entity(id); });
+ return assignIn({point: [], area: [], line: [], relation: []},
+ groupBy(entities, function(entity) { return entity.geometry(graph); }));
+ }
+
+
+ var action = function(graph) {
+ var geometries = groupEntitiesByGeometry(graph),
+ target = geometries.area[0] || geometries.line[0],
+ points = geometries.point;
+
+ points.forEach(function(point) {
+ target = target.mergeTags(point.tags);
+ graph = graph.replace(target);
+
+ graph.parentRelations(point).forEach(function(parent) {
+ graph = graph.replace(parent.replaceMember(point, target));
+ });
+
+ var nodes = uniq(graph.childNodes(target)),
+ removeNode = point;
+
+ for (var i = 0; i < nodes.length; i++) {
+ var node = nodes[i];
+ if (graph.parentWays(node).length > 1 ||
+ graph.parentRelations(node).length ||
+ node.hasInterestingTags()) {
+ continue;
+ }
+
+ // Found an uninteresting child node on the target way.
+ // Move orig point into its place to preserve point's history. #3683
+ graph = graph.replace(point.update({ tags: {}, loc: node.loc }));
+ target = target.replaceNode(node.id, point.id);
+ graph = graph.replace(target);
+ removeNode = node;
+ break;
+ }
+
+ graph = graph.remove(removeNode);
+ });
+
+ return graph;
+ };
+
+
+ action.disabled = function(graph) {
+ var geometries = groupEntitiesByGeometry(graph);
+ if (geometries.point.length === 0 ||
+ (geometries.area.length + geometries.line.length) !== 1 ||
+ geometries.relation.length !== 0)
+ return 'not_eligible';
+ };
+
+
+ return action;
+ }
+
+ function actionMergePolygon(ids, newRelationId) {
+
+ function groupEntities(graph) {
+ var entities = ids.map(function (id) { return graph.entity(id); });
+ return assignIn({
+ closedWay: [],
+ multipolygon: [],
+ other: []
+ }, groupBy(entities, function(entity) {
+ if (entity.type === 'way' && entity.isClosed()) {
+ return 'closedWay';
+ } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+ return 'multipolygon';
+ } else {
+ return 'other';
+ }
+ }));
+ }
+
+
+ var action = function(graph) {
+ var entities = groupEntities(graph);
+
+ // An array representing all the polygons that are part of the multipolygon.
+ //
+ // Each element is itself an array of objects with an id property, and has a
+ // locs property which is an array of the locations forming the polygon.
+ var polygons = entities.multipolygon.reduce(function(polygons, m) {
+ return polygons.concat(osmJoinWays(m.members, graph));
+ }, []).concat(entities.closedWay.map(function(d) {
+ var member = [{id: d.id}];
+ member.nodes = graph.childNodes(d);
+ return member;
+ }));
+
+ // contained is an array of arrays of boolean values,
+ // where contained[j][k] is true iff the jth way is
+ // contained by the kth way.
+ var contained = polygons.map(function(w, i) {
+ return polygons.map(function(d, n) {
+ if (i === n) return null;
+ return geoPolygonContainsPolygon(
+ map$3(d.nodes, 'loc'),
+ map$3(w.nodes, 'loc'));
+ });
+ });
+
+ // Sort all polygons as either outer or inner ways
+ var members = [],
+ outer = true;
+
+ while (polygons.length) {
+ extractUncontained(polygons);
+ polygons = polygons.filter(isContained);
+ contained = contained.filter(isContained).map(filterContained);
+ }
+
+ function isContained(d, i) {
+ return some(contained[i]);
+ }
+
+ function filterContained(d) {
+ return d.filter(isContained);
+ }
+
+ function extractUncontained(polygons) {
+ polygons.forEach(function(d, i) {
+ if (!isContained(d, i)) {
+ d.forEach(function(member) {
+ members.push({
+ type: 'way',
+ id: member.id,
+ role: outer ? 'outer' : 'inner'
+ });
+ });
+ }
+ });
+ outer = !outer;
+ }
+
+ // Move all tags to one relation
+ var relation = entities.multipolygon[0] ||
+ osmRelation({ id: newRelationId, tags: { type: 'multipolygon' }});
+
+ entities.multipolygon.slice(1).forEach(function(m) {
+ relation = relation.mergeTags(m.tags);
+ graph = graph.remove(m);
+ });
+
+ entities.closedWay.forEach(function(way) {
+ function isThisOuter(m) {
+ return m.id === way.id && m.role !== 'inner';
+ }
+ if (members.some(isThisOuter)) {
+ relation = relation.mergeTags(way.tags);
+ graph = graph.replace(way.update({ tags: {} }));
+ }
+ });
+
+ return graph.replace(relation.update({
+ members: members,
+ tags: omit(relation.tags, 'area')
+ }));
+ };
+
+
+ action.disabled = function(graph) {
+ var entities = groupEntities(graph);
+ if (entities.other.length > 0 ||
+ entities.closedWay.length + entities.multipolygon.length < 2)
+ return 'not_eligible';
+ if (!entities.multipolygon.every(function(r) { return r.isComplete(graph); }))
+ return 'incomplete_relation';
+ };
+
+
+ return action;
+ }
+
+ // Text diff algorithm following Hunt and McIlroy 1976.
+ // J. W. Hunt and M. D. McIlroy, An algorithm for differential file
+ // comparison, Bell Telephone Laboratories CSTR #41 (1976)
+ // http://www.cs.dartmouth.edu/~doug/
+ //
+ // Expects two arrays of strings.
+ function LCS(file1, file2) {
+ var equivalenceClasses;
+ var file2indices;
+ var newCandidate;
+ var candidates;
+ var line;
+ var c, i, j, jX, r, s;
+
+ equivalenceClasses = {};
+ for (j = 0; j < file2.length; j++) {
+ line = file2[j];
+ if (equivalenceClasses[line]) {
+ equivalenceClasses[line].push(j);
+ } else {
+ equivalenceClasses[line] = [j];
+ }
+ }
+
+ candidates = [
+ { file1index: -1, file2index: -1, chain: null }
+ ];
+
+ for (i = 0; i < file1.length; i++) {
+ line = file1[i];
+ file2indices = equivalenceClasses[line] || [];
+
+ r = 0;
+ c = candidates[0];
+
+ for (jX = 0; jX < file2indices.length; jX++) {
+ j = file2indices[jX];
+
+ for (s = r; s < candidates.length; s++) {
+ if ((candidates[s].file2index < j) && ((s === candidates.length - 1) || (candidates[s + 1].file2index > j))) {
+ break;
+ }