Select to view content in your preferred language

Waze Data Feed Updates

2424
4
08-02-2023 07:47 AM
JoshJoyner
Esri Contributor
10 4 2,424

Updated:  April 2025

The product team completed work August 2023 on a new version of the Waze connector, available here on the GeoEvent Server Gallery.

Analysts wanting to use Waze must first acquire a URL used to query the Waze API. The URL has a new format which follows the pattern:  www.waze.com/partnerhub-api/partners/<id>/waze-feeds/<guid>?format=1

The <id> will be an 11-digit integer assigned to each Waze Partner.
The <guid> will be an API access token unique to your organization

You must work with Waze to obtain your partner URL.
  1)  Log in to the Waze Partner Hub
  2)  Locate the links to your feeds on the Waze Data Feed screen
  3)  Copy and paste the partner link into any applications you use to access the Waze API Data Feed

Latest ArcGIS Releases (11.3 / 11.4 / 11.5)

The configuration panel used to enter your Waze Partner URL and request data has been simplified. An example is shown below.

RJSunderman_2-1745441959955.png

  • Enter a descriptive name for your inbound connector (e.g. replace 'waze-in' with any name)

  • Enter the full URL provided to you from Waze to allow GeoEvent Server to query the API for data:
    RJSunderman_3-1745442313427.png

  • The recommended default rate to query the Waze API for new traffic alerts and jams is 120 seconds. You can set this value as low as 30 seconds, but the Waze API may not respond with data every query.

  • The default query specifies both alerts,traffic data types should be included. It is recommend you choose one (alerts or traffic). If you want both traffic alerts and traffic jams, configure two Waze inputs. The geometry and data schema is different for alerts than it is for traffic jams, and you will need to account for this when configuring processors like Field Mapper to flatten an event record's hierarchical structure.

 

Earlier ArcGIS Releases

Earlier releases of GeoEvent Server may display a version of the input configuration which requires you to enter parameter values for a Waze CCP Token and Waze CCP Partner Name. You can enter the values 'test' and 'test' as shown below. ( These properties are now encoded in the URL provided by Waze. )

RJSunderman_4-1745443449056.png

 
Please reach out to the big data and real-time product team with any questions:  GeoEventServer@esri.com

4 Comments
Mike_Quetel
Frequent Contributor

Thanks for posting this info.  Look forward to getting access to an updated connector.

Mike_Quetel
Frequent Contributor

Has an updated connector been released per this post?  If not, could you provide a status update, please.

GregoryChristakos
Esri Contributor

Hi @Mike_Quetel  - A new version of the Waze Connector was released on Aug 25, 2023. You can download and deploy it directly from the Gallery Add-On Manager via your GeoEvent Manager interface (make sure the filter is set to samples and search for Waze), or you can manually download and deploy it from here.

RJSunderman
Esri Regular Contributor

Josh Joyner's original post has been updated to show the simplified user configuration interface for Release 7 of the Waze connector ( August 25, 2023 ) mentioned by Gregory Christakos above.

--- ---

You will likely immediately notice, when sending traffic alert and traffic jam event records to an output to either broadcast feature records (using a stream service) or add/update feature records in a geodatabase (using a feature service), that feature records accumulate over time which end up cluttering your display.

When using a stream layer in a web map to display data, you cannot configure the stream layer to periodically refresh the display. Stream layers do not query data from a geodatabase and do not offer an automatic refresh to remove feature records you might consider "old" or "stale" from the web map display and query to obtain a fresh set of feature records. Your only option, as an analyst, is to periodically clear the stream layer's display interactively when you decide the web map's display needs to be refreshed. Select the option to "Clear previous observations" from the stream layer's context menu to remove all displayed feature records for the layer and then wait for a fresh set of feature records to be processed through GeoEvent Server.

RJSunderman_1-1745445509096.png

Alternatively, you could use a feature layer rather than a stream layer to display your data. The only real advantage to using a stream layer in this case would be that feature records are added to the display immediately after being processed by GeoEvent Server. The inherent delay in receiving data from the Waze API -- typically no faster than every 120 seconds -- means that configuring an automatic refresh for your feature layer of every 30 seconds will reasonably display feature records as they are processed in near real-time.

An advantage of using a geodatabase to store the accumulating feature record set is that you can configure a hosted feature layer view to show you only the most recent traffic alerts and traffic jams. This means that as a web map remains open its display will not become cluttered with stale alerts and jams.

From your Enterprise portal, open the detail page for your hosted feature layer and select Create View Layer. Choose the option to "Create a view of this layer". With the hosted feature layer selected in the Create View Layer configuration panel, click Next to define the filters and fields you want included in the hosted feature layer view.

Click the expansion arrow to add a filter to the view and click 'Add new' :

RJSunderman_2-1745446616422.png

You will need a date/time field which is updated every time the feature record used to model a traffic alert or traffic jam is updated. This is not part of the data schema included by the Waze API. Refer to the illustrations below for how to use GeoEvent Server to enrich event data records with the needed information. For now, you need to know that a filter expression can be configured for a hosted feature layer view which selects only feature records whose date/time is within the last several minutes :

RJSunderman_4-1745447081508.png

To complete your hosted feature layer view configuration, click the expansion arrows to collapse the 'Filter' and 'Layer definitions' panels then click 'Next'. Enter a title for your hosted feature layer view, something like "Traffic_Jams_Latest", enter tags and a summary if you wish, and then click Create. You can now add your hosted feature layer view to a web map.

When you configure the feature layer (in the web map) to automatically refresh every 30 seconds (e.g. 0.5 minutes) the view will retrieve and display only the most recent feature records from the hosted feature layer. Note that you will still be required to periodically administer your geodatabase to remove / delete old feature records as data accumulates in the hosted feature layer.

--- ---

Using GeoEvent Server to add the received_dt attribute

This is done using the same Field Mapper processor you need to configure to flatten a traffic alert or traffic jam event record schema before sending the simplified / flattened data record to an Update a Feature output.

First, you need to recognize that integrating the Esri Sample Waze Connector into your GeoEvent Server added four GeoEvent Definitions to your deployment. There is a GeoEvent Definition named WazeAlert and one named WazeAlert-Flat. The latter omits the X/Y coordinate values nested beneath location and also drops the imageId and the imageURL attributes. New attributes longitude and latitude are added for the coordinate values. A similar pair of GeoEvent definitions are loaded into your configuration for WazeJam and WazeJam-Flat.

You need to create a new pair of GeoEvent Definitions and add a new field which you can use to write a Date value each time a traffic alert or traffic jam event record is processed.

You can easily do this by copying the existing WazeAlert-Flat and WazeJam-Flat GeoEvent Definitions and then adding the needed received_dt attribute to your copy of the event definition. Make sure you specify the data type for the new attribute is a Date.

RJSunderman_5-1745448785013.png

When configuring your Field Mapper to flatten the traffic jams schema, use the built-in function currentTime() to retrieve the local server's current time and write that, as an epoch date value, into the new attribute field received_dt. Your field mapping should be from WazeJam (the event definition used to adapt the raw data from the Waze API) to the flattened schema WazeJam-ReceivedDT (the copy of the flattened schema to which you added the received_dt attribute).

RJSunderman_6-1745449516040.png

Hopefully this information helps manage the traffic alerts and traffic jams you process through GeoEvent Server when adding and updating feature records in a geodatabase for display using hosted feature layers and hosted feature layer views.

Contributors