arcgislayers 0.5.1
CRAN release: 2025-10-22
New features
-
encode_field_values(codes = "replace-valid")allows users to retain invalid values when replacing coded values. (#267)
arcgislayers 0.5.0
CRAN release: 2025-09-19
New features
- New
update_attachments()function modifies a feature service’s attachments https://github.com/R-ArcGIS/arcgislayers/pull/277 -
arc_open()now works with item IDs or a variety of URLs such as item, user, group, and more https://github.com/R-ArcGIS/arcgislayers/pull/275 -
add_definition()(#178),update_definition()(#127), anddelete_definition()functions for FeatureServer and FeatureLayer objects.
Bug Fixes
- Improve
update_features()with an error message when theobjectidis not aninteger(#250) -
get_layer()warns as expected on invalid layer names values. (#251) -
encode_field_values()handles numeric columns with coded value domains without warnings or errors. (#237) -
encode_field_values()now properly skipsrangefield types (#263)
Breaking changes
-
update_features()is now parallelized and sends updates in chunks seechunk_sizeargument andprogressarguments. The return type is now adata.frameand not a list withupdateResults -
delete_features()is now parallelized and deletes in chunks. See above. - arcgislayers now depends on R 4.2 or higher.
-
list_service_raster_fns()is now deprecated in favor oflist_raster_fns()
arcgislayers 0.4.0
CRAN release: 2025-04-15
New features
- Address bug in JSON parsing by bumping the version of RcppSimdJson
- Improve handling of
filter_geombyarc_select()by warning if applyingsf::st_union()to the filter does not generate a length 1 sfc, or iffilter_geomis supplied when accessing a Table, or iffilter_geomis empty (@elipousson, #166) - Export
set_layer_aliases()(previously used internally byarc_read()) to allow use of alias values with data returned byarc_select()(#169). - Add new
encode_field_values()function to support replacement or labeling of values with coded value domains (#134). - Improve input checks for
get_layer(),get_all_layers(), andget_layers()to require FeatureServer, MapServer, or GroupLayer input objects.
Bug fixes
- Adjusts
arc_select()to not error out whenquerycapability isn’t explicitly listed. Insteadcli_alert_danger()is used to communicate the issue https://github.com/R-ArcGIS/arcgislayers/pull/230 -
arc_select()includes argument name in error message when...contains non-string values. https://github.com/R-ArcGIS/arcgislayers/issues/226
Breaking changes
-
dplyrmethods forcollect(),select(), andfilter()have been removed. https://github.com/R-ArcGIS/arcgislayers/issues/111 https://github.com/R-ArcGIS/arcgislayers/issues/224 https://github.com/R-ArcGIS/arcgislayers/issues/218 - Soft deprecate
arc_read(col_names = "alias")(usearc_read(alias = "replace")instead)
arcgislayers 0.3.1
CRAN release: 2024-09-27
Bug fixes
-
page_sizeresulted in error due to introduction of type-check. Fixed and added test to avoid in the future. #205 - Add warning if
arc_select()results include fewer features than expected from request #220
New features
-
arc_raster()gains an argumentraster_fnwhich takes a character scalar and performs a raster function server side before returning results -
list_service_raster_fns()is a new helper function to list available raster functions for anImageServer -
arc_open()ignores queries included in input URLs and retains any custom queries in thequeryattribute forTableandFeatureLayers. (#215)
arcgislayers 0.3.0
CRAN release: 2024-07-05
-
arc_open()will now work on any resource that works whenf=jsonis set in the query parameters closes #163 - Now uses
{arcpbf}when a layer supports protocol buffers.- This is an ~3x speed improvement over json processing.
- New
query_layer_attachments()anddownload_attachments()help you access and download attachments to a layer -
arc_raster()now downloads the exported image to a temp file instead of creating a connection to the url returned. This fixes an issue where rasters would stop working after the url had been removed. - Add
aliasargument toarc_read()allowing replacement or labelling of field names with alias values (#169) - Add
pull_field_aliases()utility function -
arc_select()now usesarcgisutils::rbind_results()for faster row-binding if collapse, data.table, vctrs are installed (#175) - Preserve order of
fieldscolumn names forarc_select()(fixes minor bug witharc_readhandling ofcol_names) (#185) - Set CRS for a FeatureLayer or ImageServer using
"wkid"or"wkt"value if"latestWkid"is missing. (#188) - Fix issue with
arc_select()when layer can’t support pagination. (#191)
arcgislayers 0.1.0
arc_open()no longer removesNULLproperties h/t @elipoussonincludes
page_sizeargument toarc_select()allowing users to return smaller page sizes and avoid timeouts for dense geometriesAdd support for
GroupLayersAdd
arc_read()with support forname_repairargument using vctrs (#108)Add
get_layer_estimates()to retrieve estimate info such as the number of features and the extent of the layerAdd
truncate_layer()to support truncate and append workflowAdd support for opening
MapServershttps://github.com/R-ArcGIS/arcgislayers/pull/83-
arc_open()with a layer that does not supportQuerysets thenattribute toNAhttps://github.com/R-ArcGIS/arcgislayers/pull/83- Print method will show something like
<FeatureLayer <NA features, 10 fields>>
- Print method will show something like
arc_select()is now supported forImageServers #78add_features()is now paginated and performed in parallel. It gains an argumentchunk_sizewhich determines the maximum number of rows to be added to a feature service.-
adds
get_layers()which can fetch multiple items from aFeatureServerorMapServer- new utility function
list_items()
- new utility function
adds cli as an explicit import (has been implicitly imported by httr2)
repository made public
add lifecycle badges to all exported functions https://github.com/R-ArcGIS/arcgislayers/pull/101
-
Breaking:
-
tokenarguments are required to be a validhttr2_tokenobject (strings are not supported). - all
hostarguments are removed. Instead, the host is fetched from thetoken. - all
userarguments are removed. Instead, the username is fetched from thetoken. If it is not found, an error is thrown.
-