Closed Mashin6 closed 1 year ago
Can be closed as per #286
Then please do so @jmaspons, so you'll be recorded as the having done the work required to close this. Thanks!
Then please do so @jmaspons, so you'll be recorded as the having done the work required to close this. Thanks!
Can I? I think I have no perms
Oh, sorry about that, then i'll do it.
As suggested in #178 trimming by area polygon using Overpass is fast and useful way of data filtering.
_Note: OP now treats all closed ways as areas thus allowing filtering by features like parks or buildings. Overpass-turbo uses {{geocodeArea:"name"}} shorthand to query Nominatim and takes the first retrieved object for area filtering. We could use this behavior here as well._
Ok. I took a look on the existing code and though of a solution. But before I write any code I want to check if the solution is in line with overall spirit of the package structure and any long term visions:
getbb(... , format_out = "data.frame")
will be used to query Nominatim for geocoded area.overpass_trim(dat, osm_area)
in a similar way as it is used fortrim_osmdata()
andformat_out = "polygon"
.osm_area =
data.frame from getbb()overpass_trim()
will then take only the very first result of Nominatim output for filtering. (maybe show warning if multiple results?)overpass_trim()
can also take two other parametersosm_id
andtype
that can be used to trim by a specific osm object instead of relying on Nominatim search.osm_id =
single id or vector of idstype =
single type or vector of types (w|r)overpass_trim
will parse and setopq$bbox=NULL
and new$trim_area= list( c(id_1, id_2), c("r", "w"))
opq_string_intern()
will detect presence of $trim_area in opq object and modify query buildup. So from this:we get
map_to_area->.a;
( nwrnatural=tree; );