-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Data trimming on OP server side #256
Comments
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! |
Can I? I think I have no perms |
Oh, sorry about that, then i'll do it. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
It would work the same with
getbb
nominatim search but theosm_id
andtype
will be taken from the passed data.frame.The text was updated successfully, but these errors were encountered: