CityIQ Streetlight sensors can emit 5 different data feeds encompassing parking, traffic, bicycle, pedestrian, and environmental data. Each feed is capable of capturing data and sending it to Xaqt to be processed. Xaqt ingests this data and creates meaningful analytics for users. Each CityIQ Sensor is mounted on a newly renovated light fixture around the city, the sensor, which we call a "node" collects various points of data depending on how it has been configured. For example, a node can be configured to collect Environmental, Traffic and Parking data but not Bicycle. This can be determined when a node is configured.

CityIQ Data Overview

But what does the data look like, how is it processed and what can we do with it? In this post we will discuss each of these feeds, the data structure, and the art of the possible.


Let's start with understanding the parking data feed. The CityIQ parking data feed is comprised of two components. Parking Zones and Parking Events.

To work with the data, we need to be able to use both data points.

Parking Zones

A Parking Zone is effectively an area in which the CityIQ sensor monitors. This could be a section of the street with metered parking, a no parking zone, a single space or any curb segment. The data includes a "geometry" or a series of latitude, longitude points which make up a rectangular zone.

The map above shows the zones monitored by all of the CityIQ Zones in deployment (Yellow Zones).

Parking Events

Each node captures the parking activity in its respective zone.  Lets take a look at the raw data to understand the contents.

Timestamp Event Type Vehicle ID Zone ID Geometry
2019-07-12 21:20:34.342 UTC Park In 39153 45701 LINESTRING(-117.1597 32.7115...)
2019-07-12 23:20:34.342 UTC Park Out 39153 45701 LINESTRING(-117.1597 32.7115...)

Above is a sample of the data we receive from GE Current. Each data point includes the approximate geometry for a vehicle, a zone ID, so the vehicle can be attributed to a zone, a vehicle ID, so we can keep track of a single vehicle, an event type of which we get two types, Park In and Park Out. As the data comes into our platform, we may receive a Park In event without a Park Out event, this would indicate a vehicle that is currently parked. Vehicles with both a park in event and a park out event would represent a vehicle that has parked and since left.

Xaqt Smart City Engage for CityIQ Parking Insights

Xaqt's Smart City Engage for CityIQ includes the following turnkey parking insights.

Insight Description
Real-Time Occupancy Map of Parked Vehicles
Real-Time Availability Map of Available Parking Spots
Parking Violations Non meter based (time bound, No Parking Zones)
Arrival Trends Timeseries charts that show when people arrive at various parking spots
Departure Trends Timeseries charts that show when people depart from various parking spots

Xaqt Parking Context Datastore (Digitizing the Curb)

Parking sensors to not inherently know the business rules for the asset they're monitoring. In other words, the sensor may tell you that a parking spot is available or not, but it doesn't know how long someone can park there, when they can park and how much it costs.

Xaqt's VeloCity platform allows Cities to import their parking and curb rules (ie, loading zones, TNC, parking regulations) to extend the value of CityIQ sensor data.

VeloCity also ingests data from parking meters and mobile payment applications, thereby enabling an extended set of insights (see below).

Insight Description
Parking Zones Map of Parking Zones and their Rules
Parking Meters Map of all Parking Meters and their Rules

Xaqt VeloCity Parking Insights

Once Parking Regulations are created in VeloCity and parking payment data has been integrated, then the following insights are enabled:

Insight Description
Parking Violations Map showing unpaid meter violations


Similarly to the CityIQ parking feed, the Traffic feed is comprised of two components - the Traffic "Zones" and the Traffic "Events." The CityIQ traffic feed can capture vehicle speeds, vehicle direction, and vehicle counts per cityIQ node. Rather than capturing information and data on single vehicles, each node captures aggregate data on the vehicles it can see in its plane.

Traffic Zones

Traffic Zone data we receive from CityIQ is a one time, per node set of data that includes information on the node tripwire placement as well as the ID associated with the node. A "Tripwire", a term used by GE Current, is a virtual zone drawn in the camera field of view during the initial setup of the node. It is capable of capturing information regarding vehicle counts, and speeds of the vehicles traveling through the field of view of the camera.

Tripwire Locations on a Map

This "Tripwire" helps us locate the exact location of where traffic data is collected, when combined with the Traffic Events dataset.

Traffic Events

The data we receive for traffic events from the CityIQ nodes includes, direction of vehicles, vehicle type, speed, vehicle count and timestamp. The process is such - vehicles enter the plane of view and cross the tripwire, the data gets processed by the CityIQ nodes and sent to Xaqt, where we process the data, store it and build analytics on top.

Let's examine a sample of this data.

Timestamp Node ID Speed Direction Vehicle Count
2019-07-12 21:06:28.522 UTC 9153953 23 M/S 39 Degrees 1
2019-07-12 21:07:23.243 UTC 328452 10 M/S 275 Degrees 2

For each node, we receive a stream of data of the most recent events including the above. We capture a timestamp of the event and the time the vehicles were detected, the node ID so we can associate the tripwire to the event and understand where these vehicles are around the city, the speed in meters per second (which we convert to Miles per Hour) the direction or heading of the vehicles, and a vehicle count.

Xaqt Smart City Engage for CityIQ Traffic Insights

Xaqt's Smart City Engage for CityIQ includes the following turnkey parking insights

Insight Description
Historic Traffic Map Map of Zone Locations and the average speeds and counts of vehicles
Live Traffic Map Map of Real-time Traffic information including speed and vehicle counts
Traffic Speeds by Hour of Day Bar Chart outlining speed by hour of day across the city
Vehicles Counted over Time Count of Vehicles we have observed or an area, or citywide over a selected timeframe


The Bicycle data feed is very similar to the traffic data feed but with a few differences. Similarly to the other feeds, the bicycle feed has Bicycle events and associated tripwires. Currently, since the bicycle feed is so new, it uses configured tripwires from the pedestrian data feed. The Bicycle feed cannot be configured alongside the traffic feed due to firmware restrictions of the nodes. The Bicycle feed can capture data on the count, direction and speeds of bicycles traveling through a configured tripwire. Further data can be appended from Xaqt to better enrich the level of insight. For example, Xaqt has brought in the locations of bicycle lanes for the city of San Diego so that the information with the nodes can be viewed with further context.

Bicycle Zones

The bicycle zones, configured by GE Current examine bicycle lanes or any curb area for the purpose of capturing information about how bikes are used in that area. These zones, as outlined above, use a similar "tripwire" concept where the GE Current camera is pointed at a curb or street, and a line is drawn by the user to demarcate the region. Once a tripwire is demarcated in the plane of view, information regarding how bicycles are moving and crossing that virtual tripwire gets produced in the form of bicycle events.

Bicycle Events

The Bicycle events feed generates similar data to the traffic data. We receive information on a count of bicycles, the speed at which they travel, the direction or heading they are traveling in aggregate. Let's examine a sample of this data so we can better understand what Xaqt receives from the GE Current nodes.

Timestamp Node ID Speed Direction Bicycle Count
2019-07-13 13:06:25.22 UTC 405493 4.13 M/S 354 Degrees 1
2019-07-13 12:07:23.30 UTC 345703 3.51 M/S 13 Degrees 2

For each event, for each node, we receive a timestamp of the time the data was captured, the speed of bicycles crossing the sensors tripwire, the direction of those bicycles, and the total count of vehicles. Each node continuously streams this data, like all other streams, 24/7 to Xaqt for processing.

Xaqt Smart City Engage for CityIQ Bicycle Insights

Xaqt's Smart City Engage for CityIQ includes the following turnkey bicycle insights

Insight Description
Cycling Metrics Basic statistics of bike counts and speeds
Historical Cyclist Count View Map showing historical bicycle data including speeds and counts
Live Cyclist View Most recent data regarding bicycles on a map
Bicycle Counting Over Time View total citywide counts of bicycles over time to measure usage
Bicycles Counted by Hour of Day View which times of day have the most cyclists
Bicycles by Day of Week View bicycle counts by Day of Week


