More tests are flagged to skip on CRAN, or when run offline
georeference_overlay
should give fewer useless warnings
HRO
, which provides orthoimagery for
non-CONUS US domains, and USGSNAIPImagery
, which only returns NAIP
(whereas USGSNAIPPlus
, the default for ortho
, will use HRO
where
appropriate).geom_spatial_rgb()
about "dropped aesthetics".govunits
test.ggplot2
now requires a minimum of 3.4.0merge_rasters
no longer warns that options aren't respected when using
the fallback method before immediately passing said options to gdalwarp
.rlang
with string interpolation
via glue
.rlang
and glue
have been added to Importsraster
now requires a minimum version of 3.5-19.make_unity
is a new function which uses the new unifir
package to
automatically create Unity scenes, no clicking necessary.make_manifest
, transform_elevation
, and transform_overlay
no longer
error when providing non-standard side lengths; they now warn as intended.make_manifest
, transform_elevation
, and transform_overlay
should no longer give warnings about nodata values in most cases.
being clamped to 0.transform_overlay
(and by extension, every Unity overlay importer) now
tries to automatically guess the scale of the input raster. Values under
1 are scaled from 0-1, integers under 255 are scaled 0-255, and integers
under 65535 are scaled 0-65536. The main effect of this is more realistic
coloring when importing terrain. Floats above 1 won't be affected.terra
is now included as an Import (had been recursively imported
through raster
previously).raster
and rgdal
are now in Suggests (used temporarily in
Raster*
methods for get_tiles
and add_bbox_buffer
, until the new
version of raster
hits CRAN).raster_to_raw_tiles
is now a thin wrapper around the functions
transform_overlay
and transform_elevation
. It is no longer tested;
it will be removed entirely in the next release (see deprecation notice
in terrainr 0.5.0).transform_elevation
and transform_overlay
, should
now provide raster transformation functions that were possible with
raster_to_raw_tiles
but not with make_manifest
. As an added bonus, the
internal code to handle tiling is now dramatically simpler.make_manifest
will now overwrite any file at importer_path
, in line
with documented behavior. Previous versions would never overwrite
importer_path
.merge_rasters
' fallback method now runs much fastergdalUtils
has been removed from dependencies following CRAN directionsrgdal
is now an explicit dependency (had previously been imported via
gdalUtils
)ecosystems
, has been added to get_tiles
and
hit_national_map_api
.merge_rasters
gains an argument, overwrite
, which allows you to
specify whether or not to overwrite output_raster
if it exists. Previous
versions expected you to pass "-overwrite" to options
. If a file exists
at output_raster
and overwrite
is FALSE, merge_rasters
will throw an
error.sf
now has a minimum dependency of 1.0-5, to take advantage of an
upstream bug fix (relating to merge_rasters
overwrite)make_manifest
, now helps automate the import of terrain
and imagery to Unity. It fully replaces raster_to_raw_tiles
(see
Deprecations below). Documentation updates are forthcoming.raster_to_raw_tiles
is now deprecated and will be removed in a future
release (no earlier than 2022). Use make_manifest
instead.get_tiles.list
is now deprecated and will be removed in a
future release (unexported in Fall 2021, removed no earlier than 2022).
Convert your list to an sf
object instead.bbox
argument to hit_national_map_api
is now documented as
"An object from [sf::st_bbox]." This is a change from the earlier options
of a length 2 list or terrainr_bounding_box object. Those methods are
currently still supported, but undocumented; they will be removed in a
future release (no earlier than 2022).get_tiles
no longer mangles data with projected coordinates (via a
fix to the internal function split_bbox
). If for some reason you want
the old behavior back, set the new argument projected
to FALSE
while
providing projected data.add_bbox_buffer
and set_bbox_side_length
now
specifies that they should only be used with geographic coordinate
systems. If you use these functions with projected data, they will warn;
this may be upgraded to an error in future versions.merge_rasters
gives when using the fallback method
have been fixed.merge_rasters
gains an argument force_fallback
which, if TRUE, will
use the older, slower method for merging tiles. This is not recommended,
but is useful for testing.terrainr_*
custom classes marches on! These
classes should no longer be present in any user-facing, non-deprecated
code; the only functions still relying on custom classes are internal
utilities and the split_bbox
function responsible for tiling get_tiles
requests.split_bbox
should now run faster, particularly for large tile sets, as
some nested loops have been vectorized.get_tiles
now displays a bulleted list of endpoints (again?), rather
than a jumble of raw markdownadd_bbox_buffer
properly sets the CRS of the output when attempting to
buffer geodesic coordinates.combine_overlays
importFrom
tag to terrainr-package.R
to silence R CMD CHECK NOTE.vector_to_overlay
deals with missing CRS in
vector_data
:
error_crs
, behaves just like error_crs
in
add_bbox
: if NULL
, the function will give a warning when assuming
CRS; if FALSE
, the function will assume a CRS silently, and if
TRUE
, the function will error if vector_data
is missing a CRS.target_crs
has been removed. vector_data
will be given the CRS of
reference_raster
if it doesn't have its own CRS, and will always be
projected to the CRS of reference_raster
.error_crs
has been added to mirror add_bbox_buffer
: if NULL
and
your input data has no CRS, vector_to_overlay
will warn about
assuming the raster CRS. Set to TRUE
to error or FALSE
to ignore
the warning.transparent = "false"
to
minimize the number of times the backup method to merge_rasters
(see
below) is called. To restore the old behavior, set transparent = "true"
in either get_tiles
or hit_national_map_api
.get_tiles
will now infer bboxSR
and imageSR
from provided sf
or
Raster
objects if not otherwise specified. To restore the old behavior,
set bboxSR
and imageSR
to 4326
in get_tiles
(or set your data's
CRS to 4326 before calling get_tiles
).ggplot2
from vector_to_overlay
now that
ggplot2
is requiredcalc_haversine_distance
(not exported) now assumes it's been provided
with degrees. coord_units
has been removed as an argument.get_tiles.terrainr_bounding_box
has been removed; it should no longer be
possible for users to have terrainr_bounding_box
objects unless they
were using non-exported functionality.terrainr_*
classes have been effectively removed and are no longer
exported. Functions which previously expected these objects now generally
accept sf
and Raster
class objects instead. Functions which previously
returned these objects now generally return sf
objects instead (#24).get_tiles
now uses the service names provided by
the user, not the endpoint names. This means that
get_tiles(..., services = "elevation")
will now use the name elevation
instead of 3DEPElevation
, and remain standard across versions (#12).get_bbox
and get_coordinate_bbox
have been removed. Functions that
used to expect terrainr_bounding_box
objects now accept objects of class
sf
or raster
(#24).add_bbox_buffer
loses the divisible
argument. For precise control over
side length, use set_bbox_side_length
(which should be more accurate, if
slightly more conservative, than the divisible
system ever was) (#17).convert_distance
has been removed (internally replaced by the
units
package) (#7).merge_rasters
loses the input_images
and output_image
function, as
most downloaded files are now already georeferenced. To recreate this
functionality, georeference image tiles directly via
output <- georeference_overlay(img_tiles, ref_tiles, tempfile(fileext = ".tif"))
and then provide output
to merge_rasters
.calc_haversine_distance
point_from_distance
rad_to_deg
deg_to_rad
geom_spatial_rgb
and stat_spatial_rgb
, allow you to
use RGB map tiles as backgrounds for further plotting.calc_haversine_distance
gains an argument coord_units
allowing it to
handle coordinates in radians as well as degrees.georeference_overlay
provides tempfile(fileext = ".tif")
as a default
output location if no output_file
is provided.get_tiles
now tells you what tiles it's retrieving, not retriving.calc_haversine_distance
has been internally simplified somewhat to
reduce code duplication.services
arguments to hit_national_map_api
and get_tiles
can
now handle both base64 and binary returns, removing the need to manually
categorize endpoints (54ad9fb).
hit_national_map_api
auto-detects whether API endpoints are
returning base64 or binary and handles them appropriatelyget_tiles
now auto-detects whether hit_national_map_api
is
returning base64 or binary and writes to file appropriately.hit_national_map_api
is now more likely to fail with a human-friendly
error message if API endpoints return a non-200 status (54ad9fb).hit_national_map_api
(and by extension get_tiles
) now register a user
agent.gdalUtilities
has been removed, with functionality replaced by sf
.rlang
has been removed, with functionality removed.units
has been added.ggplot2
has been moved to Imports (was previously in Suggests) due to
the new geom_spatial_rgb
and stat_spatial_rgb
functions.transportation
endpoint has moved servers, and is now handled by the
same function that handles DEMs and orthoimagesterrainr
is now main
merge_rasters
loses the argument merge_raster
. For the "georeference
a single image" use case, see the new georeference_overlay
function.get_tiles
gains an argument resolution
(details below) between
side_length
and services
. No functionality should be changed, but code
with unnamed arguments to services
, verbose
, or georeference
may be
impacted.vector_to_overlay
lets users quickly produce image overlays from
vector data.georeference_overlay
replaces the use of merge_raster for creating
single-file georeferenced overlay files.combine_overlays
lets users, well, combine overlays into a single
imageget_tiles
gains an argument, resolution
, specifying the number of
meters each pixel should represent (so higher images result in smaller
downloads).get_bbox
provides an S3 generic to create terrainr_bounding_box
objects. In this version, that means users can use get_bbox
to get
bounding boxes from sf
and RasterLayer
objects, and it means adding
methods will be easier going forward. The generic get_bbox
method
is equivalent to get_coord_bbox
raster_to_raw_tiles
handles rectangles appropriatelyget_tiles
, raster_to_raw_tiles
, and merge_rasters
are now much more
conscientious about deleting tempfiles when they're done with them.merge_rasters
no longer fails when handed a mix of 3- and 4-band raster
files. The current implementation will cast all 4 band rasters to 3 band
images and then return a 3 band raster image.output_image
argument to merge_rasters
now has a default value of
tempfile(fileext = ".tif")
to be a little more friendly to users.lat
and lng
to get_bbox
(and get_coord_bbox
) no longer
need to be quoted -- either the tidyverse-feeling NSE approach or the
more standard quoted argument approach will work.sf
has been added as an explicit import due to vector_to_overlay
. sf
is required by gdalUtilities
, also imported by this package, so this
change should have no impact on users.rlang
is added as a dependency to allow lat
and lng
be unquoted in
get_bbox
.ggplot2
has been added to Suggests
due to vector_to_overlay
.jpeg
and tiff
have been added to Suggests
due to
georeference_overlay
. I'd expect more image libraries to join this list
over time.