Skip to content

Commit

Permalink
address #2442
Browse files Browse the repository at this point in the history
  • Loading branch information
goergen95 committed Oct 1, 2024
1 parent 35f5f8b commit 49b5fbd
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
2 changes: 2 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

* fix build failure with GDAL < 3.4.0 #2436

* `st_simplify()` now accepts feature-wise tolerance values when `s2` is switched on #2442

# version 1.0-17

* add `st_transform()` method for `bbox` objects; this uses OGRCoordinateTransformation::TransformBounds(), densifying first and antemeridian proof; #2415
Expand Down
7 changes: 6 additions & 1 deletion R/geom-transformers.R
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,12 @@ st_simplify.sfc = function(x, preserveTopology, dTolerance = 0.0) {
if (ll && sf_use_s2()) {
if (!missing(preserveTopology) && isFALSE(preserveTopology))
warning("argument preserveTopology cannot be set to FALSE when working with ellipsoidal coordinates since the algorithm behind st_simplify always preserves topological relationships")
st_as_sfc(s2::s2_simplify(x, dTolerance), crs = st_crs(x))
if (length(dTolerance) == 1) {
st_as_sfc(s2::s2_simplify(x, dTolerance), crs = st_crs(x))
} else {
simplify <- function(x, dTolerance) st_as_sfc(s2::s2_simplify(x, dTolerance))
st_as_sfc(mapply(simplify, x, dTolerance), crs = st_crs(x))
}
} else {
if (missing(preserveTopology)) {
preserveTopology = FALSE
Expand Down
2 changes: 2 additions & 0 deletions tests/gdal_geom.R
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ x = st_convex_hull(nc)

x = st_simplify(nc_tr, dTolerance = 1e4)

x = st_simplify(nc_tr, dTolerance = rep(1e4, nrow(nc_tr)))

x = st_simplify(nc_tr, preserveTopology = TRUE)

if (sf:::CPL_geos_version() >= "3.4.0")
Expand Down

0 comments on commit 49b5fbd

Please sign in to comment.