Support for geedim v2.0.0 and earthengine-api v1.7+
ee.Image.gd and
ee.ImageCollection.gd accessorsgd_collection_from_list() to correctly extract
underlying ee.Image from geedim 2.0 accessor
objectsgd_initialize() now defaults to
credentials = NULL, using Application Default Credentials
(ADC) by defaultgd_properties() now correctly returns the full image ID
(including collection path) for geedim 2.0.0+, fixing an
issue where only the asset name was returned.gd_export() when
geedim >= 2.0.0 where passing overwrite
argument caused a TypeError.ee.Geometry for region
argument in gd_search(), gd_composite(), and
gd_download() when geedim >= 2.0.0.Authentication and Headless Support
GOOGLE_CLOUD_QUOTA_PROJECT environment
variable for automatic project ID detection in
gd_initialize()gd_initialize(private_key_file=...) parameter and
EE_SERVICE_ACC_PRIVATE_KEY environment variable are
deprecated in favor of standard
GOOGLE_APPLICATION_CREDENTIALSgd_authenticate() and gd_initialize() now
support authentication in headless environments (e.g. CI/CD, Workload
Identity Federation)gd_is_initialized() and environment variable
R_RGEEDIM_RUN_EXAMPLES for conditional evaluationgd_region() and gd_region_to_vect()
improvements
gd_region() now correctly handles
SpatVector objects with MultiPolygon
geometries or holes by leveraging
terra::writeVector(..., filetype="GeoJSON")json module (via
reticulate) for dependency-light GeoJSON serialization and
parsinggd_region_to_vect() now supports complex GeoJSON-like
lists, including GeometryCollectionWith reticulate >= 1.41.0 call
py_require(c("earthengine-api" , "geedim")) on
load
Default Python virtual environment name changed from
"r-reticulate" to "r-rgeedim"
gd_install() to initialize a new environment if
needed.gd_projection(): update for earthengine-api usage of
ee.projection.Projection class
Replace use of knitr + rmarkdown with
litedown for readme/vignette building
gd_download() fix bug that prevented overwriting
files with overwrite=TRUE when
composite=FALSE
gd_is_initialized() now accepts additional arguments
(...) which are passed to
gd_initialize()
Unit tests now specify project= argument to
gd_initialize()
gd_authenticate(): Updates
Added force and scopes arguments from
earthengine()$Authenticate(). force defaults
to TRUE for consistency with prior behavior, and because
users often want to use gd_authenticate() to change
existing credentials.
Updated documentation for other auth_mode
e.g. "colab"
gd_initialize(): Updates
Added arguments credentials,
cloud_api_key, url,
http_transport and project
Deprecated argument opt_url (in favor of
url)
Argument updates compatible with older versions of earthengine-api (< 0.1.382)
Update example for gd_enum_names()
Fix different value storage in gd_enum_elements()
(required for reticulate >= 1.29)
Update examples in /misc folder
gd_export() and the Earth Engine
API directly via earthengine()Add gd_region_to_vect() an inverse method for
gd_bbox()/gd_region() that creates a ‘terra’
SpatVector from a GeoJSON-like list
Add gd_list_assets() a helper function for listing
the assets associated with a particular Earth Engine project.
reticulate::configure_environment() is no longer
called on load, this is a precaution to avoid unintended impacts from
the automatic routine installing on CRAN or similar.
Add gd_task_status() and gd_task_uri()
for working with Task object produced by
gd_export()
Fix for gd_composite() and gd_export()
errors when region argument is specified as an R spatial
object (rather than GeoJSON-like list)
Fix bug in gd_enum_elements() and add
gd_spectral_distance_metrics()
gd_initialize(): Fix use of illogical use of
GOOGLE_APPLICATION_CREDENTIALS environment variable
contents for Google Cloud service accounts under some
conditions
EE_SERVICE_ACC_PRIVATE_KEY is used for service
accounts, whereas the former is used only for application credentials.
GOOGLE_APPLICATION_CREDENTIALS is respected by
gd_authenticate() auth_mode
"gcloud" and "appdefault".
For gd_install() method="virtualenv" or
method="conda" if an environment of envname
(default: "r-reticulate") does not exist, it gets created
before running py_install()
Add gd_spectral_distance_metrics() enum
helper
Added gd_install() for installation of ‘numpy’,
‘earthengine-api’, and ‘geedim’ Python modules via
reticulate::py_install() or a system()
call
gd_bbox() will now calculate a bounding box extent
from one or more {terra} SpatRaster,
SpatRasterCollection, SpatVector,
SpatVectorProxy input (in addition to existing support for
SpatExtent)
gd_region() allows for more complex boundary
input via SpatVector or Well-Known Text (WKT) stringImproved coercion interface for non-{terra} objects
SpatExtent-like objects (Extent,
bbox) are assumed to be in the "OGC:CRS84"
coordinate reference system..onLoad() to avoid error messages related to
Python 3 configuration discovery for {reticulate}Updates to support new image export to asset functionality in geedim 1.6+
Added gd_export(), a helper method for exporting
images to Google Drive, Google Cloud Storage Bucket, or Earth Engine
Project assets.
Added gd_export_types() "ExportType"
enum helper function
Added gd_asset_id(), a helper method for creating
asset IDs from a file/asset name and (optional) project name.
Added gd_get_asset(),
gd_update_asset(), and gd_delete_asset(),
helper functions for accessing, updating and deleting assets created in
a Google Cloud project (i.e. those created via
gd_export(..., type="asset"))
\(x)
function syntax, replaced apply(..., simplify=FALSE)
usage)Initial CRAN release
gd_region() now supports more complex SpatVector
geometries (no longer uses extent to form bounding box if x
is SpatVector or can be converted to one)
Add gd_is_initialized() and use for examples and
other conditional evaluation of code that requires authentication and
initialized ‘Google Earth Engine’ resources
Renamed gd_bandnames() ->
gd_band_names()
Added gd_band_properties() and
gd_footprint()
Fix for enum helper functions
gd_resampling_methods(),
gd_composite_methods(),
gd_cloud_mask_methods() to return values rather than
names
gd_download() now supports path expansion for
filename argument
Better handling of additional arguments (i.e. crs,
resampling, method) in
gd_download() when x is a
MaskedCollection and composite=TRUE.
Added helper methods for working with the geedim
enums: “CloudMaskMethod”, “CompositeMethod” and
“ResamplingMethod”
Added gd_mask_clouds() for masking out clouds or to
apply a fill mask
Added a NEWS.md file to track changes to the
package.