osm-is-area

An OpenSreetMap area must be a way or a relation. But not just any way or relation.

If you are not so fortunate that all your elements are nodes, look further...

API

osm_is_area::way

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.

```rust 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); ```

osm_is_area::relation

A relation is an area when it has a tag "type" with value "multipolygon". ```rust 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