osm-is-area

Tell if an OpenStreetMap element is an area or not.

First, decide if your element is a way or a relation, then pick the function that is best for you.

Usage

According to Overpass turbo, a way is considered an area if 1. It forms a closed loop 2. It is not tagged area=no 3. It conforms to one of the conditions for polygon tags.

``` use osmisarea; let tags = vec![ (r"waterway", r"riverbank") ]; let refs = vec![1, 3, 2, 1];

let isarea = osmisarea::way(&tags, &refs); asserteq!(true, is_area); ```

A relation is an area when it has a tag "type" with value "multipolygon". ``` use osmisarea;

let tags = vec![ (r"type", r"multipolygon") ]; let members = vec![1, 3, 2, 1];

let isarea = osmisarea::relation(&tags, &members); asserteq!(true, is_area); ```

License

MIT