aboutsummaryrefslogtreecommitdiff
path: root/dev/atlanta/convert.py
blob: 4d907b6c73dbeef13c8faef4784021bde995dd41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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)