mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
- City engine: Esri ground, OSM buildings that rise with the scan, road ribbons carrying modelled traffic coloured by congestion, NYC DOT cameras, real ADS-B, MBTA GTFS lines + realtime vehicles, LAX runways with approach strobes, Fort Bragg restricted volumes, Everest terrain with contours. - Indexing keeps accelerating into a 260-capture global sweep while the planet whips a full turn. - The eye opens: aperture blades, sensor array waking, optics calibration, radar sweep, orbiting coordinate ring. - Camera wall with YOLOv8n detections and a city-pulse trace. - Ends on GOD'S EYE VIEW / OMNISCIENCE. - audio/sfx.py: sound design only, built to sit under a music track. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01KqP857pippaUs6konSDfe8
22 lines
1.3 KiB
Python
22 lines
1.3 KiB
Python
"""Live MBTA vehicle positions -> city/boston/vehicles.json (square + 1 km)."""
|
|
import json, os, sys, requests
|
|
from collections import Counter
|
|
sys.path.insert(0, os.path.dirname(__file__))
|
|
from common import enu, inside
|
|
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
|
|
j = requests.get('https://cdn.mbta.com/realtime/VehiclePositions_enhanced.json', timeout=30).json()
|
|
rows, total = [], 0
|
|
for e in j['entity']:
|
|
v = e.get('vehicle') or {}; p = v.get('position') or {}
|
|
if 'latitude' not in p: continue
|
|
total += 1
|
|
x, y = enu('boston', p['latitude'], p['longitude'])
|
|
if not inside('boston', x, y, 1000): continue
|
|
rid = (v.get('trip') or {}).get('route_id', '')
|
|
lab = (v.get('vehicle') or {}).get('label') or (v.get('vehicle') or {}).get('id', '')
|
|
sp = p.get('speed'); rows.append([x, y, p.get('bearing'), round(sp, 2) if sp is not None else None, rid, lab])
|
|
out = {'t': int(j['header']['timestamp']), 'source': 'cdn.mbta.com VehiclePositions_enhanced.json', 'v': rows}
|
|
json.dump(out, open(os.path.join(ROOT, 'city', 'boston', 'vehicles.json'), 'w'), separators=(',', ':'))
|
|
c = Counter(r[4].split('-')[0] if r[4].startswith(('Green', 'CR')) else ('bus' if r[4][:1].isdigit() or r[4][:2] in ('SL','CT') else r[4]) for r in rows)
|
|
print('t', out['t'], 'feed total', total, 'in square+1km', len(rows), dict(c))
|