Learn R Programming

lawn (version 0.5.0)

lawn_transform_rotate: Rotate a GeoJSON feature

Description

Rotates any geojson Feature or Geometry of a specified angle, around its centroid or a given pivot point

Usage

lawn_transform_rotate(x, angle, pivot = c(0, 0), mutate = FALSE,
  lint = FALSE)

Arguments

x

a feature

angle

(integer/numeric) number of rotation (along the vertical axis), from North in decimal degrees, negative clockwise

pivot

(integer/numeric) point around which the rotation will be performed (optional, default centroid)

mutate

(logical) allows GeoJSON input to be mutated (significant performance increase if true) (optional). Default: FALSE

lint

(logical) Lint or not. Uses geojsonhint. Takes up increasing time as the object to get linted increases in size, so probably use by default for small objects, but not for large if you know they are good geojson objects. Default: FALSE

Value

a rotated data-Feature

Examples

Run this code
# NOT RUN {
x <- '{
 "type": "Feature",
 "properties": {},
 "geometry": {
   "type": "Polygon",
   "coordinates": [
    [
      [ 0, 29 ], [ 3.5, 29 ], [ 2.5, 32 ], [ 0, 29 ]
    ]
  ]
 }
}'
lawn_transform_rotate(x, angle = 100, pivot = c(15, 15))

lawn_transform_rotate(x, angle = 100)
lawn_transform_rotate(x, angle = 100, mutate = TRUE)

# }
# NOT RUN {
view(lawn_featurecollection(x))
view(lawn_featurecollection(lawn_transform_rotate(x, angle = 100)))
view(lawn_featurecollection(
  lawn_transform_rotate(x, angle = 100, pivot = c(15, 15))
))
view(lawn_featurecollection(
  lawn_transform_rotate(x, angle = 150, pivot = c(15, 15))
))
view(lawn_featurecollection(
  lawn_transform_rotate(x, angle = 300, pivot = c(0, 4))
))
# }

Run the code above in your browser using DataLab