User:Glodenox/Waze Data Model View history

(Added graphical overview of the data model)
m (Fix incorrect heading levels)
Line 85: Line 85:
|}
|}


== City ==
=== City ===


{| class="wikitable"
{| class="wikitable"
Line 102: Line 102:
|}
|}


== Country ==
=== Country ===


{| class="wikitable"
{| class="wikitable"
Line 143: Line 143:
|}
|}


== Road Closure ==
=== Road Closure ===


{| class="wikitable"
{| class="wikitable"

Revision as of 08:33, 15 March 2018

This information is not required to know how to work with the Waze Map Editor. This information might be useful if you plan on writing a userscript.
This is not an official version of the data model used in Waze. This model has been based on the information provided within the WME.

Graphical overview

The publicly visible part of the Waze Data Model
The publicly visible part of the Waze Data Model

Object descriptions

Some properties have been left out as these do not contribute to the understanding of the Waze object model.

Segment

Attribute Type Description
id integer identification number
geometry GeoJSON LineString geographical representation of the line describing this segment
fromNodeID, toNodeID integer reference to the node this segment is connected to at the start/end
virtualNodeIDs array[integer] list of references to nodes of walking segments connecting to this segment
primaryStreetID integer reference to the street set as primary name
streetIDs array[integer] list with references to alternative streets assigned to this segment
junctionID integer, optional reference to the junction this segment is a part of
fwdDirection, revDirection boolean whether or not this segment can be traversed in the forward/reverse direction
fwdMaxSpeed, revMaxSpeed integer, optional the speed limit in the forward/reverse direction on the segment
restrictions array[object], optional a list of restrictions for one or more vehicle types in one or more time periods
fwdToll, revToll boolean whether or not toll is levied in the forward/reverse direction of the segment
level integer indication of height compared to other segments (0 = Ground)
lockRank integer minimum level required for a user to modify this segment
roadType integer the type of road this segment describes (street, primary street, minor highway, major highway, ...)
routingRoadType integer, optional this attribute overrides the road type for navigation purposes
createdBy, updatedBy integer reference to the user who created/last updated this segment
createdOn, updatedOn integer timestamp indicating when this segment was created/last updated

Node

Attribute Type Description
id integer identification number
geometry GeoJSON Point geographical representation of the line describing this node
segIDs array[integer] a list of segments that connect to this node
connections array[object] a list of allowed connections between segments containing:
  • the turn instruction override
  • whether the turn should be considered a difficult turn or not
  • the vehicle restrictions and/or time restrictions for that connection

Street

Attribute Type Description
id integer identification number
name string name in local language
englishName string, optional alternative version of the street name in English
cityID integer, optional reference to the city of this street
signText string, optional text to show on a road badge

City

Attribute Type Description
id integer identification number
geometry GeoJSON Point geographical representation of the line describing this node
name string name in local language
englishName string, optional alternative version of the city in English
countryID integer reference to the country of this city

Country

Attribute Type Description
id integer identification number
name string name in local language
abbr string abbreviation used for this country
leftHandTraffic boolean whether or not traffic rides on the left in this country
env string which server environment this country belongs to (ROW, NA, or IL)
ttsLocales array[object] list of text-to-speech engines enabled for this country
​allowAverageSpeedCameras boolean whether users may add average speed cameras in this country
​allowAverageSpeedCamerasRank integer minimum rank needed for users to add average speed cameras in this country
​allowHeadlightsReminder boolean whether users may add headlight reminders in this country
​allowHeadlightsReminderRank integer minimum rank needed for users to add headlight reminders in this country
​allowSpeedCams boolean whether users may add speed cameras in this country
​allowCamerasRank integer minimum rank needed for users to add speed cameras in this country
​allowHeadlightsReminderRank integer minimum rank needed for users to add headlight reminders in this country
​allowRoadClosureRank integer minimum rank needed for users to add road closures in this country
​forceHouseNumberRank integer minimum rank needed for users to force house numbers in this country
​allowNewCitiesRank integer minimum rank needed for users to add new cities in this country
​updateJunctionBoxRank integer minimum rank needed for users to update junction boxes in this country

Road Closure

Attribute Type Description
id integer identification number
reason string textual explanation why this closure has been added
segID integer reference to the segment that is affected by this closure
forward boolean indicates in which direction the closure is active (a two-way closure is stored as two one-way closures)
startDate date date + hours from when this road closure becomes active
endDate date date + hours until when this road closure stays active
eventId integer, optional reference to a major traffic event
createdBy, updatedBy integer reference to the user who created/last updated this road closure
createdOn, updatedOn integer timestamp indicating when this road closure was created/last updated
permanent boolean whether this road closure should take into account nearby traffic flows to disable itself