The CityIQ Pedestrian data feed includes data regarding how and where pedestrians are moving about the city. The Pedestrian data feed, like the feeds before, is broken into zone/tripwire locations and pedestrian events. The zones and tripwires are configured to monitor sidewalks or crosswalks in order to count the number of pedestrians, their respective speeds, and direction.

Pedestrian Zones

Pedestrian zones, similar to traffic, and bicycle are set-up when the nodes are configured. The Pedestrian zones rely on the same "tripwire" method that the bicycle and traffic feeds do.

Pedestrian Zone Tripwires

The user who configures the pedestrian zone will draw a virtual tripwire in the camera sensor field of view, this tripwire has a location and an ID so that pedestrian events, i.e. people walking in front of the sensor can be associated with that specific node.

Pedestrian Events

Pedestrian events, similar to the bicycle and traffic events, provide Xaqt data on pedestrian counts, speed and direction. Xaqt is able to capture this information, store it and build analytics. Let's take a look at a sample of the data which Xaqt receives from the nodes.

Timestamp Node ID Speed Direction Pedestrain Count
2019-07-14 03:59:25.22 UTC 405493 2.13 M/S 313 Degrees 2
2019-07-14 03:58:23.30 UTC 345703 1.71 M/S 33 Degrees 2

First, we get, for each node (tripwire location) the node ID for the event, the timestamp of the event, the count of pedestrians that the node was able to capture, the direction of travel for those pedestrians, and their speed. The nodes do not send any personally identifiable information (PII) including, images to Xaqt.

Xaqt Smart City Engage for CityIQ Pedestrian Insights

Xaqt's Smart City Engage for CityIQ includes the following turnkey pedestrian insights

Insight Description
Live Pedestrian Count View Real-time map showing the latest counts of pedestrians across the city
Pedestrain Counts by Hour of Day Understand when most pedestrains are out and about
Pedestrains Over Time Understand and monitor when there are high and low counts of pedestrians over time


The CityIQ Environmental sensors provide Xaqt detailed information regarding the climate. The information captured in the data includes Temperature, humidity and pressure. Each CityIQ node has the capability to capture these three points of data and relay that information back to Xaqt for processing. Similarly to the other data feeds we receive, the environmental sensors give us Node location and environmental events.

Environmental Sensors

The information we receive from the environmental sensors pertains only to the location of the sensor itself. Unlike traffic, parking, bicycle and pedestrian zones, environmental sensors only need to relay two data points, the Sensor ID and the sensor location (Latitude, longitude).

Environmental Events

The data that is captured from the environmental sensors includes temperature, in Kelvin, Pressure, and Humidity

Timestamp Node ID Event Power of 10 Min Median Max Mean Units
2019-07-14 03:59:25.22 UTC 405493 TEMPERATURE -1 3043 3043 3043 3043 KELVIN
2019-07-14 03:58:23.30 UTC 345703 HUMIDITY 0 58.22 60.22 61.12 60.11 PERCENT

Above is a sample of the environmental events data we receive. In the data feed we receive a stream of this data that includes a timestamp, a node ID, so we know where the event is taking place, the event type, Humidity, Temperature, or Pressure, the Power of 10 which is related to the data being in scientific form, the minimum, maximum, mean and median readings for that specific timestamp. Xaqt ingests this data and builds analytics for the city.

Xaqt Smart City Engage for CityIQ Environmental Insights

Xaqt's Smart City Engage for CityIQ includes the following turnkey environmental insights

Insight Description
Real-time Temperature and Humidity View real-time temperature and humidity across the city
Environental Sensor Data View aggregated information and counts of data across a user specified timeframe
Temperature Averages Map View Temperature averages by node on a map
Humidity Averages Map View Humidity averages by node on a map
Temperatures by Hour of Day View temperature changes by hour of day
Temperatures over Time View how temperatures are changing over time