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