The hobby I've spent the most time doing is longboarding, where my board is basically a large skateboard optimized for cruising around. I have spent many days and nights cruising in Atlanta, Houston, Dallas, and Barcelona. Often, I want to find places where I can fly downhill fast, especially in routes uninterrupted by stop signs, stoplights, and other barriers where I can slow down before encountering anything interesting. Basically, I just want to find the routes where I can go fast.
Since Google Maps doesn't allow for direct download of street data, OpenStreetMap (OSM) is the source from which we'll get street locations. OSM's API takes 2 points that represent a bounding box (rectangle of coordinates) and returns a list of elements, of which OSM has defined 3 types, all of which can have tags (attributes):
For this project we process this data by creating an adjacency list of all nodes found in ways with desirable attributes, all of which were originally defined in British terms. We eliminate roads marked as 'highway=motorway' (ie. limited access freeway), highway=trunk, and highway=primary. Some tags such as 'highway=steps' can definately be eliminated. Although the current implementation eliminates ways with 'surface=unpaved' and similar ways, this should be an editable attribute so bikers can enable unpaved surfaces and longboarders can disable them. We also eliminate bridges, since USGS typically provides elevation data for land under bridges rather than the bridge itself. With further testing, it might be advantagious to assume all bridges are flat. For one-way streets, we only complete the adjacency list for the legal direction.
We also generate from OSM a list of stop signs and traffic signals. Stop signs (and other equivilent markers) are unfortuately marked poorly by OSM: While there are over 1,000,000 signals marked, there are less than 400,000 stop signs marked, and I often see areas with no stop signs marked. While this may be because of the difficulty seeing stop signs from airial pictures, it might also be due to the policy on the marker for stopsigns, 'highway=stop', for interections where only some of the roads have stop signs (not an all way stop):
Since the stop line on the approach applies to only one travel direction, that direction can usually be deduced by finding the shorter distance to the priority intersection. However, a few stop signs are on 2-way streets between closely-spaced junctions, making it necessary to identify the travel direction that stops. Where needed, this can be done using direction=forward or direction=backward, relating stop direction to OSM forward/backward of the way that contains the highway=stop node.
This is quite annoying for routing software that wants to account for stop signs. It shouldn't cause too many issues with my program though.
USGS publishes elevation data in its National Elevation Dataset (NED). While the entire US besides Alaska has been mapped at the resolution of 1/3 arc second, some of the US based on what I assume is state and municipal funding has been mapped at resolutions of 1/9 arc second and 1 meter.
So how large is 1/3 of an arc second? The question is complicated if you're trying to deal with the earth's shape of an elipsoid with varying elevation, but we can approximate it as a sphere for our purposes since we're not trying to point satellites or anything. Lines of latitude 1/3 arc seconds apart are about 10.29 meters apart, as as are lines of longitude at the equator. However, lines of longitude become closer together farther away from the equator: 10.29 * cos(latitude) can calculate the distance between 2 lines of longitude 1/3 arc seconds apart.
In [1]:
import matplotlib.pyplot as plt
import numpy as np
# Data for plotting
deg = np.arange(0.0, 90.01, 0.01)
def deg2dist(deg): return 10.29 * np.cos(np.pi / 180 * deg)
dist = deg2dist(deg)
# Note that using plt.subplots below is equivalent to using
# fig = plt.figure and then ax = fig.add_subplot(111)
fig, ax = plt.subplots()
ax.plot(deg, dist)
ax.set(xlabel='degrees', ylabel='Distance',
title='Distance between lines of longitude 1/3 arc second apart')
ax.grid()
fig.savefig("degrees_and_dist.png")
plt.show()
print("Notable Latitudes")
print("49th parrallel (US-Canada border): ", deg2dist(49))
print("25.9 deg N (Brownsville, TX): ", deg2dist(25.9))
print("35.0 deg (LA): ", deg2dist(35.0))
print("40.7 deg (NYC): ", deg2dist(40.7))
Notable Latitudes
49th parrallel (US-Canada border): 6.750847408312319
25.9 deg N (Brownsville, TX): 9.256449545448804
35.0 deg (LA): 8.429074535733726
40.7 deg (NYC): 7.80120231947384
So how should we query points?
I think I've given this problem a bit more thought than it deserves for my purposes, but I'll type it out here. I'm not sure how the USGS decides what single elevation should represent an area of land, but if I were them, I would either go for the the median elevation that appears to represent land in their point cloud, or I would try and represent a point towards the middle of the block. In either case, most slopes in life are rather continious, so the two should be simmilar
To calculate the acceleration of of a wheeled object on an incline (or lack thereof), we must consider its mass and the forces acting upon it, namely, the acceleration due to gravity, the wheel's internal bearing friction, the rolling friction, and air resistance. The former 3 contribute forces porportional to the sine of the incline; the latter is the daily work of thousands of engineers.
A core part of finding any algorithm is taking a node and checking all adjacent nodes to see if an adjacent node's speed can be improved by travelling through a road segment. Unfortunately, our formula to calculate the speed after going through a node requires a numerical integration, so it's kinda slow. We can approximate a solution by instead looking at the energy gained or lost going through the segment if air did not exist. We use these to find the optimal paths, then we use these paths and get a more precise simulation using our fancy formula.
How much does air matter? v0 ** 2
In [2]:
g = -9.81 #accelertion due to gravity, m/s
drag_c = .6 #drag coefficient of human body
cross_a = .68 #Cross-sectional area of human body
mass = 80 #kg
frict_c = .03 #Coefficient of friction
import math
def acceleration_due_to_wind(v):
return -v**2 * (1.225 * drag_c * cross_a) / (2 * mass)
def acceleration_due_to_slope_no_friction(theta):
return g * math.sin(theta)
Solving for theta and finding the equivelent slope of the angle...
In [3]:
def equivalent_slope(v):
return math.tan(math.asin(acceleration_due_to_wind(v) / g))
In [4]:
t = np.arange(0.0, 15.0, 0.01)
s = [equivalent_slope(v) for v in t]
plt.plot(t, s)
plt.xlabel('Speed (m/s)')
plt.ylabel('Equivalent Slope')
plt.title('Comparing deceleration due to wind to accelerations due to upward slopes')
plt.show()
In [5]:
t = np.arange(0.0, 15.0, 0.01)
s = [equivalent_slope(v) for v in t]
t = t * 2.237
plt.plot(t, s)
plt.xlabel('Speed (mph)')
plt.ylabel('Equivalent Slope')
plt.title('Comparing deceleration due to wind to accelerations due to upward slopes')
plt.show()
In [6]:
t = np.arange(0.0, 15.0, 0.01)
s = [acceleration_due_to_wind(v)/(g) for v in t]
t = t * 2.237
plt.plot(t, s)
plt.xlabel('Speed (mph)')
plt.ylabel('Equivalent Friction coefficient')
plt.title('Comparing deceleration due to wind to accelerations due to friction coefficients on flat')
plt.show()
It's actually pretty bad lol
I've thought a lot about this problem, first talking about doing DFS and BFS based approaches from points of local maxima (and programming it), then talking about doing Djikstra-inspired algorithms with steeper slopes or fastest route expansions first. After taking Algorithms, I realize that the key to solving this is to minimize duplicate work! I present 2 algorithms.
The second looks at the highest elevation nodes first
We can label each node with the speed at which we can start speed, typically 1 m/s for longboards, then set to previous node prev to None.
Consider the highest elevation node on our map. It would make sense for routes to start here, since all routes to this point are uphill. For each adjacent node, we can the edit the node's prev and speed with the new highest speed if it is indeed higher.
If we change a node's speed that is uphill from a node, we much re-update all of its adjacent nodes speeds, then recurse on all nodes updated above the original node
We can also do more simple depth-first and breadth-first search approaches, where the first paths start from the highest node on the graph, then subsequent paths start from lower nodes on the graph which have not been incorportated into another path yet. Basically, we must keep a set of nodes that still need to be expanded, and we can also can keep some data structure to sort those nodes, which may possibly contain duplicates. One option for this data structure is to have a priority queue with the highest elevation nodes first.
In [ ]:
In [7]:
data = {
'north': 33.7874,
'west': -84.4203,
'south': 33.7677,
'east': -84.3812,
}
In [8]:
import wget
from scan_product_links import urls
import math
import os
us_urls = urls("elevationproductslinks/13secondplots.csv")
mx_ca_urls = urls("elevationproductslinks/1secondplots.csv")
def download_coords(data, country='United States'):
# TODO check if request is gucci
# TODO Remove the following block of code in production
if country == 'United States':
path_suffix = '_13'
useful_urls = us_urls
else:
path_suffix = '_1'
useful_urls = mx_ca_urls
for lat in range(
math.ceil(float(data['south'])), math.ceil(float(data['north'])) + 1
# Eg N 87.7 to N 86.
):
for lng in range(
math.floor(float(data['west'])), math.floor(float(data['east'])) + 1
):
fname = ('grd' + ('n' if lat>0 else 's')
+ str(abs(math.ceil(lat))).zfill(2)
+ ('e' if lng>=0 else 'w')
+ str(abs(math.floor(lng))).zfill(3))
database_path = ('elevationdata/'
+ fname
+ path_suffix + '/w001001.adf'
)
if not os.path.exists(database_path):
try:
print("downloading" + useful_urls[(lat, lng)] + "\n")
wget.download(useful_urls[(lat, lng)])
print("\n")
file_name = useful_urls[(lat, lng)].split('/')[-1]
archive = zipfile.ZipFile(file_name)
for file in archive.namelist():
if file.startswith("grd" + fname[3:] + path_suffix + "/"):
archive.extract(file, "elevationdata")
os.remove(file_name)
except (urllib.error.HTTPError):
print("Could not download data for", (lat, lng))
except KeyError:
print("Thing not found in urls: " (lat, lng))
In [9]:
download_coords(data)
In [10]:
mapsize = (
data['west'],
data['south'],
data['east'],
data['north']
)
Next, we query OpenStreetMap for the map data!
In [11]:
import subprocess
import math
import osmapi
import os.path
import pickle
def get_map_data(mapsize):
mapfilepath = 'maps/map'+str(mapsize)+'.dat'
# TODO Allow spanning countries
# (west, south, east, north), string
api_link = osmapi.OsmApi(#username='evanxq1@gmail.com',
#password='hrVQ*DO9aD9q'#,
#api="api06.dev.openstreetmap.org"
)
try:
if os.path.exists(mapfilepath):
print('loading local map...')
with open(mapfilepath, 'rb') as f:
map_data = pickle.load(f)
else:
print('requesting map...')
map_data = api_link.Map(mapsize[0], mapsize[1],
mapsize[2], mapsize[3])
with open(mapfilepath, 'wb') as f:
pickle.dump(map_data, f) # TODO delete this entire try block tbh
except IOError as e:
print("Couldn't write map data!", e.errorno, e.strerror)
# except Error as e: # osmapi.OsmApi.MaximumRetryLimitReachedError: #TODO: handle errors
# print(e.errorno, e.strerror)
# print("Could not get map data!")
# return False, [], [], [], [], [], []
return map_data
In [12]:
get_map_data(mapsize)
loading local map...
Out[12]:
[{'data': {'changeset': 21752899,
'id': 69097091,
'lat': 33.765318,
'lon': -84.391904,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2014, 4, 17, 16, 56, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12331089,
'id': 69097092,
'lat': 33.765317,
'lon': -84.393102,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 19, 14, 23, 22),
'uid': 330773,
'user': 'Roadrunner21',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12331089,
'id': 69097094,
'lat': 33.76533,
'lon': -84.3945719,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 19, 14, 23, 22),
'uid': 330773,
'user': 'Roadrunner21',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69097099,
'lat': 33.765343,
'lon': -84.396128,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 39, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096376,
'id': 69097101,
'lat': 33.765353,
'lon': -84.39738,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 5, 28, 35),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 62064200,
'id': 69097198,
'lat': 33.7700437,
'lon': -84.4084543,
'tag': {},
'timestamp': datetime.datetime(2018, 8, 28, 9, 19, 29),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69097200,
'lat': 33.770709,
'lon': -84.408447,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 14, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69097202,
'lat': 33.771166,
'lon': -84.408434,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 39, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69097205,
'lat': 33.772438,
'lon': -84.408399,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 14, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32614206,
'id': 69097208,
'lat': 33.7725767,
'lon': -84.4082988,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 13, 21, 15, 14),
'uid': 771165,
'user': 'LXT',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69101544,
'lat': 33.7892711,
'lon': -84.3920331,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22851419,
'id': 69103104,
'lat': 33.7842948,
'lon': -84.3803575,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 14, 19, 21),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56765174,
'id': 69116015,
'lat': 33.779642,
'lon': -84.4075529,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 28, 18, 59, 37),
'uid': 97411,
'user': 'Will White',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116021,
'lat': 33.7793336,
'lon': -84.4073625,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116026,
'lat': 33.7790976,
'lon': -84.4072685,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69116030,
'lat': 33.7787876,
'lon': -84.4070775,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116032,
'lat': 33.7785856,
'lon': -84.4069095,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116036,
'lat': 33.7782446,
'lon': -84.4065585,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69116039,
'lat': 33.7780856,
'lon': -84.4064106,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116044,
'lat': 33.7778836,
'lon': -84.4062635,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116049,
'lat': 33.7777186,
'lon': -84.4061915,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69116051,
'lat': 33.7774946,
'lon': -84.4061155,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69116054,
'lat': 33.7773557,
'lon': -84.4060855,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 10564296,
'id': 69116060,
'lat': 33.7771264,
'lon': -84.4060984,
'tag': {},
'timestamp': datetime.datetime(2012, 2, 2, 2, 48, 5),
'uid': 207745,
'user': 'NE2',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 10564296,
'id': 69116062,
'lat': 33.7768752,
'lon': -84.4061816,
'tag': {},
'timestamp': datetime.datetime(2012, 2, 2, 2, 48, 5),
'uid': 207745,
'user': 'NE2',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 10564296,
'id': 69116067,
'lat': 33.7765729,
'lon': -84.4063224,
'tag': {},
'timestamp': datetime.datetime(2012, 2, 2, 2, 48, 5),
'uid': 207745,
'user': 'NE2',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 10564296,
'id': 69116073,
'lat': 33.7763271,
'lon': -84.4064998,
'tag': {},
'timestamp': datetime.datetime(2012, 2, 2, 2, 48, 5),
'uid': 207745,
'user': 'NE2',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32614206,
'id': 69116075,
'lat': 33.7758835,
'lon': -84.4070075,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 13, 21, 15, 14),
'uid': 771165,
'user': 'LXT',
'version': 9,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38741572,
'id': 69116243,
'lat': 33.7755914,
'lon': -84.4260758,
'tag': {},
'timestamp': datetime.datetime(2016, 4, 20, 22, 44, 17),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117106,
'lat': 33.769728,
'lon': -84.388877,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117108,
'lat': 33.769694,
'lon': -84.389295,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69117112,
'lat': 33.7697,
'lon': -84.389382,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117116,
'lat': 33.769721,
'lon': -84.389476,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117118,
'lat': 33.769772,
'lon': -84.389592,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69117120,
'lat': 33.769865,
'lon': -84.389722,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117123,
'lat': 33.769946,
'lon': -84.389798,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117124,
'lat': 33.770056,
'lon': -84.389861,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117125,
'lat': 33.770164,
'lon': -84.38987,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69117126,
'lat': 33.7706368,
'lon': -84.3898666,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69117128,
'lat': 33.7710742,
'lon': -84.3898794,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69117130,
'lat': 33.7714382,
'lon': -84.3899013,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 18, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63201239,
'id': 69117132,
'lat': 33.7719587,
'lon': -84.3899302,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 4, 16, 11, 38),
'uid': 8107451,
'user': 'njtbusfan',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63201239,
'id': 69117133,
'lat': 33.7733686,
'lon': -84.3900298,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 4, 16, 11, 38),
'uid': 8107451,
'user': 'njtbusfan',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63201239,
'id': 69118024,
'lat': 33.7719293,
'lon': -84.3901019,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 4, 16, 11, 38),
'uid': 8107451,
'user': 'njtbusfan',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233017,
'id': 69118027,
'lat': 33.7700194,
'lon': -84.3902295,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 14, 57, 36),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233017,
'id': 69118029,
'lat': 33.76944,
'lon': -84.390177,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 14, 57, 36),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233017,
'id': 69118032,
'lat': 33.769085,
'lon': -84.390094,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 14, 57, 36),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118034,
'lat': 33.7685052,
'lon': -84.3899286,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118038,
'lat': 33.7682912,
'lon': -84.3898895,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118040,
'lat': 33.7680631,
'lon': -84.3898709,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118042,
'lat': 33.7673239,
'lon': -84.3899851,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69118065,
'lat': 33.770023,
'lon': -84.389864,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 19, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69118067,
'lat': 33.769894,
'lon': -84.389849,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 40, 51),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69118069,
'lat': 33.769685,
'lon': -84.389805,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 19, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 42113271,
'id': 69118072,
'lat': 33.7691216,
'lon': -84.3896212,
'tag': {},
'timestamp': datetime.datetime(2016, 9, 12, 22, 57, 13),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 42113271,
'id': 69118073,
'lat': 33.7687715,
'lon': -84.3895214,
'tag': {},
'timestamp': datetime.datetime(2016, 9, 12, 22, 57, 13),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 42113271,
'id': 69118077,
'lat': 33.7685238,
'lon': -84.3894937,
'tag': {},
'timestamp': datetime.datetime(2016, 9, 12, 22, 57, 13),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 42113271,
'id': 69118083,
'lat': 33.767918,
'lon': -84.3895811,
'tag': {},
'timestamp': datetime.datetime(2016, 9, 12, 22, 57, 13),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63201239,
'id': 69118105,
'lat': 33.7708463,
'lon': -84.3904623,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 4, 16, 11, 38),
'uid': 8107451,
'user': 'njtbusfan',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233874,
'id': 69118107,
'lat': 33.769921,
'lon': -84.39035,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 15, 25, 16),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233874,
'id': 69118110,
'lat': 33.769566,
'lon': -84.3903047,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 15, 25, 16),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233874,
'id': 69118112,
'lat': 33.7692082,
'lon': -84.3902294,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 15, 25, 16),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 64233874,
'id': 69118114,
'lat': 33.7690011,
'lon': -84.3901806,
'tag': {},
'timestamp': datetime.datetime(2018, 11, 6, 15, 25, 16),
'uid': 2847867,
'user': 'bhousel_bot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54737877,
'id': 69118119,
'lat': 33.7687268,
'lon': -84.390108,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 17, 59, 5),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118122,
'lat': 33.7681978,
'lon': -84.3899916,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118127,
'lat': 33.7679186,
'lon': -84.3899908,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118132,
'lat': 33.7673344,
'lon': -84.3900855,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69118144,
'lat': 33.7658226,
'lon': -84.390402,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69121376,
'lat': 33.771263,
'lon': -84.38037,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 19, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69121391,
'lat': 33.768922,
'lon': -84.380533,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 1, 18),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41206130,
'id': 69121513,
'lat': 33.7690028,
'lon': -84.3894193,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 3, 12, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41206130,
'id': 69121519,
'lat': 33.7690777,
'lon': -84.3894219,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 3, 12, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35426518,
'id': 69121521,
'lat': 33.7692113,
'lon': -84.3894059,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 19, 2, 47, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7063874,
'id': 69121523,
'lat': 33.769275,
'lon': -84.389389,
'tag': {},
'timestamp': datetime.datetime(2011, 1, 23, 16, 56, 17),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7063874,
'id': 69121526,
'lat': 33.769373,
'lon': -84.389339,
'tag': {},
'timestamp': datetime.datetime(2011, 1, 23, 16, 56, 17),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41206130,
'id': 69121528,
'lat': 33.7694268,
'lon': -84.3892994,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 3, 12, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41206130,
'id': 69121530,
'lat': 33.7695062,
'lon': -84.3892027,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 3, 12, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41206130,
'id': 69121533,
'lat': 33.7695661,
'lon': -84.3890642,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 3, 12, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69121534,
'lat': 33.76954,
'lon': -84.388882,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 1, 18),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69123263,
'lat': 33.7629315,
'lon': -84.3820953,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 20, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69124561,
'lat': 33.7812332,
'lon': -84.4144324,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38741078,
'id': 69124884,
'lat': 33.7732169,
'lon': -84.4083411,
'tag': {},
'timestamp': datetime.datetime(2016, 4, 20, 22, 17, 22),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33991849,
'id': 69124886,
'lat': 33.7735638,
'lon': -84.4089726,
'tag': {},
'timestamp': datetime.datetime(2015, 9, 13, 3, 30, 7),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 8,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56429452,
'id': 69128194,
'lat': 33.7692007,
'lon': -84.3905864,
'tag': {'highway': 'motorway_junction', 'ref': '249C'},
'timestamp': datetime.datetime(2018, 2, 17, 0, 52, 22),
'uid': 4018842,
'user': 'Stephen214',
'version': 9,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54740573,
'id': 69128196,
'lat': 33.7689752,
'lon': -84.3906177,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 19, 46, 18),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128199,
'lat': 33.768541,
'lon': -84.3906179,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128201,
'lat': 33.7678059,
'lon': -84.390497,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69128203,
'lat': 33.767627,
'lon': -84.39047,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 21, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69128205,
'lat': 33.767369,
'lon': -84.390435,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 21, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128208,
'lat': 33.76703,
'lon': -84.3904103,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128210,
'lat': 33.7666835,
'lon': -84.390409,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128213,
'lat': 33.7664651,
'lon': -84.3904116,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128215,
'lat': 33.7662365,
'lon': -84.3904109,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41205836,
'id': 69128217,
'lat': 33.7660921,
'lon': -84.3904113,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 3, 2, 35, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69128862,
'lat': 33.7665324,
'lon': -84.3877798,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69128923,
'lat': 33.7667818,
'lon': -84.388881,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69128927,
'lat': 33.7679361,
'lon': -84.388923,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63213927,
'id': 69129075,
'lat': 33.7874025,
'lon': -84.3908423,
'tag': {'highway': 'motorway_junction', 'noref': 'yes'},
'timestamp': datetime.datetime(2018, 10, 5, 1, 41, 23),
'uid': 8107451,
'user': 'njtbusfan',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69135964,
'lat': 33.780598,
'lon': -84.4155173,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69135965,
'lat': 33.779841,
'lon': -84.415002,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 23, 48),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69135968,
'lat': 33.7797455,
'lon': -84.4149346,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69135971,
'lat': 33.779605,
'lon': -84.414795,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 23, 48),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69135972,
'lat': 33.779515,
'lon': -84.414621,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 2, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69135974,
'lat': 33.7794436,
'lon': -84.4144554,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69135976,
'lat': 33.7794049,
'lon': -84.4142423,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69135980,
'lat': 33.7793422,
'lon': -84.4137627,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69135995,
'lat': 33.779318,
'lon': -84.413444,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 23, 49),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69136012,
'lat': 33.7793093,
'lon': -84.4132847,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69136015,
'lat': 33.7792696,
'lon': -84.413213,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69136021,
'lat': 33.7792893,
'lon': -84.4130833,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7227919,
'id': 69136023,
'lat': 33.7793452,
'lon': -84.4130585,
'tag': {},
'timestamp': datetime.datetime(2011, 2, 8, 16, 8, 10),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69138389,
'lat': 33.7873556,
'lon': -84.3914707,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 8,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41181963,
'id': 69144163,
'lat': 33.7891643,
'lon': -84.3904095,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 2, 54, 28),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56429452,
'id': 69144393,
'lat': 33.7776025,
'lon': -84.3907578,
'tag': {'highway': 'motorway_junction', 'ref': '250'},
'timestamp': datetime.datetime(2018, 2, 17, 0, 52, 22),
'uid': 4018842,
'user': 'Stephen214',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69144397,
'lat': 33.780188,
'lon': -84.3905865,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69144406,
'lat': 33.7815362,
'lon': -84.391609,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2009, 12, 12, 3, 26, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54740315,
'id': 69144409,
'lat': 33.781143,
'lon': -84.3916177,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 19, 36, 49),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54740315,
'id': 69144410,
'lat': 33.7809098,
'lon': -84.3915993,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 19, 36, 49),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54740315,
'id': 69144413,
'lat': 33.7807505,
'lon': -84.3915663,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 19, 36, 49),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 54740315,
'id': 69144416,
'lat': 33.7795818,
'lon': -84.3912266,
'tag': {},
'timestamp': datetime.datetime(2017, 12, 18, 19, 36, 49),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17711159,
'id': 69144450,
'lat': 33.773393,
'lon': -84.399223,
'tag': {'bus': 'yes',
'name': 'Student Center',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2013, 9, 6, 22, 28, 43),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 34801990,
'id': 69146775,
'lat': 33.771176,
'lon': -84.371773,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 10, 22, 15, 10, 33),
'uid': 2655992,
'user': 'steverumizen',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 29060315,
'id': 69146790,
'lat': 33.7736584,
'lon': -84.370957,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 2, 24, 6, 33, 39),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12694079,
'id': 69149226,
'lat': 33.7755614,
'lon': -84.3907203,
'tag': {'highway': 'motorway_junction', 'ref': '249D'},
'timestamp': datetime.datetime(2012, 8, 11, 18, 16, 49),
'uid': 207745,
'user': 'NE2',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63201239,
'id': 69149229,
'lat': 33.7721322,
'lon': -84.3906383,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 4, 16, 11, 38),
'uid': 8107451,
'user': 'njtbusfan',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5047808,
'id': 69159073,
'lat': 33.778274,
'lon': -84.399181,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2010, 6, 22, 0, 48, 49),
'uid': 178479,
'user': 'BigPeteB',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 21988365,
'id': 69159080,
'lat': 33.7805085,
'lon': -84.399141,
'tag': {},
'timestamp': datetime.datetime(2014, 4, 27, 21, 54, 35),
'uid': 550708,
'user': 'eltiar',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5047808,
'id': 69159083,
'lat': 33.7815102,
'lon': -84.3991489,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 6, 22, 0, 48, 49),
'uid': 178479,
'user': 'BigPeteB',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159085,
'lat': 33.782454,
'lon': -84.399062,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159089,
'lat': 33.782831,
'lon': -84.399028,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69159091,
'lat': 33.783372,
'lon': -84.39898,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69159093,
'lat': 33.783652,
'lon': -84.398954,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 7, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159096,
'lat': 33.784187,
'lon': -84.398906,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159098,
'lat': 33.786065,
'lon': -84.398737,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 23276069,
'id': 69159103,
'lat': 33.786193,
'lon': -84.398735,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2014, 6, 29, 17, 44, 54),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159106,
'lat': 33.787429,
'lon': -84.398727,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63139096,
'id': 69159108,
'lat': 33.7886626,
'lon': -84.3987269,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 2, 21, 14, 20),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69159156,
'lat': 33.771231,
'lon': -84.398962,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 29, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69159158,
'lat': 33.771372,
'lon': -84.399019,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69159160,
'lat': 33.771472,
'lon': -84.399042,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 7, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12799663,
'id': 69159163,
'lat': 33.772795,
'lon': -84.3991755,
'tag': {},
'timestamp': datetime.datetime(2012, 8, 20, 19, 16, 43),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12799663,
'id': 69159165,
'lat': 33.7729497,
'lon': -84.3991789,
'tag': {},
'timestamp': datetime.datetime(2012, 8, 20, 19, 16, 43),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69161071,
'lat': 33.771392,
'lon': -84.42117,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 30, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69161073,
'lat': 33.773209,
'lon': -84.421166,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 30, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69166880,
'lat': 33.772227,
'lon': -84.418639,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 30, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69166884,
'lat': 33.772245,
'lon': -84.419684,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 29),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6003667,
'id': 69168237,
'lat': 33.772358,
'lon': -84.3955,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2010, 10, 10, 16, 15, 32),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18212470,
'id': 69168240,
'lat': 33.7723585,
'lon': -84.3956192,
'tag': {'bus': 'yes',
'name': 'Tech Tower',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2013, 10, 6, 13, 34, 17),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168242,
'lat': 33.772367,
'lon': -84.396451,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168245,
'lat': 33.772377,
'lon': -84.396542,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168250,
'lat': 33.772403,
'lon': -84.396636,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168252,
'lat': 33.772445,
'lon': -84.396722,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26533004,
'id': 69168255,
'lat': 33.7728569,
'lon': -84.3972935,
'tag': {'bus': 'yes',
'name': 'Transit Hub',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2014, 11, 3, 19, 8, 47),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17396591,
'id': 69168257,
'lat': 33.7729643,
'lon': -84.3974692,
'tag': {},
'timestamp': datetime.datetime(2013, 8, 18, 13, 51, 33),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168260,
'lat': 33.773088,
'lon': -84.397725,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168262,
'lat': 33.773175,
'lon': -84.397981,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168263,
'lat': 33.773213,
'lon': -84.398132,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69168266,
'lat': 33.773242,
'lon': -84.398286,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168268,
'lat': 33.773765,
'lon': -84.401535,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168271,
'lat': 33.773831,
'lon': -84.401745,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168273,
'lat': 33.773878,
'lon': -84.401857,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168276,
'lat': 33.773934,
'lon': -84.401962,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69168279,
'lat': 33.774052,
'lon': -84.402137,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6003667,
'id': 69168282,
'lat': 33.7741865,
'lon': -84.4023043,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 10, 10, 16, 15, 33),
'uid': 178479,
'user': 'BigPeteB',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6003667,
'id': 69168286,
'lat': 33.7742915,
'lon': -84.4023762,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 10, 10, 16, 15, 32),
'uid': 178479,
'user': 'BigPeteB',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168288,
'lat': 33.7744491,
'lon': -84.4024841,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168290,
'lat': 33.77459,
'lon': -84.402527,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69168291,
'lat': 33.774686,
'lon': -84.402551,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168293,
'lat': 33.774767,
'lon': -84.402571,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26973933,
'id': 69168294,
'lat': 33.7749068,
'lon': -84.402584,
'tag': {'crossing': 'uncontrolled', 'highway': 'crossing'},
'timestamp': datetime.datetime(2014, 11, 23, 14, 22, 59),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168295,
'lat': 33.777284,
'lon': -84.40241,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315869,
'id': 69168297,
'lat': 33.7774411,
'lon': -84.4023749,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 46, 19),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315869,
'id': 69168300,
'lat': 33.7775778,
'lon': -84.4023218,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 46, 19),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315869,
'id': 69168301,
'lat': 33.7777182,
'lon': -84.4022375,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 46, 19),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17486661,
'id': 69168310,
'lat': 33.778306,
'lon': -84.401456,
'tag': {},
'timestamp': datetime.datetime(2013, 8, 24, 16, 27, 11),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 14148054,
'id': 69168313,
'lat': 33.7783998,
'lon': -84.4012738,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2012, 12, 4, 4, 18, 4),
'uid': 1087647,
'user': 'Phil Scherer',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168318,
'lat': 33.778457,
'lon': -84.401078,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168319,
'lat': 33.778479,
'lon': -84.400948,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69168321,
'lat': 33.778487,
'lon': -84.400816,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168324,
'lat': 33.778484,
'lon': -84.400536,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69168326,
'lat': 33.778474,
'lon': -84.400408,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59655334,
'id': 69168328,
'lat': 33.7783977,
'lon': -84.3999891,
'tag': {},
'timestamp': datetime.datetime(2018, 6, 8, 5, 14, 59),
'uid': 4647004,
'user': 'Bhojaraj',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17711159,
'id': 69168330,
'lat': 33.7783258,
'lon': -84.3996523,
'tag': {'bus': 'yes',
'name': 'Ferst Drive & State Street',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2013, 9, 6, 22, 28, 43),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17711159,
'id': 69168331,
'lat': 33.778284,
'lon': -84.3994028,
'tag': {'bus': 'yes',
'name': 'Ferst Drive & State Street',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2013, 9, 6, 22, 28, 43),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17486661,
'id': 69168333,
'lat': 33.7782507,
'lon': -84.3977891,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2013, 8, 24, 16, 27, 11),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168335,
'lat': 33.7782402,
'lon': -84.3968249,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 32),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168337,
'lat': 33.7782066,
'lon': -84.3966072,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 32),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69168340,
'lat': 33.778153,
'lon': -84.396432,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168341,
'lat': 33.7780607,
'lon': -84.3962263,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 32),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 14219868,
'id': 69168342,
'lat': 33.7778274,
'lon': -84.3958983,
'tag': {},
'timestamp': datetime.datetime(2012, 12, 9, 22, 36, 1),
'uid': 28775,
'user': 'StellanL',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168346,
'lat': 33.7776404,
'lon': -84.3957622,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 33),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168348,
'lat': 33.777476,
'lon': -84.3956548,
'tag': {'bus': 'yes',
'name': 'Klaus Building',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 32),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59053490,
'id': 69168353,
'lat': 33.7771533,
'lon': -84.3954447,
'tag': {},
'timestamp': datetime.datetime(2018, 5, 17, 14, 45, 25),
'uid': 8288053,
'user': 'TSinger4',
'version': 8,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168356,
'lat': 33.7770775,
'lon': -84.395379,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 33),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56315968,
'id': 69168360,
'lat': 33.7769507,
'lon': -84.3950398,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 13, 7, 50, 33),
'uid': 1709658,
'user': 'TheRedComputer',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6003667,
'id': 69168363,
'lat': 33.776929,
'lon': -84.393635,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 10, 10, 16, 15, 32),
'uid': 178479,
'user': 'BigPeteB',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69169317,
'lat': 33.766403,
'lon': -84.401691,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69169321,
'lat': 33.766435,
'lon': -84.404845,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 9),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69169326,
'lat': 33.766037,
'lon': -84.40774,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 9),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69169330,
'lat': 33.766037,
'lon': -84.409953,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 9),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096376,
'id': 69169336,
'lat': 33.766196,
'lon': -84.397479,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 5, 28, 36),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69170398,
'lat': 33.770731,
'lon': -84.4047432,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 6),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69170400,
'lat': 33.7705842,
'lon': -84.4048999,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 28515097,
'id': 69170946,
'lat': 33.7698507,
'lon': -84.383171,
'tag': {},
'timestamp': datetime.datetime(2015, 1, 30, 23, 49),
'uid': 1376118,
'user': 'ChrisZontine',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69170953,
'lat': 33.771287,
'lon': -84.383064,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69172087,
'lat': 33.763122,
'lon': -84.38209,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172090,
'lat': 33.763281,
'lon': -84.382084,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 34805024,
'id': 69172091,
'lat': 33.764204,
'lon': -84.382069,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 10, 22, 17, 41, 48),
'uid': 2655992,
'user': 'steverumizen',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69172092,
'lat': 33.765551,
'lon': -84.382049,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172095,
'lat': 33.765953,
'lon': -84.382043,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172097,
'lat': 33.767509,
'lon': -84.382019,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172101,
'lat': 33.767878,
'lon': -84.382012,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35427386,
'id': 69172103,
'lat': 33.7686584,
'lon': -84.3819941,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 19, 4, 11, 12),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 28515097,
'id': 69172104,
'lat': 33.7698717,
'lon': -84.381927,
'tag': {},
'timestamp': datetime.datetime(2015, 1, 30, 23, 49),
'uid': 1376118,
'user': 'ChrisZontine',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172105,
'lat': 33.770795,
'lon': -84.381895,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 34805033,
'id': 69172106,
'lat': 33.77128,
'lon': -84.381893,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 10, 22, 17, 42, 9),
'uid': 2655992,
'user': 'steverumizen',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69172109,
'lat': 33.771371,
'lon': -84.381891,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69172112,
'lat': 33.772501,
'lon': -84.381782,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2009, 11, 14, 4, 43, 44),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857695,
'id': 69172631,
'lat': 33.7546925,
'lon': -84.4100807,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 19, 51, 57),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3013415,
'id': 69175002,
'lat': 33.7772619,
'lon': -84.4042324,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 2, 3, 4, 35),
'uid': 174047,
'user': 'Lisa Jackson',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26451573,
'id': 69175004,
'lat': 33.7782252,
'lon': -84.4042015,
'tag': {'bus': 'yes',
'name': 'Fitten Hall',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2014, 10, 30, 23, 58, 58),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69175018,
'lat': 33.778675,
'lon': -84.404186,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 57),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69175030,
'lat': 33.77455,
'lon': -84.406219,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 8, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69175034,
'lat': 33.7753859,
'lon': -84.4053235,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 31, 57),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69178127,
'lat': 33.760091,
'lon': -84.409916,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69178136,
'lat': 33.759807,
'lon': -84.412656,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69178163,
'lat': 33.759908,
'lon': -84.411313,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69178168,
'lat': 33.759916,
'lon': -84.412655,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 27432643,
'id': 69182261,
'lat': 33.7857537,
'lon': -84.4011658,
'tag': {},
'timestamp': datetime.datetime(2014, 12, 12, 23, 37, 43),
'uid': 360392,
'user': 'maxerickson',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 27432643,
'id': 69182263,
'lat': 33.7862095,
'lon': -84.4011182,
'tag': {},
'timestamp': datetime.datetime(2014, 12, 12, 23, 37, 43),
'uid': 360392,
'user': 'maxerickson',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69182271,
'lat': 33.7815172,
'lon': -84.4013059,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69182273,
'lat': 33.782204,
'lon': -84.401315,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69182275,
'lat': 33.782869,
'lon': -84.401325,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69182277,
'lat': 33.78364,
'lon': -84.401337,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 18),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69182280,
'lat': 33.784504,
'lon': -84.401354,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184211,
'lat': 33.756438,
'lon': -84.412746,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184213,
'lat': 33.7581022,
'lon': -84.4127033,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184215,
'lat': 33.759141,
'lon': -84.412671,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69184216,
'lat': 33.760458,
'lon': -84.412648,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184218,
'lat': 33.760784,
'lon': -84.412643,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184220,
'lat': 33.76118,
'lon': -84.412638,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184224,
'lat': 33.761417,
'lon': -84.412635,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69184225,
'lat': 33.761857,
'lon': -84.412629,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184227,
'lat': 33.762552,
'lon': -84.41262,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184228,
'lat': 33.763443,
'lon': -84.412607,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184229,
'lat': 33.764249,
'lon': -84.412601,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184233,
'lat': 33.764945,
'lon': -84.412595,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184235,
'lat': 33.766389,
'lon': -84.412585,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69184237,
'lat': 33.767329,
'lon': -84.41259,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184239,
'lat': 33.768209,
'lon': -84.412588,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184242,
'lat': 33.769136,
'lon': -84.412585,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184243,
'lat': 33.770069,
'lon': -84.412581,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69184245,
'lat': 33.770707,
'lon': -84.412579,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184248,
'lat': 33.771327,
'lon': -84.412577,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184254,
'lat': 33.771326,
'lon': -84.412446,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184256,
'lat': 33.772164,
'lon': -84.412436,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184258,
'lat': 33.773056,
'lon': -84.412419,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184261,
'lat': 33.774087,
'lon': -84.412407,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69184263,
'lat': 33.774495,
'lon': -84.412407,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69184265,
'lat': 33.775135,
'lon': -84.412406,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69184268,
'lat': 33.77616,
'lon': -84.412406,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69185452,
'lat': 33.773094,
'lon': -84.410419,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 52),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69185453,
'lat': 33.773156,
'lon': -84.410419,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69185457,
'lat': 33.774067,
'lon': -84.410413,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 52),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69185459,
'lat': 33.77615,
'lon': -84.410399,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69185470,
'lat': 33.770733,
'lon': -84.410561,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 52),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69185471,
'lat': 33.771207,
'lon': -84.410555,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 44, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69185474,
'lat': 33.771925,
'lon': -84.410547,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 9, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69185477,
'lat': 33.772142,
'lon': -84.410545,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 52),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69185479,
'lat': 33.773086,
'lon': -84.410533,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 33, 52),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69186772,
'lat': 33.765465,
'lon': -84.415581,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69186881,
'lat': 33.767933,
'lon': -84.388593,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7063874,
'id': 69186887,
'lat': 33.7684503,
'lon': -84.3889094,
'tag': {},
'timestamp': datetime.datetime(2011, 1, 23, 16, 56, 18),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69186894,
'lat': 33.768263,
'lon': -84.387509,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69186899,
'lat': 33.768263,
'lon': -84.388016,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69188819,
'lat': 33.770478,
'lon': -84.418655,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69188824,
'lat': 33.771389,
'lon': -84.418663,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38739346,
'id': 69188826,
'lat': 33.7731239,
'lon': -84.4186211,
'tag': {},
'timestamp': datetime.datetime(2016, 4, 20, 20, 47, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26451573,
'id': 69189224,
'lat': 33.7759229,
'lon': -84.393649,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2014, 10, 30, 23, 58, 58),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189226,
'lat': 33.778178,
'lon': -84.393617,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69189229,
'lat': 33.779596,
'lon': -84.393597,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189231,
'lat': 33.7815092,
'lon': -84.3935719,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59656606,
'id': 69189237,
'lat': 33.7739118,
'lon': -84.3936779,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2018, 6, 8, 6, 19, 53),
'uid': 4647004,
'user': 'Bhojaraj',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59656606,
'id': 69189239,
'lat': 33.7739724,
'lon': -84.3937264,
'tag': {},
'timestamp': datetime.datetime(2018, 6, 8, 6, 19, 53),
'uid': 4647004,
'user': 'Bhojaraj',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189241,
'lat': 33.774285,
'lon': -84.393792,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189243,
'lat': 33.774651,
'lon': -84.393883,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189246,
'lat': 33.775263,
'lon': -84.39408,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26451573,
'id': 69189249,
'lat': 33.7758749,
'lon': -84.394291,
'tag': {},
'timestamp': datetime.datetime(2014, 10, 30, 23, 58, 58),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22874909,
'id': 69189264,
'lat': 33.7866237,
'lon': -84.3932817,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 11, 16, 36, 4),
'uid': 2012449,
'user': 'Dami_Tn',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69189266,
'lat': 33.786695,
'lon': -84.393278,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69189268,
'lat': 33.78873,
'lon': -84.393248,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190067,
'lat': 33.7634781,
'lon': -84.4174867,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69190069,
'lat': 33.764288,
'lon': -84.417459,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190071,
'lat': 33.764974,
'lon': -84.417452,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190073,
'lat': 33.765517,
'lon': -84.417446,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69190075,
'lat': 33.766408,
'lon': -84.417436,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190077,
'lat': 33.76648,
'lon': -84.417436,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190078,
'lat': 33.767094,
'lon': -84.417428,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190079,
'lat': 33.768919,
'lon': -84.4174269,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190081,
'lat': 33.7700273,
'lon': -84.4174055,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190083,
'lat': 33.770475,
'lon': -84.417397,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190085,
'lat': 33.7713862,
'lon': -84.4173906,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69190087,
'lat': 33.7722014,
'lon': -84.4173799,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38739558,
'id': 69190088,
'lat': 33.7730463,
'lon': -84.4173698,
'tag': {'crossing': 'traffic_signals',
'highway': 'traffic_signals',
'traffic_signals': 'signal'},
'timestamp': datetime.datetime(2016, 4, 20, 20, 56, 45),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190090,
'lat': 33.774107,
'lon': -84.41736,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 44150304,
'id': 69190093,
'lat': 33.77486,
'lon': -84.417356,
'tag': {'railway': 'level_crossing'},
'timestamp': datetime.datetime(2016, 12, 4, 4, 4, 45),
'uid': 135163,
'user': 'MikeN',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 44150304,
'id': 69190095,
'lat': 33.775089,
'lon': -84.417354,
'tag': {'railway': 'level_crossing'},
'timestamp': datetime.datetime(2016, 12, 4, 4, 4, 45),
'uid': 135163,
'user': 'MikeN',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190097,
'lat': 33.775148,
'lon': -84.417354,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190099,
'lat': 33.775598,
'lon': -84.417351,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69190101,
'lat': 33.776192,
'lon': -84.417347,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 10, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190103,
'lat': 33.782453,
'lon': -84.417308,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190105,
'lat': 33.782641,
'lon': -84.417301,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69190108,
'lat': 33.782687,
'lon': -84.417268,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 34, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69190110,
'lat': 33.782721,
'lon': -84.4172193,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 31225380,
'id': 69191561,
'lat': 33.7646339,
'lon': -84.39193,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 5, 17, 12, 28, 24),
'uid': 152074,
'user': 'beweta',
'version': 8,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69191585,
'lat': 33.7645993,
'lon': -84.3930591,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 35, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 31225380,
'id': 69191620,
'lat': 33.7645958,
'lon': -84.3961483,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 5, 17, 12, 28, 24),
'uid': 152074,
'user': 'beweta',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096376,
'id': 69191639,
'lat': 33.764667,
'lon': -84.397312,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 5, 28, 35),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6260900,
'id': 69199026,
'lat': 33.7739205,
'lon': -84.3954771,
'tag': {},
'timestamp': datetime.datetime(2010, 11, 1, 20, 0, 30),
'uid': 178479,
'user': 'BigPeteB',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69199046,
'lat': 33.773739,
'lon': -84.390665,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 21),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199049,
'lat': 33.773801,
'lon': -84.39068,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199053,
'lat': 33.773839,
'lon': -84.390709,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69199055,
'lat': 33.773862,
'lon': -84.390739,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 21),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199057,
'lat': 33.773878,
'lon': -84.390773,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199059,
'lat': 33.7738801,
'lon': -84.3908172,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199062,
'lat': 33.7738944,
'lon': -84.3919868,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 19063813,
'id': 69199066,
'lat': 33.773903,
'lon': -84.392857,
'tag': {'highway': 'stop'},
'timestamp': datetime.datetime(2013, 11, 22, 22, 36, 7),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199068,
'lat': 33.773914,
'lon': -84.394212,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69199069,
'lat': 33.7739229,
'lon': -84.3949162,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 37, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 53009262,
'id': 69200112,
'lat': 33.7814408,
'lon': -84.3863849,
'tag': {},
'timestamp': datetime.datetime(2017, 10, 17, 11, 51, 29),
'uid': 3272286,
'user': 'manings',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17500867,
'id': 69200114,
'lat': 33.7821105,
'lon': -84.3863404,
'tag': {'barrier': 'block'},
'timestamp': datetime.datetime(2013, 8, 25, 15, 15, 51),
'uid': 127401,
'user': 'Ryan Lash',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200116,
'lat': 33.783258,
'lon': -84.386289,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69200118,
'lat': 33.784564,
'lon': -84.386282,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200121,
'lat': 33.785593,
'lon': -84.386285,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200123,
'lat': 33.785614,
'lon': -84.38628,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200127,
'lat': 33.785636,
'lon': -84.38626,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200257,
'lat': 33.770476,
'lon': -84.41815,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200260,
'lat': 33.770479,
'lon': -84.419561,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200263,
'lat': 33.770479,
'lon': -84.42045,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69200675,
'lat': 33.7731964,
'lon': -84.4197452,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69200679,
'lat': 33.774578,
'lon': -84.419729,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69203635,
'lat': 33.760767,
'lon': -84.411287,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 38, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 52970518,
'id': 69206151,
'lat': 33.7731335,
'lon': -84.4002605,
'tag': {'crossing': 'unmarked', 'highway': 'crossing'},
'timestamp': datetime.datetime(2017, 10, 16, 3, 9, 17),
'uid': 4645770,
'user': 'Offenbacher_',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69206156,
'lat': 33.77302,
'lon': -84.400302,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69206159,
'lat': 33.772951,
'lon': -84.400338,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 39, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69206160,
'lat': 33.772831,
'lon': -84.400442,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 39, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69206164,
'lat': 33.772736,
'lon': -84.40056,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69206167,
'lat': 33.772656,
'lon': -84.400706,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 39, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69206170,
'lat': 33.772349,
'lon': -84.401432,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 39, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69206171,
'lat': 33.772313,
'lon': -84.401497,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 39, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69206174,
'lat': 33.772269,
'lon': -84.401552,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 11, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 29689200,
'id': 69207155,
'lat': 33.7613885,
'lon': -84.3742796,
'tag': {},
'timestamp': datetime.datetime(2015, 3, 23, 21, 21, 26),
'uid': 2377377,
'user': 'abel801',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69207205,
'lat': 33.77118,
'lon': -84.372781,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 13214719,
'id': 69207210,
'lat': 33.773146,
'lon': -84.3728166,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2012, 9, 23, 1, 22, 26),
'uid': 127401,
'user': 'Ryan Lash',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 28515097,
'id': 69208859,
'lat': 33.7698057,
'lon': -84.385803,
'tag': {},
'timestamp': datetime.datetime(2015, 1, 30, 23, 49),
'uid': 1376118,
'user': 'ChrisZontine',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69214251,
'lat': 33.767837,
'lon': -84.3953014,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12799663,
'id': 69214682,
'lat': 33.771117,
'lon': -84.3961027,
'tag': {},
'timestamp': datetime.datetime(2012, 8, 20, 19, 16, 43),
'uid': 28852,
'user': 'Mark Gray',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69220540,
'lat': 33.775126,
'lon': -84.413411,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 13),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69220544,
'lat': 33.775132,
'lon': -84.414412,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 13, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69220547,
'lat': 33.775137,
'lon': -84.415423,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69220549,
'lat': 33.775143,
'lon': -84.416416,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 13),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5047808,
'id': 69222786,
'lat': 33.7815063,
'lon': -84.3977256,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 6, 22, 0, 48, 49),
'uid': 178479,
'user': 'BigPeteB',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69222787,
'lat': 33.782444,
'lon': -84.3977169,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69222788,
'lat': 33.782964,
'lon': -84.3977131,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 13, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69222790,
'lat': 33.783355,
'lon': -84.3977102,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69222793,
'lat': 33.784191,
'lon': -84.3977041,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69222795,
'lat': 33.7861891,
'lon': -84.3976895,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 13, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69222798,
'lat': 33.7874401,
'lon': -84.3976803,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69222800,
'lat': 33.7880513,
'lon': -84.3976759,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63139096,
'id': 69222802,
'lat': 33.7886294,
'lon': -84.3976696,
'tag': {},
'timestamp': datetime.datetime(2018, 10, 2, 21, 14, 21),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69224311,
'lat': 33.768189,
'lon': -84.404013,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 43, 45),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69224312,
'lat': 33.770059,
'lon': -84.4041098,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69227156,
'lat': 33.783262,
'lon': -84.387834,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 45),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69227157,
'lat': 33.783258,
'lon': -84.38622,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69227161,
'lat': 33.783255,
'lon': -84.384652,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69227164,
'lat': 33.783243,
'lon': -84.383946,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32050788,
'id': 69227168,
'lat': 33.7832146,
'lon': -84.3838461,
'tag': {},
'timestamp': datetime.datetime(2015, 6, 18, 13, 13, 57),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69227178,
'lat': 33.783028,
'lon': -84.382351,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69227179,
'lat': 33.783027,
'lon': -84.380946,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69227188,
'lat': 33.7830186,
'lon': -84.3798752,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69228746,
'lat': 33.773836,
'lon': -84.387335,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 49),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228749,
'lat': 33.773814,
'lon': -84.387186,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69228751,
'lat': 33.773803,
'lon': -84.387006,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228754,
'lat': 33.773753,
'lon': -84.386216,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69228758,
'lat': 33.773697,
'lon': -84.385315,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 49),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69228760,
'lat': 33.773673,
'lon': -84.384938,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228762,
'lat': 33.7736715,
'lon': -84.3847631,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228765,
'lat': 33.7736715,
'lon': -84.3846001,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228767,
'lat': 33.773594,
'lon': -84.38329,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69228773,
'lat': 33.77358,
'lon': -84.383193,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69228775,
'lat': 33.773564,
'lon': -84.383084,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69228777,
'lat': 33.773463,
'lon': -84.381688,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69228780,
'lat': 33.773369,
'lon': -84.38018,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45839063,
'id': 69229940,
'lat': 33.7798874,
'lon': -84.4127248,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 5, 20, 17, 48),
'uid': 4434761,
'user': 'bendergarcia',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229942,
'lat': 33.77997,
'lon': -84.4134525,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229946,
'lat': 33.780093,
'lon': -84.4144587,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229949,
'lat': 33.7801402,
'lon': -84.4146871,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229953,
'lat': 33.7801647,
'lon': -84.4148074,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229958,
'lat': 33.780328,
'lon': -84.4151203,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229961,
'lat': 33.7803631,
'lon': -84.4152,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 48),
'uid': 5680733,
'user': 'venkanna37',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229971,
'lat': 33.780803,
'lon': -84.4156993,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229977,
'lat': 33.783638,
'lon': -84.4179463,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229979,
'lat': 33.783794,
'lon': -84.4180943,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229983,
'lat': 33.783962,
'lon': -84.4183143,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229985,
'lat': 33.784346,
'lon': -84.4189183,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229987,
'lat': 33.784504,
'lon': -84.4191933,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229989,
'lat': 33.78462,
'lon': -84.4194323,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229991,
'lat': 33.784645,
'lon': -84.4194823,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229993,
'lat': 33.784757,
'lon': -84.4197513,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229994,
'lat': 33.784864,
'lon': -84.4200603,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229996,
'lat': 33.784944,
'lon': -84.4203413,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69229999,
'lat': 33.785041,
'lon': -84.4208163,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230001,
'lat': 33.785196,
'lon': -84.4218873,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230005,
'lat': 33.785207,
'lon': -84.4219583,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230007,
'lat': 33.785494,
'lon': -84.4239523,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230011,
'lat': 33.78565,
'lon': -84.4250353,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230016,
'lat': 33.785694,
'lon': -84.4253323,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230029,
'lat': 33.785743,
'lon': -84.4255593,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230041,
'lat': 33.785803,
'lon': -84.4257623,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230049,
'lat': 33.785924,
'lon': -84.4261033,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230059,
'lat': 33.78613,
'lon': -84.4266873,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230069,
'lat': 33.786236,
'lon': -84.4270903,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56544087,
'id': 69230070,
'lat': 33.786285,
'lon': -84.4273553,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 21, 10, 3, 49),
'uid': 5680733,
'user': 'venkanna37',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69230759,
'lat': 33.783377,
'lon': -84.396671,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69230762,
'lat': 33.783351,
'lon': -84.396707,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 30),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69230764,
'lat': 33.783342,
'lon': -84.396748,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69230799,
'lat': 33.7828627,
'lon': -84.4116471,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22858104,
'id': 69230808,
'lat': 33.7823832,
'lon': -84.4134627,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 10, 4),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69230809,
'lat': 33.78235,
'lon': -84.413577,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 45, 55),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32631520,
'id': 69230815,
'lat': 33.7830202,
'lon': -84.4075356,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 14, 16, 11, 44),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69230816,
'lat': 33.783005,
'lon': -84.40955,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69230820,
'lat': 33.7829966,
'lon': -84.4116838,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 19063813,
'id': 69230902,
'lat': 33.7739983,
'lon': -84.3928521,
'tag': {},
'timestamp': datetime.datetime(2013, 11, 22, 22, 36, 7),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230905,
'lat': 33.7740697,
'lon': -84.392874,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230908,
'lat': 33.774421,
'lon': -84.3930227,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230910,
'lat': 33.7745974,
'lon': -84.393077,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230911,
'lat': 33.7747825,
'lon': -84.3931025,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69230915,
'lat': 33.775064,
'lon': -84.39311,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 44, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69230919,
'lat': 33.775242,
'lon': -84.393133,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230921,
'lat': 33.7754955,
'lon': -84.3932025,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18210833,
'id': 69230923,
'lat': 33.7757162,
'lon': -84.3932941,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 11, 34, 52),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59657595,
'id': 69230925,
'lat': 33.7758088,
'lon': -84.3933142,
'tag': {},
'timestamp': datetime.datetime(2018, 6, 8, 6, 52, 47),
'uid': 4647004,
'user': 'Bhojaraj',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69230927,
'lat': 33.7758719,
'lon': -84.393301,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5536066,
'id': 69232946,
'lat': 33.788566,
'lon': -84.3877878,
'tag': {},
'timestamp': datetime.datetime(2010, 8, 19, 14, 46, 19),
'uid': 21000,
'user': 'Lee Leonard',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233334,
'lat': 33.777549,
'lon': -84.407519,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69233336,
'lat': 33.77848,
'lon': -84.408361,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 45),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233338,
'lat': 33.778626,
'lon': -84.408522,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69233339,
'lat': 33.779241,
'lon': -84.409067,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 2),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233341,
'lat': 33.779568,
'lon': -84.409297,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69233344,
'lat': 33.779609,
'lon': -84.409315,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 45),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233346,
'lat': 33.779653,
'lon': -84.409321,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233377,
'lat': 33.7749322,
'lon': -84.4047652,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69233383,
'lat': 33.773854,
'lon': -84.387458,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69233387,
'lat': 33.773873,
'lon': -84.388832,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 14, 45),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69233389,
'lat': 33.7738812,
'lon': -84.3895648,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69235330,
'lat': 33.762776,
'lon': -84.407776,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 22),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69237515,
'lat': 33.7886317,
'lon': -84.399806,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69237533,
'lat': 33.7880869,
'lon': -84.3958157,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69237542,
'lat': 33.7883437,
'lon': -84.3967341,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 15, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69237562,
'lat': 33.788712,
'lon': -84.394522,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33114203,
'id': 69238368,
'lat': 33.782828,
'lon': -84.399609,
'tag': {},
'timestamp': datetime.datetime(2015, 8, 4, 21, 47, 41),
'uid': 2219338,
'user': 'RichRico',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69238372,
'lat': 33.78284,
'lon': -84.400583,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 18),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69238376,
'lat': 33.782877,
'lon': -84.401832,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69238379,
'lat': 33.782893,
'lon': -84.402764,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69238383,
'lat': 33.782908,
'lon': -84.403708,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 15, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69238386,
'lat': 33.782917,
'lon': -84.404238,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 45, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12331089,
'id': 69241077,
'lat': 33.7659696,
'lon': -84.393095,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 19, 14, 23, 23),
'uid': 330773,
'user': 'Roadrunner21',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12331089,
'id': 69241080,
'lat': 33.766627,
'lon': -84.3930757,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 19, 14, 23, 23),
'uid': 330773,
'user': 'Roadrunner21',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12331089,
'id': 69241085,
'lat': 33.7678201,
'lon': -84.3930642,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 19, 14, 23, 23),
'uid': 330773,
'user': 'Roadrunner21',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69241087,
'lat': 33.7688417,
'lon': -84.3929057,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69241089,
'lat': 33.7691107,
'lon': -84.3930421,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69241093,
'lat': 33.7694375,
'lon': -84.3930366,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69241096,
'lat': 33.7697055,
'lon': -84.3931995,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69241097,
'lat': 33.7699954,
'lon': -84.3932017,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 15, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32050788,
'id': 69249210,
'lat': 33.7854538,
'lon': -84.3830127,
'tag': {},
'timestamp': datetime.datetime(2015, 6, 18, 13, 13, 57),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69249214,
'lat': 33.785432,
'lon': -84.382174,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 6, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69249218,
'lat': 33.78542,
'lon': -84.381642,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69249224,
'lat': 33.785406,
'lon': -84.381443,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69249225,
'lat': 33.785338,
'lon': -84.378582,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 16, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69249229,
'lat': 33.785328,
'lon': -84.378522,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 6, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69249230,
'lat': 33.785294,
'lon': -84.378426,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 44),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69249238,
'lat': 33.785647,
'lon': -84.386221,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69249240,
'lat': 33.785646,
'lon': -84.386165,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 16, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69249243,
'lat': 33.785619,
'lon': -84.384219,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69249251,
'lat': 33.785735,
'lon': -84.387815,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 6, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69249253,
'lat': 33.785701,
'lon': -84.386342,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 16, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69249258,
'lat': 33.785688,
'lon': -84.386307,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18527771,
'id': 69250364,
'lat': 33.7659073,
'lon': -84.3961227,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 24, 22, 2, 14),
'uid': 1494110,
'user': 'KristenK',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69250366,
'lat': 33.766647,
'lon': -84.396111,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 6, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69250368,
'lat': 33.7678392,
'lon': -84.3960997,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69250371,
'lat': 33.769475,
'lon': -84.396089,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 13),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12799663,
'id': 69250372,
'lat': 33.77027,
'lon': -84.396084,
'tag': {'highway': 'crossing'},
'timestamp': datetime.datetime(2012, 8, 20, 19, 16, 43),
'uid': 28852,
'user': 'Mark Gray',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18527771,
'id': 69250373,
'lat': 33.7713491,
'lon': -84.3961144,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2013, 10, 24, 22, 2, 14),
'uid': 1494110,
'user': 'KristenK',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69250771,
'lat': 33.782406,
'lon': -84.409548,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 46, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69253867,
'lat': 33.785757,
'lon': -84.389229,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69256234,
'lat': 33.771271,
'lon': -84.387421,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 19),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 17570068,
'id': 69256238,
'lat': 33.771291,
'lon': -84.387318,
'tag': {},
'timestamp': datetime.datetime(2013, 8, 29, 11, 20, 47),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69256261,
'lat': 33.771307,
'lon': -84.386887,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 19),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18527806,
'id': 69256268,
'lat': 33.7712886,
'lon': -84.3850163,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2013, 10, 24, 22, 6, 35),
'uid': 1494110,
'user': 'KristenK',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 65530973,
'id': 69256273,
'lat': 33.771271,
'lon': -84.383581,
'tag': {'crossing': 'marked', 'highway': 'crossing'},
'timestamp': datetime.datetime(2018, 12, 16, 20, 19, 42),
'uid': 3327134,
'user': 'afonit',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 34805046,
'id': 69256277,
'lat': 33.77128,
'lon': -84.383443,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 10, 22, 17, 42, 52),
'uid': 2655992,
'user': 'steverumizen',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69256279,
'lat': 33.771288,
'lon': -84.383316,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 19),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69256283,
'lat': 33.771249,
'lon': -84.379159,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69256287,
'lat': 33.771233,
'lon': -84.377735,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 6, 57),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69256291,
'lat': 33.771219,
'lon': -84.37653,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 19),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69256293,
'lat': 33.771197,
'lon': -84.374759,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69258013,
'lat': 33.778021,
'lon': -84.387291,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69258015,
'lat': 33.778043,
'lon': -84.388662,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 47, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69258018,
'lat': 33.7780485,
'lon': -84.3887828,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69258470,
'lat': 33.764922,
'lon': -84.403969,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69258478,
'lat': 33.76495,
'lon': -84.407745,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259010,
'lat': 33.768911,
'lon': -84.418651,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259011,
'lat': 33.768911,
'lon': -84.419555,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259014,
'lat': 33.768923,
'lon': -84.420466,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259016,
'lat': 33.768951,
'lon': -84.421959,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259118,
'lat': 33.7700542,
'lon': -84.4043106,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259122,
'lat': 33.77012,
'lon': -84.40419,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259124,
'lat': 33.770372,
'lon': -84.404619,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259128,
'lat': 33.77123,
'lon': -84.387587,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5047917,
'id': 69259129,
'lat': 33.771239,
'lon': -84.388845,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 6, 22, 1, 49, 39),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259130,
'lat': 33.771244,
'lon': -84.38941,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 25454153,
'id': 69259138,
'lat': 33.7712873,
'lon': -84.3907186,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2014, 9, 15, 12, 15, 51),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 28760602,
'id': 69259142,
'lat': 33.7712896,
'lon': -84.392053,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 2, 10, 21, 25, 37),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 25454153,
'id': 69259143,
'lat': 33.7712855,
'lon': -84.3929145,
'tag': {},
'timestamp': datetime.datetime(2014, 9, 15, 12, 15, 51),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 50986313,
'id': 69259145,
'lat': 33.771315,
'lon': -84.3934175,
'tag': {'crossing': 'traffic_signals',
'highway': 'crossing',
'tactile_paving': 'yes'},
'timestamp': datetime.datetime(2017, 8, 9, 23, 40, 6),
'uid': 3009398,
'user': 'StackKorora',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259147,
'lat': 33.771323,
'lon': -84.394655,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259150,
'lat': 33.771328,
'lon': -84.395517,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259151,
'lat': 33.77133,
'lon': -84.395939,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 29055286,
'id': 69259159,
'lat': 33.7713526,
'lon': -84.396345,
'tag': {'crossing': 'traffic_signals', 'highway': 'crossing'},
'timestamp': datetime.datetime(2015, 2, 23, 21, 46, 35),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259166,
'lat': 33.771365,
'lon': -84.39663,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259170,
'lat': 33.771367,
'lon': -84.398196,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259176,
'lat': 33.771351,
'lon': -84.398391,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259181,
'lat': 33.771323,
'lon': -84.398585,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259185,
'lat': 33.771283,
'lon': -84.398775,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259189,
'lat': 33.7711994,
'lon': -84.3991467,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259190,
'lat': 33.7711147,
'lon': -84.3993745,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259192,
'lat': 33.7709561,
'lon': -84.3997319,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 8045270,
'id': 69259195,
'lat': 33.7709079,
'lon': -84.4000376,
'tag': {},
'timestamp': datetime.datetime(2011, 5, 4, 2, 4, 58),
'uid': 396090,
'user': 'upstream',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259201,
'lat': 33.7705177,
'lon': -84.4006879,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259203,
'lat': 33.770383,
'lon': -84.401021,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259206,
'lat': 33.770344,
'lon': -84.401122,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259207,
'lat': 33.770317,
'lon': -84.40121,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259208,
'lat': 33.770263,
'lon': -84.401384,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259210,
'lat': 33.770219,
'lon': -84.401572,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259211,
'lat': 33.770197,
'lon': -84.401665,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 37),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259213,
'lat': 33.7701488,
'lon': -84.4019956,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 6),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259221,
'lat': 33.7701193,
'lon': -84.4026606,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259223,
'lat': 33.7701193,
'lon': -84.4030308,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259226,
'lat': 33.7701155,
'lon': -84.4032147,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15799608,
'id': 69259227,
'lat': 33.7701136,
'lon': -84.4036621,
'tag': {},
'timestamp': datetime.datetime(2013, 4, 20, 16, 24, 7),
'uid': 186210,
'user': 'demory',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 62064200,
'id': 69259229,
'lat': 33.7700557,
'lon': -84.4047462,
'tag': {},
'timestamp': datetime.datetime(2018, 8, 28, 9, 19, 29),
'uid': 94578,
'user': 'andygol',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259235,
'lat': 33.770034,
'lon': -84.406287,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259241,
'lat': 33.770048,
'lon': -84.407538,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259245,
'lat': 33.770043,
'lon': -84.407619,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259246,
'lat': 33.770032,
'lon': -84.407806,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 62064200,
'id': 69259250,
'lat': 33.7700457,
'lon': -84.4087557,
'tag': {},
'timestamp': datetime.datetime(2018, 8, 28, 9, 19, 29),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 62064200,
'id': 69259251,
'lat': 33.7700585,
'lon': -84.4093617,
'tag': {},
'timestamp': datetime.datetime(2018, 8, 28, 9, 19, 29),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 62064200,
'id': 69259255,
'lat': 33.7700536,
'lon': -84.4098597,
'tag': {},
'timestamp': datetime.datetime(2018, 8, 28, 9, 19, 29),
'uid': 94578,
'user': 'andygol',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259257,
'lat': 33.770058,
'lon': -84.411183,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259258,
'lat': 33.770076,
'lon': -84.413478,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69259261,
'lat': 33.770084,
'lon': -84.414493,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 47, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69259262,
'lat': 33.770092,
'lon': -84.415407,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259264,
'lat': 33.770083,
'lon': -84.415488,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69259267,
'lat': 33.770058,
'lon': -84.415904,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 17, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69259268,
'lat': 33.770043,
'lon': -84.416483,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 48, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38741939,
'id': 69260659,
'lat': 33.7755939,
'lon': -84.4258108,
'tag': {},
'timestamp': datetime.datetime(2016, 4, 20, 23, 12, 45),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 19083824,
'id': 69261667,
'lat': 33.7704428,
'lon': -84.3888495,
'tag': {},
'timestamp': datetime.datetime(2013, 11, 24, 0, 20, 57),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33991512,
'id': 69262647,
'lat': 33.7688506,
'lon': -84.3874601,
'tag': {},
'timestamp': datetime.datetime(2015, 9, 13, 2, 24, 29),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56413286,
'id': 69262657,
'lat': 33.7688494,
'lon': -84.385233,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 16, 13, 0, 45),
'uid': 5648480,
'user': 'TeresaPeteti',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7063874,
'id': 69262906,
'lat': 33.76734,
'lon': -84.387457,
'tag': {},
'timestamp': datetime.datetime(2011, 1, 23, 17, 6, 34),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35426962,
'id': 69262915,
'lat': 33.767399,
'lon': -84.385384,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 11, 19, 3, 24, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69262916,
'lat': 33.767464,
'lon': -84.384084,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69266340,
'lat': 33.7714,
'lon': -84.42022,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 49, 9),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69266343,
'lat': 33.772245,
'lon': -84.420196,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 18, 25),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22857936,
'id': 69266345,
'lat': 33.773198,
'lon': -84.4201693,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 10, 20, 1, 58),
'uid': 550708,
'user': 'eltiar',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69266351,
'lat': 33.7714,
'lon': -84.42044,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56630742,
'id': 69268440,
'lat': 33.7678049,
'lon': -84.3911393,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 24, 8, 28, 28),
'uid': 94578,
'user': 'andygol',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 21752899,
'id': 69268441,
'lat': 33.767806,
'lon': -84.391893,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2014, 4, 17, 16, 56, 57),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3021897,
'id': 69268442,
'lat': 33.767811,
'lon': -84.392378,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 3, 3, 7, 33),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69268446,
'lat': 33.767845,
'lon': -84.395935,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 18, 34),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69268447,
'lat': 33.7678292,
'lon': -84.3963226,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 5),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69268455,
'lat': 33.7678396,
'lon': -84.3971395,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 5),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096376,
'id': 69268466,
'lat': 33.767792,
'lon': -84.398062,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 5, 28, 36),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33991512,
'id': 69268531,
'lat': 33.7673666,
'lon': -84.3878937,
'tag': {'button_operated': 'yes',
'crossing': 'traffic_signals',
'highway': 'traffic_signals',
'supervised': 'no'},
'timestamp': datetime.datetime(2015, 9, 13, 2, 24, 29),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69273384,
'lat': 33.773313,
'lon': -84.405329,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 49, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69275378,
'lat': 33.784509,
'lon': -84.401874,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 50, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69275381,
'lat': 33.786206,
'lon': -84.401881,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 19, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63914623,
'id': 69279712,
'lat': 33.772448,
'lon': -84.377716,
'tag': {'crossing': 'zebra', 'highway': 'crossing'},
'timestamp': datetime.datetime(2018, 10, 26, 21, 0, 13),
'uid': 3327134,
'user': 'afonit',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 15253561,
'id': 69279713,
'lat': 33.772554,
'lon': -84.377702,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2013, 3, 5, 0, 53, 58),
'uid': 127401,
'user': 'Ryan Lash',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 63914623,
'id': 69279716,
'lat': 33.77266,
'lon': -84.377689,
'tag': {'crossing': 'zebra', 'highway': 'crossing'},
'timestamp': datetime.datetime(2018, 10, 26, 21, 0, 13),
'uid': 3327134,
'user': 'afonit',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69279723,
'lat': 33.775705,
'lon': -84.377674,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69279735,
'lat': 33.778096,
'lon': -84.377663,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 19, 18),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286829,
'lat': 33.790502,
'lon': -84.38692,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286832,
'lat': 33.790331,
'lon': -84.386852,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286835,
'lat': 33.79007,
'lon': -84.386767,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286836,
'lat': 33.789805,
'lon': -84.386704,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286838,
'lat': 33.789626,
'lon': -84.386675,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 27792127,
'id': 69286839,
'lat': 33.789356,
'lon': -84.386649,
'tag': {'public_transport': 'stop_position', 'subway': 'yes'},
'timestamp': datetime.datetime(2014, 12, 30, 4, 58, 21),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 9,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286841,
'lat': 33.78867,
'lon': -84.386499,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286845,
'lat': 33.7884513,
'lon': -84.3864567,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286846,
'lat': 33.788135,
'lon': -84.386401,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286847,
'lat': 33.787599,
'lon': -84.38632,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286848,
'lat': 33.787061,
'lon': -84.386255,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286850,
'lat': 33.7867392,
'lon': -84.3862368,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286854,
'lat': 33.786521,
'lon': -84.386206,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286855,
'lat': 33.785891,
'lon': -84.38617,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286857,
'lat': 33.7855845,
'lon': -84.3861671,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286858,
'lat': 33.785351,
'lon': -84.386158,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286859,
'lat': 33.78481,
'lon': -84.386161,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286863,
'lat': 33.7845055,
'lon': -84.3861671,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286865,
'lat': 33.7833374,
'lon': -84.3862153,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286866,
'lat': 33.78196,
'lon': -84.38627,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286867,
'lat': 33.781742,
'lon': -84.386278,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286868,
'lat': 33.781466,
'lon': -84.386306,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 27792127,
'id': 69286872,
'lat': 33.7811288,
'lon': -84.3863247,
'tag': {'public_transport': 'stop_position', 'subway': 'yes'},
'timestamp': datetime.datetime(2014, 12, 30, 4, 58, 21),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 10,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286873,
'lat': 33.7806666,
'lon': -84.386328,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286874,
'lat': 33.77965,
'lon': -84.3863173,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 58),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286879,
'lat': 33.7786111,
'lon': -84.3862904,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286880,
'lat': 33.777814,
'lon': -84.386273,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286881,
'lat': 33.777794,
'lon': -84.38628,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286883,
'lat': 33.7774072,
'lon': -84.3862851,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286886,
'lat': 33.777133,
'lon': -84.386301,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286888,
'lat': 33.776768,
'lon': -84.386357,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286890,
'lat': 33.7762078,
'lon': -84.3864782,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286892,
'lat': 33.775853,
'lon': -84.386572,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286894,
'lat': 33.775479,
'lon': -84.386651,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286895,
'lat': 33.775305,
'lon': -84.386706,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286897,
'lat': 33.7749503,
'lon': -84.3867893,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286899,
'lat': 33.7739604,
'lon': -84.3869824,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286901,
'lat': 33.773527,
'lon': -84.387061,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 51410940,
'id': 69286902,
'lat': 33.7719326,
'lon': -84.3872157,
'tag': {'public_transport': 'stop_position', 'subway': 'yes'},
'timestamp': datetime.datetime(2017, 8, 24, 15, 39, 17),
'uid': 5124030,
'user': 'Ariana Evans',
'version': 9,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286904,
'lat': 33.771725,
'lon': -84.387229,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286905,
'lat': 33.7711244,
'lon': -84.3872507,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 13, 59),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286908,
'lat': 33.770151,
'lon': -84.387277,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286909,
'lat': 33.770013,
'lon': -84.387266,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286911,
'lat': 33.7698579,
'lon': -84.3872614,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 14),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69286912,
'lat': 33.769562,
'lon': -84.387262,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286915,
'lat': 33.769293,
'lon': -84.387284,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286934,
'lat': 33.7688813,
'lon': -84.3873311,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 14),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286955,
'lat': 33.7681863,
'lon': -84.3874596,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69286959,
'lat': 33.767926,
'lon': -84.387485,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4080399,
'id': 69286961,
'lat': 33.7674142,
'lon': -84.3875994,
'tag': {},
'timestamp': datetime.datetime(2010, 3, 9, 12, 14),
'uid': 57884,
'user': 'EdLoach',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69286966,
'lat': 33.767304,
'lon': -84.387607,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6017131,
'id': 69286969,
'lat': 33.7670498,
'lon': -84.3876099,
'tag': {},
'timestamp': datetime.datetime(2010, 10, 12, 0, 31, 35),
'uid': 21000,
'user': 'Lee Leonard',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69287521,
'lat': 33.796702,
'lon': -84.387585,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69287526,
'lat': 33.796972,
'lon': -84.387555,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69287529,
'lat': 33.797242,
'lon': -84.38754,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69287531,
'lat': 33.797512,
'lon': -84.387537,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69287534,
'lat': 33.797872,
'lon': -84.387556,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69287538,
'lat': 33.798141,
'lon': -84.387587,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69287541,
'lat': 33.798498,
'lon': -84.387649,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69287548,
'lat': 33.799492,
'lon': -84.387769,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 52, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289527,
'lat': 33.790753,
'lon': -84.38704,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69289530,
'lat': 33.790996,
'lon': -84.387181,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69289531,
'lat': 33.791154,
'lon': -84.387286,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289532,
'lat': 33.791306,
'lon': -84.387401,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69289536,
'lat': 33.791384,
'lon': -84.387455,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289539,
'lat': 33.791465,
'lon': -84.387502,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289541,
'lat': 33.791548,
'lon': -84.387543,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69289543,
'lat': 33.791809,
'lon': -84.387628,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 32),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69289546,
'lat': 33.79194,
'lon': -84.387639,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289549,
'lat': 33.792078,
'lon': -84.387651,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69289551,
'lat': 33.792386,
'lon': -84.387601,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69289552,
'lat': 33.79415,
'lon': -84.387547,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69290441,
'lat': 33.772161,
'lon': -84.411432,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69290447,
'lat': 33.772168,
'lon': -84.413462,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69290450,
'lat': 33.772176,
'lon': -84.41444,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69290452,
'lat': 33.772183,
'lon': -84.415442,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69290454,
'lat': 33.772191,
'lon': -84.41644,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69290459,
'lat': 33.771875,
'lon': -84.409358,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 48, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69290463,
'lat': 33.771899,
'lon': -84.409383,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 53, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69301922,
'lat': 33.76215,
'lon': -84.407783,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69303051,
'lat': 33.77729,
'lon': -84.408306,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2877939,
'id': 69303061,
'lat': 33.7764848,
'lon': -84.4097247,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 17, 21, 11, 46),
'uid': 1611,
'user': 'Harry Wood',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303065,
'lat': 33.776202,
'lon': -84.410225,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303072,
'lat': 33.776168,
'lon': -84.410306,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69303074,
'lat': 33.776154,
'lon': -84.411404,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303077,
'lat': 33.776167,
'lon': -84.413406,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303079,
'lat': 33.776173,
'lon': -84.414405,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303080,
'lat': 33.77618,
'lon': -84.415419,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69303082,
'lat': 33.776186,
'lon': -84.416412,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 44150304,
'id': 69303091,
'lat': 33.775599,
'lon': -84.418018,
'tag': {'railway': 'level_crossing'},
'timestamp': datetime.datetime(2016, 12, 4, 4, 4, 45),
'uid': 135163,
'user': 'MikeN',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 44150304,
'id': 69303093,
'lat': 33.775599,
'lon': -84.418365,
'tag': {'railway': 'level_crossing'},
'timestamp': datetime.datetime(2016, 12, 4, 4, 4, 45),
'uid': 135163,
'user': 'MikeN',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69303096,
'lat': 33.775601,
'lon': -84.419522,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303099,
'lat': 33.775605,
'lon': -84.422278,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303103,
'lat': 33.775606,
'lon': -84.423333,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69303106,
'lat': 33.775607,
'lon': -84.42418,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69303109,
'lat': 33.775608,
'lon': -84.424996,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 43),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69304611,
'lat': 33.761246,
'lon': -84.407788,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 49),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69304624,
'lat': 33.761388,
'lon': -84.411269,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 49),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69304647,
'lat': 33.76158,
'lon': -84.409933,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69305494,
'lat': 33.767374,
'lon': -84.414521,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69305503,
'lat': 33.768235,
'lon': -84.414513,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69305506,
'lat': 33.771338,
'lon': -84.414462,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69305510,
'lat': 33.773048,
'lon': -84.414433,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 55, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69305511,
'lat': 33.774095,
'lon': -84.414429,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 20, 53),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32816660,
'id': 69310874,
'lat': 33.7877787,
'lon': -84.4118299,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 23, 4, 55, 58),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69310876,
'lat': 33.787778,
'lon': -84.413635,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 56, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69310878,
'lat': 33.787783,
'lon': -84.414549,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 56, 50),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69311483,
'lat': 33.77138,
'lon': -84.422104,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 56, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 38739346,
'id': 69311485,
'lat': 33.7732252,
'lon': -84.4221047,
'tag': {},
'timestamp': datetime.datetime(2016, 4, 20, 20, 47, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69312511,
'lat': 33.7667854,
'lon': -84.3891045,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 41182069,
'id': 69312514,
'lat': 33.7669724,
'lon': -84.3890415,
'tag': {},
'timestamp': datetime.datetime(2016, 8, 2, 3, 9, 9),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69315513,
'lat': 33.778553,
'lon': -84.399935,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 57, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69315516,
'lat': 33.7815121,
'lon': -84.3999109,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 57, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69321129,
'lat': 33.783419,
'lon': -84.396653,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 59, 23),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69321135,
'lat': 33.784786,
'lon': -84.396643,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 59, 23),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69322501,
'lat': 33.779648,
'lon': -84.408358,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 59, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69322504,
'lat': 33.780598,
'lon': -84.408344,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 3, 59, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 22873917,
'id': 69322506,
'lat': 33.7815608,
'lon': -84.4083287,
'tag': {},
'timestamp': datetime.datetime(2014, 6, 11, 15, 38, 12),
'uid': 2012449,
'user': 'Dami_Tn',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69328520,
'lat': 33.777541,
'lon': -84.387296,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 1, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 34802805,
'id': 69328521,
'lat': 33.777565,
'lon': -84.388783,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 10, 22, 16, 0, 47),
'uid': 2655992,
'user': 'steverumizen',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332643,
'lat': 33.8167778,
'lon': -84.4625233,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332646,
'lat': 33.8165583,
'lon': -84.4624074,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332648,
'lat': 33.8157601,
'lon': -84.4618934,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332651,
'lat': 33.8153004,
'lon': -84.4615811,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332653,
'lat': 33.8149081,
'lon': -84.4613206,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332657,
'lat': 33.814615,
'lon': -84.461124,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332665,
'lat': 33.8133782,
'lon': -84.4603081,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332668,
'lat': 33.8127759,
'lon': -84.4599099,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332672,
'lat': 33.8121451,
'lon': -84.4594838,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332674,
'lat': 33.8117833,
'lon': -84.4592247,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332676,
'lat': 33.8108997,
'lon': -84.4585123,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332679,
'lat': 33.810294,
'lon': -84.45801,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332685,
'lat': 33.8071761,
'lon': -84.4553831,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332688,
'lat': 33.8061505,
'lon': -84.4545216,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332694,
'lat': 33.8049116,
'lon': -84.4534304,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 39),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332705,
'lat': 33.804183,
'lon': -84.452771,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56246637,
'id': 69332741,
'lat': 33.8001629,
'lon': -84.444013,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 18, 19, 40),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332765,
'lat': 33.798585,
'lon': -84.439276,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69332768,
'lat': 33.798418,
'lon': -84.438994,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 7),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332770,
'lat': 33.798157,
'lon': -84.438637,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332773,
'lat': 33.7978951,
'lon': -84.4383211,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332775,
'lat': 33.7975298,
'lon': -84.4379319,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332777,
'lat': 33.7972288,
'lon': -84.4376848,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332780,
'lat': 33.797049,
'lon': -84.437545,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69332783,
'lat': 33.796715,
'lon': -84.43736,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 41),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332785,
'lat': 33.7963182,
'lon': -84.4372083,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332787,
'lat': 33.7960415,
'lon': -84.437135,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332789,
'lat': 33.7955898,
'lon': -84.43708,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332793,
'lat': 33.79451,
'lon': -84.437053,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332796,
'lat': 33.7941127,
'lon': -84.4370115,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332825,
'lat': 33.793408,
'lon': -84.4368697,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 31),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332828,
'lat': 33.792656,
'lon': -84.4366284,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69332831,
'lat': 33.791348,
'lon': -84.4360475,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333615,
'lat': 33.787239,
'lon': -84.426926,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333617,
'lat': 33.787228,
'lon': -84.42711,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333619,
'lat': 33.787237,
'lon': -84.427549,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333621,
'lat': 33.7872888,
'lon': -84.4279957,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333623,
'lat': 33.7874087,
'lon': -84.4284304,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333624,
'lat': 33.7876572,
'lon': -84.4289977,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333627,
'lat': 33.7878703,
'lon': -84.4294846,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333629,
'lat': 33.7879293,
'lon': -84.4296724,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333633,
'lat': 33.7880727,
'lon': -84.4307084,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69333636,
'lat': 33.7880261,
'lon': -84.4316728,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333640,
'lat': 33.7880464,
'lon': -84.4320984,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333642,
'lat': 33.788414,
'lon': -84.433322,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333645,
'lat': 33.7886228,
'lon': -84.4337808,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333647,
'lat': 33.7890141,
'lon': -84.4344219,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333650,
'lat': 33.7893887,
'lon': -84.4348516,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333652,
'lat': 33.7897928,
'lon': -84.4352004,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333654,
'lat': 33.7901867,
'lon': -84.435461,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56247777,
'id': 69333656,
'lat': 33.790354,
'lon': -84.4355633,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 10, 19, 9, 32),
'uid': 422979,
'user': 'Parcanman',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333871,
'lat': 33.7878016,
'lon': -84.4089935,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 47, 8),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333876,
'lat': 33.7874189,
'lon': -84.4096293,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 47, 8),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333878,
'lat': 33.7869244,
'lon': -84.4105985,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 47, 8),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333880,
'lat': 33.7866991,
'lon': -84.4111084,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 47, 8),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333882,
'lat': 33.786479,
'lon': -84.411682,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 57),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333884,
'lat': 33.7859881,
'lon': -84.4131041,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 40, 48),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333888,
'lat': 33.785874,
'lon': -84.4134256,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 40, 48),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47334960,
'id': 69333890,
'lat': 33.7855672,
'lon': -84.4141011,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 18, 40, 48),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333892,
'lat': 33.785508,
'lon': -84.414212,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69333894,
'lat': 33.785403,
'lon': -84.414378,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333896,
'lat': 33.785319,
'lon': -84.414498,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333902,
'lat': 33.785141,
'lon': -84.414711,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333904,
'lat': 33.784958,
'lon': -84.414883,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69333906,
'lat': 33.784851,
'lon': -84.414971,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333908,
'lat': 33.784768,
'lon': -84.415026,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333911,
'lat': 33.784604,
'lon': -84.415116,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69333914,
'lat': 33.784379,
'lon': -84.415225,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333916,
'lat': 33.784271,
'lon': -84.415256,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333918,
'lat': 33.784085,
'lon': -84.41529,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69333920,
'lat': 33.783977,
'lon': -84.415298,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 2, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69333923,
'lat': 33.783478,
'lon': -84.415264,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 12),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333925,
'lat': 33.783066,
'lon': -84.4152372,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333927,
'lat': 33.7822272,
'lon': -84.4150056,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333931,
'lat': 33.7819929,
'lon': -84.4149112,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333933,
'lat': 33.781746,
'lon': -84.4147983,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333935,
'lat': 33.7814601,
'lon': -84.4146169,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333938,
'lat': 33.7809019,
'lon': -84.4141129,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333940,
'lat': 33.7802868,
'lon': -84.4134386,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333942,
'lat': 33.7800801,
'lon': -84.4132092,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333943,
'lat': 33.7797756,
'lon': -84.4128818,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333945,
'lat': 33.7792428,
'lon': -84.4122992,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333947,
'lat': 33.7778159,
'lon': -84.4107526,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333950,
'lat': 33.77715,
'lon': -84.4100394,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333952,
'lat': 33.7768545,
'lon': -84.4097458,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333956,
'lat': 33.7763974,
'lon': -84.4093489,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333961,
'lat': 33.7761182,
'lon': -84.4091378,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333963,
'lat': 33.7756984,
'lon': -84.4088504,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333967,
'lat': 33.7749935,
'lon': -84.4084532,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 4),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333973,
'lat': 33.7743046,
'lon': -84.4080798,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333975,
'lat': 33.7741032,
'lon': -84.4079549,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333976,
'lat': 33.7738217,
'lon': -84.4077703,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333977,
'lat': 33.7736203,
'lon': -84.4076134,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333980,
'lat': 33.7727015,
'lon': -84.4066646,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333981,
'lat': 33.7724987,
'lon': -84.4063665,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333982,
'lat': 33.7721074,
'lon': -84.4055963,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333983,
'lat': 33.7719104,
'lon': -84.4049957,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333986,
'lat': 33.7718034,
'lon': -84.4044483,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333994,
'lat': 33.7717664,
'lon': -84.4041092,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69333996,
'lat': 33.7716999,
'lon': -84.4029621,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334000,
'lat': 33.7716476,
'lon': -84.4025898,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334102,
'lat': 33.763721,
'lon': -84.3978668,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69334104,
'lat': 33.763388,
'lon': -84.397758,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 13),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334106,
'lat': 33.7630273,
'lon': -84.3976386,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334109,
'lat': 33.7626455,
'lon': -84.3974661,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334111,
'lat': 33.7623245,
'lon': -84.3972888,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334113,
'lat': 33.7615945,
'lon': -84.3967982,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334115,
'lat': 33.7612114,
'lon': -84.3965573,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334117,
'lat': 33.7610422,
'lon': -84.3964596,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334119,
'lat': 33.7607761,
'lon': -84.3963044,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334121,
'lat': 33.7604566,
'lon': -84.3961364,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334122,
'lat': 33.7601006,
'lon': -84.3959508,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334124,
'lat': 33.7595777,
'lon': -84.3957275,
'tag': {'railway': 'level_crossing'},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334126,
'lat': 33.759214,
'lon': -84.3955667,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334133,
'lat': 33.7715529,
'lon': -84.4022656,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334135,
'lat': 33.7713809,
'lon': -84.4016234,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334136,
'lat': 33.7712481,
'lon': -84.4012853,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334138,
'lat': 33.7710598,
'lon': -84.4008774,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334140,
'lat': 33.7707786,
'lon': -84.4004055,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334141,
'lat': 33.7705646,
'lon': -84.4001034,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334143,
'lat': 33.7704674,
'lon': -84.3999929,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 0, 58),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334145,
'lat': 33.7703057,
'lon': -84.3998228,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334147,
'lat': 33.7701524,
'lon': -84.399668,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334150,
'lat': 33.7699175,
'lon': -84.3994707,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334151,
'lat': 33.7696747,
'lon': -84.3992861,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334152,
'lat': 33.7694883,
'lon': -84.399176,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334154,
'lat': 33.76921,
'lon': -84.3990193,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334156,
'lat': 33.7687062,
'lon': -84.3987864,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334159,
'lat': 33.7684492,
'lon': -84.398689,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334161,
'lat': 33.7680909,
'lon': -84.3985801,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334163,
'lat': 33.7677072,
'lon': -84.3984797,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 45792029,
'id': 69334165,
'lat': 33.7670815,
'lon': -84.3983601,
'tag': {},
'timestamp': datetime.datetime(2017, 2, 3, 22, 6, 50),
'uid': 13832,
'user': 'Peter14',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334434,
'lat': 33.785501,
'lon': -84.414443,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69334437,
'lat': 33.785327,
'lon': -84.414929,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334439,
'lat': 33.785268,
'lon': -84.415088,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334443,
'lat': 33.785157,
'lon': -84.41538,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334445,
'lat': 33.785032,
'lon': -84.415768,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69334447,
'lat': 33.785009,
'lon': -84.415876,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334450,
'lat': 33.784987,
'lon': -84.416046,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334454,
'lat': 33.784963,
'lon': -84.41641,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69334456,
'lat': 33.784961,
'lon': -84.416758,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334458,
'lat': 33.7849889,
'lon': -84.4175169,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334460,
'lat': 33.7850958,
'lon': -84.4179342,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47330423,
'id': 69334462,
'lat': 33.7852204,
'lon': -84.4184399,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 16, 11, 5),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69334466,
'lat': 33.785898,
'lon': -84.42109,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 56253094,
'id': 69334467,
'lat': 33.7865705,
'lon': -84.4228658,
'tag': {},
'timestamp': datetime.datetime(2018, 2, 11, 0, 39, 23),
'uid': 422979,
'user': 'Parcanman',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69334468,
'lat': 33.7868555,
'lon': -84.4239277,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 39),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69334469,
'lat': 33.7871228,
'lon': -84.4247226,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334470,
'lat': 33.78723,
'lon': -84.425084,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69334472,
'lat': 33.7872698,
'lon': -84.4252943,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69334475,
'lat': 33.7872966,
'lon': -84.4254448,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 38),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 47332564,
'id': 69334477,
'lat': 33.7873203,
'lon': -84.4257617,
'tag': {},
'timestamp': datetime.datetime(2017, 3, 31, 17, 38, 39),
'uid': 1012362,
'user': 'Pnrrth',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69334479,
'lat': 33.787323,
'lon': -84.426119,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 6),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 10564296,
'id': 69336479,
'lat': 33.7787299,
'lon': -84.4075519,
'tag': {},
'timestamp': datetime.datetime(2012, 2, 2, 2, 48, 6),
'uid': 207745,
'user': 'NE2',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69337554,
'lat': 33.762545,
'lon': -84.411234,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 3, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69337805,
'lat': 33.774066,
'lon': -84.405642,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 4, 3),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69339769,
'lat': 33.7840654,
'lon': -84.4119213,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69339772,
'lat': 33.784228,
'lon': -84.4119179,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69339774,
'lat': 33.784378,
'lon': -84.4118993,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32816724,
'id': 69339775,
'lat': 33.785801,
'lon': -84.411655,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 23, 5, 4, 43),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32816717,
'id': 69339776,
'lat': 33.7859493,
'lon': -84.4116028,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 23, 5, 4, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32816717,
'id': 69339780,
'lat': 33.786692,
'lon': -84.4116667,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 23, 5, 4, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32816717,
'id': 69339784,
'lat': 33.7872449,
'lon': -84.4117372,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 23, 5, 4, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340202,
'lat': 33.7788236,
'lon': -84.4097511,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340203,
'lat': 33.7789631,
'lon': -84.4098504,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69340206,
'lat': 33.7792026,
'lon': -84.4100067,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 39),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340208,
'lat': 33.7793799,
'lon': -84.4101093,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340209,
'lat': 33.779653,
'lon': -84.4102403,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69340211,
'lat': 33.780621,
'lon': -84.41069,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 50, 38),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340212,
'lat': 33.7814989,
'lon': -84.4111091,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340214,
'lat': 33.781578,
'lon': -84.4111502,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 32863763,
'id': 69340217,
'lat': 33.78201,
'lon': -84.4113716,
'tag': {},
'timestamp': datetime.datetime(2015, 7, 25, 3, 4, 10),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69340219,
'lat': 33.7821981,
'lon': -84.411451,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 40),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69340221,
'lat': 33.7823756,
'lon': -84.4115096,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 40),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69340225,
'lat': 33.7838111,
'lon': -84.4118819,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 40),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12096830,
'id': 69340227,
'lat': 33.7839482,
'lon': -84.411905,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 6, 53, 40),
'uid': 7787,
'user': 'dygituljunky',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69341494,
'lat': 33.780575,
'lon': -84.400829,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 4, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69341496,
'lat': 33.7815151,
'lon': -84.4008339,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 4, 54),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69342078,
'lat': 33.770671,
'lon': -84.401661,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18527857,
'id': 69342082,
'lat': 33.770703,
'lon': -84.4032011,
'tag': {'highway': 'turning_circle'},
'timestamp': datetime.datetime(2013, 10, 24, 22, 10, 50),
'uid': 1494110,
'user': 'KristenK',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69342273,
'lat': 33.77015,
'lon': -84.38402,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 22, 42),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69342275,
'lat': 33.770035,
'lon': -84.384054,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 5, 2),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 28515097,
'id': 69342278,
'lat': 33.7698357,
'lon': -84.384061,
'tag': {},
'timestamp': datetime.datetime(2015, 1, 30, 23, 49),
'uid': 1376118,
'user': 'ChrisZontine',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35427386,
'id': 69342281,
'lat': 33.7686242,
'lon': -84.3840658,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 19, 4, 11, 12),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69342284,
'lat': 33.768115,
'lon': -84.38408,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 5, 2),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69347460,
'lat': 33.769108,
'lon': -84.404788,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69347467,
'lat': 33.769125,
'lon': -84.406297,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 51, 2),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69347472,
'lat': 33.769139,
'lon': -84.407212,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69347475,
'lat': 33.769145,
'lon': -84.407675,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 5),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69347481,
'lat': 33.769143,
'lon': -84.408771,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69347484,
'lat': 33.769141,
'lon': -84.409871,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 14),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69347486,
'lat': 33.769138,
'lon': -84.41118,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 51, 2),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3144458,
'id': 69347809,
'lat': 33.7688335,
'lon': -84.3790925,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 17, 19, 55, 21),
'uid': 28852,
'user': 'Mark Gray',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69349867,
'lat': 33.7895693,
'lon': -84.392069,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69349869,
'lat': 33.7889423,
'lon': -84.3919962,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69349874,
'lat': 33.7882321,
'lon': -84.3919476,
'tag': {},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 35341802,
'id': 69349875,
'lat': 33.7867151,
'lon': -84.3919452,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 11, 16, 3, 23, 36),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 6,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33396374,
'id': 69349877,
'lat': 33.7842853,
'lon': -84.3919552,
'tag': {},
'timestamp': datetime.datetime(2015, 8, 17, 17, 21, 15),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33396374,
'id': 69349884,
'lat': 33.7837838,
'lon': -84.3918948,
'tag': {},
'timestamp': datetime.datetime(2015, 8, 17, 17, 21, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33396374,
'id': 69349885,
'lat': 33.7836121,
'lon': -84.3918667,
'tag': {},
'timestamp': datetime.datetime(2015, 8, 17, 17, 21, 14),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69349891,
'lat': 33.782443,
'lon': -84.391614,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33396374,
'id': 69349896,
'lat': 33.7821251,
'lon': -84.3916119,
'tag': {},
'timestamp': datetime.datetime(2015, 8, 17, 17, 21, 15),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69349991,
'lat': 33.76595,
'lon': -84.391901,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69349993,
'lat': 33.766619,
'lon': -84.391898,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 39),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 19083824,
'id': 69349996,
'lat': 33.768358,
'lon': -84.3919346,
'tag': {},
'timestamp': datetime.datetime(2013, 11, 24, 0, 20, 57),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69349998,
'lat': 33.7689016,
'lon': -84.3921388,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69350001,
'lat': 33.7690032,
'lon': -84.3921639,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 5),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 12097680,
'id': 69350004,
'lat': 33.7691248,
'lon': -84.392172,
'tag': {},
'timestamp': datetime.datetime(2012, 7, 3, 8, 42, 4),
'uid': 7787,
'user': 'dygituljunky',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 19083824,
'id': 69350007,
'lat': 33.7705955,
'lon': -84.3921468,
'tag': {},
'timestamp': datetime.datetime(2013, 11, 24, 0, 20, 57),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69350009,
'lat': 33.771142,
'lon': -84.392096,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 16),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 59657348,
'id': 69350011,
'lat': 33.7714455,
'lon': -84.3920327,
'tag': {'bus': 'yes',
'name': 'Techwood Drive & North Avenue',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2018, 6, 8, 6, 45, 13),
'uid': 4647004,
'user': 'Bhojaraj',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 25454153,
'id': 69350013,
'lat': 33.7716068,
'lon': -84.3920119,
'tag': {},
'timestamp': datetime.datetime(2014, 9, 15, 12, 15, 51),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 18212470,
'id': 69350022,
'lat': 33.775114,
'lon': -84.391969,
'tag': {},
'timestamp': datetime.datetime(2013, 10, 6, 13, 34, 19),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350024,
'lat': 33.775499,
'lon': -84.391962,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350031,
'lat': 33.775566,
'lon': -84.391964,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350033,
'lat': 33.77579,
'lon': -84.391977,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26451573,
'id': 69350035,
'lat': 33.7767293,
'lon': -84.3920915,
'tag': {'bus': 'yes',
'name': 'Techwood Drive & 5th Street',
'public_transport': 'stop_position'},
'timestamp': datetime.datetime(2014, 10, 30, 23, 58, 58),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26451573,
'id': 69350037,
'lat': 33.776901,
'lon': -84.392097,
'tag': {'crossing': 'traffic_signals', 'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2014, 10, 30, 23, 58, 58),
'uid': 586822,
'user': 'Saikrishna Arcot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350039,
'lat': 33.778148,
'lon': -84.392078,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 40),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350670,
'lat': 33.777545,
'lon': -84.3872,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 46),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350675,
'lat': 33.777534,
'lon': -84.386949,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69350678,
'lat': 33.777485,
'lon': -84.38629,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 19),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350683,
'lat': 33.777454,
'lon': -84.385871,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69350685,
'lat': 33.777356,
'lon': -84.384417,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 51, 11),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 11694641,
'id': 69350687,
'lat': 33.7772592,
'lon': -84.3828269,
'tag': {},
'timestamp': datetime.datetime(2012, 5, 25, 0, 22, 40),
'uid': 136601,
'user': 'maven149',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 11694641,
'id': 69350690,
'lat': 33.7771575,
'lon': -84.3813589,
'tag': {},
'timestamp': datetime.datetime(2012, 5, 25, 0, 22, 40),
'uid': 136601,
'user': 'maven149',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69350695,
'lat': 33.777047,
'lon': -84.379827,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 6, 47),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 13730298,
'id': 69354218,
'lat': 33.7781441,
'lon': -84.3915359,
'tag': {},
'timestamp': datetime.datetime(2012, 11, 3, 4, 4, 17),
'uid': 10786,
'user': 'stucki1',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 14103882,
'id': 69354230,
'lat': 33.7778387,
'lon': -84.3905539,
'tag': {},
'timestamp': datetime.datetime(2012, 11, 30, 20, 44, 21),
'uid': 618879,
'user': 'van Rees',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69358596,
'lat': 33.787208,
'lon': -84.414847,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 23, 56),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69361728,
'lat': 33.7815252,
'lon': -84.4027329,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69361731,
'lat': 33.782221,
'lon': -84.402746,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 24, 11),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69361734,
'lat': 33.784523,
'lon': -84.402813,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 8),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69361736,
'lat': 33.78621,
'lon': -84.402813,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 1),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 2760040,
'id': 69361742,
'lat': 33.7800139,
'lon': -84.4028084,
'tag': {},
'timestamp': datetime.datetime(2009, 10, 6, 13, 24, 11),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6049721,
'id': 69361753,
'lat': 33.7815242,
'lon': -84.402628,
'tag': {},
'timestamp': datetime.datetime(2010, 10, 15, 14, 32, 31),
'uid': 178479,
'user': 'BigPeteB',
'version': 9,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69363546,
'lat': 33.775189,
'lon': -84.40662,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 31),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365240,
'lat': 33.7815131,
'lon': -84.4006049,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69365243,
'lat': 33.783674,
'lon': -84.400585,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 15),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365245,
'lat': 33.784496,
'lon': -84.400607,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365248,
'lat': 33.786201,
'lon': -84.400655,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 9, 59),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365771,
'lat': 33.775091,
'lon': -84.387322,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365773,
'lat': 33.775075,
'lon': -84.387179,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69365775,
'lat': 33.775049,
'lon': -84.386757,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 17),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365777,
'lat': 33.77501,
'lon': -84.386108,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365780,
'lat': 33.774916,
'lon': -84.384648,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 26215304,
'id': 69365783,
'lat': 33.774815,
'lon': -84.383077,
'tag': {'wheelchair': 'limited'},
'timestamp': datetime.datetime(2014, 10, 20, 14, 48, 56),
'uid': 2413464,
'user': 'George B',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365785,
'lat': 33.774718,
'lon': -84.381566,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69365786,
'lat': 33.774622,
'lon': -84.38006,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 10, 10),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 13214719,
'id': 69365804,
'lat': 33.7744594,
'lon': -84.3728077,
'tag': {},
'timestamp': datetime.datetime(2012, 9, 23, 1, 22, 26),
'uid': 127401,
'user': 'Ryan Lash',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69369981,
'lat': 33.780614,
'lon': -84.40979,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69369983,
'lat': 33.781476,
'lon': -84.410195,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69369984,
'lat': 33.781521,
'lon': -84.410208,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69369985,
'lat': 33.781569,
'lon': -84.410211,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 24),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370138,
'lat': 33.7751509,
'lon': -84.3921101,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370140,
'lat': 33.7752893,
'lon': -84.3922813,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 7,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370144,
'lat': 33.7754069,
'lon': -84.3924112,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370147,
'lat': 33.7755061,
'lon': -84.3925383,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370150,
'lat': 33.7755799,
'lon': -84.392613,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370151,
'lat': 33.7756609,
'lon': -84.392747,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370152,
'lat': 33.7757189,
'lon': -84.39286,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370154,
'lat': 33.7757829,
'lon': -84.393007,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370157,
'lat': 33.7758349,
'lon': -84.39316,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370159,
'lat': 33.7759049,
'lon': -84.39348,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370162,
'lat': 33.7759238,
'lon': -84.3938385,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370164,
'lat': 33.7759219,
'lon': -84.393975,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370167,
'lat': 33.7759029,
'lon': -84.394139,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370172,
'lat': 33.775106,
'lon': -84.387476,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370174,
'lat': 33.775115,
'lon': -84.388818,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 35),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370177,
'lat': 33.7751189,
'lon': -84.3895323,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370179,
'lat': 33.775121,
'lon': -84.389843,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 26),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69370181,
'lat': 33.775129,
'lon': -84.389904,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 36),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69370183,
'lat': 33.775155,
'lon': -84.389969,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 27),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372259,
'lat': 33.775881,
'lon': -84.387313,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 11, 58),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 31167034,
'id': 69372261,
'lat': 33.775898,
'lon': -84.3888092,
'tag': {},
'timestamp': datetime.datetime(2015, 5, 15, 9, 52, 48),
'uid': 2823295,
'user': 'ramyaragupathy',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 7063874,
'id': 69372770,
'lat': 33.7682875,
'lon': -84.3873966,
'tag': {},
'timestamp': datetime.datetime(2011, 1, 23, 17, 6, 34),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33991512,
'id': 69372776,
'lat': 33.7694178,
'lon': -84.3874546,
'tag': {},
'timestamp': datetime.datetime(2015, 9, 13, 2, 24, 29),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 33991512,
'id': 69372780,
'lat': 33.7697793,
'lon': -84.3874435,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2015, 9, 13, 2, 24, 29),
'uid': 1946151,
'user': 'Jack the Ripper',
'version': 5,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372783,
'lat': 33.770011,
'lon': -84.387435,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69372784,
'lat': 33.771494,
'lon': -84.387417,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 48),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372785,
'lat': 33.772318,
'lon': -84.387351,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2009, 12, 12, 4, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 6062024,
'id': 69372787,
'lat': 33.776334,
'lon': -84.387309,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 10, 16, 21, 44, 18),
'uid': 178479,
'user': 'BigPeteB',
'version': 3,
'visible': True},
'type': 'node'},
{'data': {'changeset': 5048474,
'id': 69372791,
'lat': 33.776815,
'lon': -84.387303,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 6, 22, 6, 3, 52),
'uid': 178479,
'user': 'BigPeteB',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372794,
'lat': 33.778728,
'lon': -84.387283,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 4877378,
'id': 69372795,
'lat': 33.779545,
'lon': -84.387275,
'tag': {'highway': 'traffic_signals'},
'timestamp': datetime.datetime(2010, 6, 1, 18, 57, 55),
'uid': 296534,
'user': 'bibbit',
'version': 4,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372797,
'lat': 33.779957,
'lon': -84.387272,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3110547,
'id': 69372801,
'lat': 33.780181,
'lon': -84.387298,
'tag': {},
'timestamp': datetime.datetime(2009, 11, 14, 4, 52, 48),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
{'data': {'changeset': 3353549,
'id': 69372804,
'lat': 33.7804,
'lon': -84.387362,
'tag': {},
'timestamp': datetime.datetime(2009, 12, 12, 4, 12, 4),
'uid': 147510,
'user': 'woodpeck_fixbot',
'version': 2,
'visible': True},
'type': 'node'},
...]
In [13]:
map_data = get_map_data(mapsize)
loading local map...
We need to turn the map into a usable graph structure now!
Possible optimization: right now I have each node store its neighbors in IDs and as pointers. Since pointer dereferencing is slow, what we really want to do is to assign a zero-indexed ID to each node so it can be referenced in a list.
In [165]:
# Todo add to node ititialziation
class Node:
def __init__(self, node_id, lat, lng, is_stoplight, adj):
self.node_id = node_id
self.lat = lat
self.lng = lng
self.is_stoplight = is_stoplight
self.adj = adj
self.edge_coords = None
self.edge_elevations = []
self.edge_work = []
def __lt__(self, other):
return False
def __gt__(self, other):
return False
def create_adj_node_ptrs(self):
self.adj_node_ptrs = list(nodes[adj_node_id] for adj_node_id in self.adj)
In [ ]:
In [217]:
# TODO support bridges
data['allow_bridges'] = False
data['banned_highway_types'] = [
'motorway', 'trunk', 'service', 'steps', 'footway', 'pedestrian', 'sidewalk', 'path'
]
# Also may include primary, secondary
# Highway type descriptions https://wiki.openstreetmap.org/wiki/Key:highway
# motorway: interstate
# trunk: mostly grade-separated state/us highways, always with medians
# primary: major roads
# footway: exclusively pedestrians
# sidewall: always on side of road
# pedestrian: pedestrian oriented path, but not sidewalk
# steps: stairsteps
# path: trail
# bridleway: horse trail
from collections import defaultdict
def map_to_graph(map_data):
banned_types = set(data['banned_highway_types'])
graph = defaultdict(set)
for entry in map_data:
if (entry['type'] == 'way'
and 'data' in entry.keys()
and 'tag' in entry['data'].keys()
and 'highway' in entry['data']['tag'].keys()
):
highway_type = entry['data']['tag']['highway']
else: # Is not labelled highway
continue
if (True
and highway_type not in banned_types
and (data['allow_bridges'] or ('bridge' not in entry['data']['tag']))
):
road_nodes = entry['data']['nd']
for i in range(len(road_nodes) - 1):
graph[road_nodes[i]].add(road_nodes[i+1])
graph[road_nodes[i+1]].add(road_nodes[i])
return graph
In [218]:
adj_list = map_to_graph(map_data)
In [219]:
def get_node_entries(target_nodes, map_data):
for item in map_data:
item_id = item["data"]["id"]
if item_id in target_nodes:
yield (item_id, item)
In [220]:
node_lat_lng = []
datapts_per_degree = 10800
def create_node_list_with_elevations(adj_list, map_data):
nodes = dict()
node_heights, node_latlons = dict(), dict()
stoplights = set()
for node_id, node_info in get_node_entries(adj_list.keys(), map_data):
nodes[node_id] = Node(
node_id,
lat=float(node_info['data']['lat']),
lng=float(node_info['data']['lon']),
is_stoplight =
('tag' in node_info['data'] and 'highway' in node_info['data']['tag']
and node_info['data']['tag']['highway'] == 'traffic_signals'
),
adj = list(adj_list[node_id])
)
return nodes
In [221]:
nodes = create_node_list_with_elevations(adj_list, map_data)
In [222]:
for node_id, node in nodes.items():
node.create_adj_node_ptrs()
In [223]:
import numpy as np
datapts_per_degree = 10800
def add_edges_return_queries(nodes):
large_query = set()
for node_id, node in nodes.items():
edge_coords = []
for adj_node in node.adj_node_ptrs:
# Degrees aren't squares, so this isn't super valid, but it's not important.
dist_in_degs = np.sqrt((node.lat - adj_node.lat)**2 + (node.lng - adj_node.lng)**2)
n_steps = max(int(dist_in_degs * datapts_per_degree), 2)
lat_steps = np.linspace(node.lat, adj_node.lat, num=n_steps, endpoint=True)
lng_steps = np.linspace(node.lng, adj_node.lng, num=n_steps, endpoint=True)
coords = list(zip(lat_steps, lng_steps))
edge_coords.append(coords)
large_query.update(coords)
node.edge_coords = edge_coords
return large_query
In [224]:
large_query = add_edges_return_queries(nodes)
In [225]:
# Make sure each node's edges start with the same coordinates
def test_edge_coords_start(nodes):
for node_id, node in nodes.items():
first = (node.lat, node.lng)
for edge in node.edge_coords:
assert edge[0] == first
test_edge_coords_start(nodes)
# Make sure each node's edges end with the same coordinates
# as its adjacent node's start with
def test_edge_coords_end(nodes):
for node_id, node in nodes.items():
assert len(node.edge_coords) == len(node.adj) == len(node.adj_node_ptrs)
for i in range(len(node.adj_node_ptrs)):
assert (node.adj_node_ptrs[i].lat, node.adj_node_ptrs[i].lng) == node.edge_coords[i][-1]
test_edge_coords_end(nodes)
Possible optimization here: instead of +=ing a bunch of strings, we could use a stringbuilder type object
In [226]:
from collections import defaultdict
def build_query_text(large_query, country="United States"):
queries = defaultdict(str)
latlng_order = defaultdict(list)
for lat_lng in large_query:
lat, lng = lat_lng
fname = ('grd' + ('n' if lat>0 else 's')
+ str(abs(math.ceil(lat))).zfill(2)
+ ('e' if lng>=0 else 'w') # lng = 0 block is all east I guess
+ str(abs(math.floor(lng))).zfill(3)
)
s = str(lng) + ' ' + str(lat) + '\n'
queries[fname] += s
latlng_order[fname].append(lat_lng)
return queries, latlng_order
def query_elevations(queries, latlng_order, country="United States"):
points = []
elevations = []
for fname in queries.keys():
if country == 'United States': # TODO deal with AK
database_path = 'elevationdata/' + fname + '_13/w001001.adf'
if country == 'Mexico' or country == 'Canada' or country == None:
# TODO deal with country == None which would be sorta weird
database_path = 'elevationdata/' + fname + '_1/w001001.adf'
proc = subprocess.Popen(
['gdallocationinfo', database_path, '-valonly', '-geoloc'],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
universal_newlines=True
)
output, err = proc.communicate(queries[fname])
elevations += [float(s) for s in output.splitlines()]
points += latlng_order[fname]
if len(points) != len(elevations):
raise Exception("Error querying points: " + str(len(points)) + " points, " + str(len(elevations)) + " elevations")
ret = dict()
for i in range(len(points)):
ret[points[i]] = elevations[i]
return ret
In [227]:
queries, latlng_order = build_query_text(large_query, country="United States")
In [228]:
elevations = query_elevations(queries, latlng_order, country="United States")
In [229]:
def set_node_elevations(nodes, elevations):
for node_id, node in nodes.items():
for edge in node.edge_coords:
elevation_list = []
for coord_pair in edge:
elevation_list.append(elevations[coord_pair])
node.edge_elevations.append(elevation_list)
In [230]:
set_node_elevations(nodes, elevations)
How nice! Now we need to decide what kind of edges we need to split on due to elevation differences. Let's test some stuff out.
In [231]:
deviations = []
high_deviations = []
low_deviations = []
for node_id, node in nodes.items():
for i, edge in enumerate(node.edge_elevations):
bottom_end = min(edge[0], edge[-1])
top_end = max(edge[0], edge[-1])
top = max(edge)
bottom = min(edge)
deviations.append(max(top-top_end, bottom_end-bottom))
high_deviations.append(top-top_end)
low_deviations.append(bottom_end-bottom)
In [232]:
print(0, len(deviations))
print(.01, sum([i >= .01 for i in deviations]))
print(.1, sum([i >= .1 for i in deviations]))
print(.3, sum([i >= .3 for i in deviations]))
print(1, sum([i >= 1 for i in deviations]))
print(3, sum([i >= 3 for i in deviations]))
print(5, sum([i >= 5 for i in deviations]))
0 6846
0.01 766
0.1 580
0.3 340
1 120
3 24
5 10
Note that all values are even since our graph is directed, so there are edges going in each direction. Here's a question: since we've been storing all the adjacent edges of each graph as a random ordered list, what is the expected runtime of finding the opposite edge to split if we split over 1 meter?
In [233]:
edges_to_scan = 0
for node_id, node in nodes.items():
for i, edge in enumerate(node.edge_elevations):
bottom_end = min(edge[0], edge[-1])
top_end = max(edge[0], edge[-1])
top = max(edge)
bottom = min(edge)
edges_to_scan += len(node.edge_elevations)
print(edges_to_scan/4) # over 4 rather than 2 since we only have to look at "opposite" nodes from the ones we split
3967.0
I've seen better, but it's not worth doing anything about now. Road graphs are always kind of sparse, so I imagine this would increase somewhat linearly with edge total. Programming splitting sounds like a pain, though. I'll do it later (tm)
In [234]:
data['mass'] = 80 #kg
data['init_speed'] = 1.0
data['use_stoplights'] = True
In [235]:
def prep_graph(nodes):
init_energy = .5 *data['mass'] * data['init_speed'] ** 2
for node_id, node in nodes.items():
node.energy = init_energy
node.speed = data['init_speed']
node.prev_node = None
node.next_nodes = set()
node.path_start = node
# TODO add to some other method
node.elevation = node.edge_elevations[0][0]
In [236]:
prep_graph(nodes)
Here comes that big dramatic |V|log|V| sort that all CS classes have been prepraring me for!!
In [237]:
sorted_nodes = sorted(nodes.values(), key=lambda n: -n.elevation)
Well that was quick. Let's get to the «physics»
In [238]:
g = -9.81 #accelertion due to gravity, m/s
data['drag_c'] = .6 #drag coefficient of human body
data['cross_a'] = .68 #Cross-sectional area of human body
data['mass'] = 80 #kg
data['frict_c'] = .03 #Coefficient of friction
import math
def prep_data_constants(data):
data['c1'] = (1.225 * data['drag_c'] * data['cross_a']) / (2 * data['mass'])
data['c2'] = g * data['frict_c']
def new_velocity(v0, dh, dist): # for small changes in V; dist is horizontal dist
if v0 == 0:
return 0
theta = math.atan2(dh, dist)
# Original implementation
# a = ((g * math.sin(theta))
# - (1.225 * drag_c * cross_a * v0 ** 2) / (2 * mass)
# + (g * frict_c * math.cos(theta))
# )
# Prematurely optimized (tm) implementation
a = ((g * math.sin(theta))
- v0 ** 2 * data['c1']
+ math.cos(theta) * data['c2']
)
# Total Acceleration = grav, air resistance, rolling friction resistance
# Assumes final velocity causes about the amount of air resistance as
# inital velocity
vel_sqr = 2 * a * math.sqrt(dist**2 + dh**2) + v0 ** 2
if vel_sqr > 0:
return math.sqrt(vel_sqr)
else:
return 0
In [239]:
prep_data_constants(data)
In [240]:
new_velocity(1.0, -2, 30)
Out[240]:
4.732246713956515
In [241]:
new_velocity(1.0, -1, 30)
Out[241]:
1.6656743090735213
Let's see what happens when we try to "integrate" this more precisely.
In [ ]:
In [242]:
def new_velocity(v0, dh, dist, integrations=1): # for small changes in V; dist is horizontal dist
if v0 == 0:
return 0
theta = math.atan2(dh, dist)
# Original implementation
# a = ((g * math.sin(theta))
# - (1.225 * drag_c * cross_a * v0 ** 2) / (2 * mass)
# + (g * frict_c * math.cos(theta))
# )
# Prematurely optimized (tm) implementation
v = v0
dist_per_i = dist/integrations
dh_per_i = dh/integrations
for i in range(integrations):
a = ((g * math.sin(theta))
- v ** 2 * data['c1']
+ math.cos(theta) * data['c2']
)
# Total Acceleration = grav, air resistance, rolling friction resistance
# Assumes final velocity causes about the amount of air resistance as
# inital velocity
vel_sqr = 2 * a * math.sqrt(dist_per_i**2 + dh_per_i**2) + v ** 2
if vel_sqr > 0:
v = math.sqrt(vel_sqr)
else:
return 0
return v
In [243]:
def new_velocity_no_friction(v0, dh, dist): # for small changes in V; dist is horizontal dist
integrations=1
if v0 == 0:
return 0
theta = math.atan2(dh, dist)
# Original implementation
# a = ((g * math.sin(theta))
# - (1.225 * drag_c * cross_a * v0 ** 2) / (2 * mass)
# + (g * frict_c * math.cos(theta))
# )
# Prematurely optimized (tm) implementation
v = v0
dist_per_i = dist/integrations
dh_per_i = dh/integrations
for i in range(integrations):
a = ((g * math.sin(theta))
+ math.cos(theta) * data['c2']
)
# Total Acceleration = grav, air resistance, rolling friction resistance
# Assumes final velocity causes about the amount of air resistance as
# inital velocity
vel_sqr = 2 * a * math.sqrt(dist_per_i**2 + dh_per_i**2) + v ** 2
if vel_sqr > 0:
v = math.sqrt(vel_sqr)
else:
return 0
return v
In [244]:
new_velocity_no_friction(1.0, -1, 30)
Out[244]:
1.7210461934532721
In [245]:
new_velocity(1.0, -1, 30, 1)
Out[245]:
1.6656743090735213
In [246]:
new_velocity(1.0, -1, 30, 10)
Out[246]:
1.6223362027821746
In [247]:
new_velocity(1.0, -1, 30, 100)
Out[247]:
1.618456058926162
In [248]:
new_velocity(1.0, -1, 30, 1000)
Out[248]:
1.6180720127338581
In [249]:
new_velocity(1.0, -1, 30, 10000)
Out[249]:
1.6180336473064574
In [250]:
new_velocity_no_friction(1.0, -2, 30)
Out[250]:
4.752052188265613
In [251]:
new_velocity(1.0, -2, 30, 1)
Out[251]:
4.732246713956515
In [ ]:
In [252]:
new_velocity(1.0, -2, 30, 10)
Out[252]:
4.546802951678203
In [253]:
new_velocity(1.0, -2, 30, 100)
Out[253]:
4.530077272712141
In [254]:
new_velocity(1.0, -2, 30, 1000)
Out[254]:
4.528420663059089
In [255]:
new_velocity(1.0, -2, 30, 10000)
Out[255]:
4.528255159751737
In [256]:
def latlong_dist(lat1_raw, lon1_raw, lat2_raw, lon2_raw):
lat1 = math.radians(float(lat1_raw))
lon1 = math.radians(float(lon1_raw))
lat2 = math.radians(float(lat2_raw))
lon2 = math.radians(float(lon2_raw))
# approximate radius of earth in m
R = 6373000.0
dlon = lon2 - lon1
dlat = lat2 - lat1
a = (math.sin(dlat / 2)**2 + math.cos(lat1) * math.cos(lat2)
* math.sin(dlon / 2)**2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
distance = R * c
return distance
In [257]:
data['approx_frict_c'] = .03
def calculate_work(dist, dh): # Work done by gravity
theta = math.atan2(dh, dist)
a = ((g * math.sin(theta))
+ math.cos(theta) * g * data['approx_frict_c']
)
real_dist = math.sqrt(dist**2 + dh**2)
return real_dist * a * data['mass']
def find_work_all_edges(sorted_nodes):
for node in sorted_nodes:
node.edge_work = []
for i in range(len(node.adj)):
edge_coords = node.edge_coords[i]
edge_elevations = node.edge_elevations[i]
work = 0
horiz_dist = latlong_dist(edge_coords[0][0], edge_coords[0][1],
edge_coords[1][0], edge_coords[1][1])
for j in range(len(edge_coords) - 1):
dh = edge_elevations[j+1] - edge_elevations[j]
# horiz dist is actually same for each part of an edge
# horiz_dist = latlong_dist(edge_coords[j][0], edge_coords[j][1], edge_coords[j+1][0], edge_coords[j+1][1])
work += calculate_work(horiz_dist, dh)
node.edge_work.append(work)
In [258]:
find_work_all_edges(sorted_nodes)
In [ ]:
In [259]:
import numpy as np
import pylab as pl
from matplotlib import collections as mc
# lines = [[(0, 1), (1, 1)], [(2, 3), (3, 3)], [(1, 2), (1, 3)]]
# c = np.array([(1, 0, 0, 1), (0, 1, 0, 1), (0, 0, 1, 1)])
def graph_paths(sorted_nodes):
lines = []
colors = []
max_lat = -90
min_lat = 90
max_lng = -180
min_lng = 180
done = set()
for node in sorted_nodes:
max_lat = max(node.lat, max_lat)
min_lat = min(node.lat, min_lat)
max_lng = max(node.lng, max_lng)
min_lng = min(node.lng, min_lng)
for adj in node.next_nodes:
if ((adj.lng,adj.lat), (node.lng, node.lat)) not in done:
lines.append([(node.lng, node.lat),(adj.lng,adj.lat)])
done.add(((node.lng, node.lat),(adj.lng,adj.lat)))
colors = []
for line in lines:
beginning, end = line
x1, y1 = beginning
x2, y2 = end
angle = math.atan2(x2-x1, y2-y1)
colors.append((math.cos(angle) * .5 + .5, math.sin(angle) * .5 + .5, 0, 1))
lc = mc.LineCollection(lines, colors=colors, linewidths=1)
fig, ax = pl.subplots(figsize=(16,10))
ax.add_collection(lc)
# ax.autoscale()
# ax.margins(0.001)
ax.set_xlim(min_lng, max_lng)
ax.set_ylim(min_lat, max_lat)
plt.show()
In [260]:
In [267]:
import numpy as np
import pylab as pl
from matplotlib import collections as mc
# lines = [[(0, 1), (1, 1)], [(2, 3), (3, 3)], [(1, 2), (1, 3)]]
# c = np.array([(1, 0, 0, 1), (0, 1, 0, 1), (0, 0, 1, 1)])
def generate_compass():
lines = []
for x in [-1, -.5, 0, .5, 1]:
for y in [-1, -.5, 0, .5, 1]:
if (x, y) != (0,0):
lines.append([(0,0), ((x,y))])
colors = []
for line in lines:
beginning, end = line
x1, y1 = beginning
x2, y2 = end
angle = math.atan2(x2-x1, y2-y1)
colors.append((math.cos(angle) * .5 + .5, math.sin(angle) * .5 + .5, 0, 1))
lc = mc.LineCollection(lines, colors=colors, linewidths=1)
fig, ax = pl.subplots()
ax.add_collection(lc)
ax.autoscale()
# ax.margins(0.001)
plt.show()
In [268]:
generate_compass()
In [262]:
# Adding this for reference
# class Node:
# def __init__(self, node_id, lat, lng, is_stoplight, adj):
# self.node_id = node_id
# self.lat = lat
# self.lng = lng
# self.is_stoplight = is_stoplight
# self.adj = adj
# self.edge_coords = None
# self.edge_elevations = []
# def create_adj_node_ptrs(self):
# self.adj_node_ptrs = list(nodes[adj_node_id] for adj_node_id in self.adj)
# node.speed = data['init_speed']
# node.prev_node = None
# node.path_start = node
# # TODO add to some other method
# node.elevation = node.edge_elevations[0][0]
# g = -9.81 #accelertion due to gravity, m/s
# data['drag_c'] = .6 #drag coefficient of human body
# data['cross_a'] = .68 #Cross-sectional area of human body
# data['mass'] = 80 #kg
# data['frict_c'] = .03 #Coefficient of friction
# def prep_data_constants(data):
# data['c1'] = (1.225 * data['drag_c'] * data['cross_a']) / (2 * data['mass'])
# data['c2'] = g * data['frict_c']
In [263]:
from heapq import heappush, heappop
def algo_1(sorted_nodes):
edges_explored = 0
for top_node in sorted_nodes:
if top_node.prev_node != None: # Already part of a path
continue
need_to_explore = set([top_node])
heap = [(-top_node.elevation, top_node)]
while need_to_explore:
_, node = heappop(heap)
if node not in need_to_explore:
continue
need_to_explore.remove(node)
node_energy = node.energy
for i in range(len(node.adj)):
adj = node.adj_node_ptrs[i]
edge_work = node.edge_work[i]
# For air resistance version, check first if
# (node.speed > adj.speed or node.elevation > adj.elevaton)
# then ride down nodes
if edge_work + node_energy > adj.energy:
adj.energy = edge_work + node_energy
if adj.prev_node is not None:
prev = adj.prev_node
next_nodes = prev.next_nodes
next_nodes.remove(adj)
adj.prev_node = node
node.next_nodes.add(adj)
adj.path_start = top_node
need_to_explore.add(adj)
heappush(heap, (-adj.elevation, adj))
edges_explored += 1
return edges_explored
In [264]:
prep_graph(nodes) # reset graph
algo_1(sorted_nodes)
Out[264]:
8624
In [265]:
graph_paths(sorted_nodes)
In [266]:
def test_nodes(sorted_nodes):
for node in sorted_nodes:
for adj in node.adj_node_ptrs:
if adj in node.next_nodes:
assert adj.prev_node == node
else:
assert adj.prev_node != node
test_nodes(sorted_nodes)
In [ ]:
Content source: rmichnovicz/Sick-Slopes
Similar notebooks: