diff --git a/R/get-network.R b/R/get-network.R index d87a99f..7a43b1b 100644 --- a/R/get-network.R +++ b/R/get-network.R @@ -37,7 +37,8 @@ #' to `yes`, `designated`, `permissive` or `destination` (see #' [here](https://wiki.openstreetmap.org/wiki/Bicycle#Bicycle_Restrictions) #' for more details); -#' - The `access` tag is not equal to `private` or `no`; +#' - The `access` tag is not equal to `private` or `no` unless `bicycle` is +#' equal to `yes`, `permissive` or `designated` (see #289); #' - The `bicycle` tag is not equal to `no`, `use_sidepath`, `private`, or #' `restricted`; #' - The `service` tag does not contain the string `private` (i.e. @@ -53,7 +54,8 @@ #' `raceway`, `motorway` or `motorway_link`; #' - The `highway` tag is not equal to `cycleway` unless the `foot` tag is #' equal to `yes`; -#' - The `access` tag is not equal to `private` or `no`; +#' - The `access` tag is not equal to `private` or `no` unless `foot` is +#' equal to `yes`, `permissive`, or `designated` (see #289); #' - The `foot` tag is not equal to `no`, `use_sidepath`, `private`, or #' `restricted`; #' - The `service` tag does not contain the string `private` @@ -67,7 +69,8 @@ #' `bus_guideway`, `byway`, `construction`, `corridor`, `elevator`, `fixme`, #' `escalator`, `gallop`, `historic`, `no`, `planned`, `platform`, `proposed`, #' `cycleway`, `pedestrian`, `bridleway`, `path`, or `footway`; -#' - The `access` tag is not equal to `private` or `no`; +#' - The `access` tag is not equal to `private` or `no` unless `motor_vehicle` is +#' equal to `yes`, `permissive`, or `designated` (see #289); #' - The `service` tag does not contain the string `private` (i.e. `private`, #' `private_access` and similar). #' @@ -181,7 +184,7 @@ load_options_cycling = function(place) { 'pedestrian') OR bicycle IN ('yes', 'designated', 'permissive', 'destination') ) AND - (access IS NULL OR access NOT IN ('private', 'no')) + (access IS NULL OR (access NOT IN ('private', 'no') OR bicycle IN ('yes', 'permissive', 'designated'))) AND (bicycle IS NULL OR bicycle NOT IN ('private', 'no', 'use_sidepath', 'restricted')) AND @@ -217,7 +220,7 @@ load_options_walking = function(place) { AND (highway IS NULL OR highway <> 'cycleway' OR foot IN ('yes', 'designated', 'permissive', 'destination')) AND - (access IS NULL OR access NOT IN ('private', 'no')) + (access IS NULL OR (access NOT IN ('private', 'no') OR foot IN ('yes', 'permissive', 'designated'))) AND (foot IS NULL OR foot NOT IN ('private', 'no', 'use_sidepath', 'restricted')) AND @@ -239,7 +242,7 @@ load_options_driving = function(place) { list( place = place, layer = "lines", - extra_tags = c("access", "service","oneway"), + extra_tags = c("access", "service", "oneway", "motor_vehicle"), vectortranslate_options = c( "-where", " (highway IS NOT NULL) @@ -251,7 +254,7 @@ load_options_driving = function(place) { 'steps' )) AND - (access IS NULL OR access NOT IN ('private', 'no')) + (access IS NULL OR (access NOT IN ('private', 'no') OR motor_vehicle IN ('yes', 'permissive', 'designated'))) AND (service IS NULL OR service NOT ILIKE 'private%') " diff --git a/man/oe_get_network.Rd b/man/oe_get_network.Rd index 8657756..ccfed1f 100644 --- a/man/oe_get_network.Rd +++ b/man/oe_get_network.Rd @@ -53,7 +53,8 @@ parameter) selects the OSM ways that meet the following conditions: to \code{yes}, \code{designated}, \code{permissive} or \code{destination} (see \href{https://wiki.openstreetmap.org/wiki/Bicycle#Bicycle_Restrictions}{here} for more details); -\item The \code{access} tag is not equal to \code{private} or \code{no}; +\item The \code{access} tag is not equal to \code{private} or \code{no} unless \code{bicycle} is +equal to \code{yes}, \code{permissive} or \code{designated} (see #289); \item The \code{bicycle} tag is not equal to \code{no}, \code{use_sidepath}, \code{private}, or \code{restricted}; \item The \code{service} tag does not contain the string \code{private} (i.e. @@ -70,7 +71,8 @@ following conditions: \code{raceway}, \code{motorway} or \code{motorway_link}; \item The \code{highway} tag is not equal to \code{cycleway} unless the \code{foot} tag is equal to \code{yes}; -\item The \code{access} tag is not equal to \code{private} or \code{no}; +\item The \code{access} tag is not equal to \code{private} or \code{no} unless \code{foot} is +equal to \code{yes}, \code{permissive}, or \code{designated} (see #289); \item The \code{foot} tag is not equal to \code{no}, \code{use_sidepath}, \code{private}, or \code{restricted}; \item The \code{service} tag does not contain the string \code{private} @@ -85,7 +87,8 @@ following conditions: \code{bus_guideway}, \code{byway}, \code{construction}, \code{corridor}, \code{elevator}, \code{fixme}, \code{escalator}, \code{gallop}, \code{historic}, \code{no}, \code{planned}, \code{platform}, \code{proposed}, \code{cycleway}, \code{pedestrian}, \code{bridleway}, \code{path}, or \code{footway}; -\item The \code{access} tag is not equal to \code{private} or \code{no}; +\item The \code{access} tag is not equal to \code{private} or \code{no} unless \code{motor_vehicle} is +equal to \code{yes}, \code{permissive}, or \code{designated} (see #289); \item The \code{service} tag does not contain the string \code{private} (i.e. \code{private}, \code{private_access} and similar). }