Best map editing practice: Difference between revisions Discussion View history

(Added the link to the Junction Style Guide article)
Line 118: Line 118:


=== Locking Segments ===
=== Locking Segments ===
It is not recommended to lock segments in residential neighborhoods. Locking should only be used on high-value roads and complicated junctions to prevent inexperienced lower level editors from making changes.
It is not recommended to lock segments in residential neighborhoods. Locking should only be used on high-value roads and complicated junctions to prevent inexperienced lower level editors from making changes.


NEVER lock a segment unless are sure that it and everything that touches it (junctions, turn restrictions, and other segments) is 100% complete and correct.
NEVER lock a segment unless are sure that it and everything that touches it (junctions, turn restrictions, and other segments) is 100% complete and correct.
If you run into a segment or junction that is locked by someone at a higher editing level than you, select the segment(s), copy the [[permalink]] of that location, and post it in the [http://www.waze.com/forum/viewforum.php?f=265 Unlock request forum].


'''Locking should be used sparingly and carefully.'''
'''Locking should be used sparingly and carefully.'''
=== Junction Style Guide ===
When creating or editing a junction, it is very important to understand the nuances of how the Waze routing engine looks at the map segments and junctions. The [[Junction Style Guide]] will provide the best practices with the many different types of junctions.


== New Roads ==
== New Roads ==

Revision as of 05:33, 10 August 2012

Back to Area Manager FAQ

Like Waze, this page is a community effort and a work in progress. Many helpful pages already exist on the responsibilities of an Area Manager, how to use Waze Map Editor, identify and solve map problems and update requests, set standards for labeling roads, and a general FAQ. The purpose of this page is to help Area Managers & others design maps that work best for the end-user--the driving public--while minimizing the amount of (re)work you have to do because of common mistakes or subtle limitations of the tools.

At the moment, I am taking suggestions via PM for content for this page: topic suggestions are good, but links to insightful forum conversations, or even links to other Wiki pages, would be better. I won't be able to incorporate every suggestion, but I will appreciate all of them.

Overall Goals

Usability

When it comes to the map, the first & foremost goal of editing is to provide the driver with a map that is easy to follow on a small display, and to produce sensible verbal instructions when (and only when) they are needed.

Simplicity

It is not a goal to model the physical roadway lane-by-lane. Doing so often leads to unnecessary complexity--which means a cluttered map, confusing verbal directions, and lots and lots (and lots!) of extra map maintenance.

Retention

As a result of people driving over them, road segments retain certain information (e.g., average speed) that is used in route optimization. When a segment is deleted, that information is discarded. Given a choice between deleting a tangle of segments and creating new ones in their place, vs. untangling them and reusing them, it is often better to "recycle".

In Practice

When (Not) to Split a Two-Way Road

It is not always a good idea to split anything short of a freeway or major highway--which use nothing but ramps to enter/exit--into two one-way roads.

Some formal guidelines - A road should be split if:

  • There is at least 5 meters of non-drivable surface between directions of travel. (This means a median of some type like cement, planter boxes, trees, or just grass.
  • GPS tracks show a clearly definable gap/blank area between the color-by-azimuth arrows at the 100m zoom level.
  • A road with a non-drivable surface (of any width) between the directions of travel where many left turns are physically impossible due to the median.
  • A road with a non-drivable surface (of any width) between the directions of travel where there are three or more lanes in each travel direction.
  • U-Turns are required to properly make turns that are blocked by a median.
  • It is an Interstate Highway (USA) or other Limited Access Highway using the "Freeway" road type.

A road should not be split when:

  • There is a curb or non-drivable median less than 5m wide between lanes of travel (see exceptions above).
  • The non-drivable median is interrupted by a cross segment at every intersection.
  • There is a center turn lane, even a wide one, between directions of travel, does not count because it is drivable.
  • Google Maps or other mapping source show it as a split road.

Remember that splitting and unsplitting each comes with its own set of problems. Each situation is unique and some issues may be more manageable with a single two-way road, and some may work fine with a split road. Consider every aspect of routing, and carefully examine each junction before splitting or unsplitting. Regardless of whether you're splitting or unsplitting, remember that you might cause more problems than you solve and you might have to put it back the way it was before. (I strongly believe that, for every mile of road that an AM wants to split into one-way roads, he should first merge a mile of split roads back into a two-way road. Check out what's involved. It builds character.)

How to "Un-Split" two One-Way Roads

Sorry to say it, but there is no easy way to merge two one-way roads back into a two-way road--which is why you should always give a lot of thought before splitting a road in the first place. And then think some more.

When you come across a road in your area that has been split but shouldn't have been--just look for the highest concentration of problem reports, and you'll find them!--you have some major map surgery ahead of you. Basically, for the length of the road, you're going to:

  1. delete road segments on one side or the other*, including segments that connect the two sides;
  2. remove all "orphaned" junctions;
  3. change the direction of the preserved segments to two-way;
  4. check/fix the connectivity of all the roads already connect to the side you kept;
  5. connect (and set connectivity) of all the roads that used to be connected to the other side;
  6. make sure all the new two-way segments are connected; and
  7. adjust the geometry to move the two-way road segments to the middle of the road.

'*' It usually saves time to preserve whichever side is already connected to more roads, so you may want to delete one side in some places, and the other side in other places. Just remember to re-connect them later.

It isn't difficult once you have gone through the process a couple times.

Caveat: if you decide to be clever and edit the road properties of multiple segments at a time, familiarize yourself with the known problems with mass-editing first. It can be done--but if you're not careful, you'll find that all the road segments have reverted to Streets...in Alabama...and any alternate road names will be lost. I wish I were kidding.

Highways and Ramps

Useful long-range navigation is impossible with Waze if the highways are broken. Since limited-access roads--typically Freeways & Major Highways--offer more to think about (and more opportunities to mess them up) than typical surface-road work, this section is very important.

Roads

The term "limited-access road" here refers to a road that is multi-laned in each direction, with a physical barrier between directions, and which can be entered & exited solely by ramps. Such roads almost always should be mapped as separate one-way segments--and other roads almost never should be.

Ramps

As stated elsewhere, off-ramps should be named according to their exit number if they have one, as well as whatever is on the actual exit sign; e.g., "Exit 7: Rte 3 S / Braintree / Cape Cod". On-ramps should be named "to" whatever they lead to; e.g., "to I-93 S / Quincy / Providence RI". Ramps should always be locked to preserve directionality, since they often run especially close to other ramps that flow in the opposite direction. (Not locking ramps means you will end up coming back later to fix a ramp that has become two-way--and has started directing traffic accordingly.) Remember to check connectivity and turn restrictions while you're there.

Overpasses & Underpasses

Recent experience has changed my thinking regarding road levels. Given the current editor limitations, I have found that it is more important to know that road level is an issue for a particular segment (e.g., a mile-long stretch of highway that extends well beyond the screen boundaries), than what its actual value is, or of maintaining a consistent level across multiple segments of the same road.

I use level 0 as a "sentinel value" that signifies that a segment has no overpasses or underpasses. When editing an over/underpass, if either segment is at level 0, set it to a non-zero value that reflects its relative level. If both levels are already non-zero, either they are already correct--in which case no further action is required--or they are incorrect, in which case the area needs to be studied carefully, so as not to "break" other intersections that have already been evaluated and assigned.

In many cases, the conflict can be resolved simply by adjusting one segment's level, or perhaps several segments will need to be adjusted. Proceed with caution. In really complicated situations, it might help to draw a picture, or to start by looking for the top-most or bottom-most segment. Or perhaps take a course in Topology at your local community college.

Occasionally you will run into a situation in which no set of values will work. For example, three segments named A, B and C: A crosses over B, B crosses over C, and C crosses over A. So A > B > C > A... now what? Either pretend that one of the segments crosses over both of the others, or add a junction to one of the segments so that it can have two different levels as needed--and hope nobody deletes that "unnecessary" junction without investigating why it might be there. (In this example it might even make sense to add junctions to all three segments, just to make it clearer to the next AM what you're trying to accomplish.)

Caveat re. Levels

No matter what levels road segments are assigned, if you pin a junction through them, they now form a navigable intersection, and Waze will instruct people to turn off of bridges and onto the cross-streets below. If you are looking at an over/underpass, and there is a junction where the roads cross, get rid of it. First, make sure the levels of the road segments are correct, and that all the other info. of each pair of road segments match. At that point, deleting the junction will most likely work. If not (perhaps because a ramp or another road segment prevents you from deleting it), you can try:

Bridging Roads

Select the two segments that cross over/under the intersection, then click on the "Bridge" link. If all goes well, the selected segments will be separated from the underlying junction, consolidated into a single segment, and their level increased by 1. Failing that, you may have to disconnect both sides of the over/underpassing road from the junction, make sure their levels are correct, and then re-connect them.

Handling Restricted Lanes

At this time, Waze does not have a facility to handle restricted lanes; e.g., high-occupancy/"car pool" lanes, lanes that are open (or change direction) at certain times of day, etc.. This is important because these lanes sometimes have their own ramps that the regular lanes do not have, and they often run alongside the main road, so that GPS has a hard time discriminating between the two. The result is driving instructions that can range from incorrect to deadly.

The most direct solution might appear to be omitting/deleting these lanes from the map. Please do not delete these lanes. As Waze implements more features, it will help (in terms of testing and making the feature available) if these lanes are already mapped.

The best partial solution the community has come up with so far is to leave these segments' directionality as whatever their native would be. If it's a set of lanes which switch directionality at times, set it to 2-way. If it is always a 1-way, set it as such. In order to make it less likely that Waze will route anyone onto these express lanes, HOV lanes, etc., any ramps connecting these segments to regular freeway or street segments should be set as Parking Lot road type and turns onto the parking lot road segments and the freeway or highway segments are Disallowed.

This "solution" will give routing onto these special lanes a very high penalty and reduce the likelihood that Waze will create a route over them. It will not prevent Waze from snapping a driver to the segments, if it determines they are on such a lane, and any recalculation of the route from these segments will then be correct as well. However, as noted above, the fact that these lanes are usually quite close to the normal/open freeway or highway, makes it unlikely Waze will automatically recognize their true location due to GPS inaccuracy and margin of error.

Toll roads

Roads with tolls can be indicated by checking the Toll road box on the road segment properties tab. Only mark segments as toll roads if:

  • there is a toll booth, transponder reader, or other tolling device within, or at either end of the segment
  • there is no way to drive on that segment without eventually paying a toll (such as at an exit)

In the case of a bridge that is tolled in only one direction, split the road where the toll is collected and mark only the segment with the toll booth as a toll road.

Time Restricted Turns

Waze currently has no provision for handling this type of restriction, although it is planned for the future. In a situation where a turn is illegal during certain times of the day (e.g. No Left Turn, 7-10 am, 3-7 pm, Weekdays), it's best to err on the side of caution and disallow the turn. This way, nobody will ever be instructed to make an illegal turn.

When to Use Ramps in an Intersection

Please see the discussion on At-Grade Connectors.

When to Create a Roundabout

In the author's editing and driving experience, once you learn how to create a roundabout in Cartouche, it is always the right time to replace an ad hoc traffic circle (built from regular road segments) with a proper roundabout. The voice cues produced by an ad-hoc circle can be terribly misleading, and the client display almost always looks unprofessionally sloppy. Replacing this with a roundabout is an instant, orders-of-magnitude improvement on both counts.

Note that a roundabout should never be used in place of an end-node on dead-end or cul-de-sac streets.

Locking Segments

It is not recommended to lock segments in residential neighborhoods. Locking should only be used on high-value roads and complicated junctions to prevent inexperienced lower level editors from making changes.

NEVER lock a segment unless are sure that it and everything that touches it (junctions, turn restrictions, and other segments) is 100% complete and correct.

If you run into a segment or junction that is locked by someone at a higher editing level than you, select the segment(s), copy the permalink of that location, and post it in the Unlock request forum.

Locking should be used sparingly and carefully.

Junction Style Guide

When creating or editing a junction, it is very important to understand the nuances of how the Waze routing engine looks at the map segments and junctions. The Junction Style Guide will provide the best practices with the many different types of junctions.

New Roads

Parking Lots

Mapping a parking lot serves two purposes:

  • it allows Waze to provide door-to-door directions within the lot
  • it allows the Waze client to get off the main road, avoidiing erroneous traffic reports

Shopping Centers

When mapping a large parking lot (e.g., at a shopping center), the main entrances should be mapped, along with any lanes that run along storefronts, and other lanes that serve to get people from one area of the lot to another. Remember, the goals here are usability and simplicity. When in doubt, imagine yourself in a car in the lot at various points, and ask yourself what the most efficient way would be to get to a store at the other end of the lot, or exit the lot and get back on a main road, with as few convolutions as possible. The lanes that are used the most in this thought experiment should be mapped; the rest should be omitted.

In particular, do not map every single lane, and especially not every single parking space (it has been done!). This serves no purpose but to clutter the map, confuse directions, and put an unnecessary burden on both the client and server hardware. Usability. Simplicity. Your editing time & expertise are much better spent elsewhere.

Small Parking Lots

Parking lots that serve a small number of businesses should be minimal: enough to give the driver correct directions into & out of the lot, and navigate to a particular business. Very small lots with a single entrance/exit could even be represented by a single segment running diagonally across the parking area.

Beware of Parking Lot exits that have a restricted turn (typically no left turn allowed across a median). Due to the way that Waze routing works in regards to penalties, if there is only one way out of a Parking Lot Waze may route you to take that restricted left turn. In these cases it would be better to provide another path out of the lot via an unrestricted turn.

Drive-Through Lots

Because these lots can be narrow and congested, with one-way sections, the simplest way to represent them may be as just a one-way drive-through loop. Caveat: because both ends of a segment cannot connect to the same junction, if the lot has only one entrance/exit, it will be necessary to build the loop using two segments.

Use of the Parking Lot Road Type

The Parking Lot Road type exists to allow the mapping of parking lots, while discouraging the routing server from using them for navigation vs. the road network. Waze has changed the way that Parking Lot roads route as of June 2012. Parking Lot roads now have a transition penalty when transitioning from the Parking Lot road to another road type. This penalty decreases the chance that Waze will route through a Parking Lot as a shortcut but allow better navigation in and out of the Parking Lot. Every segment that is used to map a Parking Lot should be of the Parking Lot segment type. It is no longer advisable to mix road types within the Parking Lot.

Recorded via Client

Once you start editing a road, it changes from red (a new road) to the colour of a road type (by default a white street) and will then appear on the next update of the Live Map which will go out to all Waze users.

So it is less than helpful if you do an incomplete job. At least if the road is red, then someone else knows that it needs work. If it is white, perhaps even with a street name, then it may look correct. But Waze may not realise it is driveable.

Follow these simple steps, as best you can, and get it right the first time. Map Editing explains how to carry out these steps.

  1. Align the geometry of the road to the aerial image unless that is not appropriate in your area
  2. Enter the correct name and road type for your road, following the standards for your country
  3. Make sure the road has the correct directionality. Most roads should be Two Way.
  4. Add junctions where the road intersects with other roads. By default tick "Enable all turns". Restrict any turns that are not allowed. If a junction appears, just add a junction over the top. Chances are it does not have all turns enabled. Waze automatically handles turn restrictions for one way roads.

Roundabouts

Even though a proper roundabout (i.e., produces "at the roundabout..." verbal cues) can only be created in Cartouche, when it is first created, the segments are configured as new roads. They will need to be edited as above before they will become part of the live map.

Classification of crossings

Different types of crossings will have standard ways to handle them

Cartouche (old editor) Caveats

Cartouche has been superseded by Waze Map Editor (WME) and should only be used by experienced map editors to access a few features that are not available in WME. As of January 2012, Waze developers have expressed their intention of taking this editor offline, but they have not done so because of these few unavailable features in WME. Many of the problems listed in this section have been solved with WME.

Features only available in Cartouche (old editor)

  • Alternate names for segments (currently not referenced, but may have future value)
  • Removal of separating line (obsolete feature, but useful for getting rid of the black line on the Primary Street segments, which may make it difficult to see arrows which indicate the directionality of the segment - also for the sanity of editors who can't stand the sight of that black line. Has no effect on routing or client maps whatsoever.)
  • Viewing of Update Requests sent prior to February 2012, or URs that have been sent via LiveMap.
  • Entering/editing of house numbers (not referenced in basemapped countries).

Everything listed below refers specifically to Cartouche.

Every tool, however good, has its limitations, and Cartouche is no exception. For general editing, what you see is usually what you get, and if you read the copious online documentation in advance, you will be able to make sense of (and extricate yourself from) most situations that you run into when editing the map. But there are a few things to watch out for, that can result in a lot of extra work for you if you miss them.

Road Geometry and Alternate Names

Simply put: when you edit the geometry of a road, any Alternate names assigned to it are gone. It makes no sense, people have been aware of this for ages and it has not been fixed. Perhaps it will be addressed in the next incarnation of the editor. Until then: Nothing to see here, move along. (Just remember to go back and restore the Alt names after the geometry is set. Copy & paste are your friends...)

Note that this only affects the segment whose geometry is actually being modified, and not any roads that might be connected to it via junctions. So if you have a road with an Alt name (e.g., a minor highway), you may be able to adjust its geometry without disturbing its Alt name assignment by editing the geometry of adjoining roads instead.


Directionality & Locking

If Waze sees enough people driving along a road in a certain direction, it will conclude that travel in that direction is allowed, and update the map accordingly. The problem is, client GPS signals can be inaccurate, and Waze can mistakenly think that you are on one road when you are really on another. When this happens, one-way roads suddenly become two-way. When this happens on a highway or one of its ramps, it can have far-reaching effects on navigation.

UPDATE: Waze has changed its heuristics to make it more difficult for road directionality to change as described above, once it has been set via the editor. Therefore, in order to allow automatic geometry adjustments, it is now better to leave roads unlocked after assigned them to be one-way.

The Turn Restrictions Layer is Broken in the Cartouche editor

Just leave this layer off and use the Highlight Connectivity feature instead.

Connectivity

Just because two roads are touching where there is a junction, don't assume they are connected. Because you have "Highlight Connectivity" turned on (see above), you should notice pretty quickly that a segment is not connected. To fix, either:

  • Highlight the disconnected segment and the one to which it needs to connect, in from-to order where one-way roads are involved, and use "Connect roads in order of selection" (or the 'c' keyboard shortcut)

or

  • add a junction on top of the existing junction. The new one will replace the old one. Most of the time you will want the "Allow all turns" mode on, but sometimes when working with one-way roads it is easier to turn that option off and enable turns individually.

Reducing Junctions / Consolidating Segments

You will often see junctions in the middle of roads, where there is no intersection. These "extra" junctions are often the result of editing attempts gone awry, and seem to be a magnet for ill-connected and incorrectly-named roads. They multiply the number of segments that you need to maintain, and I'm sure they're not helpful to the routing servers. In short, unnecessary junctions indicate problems, and should almost always be eliminated. (The only exceptions are when they mark a change of city, or when you know that you will be connecting a road there very soon.)

When deleting a junction, remember that the segments on either side of the junction have to match road type, name, city, state, and have compatible directions. If both segments are two-way, or one-way in the same directions, it will work. If they are both "no entrance", it will fail. IMO this is a bug; just remember to change them to two-way beforehand, and then change the consolidated segment back to "no entrance" afterward.

After the junctions are removed, you may need to adjust the consolidated segment's geometry to account for the missing junctions.

Please note that there are currently bugs can occur when deleting junctions.

How to Remove Multiple Junctions

During the interval after pressing the 'y' key (to confirm removing a junction) and before Cartouche returns control to the Edit Panel, it is possible to click on additional junctions and use the 'y' key to delete them as well. This often results in faster deletions because Cartouche is effectively deleting them in parallel; However, there is one known bug and one suspected bug associated with this practice, so its use is highly discouraged:

  1. Deleting adjacent junctions in this manner often causes nearby road segments to vanish, and need to be re-created. I suspect this is due to a race condition. Deleting adjacent junctions means you are deleting the junctions at both ends of a segment. If the first junction is deleted, and then before the segment can be merged with its neighbor, the second junction is deleted, the road segment between them ends up being deleted.
    The workaround for this bug is to make sure you never multi-delete adjacent junctions. However, I have started to suspect another bug that has sworn me off of multi-deleting junctions at all, adjacent or not:
  2. Also probably due to a race condition, I believe that using this technique may corrupt the segment IDs of the road segments involved, causing route highlighting problems when using the Waze client to navigate.