WME Validator/Custom Checks: Difference between revisions View history

imported>Wottem
m (1 revision imported: Second import of transfer package)
imported>Forumtestuser
m (1 revision imported)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
<!--if the section parameter is defined, do not place the visible banner, only as the code block for the top of a section-->{{GlobalMark/visible}}
#REDIRECT [[USA:WME Validator/Custom Checks]]
<!--
#####-----#####-----#####-----#####-----#####-----#####-----#####-----#####-----
####    This page has been curated  ####
####    to be included in the new    ####
####    Wazeopedia - GLOBAL Wiki.  ####
####    Please do not make any      ####
####    edits on this page without  ####
####    PRIOR CONSENSUS in the Wiki  ####
####    Updates and Discussions      ####
####    forum thread for this page.  ####
####    If a specific forum thread  ####
####    for this page doesn't exist  ####
####    please start one.            ####
####        www.waze.com/forum/      ####
####        viewforum.php?f=276      ####
#####-----#####-----#####-----#####-----#####-----#####-----#####-----#####-->
 
 
== Custom Checks Examples ==
 
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).
 
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 "##"
 
Road type: variable ${typeRank} expands to: [updated to BE/NL version 1.1.19]
 
<code>
* 1 street
* 2 primary street
* 3 highway
* 4 ramp
* 5 walking trail
* 6 major highway
* 7 minor highway
* 8 dirt road
* 10 pedestrian boardwalk
* 14 for Major Highways
* 15 ferry
* 16 stairway
* 17 private road
* 18 railroad
* 19 runway / taxiway
* 20 parking lot
</code>
 
Road direction: variable ${direction} expands to:
 
<code>
* 0 for Unknown direction
* 1 for A->B
* 2 for B->A
* 3 for Two-way segments
</code>
 
== 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
 
<code>
Template: ${street}
 
RegExp: /North/
</code>
 
To highlight invalid (null) elevations
 
<code>
Template: ${elevation}
 
RegExp: /null/
</code>
 
To highlight segments with no state assigned
 
<code>
Template: ${state}
 
RexExp: /^$/
</code>
 
To highlight segments with a U-turn
 
<code>
Template: ${Uturn}
 
RexExp: /1/
</code>
 
== Medium Examples ==
 
To highlight Ramps with non-ground elevation:
 
<code>
Template: ${typeRank}:${elevation}
 
RegExp: /12:[^0]/
</code>
 
To highlight Freeways which do not start with letter A
 
<code>
Template: ${typeRank}:${street}
 
RegExp: /15:[^A]/
</code>
 
To highlight streets named "U-Turn" in LA
 
<code>
Template: ${state}:${street}
 
RegExp: /Louisiana:U-Turn/
</code>
 
To highlight dead-end U-turns
 
<code>
Template: ${deadEnd}:${Uturn}
 
RegExp: /1:1/
</code>
 
To highlight the opposite: missing dead-end U-turns
 
<code>
Template: ${deadEnd}:${Uturn}
 
RegExp: /1:0/
</code>
 
New! To highlight Freeways or Major Highways in format 'Axx', 'Ixx' etc
 
<code>
Template: ${typeRank}:${street}
 
RegExp: /^(15|14):[a-z][0-9]/i
</code>
 
New! To search for segments shorter than 17m:
 
<code>
Template: ${length}
 
RegExp: /^([0-9]|1[0-6])$/
</code>
 
New! To mark dead-ends without U-turn:
 
<code>
Template: A${deadEndA}:${UturnA}:B${deadEndB}:${UturnB}
 
RegExp: /A1:0|B1:0/
</code>
 
 
New! To highlight more than 100m long unnamed drivable streets:
 
<code>
Template: ${drivable}:${street}:${length}
 
RegExp: /1::...+/
</code>
 
== Advanced Examples ==
 
To highlight street name which ends in Cntr, or Exd etc (any case variant)
 
<code>
Template: ${street}
 
RegExp: / (Cntr|Exd|La|Plc|Rvr|Tnpk|Wy)$/i
 
</code>
 
To highlight segments that have an alt street specified but no city
 
<code>
Template: @@${altCity[0]}##${altStreet[0]}@@${altCity[1]}##${altStreet[1]}
 
RegExp: /@@##[^@]/
 
</code>
To highlight invalid abbreviations for Australian roads
 
<code>
Template: ${street}
 
RegExp: !/ (Ave|Blvd|Cl|Cres|Cct|Ct|Dr|Way|Line|Ln|Mtwy|Pde|Pl|Rd|St)$|^$/
 
</code>
To highlight lowercase street names for US (except S, N, W, E and to)
 
<code>
Template: ${street}
 
RegExp: /^(?!(to) [^a-z])((S|N|W|E) )?[a-z]/
</code>
 
New! To highlight Freeways with no cardinal direction (NSEW)
 
<code>
Template: ${type}:${street}
 
RegExp: !/^[^3]| [NSEW]$/
 
</code>
 
New! City name abbreviation 'snt' should be lowercase and at the very beginning
 
<code>
Template: ${city}
 
RegExp: /(^|[ (])(?!^snt )[Ss][Nn][Tt]([ )]|$)/
</code>
 
New! To highlight segments if primary street name and one of the alt. names are the same
 
<code>
Template: #${street}#${altStreet[#]}#
 
RegExp: /(#.+)(?=#).*\1#/
</code>
 
 
 
 
 
 
 
[[Category:Waze Map Editor]]

Latest revision as of 18:18, 8 January 2022