census_dissemination_block() (#150).leaflet.extras package (#152)cded_() functions, the ask argument, which controls if the user is
asked to store data in the cache, was ignored. It is now respected (#147).utm_convert() now respects tibble classes
(#143, #148).utm_convert() where new coordinates could be mismatched with
the wrong rows from the input data frame.
(#146, #148)utm_convert() to convert tabular data with X and Y
coordinates in (possibly multiple) UTM zones to a single CRS.cded_terra()cded_raster() - this will be removed in a future
version.We've removed support for the sp and raster packages, especially those parts
that require the use of the rgdal and rgeos packages, which will be retired
in October 2023. See the r-spatial
blog for details of this
evolution.
class argument in all of the data download functions:
get_layer() and all of the wrapper shortcuts such as bc_bound(),
census_tract(), etc. These functions will now only return sf objects.Spatial method of transform_bc_albers() is removed.fix_geo_problems() is removed. For sf objects simply use
sf::st_make_valid()self_union() is removed. Use raster::union() for
SpatialPolygonsDataFrames, or sf::st_union() with sf objects instead.get_poly_attribute() is removed.raster_by_poly() is retained for now as it does not rely on rgdal or
rgeos, just sp and raster, which are still being maintained.pkgdown site for bcmaps https://bcgov.github.io/bcmaps/ (#63)README to a Get Started with
bcmaps article/vignette (#42)bc_bound_hres() (#124)We've started the process of removing support for the sp and raster
packages, especially those parts of that require the use of the rgdal and
rgeos packages, which will be retired in October 2023. See the r-spatial
blog for details of this
evolution. We will fully remove support for Spatial classes (from package
sp) in the next release in Summer 2023.
class argument in all of the data
download functions: get_layer() and all of the wrapper shortcuts such as
bc_bound(), census_tract(), etc. This argument will be removed in the next
version of bcmaps as these functions will only return sf objects.Spatial method of transform_bc_albers() is deprecated.fix_geo_problems() is deprecated and will be removed completely in Summersf objects simply use sf::st_make_valid()self_union() is deprecated and will be removed in Summer 2023. Use
raster::union() for SpatialPolygonsDataFrames, or sf::st_union() with sf
objects instead.get_poly_attribute() is deprecated because it had a very niche application
for calculating attributes on a SpatialPolygonsDataFrame, which we are
removing support for. It will be removed completely in Summer 2023.bec and tsa layers are now downloaded directly from the BC Data Catalogue.
This ensures that these are up-to-date and means that we do not rely on the
manual updating of these layers at https://github.com/bcgov/bcmapsdata. (#62,
#115)bcmapsdata package has
been removed.sf or
Spatial) returned are topologically valid and in the standard CRS of
"EPSG:3005" (BC Albers). #96cded files.show_cached_files() to show the files that you have
cached (and how much space they're taking up on your computer). (#92, #93)tools::R_user_dir("bcmaps", "cache") to determine the cache directory, while when R version is < 4.0, it
will use rappdirs::user_cache_dir("bcmaps"). This is to align with CRAN's
storage policy using the tools approach while maintaining backwards
compatibility with older R versions. Unfortunately this will require users who
updated to version 1.0 to re-download layers because we are caching layers in a
different location on your file system from that version. Users wishing to clear
the old cache location could run bcmaps::delete_cache() before updating to
bcmaps 1.0.1. (#83)cded_raster and cded_stars directly accepts a bounding box generated by
sf::st_bbox as an aoi. (#87)mapsheets_50K(),
mapsheets_250K()) would not work if sf was linked to older GDAL/PROJ
libraries due to different formats of coordinate reference systems. (#85)census_dissemination_area(),
census_metropolitan_area(), census_tract() (#82).available_layersbc_neighbours previously used data from Natural Earth. The
availability of a Hi-Res B.C. boundaries over WFS from the B.C. Data Catalogue
means that the layer can now be created directly by {bcmaps}.fsa), health boundaries (health_*) and some
census boundaries (census_*).stars or raster objects (#73)raster_by_poly() &
summarize_raster_list()) is now reliant on users setting up their own
future::plan() to specify strategy and number of workers, rather than setting
defaults (this is the best practice according to the author of the future
package @HenrikBengtsson, #69)fix_geo_problems() would fail depending on the version
of GEOS upon which sf was built.raster_by_poly() fails informatively when there are NA values in the
column on which the polygons are to be split (#48, thanks @j-galloway)raster_by_poly() (and summarize_raster_list()) now uses the
future.apply package for
parallelism, enabling easy parallelization across platforms (#49)get_layer() (and in turn, any of the individual layer functions) now sets
the crs so the crs representation will always be up to date with the user's
sf version (#51, https://github.com/r-spatial/sf/issues/1225)bc_neighbours() function to call layers containing adjacent
jurisdictions.geometry column in all layers is consistently named "geometry"
(Thanks @boshek)bc_bbox() to get a bounding box for British Columbia (#40).bcmapsdata because of
this R bug (https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17520)self_union() would fail due to a change in the raster
package (30cef3438)available_layers() has changed: shortcut_function column is now
logical, uses better column names, and has a custom print function that gives
more information. (#34)combine_nr_rd() function from regional_districts() and
municipalities(). This function combines Regional Districts with the
Northern Rockies Regional Municipalities to create a full provincial layer of
'Regional-District-like' polygons.available_layers()bec (and other large downloadable layers) show up in the output of
available_layers(), bec() works, and get_layer("bec") works so that
getting downloadable datasets is indistinguishable from getting local
datasets. (#32)sf functions that have been moved to the lwgeom
package. They now use the lwgeom function (Fixes CRAN CHECK NOTE; #33).bc_cities() which is a point layer of B.C.'s major cities.raster_by_poly to overlay a
SpatialPolygonsDataFrmae or sf polygons layer on a raster layer and clip the
raster to each polygon, and summarize_raster_list to summarize the results
of raster_to_polyget_layer() now only accepts characters (#31)check_write_to_data_dir where it was not creating data
directorybec(), which uses the new
function get_big_data() (#28).bec_colours() (and alias bec_colors()) to generate a vector
of colours that match the standard colours used to colour Biogeoclimatic Zone
maps.getNamespaceExports("bcmaps") so
that you can call layers without loading the package via bcmaps::watersheds layer from packageecosections to packageThis is a major new release with breaking changes.
All data has been removed from the bcmaps package and moved to the
bcmaps.rdata package, which is hosted on the bcgov drat repository:
https://github.com/bcgov/drat. That package must be installed in order for
bcmaps to access the data. It can be installed with:
install.packages('bcmaps.rdata', repos='https://bcgov.github.io/drat/')
In previous versions of bcmaps, data was stored in the package and loaded by
calling data("layername") or simply layername (e.g., data("bc_bound") or
bc_bound).
Now loading data requires a function call - either using a shortcut function
that is the same name as the dataset (e.g., bc_bound() whereas previously one
would simply use bc_bound). Alternatively, one can use the get_layer()
function (e.g., get_layer("bc_bound")).
Another major change is that all the layers are now returned as sf classes by
default, rather than Spatial classes. Spatial versions of the data can still
be obtained by setting the class argument to "sp" in get_layer() and the
shortcut functions (E.g., bc_bound(class = "sp") or get_layer("bc_bound", class = "sp")).
wsc_drainageshydrozones dataset.bc_bound_hres and airzones (#13)water_districts and water_precincts datasets.gw_aquifers dataset.tries argument to fix_geo_problems function to set the maximum
number of iterations it should go through in attempting to repair topological
issues.watercourses_15M and watercourses_5M datasets to
UTF-8.watercourses_15M and watercourses_5M datasets.fix_geo_problems and transform_bc_albers are Generic functions with
methods for sf objects as well as Spatial objectsfix_self_intersect is now defunctfix_self_intersect has been renamed to fix_geo_problems (but kept as an
alias for now)fix_geo_problems can often also fix orphaned holes in addition to
self-intersections.watersheds dataset (#15, @markjohnsonubc)NEWS.md file to track changes to the package.Added two new functions to create and work with SpatailPolygonsDataFrames with nested data frames:
self_union performs a union on a single SpatialPolygons* object to take
into account overlaps. Polygon attributes are combined in a nested dataframe.get_poly_attribute allows you to easily parse a nested data frame column
(created by self_union) to extract or calculate the attributes you wantAdded a couple of convenience functions:
transform_bc_albers() transforms a Spatial object to BC Albers projectionfix_self_intersect() checks for and repairs self-intersecting polygonsAdded 3 Natural Resource layers (areas, regions and districts)
Added high resolution BC boundaries (bc_bound_hres)
Added bc_area function