Api = OsmApi()
pp = pprint.PrettyPrinter(indent=4)
-min_lon, min_lat, max_lon, max_lat = 37.634090753,55.7350616076,37.6530593351,55.7373086289
+min_lon, min_lat, max_lon, max_lat = 30.3830262851,59.9141077326,30.4079171848,59.9222065257
def remove_duplicates(l):
return [dict(t) for t in {tuple(d.items()) for d in l}]
and 'highway' in o['data']['tag']
and 'name' in o['data']['tag'], objects))
+def filter_waterways(objects):
+ return list(filter(lambda o:
+ o['data']['tag'] != {}
+ and 'waterway' in o['data']['tag']
+ and 'river' in o['data']['tag']['waterway']
+ and 'name' in o['data']['tag'], objects))
+
def filter_sightseeings(objects):
return list(filter(lambda o:
o['data']['tag'] != {}
districts = [
{'name': x['data']['tag']['name']} for x in filter_districts(objects)
]
+ rivers = [
+ {'name': x['data']['tag']['name']} for x in filter_waterways(objects)
+ ]
amenities = [
{'name': x['data']['tag']['name'],
'type': x['data']['tag']['amenity'],
'buildings': buildings,
'sightseeings': sightseeings,
'districts': districts,
+ 'rivers': remove_duplicates(rivers),
'amenities': amenities}