Skip to main content

NY Street Cameras

The NY Street Cameras feature displays the New York 511 traffic camera network on the Cesium globe.

Enabling NY Cameras

In the sidebar under Live Observation → New York Street Cameras, click Show NY Street Cameras. The app will:

  1. Fly the camera to the New York City area
  2. Plot all cameras as orange pin billboards

Click the button again to hide all cameras and return to the previous view.

Camera Pins

Each camera is displayed as an orange billboard at its geographic location. The data includes:

FieldDescription
NameCamera name (e.g., "Times Square Camera")
DirectionOfTravelCardinal direction the camera faces
RoadwayNameRoad or highway name
IDUnique camera identifier
Latitude / LongitudeGeographic coordinates
UrlStill image URL
VideoUrlVideo stream URL

Viewing a Camera

Click any camera pin to open an info box showing all of the above fields plus direct links:

  • View Image — Opens the still image in the full-screen modal viewer (supports pinch-zoom and drag-to-pan)
  • View Video — Opens the video stream in an embedded player (Video.js with HLS support)

Image Modal

The full-screen image modal supports:

  • Pinch-to-zoom on touch devices
  • Click-and-drag to pan when zoomed in
  • × button or click outside to close

Data Source

Camera data is loaded from client/public/data/response.json via the /cameras endpoint. This file is a static JSON array of NY camera objects sourced from the 511NY API.

For live 511NY data, the /ny511-cameras proxy endpoint is available but requires the NY511_API_KEY environment variable.

Implementation Notes

Camera entities are stored in cameraEntities[]. The camerasVisible boolean tracks visibility. Camera creation in fetchAndProcessCameras() creates Cesium.BillboardGraphics entities from the coordinate data.