This check identifies waterbodies that cross each other or are missing a waterway (if the water area requires a water way).
In Atlas, OSM elements are represented as Edges, Points, Lines, Nodes, Areas & Relations; in our case, we’re are looking at Areas.
Our first goal is to validate the incoming Atlas object. Valid features for this check will satisfy the following conditions:
- Must be an Area with one of the following tags:
natural=WATER
ANDwater=*
wterway=RIVERBANK
After the preliminary filtering, each object goes through a series of checks, the first of which checks to see if there should be a waterway inside the object, the second checks to ensure that water has a place to go (waterway exists the water body), and the third checks for overlapping waterways.
{
"WaterAreaCheck": {
"intersect.minimum.limit": 0.01,
"water.tags.crossing.ignore": ["waterway->dam"],
"water.tags.filters": ["waterway->*"],
"water.tags.filtersrequireswaterway": ["natural->water&water->river,stream_pool,canal,lock|waterway->riverbank"],
"waterway.tags.filters": ["natural->water&water->*|waterway->riverbank"]
}
}
To learn more about the code, please look at the comments in the source code for the check. WaterAreaCheck.java