(→Object descriptions: Added restrictions attribute to segment) |
(Added the remaining objects) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Graphical overview == | == Graphical overview == | ||
[[File:Waze data model.png|center|The publicly visible part of the Waze Data Model]] | |||
== Object descriptions == | == Object descriptions == | ||
Some properties have been left out as these do not contribute to the understanding of the Waze object model. | |||
=== Segment === | === Segment === | ||
Line 33: | Line 33: | ||
| '''fwdMaxSpeed''', '''revMaxSpeed''' || integer, optional || the speed limit in the forward/reverse direction on the segment | | '''fwdMaxSpeed''', '''revMaxSpeed''' || integer, optional || the speed limit in the forward/reverse direction on the segment | ||
|- | |- | ||
|'''restrictions''' | |'''restrictions''' || array[object], optional || a list of restrictions for one or more vehicle types in one or more time periods | ||
|array[object] | |||
|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 | | '''fwdToll''', '''revToll''' || boolean || whether or not toll is levied in the forward/reverse direction of the segment | ||
Line 50: | Line 48: | ||
|- | |- | ||
| '''createdOn''', '''updatedOn''' || integer || timestamp indicating when this segment was created/last updated | | '''createdOn''', '''updatedOn''' || integer || timestamp indicating when this segment was created/last updated | ||
|} | |||
=== Node === | |||
{| class="wikitable" | |||
|- | |||
! 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 === | |||
{| class="wikitable" | |||
|- | |||
! 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 === | |||
{| class="wikitable" | |||
|- | |||
! 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 === | |||
{| class="wikitable" | |||
|- | |||
! 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 === | |||
{| class="wikitable" | |||
|- | |||
! 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 | |||
|} | |||
=== Major Traffic Event === | |||
{| class="wikitable" | |||
|- | |||
! Attribute !! Type !! Description | |||
|- | |||
| '''id''' || string || identification number | |||
|- | |||
| '''names''' || array[name] || the list of localized names (the presence of an English name is mandatory) | |||
|- | |||
| '''startDate''' || string || the day this major traffic event starts on | |||
|- | |||
| '''endDate''' || string || the day this major traffic event ends on | |||
|- | |||
| '''category''' || string || the category under which this major traffic event is added | |||
|- | |||
| '''cityID''' || integer, optional || reference to the city to which this event is assigned | |||
|- | |||
| '''contributors''' || array[integer] || references to the users who have added one or more of the affected road closures | |||
|- | |||
| '''partners''' || array[integer] || the list of Waze Event Partners involved in creating this event | |||
|- | |||
| '''url''' || string, optional || a link to the web page explaining the event | |||
|- | |||
| '''uniqueName''' || string || a shortened name that will be used in the Waze Event Page URL (waze.com/mte/{uniqueName}) | |||
|- | |||
| '''ready''' || boolean || whether all mandatory fields have been filled in and at least one road closure has been connected | |||
|- | |||
| '''published''' || boolean || whether this event has been submitted and has become visible on the MTE overview page | |||
|- | |||
| '''tweetText''' || string || text to be used in the announcement tweet | |||
|- | |||
| '''tweetText''' || string || text to be used in the announcement tweet (Waze Event Partners only) | |||
|- | |||
| '''twitterAccountUrls''' || array[string] || the list of Twitter accounts that will be tweeting about this event (Waze Event Partners only) | |||
|- | |||
| '''createdBy''', '''updatedBy''' || integer || reference to the user who created/last updated this event | |||
|- | |||
| '''createdOn''', '''updatedOn''' || integer || timestamp indicating when this event was created/last updated | |||
|} | |||
=== House Number === | |||
{| class="wikitable" | |||
|- | |||
! Attribute !! Type !! Description | |||
|- | |||
| '''id''' || integer || identification number | |||
|- | |||
| '''geometry''' || GeoJSON Point || the location of the house number | |||
|- | |||
| '''number''' || string || the house number | |||
|- | |||
| '''isLeft''' || boolean || whether the house number is located on the left of the segment (following the house numbers in a descending order(?)) | |||
|- | |||
| '''side''' || [1, 2] || whether the house number is located on the left of the segment (following the segment from start to end) | |||
|- | |||
| '''closestSegment''' || segment || reference to the segment located closest to this house number | |||
|- | |||
| '''updatedBy''' || integer || reference to the user who last updated this house number | |||
|- | |||
| '''forced''' || boolean || whether or not the position of this house number was forced by the user (usually it didn't follow the incremental order) | |||
|- | |||
| '''fractionPoint''' || GeoJSON Point || the geographical location on the closest segment where users should be routed to when navigating to this house number | |||
|} | |||
=== Junction === | |||
{| class="wikitable" | |||
|- | |||
! Attribute !! Type !! Description | |||
|- | |||
| '''id''' || integer || identification number | |||
|- | |||
| '''geometry''' || GeoJSON Point || the geographic center of the junction | |||
|- | |||
| '''segIDs''' || array[integer] || the list of segments included in this junction | |||
|} | |||
=== Big Junction === | |||
{| class="wikitable" | |||
|- | |||
! Attribute !! Type !! Description | |||
|- | |||
| '''id''' || integer || identification number | |||
|- | |||
| '''geometry''' || GeoJSON Polygon || polygon indicating the boundary of the junction box | |||
|- | |||
| '''cityID''' || integer || reference to the city this junction is located in | |||
|- | |||
| '''name''' || string, optional || the name assigned to the junction box | |||
|- | |||
| '''lock''' || integer || minimum level required to edit this junction box | |||
|- | |||
| '''segIDs''' || array[integer] || the list of segments included in this junction | |||
|- | |||
| '''createdOn''', '''updatedOn''' || integer || timestamp indicating when this road closure was created/last updated | |||
|} | |||
=== Venue === | |||
{| class="wikitable" | |||
|- | |||
! Attribute !! Type !! Description | |||
|- | |||
| '''id''' || integer || identification number | |||
|- | |||
| '''geometry''' || GeoJSON Point || point indicating the location of the venue | |||
|- | |||
| '''name''' || string || the name of the venue | |||
|- | |||
| '''aliases''' || array[string] || the list of alternative names for this venue | |||
|- | |||
| '''streetID''' || integer || reference to the street | |||
|- | |||
| '''houseNumber''' || string || the house number of this venue | |||
|- | |||
| '''phone''' || string, optional || the telephone number of this venue | |||
|- | |||
| '''url''' || string, optional || the URL of the website of this venue | |||
|- | |||
| '''categories''' || array[string] || the list of categories this venue belongs to | |||
|- | |||
| '''approved''' || boolean || whether this place has been approved after having been added by a new editor | |||
|- | |||
| '''brand''' || string || the name of the brand of this place (usually used for petrol stations) | |||
|- | |||
| '''description''' || string || a textual description of the venue | |||
|- | |||
| '''residential''' || boolean || whether this venue is residential (only visible to users if navigating to that specific address) | |||
|- | |||
| '''entryExitPoints''' || array[object] || a list of points that indicate entry and exit points for this venue | |||
|- | |||
| '''externalProviderIDs''' || array[object] || a list of identifiers that refer to external sources, such as Google Places | |||
|- | |||
| '''adLocked''' || boolean || whether this place has been locked for editing due to a running advertisement campaign | |||
|- | |||
| '''images''' || array[object] || the list of images connected to this venue | |||
|- | |||
| '''services''' || array[object] || the list of services available at this venue | |||
|- | |||
| '''openingHours''' || array[object] || the list of opening hours of this venue | |||
|- | |||
| '''venueUpdateRequests''' || array[object] || the list of venue update requests pertaining to this venue | |||
|- | |||
| '''lockRank''' || integer || the minimum editing rank necessary to make changes to this venue | |||
|- | |||
| '''createdOn''', '''updatedOn''' || integer || timestamp indicating when this venue was created/updated | |||
|- | |||
| '''createdBy''', '''updatedBy''' || integer || reference to the user who last created/updated this venue | |||
|} | |} |
Latest revision as of 22:11, 18 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
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:
|
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 |
Major Traffic Event
Attribute | Type | Description |
---|---|---|
id | string | identification number |
names | array[name] | the list of localized names (the presence of an English name is mandatory) |
startDate | string | the day this major traffic event starts on |
endDate | string | the day this major traffic event ends on |
category | string | the category under which this major traffic event is added |
cityID | integer, optional | reference to the city to which this event is assigned |
contributors | array[integer] | references to the users who have added one or more of the affected road closures |
partners | array[integer] | the list of Waze Event Partners involved in creating this event |
url | string, optional | a link to the web page explaining the event |
uniqueName | string | a shortened name that will be used in the Waze Event Page URL (waze.com/mte/{uniqueName}) |
ready | boolean | whether all mandatory fields have been filled in and at least one road closure has been connected |
published | boolean | whether this event has been submitted and has become visible on the MTE overview page |
tweetText | string | text to be used in the announcement tweet |
tweetText | string | text to be used in the announcement tweet (Waze Event Partners only) |
twitterAccountUrls | array[string] | the list of Twitter accounts that will be tweeting about this event (Waze Event Partners only) |
createdBy, updatedBy | integer | reference to the user who created/last updated this event |
createdOn, updatedOn | integer | timestamp indicating when this event was created/last updated |
House Number
Attribute | Type | Description |
---|---|---|
id | integer | identification number |
geometry | GeoJSON Point | the location of the house number |
number | string | the house number |
isLeft | boolean | whether the house number is located on the left of the segment (following the house numbers in a descending order(?)) |
side | [1, 2] | whether the house number is located on the left of the segment (following the segment from start to end) |
closestSegment | segment | reference to the segment located closest to this house number |
updatedBy | integer | reference to the user who last updated this house number |
forced | boolean | whether or not the position of this house number was forced by the user (usually it didn't follow the incremental order) |
fractionPoint | GeoJSON Point | the geographical location on the closest segment where users should be routed to when navigating to this house number |
Junction
Attribute | Type | Description |
---|---|---|
id | integer | identification number |
geometry | GeoJSON Point | the geographic center of the junction |
segIDs | array[integer] | the list of segments included in this junction |
Big Junction
Attribute | Type | Description |
---|---|---|
id | integer | identification number |
geometry | GeoJSON Polygon | polygon indicating the boundary of the junction box |
cityID | integer | reference to the city this junction is located in |
name | string, optional | the name assigned to the junction box |
lock | integer | minimum level required to edit this junction box |
segIDs | array[integer] | the list of segments included in this junction |
createdOn, updatedOn | integer | timestamp indicating when this road closure was created/last updated |
Venue
Attribute | Type | Description |
---|---|---|
id | integer | identification number |
geometry | GeoJSON Point | point indicating the location of the venue |
name | string | the name of the venue |
aliases | array[string] | the list of alternative names for this venue |
streetID | integer | reference to the street |
houseNumber | string | the house number of this venue |
phone | string, optional | the telephone number of this venue |
url | string, optional | the URL of the website of this venue |
categories | array[string] | the list of categories this venue belongs to |
approved | boolean | whether this place has been approved after having been added by a new editor |
brand | string | the name of the brand of this place (usually used for petrol stations) |
description | string | a textual description of the venue |
residential | boolean | whether this venue is residential (only visible to users if navigating to that specific address) |
entryExitPoints | array[object] | a list of points that indicate entry and exit points for this venue |
externalProviderIDs | array[object] | a list of identifiers that refer to external sources, such as Google Places |
adLocked | boolean | whether this place has been locked for editing due to a running advertisement campaign |
images | array[object] | the list of images connected to this venue |
services | array[object] | the list of services available at this venue |
openingHours | array[object] | the list of opening hours of this venue |
venueUpdateRequests | array[object] | the list of venue update requests pertaining to this venue |
lockRank | integer | the minimum editing rank necessary to make changes to this venue |
createdOn, updatedOn | integer | timestamp indicating when this venue was created/updated |
createdBy, updatedBy | integer | reference to the user who last created/updated this venue |