# Changes

## Junction Style Guide

, 4 months ago
m
fixed forum link :/ double posted to forum and had deleted link
{{NeedImage}}<!--Editorial Reminders--><!--To Do - U-Turn Solutions for "Road not connected" error -->{{construction| contact =https://www.waze.com/forum/viewtopic.php?f= Simple is better 1636&t=283510| contacttype =forum| draft = no| open = no| revision = yes| talk = yes}}
When representing The following article contains key information on properly creating junctions (a.k.a. intersections, cross roads, corners, etc.) between roads, we sometimes have to blur and the lines roadways between the physical and logical worldsthem. The primary goal should be Be sure to represent things as simply as possible and only introduce complexity to deal with an issuereview it in its entirety before editing the map.
== The Basics &larr; START HERE ===== What is a Junction? ===A junction is made up of three things:# At least two roads# One or more places these roads meet (a junction node)# Turns allowed or restricted at those junction nodes If you do not know how to create and modify roads, junctions, or turns, please read [[Map_Editing_Quick-start_Guide|the Map Editing Quick-start Guide]].=== Diverging Roads ===Lets start with the very basic case of one road branching off from another. Most of the time they will probably meet at close to a 90 degree angle. This is the simplest situation to deal with since the physical and logical views of the roads match up very well. : [[Image:Jct_3_90_ex.png]] [[Image:Jct_3_90.png]] But you will probably find roads that meet at odd angles as well. Even in urban areas with rigid grids, you will often find at least one road that has existed since prior to the establishment of the grid which cuts through town at strange angles. The initial urge will be to represent the junction as it is in the physical world - two lines running into each other at some angle. : [[Image:Jct_3_45_ex1.png]] [[Image:Jct_3_45.png]] But there are issues with this method. Depending on the angles, the client may give a "Keep Right" instruction to the driver when a "Turn Right" instruction is more appropriate. In some cases, it is even possible the angle may be such that no instruction is given at all. Or worse yet, the routing engine may determine that it isn't possible to make a very sharp angle and not suggest a turn (in the example image, headed south and then turning left to head east). To eliminate ambiguity, we need to treat the junction from a logical point of view. Since we want to be given basic "Turn Left" and "Turn Right" instructions, we have to treat it like it was a basic 90 degree intersection. But how do we do that when the roads don't actually diverge at 90 degrees? What we need to do is to add some geometry nodes to make the branch road leave the main road at close to 90 degrees, then we gradually curve to match the true departure angle. : [[Image:Jct_3_45_curve.png]] Now we have a junction that logically works like a basic 90 degree junction but it also fits the reality of the physical world. Here is a completed real world example: : [[Image:Jct_3_45_ex.png]] A ramp to a highway is another good example where additional geometry nodes are helpful. Especially since most ramps diverge at a very small angle from the road. : [[Image:Jct_ramp_no_geo_ex.png]] [[Image:Jct_ramp_no_geo.png]] The drawback in this case (which also exists for the side road example above!) Simple is that it may be very hard to see and click on the turn restriction arrows in the editor. : [[Image:Jct_ramp_no_geo_arrow.png]] But if we just add one more geometry node to make the departure angle at the junction itself closer to 20 or 30 degrees (Why those angles? See the [[#Geometry|discussion on Geometry and turn instructions]] later in the page for details)... : [[Image:Jct_ramp_w_geo_ex.png]] [[Image:Jct_ramp_w_geo.png]] ...now the arrows are visible and accessible. Note that you can also press 's' in the editor to '''s'''pread or '''s'''eparate the arrows at a junction if you still have difficulty clicking on an arrow. (see [[Keyboard_shortcut|Editor Keyboard Shortcuts]] for more tips.) : [[Image:Jct_ramp_w_geo_arrow.png]]=== Crossing Roads =better ==We can easily scale the above approaches to a four-way junction. Again we can expect to mostly see angles close to 90 degrees. : [[Image:Jct_4_90_ex.png]] [[Image:Jct_4_90.png‎ ]] And if we have that odd street cutting across town at an odd angle, we again want to avoid the odd angle at the junction... : [[Image:Jct_4_45_ex1.png]] [[Image:Jct_4_45.png]] ...and we want to use geometry nodes to bring the actual junction to 90 degrees. You can zoom in as close as you can and add a single geometry node on each side. This will give us the proper angle but make it virtually invisible to users so it looks just like the physical world.
: [[Image:Jct_4_45_curveWhen representing junctions, intersections, interchanges, cross roads, corners, etc., the Waze map does not need to perfectly match the road layouts it represents. The primary goal is to represent the real world as simply as possible in the maps and only introduce complexity in the maps to address complex issues.png]]
== The above image is what you would see zoomed in as close as possible. Zoomed back out, it looks just like basics ==This guide requires a complete understanding of editing the image showing the junction without any geometry nodesmaps with [[Waze Map Editor]] (WME).
And here === Map editing 101 ===Although it is a real world example at a zoom level where highly recommended to read the [[editing manual]] before touching the map, it is required that you do not continue with this guide until you can still see have read the geometry adjustment we addedfollowing:* [[Map Editing Quick-start Guide|Map Editing Quick-start Guide]]* [[Creating and editing road segments#Junctions|Moving and removing junctions]]
=== Junction definition ==={| class="Wikitable floatright"| [[Image:Junction_selected.png|50px|border]]| [[Image: Uneditable_junction.png|50px|border]]| [[Image:Jct_4_45_exjunction_unsaved.png|50px|border]]|}The [[Glossary#Junction or Junction Point|Glossary on Junctions]] provides details on how junctions can appear differently in the editor depending on its state or condition.
With that adjustment in place, the A junction will produce predictable turn left/right navigation instructions while is made up of three things:# Two or more road [[Creating and editing road segments|segments]]# One point where all the roads still appear to segments meet at (the correct real world angle[[junction point]] itself)# [[Map Editing Quick-start Guide#Turn restrictions .28allowed turns.29|Turns allowed or restricted]] when traveling from one segment to another through that junction point{{clear}}
== Controlling Turn Instructions ==
{| class="Wikitable floatright" cellpadding="5" border="1" style="text-align:center; border: 1px solid darkgray;"
|-
| Keep Right || Keep Left
|-
| Turn Right || Turn Left
|-
| Exit Right || Exit Left
|}
Turn instructions are critical for proper client navigation. They are controlled by:
* The angle set between segments at junctions.
* The road names.
* The road types.
Before going further, make sure you understand Review the mechanics of article [[Map_Editing_Quick-start_Guide#Turn_restrictions_.28allowed_turns.29Junction Style Guide/Controlling turn instructions|controlling turn restrictionsinstructions]] in for a complete understanding of the Map Editor. If turns are not properly enabled requirements and restricted, you will never get the instructions you desire. In the Basics section above, we touched on how to ensure a "Turn left/right" instruction would be given over a "Keep left/right" instructionissues surrounding this topic.
Details of the mechanics behind this can be found on the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|How Waze determines turn / keep / exit maneuvers]] page, but a summary is provided in the sections below.=== Geometry =Surface Streets ==
Some of the complexity of the back=== Intersections ==={| class="Wikitable floatright"| [[File:Jct 3 90.png|x100px|border]]| [[File:Jct 4 90.png|x100px|border]]| [[File:Jct ramp no geo.png|x100px|border]]|-end algorithms can be avoided if we try to treat junctions with the logical view in mind as was done in the previous examples| colspan="3"|[[File:4waysplitsplit. If all junctions you edit follow just png|border|center|169x169px]]|}Basic intersections involve three or four road segments meeting at a few basic forms, it will be much easier to predict the behavior of an individual junctionsingle point. Some more complex variations resemble H or # shapes.
* Approximately '''90''' degree departure angle = '''Turn'''In all cases it is important to configure these intersections properly. Detailed information is covered in the [[Junction Style Guide/Intersections|Intersections]] article.* Between '''20 and 30''' degree departure angle = '''Keep''' (or Exit for Ramps){{clear}}
These angles allow us to clearly depict the desired result (turn vs. keep) while staying within safe margins of the angles the actual algorithms use for decision making. For example, since 45 degrees is a trigger point for the algorithms, a 44.5 degree angle will behave very differently than a 45.5 degree angle.
Similarly, if we have a [[#Y_Intersections|road split at a Y]] and we want to be clear about which is "straight" and which bears off to the side, having one branch at zero degrees and the other branch at 5 degrees isn't as clear and obvious as if it were zero degrees vs. 20 degrees. Since most of us will not have a protractor handy every time we are editing, it is best to simply avoid situations where exactness would matter.=== No Outlet Roads ===
This knowledge allows us to control how a junction behaves by modifying a single geometry node Roads which only have one way in most cases. This is often useful for [[At-Grade_Connectors|At-Grade Connectors]] where sometimes we prefer a "Keep right/left" and other times a "Turn right/left" would be more appropriateone way out can present challenges to the routing server, although they seem simple to our minds.
If we keep the departure angle in the 20 to 30 degree range, we would get a "Keep Right" to follow the curved one-way connector:==== Dead Ends ====
: Dead Ends (a.k.a. No Exit, Closed, No Through Road, No Outlet) are road segments that simply end, with no continuation or connections at one end. In some areas, a Dead End may be synonymous with a [[Image:Jct_at_grade_keep.png#Cul-de-sacs|Cul-de-sac]]. In the US, a "No Outlet" sign may be used to indicate a road which itself is not a dead end, but it only connects to other dead end roads. It can also be used as a "friendlier" alternative to the typical Dead End sign.
But if we move one geometry node Within the Map Editor it is possible to create represent a 90 degree angledead end road with multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, now we would receive a "Turn Right" instructiononly the very last segment is considered the dead end segment.
: [[ImageFile:Jct_at_grade_turnJct dead end.png|left|border]]Make sure that there is a junction indicator (the small blue dot, not just a geometry node) at the very end of the segment. While this one segment does not actually constitute a junction, the small blue dot is a visual indicator to the editor that the end of this segment is properly set up. This is necessary to ensure proper routing out of the segment. See the Cul-de-sac section below on when and how to fix this.
Similar rules apply for [[File:Jct dead end ex.png|right|border|200px]]This final junction indicator must be located near the end of that the road, but it should be located where there is still pavement as not to negatively impact client routes. Waze only considers the road fully traversed if both ends of the segment as wellare fully crossed. If we have a 20 the junction indicator at the end of the segment happens to 30 degree angle as pictured abovebe at the edge of the pavement (or off of the road surface if aerials are not exactly aligned), there it will be no turn instruction as traffic just smoothly slides into the very difficult for a driver to cross streetthat junction. But if we make A good rule of thumb is to have the end of the segment close to a 90 degree angle, then there would be a turn right instruction for the driversame distance from the end of the pavement as it is from each side of the road.
=== Segment Naming and Type ===With such a placement, the driver is given a chance to cross that junction indicator for that segment. Also check for the proper u-turn setting as covered in the [[Map Editing Quick-start Guide#U-Turns at the end of dead-end-streets|best practices article on u-turns]].
Besides the geometry of the road segments, the names and types of the segments come into play. A basic rule of thumb is that if you want a turn to be announced, having a different name will improve the chances (but not guarantee!!!) that it will happen. For the At-Grade Connector example above, the connector should have a different name than the road it is leaving (See the [[At-Grade_Connectors#How_to_name_the_connector|How to name the connector]] section of the At-Grade Connectors page). === Highway/Freeway Junctions ===These are junctions involving the three Highway/Freeway road types - Minor Highway, Major Highway, and Freeway -- as well as their Ramps.==== Highway/Freeway Exits ====It is considered to be a basic Exit situation when a "straight" direction is obvious to a driver and navigation instructions are only needed for the non-straight direction (the exit). If navigation instructions are required for both directions, see the [[#Highway/Freeway_Splits|Highway/Freeway Splits]] section below. To be treated as a basic Exit, the following must be true:# The entering segment and one exiting segment must be one of the three Highway/Freeway types# The Highway/Freeway exiting segment must have close to a zero degree departure angle from the entering segment# The second exiting segment must be of type Ramp# The Ramp exiting segment must had a departure angle of between 20 and 30 degrees from the entering segment With those conditions met, the junction will present an "Exit Right/Left" navigation instruction when the ramp is used and will remain silent with no navigation instructions at all when using the Highway/Freeway exiting segment. ==== Highway/Freeway Splits ====We will consider it to be a Highway/Freeway Split when we have a Highway/Freeway segment meeting at a junction with two other Highway/Freeway segments and there is no obvious straight through direction to a driver. To receive a navigation instruction for '''both''' branches of a split, the following must be true:# All segments must be one of the 3 Highway/Freeway Types# All segments must have names which are different from each other# The two exiting segments must have departure angles of 20 to 30 degrees from the entering segment# The segment can be short, but it should be large enough that it is not hard to find in the editor ''(too subjective, we probably need a minimum length guideline)'' With those conditions met, the junction will present "Keep Left" and "Keep Right" navigation instructions using the name of the appropriate exiting segment. ==== Ramp to Ramp Splits ====A ramp may itself split and branch into two directions. If this is the case, "Exit Right" and "Exit Left" will be announced using the name of the appropriate exiting segment in all cases. === Surface Street Junctions ======= Y Intersections ==== Surface streets occasionally meet in a Y formation and we must carefully consider how they must be arranged to provide useful navigation instructions. As the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|How Waze Determines turn/keep/exit maneuvers]] page explains, segment names and geometry is very important in determining what navigation instructions are (or are not) given. In the example below, the multi-lane surface street is known as Main Street to the west and Atlantic Ave to the east. The name change occurs when Main St branches off as a regular surface street. : [[Image:Jct_Y_ex_aerial.png]] The description above is how a human would probably describe the situation, but as you can see in the image above, a more technical description would be that Main St travels in a perfectly straight line and Atlantic Ave branches off of it. But if we map it that way in the editor, we create a major problem. : [[Image:Jct_Y_ex_map_bad.png]] Since the multi-lane segment of Main St and the regular street segment of Main St have the same name, the routing engine automatically considers that to be "straight". If the two sections line up in a straight line the way they appear from the sky, then we are reinforcing the idea that straight is Main St to Main St. But as a driver on the road, straight will be the path that remains on the multi-lane roadway, regardless of what the name is. So to make sure the routing engine "understands" the proper treatment of the junction, we have to be deliberate with the segment geometry of all three involved segments. In the end, we end up with something like this: : [[Image:Jct_Y_ex_map.png‎]] Now the geometric definition of straight is multi-lane Main St to Atlantic Ave since we have made that transition as close to zero degrees as possible. With the regular street version of Main St now branching off at a very obvious angle, the routing engine should recognize that a turn is required. So the end result is that Main St to Atlantic has no turn announced and Main St to Main St has a turn announced. Exactly what drivers would expect in the real world. == No Outlet Roads == Roads which only have one way in and one way out can present challenges to the routing server although they seem simple to the human mind. === Dead Ends === Dead Ends (a.k.a. No Exit, Close, No Through Road, No Outlet) are road segments that simply end with no continuation or connections at one end. In some areas, a Dead End may be synonymous with a [[#Cul-de-sacs|Cul-de-sac]]. In the US, a "No Outlet" sign may be used to indicate a road which itself is not a dead end, but it only connects to other dead end roads. It can also be used as a "friendlier" alternative to the typical Dead End sign. Within the Map Editor it is possible to represent a dead end road with multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, only the very last segment is considered the dead end segment. Make sure that there is a junction node (not just a geometry node) at the very end of the segment. This is necessary to ensure proper routing out of the segment. : [[Image:Jct_dead_end.png]] === Cul-de-sacs ===
''See also: [http://en.wikipedia.org/wiki/Cul-de-sac Cul-de-sac article on Wikipedia]''
A Cul-de-sac (a.k.a. Court in the US) is a common treatment of a dead end street in a residential neighborhood.
In almost every situation, a cul-de-sac should be treated exactly as a dead end street, with the final junction node indicator in the center of the bulb of the cul-de-sac. Be sure the free end of the final road segment has small blue dot displayed at the tip (when not editing or selecting the segment). If there is no blue dot, please correct it by following the steps for [[Creating and editing road segments#Fix the end-node on cul-de-sacs and dead-ends|fixing dead ends]].
: [[Image:Jct_cul-de-sac_ex.png|left|border]]The junction indicator should be located close to the middle of the bulb and NOT near the outer edges. If the end of the segment is positioned along the perimeter of the bulb, there may be difficulty in processing client routes. Waze only considers the road fully traversed if both ends of a segment are crossed. If the end of the segment happens to be on the curb (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross the end of the road segment. With the junction in the middle of the visual road, we give a driver a good chance to cross the end of the segment no matter where they drive within the bulb. The exception to this guidance is given in the next example.{{clear}}
{| class="Wikitable floatright"| [[Image:Jct_cul-de-sac_island_ex.png|200px|border]]| [[Image:Jct_cul-de-sac_island_ex_road.png|border|200px]]|}This next cul-de-sac is perfectly fine , with a small island, should be treated as a basic dead endwith no loop. The small island should can be ignored , as there is no significant routing question for the driver once they get to the cul-de-sac.
: [[Image:Jct_cul-de-sac_island_exAs for placement of the final junction indicator, here we may get better results by moving the junction out from the true center and over to the outer perimeter of the central island.png]]The shift ensures that the driver has a good opportunity to cross the end of the segment.{{clear}}
However, if the cul-de-sac has a very large '''bulb''' with a large island in the middle, it may better be treated as a [[#Loops|Loop]] . A good rule of thumb is if you were standing at the size end of the cul-de-sac, can you tell that it is truly significant. A Loop should primarily be used if problems with "Missing Road" errors occur. Remember if just a cul-de-sac? Or does it look like two different roads? If you see an island, but question are not sure if it is big enoughsignificant, when in doubt--leave it the Loop out. If "Missing Road" errors occur on the road, then add a Loop.
=== Loops ===
<gallery mode="packed-hover">
File:U-shaped Road.jpg|U-shaped road
File:Jct loop bulb.png|terminal or dead-end loop
</gallery>
Road segments form a loop when you can trace a path from a starting point around to the same point without retracing any portion of the traced path.
Loops are roads that you can enter and without turing around, end ==== Every loop must be made up at the same place you started.of three or more segments ====The important Map Editor rule we must follow is[[File: '''a road segment must ''Loop_3-part_6.jpg|right|150px]]Any loop that does not'' start and end on the same junction node'''. If follow this rule is not followed, can cause problems for the Waze routing server will have difficulty in providing routes into and out of the loopHopefully If there will be another roadway is no side-street, you must [[Map Editing Quick-start Guide#Splitting a segment|insert an extra junction node]] along the loop road which you can map, which . Many new editors will break see the loop into two pieces extra junction node(s), assume they are not needed, and avoid the problemdelete them. Please educate new editors. But if there are no interruptions to the loop and the entire loop is represented by one road segment that doubles back on itself, we have a problem
To properly handle this situation, we must [[Map_Editing_Quick====Two-segment loops====Two-start_Guide#Splitting_a_segment|insert segment loops create a superfluous situation called "same endpoint drivable segments" or "same connection segments". There are two or more ways to get from one junction node]] along the loop segmentto another without going through any other nodes. The specific location does not matter, but most people put it near They can cause a problem for the half-way point Waze app regardless of the segment and/direction, or opposite other attributes of the true junction segments. This is because the routing server gives your mobile app a list of node IDs only, but the app needs to tell you which segments to drive on. If there are two ways to get from one nodeto the next without going through any other nodes, then the Waze app might just have to guess. It might guess a detour off the highway through a service road or scenic overlook. Please save Waze from this silliness. Correct two-segment loops.
: ====One-segment loops===={{anchor|Loop_save_errors}}[[ImageFile:Jct_loop_bulbDead end loop.png|thumb|right]] One-segment or self-connected loops are often found in basemap areas. It is difficult for Waze editors to create one-segment loops. Depending on the situation, these should be converted to three-segment loops or simple dead-end roads. For more on loops on dead-end roads, please see [[Image:Jct_loop_square.pngCul-de-sac#Cul-de-sacs|cul-de-sac]]. It is important to preserve house number data on these segments.===== Fixing one-segment loops=====If you try to edit a one-segment loop, but then cannot save the changes, undo your changes and then try one of the following to fix it:
*If the loop and the road leading to it have the '''NOTE:same''' It is very easy for you or another editor to find name*#Select the superfluous junction node, assume it is truly superfluous, loop and delete the road.*#Click the bridge icon that appears (one end of the loop will disconnect from the other)*#Move the now free end of the loop so it! This problem is magnified if slightly separated*#Save*If the loop and the road is large or shaped in leading to it have '''different''' names*#Draw a way where it is not obvious new road segment that it is a connects to the loop. So if you can identify a /road junction*#Give that new road to map along the same exact name as the loop*#Select the loop, even if it is a parking lot, and the new road segment*#Click the bridge icon that would provide a more "permanent" treatment appears (one end of the loop since will disconnect from the other)*#Move the superfluous junction node now serves an obvious purposefree end of the loop so it is slightly separated*#Save*Create a dead end road or a three-segment dead-end loop as appropriate.*Fix elevations.*Confirm turns.
Here is a [http://www.youtube.com/watch?v=a7yAzG7HElw video on YouTube showing the second method].{{#widget:YouTube|id= Roundabouts and Traffic Circles ==a7yAzG7HElw}}
: [[Image:Jct_roundabout.png|frameless|right]]
Please ===Roundabouts and traffic circles===It may be tempting to use the roundabout feature to create a loop shape. Do not do this unless the loop is a roundabout or traffic circle. Roundabouts give special routing instructions, and must not be used for other purposes. To learn more, please see the [[Roundabout]] page for a full discussion of this special type of junction.
=== At-Grade Connectors grade connectors ===
: [[Image:Jct_at_grade_keep.png]]
Make sure you With exceptions, don't confuse set these segments for as ramps! And watch Watch out for all of the turns you need to restrict. For a full more detailed discussion, see the full [[At-Grade_Connectors|At-Grade Connectorsgrade connectors]] pagearticle.
== Ramps Interchanges and ramps ==
Ramps have An '''interchange''' is a very specific purpose in Waze. They road junction where two roads are intended to connect segments of Minor Highwaysconnected by dedicated roadways, Major Highwayscalled '''ramps'''. The roads connected by an interchange do not intersect one another directly, and Freeways to roads where there are no atif they cross, the crossing is grade-grade crossingsseparated.
=== When to use ramps ===
The following conditions must be met for the use of ramps to be appropriate:# Two roads cross over/under each other with no at-grade junction# At least one Use of the roads are of these types## Minor Highway## Major Highway## Freeway## {{Ramp If the above requirements are not satisfied, you may be dealing with an [[#At-Grade_Connectors|At-Grade Connector]]. === How complex should ramps be? === Rule #1 is still simpler is better. So unless there is a large deviation of distance between paths at the end of a ramp (either into or out of the ramp as appropriate), a single segment connecting to a single junction node is all that is needed. The simple existence of a painted, concrete, or grass island is '''NOT''' enough of a reason to split a ramp into multiple ramps. : [[Image:Jct_ramp_no_split.png]] Once paths at the end of the ramp deviate significantly in distance, regardless of the existence of any }} type of island, then it is time to consider multiple ramps. : [[Image:Jct_ramp_split.png]] == Limited Access Interchanges ==''See also: [http://en.wikipedia.org/wiki/Interchange_(road) Wikipedia article on Road Interchanges]'' When two roads meet in a limited access interchange (any situation where travel between grade separated roads is facilitated governed by ramps or slip roads alone), extra care must be taken. If an exit ramp lines up with an entrance ramp, care must be taken to restrict the straight through direction to prevent "ramp-to-ramp routing" where the routing engine may try to take a shortcut from the Freeway, to the exit ramp, to the entrance ramp, and back to the Freeway instead of staying on the Freeway. That motion is inefficient and may be illegal in certain jurisdictions. '''Care must be taken to not enable all turns in any situation where ramps meet unless all possible flows of traffic have been considered!''' We also have to pay attention to the '''Level''' of the road segments since there will typically be many bridges and overpasses for any limited access interchange. If two roads cross without connecting, their levels must be different. The following sections discuss some of the common Interchange designs. Note that some Interchanges may be a hybrid of these basic designs where one side or quadrant of the interchange may differ from the others. === Diamond Interchange ===: [[Imagerules:Jct_diamond.png]]''See also: * [http://en.wikipedia.org/wiki/Diamond_interchange Diamond Interchange article on Wikipedia]'' Common in wide open spaces where land acquisition and geography are not concerns, this Interchange design has ramps equally distributed across all 4 quadrants. In the simplest form, this can be represented as single connections from the ramps to the surface street.  Note: Be sure to restrict the straight through motion from the exit ramp onto the entrance ramp on the other side of the road. This will prevent the routing server from trying to route someone off the freeway just to get back on it. Even though it may be a legal direction for a vehicle, turn restrictions are only for controlling routing directions. : [[Image:Jct_diamond_simple_turns.pngRoad types]] If the ramps connect to the surface street at multiple points (be sure to read * [[#How_complex_should_ramps_be?|How complex should ramps be?]], we have to avoid rampAt-to-ramp routing as well as illegal turns which should use another ramp. First we see the turns that must be restricted for the exit ramps: : [[Image:Jct_diamond_cplx_turns_off_L.png]] [[Image:Jct_diamond_cplx_turns_off_R.png]] Then we see what must be restricted for the entrance ramps: : [[Image:Jct_diamond_cplx_turns_on.png]] '''Note on Levels:'''The single surface street segment between the inner most ramps should be either raised or lowered in relation to the freeway segments depending on the actual geography at the interchange. === Cloverleaf Interchange ===: [[Image:Jct_cloverleaf.png]] ''See also: [http://en.wikipedia.org/wiki/Cloverleaf_interchange Cloverleaf Interchange article on Wikipedia]'' In a Cloverleaf Interchange, left turns are eliminated from all movements between the Freeway and the surface street. First check the exit ramps. : [[Image:Jct_cloverleaf_off_outer_turns.png]] [[Image:Jct_cloverleaf_off_inner_turns.pnggrade connectors]]
Then check the entrance ramps for illegal turns.=== Ramp and interchange style ===
: [[Image:Jct_cloverleaf_on_turns.png]] The connections to the Freeway segments may be treated in two ways: :[[Image:Jct_cloverleaf_options.png]] # (top) we can have the inner entrance and exit ramps have their own junction nodes with the Freeway.# (bottom) we can have the entrance and exit ramps share a single junction node with the Freeway. This allows us to eliminate the very short Freeway segment that may exist between the inner entrance and exit ramps.<br />It is best to offset this shared junction onto the Entrance ramp side of the surface street. This prevents the junction from accidentally being connected to the surface street or looking like it does. We favor the Entrance ramp side, because this would result in a slightly earlier exit instruction which is of course preferred over a late exit instruction.  The determining factor of which design to use will partly depend on the actual size and scale of the specific interchange. '''Note For guidance on Levels:'''The single surface street segment between the inner most ramps should be either raised or lowered in relation to the freeway segments depending on the actual geography at the interchange. === Folded Diamond ===: [[Image:Jct_folded_diamond.png]]''See also: Discussion proper configuration of Folded Diamonds and A2/B2 Partial Cloverleafs on the [http://en.wikipedia.org/wiki/Partial_cloverleaf_interchange Partial Cloverleaf Interchange article on Wikipedia]'' Geography or property ownership may prevent the ability for an interchange to be constructed with all ramps evenly distributed across the 4 quadrants of the interchange. When only two quadrants are used, it is typically called a Folded Diamond (basically a sub-type of a Partial Cloverleaf Interchange). The ramps may be all on one side (as in the examples in this section) or they may be located in diagonally opposed quadrants. The unique situation presented by the Folded Diamond arrangement is having both Entrance and Exit ramps terminating on the same side of the surface street. Ideally both ramps should terminate on the same junction node to permit us to easily restrict the illegal interchanges and usually impossible ramp-to-ramp movement. : [[Image:Jct_folded_diamond_u-turn.png]]' Like with a basic Diamond Interchange, often it will be necessary to represent the ramps making multiple connections to the surface street (Be sure to read [[#How_complex_should_ramps_be?|How complex should ramps be?]]. Restrict all non-permitted turns. : [[Image:Jct_folded_diamond_off_turns_L.png]] [[Image:Jct_folded_diamond_off_turns_R.png]] [[Image:Jct_folded_diamond_on_turns.png]] '''Note on Levels:''' Similar to a basic Diamond interchangewayfinders, in most cases only the segment of the surface street that crosses the Freeway segments will need to be adjusted up or down. === Single Point Urban Interchange (SPUI) ===: [see [Image:Jct_SPUI.png]]''See also: [http://en.wikipedia.orgJunction Style Guide/wiki/Single-point_urban_interchange Single Point Urban Interchange article on Wikipedia]'' A SPUI is a very space and flow efficient design, but it takes extra attention to ensure the turns are correct. And as the name indicates, ideally there should be a single junction in the center. You may need to tweak the geometry of segments a bit off of alignment from the real physical world, but it should be minor if the interchange is a true SPUI. The outer branches of the exit ramps are very much like in the case of a diamond interchange: : [[Image:Jct_SPUI_off_outer_turn.png]] Where things get complicated is the inner branches leading to the Single Point. You need to avoid ramp-to-ramp in two directions and a reverse flow turn. '''Note:''' The ramp-to-ramp motion to facilitate a U-Turn (the top left arrow in the image below) may or may not be allowed depending on the specific interchange. Please validate this turn. : [[Image:Jct_SPUI_off_inner_turn.png]] Luckily the entrance ramp restrictions are similar to the diamond interchange: : [[Image:Jct_SPUI_on_turn.png]If you were to look at all the restricted turns at once, you may get the false impression that something is very wrong. But as you now know, a SPUI has almost as many restricted turns as allowed ones. : [[Image:Jct_SPUI_all_turns.png]] '''Note on Levels:'''The two surface street segments (between the outer ramps and connected to the Single Point) and the 4 ramp segments connected to the single point should all be the same level, either one higher or one lower than the level of the freeway segments above/below the single point.
== Special Cases ==
=== Transitions ===
{| class="Wikitable floatright"
| [[Image:Jct_transition.png|x150px|border]]
| [[Image:Jct_transition_90.png|x150px|border]]
|}
A transition is a non-junction depicted using a junction node.

: [[Image:Jct_transition.png]] [[Image:Jct_transition_90.png]]
Valid examples of where to use a Transition node include:
# Road Direction changes
# Part of a [[#Loops|Loop Road]]
# Speed Limit Change
There may be exiting Transition nodes on Before the map for other reasons (left over after a connecting road was deletedcurrent house numbering system came into use, due transition nodes were used to the original base map import when things such as rivers and streams created junctionsaid in house numbering, etc.)but that is no longer required.
There may be existing transition nodes on the map for other reasons like remaining after a connecting road is deleted, inherited from the original base map import when rivers and streams created junctions, etc. As long as we you are '''certain''' it is not a valid Transition transition node, a superfluous junction node may be [[Map_Editing_QuickMap Editing Quick-start_Guidestart Guide#Delete_a_JunctionDelete a Junction|deleted]]. Doing so will simplify the map, eliminate turn restrictions to maintain, and ease reduce computing resources needed to calculate routes in the arearesource needs. Also consider removing the [[Creating_and_Editing_street_segmentsCreating and editing road segments#Adjusting_road_geometry_Adjusting road geometry .28nodes.29|geometry node]] which will replace the junction node you delete , if that geometry node is not needed.
=== Roads to Nowhere ===
''(coming soon)''In certain situations it may be necessary to add road segments that are un-drivable in order to provide accurate navigation instructions.
==== Actual ====
A valid use of this technique is at the temporary end of a freeway. As a freeway is built, it is often opened in sections, up to a certain exit. If we map this as a regular freeway segment leading to a ramp segment, no announcement will be made for that final exit, no matter what we name the exit ramp. This can be confusing if the ramp is set up as a properly signed and numbered exit, especially if a driver is traveling a long distance on this freeway. Imagine traveling down a freeway and seeing your next instruction is "turn left at Main St." You would probably wonder if there was a map error since you shouldn''(coming soon)''t be making a left turn off of a freeway. If we map even just a little of the future path of the freeway, this gives the routing engine a junction which will generate an "exit" instruction at the end of the freeway, thus eliminating any confusion.==== Fake ====''(coming soon)''Conversely, if we do NOT want an exit instruction at the end of a freeway, ensure there are no road segments extending past the final exit, to ensure the final exit is the only path out of the final freeway segment.
=== Offset Roads ===
[[Image:Jct_4_offset.png|left|x150px|border]]Sometimes you will find two roads which cross , where one does not quite line up exactly from one side to with the other.
There are a few things we need to look at in this situation.{{clear}}: * Do the roads actually line up in reality? If so we need to modify the junction to be a basic 4-way junction.{| class="Wikitable floatright"|[[Image:Jct_4_offsetJct_4_offset_align.png|x150px|border]]|[[Image:Jct_4_offset_align_ex.png|x150px|border]]|}:* Do the roads ALMOST line up in reality? If you were giving instructions to a person and would tell them to go straight with no mention of any slight turn or jog, then we want to make it into a 4-way junction. You may need to "split the difference" and not follow the centerline of either road to achieve this. The angles are exaggerated in this next example to show how the junction is forced to be close to 90 degrees, then we taper to the true centerlines of the roads. In practice this can be much more gradual and/or done while zoomed in very close.[[Image:Jct_4_offset_ex.png|right|x150px|border]]:* Finally, is there a true separation between the roads? Would you need to say for example "turn left then make an immediate right"? If so then we will want to leave the junction such that the two sides do not align.{{clear}}
There are [[Image:Jct_4_offset_sep_ex.png|left|x150px|border]]Since we want to avoid very short segments of road (the GPS chips in consumer devices can be very inaccurate which may make it seem that a few things we need driver skipped right over a short segment. This will result in [[Map Problems in Waze Map Editor|automated map errors]] and possible route recalculations in the client,) it may be wise to look at shift the side roads as far apart from each other as possible with them still in this situationthe proper location (along the far curb lines for a residential street for example). This will maximize the length of the short segment between the side roads.
# Do the roads actually line up in reality? If so we need to modify the junction to be a basic 4-way junction.# Do the roads ALMOST line up in reality? If you were giving instructions to a person and would tell them to go straight with no mention of any slight turn or jog, then we want to make it into a 4-way junction. You may need to "split the difference" and not follow the centerline of either road to achieve this. The angles are exaggerated in this next example to show how the junction is forced to be close to 90 degrees, then we taper to the true centerlines of the roads. In practice this can be much more gradual and/or only done while zoomed in very close.<br/>[[Image:Jct_4_offset_align.png]] [[ImageCategory:Jct_4_offset_align_ex.pngStyle Guide]]<br/># Finally, is there a true separation between the roads? Would you need to say for example "turn left then make an immediate right"? If so then we will want to leave the junction such that the two sides do not align.<br />[[Image:Jct_4_offset_ex.png]]<br />Since we want to avoid very short segments of road (the GPS chips in consumer devices can be very inaccurate which may make it seem that a driver skipped right over a short segment which will result in automated map errors and possible route recalculations in the client), it may be wise to shift the side roads as far apart from each other as possible with them still in the proper location (along the far curb lines for a residential street for example). This will maximize the length of the short segment between the side roads.<br /> [[ImageCategory:Jct_4_offset_sep_ex.pngTable examples]]