[[Scripts/WME_Validator|WME Validator]] is a powerful script that helps editors find and fix issues on the Waze map.

+

[[Scripts/WME_Validator|WME Validator]] is a powerful script that helps editors find and fix issues on the Waze map. Part of its power the the ability to customize checks in the script to highlight very specific map issues, not covered with built-in validations.

−

== Custom Checks Examples ==

+

== Overview ==

−

Custom check is a powerful tool of WME Validator to highlight very specific map issues, not covered with built-in validations.

+

To set up a custom check in Validator click Settings->Custom. There are two checks: green and blue. Each check has two fields: template and regular expression (RegExp).

−

−

To set up a custom check in Validator click Settings->custom. There are two checks: green and blue. Each check has two fields: template and regular expression (RegExp).

Hover your mouse over the template field to get a tooltip with available variables. Validator substitutes those variables with segment's data and then tries to match that string over the RegExp. If the expanded template string matches the RegExp - Validator highlights the segment.

Hover your mouse over the template field to get a tooltip with available variables. Validator substitutes those variables with segment's data and then tries to match that string over the RegExp. If the expanded template string matches the RegExp - Validator highlights the segment.

Latest revision as of 21:28, 3 May 2017

WME Validator is a powerful script that helps editors find and fix issues on the Waze map. Part of its power the the ability to customize checks in the script to highlight very specific map issues, not covered with built-in validations.

Contents

Overview

To set up a custom check in Validator click Settings->Custom. There are two checks: green and blue. Each check has two fields: template and regular expression (RegExp).

Hover your mouse over the template field to get a tooltip with available variables. Validator substitutes those variables with segment's data and then tries to match that string over the RegExp. If the expanded template string matches the RegExp - Validator highlights the segment.

Template Variables

Most of the variables are self-explanatory.
Note: empty address fields expand to empty streets, i.e. if you set "None" next to city name, then template "#${city}#" for this segment will be expanded to "##"

Regular Expressions (RegExp)

Regular expressions are patterns used to match character combinations in your expanded template. See the detailed description of regular expressions on MDN: link

Validator provides the following two extensions for regular expressions:
Debug RegExp. To debug your RegExp add letter D at the very beginning: D/^[a-z]/
Validator will print debug information to the JavaScript console (Ctrl+Shift+J), so you can see how template variables expand for the segments on the map.

Negate RegExp. Sometimes it's much easier to create a RegExp for a normal condition and then just negate the result. To do so, add an exclamation mark at the very beginning: !/ (St|Ave)$/

Easy Examples

To highlight streets with word North

Template: ${street}

RegExp: /North/

To highlight invalid (null) elevations

Template: ${elevation}

RegExp: /null/

To highlight segments with no state assigned

Template: ${state}

RexExp: /^$/

To highlight segments with a U-turn

Template: ${Uturn}

RexExp: /1/

Medium Examples

To highlight Ramps with non-ground elevation:

Template: ${typeRank}:${elevation}

RegExp: /12:[^0]/

To highlight Freeways which do not start with letter A

Template: ${typeRank}:${street}

RegExp: /15:[^A]/

To highlight streets named "U-Turn" in LA

Template: ${state}:${street}

RegExp: /Louisiana:U-Turn/

To highlight dead-end U-turns

Template: ${deadEnd}:${Uturn}

RegExp: /1:1/

To highlight the opposite: missing dead-end U-turns

Template: ${deadEnd}:${Uturn}

RegExp: /1:0/

New! To highlight Freeways or Major Highways in format 'Axx', 'Ixx' etc

Template: ${typeRank}:${street}

RegExp: /^(15|14):[a-z][0-9]/i

New! To search for segments shorter than 17m:

Template: ${length}

RegExp: /^([0-9]|1[0-6])$/

New! To mark dead-ends without U-turn:

Template: A${deadEndA}:${UturnA}:B${deadEndB}:${UturnB}

RegExp: /A1:0|B1:0/

New! To highlight more than 100m long unnamed drivable streets:

Template: ${drivable}:${street}:${length}

RegExp: /1::...+/

Advanced Examples

To highlight street name which ends in Cntr, or Exd etc (any case variant)