The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
arcgisutils is designed as the backbone of the {arcgis}
meta-package.
arcgisutils is a developer oriented package that provides the basic functions to build R packages that work with ArcGIS Location Services. It provides functionality for:
Install arcgisutils from CRAN.
install.packages("arcgisutils", repos = "https://r-arcgis.r-universe.dev")
Or, you can install the development version of arcgisutils r-universe with:
install.packages("arcgisutils", repos = "https://r-arcgis.r-universe.dev")
Authorization tokens are provided through the functions
auth_code()
, auth_client()
,
auth_user()
, and auth_binding()
. Additional
token validation functions are provided via refresh_token()
and validate_or_refresh_token()
.
Tokens are managed in a session based cache using
set_arc_token()
and unset_arc_token()
. They
are fetched using arc_token()
. Here is a minimal
example:
library(arcgisutils)
#>
#> Attaching package: 'arcgisutils'
#> The following object is masked from 'package:base':
#>
#> %||%
<- auth_client()
tkn
set_arc_token(tkn)
arc_token()
#> <httr2_token>
#> token_type: bearer
#> access_token: <REDACTED>
#> expires_at: 2024-07-11 09:40:56
#> arcgis_host: https://www.arcgis.com
Alternatively, tokens can be set based on a key-value pair.
set_arc_token("A" = tkn, "B" = tkn)
#> ✔ Named tokens set: `A` and `B`
#> ℹ Access named tokens with `arc_token("name")`
And fetched based on their name via
arc_token("A")
#> <httr2_token>
#> token_type: bearer
#> access_token: <REDACTED>
#> expires_at: 2024-07-11 09:40:56
#> arcgis_host: https://www.arcgis.com
The function arc_base_req()
is used to create a
standardized httr2
request object. It handles authorization
tokens and sets a user agent.
<- arc_host() # use arcgis.com by default
host
arc_base_req(host)
#> <httr2_request>
#> GET https://www.arcgis.com
#> Body: empty
#> Options:
#> • useragent: 'arcgisutils v0.3.0'
There are also a number of utility functions for creating and parsing
Esri JSON. For example we can create a list that represent an Esri
FeatureSet
using as_featurset()
directly from
an sf
object. To convert to json, it is recommended to use
jsonify::to_json(x, unbox = TRUE)
.
library(sf)
#> Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
<- st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
nc <- as_featureset(nc)
nc_json
str(nc_json, 1)
#> List of 3
#> $ geometryType : chr "esriGeometryPolygon"
#> $ spatialReference:List of 1
#> $ features :List of 100
Alternatively, you can use the set of functions with the
_esri_
infix to directly create the json. See the Esri
geometry reference page for more on how the conversion functions
work.
Additionally, sf’s crs
object can be converted to a spatialReference
JSON object using validate_crs()
.
validate_crs(27700)
#> $spatialReference
#> $spatialReference$wkid
#> [1] 27700
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.