diff options
Diffstat (limited to 'dev/atlanta/convert.py')
-rw-r--r-- | dev/atlanta/convert.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dev/atlanta/convert.py b/dev/atlanta/convert.py new file mode 100644 index 0000000..4d907b6 --- /dev/null +++ b/dev/atlanta/convert.py @@ -0,0 +1,41 @@ +import json +import math +from pprint import pprint + +CENTER = [33.85, -84.43] + + +def dist(a, b): + return math.sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) + + +with open('cctv.json', 'r') as f: + raw_data = json.load(f) + +cameras = raw_data['features'] + +sources = [] +for camera in cameras: + coord = [float(x) for x in reversed(camera['geometry']['coordinates'])] + if dist(coord, CENTER) > 0.4: + continue + cam = dict() + cam['id'] = camera['properties']['cctv_id'] + if 'HLS' in camera['properties']: + url = camera['properties']['HLS'] + url = url.replace('http://vss1live.dot.ga.gov:80/lo', '/georgiavss1') + url = url.replace('http://vss2live.dot.ga.gov:80/lo', '/georgiavss2') + url = url.replace('http://vss3live.dot.ga.gov:80/lo', '/georgiavss3') + url = url.replace('http://vss4live.dot.ga.gov:80/lo', '/georgiavss4') + url = url.replace('http://vss5live.dot.ga.gov:80/lo', '/georgiavss5') + cam['stream'] = url + elif camera['properties']['url'] is not None: + url = camera['properties']['url'] + url = url.replace('http://navigator-c2c.dot.ga.gov/snapshots', '/georgiasnapshots') + cam['url'] = url + else: + continue + cam['name'] = camera['properties']['location_description'] + sources.append({'coord': coord, 'cams': [cam]}) +with open('sources.json', 'w') as f: + json.dump(sources, f) |