2024-10-28
Python API (v1.2.0)
- Dropped support for Python 3.8 now that it is end-of-life.
- Added
ImageCollection.count()
, a static method that returns the number of images in the collection.
2024-09-09
Web API
- Added new algorithms to find the point on one feature or geometry that is
closest to another feature or geometry:
ee.Geometry.closestPoint()
,ee.Geometry.closestPoints()
,ee.Feature.closestPoint()
andee.Feature.closestPoints()
2024-09-03
Web API
- BACKWARD INCOMPATIBLE Fixed signed int8 for ingest and export. For ingest, the system used to treat signed int8 as unsigned int8 with negative values mapped to [128..255]. Those values are now correctly assigned their negative value. For export, the system used to cast int8 to int16, while correctly storing the negative values. Export will now write an int8 with the correct values.
Python API (v0.1.419)
- Fixed a bug where the quota project wasn't being set when authenticating
using the notebook auth mode. After this change, users must have the Service
Usage Consumer role (
roles/serviceusage.serviceUsageConsumer
) on the authentication project in order to use the notebook authentication mode. See the Earth Engine Authentication and Initialization guide for more details.
2024-07-24
Web API
BACKWARD INCOMPATIBLE Reduced the maximum allowable header size of a GeoTIFF (produced by the
ee.Image.loadGeoTIFF()
algorithm or byCreateAsset
as a COG-backed asset) from 32mb to 10mb. This change does not affect COG-backed assets with headers >10mb created prior to this date.Fixed a bug that caused GeoTIFF exports with
cloudOptimized
set to true to fail if the output GeoTIFF was larger than 4gb. Earth Engine will now always produce BigTIFF regardless of the value ofcloudOptimized
.
2024-07-16
Code Editor
- Fixed a bug where specifying
minWidth
andminHeight
style properties onui.Slider
widgets had no effect. Setting these properties now allows for horizontal sliders narrower than the defaultminWidth
of 50px, and vertical sliders shorter than the defaultminHeight
of 100px.
2024-07-10
Web API
- Fixed a bug that caused GeoTIFF exports to ignore
skipEmptyTiles
ifformatOptions.cloudOptimized
was true.
2024-06-07
Web API
- BACKWARD INCOMPATIBLE Changed the way that the
ee.Image.loadGeoTIFF()
algorithm and COG-backed assets select lower resolution overviews if a GeoTIFF is missing pyramid levels. Earth Engine will now resample to the nearest higher-resolution overview instead of the closest overview regardless of resolution. This does not affect GeoTIFFs that are not missing intermediate pyramid levels.
2024-05-10
Web API
- Added support for
overwrite
parameter inExport.table.toBigQuery()
method, which allows for control over overwriting data in already existing destination table.
2024-04-18
Web API
- Added support for the Bray-Curtis distance metric (
braycurtis
) toee.Classifier.smileKNN()
.
2024-04-03
JavaScript API (v0.1.397)
- Fixed a bug in
ee.data.listAssets()
andee.data.listImages()
that caused only a single page of results (up to 1000 entries) to be returned. This now matches the Python implementation, which returns all results by default. To return a single page in either client, specify apageSize
value. The documentation in both the JavaScript and Python clients has been updated to reflect this behavior.
Python API (v0.1.397)
Updated the error handling logic for HTTP requests to convert
requests.exceptions.ConnectionError
andrequests.exceptions.ChunkedEncodingError
to httplib2-like errors. In some cases, these errors were not being treated as retryable; now, the retry logic should behave properly for these errors.Added
ee.data.createFolder
to the Python client to match the JavaScript client. Note that theforce
andcallback
parameters are not supported.
2024-03-25
- Found and fixed a reprojection error which affected the correctness of some Earth Engine results from Mar 7, 2024 to Mar 13, 2024. See the announcement for more details.
2024-03-13
Code Editor
- Added a new code annotation and warning message in the script editor to highlight usage of deprecated Landsat Collection 1, which needs to be converted to Collection 2 as soon as possible.
2024-03-06
Web and Python API (v0.1.393)
Added
priority
to Earth EngineExport
batch tasks. This feature is currently only available when using a Cloud project that is registered for paid Earth Engine access.Added
Geometry.fromS2CellId()
andGeometry.fromS2CellToken()
for working with S2 (http://s2geometry.io/) polygons.
2024-01-31
JavaScript API (v0.1.388)
- Migrated the authorization workflow in the JavaScript library from the Google API Client Library for JavaScript to Google Identity Services.
Python API (v0.1.388)
- Added
__init__()
for docstrings and argument type annotations toArray
,ConfusionMatrix
,DateRange
,Model
,Projection
, andReducer
.
2024-01-18
Web API
- BACKWARD INCOMPATIBLE Changed the behavior of
ee.data.listOperations
to return only tasks created in the currently selected Cloud project, including those started by other users. For more details, visit the developer announcement.
Python API (v0.1.386)
- Added
__init__()
for docstrings and argument type annotations toErrorMargin
andJoin
.
2024-01-10
Python API (v0.1.385)
Fixed authentication issues for the
gcloud auth application-default
calls tologin
andset-quota-project
. Added thecloud-platform
scope to the default scopes used byee.Authenticate()
.Added
__init__()
for docstrings and argument type annotations toPixelType
.
2023-12-08
JavaScript and Python API (v0.1.383)
- Added
Export.classifier.toAsset
andee.Classifier.load
for exporting and loading savedee.Classifier.smileCart
andee.Classifier.smileRandomForest
classifiers. The exported classifiers will be visible and managed just like existing Earth Engine assets. More details are available at our supervised classification and our export reference page.
Python API (v0.1.383)
Updated
ee.Authenticate()
andee.Initialize()
to supportcolab
mode, added newgcloud
mode for remote machines (which makes the--quiet
flag no longer necessary), and introducedlocalhost
mode.ee.Initialize()
now uses ambientgoogle.auth.default()
credentials if present.ee.Authenticate(force=True)
forces a refresh, but by default will now reuse existing credentials. See the auth page for the revised documentation.Switched from setup.py to pyproject.toml for building and installation.
- Drops support for installing with
distutils
.
- Drops support for installing with
Removed
opt_
keyword for parameters, with backwards compatibility with existing scripts that useopt_
arguments. Note that some parameters needed to be renamed after removingopt_
since they conflict with Python keywords:ee.Collection.limit()
:opt_property
was converted toprop
ee.Image.expression()
:opt_map
was converted tomap_
ee.Filter()
:opt_filter
which was converted tofilter_
Added
ee.Blob(url)
to allow type checking of theurl
argument and catch strings that don't start withgs://
when possible on the client side.
JavaScript API (v0.1.383)
- Added
getMapId()
toee.Image
,ee.ImageCollection
,ee.Feature
, andee.FeatureCollection
to match the Python client. MarkedgetMap()
as deprecated.
2023-11-29
Web API
Fixed a bug that prevented the download of large (more than 1000 elements) collections.
Fixed a bug that sometimes caused missing pixels in images that cross the antimeridian (longitude 180°).
2023-11-15
Python API (v0.1.379)
Added a long-lived
requests.Session
object so that calls to Earth Engine can share a connection pool. This should increase performance and stability.Disallowed complex, rational, and integral numbers in
ee.Number()
.Added workload tag support to
ee.data.getPixels()
.
2023-11-01
Python API (v0.1.377)
- KNOWN ISSUE This version of the client libraries introduced a Python type annotation incompatible with Python 3.7.
2023-10-24
Earth Engine Apps
- Fixed linked drawing tools in Apps so that geometries are synced between two
drawing tools with
setLinked(true)
.
2023-09-14
JavaScript API (v0.1.369)
- Fixed
ee.data.getOperation()
andee.data.getTaskStatus()
error handling. Operations that complete with an error are now returned as Operation objects that include error details, instead of throwing an exception.
Python API (v0.1.369)
- Migrated Python client library from deprecated
https://accounts.google.com/o/oauth2/token
tohttps://oauth2.googleapis.com/token
for OAuth 2.0 authentication.
2023-09-07
JavaScript API (v0.1.368)
- Added documentation to
ee.data.newTaskId()
andee.data.startProcessing()
to clarify unsubmitted versus submitted task IDs, and fixedee.batch.ExportTask.start()
to return the submitted task ID.
2023-08-24
Python API (v0.1.366)
- BACKWARD INCOMPATIBLE Fixed construction of an
ee.Date
object from atzinfo
-awaredatetime
object. Naivedatetime
objects are still treated as UTC.
2023-08-17
Web API
- BACKWARD INCOMPATIBLE Added support for multidimensional arrays in
Export.table.toBigQuery()
. The BigQuery array format changed fromARRAY<INT64|FLOAT64>
toSTRUCT<ARRAY<INT64>, ARRAY<INT64|FLOAT64>>
, where the first parameter isdimensions
and the second parameter isvalues
.
2023-08-09
Code Editor
- Launched Project-owned Apps feature to support app collaboration under a new project ID namespace. See our app developer documentation for more information.
2023-07-27
JavaScript and Python API (v0.1.361)
Upgraded the client libraries to use the
v1
Earth Engine API. No changes required except for the following case:- BACKWARD INCOMPATIBLE In the Python client, for the
ee.data.getAsset()
method, thetitle
anddescription
fields are only accessible from the asset properties in the v1 API. Modify your code to referencemy_asset['properties']['title']
andmy_asset['properties']['description']
.
- BACKWARD INCOMPATIBLE In the Python client, for the
2023-07-19
Python API (v0.1.360)
- BACKWARD INCOMPATIBLE Added a Python version requirement (3.7.0) to the client libs.
2023-06-26
Web API
- Added
ee.Filter.area()
.
2023-05-15
Web API
- Added support for the geostationary satellite projection (geos) for Cloud
Optimized GeoTIFFs (
ee.Image.loadGeoTIFF()
and theCreateAsset
pathway).
2023-05-04
Web API
- Upgraded
GDAL
to 3.1.4. Affects import and export of GeoTIFFs including Cloud Optimized Geotiffs (COGs).
2023-05-03
JavaScript and Python API (v0.1.352)
- Added support for the
no_data
field for GeoTIFF exports in both the Python and JavaScript client libraries.
2023-04-14
Web API
- BACKWARD INCOMPATIBLE Changed server behavior for dealing with dots (.) in workload tags. Before, tags containing dots were removed from the request, now an error will be thrown.
Python and JavaScript API (v0.1.349)
- BACKWARD INCOMPATIBLE Removed support for dots (.) in workload tags, which will now throw an error.
2023-03-09
Web API
- Changed the default
BIGTIFF
parameter in theGeoTIFF
image export options fromIF_SAFER
toYES
, which always generates aBigTiff
unless theBIGTIFF
parameter is overridden in theformatOptions
dictionary parameter.
2023-03-06
Web API
- Upgraded
GDAL
to ab9e803 andlibgeotiff
to a6fb3d3. Earth Engine uses GDAL to ingest assets and to export Cloud Optimized GeoTIFF (COG) files.
2023-02-15
Python API
- Added
ee.data.getPixels()
,ee.data.computePixels()
,ee.data.listFeatures()
, andee.data.computeFeatures()
to the Python client. The new methods will help with getting pixels from assets oree.Image
objects, and listing features from assets oree.FeatureCollection
objects.
2022-11-17
Web API
- Updated
ee.Image.cumulativeCost
to be able to handle multi-band cost images.
2022-11-02
Python API (v0.1.330)
- Updated the HTTP client library in the Python client from
httplib2
torequests
, which re-adds support for multi-threading following thehttplib2shim
removal. - Improved Python
ee.Authenticate()
error messages to give more guidance, and fixed bugs.
2022-10-01
Web API
- For organizations with Google Workspace accounts, the organization administrator was given control to enable or disable Earth Engine by setting the Google Cloud on/off control. This control can be set for the entire organization or for specific workgroups. In August 2022, the organization administrators were notified of this change via a Mandatory Service Announcement (MSA), which included instructions for allowing access to Earth Engine. Who is my administrator?
2022-09-28
Python and JavaScript API (v0.1.326)
- Upgraded the client libraries to use the Earth Engine
v1
API parameters instead ofv1alpha
only parameters, in preparation for a future migration to thev1
API. - Refactored
ee.data.getList()
andee.data.listImages()
to call through toee.data.listAssets()
exclusively.
2022-08-17
Web API
- BACKWARD INCOMPATIBLE
Fixed
ee.Image.sampleRectangle()
to use current band names instead of any original names.
2022-07-13
Python API (v0.1.317)
- Added support for Python 3.10 by removing the dependency on
httplib2shim
. - Added a
localhost
auth mode and introduced aee.oauth.Flow
class for smoother integration with other client libraries.
2022-06-27
Google Cloud Platform
- Added Earth Engine as a Google Cloud product offering for commercial customers. See details here.
2022-06-27
Code Editor
- BACKWARD INCOMPATIBLE Changed
Export
logic in the Code Editor to no longer use the map bounds as a default region for the output. TheExport
behavior now matches that of the Python API, and calls which specify the projection parameters will remain unchanged. To use the viewport bounds as an export region, useMap.getBounds(true)
as theregion
to get the geometry explicitly.
2022-06-22
Python API (v0.1.316)
- Added the workload tag API (
ee.data.getWorkloadTag()
andee.data.setWorkloadTag()
) to label computation and exports with a workload tag, which is viewable from the Google Cloud Console.
Web API
- Added the workload tag API (
ee.data.getWorkloadTag()
andee.data.setWorkloadTag()
) to label computation and exports with a workload tag, which is viewable from the Google Cloud Console.
2022-05-27
Code Editor
- Added EECU stats on exports in the Code Editor and Tasks page.
Python API (v0.1.311)
- BACKWARD INCOMPATIBLE Added
EECU stats
on exports in the CLI (via
earthengine task list -l
).
2022-05-09
Code Editor
- Launched
FeatureView
assets and API. For an overview, see https://developers.google.com/earth-engine/guides/featureview_overview.
Python API (v0.1.310)
- Launched
FeatureView
assets and API. For an overview, see https://developers.google.com/earth-engine/guides/featureview_overview.
2022-04-13
Python API (v0.1.306)
- Security upgrades to authentication in Python notebooks and command line. This only applies if you use the Python libraries or the command line tool; there are no changes to the Code Editor. For more details, visit the developer announcement.
2022-03-31
Web API
- BACKWARD INCOMPATIBLE Removed legacy compatibility for enabling
computation profiling. If you are using the client library below version
v0.1.275
please upgrade to reenable profiling support.
2022-02-18
Code Editor
- Improved the user interface for Earth Engine App creation and management flows.
2022-01-06
Web API
- Added
ee.String.equals()
.
2021-12-13
Code Editor
- Reinstated the
allowHtml
option forui.Chart
, while continuing to disallow external image display. Images indata:
URLs and icons loaded fromgstatic.com
are allowed. - Added
imageUrl
option toui.Button
andui.Label
. If provided, the image will be shown instead of the label text, which will then be used as a tooltip. As withui.Chart
, only images indata:
URLs and icons loaded fromgstatic.com
are allowed.
2021-11-24
Web API
- Added
ee.Geometry.coveringGrid
, which returns a collection of 1x1 rectangles that cover a geometry in a specified projection. This is useful to generate e.g. all export tiles that cover a region of interest, and is far faster than building such a tiling with client-sidefor
-loops. - Added
ee.Algorithm.TemporalSegmentation.StructuralChangeBreakpoints
, modelled after R'swtrucchange.breakpoints
. This looks for breakpoints in a time series of images, based on a linear+harmonic model of pixel values.
Code Editor
- Added an “Output URLs” list to the Task Manager, so that, when using
Export.map.toCloudStorage()
, you can easily copy-and-paste to add a tiled overlay to your Google Earth project, or for use with the Google Maps Platform JavaScript API.
2021-10-19
Code Editor
- BACKWARD INCOMPATIBLE Removed the
allowHtml
option from the set of allowed options inui.Chart
s. This was done as a security precaution.
2021-09-15
Code Editor
- Launched a standalone Task Manager and a new interface in the Code Editor's "Tasks" tab. See our documentation for details.
2021-08-31
Web API
- Added
ee.Reducer.circularMean()
,ee.Reducer.circularStdDev()
, andee.Reducer.circularVariance()
.
2021-08-12
Python and JavaScript API (v0.1.278)
- Improved error reporting for the case where the arguments of a function passed to map() or iterate() are used in client-side operations that don't contribute to the function return value. Since the function is executed server-side, it may not have client-side effects. See the debugging guide for more details.
2021-07-15
Python API (v0.1.273)
- Added
ee.Filter.bounds()
alias foree.Filter.geometry()
.
2021-06-24
Web API
- Added an
outputMultiplier
option toee.Model.fromAiPlatformPredictor()
.
2021-05-19
Web API
- Added
ee.Filter.hasType()
.
2021-05-12
Code Editor
- Replaced the JavaScript sandbox in the Code Editor with JS-Interpreter, to provide improved error reporting and cross-browser consistency. All of the ES5 JavaScript specification continues to be supported.
2021-04-29
Code Editor
- Added support for passing map IDs (from
ee.Image.getMap()
and elsewhere) toMap.addLayer()
.
JavaScript and Python API (v0.1.263)
- Added support for
maxVertices
parameter for table exports.
2021-04-22
JavaScript API (v0.1.262)
- Added a mechanism for overriding the default OAuth2 scopes requested in
ee.data.authenticateViaOauth()
andee.data.authenticateViaPrivateKey()
. This can be used for requesting thehttps://www.googleapis.com/auth/earthengine.readonly
scope, rather than thehttps://www.googleapis.com/auth/earthengine
scope requested by default.
2021-04-15
Web API
- Added
ee.List.unzip()
.
2021-04-01
Code Editor
- Added a
textDecoration
property toui.Widget.style()
. - Added
ui.Checkbox.getLabel()
andui.Checkbox.setLabel()
to get and set labels ofui.Checkbox
.
2021-03-25
Web API
- BACKWARD INCOMPATIBLE Required the
update_mask
orupdateMask
parameters to be non-empty inee.data.updateAsset()
calls.
JavaScript API (v0.1.258)
- BACKWARD INCOMPATIBLE Patched
ee.data.setAssetProperties()
to prevent cases when setting system properties to null or zero causes unintentional property deletion.
2021-02-12
Web API
- Added
ee.Number.signum()
,ee.Image.signum()
, andee.Array.signum()
. - Added a "RAW_REGRESSION" output mode to the
smileRandomForest
classifier. - Fixed a bug that could cause non-uniform sampling of points from small (less than 300m) polygons.
2021-01-20
JavaScript API (v0.1.248)
.evaluate()
and other JavaScript functions that take callbacks will now report exceptions that occurred within callback functions to the console (or to the top level environment in Node.js). If your code has such an exception you can handle or suppress it withcatch
in the callback.
2021-01-19
Web API
- Added
ee.Classifier.smileGradientTreeBoost()
(see more) from the Smile library.
2020-12-03
Web API
- Added a step option to
ee.List.slice()
. - Fixed double-to-float precision loss in
ee.Image.arrayReduce()
.
2020-11-19
Web API
- Improved the reporting and handling of internal errors.
- Added a
(request: ...)
ID string to "internal error" messages returned by the Earth Engine API. These IDs uniquely identify errors for debugging by the Earth Engine team. When reporting internal errors, please include this value. - Added a "Report error" link to errors in the Code Editor, making it easier to send feedback.
- Added a
JavaScript API (v0.1.243)
- BACKWARD INCOMPATIBLE Removed functionality from the JavaScript client
library which is no longer needed after the legacy API turndown.
- Removed
ee.data.getCloudApiEnabled
andee.data.setCloudApiEnabled
from the JavaScript client library.
- Removed
Code Editor
- Expanded
ui.DateSlider
to acceptee.Date
object arguments. Improvedui.DateSlider
sliding behavior, validation, and error reporting. - Fixed
ui.root.onResize()
so that the callback is not fired after the script is reset or replaced.
2020-11-12
Python API
- BACKWARD INCOMPATIBLE Removed functionality from the Python client
library which is no longer needed after the legacy API turndown.
- Removed
use_cloud_api
parameter fromee.Initialize
anddata.initialize
on the Python client library. - Removed the deprecated
data.startProcessing
method on the Python client library. UseexportImage
,exportTable
etc. instead. - Removed the
use_cloud_api
flag on the CLI tool.
- Removed
2020-11-05
Web API
- The
randomColumn
andrandomImage
algorithms now take an optionaldistribution
argument, which may be"uniform"
or"normal"
. - The
loadGeoTIFF
algorithm no longer rejects files with a Header ghost area, such as those written by recent versions of GDAL.
Code Editor
- Limit the minimum and maximum zoom level on
Map
orui.Map
objects by setting theminZoom
ormaxZoom
parameters onsetLocked()
.
2020-10-29
Code Editor
- Improved error reporting for syntax errors, by highlighting the error line in the editor and positioning the cursor at the location to fix. Syntax checks are performed before a script starts executing.
JavaScript API
- Fixes image export parsing of parameter
skipEmptyTiles
, which may have causedskipEmptyTiles
to be ignored.
Python API
- Adds the task ID to the string representation of the task, compatible
with the
repr()
function.
2020-10-15
Code Editor
- Fixed
Map.centerObject
when called with a single point. This now zooms to a small region around the point, instead of doing nothing.
JavaScript API
- Added file format validation and normalization to the
ee.batch.Export
methods on the JS client. Synonyms for file formats (e.g. "JPG" and "JPEG") are supported.
2020-09-25
Code Editor
- Added an indicator for the number of times a task was attempted. Earth Engine automatically attempts tasks a few times because some failures are sporadic. Likely causes for retries include exceeding memory limit and a temporary resource shortage.
JavaScript and Python API
- Added an
ee.data.TaskStatus
field for the number of times a task was attempted. This matches the value now shown in the Code Editor.
2020-09-11
Web API
- Added
ee.Model.predictProperties()
for making predictions over FeatureCollections. - Eliminated one of the frequent causes of "Object too large" errors.
- Fixed bug that sometimes caused failures when using
ReduceResolution
close to projection singularities.
2020-08-21
Web API
- Added
ee.Geometry.BBox()
, which simplifies creation of rectangles of latitude and longitude.
Python API
- Added a
--long_format
option (and-l
shortcut) to theearthengine task list
CLI command, to show additional information about tasks. This change enables callers to see start/end times for individual tasks.
JavaScript and Python API
- Changed the object serialization format, so that
x.serialize()
returns an updated format (which is already used in server requests).ee.Deserializer
supports both the new format and the old format. These changes apply to all JavaScript and Python APIs. If you have code which serializes and deserializes objects, we recommend that you either upgrade all parts of your system at once, or proceed in stages by updating the deserialization code first.
2020-07-07
Web API
- Added
ee.Algorithms.ObjectType()
, which returns the type of any computed object. - Fixed bug that could cause export of an all-zero image to fail.
- Fixed bugs in
ee.Date.update()
when working with fractions of a second.
2020-03-12
Web API
- Added
ee.Image.directionalDistanceTransform()
, which calculates the distance to non-zero pixels in a given direction.
Python API
- Fixed bug with getVideoThumbURL() and getFilmstripThumbURL().
2020-03-06
Code Editor
- Improved design of the assets dialog, with markdown support in the description and smarter thumbnails.
JavaScript API
- ee.Image.getDownloadURL is fully supported in Cloud API mode.
- NEW BEHAVIOR Band-level parameters take precedence over top-level parameters when specified.
- NEW BEHAVIOR Band parameters are ignored for multiband GeoTIFFs.
- BACKWARD INCOMPATIBLE
image
parameter may not be serialized, use anee.Image
directly. - BACKWARD INCOMPATIBLE Limits on total image size.
ee.data.getTileUrl
supports theurlFormat
parameter supplied in the map ID.
Python API
- ee.Image.getDownloadURL is fully supported in Cloud API mode.
- NEW BEHAVIOR Band-level parameters take precedence over top-level parameters when specified.
- NEW BEHAVIOR Band parameters are ignored for multiband GeoTIFFs.
- BACKWARD INCOMPATIBLE
image
parameter may not be serialized, use anee.Image
directly. - BACKWARD INCOMPATIBLE
id
parameter is not accepted. Use theimage
parameter and anee.Image
directly. - BACKWARD INCOMPATIBLE Limits on total image size.
- Added PKCE support to
earthengine authenticate
.
2020-02-21
Code Editor
- Added
ui.util.getCurrentPosition()
API that gets the user's current geographic position from the browser's geolocation service. - Now accepts named parameters in
Map.setCenter()
andMap.setOptions()
. - Added drawing tools control to
Map.setControlVisibility()
andui.Map.setControlVisibility()
. - Prevented chart from opening multiple times when clicking the popout button.
- Accepted TFRecord and GeoTIFF file format selection in image export dialog.
- Fixed upload errors when file names contained non-ascii UTF-8 characters.
- Dismissed popup dialogs when the mouse scrolls elsewhere on the page.
2020-01-30
Python API
- Updated the HTTP transport layer for the Earth Engine Python client library
from httplib2 to urllib3, which will make it more flexible (e.g., it's now
possible to make multiple simultaneous requests) and improve performance.
This improvement might not be realized if the
earthengine-api
package is installed via theconda-forge
channel.
Web API
- Fixed the
explain()
method ofee.Classifier.SmileRandomForest()
to returnimportance
as a dictionary.
2020-01-23
Code Editor
- Drawn geometries displayed in Code Editor display in newly published Apps.
- Now prompts for a Cloud Project when re-publishing an App.
JavaScript API
- Added
ui.url
API for reading URL parameters. See our blog post for more details. - Added
ui.Map.DrawingTools
andui.Map.GeometryLayer
for programmatic access to the drawing tools. See the official documentation.
2020-01-09
Web API
- Added
ee.Reducer.countRuns()
, which computes the number of runs of distinct, non-null inputs.
2019-11-22
Code Editor
- Added feature to restrict access to Earth Engine Apps to members of a Google Group. See the announcement on the developers list
JavaScript API
- Turned on Cloud API support by default for the JavaScript client library. Developers with registered service accounts will need to enable the API.
2019-11-12
Web API
- BACKWARD INCOMPATIBLE Changed the output bands produced by
ee.Algorithms.TemporalSegmentation.Ccdc()
. See the announcement on the developers list for details. - Added Cloud API support to the JavaScript client library, and turned on Cloud API support by default for the Python client library. Developers with registered service accounts will need to enable the API.
JavaScript API
- Launched
ui.root.onResize()
API with an example script for configuring user interface based on the device type and screen size.
Python API
- Added new export parameters
tileSize
andmaxWorkerCount
in_prepare_image_export_config()
in ee/batch.py.
Code Editor
- Expanded only exact matches on API documentation search in Code Editor.
- Fixed
Map.setZoom()
so that it works after the map zoom is changed.
2019-11-07
Web API
- Added new versions of some classifiers:
ee.Classifier.smileCart()
. This will eventually replaceee.Classifier.cart()
.ee.Classifier.smileRandomForest()
. This will eventually replaceee.Classifier.randomForest()
.ee.Classifier.smileNaiveBayes()
. This will eventually replaceee.Classifier.naiveBayes()
.ee.Classifier.libsvm()
. This will eventually replaceee.Classifier.svm()
.
2019-10-23
Python API
- Supported a list of rectangle coordinates for the
region
parameter ingetThumbURL()
.
JavaScript API
- Improved the documentation for
ee.Filter.not()
. - Fixed the bug with
clipToBoundsAndScale()
. When clipping to bounds without thescale
parameter, the resulting image lost the native scale.
2019-09-13
Web API
- Added
ee.Model.fromAiPlatformPredictor()
, which returns anee.Model
from a description of an AI Platform prediction model, and anee.Model.predictImage()
algorithm, which makes predictions from pixel tiles of an image. For more information, see the Developer's Guide. - Added
Image.sampleRectangle()
algorithm, which extracts a rectangular region of pixels from an image into a 2D array per band. - Added dotted and dashed line types to
ee.FeatureCollection.style()
. - Improved the performance of drawing complex polygons when zoomed in.
- Fixed bug that sometimes caused
Export.image.toAsset()
to lose image properties. Changed the behavior ofee.Image.reproject()
to preserve image properties.
Code Editor
- Added support for uploading CSV files.
2019-09-05
Web API
- Added
ee.Filter.expression()
to convert conditional and boolean string expressions into filters and allowee.Collection.filter()
to take expression strings.
2019-08-30
Python API
- Added
ee.Authenticate()
to authorize access to Earth Engine via OAuth2.
JavaScript API
- Refactored networking routines into
apiclient.js
.
Code Editor
- Opened the shortcuts menu on
?
key press when not in a text field.
2019-08-09
Web API
- Allowed assignment (band naming) of
ee.Image.expression()
results with=
. For instance:ee.Image.expression('ndvi = (nir - red) / (nir + red)')
.
2019-07-29
Code Editor
- Enabled
ui.Thumbnail()
to acceptee.Geometry
objects for theregion
parameter.
2019-06-13
Web API
- Added
ee.Array.argMax()
.
Code Editor
- Added
ui.Map.CloudStorageLayer()
, a type of map layer which reads static image tiles from Google Cloud Storage in the Code Editor and Earth Engine Apps. For more information, see the Developer's Guide. - Improved
ui.Slider
widget'sonClick
behavior.
2019-06-07
Code Editor
- Separated Help and Feedback menus and added link to Stack Exchange.
- Added explicit "Save & Close" button when editing asset properties.
- Enabled Ctrl-Drag to make copies of scripts.
- Simplified login flow.
2019-05-10
Code Editor
- Added a Manage Links page, on a menu next to Get Link. Links can be deleted and downloaded in bulk.
2019-04-03
Code Editor
- Added the ability to draw rectangles on the map (along with points, lines, and polygons). Learn more in the Developer's Guide.
Web API
- Increased the maximum size of an
ee.Kernel
from 255 pixels to 512.
2019-03-29
Web API
- Added
ee.ImageCollection.getVideoThumbURL()
.
2019-03-21
Web API
- Removed the
ee.Image.trainClassifier()
andee.FeatureCollection.trainClassifier()
functions that were deprecated in September, 2016. Callers should be usingee.Classifier.train()
instead.
2019-03-15
Web API
- Fixed a regression that caused assets in polar projections to be displayed incorrectly.
Code Editor
- Dataset listing page now redirects to the public catalog.
2019-02-21
Code Editor
- Changed positioning of
ui.Panel.Layout.absolute()
widgets on maps. The new positioning aligns better with other map controls such as the Layer Manager. Also added support for multiple widgets in the same position.
2019-02-05
Web API
- Fixed
Image.reduceRegions
internal server error. - Fixed rare issue with not sampling from all portions of some complex polygons
in
FeatureCollection.randomPoints
andImage.sample
.
2019-01-17
Code Editor
- Added KBDI dataset.
- Fixed a bug in which the export/thumbnail region was generating an extra pixel when the region has an edge that lies exactly along a pixel boundary line. For example, in the past behavior, exporting a hemisphere might export one pixel on the other side of the equator. This should now be fixed.
2019-01-10
Web API
- Added
ee.List.distinct()
.
2019-01-04
Code Editor
- Added "Run With Profiler" option and removed sticky profiler setting.
- Added
ui.Map.onTileLoaded()
notification.
2018-12-07
Web API
- Added optional
mapsApiKey
parameter toExport.map.toCloudStorage()
, to allow callers to specify a Google Maps API key for the map viewer in those exports.
2018-11-29
Web API
Operations that attempt to construct very complex geometries (more than 2M edges) will now fail with a "Geometry has too many edges" error. Previously they would sometimes succeed, sometimes fail with a "memory limit exceeded" error, and sometimes cause an internal server error.
Fixed an error that sometimes caused
ee.Image.resample()
to fail to mask invalid pixels in its output.
2018-11-15
Web API
- Added
ee.Image.setDefaultProjection()
andee.Image.clipToBoundsAndScale()
.
2018-11-09
JavaScript and Python API (v0.1.159)
- Ensure JS client library can resolve export regions.
2018-10-11
Web API
- Fix a formatting error in the "invalid asset ID" error message.
Code Editor
- Added the ability to make a
ui.Label()
be a hyperlink.
2018-10-04
Web API
- Fixed a bug introduced in the 2018-09-28 update which could cause spurious "User memory limit exceeded" errors, e.g. when computing large aggregations.
2018-09-28
Web API
- Fixed an overly restrictive error check in
ee.Algorithms.Image.Segmentation.KMeans()
.
Code Editor
- Released
Earth Engine Apps
, to enable developers to create dynamic, publicly accessible user interfaces for Earth Engine analyses (see our blog post for more details).
JavaScript and Python API (v0.1.149)
- Added and updated several UI API examples.
2018-09-14
Web API
- Changed
ee.Image.reduceToVectors()
labels to be 64-bit integer values, to fix an overflow bug. - Added
geometries
option toee.Image.sample()
,ee.Image.sampleRegions()
andee.Image.stratifiedSample()
, to produce per-feature geometries.
Code Editor
- Added
ui.DateSlider
UI API widget, to allow simple selection of dates. - Added
ui.SplitPanel
UI API widget, to enable side-by-side maps in a panel.
JavaScript and Python API (v0.1.148)
- Updated examples.
- Internal fixes.
2018-08-23
Web API
- Added
ee.List.filter()
andee.List.join()
.
2018-08-17
Code Editor
- Added
ui.Map.unlisten()
.
Web API
- Documented
TFRecord
andShapefile
as valid table export formats. - Standardized bit-masking throughout the "Cloud Masking" examples.
2018-06-29
Web API
- Added optional
uniqueLabels
parameter toee.Algorithms.Image.Segmentation
algorithms, which forces clusters to have unique IDs. - Fixed type promotion bug in
ee.Image.reduceConnectedComponents()
which occurred when processing array images.
2018-06-22
Web API
- Fixed
NaN
handling inee.Image.spectralDistance()
algorithm. - Added
ee.Image.selfMask
algorithm to streamline the process of masking an image with its own values.
2018-06-08
Web API
- Added
ee.Image.spectralGradient()
,ee.Image.spectralMorphology()
andee.Image.spectralDistance()
algorithms. - Added
ee.Image.reduceConnectedComponents()
algorithm. - Added
ee.Image.Segmentation.KMeans()
andee.Image.Segmentation.GMeans()
. - Added LandTrendr, EWMACD, VerDET and VCT temporal segmentation algorithms.
2018-05-18
Web API
- Added new superpixel segmentation algorithm
ee.Algorithms.Image.Segmentation.SNIC()
. - Added new filters
ee.Filter.isContained()
andee.Filter.notNull()
.
2018-04-13
Code Editor
- Fixed
Cannot read property 'undefined' of undefined
error.
Web API
- Clarified
skipEmptyTiles
parameter default values forMap
exports in Python. - Fixed several small typographical errors.
2018-04-06
Code Editor
- Added time-related utility functions to
ui.util
:ui.util.clear()
ui.util.clearTimeout()
ui.util.rateLimit()
ui.util.setInterval()
ui.util.setTimeout()
ui.util.throttle()
2018-03-21
Code Editor
- Added
wrap
parameter forui.Panel.Layout.Flow()
, which causes widgets in the layout to wrap if they overflow the available space. - Added the ability to specify an opacity for
ui.Style
color and background color (using hex or rgba notation).
2018-03-01
Web API
- Fixed
ee.Geometry.transform()
to report the projection a geometry cannot be transformed into, instead of returning an internal error. - Fixed bug introduced last week where the default visualizations of many assets in the public catalog were ignored.
- Removed
ee.Algorithms.Landsat.surfaceReflectance()
, which was deprecated some time ago. Please use the SR collections instead.
2018-02-07
Web API
- Removed deprecated
trainClassifier
algorithms on images and feature collections. UseClassifier.train()
instead.
2018-01-03
Web API
- Calling
image.paint()
on an image with no bands now has no effect (it used to cause an internal server error).
2017-12-20
Web API
- Deprecated
trainClassifier
algorithms are no longer documented and will be removed completely in February 2018. UseClassifier.train
instead.
2017-12-04
Code Editor
- Improved the robustness of polygon handling in table upload. Previously-difficult polygons are now interpreted according to the rules used to draw them.
2017-10-26
Web API
- Added last reducers
ee.Reducer.last()
andee.Reducer.lastNonNull()
which select the last element.
2017-10-19
Python API
- Fixed the Python API's
image.rename()
method to properly handle a single string.
2017-10-11
Code Editor
- Added an advanced table upload option to control the precision of geometry transformations performed during upload.
- Added an advanced table upload option to enable spatially subdividing complex geometries.
- Fixed a bug that prevented the legacy Script Manager from loading.
2017-09-18
Web API
- Added Image.blend() to do simple alpha blending between two images.
2017-08-28
Web API
- Added new algorithm
ee.Image.random()
to generate random pixels between 0 and 1. - Added new algorithm
ee.Image.stratifiedSample()
to evenly sample each distinct class value in the image. - Added new algorithm
ee.FeatureCollection.style()
, to provide more style options, and better per-feature overriding, - Added
tileScale
parameter toImage.sample
andImage.sampleRegions
. - Changed
Export.image
to set the description on each band of the output GeoTIFF to the name of the source band of the ee.Image object. Use gdalinfo to view the descriptions. - Changed weighted reducers such as
Sum
orMean
to use fractional masking for aggregations (reduceRegion
andreduceRegions
). The weight is now the minimum of the raster mask and the fraction of the pixel covered by the reducer geometry. The behavior of unweighted reducers has not changed. - Changed
Image.clipToCollection
to use partial masks for polygon edges, matching whatImage.clip
has been doing. - Changed
Image.clip
to retain points and lines, matching whatImage.clipToCollection
has been doing. Points are masked as the full pixel, while lines have anti-aliased partial masks (like polygon edges).
2017-07-06
Web API
- Added
ee.Classifier.gmoLinearRegression()
, a regularizing linear regression classifier.
2017-06-29
Web API
- Fixed a bug that caused most errors in batch tasks to be erroneously reported as "Internal Server Error".
- Fixed a bug that could cause server issues when operating on tables with many (2M+) small rows (point geometries and only a modest number of columns).
2017-06-12
Web API
- Updated
ee.Algorithms.Landsat.simpleComposite()
to work with Landsat Collection 1 image data. - Improved stability of table asset query system.
Code Editor
- Added support for uploading shapefiles.
ui.Map.addLayer()
now returns theui.Map.Layer
instance.- Fix issue filtering Examples tab.
JavaScript and Python API (v0.1.116)
- Added support for uploading shapefiles.
2017-05-26
Web API
- Added a nearest-neighbor interpolation mode to the
ee.Image.displace()
algorithm. This is useful, for example, when displacing images representing ordinal data like classifications, to avoid interpolation. - Added
ee.Reducer.autoHistogram()
withee.Array
output suitable for use per-pixel. - Added new Image and Array algorithms
matrixCholeskyDecomposition
andmatrixSingularValueDecomposition
.
2017-05-17
Web API
- Fixed a bug that caused timeouts in queries involving
ee.Image.displace()
.
2017-03-16
Web API
- Enable setting properties on image collection and folder assets.
2017-03-02
JavaScript and Python API (v0.1.106)
- Added a
skipEmptyTiles
option toExport.image.toDrive()
andExport.image.toCloudStorage()
to skip generating empty (i.e. fully-masked) image tiles.
JavaScript API (v0.1.106)
- Added a Global Surface Water dataset tutorial to the examples.
Python API (v0.1.106)
- Updated authentication to work with oauth2client v2+ and a JSON-formatted credentials file.
2017-02-03
Python API
- Updated OAuth scope to FULL_CONTROL for Cloud Storage, to enable actions that require OWNER permissions.
2017-01-11
Web API
Landsat.calibratedRadiance()
now uses Landsat-specific metadata instead ofgoogle:calibration_bias
and_gain
per-band metadata. Output values may have changed slightly due to float vs double precision differences.
2016-12-19
Web API
Added
ee.Image.arrayCat()
to easily concatenate two array images with the same number of dimensions.Fixed issue using the pure GeoJSON
ee.Geometry(string)
constructor when given a GeometryCollection. The elements may now have their own crs/geodesic/evenOdd fields, so long as they all have the same values.
2016-12-08
Code Editor
- Fixed bug with race conditions around
Map.centerObject()
calls.
2016-11-29
JavaScript API (v0.1.101)
- Fixed a typo in the "Airstrip Thumbnails" example script.
2016-11-22
Web API
- Added support for uploading images with mask band of types other than byte,
interpreting integer types in the range
[0, maxint]
and float types in the range[0.0, 1.0]
.
2016-11-18
Web API
- Fixed ISE when
Array.cat
is given null input arrays.
2016-11-03
Web API
- Fixed a bug that sometimes caused
ee.Image.reduceResolution()
to overestimate the number of input pixels per output pixel.
2016-10-27
JavaScript and Python API (v0.1.99)
- Added optional
shardSize
andfileDimensions
arguments toExport.image.toDrive()
andExport.image.toCloudStorage()
, to specify the computation shard size and the output file dimensions for multi-file image exports. - Added an optional
skipEmptyTiles
argument toExport.map.toCloudStorage()
to skip writing empty (fully-transparent) tiles.
2016-10-03
Web API
- Changed
ee.ErrorMargin()
to require thevalue
parameter for finite error margins.
2016-09-29
Web API
- Added
ee.Reducer.fixedHistogram()
, a reducer which computes a histogram using fixed bins and returns the histogram as anee.Array
with two columns. - Fixed miscellaneous
Internal Server Error
messages to surface more useful information.
JavaScript API (v0.1.97)
- Added
ee.layers.ImageOverlay
andee.layers.BinaryOverlay
to replace the now-deprecatedee.MapLayerOverlay
andee.FloatTileOverlay
.
2016-09-22
Web API
- Fixed several internal errors thrown by
ee.List
algorithms. - Fixed incorrect number comparisons in
ee.List
algorithms. - Fixed
ee.Image.select()
to throw an error if a new band name includes any forbidden characters. - Fixed
ee.ImageCollection.toArray()
errors with no-band image collections. - Added a helpful error message when
ee.Collection.draw()
is invoked with invalid point/line styles.
Code Editor
- Added the ability to add a description and title to uploaded assets.
JavaScript API (v0.1.96)
- Added
ee.layers.ImageOverlay
and deprecatedee.MapLayerOverlay
.
2016-09-16
Web API
- Fixed a bug where large exports failed with a "Number of pixels requested exceeds the maximum allowed" error.
2016-09-08
Code Editor
- Added
maxFrames
parameter toExport.video
.
2016-09-02
Web API
- Added
ee.Dictionary.remove()
. - Added
ee.List.reduce()
, an algorithm to reduce a list. - Added CSS color handling to
ee.FeatureCollection.draw()
. - Added
ee.Clusterer
for unsupervised clustering. - Added
ee.ConfusionMatrix
handling for values greater than 2^31. - Removed
ee.Algorithms.TrainClassifier()
andee.Classifier.mahalanobis()
classifier algorithms. - Fixed classification error triggered by having a class with no associated values.
Code Editor
- Deleted deprecated methods
addToMap()
,centerMap()
, andgetMapBounds()
.
2016-08-24
Web API
- Added
ee.Image.medialAxis()
andee.Image.fastDistanceTransform()
. - Added optional sum-to-one and non-negative constraints to
ee.Image.unmix()
.
2016-08-03
Web API
- Added
ee.Image.clipToCollection()
to clip an image to aFeatureCollection
;ee.Image.clip()
should now be used only to clip an image to aFeature
or aGeometry
. - Modified aggregations so they may now exclude empty pixels outside the footprint of the source image.
Code Editor
- Updated documentation for the User Interface API.
2016-07-28
JavaScript and Python API (v0.1.90)
- Fixed an issue which caused the minified version Earth Engine JavaScript API to be excluded from the open-source release.
Code Editor
- Updated
Export.map.toCloudStorage()
to make the 'path' parameter default to the export task's description.
2016-07-21
Code Editor
- Added the User Interface API.
2016-07-13
Web API
- Fixed bad error messages when tessellation fails due to zero error-margin.
- Fixed
ee.FeatureCollection.randomPoints()
to work with unusually small geometries. - Updated
ee.Reducer.frequencyHistogram()
andee.Reducer.countDistinct()
to ignore masked pixels. - Added
ee.Reducer.firstNonNull()
, a reducer that ignores null values and masked pixels.
2016-07-01
Web API
- Updated error messages in many functions, making the output clearer and more actionable.
- Changed
ee.Number.format()
to allow for type coercion for integer and floating point types. - Changed the
toDrive()
functions underExport
to create the specified Drive folder if it doesn't exist, rather than throwing an error. - Changed
ee.Image.where()
to always retain the footprint and metadata of the input image. - Fixed
Geometry.bounds()
andFeature.bounds()
to always return results in the requested projection. - Fixed a bug where
ee.Reducer.group()
truncated inputs to integers when used withee.Collection.reduceColumns()
.
Code Editor
- Updated the visualization dialog to allow new changes to be applied when the palette is updated.
2016-06-13
Web API
- Added
ee.Image.register()
,ee.Image.displacement()
, andee.Image.displace()
for registering images to one another and computing and applying displacements. - Add several correlation reducers:
ee.Reducer.kendallsCorrelation()
,ee.Reducer.pearsonsCorrelation()
,ee.Reducer.spearmansCorrelation()
, andee.Reducer.sensSlope()
. - Updated
ee.String.match()
to return a list of all matching groups when used without the global flag.
Code Editor
- Added a script performance profiling tool, enabled via the settings menu.
- Update the series order in
Chart.image.histogram()
to be consistent with the band order in the image.
2016-06-02
Web API
- Added
ee.Feature.setGeometry()
for setting or overriding the geometry of an existing Feature.
JavaScript and Python API (v0.1.83)
- Added
computedObject.evaluate()
.
Code Editor
- Added ability to view quota usage for a root asset folder.
- Added support for exporting an image from your script environment to an Earth Engine asset with
Export.image.toAsset()
.
2016-05-26
Web API
- Added
ee.FeatureCollection.kriging()
, a function which performs Kriging interpolation given a set of semivariogram parameters. - Added
ee.Array.dotProduct()
andee.Image.arrayDotProduct()
algorithms to compute the dot product between two 1-D arrays of equal length.
2016-05-18
JavaScript and Python API (v0.1.82), and Code Editor
- Expanded
Export
functionality to support maps as an export type and Google Cloud Storage as a destination.
2016-04-08
Web API
- Added
Image.reduceResolution
, an algorithm to generate pixels in a (usually lower-resolution) output projection.
2016-03-31
Web API
- Added
FeatureCollection.inverseDistance()
, to do inverse-distance weighted interpolation. See the interpolation documentation for further details. - Changed the correlation scores in the
ee.Algorithms.CrossCorrelation
algorithm to allow negative correlation coefficients. Now, thecorrelationCoeff
output band has a range of [-1, 1], rather than [0, 1]. - Changed the
ee.Algorithms.CrossCorrelation
algorithm to accept a value of 0 for themaxGap
parameter, to allow for a direct computation of correlation scores between two images.
2016-03-24
Web API
- Added new
Image.cumulativeCost
algorithm. - Added an ee.Blob class for accessing data blobs in Google Cloud Storage.
- Added an ee.Classifier.decisionTree() algorithm for loading pre-existing decision trees as Classifier objects
- Fixed singular value exceptions when computing the parameter stability test in
Image.formaTrend()
, to match behavior of original FORMA.
2016-03-17
Web API
- Added
Image.arrayCat()
to concatenate the pixels of two array images along a given array axis.
2016-03-10
Web Code Editor
- Added support for named arguments to the Charts API.
Web API
- Added
ee.Number.format()
. - Added
ee.String.toLowerCase()
,ee.String.toUpperCase()
,ee.String.trim()
, andee.String.compareTo()
.
2016-02-26
Web Code Editor
- Added
MIN
,MAX
, andMODE
as reduction policy options for generating tile pyramids for ingested assets. - Added instructions for configuring a googlesource.com Git password to the script repository share dialog.
2016-02-18
Web API
- Added new correlation reducers: Kendall, Spearman, Pearsons and Sen's slope.
JavaScript API (v0.1.73)
- Added throttling of asynchronous network requests.
Web Code Editor
- Geometry drawing keyboard shortcuts now require holding the shift key.
- Added a refresh button to the asset list.
2016-02-08
Web API
- Add a bitCount operator.
2016-02-02
Web API
- Added
ee.Image.bitsToArrayImage()
.
Web Code Editor
- Added ability to edit asset metadata.
2016-01-21
Web API
- Exports with a 'region' argument now accept geometry with any supported projection or geodesic state, instead of defaulting to planar WGS84.
- Multi-file asset uploads that use "last band" masking mode should now work.
ee.Dictionary()
can now be called with no arguments or with a list of alternating keys/values.
JavaScript API (v.0.1.72)
- Disable exporting to GME.
Python API (v.0.1.72)
- Disable exporting to GME.
2016-01-11
Web API
- Expanded Collection.remap() to allow mapping from strings to integers.
Web Code Editor
- ee.Dictionary() can now be called with no arguments or with a list of alternating keys/values.
2016-01-06
Web API
- Added
ee.Image.pixelCoordinates()
, a generalization ofee.Image.pixelLonLat()
. - Added
ee.Dictionary.fromLists()
. - Added
ee.Kernel.inverse()
. - Added ability to specify random seed in
ee.Classifier.randomForest()
. - Added
optimization
parameter inee.Image.reduceNeighborhood()
, which enables faster computation at the cost of using more memory. - Improved performance of
ee.Image.distance()
and addedskipMasked
parameter.
2015-12-10
Web API
- Reduced the memory requirements of the
ee.Terrain.fillMinima
algorithm. - Added
ee.Kernel.rectangle()
, for constructing constant-valued rectangular kernels. - Fixed bug in
ee.Classifier.continuousNaiveBayes()
and addedexplain()
method.
2015-12-02
Web API
Added
ee.Classifier.minimumDistance()
.Deprecated
ee.Classifier.mahalanobis()
.Fixed
Image.remap()
to properly propagate the source image mask.
Web Code Editor
- Added support for tiled asset uploads with multiple files.
2015-11-25
Web API
Added
ee.Geometry.cutLines()
andee.Feature.cutLines()
, to cut the linear parts along a series of parameter distances in the result projection.Added
ee.Image.bitsToArray()
andee.Number.bitsToArray()
.
2015-11-19
Web API
Fixed a bug in
ee.Reducer.stdDev()
that caused it to returnNaN
instead of zero in some cases.Fixed a bug in
ee.Algorithms.If()
that caused it to treatNaN
as true in the condition.
Web Code Editor
- Added support for creating and sharing
ImageCollection
assets, and for adding and removingImage
assets to and from those collections.
2015-11-13
Web API
Fixed several Internal Server Errors when transforming geometries or image boundaries to very different projections.
Fix
Image.reduceRegion()
support for images with no bands.Added support for masked pixels in
CrossCorrelation
algorithm.
Web Code Editor
- Added "Use last band as alpha" as a masking mode option for asset uploads.
2015-11-05
Web API
Added bitwiseOr and bitwiseAnd reducers.
Fixed SampleImage dropping points for single band images. Additionally, this bug could have caused the generated properties to be incorrectly named "first".
2015-10-29
Web API
Added
ee.Classifier.spectralRegion()
, to test if the inputs lie within a specified 2D polygon.Improved ingestion of non-standard projections.
Fixed incorrect weights in the implementation of the Roberts cross kernel.
Fixed several internal errors that could occur when working with geometries that touch the poles.
Fixed some spurious out-of-memory errors from
ImageCollection.combine()
,ImageCollection.merge()
,FeatureCollection.merge()
, andee.Terrain
algorithms.
2015-10-22
Web API
Improved the performance of negative geometry buffering.
Improved error reporting when invalid projections are supplied to image export.
Added
Dictionary.select()
,Dictionary.rename()
andDictionary.map()
.Fixed accidental creation of inside-out polygons at the poles in
ee.Geometry.Polygon()
,ee.Geometry.Rectangle()
, andee.Geometry.MultiPolygon()
.
2015-10-16
Web API
- Added an
ee.Image.date()
algorithm that returns an Image's acquisition time as anee.Date
object.
2015-10-08
Web API
- Updated Mahalanobis classifier to handle multiple classes.
Playground Web IDE
- Added the ability to set pyramiding policy and fill value on uploaded assets.
2015-10-02
Web API
- Fixed geometry repair issue in the presence of extremely small polygons.
Playground Web IDE
- Added support for asset renaming.
- Resolved issue that prevented searching for "where".
2015-09-24
Web API
- Added
Collection.size()
algorithm. - Added
Classifier.explain()
to describe results from training a classifier. Currently only returns details for Cart.
Playground Web IDE
- Fixed a bug causing “Git protocol error” seen when saving scripts.
2015-09-10
Web API
- Changed the name of single-file image exports from
"foo-0000000000-0000000000.tif"
to"foo.tif"
. - Fixed a bug in
ee.Image.remap()
in which masked data with a remapped value could be unmasked.
2015-09-03
Web API
- Added GCS export support for videos and features.
- Fixed
Collection.classify()
PROBABILITY
output to match image results.
Playground Web IDE
- Fixed bug in which ‘Clear Script’ was not closing the current script.
2015-08-27
Web API
- Added support for human-readable color names in palettes. Now any CSS 3.0 color name can be used in a palette (e.g.,
['red', 'aquamarine', 'maroon']
). - Fixed internal server errors when filtering images by point geometries on the WGS84 antimeridian.
- Converted an internal server error into a helpful message when using
matrixSolve
with unsolvable matrices.
Playground Web IDE
- Added support for uploading files up to 10GB.
- Fixed bug which broke chart popouts in Safari.
2015-08-19
Web API
- Add
ContinuousNaiveBayes
classifier. - Add
ee.ConfusionMatrix.kappa()
- Primary geometry of a feature is no longer considered a named property of the feature.
- It cannot be retrieved with
ee.Feature.get()
; useee.Feature.geometry()
instead. - It cannot be changed with
ee.Feature.set()
. - It's not included in the result of
ee.Feature.propertyNames()
andee.Feature.toDictionary()
. - To refer to the geometry in contexts like
ee.Filter.intersects()
,ee.Filter.equals()
, andee.FeatureCollection.getDownloadURL()
, use a special value ".geo".
- It cannot be retrieved with
2015-08-12
Web API
- Added numeric functions
erf()
,erfc()
,erfInv()
,erfcInv()
,gamma()
,digamma()
,trigamma()
andcbrt()
(each is defined onee.Image
,ee.Number
, andee.Array
).
2015-08-07
Web API
- Fixed tile artifacts when using the countEvery reducer with
FeatureCollection.reduceToImage
. - Fixed TOA calculation for MSS bands on Landsat 4 and 5.
Playground Web IDE
- Added support for asset upload and management within the UI.
- Added Visualization Dialog to the Layer Manager.
JavaScript & Python API
- Switched to new read & write scope ('https://www.googleapis.com/auth/earthengine' instead of 'https://www.googleapis.com/auth/earthengine.readonly')
2015-08-01
Web API
- Added a new algorithm for Landsat TOA composites.
- Deprecated
ee.Image.hsvtorgb()
andee.Image.rgbtohsv()
in favor ofee.Image.hsvToRgb()
andee.Image.rgbToHsv()
.
Playground Web IDE
- Fixed a bug that caused script saving to sometimes fail with an "Unknown error" message.
JavaScript API
- Changed
ee.Image([])
to create an Image with no bands.
2015-07-23
Web API
- JSON/JSONP format responses from the API now indicate errors in the HTTP status code as well as the response body.
2015-06-26
Web API
- Updated
ee.(Feature|Image).geometry()
toee.Element.geometry()
. - Added dropNulls as a default to Image.sample.
Playground Web IDE
- Fixed a bug in some charts that used
ee.Date
. - Added support for custom date axis ticks in charts.
- Fixed error that occurred when auth token refresh is attempted while the browser is offline.
- Updated the link to User Documentation.
- Added more HydroSHEDS datasets.
JavaScript & Python API
- Fixed error that occurred when auth token refresh is attempted while the browser is offline.
- Added demos directory and move AppEngine demos to it.
- Added “Powered by Earth Engine” images.
2015-06-19
Web API
- Added a set of new classification APIs. See
ee.Classifier
. - Added a
ConfusionMatrix
class, returned byee.Classifier.confusionMatrix
andee.Collection.errorMatrix
. - Fixed
Classifier
PROBABILITY mode for features to return floats. - Added more information to printed
Kernel
objects. - Removed deprecated algorithms:
ClassifyImage
,DrawVector
,DropDuplicates
,UnionFeatureCollection
andFilterFeatureCollection
. - Exporting complex images will sometimes be faster, and may succeed when it previously failed.
Playground Web IDE
- Fixed a bug that allowed drawing geometries with no layer selected.
- Fixed a bug that could cause empty geometry imports to be loaded as code instead of editable layers.
JavaScript & Python API
- Added
ee.data.setAuthToken()
andee.data.getAuthToken()
- Fixed the default API URL in
ee.data
- Fixed
ee.reset()
so it no longer clears auth info. - Added tile event callback registration methods to
ee.MapLayerOverlay
. - Added
ee.Image.rename()
to make it easy to rename bands. - Updated App Engine app examples.
- Fixed
ee.Geometry.Rectangle
when given a custom projection or geodesic state.
2015-06-04
Web API
- Geometry constructors now handle computed coordinates. For example,
ee.Geometry.Point(ee.Number(1).add(2), 3)
, oree.Geometry.Point([3,3], image.projection())
. Image.mask(x)
now sets the pixels that it unmasks to zero (or to the value closest to zero within the range of the pixel type of the input image).- Binary image operations (e.g.
ee.Image.add
) now always match bands using their order (previously they matched them by name, falling back on matching by order only if not all names could be matched).
Playground Web IDE
- Added
ee.data.authenticateViaPopup()
and instructions on how to use it to avoid popup-blockers when doing client-side EE library authentication.
JavaScript & Python API
- Allowed
ee.MapLayerOverlays
to be named. - Added an
opt_dropNulls
argument toCollection.map()
.
2015-05-30
Web API
- Changed
Image.arrayProject()
to return null for empty input arrays, instead of throwing an error.
JavaScript & Python API (v0.1.55)
- Undeprecated
ee.data.getInfo()
.
Playground Web IDE
- Changed font to Roboto.
2015-05-22
Web API
- Added robust 2D polygon repair, alleviating the need to manually fix geometries.
- Updated the Landsat 8 brightness temperature constants used for TOA products.
- Updated the default ordering of feature collections loaded from Fusion Tables to now be the same as in the Fusion Tables UI.
- Fixed Internal System Error in
getRegion()
. - Fixed spurious memory errors when buffering geometries.
2015-05-15
Web API
- Added morphological
Window.mean()
, and updatedWindow.median()
to output doubles. - Filters other than
Filter.eq
now return false when the property is null or missing (instead of causing internal errors).
JavaScript & Python API (v0.1.54)
- Renamed
getThumbURL()
's 'size' param to 'dimensions'.
Playground Web IDE
- Added a "Clear script" option to the "Reset" button.
2015-05-08
JavaScript & Python API
ee.ImageCollection()
now acceptsee.List
arguments.
Playground Web IDE
- Added syntax highlighting to script diffs.
- Added a "Clear script" option to the "Reset" button.
- Increased the Playground map zoom limit from level 19 to level 24.
- Fixed an issue that could cause the script manager to repeatedly ask for merging even if nothing has changed.
- Fixed an issue with special character treatment in script names during migration.
- Fixed support for Unicode script names.
- Fixed scripts sometimes loading old versions after viewing a diff.
- Fixed issues with handling of non-alphanumeric characters in script names during migration.
2015-04-30
Web API
- Fixed internal server error when aggregating unbounded images.
- Report an error when
Array.project
andImage.arrayProject
are used to discard a length 0 axis. - Fixed
Image.clip
with geometry crossing the antimeridian.
JavaScript & Python API
- Added support for exporting videos.
Playground Web IDE
- Added support for exporting video to Google Drive.
- Added a new, Git-based script management tab.
- Fixed task starting on Internet Explorer.
- Fixed search in the documentation tab.
- Added support for hiding of tasks older than one day in a collapsed zippy.
2015-04-23
Playground Web IDE
- Added
Map.getCenter()
. - Added the ability to override the playground map language and region localization using the map_language and map_region query parameters. E.g. https://ee-api.appspot.com/?map_region=ja&map_language=ja
- Added auto-categorization of tasks older than one day.
2015-04-10
Web API
- Fixed
FeatureCollection.remap
to drop non-numeric values. - Fixed Provider links in datasets to now display properly.
JavaScript & Python API (v0.1.50)
- Fixed
ee.Geometry.Multi*()
constructors to accept empty lists.
Playground Web IDE
- Added the Playground Tour to discover new features.
- Added a Report Error button to Internal Server Error messages in the console.
- Fixed labels for series named (numerical) 0 to be rendered in chart legends.
- Fixed
byFeature()
,series()
,byRegion()
, anddoySeries()
chart helpers to generate reliably ordered series (default order: alphabetical). - Fixed Chart CSV files to include column labels.
2015-04-03
Web API
- Fixed
ee.Reducer.frequencyHistogram()
to work on non-string inputs. - Fixed a bug in classifiers when classifier_parameters=null.
JavaScript API and Python API (v0.1.49)
- Added error handling improvements.
2015-03-26
Web API
- Added
Collection.randomColumn()
algorithm that adds a column of deterministic pseudorandom values to aCollection
. - Added
Image.sample()
algorithm that returns a sample of the image pixels as aFeatureCollection
. - Extended the
Algorithms.Landsat.TOA()
function to support the MSS instrument on board Landsat 1-3. - Added new algorithms for working with array shapes:
Image.arrayLength()
, andImage.arrayDimensions()
. - Added
Feature.propertyNames()
to return the property names of aFeature
. - Improved the error message returned when attempting to load images into a projection that doesn't exist everywhere the image does.
- Fixed an issue with some
Reducer.group()
aggregations. - Fixed an issue with array masking and sorting along length 1 axes.
- Fixed a bug in
Image.arrayFlatten
mask handling. - Removed "impurityMeasure" option from Rifle classifier. Previously, "Gini" and "Hellinger" modes were supported, but now only "Gini" is available.
Python API (v0.1.48)
- Corrected the documentation for the
ee.Date
constructor.
Playground Web IDE
- Added geometry editing tools.
- Added Fusion Tables search.
- Added an Imports section the editor.
2015-03-17
Playground Web IDE
- Fixed
Map.addLayer()
to stop silently dropping incorrectly-specified layer names.
2015-03-06
Web API
- Fixed
Reducer.countDistinct()
to be compatible withImage.reduce()
. - Modified
Image.resample()
to control resampling in all cases, not just when supersampling, using the nearest pyramid level. - Fusion Tables polygons will be repaired if invalid. If the repair process fails, we will now show an error instead of using invalid polygons.
Python API (v0.1.44)
- Fixed bug with region parameter in
getThumbURL()
. - Added a callback option to
getThumbURL()
.
JavaScript API (v0.1.44)
- Fixed bug with region parameter in
getThumbURL()
.
Playground Web IDE
- Made
Map.setStyle()
case-insensitive with regards to map type names.
2015-02-28
Web API
- Added
ee.Reducer.countDistinct()
.
JavaScript API (v0.1.46)
- Added an optional callback parameter to
ee.Image.getThumbUrl()
.
Playground Web IDE
- Fixed mishandling of date value declared as strings in
Chart
. - Fixed custom map styles persisting after Reset is clicked.
- Improved the highlighting of deprecated Landsat assets.
- Changed the Search Datasets shortcut from Ctrl+D to Ctrl+Alt+F to avoid conflicts.
2015-02-20
Web API
- Add
Image.resample()
and bicubic interpolation.
JavaScript API (v0.1.45)
- Fixed keyword argument handling in
ee.Algorithms.*
functions.
Playground Web IDE
- Added a new feature that underlines code suggestions.
- Added an editor settings menu with two toggle-able settings:
- Underline code suggestions
- Autocomplete pairs like "", (), {}
- Added a shortcut to focus on the Dataset search bar, Ctrl+D.
- Fixed
Map.setCenter()
silently failing on invalid inputs. - Fixed the Playground failing after the window is kept open for over 24 hours.
2015-02-10
Web API
- Added
Reducer.robustLinearRegression()
function to perform linear regression via iteratively-reweighted linear least squares. - Changed parameter 'crs' of
Image.reproject()
to accept aProjection
, to more easily reproject an image to the projection of another. - Changed
ImageCollection.getRegion()
,Image.reduceToVectors()
,Image.reduceRegion()
, andImage.reduceRegions()
to also accept aProjection
, to provide more control over the projection to work in. - Fixed errors in
LandTrendr
algorithm. - Fixed rendering of some geodesic polygons (removed erroneous horizontal lines).
- Fixed errors working with some polygons that cross the antimeridian.
Python API (v0.1.44)
- Added
FeatureCollection.select()
.
JavaScript API (v0.1.44)
- Added
ee.data.authenticate()
which allows authenticating API requests directly in the browser.
Playground Web IDE
- Changed Charts to use UTC as the default timezone.
2015-02-05
Web API
- Improved error message returned when export to Google Drive fails due to insufficient space.
2015-01-15
Web API
- BACKWARD INCOMPATIBLE Deprecated the "size" parameter to
ee.Image.getThumbURL()
in favor of "dimensions". If you have a script which provides a "size" argument toee.Image.getThumbURL()
, please switch to using "dimensions" instead. - Fixed an internal server error when exporting images that use
Image.expression()
. - Fixed
Image.pixelArea()
internal server errors when working in the WGS84 projection. - Fixed export of images with bandname_class_palette metadata.
- Fixed a bug where setting multiple properties on an image would in rare cases ignore all but one property.
Python API (v0.1.42)
- Added
ee.batch.Task.active()
for checking whether the task is active. - Made deprecated methods emit warnings. It is highly recommended to enable this by running the Python interpreter with the -W default flag or calling "import warnings; warnings.simplefilter('default')" before interacting with the EE library.
- BACKWARD INCOMPATIBLE
Image.parseExpression()
is no longer available for general use.Image.expression
should be used instead, and the documentation for accessing bands in expressions has been moved there. - Added support for computed geometries to
Geometry.type()
, but now returns a computed string rather than a concrete one. - Grouped Terrain algorithms into
ee.Terrain
.
JavaScript API (v0.1.42)
- BACKWARD INCOMPATIBLE
Image.parseExpression()
is no longer available for general use.Image.expressio
n should be used instead, and the documentation for accessing bands in expressions has been moved there. - Added support for computed geometries to
Geometry.type()
, but now returns a computed string rather than a concrete one. - Fixed the incorrect winding order of polygons generated by
Image.reduceToVectors()
. - Grouped Terrain algorithms into
ee.Terrain
.
Playground Web IDE
- Added
Chart.image.byClass()
. - Added support for
Chart
ticks specified as dates. - Fixed bug in
Chart.array.values()
triggered by axes with leading zeros. - Added better support for charting series of different data types.
2014-12-19
Web API
- Fixed the incorrect winding order of polygons generated by
Image.reduceToVectors()
. - Fixed a bug in
Collection.distinct()
which sometimes caused it to return duplicate elements. - Fixed a bug that caused
FeatureCollection.reduceToImage()
to refuse integer properties. - Fixed a bug that sometimes caused large image exports to fail.
2014-12-04
Python API (v0.1.41)
- Added the
ee.batch
module to support batch task management and image and table export. Image.expression()
allows expressions that do not refer to all the supplied input images.Image.parseExpression()
allows you to explicitly specify the expected input image names.
JavaScript API (v0.1.41)
Image.expression()
allows expressions that do not refer to all the supplied input images.Image.parseExpression()
allows you to explicitly specify the expected input image names.
2014-11-24
Web API
- Fix internal server error when using
Reducer.group()
.
2014-11-17
Web API
- Added new
Geometry.dissolve()
andFeature.dissolve()
algorithms, to dissolve the interior boundaries between elements of aMultiGeometry
. - Deprecated
Image.stats()
. UseImage.reduceRegion()
instead. - Small bugfixes for
Chart
styling.
2014-11-06
Web API
- Fixed
Geometry.intersects()
andGeometry.contains()
incorrectly returning false for some geometries crossing the antimeridian.
2014-10-29
Web API
- Updated
Image.arraySlice()
to support variable slice positions per pixel position.
2014-10-24
Web API
- Added array support to
Image.mask()
. - Added
Feature.select()
andFeatureCollection.select()
to select the properties of Features. - Added
Reducer.group()
to group elements by a specific input, reducing all the other inputs with a given reducer. - Fixed an internal server error that could occur in
Reducer.covariance()
.
2014-10-14
Web API
- Added Google Maps Engine as a destination for batch export of vector data (via
Export.table
). - Added support for
ee.List
objects withinchart.setSeriesNames()
. - Added
dictionary.combine()
, a function which combines two dictionaries. - Added support for parsing of WKT definitions with EXTENSION elements, by ignoring the EXTENSION when the projection has a known canonical definition.
- Fixed a bug that, in rare cases, caused an "Internal Error" when using
Reducer.first()
. - Fixed support for CSV exports containing no geometry data.
2014-09-30
Web API
Reducer.covariance()
renamed toReducer.centeredCovariance()
, for already mean-centered data.- Added
Reducer.covariance()
, a single-pass covariance algorithm that centers data not yet mean-centered. - Improved the error message generated when a
Dictionary
algorithm is given a key containing a space.
2014-09-24
Web API
- Unbounded geometry, such as the union of complementary hemispheres, is now returned to the client as the WGS84 geodesic rectangle from -180,-90 to 180,90.
Python API (v0.1.38)
- Added support for Python API authentication using a Google account.
2014-09-12
Web API
- Added a size restriction of 10e5 x 10e5 pixels to
ee.Image.getThumbURL()
. - Added support for scalable (meter-based) kernels to
ee.Image.connectedComponents()
. - Added
Chart.image.series()
, along with an example. This function plots derived values of each band in a region across multiple images. - Changed the Playground code-suggestion behavior to not insert a function's argument list unless the cursor is within the function call.
- Fixed a bug in reductions that was caused image projections to be ignored.
- Improved the reporting of certain types of memory-consumption errors.
2014-09-05
Web API
- Added
Feature.id()
andImage.id()
methods for accessing the ID of a given element within its collection. - Added
Reducer.forEachElement()
for distributing reducers overArray
elements. - Fixed a bug in GeoJSON export. Now GeoJSON downloaded from Earth Engine is compatible with GDAL's ogr2ogr tool.
- Fixed
Filter.rangeContains()
.
2014-08-28
Web API
- Added
Image.sample()
, which creates aCollection
containing pixels randomly sampled from an image. - Added
Image.mosaic()
support for array images, as long as no array is partially masked. - Added
Image.visualize()
support for viewing array images, by just displaying the first array element at each pixel, or 0 for empty array pixels. - Improved precision of operations on DOUBLE images and arrays.
- Reductions now require a scale or crs_transform when a crs is specified.
- Changed
ImageCollection.getRegion()
to no longer skip pixels where a subset of bands is masked. The masked pixel values are returned as nulls. - Fixed
Image.unmix()
andImage.mask()
not working properly when used insideImageCollection.map()
. - Fixed
Image.addBands()
issue with renaming bands. - Fixed
Image.arraySort()
andImage.arraySlice()
to handle empty matrices. - Fixed
Image.arrayGet()
Internal Server Error when attempting to use a double or float band as the position argument. - Fixed
ee.FeatureCollection()
to show a helpful error when a column contains arrays of different dimension. - Fixed
Image.mask()
when used to retrieve the mask of an array image. - Fixed an error that could occur when applying geometry filters on join results.
2014-08-21
Web API
- Added
Array()
function to create an array from nested lists of numbers. - Added
Array.toList()
function to create a nested list of numbers from an array. - Extend
Image.constant()
to create images with array-valued pixels and to acceptee.List
objects to produce multiple bands. - Added
Image.toArray()
function to concatenate pixels of image bands into an array per pixel. - Added
ImageCollection.toArray()
function to convert each pixel stack or time series to a single array per pixel. - Added
ImageCollection.toArrayPerBand()
function to convert the pixels of each band to an array per band per pixel. - Added
Array.identity()
,Image.arrayIdentity()
, andImage.matrixIdentity()
functions to create an identity matrix of the given size. - Added
Feature.toArray()
function to combine numeric feature properties into a 1D array. - Added
FeatureCollection.makeArray()
function to combine numeric feature properties into a 1D array for each feature in aFeatureCollection
. - Added
Image.arrayFlatten()
function to convert an array back a regular scalar image by naming the array elements. - Added
Reducer.covariance()
function to compute the covariance of a collection or neighborhood as a 2D array. - Added
Array.length()
andImage.arrayLength()
functions that return a 1D array of an array’s lengths. - Added
Array.get()
andImage.arrayGet()
functions that return a specific scalar array element. - Added
Array.cat()
function to concatenate a list of arrays along a given axis. - Added
Array.cut()
function to cut an array along one or more axes. - Added
Array.sort()
andImage.arraySort()
functions that sort an array by the values of a given ‘keys’ array. - Added
Array.slice()
andImage.arraySlice()
functions that slice out a subarray from regularly-spaced positions along one axis. - Added
Array.mask()
andImage.arrayMask()
functions that eliminate array positions where a corresponding mask value is 0. - Added
Array.transpose()
andImage.arrayTranspose()
functions to swap two array axes. - Added
Array.reduce()
andImage.arrayReduce()
functions to apply a reducer to the elements of an array. - Added
Array.accum()
andImage.arrayAccum()
functions to accumulate a reducer along a given array. - Added
Array.project()
andImage.arrayProject()
functions to project an array into a lower dimension. - Added
Array.repeat()
andImage.arrayRepeat()
functions to concatenate an array with itself a given number of times. - Added
Array.matrixMultiply()
andImage.matrixMultiply()
functions to multiply two 2D arrays. - Added
Array.matrixSolve()
andImage.matrixSolve()
functions to compute the 2D array X such that AX=B. - Added
Array.matrixInverse()
andImage.matrixInverse()
functions to invert a 2D array. - Added
Array.matrixPseudoInverse()
andImage.matrixPseudoInverse()
functions to compute the Moore-Penrose pseudoinverse. - Added
Array.eigen()
function to compute the eigenvectors and values of a 2D square array. - Added
Array.matrixDeterminant()
andImage.matrixDeterminant()
functions to compute the determinant of a 2D array. - Added
Array.matrixToDiag()
andImage.matrixToDiag()
functions to generate a square diagonal matrix from a 1D column. - Added
Array.matrixDiagonal()
andImage.matrixDiagonal()
functions to extract the diagonal from a square 2D matrix. - Added
Array.matrixFnorm()
andImage.arrayFnorm()
functions to compute the Frobenius norm of a matrix. - Added
Array.matrixTrace()
andImage.matrixTrace()
functions to compute the trace of a matrix. - Modified
Algorithms.if()
function to avoid evaluating the unused branch.
2014-08-14
Web API
- Added
String.toNumber()
. - Added
Collection.iterate()
andList.iterate()
. - Added new classifier type:
ContinuousNaiveBayes
- Aggregations now return an error when trying to aggregate with the default WGS84 projection. This most commonly happens when aggregating a mosaic image. Specify a scale or crs plus crs_transform to avoid the error
- Aggregations now use the image footprint (instead of the bounds of the first band of the image) when the aggregation region is not specified explicitly
- Improved the error message returned when attempting to set properties with illegal names
2014-08-08
Web API
- Updated
LandsatTOA
to use REFLECTANCE metadata directly when it is available, as is the case for Landsat 8. - Added
Array
Algorithms. - Added a robust least squares regression reducer to the API using iteratively reweighted least squares.
- Add 'format' parameter to the
ThumbnailServlet
, to specify PNG/JPEG downloads.
2014-08-01
Web API
- Added
Collection.toList()
, returning the contents of a collection as a list.
2014-07-25
Web API
- Improved error reporting for export tasks.
2014-07-18
Web API
- Fixed an error thrown when visualizing empty ImageCollections.
- Fixed
Collection.union()
returning partial results on large collections. - Fixed a filtering error that occurred when two intersecting time filters where applied on an
ImageCollection
. - Improved the performance of polygon rendering.
- Improved the performance of large image collection reductions.
- Improved the error message for invalid palettes passed to
Image.visualize()
.
JavaScript API (v0.1.32)
- Fixed casting of numbers when calling the
ee.String
constructor.
Python API (v0.1.32)
- Added a
__version__
property to theee package
. - Fixed casting of numbers when calling the
ee.String constructor
.
2014-06-30
Web API
- Changed file extension on streaming download to lower case (myDownload.CSV -> myDownload.csv).
- GME assets and layers now have name, description and tags properties.
2014-06-20
Web API
- Added a few helper methods to
Projection
:Projection.atScale(projection, meters)
Projection.crs(projection)
Projection.scale(projection, x, y)
Projection.transform(projection)
Projection.translate(projection, x, y)
Projection.wkt(projection)
JavaScript API (v.0.1.31)
- Allowed empty args list for
Image.select()
.
Python API (v.0.1.31)
- Allowed empty args list for
Image.select()
. - Gave all API objects
__eq__()
and__hash__()
2014-06-06
Web API
- Added
List.zip(other)
function. exportImage()
can now create TERRAIN assets when exporting to Google Maps Engine. See gmeTerrain parameter.- BACKWARD INCOMPATIBLE
ee.Geometry.Polygon
andee.Geometry.Rectangle
no longer fix polygon ordering for you, so when you use those functions, be sure to order the points such that the inside of the polygon or rectangle is on the left side of the given edges. This is only backward incompatible when you have a pre-existing script that specifies polygon vertices where the intended interior is on the right side of the given edges. This is easily tested by computing the centroid; if it is on the opposite side of the planet, reverse the order of your vertices.
2014-05-29
Web API
- Added
Geometry.coordinates()
function. - Added
Geometry.proj()
function. - Added
Geometry.edgesAreGeodesics()
function. - Added
Geometry.isUnbounded()
function. - Added
Geometry.geometries()
function. - Improved error reporting for invalid Fusion Tables table ids.
- Fixed a bug causing certain queries for feature IDs only from Fusion Tables to fail.
2014-05-23
Web API
- Fixed bug in
Image.reduceRegions()
. - Added more information to error messages in
Collection.map()
.
2014-05-16
Web API
- Fixed
addToMap
's handling of two band images. - Changed
IsEqual
to compare numbers by value, ignoring the type.
2014-05-07
Web API
- Fixed pixel masking in
ImageCollection.formaTrend()
when there are no valid samples. - Fixed a bug that could cause sub-computations in
Image.expression()
calls to incorrectly return null.
2014-05-01
Web API
- Added new algorithms for
Dictionary
:set()
,contains()
,size()
,keys()
,values()
.
JavaScript API (v.0.1.28)
- Improved error reporting for CSV downloads.
2014-04-24
Web API
- Added image collection casting utilities including
Image.bandTypes()
,Image.cast()
andImageCollection.cast()
. Also madePixelType()
idempotent and adds the following methods:PixelType.uint8()
PixelType.uint16()
PixelType.uint32()
PixelType.int8()
PixelType.int16()
PixelType.int32()
PixelType.int64()
PixelType.float()
PixelType.double()
- Made
Image.paint()
respect line width for LineStrings.
JavaScript API (v.0.1.27)
- BACKWARD INCOMPATIBLE Rename
ComputedObject.cast()
tocastInternal()
to avoid conflict with the upcomingImage.cast()
andImageCollection.cast()
. - Stopped assuming keyword args when a function's first arg is a dictionary.
- Improved consistency in type casting of different classes.
- Fixed
Elemen
t variable promotion. - Started allowing ComputedObjects in
Image.select()
override wrapper.
Python API (v.0.1.27)
- Improved consistency in type casting of different classes.
- Fixed
Element
variable promotion.
2014-04-14
Web API
- Added
collection.flatten()
to flatten collections of collections.
2014-04-07
Web API
- Add
ee.List.map()
, a method for mapping a function over the elements ofee.List
objects. - Changed geometry encoding in
FeatureCollection
export to be more GeoJson compatible. - Bugfixes for
MapProjection
. - Bugfixes for
Image.geometry()
. - BACKWARD INCOMPATIBLE Remove the old Join API, deprecated Dec 2013. Includes
Collection.innerJoin
,Collection.groupedJoin
andJoinCollections
.
JavaScript API (v.0.1.25)
- Bugfixes for
MapProjection
.
2014-04-01
Web API
- Fixed several minor errors around image geometry and property propagation.
2014-03-28
Web API
- Added support for ImageCollections containing images with different band types. To use these in contexts that expect consistent band types (e.g.
ImageCollection.mosaic()
), the image bands must be manually cast to the right type within a mapped function. - Added a rich set of methods to the
List
class. - Added a
SelectorSet()
constructor. - Fixed image bounding box calculations in
Image.clip()
andImage.mask()
. - Fixed normalization of geometries loaded from Fusion Tables.
- Fixed
Image.mask()
to ignore the masked pixels of an applied mask image.
JavaScript API (v.0.1.24)
- Improved automatic type casting logic and error messages.
Python API (v.0.1.24)
- Improved automatic type casting logic and error messages.
2014-03-20
Web API
- Added new algorithm
Image.bitwiseNot()
. - Added camel-case aliases
Image.firstNonZero()
and bitwise operators (Image.bitwiseAnd()
). - Added cast aliases on the primitive Number type (e.g.
Number.toByte()
) to match those onImage
.
2014-03-14
Web API
- Launch the CSV Download servlet.
- Added
Image.bilinearSample
- Make
VisualizationImage
a little nicer, accepting either a list or a single value for all visualization parameters. - Fix bug in
BinaryMath
where only the type of the left argument is considered.
2014-03-10
Web API
- Fixed errors when applying number filters where some values are null.
- Fixed specifying image 'dimensions' in
ee.Image.getDownloadUrl()
.
JavaScript API (v.0.1.21)
- Added filename argument for feature collection CSV download.
2014-02-24
Web API:
- Fixed bug in
ee.FeatureCollection.getDownloadURL()
breaking on some special characters. - Fixed bug that caused
ee.Date.getFraction('year')
to return (slightly) incorrect values between March and December of a leap year or the year before a leap year.
2014-02-18
Web API:
- Added
Image.connectedComponents
, which labels pixel clusters depending on connectedness defined by a kernel. - Added
ee.Reducer.frequencyHistogram
andee.Reducer.first
. - Added alpha band to Images exported to Google Maps Engine. The band is generated as the minimum of the masks of all bands of the Earth Engine image. The Earth Engine image must have exactly one or three bands when exporting to GME; other images will now cause the export to fail.
- BACKWARD INCOMPATIBLE Changed
Image.focal_median
- it now rounds averaged medians rather than truncating them. - Improved performance of queries that include large numbers of mapped functions or
Image.expression
calls.
JavaScript API (v.0.1.19)
- Changed the missing end bound in the
DateRange
constructor to mean start bound + 1ms, not infinity. - Started to consistently interpret
DateRange
upper bounds as exclusive.
Python API (v.0.1.19)
- Changed the missing end bound in the
DateRange
constructor to mean start bound + 1ms, not infinity. - Started to consistently interpret
DateRange
upper bounds as exclusive.
2014-02-13
Web API
- Added an
Image.bandNames()
function to return the bands of an image. - Added an
Image.projection()
function to return the projection of an image. - Added a
Projection.nominalScale()
function to return the nominal scale of a projection in meters. - In
Image.connectedPixelCount()
, set the upper limit of maxSize to 1024 pixels. - Correctly detect Fusion Tables with multiple columns of the same name.
JavaScript API (v.0.1.18)
- Added an
ee.Projection
class to represent map projections.
Python API (v.0.1.18)
- Added an
ee.Projection
class to represent map projections.
2014-02-06
Web API
- Fixed date filters failing on collections loaded from Fusion Tables.
- Fixed
ee.Join
failing when only a subset of fields from the result is requested. - Fixed
ImageCollection
geometry filtering failing when given a degenerate (point-sized) rectangle.
JavaScript API (v.0.1.17)
- Fixed inconsistent promotion logic for ee.Date parameters.
- Fixed initialization failure when both synchronous and asynchronous paths are used.
Python API (v.0.1.17)
- Fixed inconsistent promotion logic for
ee.Date
parameters.
2014-01-29
Web API
- Fixed range filters on Fusion Tables collections.
2014-01-22
Web API
- Add
Image.reduceRegions()
, which augments each feature in a collection with the result of applying a reducer over the area of that feature.
2014-01-09
Web API
- Updated min and max reducers to support ordered non-numeric types, such as strings.
- Deprecated
Image.get()
andFeature.get()
in favor ofElement.get()
. - Added a maxError parameter to
Geometry.convexHull()
andFeature.convexHull()
to control the error tolerance when computing a convex hull in a particular projection. - Empty
DateRange
objects (end <= start) now preserve their start and end times. - Fixed handling of some edge cases in
Geometry.convexHull()
andFeature.convexHull()
.
2013-12-20
Web API
- Added a new ee.Join API to replace the now-deprecated
Collection.innerJoin()
andCollection.groupedJoin()
. - Re-enabled the
Landsat.surfaceReflectance()
algorithm. - Re-enabled the L5_L1T_SR and L7_L1T_SR collections.
- Deprecated
Image.set()
andFeature.set()
in favor ofElement.set()
. This change should only be relevant for users ofee.call()
andee.apply()
. - Changed
LedapsSurfaceReflectance
to work on single images instead of collections. - Fixed
Image.convolve()
for use inmap()
.
JavaScript API (v.0.1.14)
- Added
ee.Element
, a base class foree.Image
andee.Feature
.
Python API (v.0.1.14)
- Added
ee.Element
, a base class foree.Image
andee.Feature
.
2013-12-04
Python API (v.0.1.12)
- Improved the documentation for the AppEngine "Hello World" example.
2013-11-19
JavaScript API (v.0.1.11)
- Added several examples for usage of new variable-size kernels.
- Added an example for usage of the updated
ReduceRegion
algorithm. - Added an example for usage of a Mode reducer with a kernel given in meters.
- Changed all reducer examples to match the Web API's switch to new reducers.
- Improved documentation of the
ee.data.send_()
method. - Fixed client issues arising from the usage from a Caja JavaScript sandbox.
2013-10-29
Web API
- Improved performance of certain
ImageCollection
queries. - Changed pixel type descriptions to be simpler for common cases.
- Removed support for the deprecated v1 JSON API.
2013-10-24
Web API
- Added a "units" argument to most
ee.Kernel
constructor methods that allows specifying kernels in meters. - Changed
Collection.map()
to allow dropping elements by returning null. - Removed the 5000 image limit when enumerating image collections, although overall performance is largely unchanged.
2013-10-19
Web API
- Added schema description to the result of
FeatureCollection.getInfo()
. - Added DocID and table name to the properties of
FeatureCollection
loaded from Fusion Tables. - Deprecated
Function.bind()
. Binding should now always be done on the client side.
2013-10-14
Web API
- Added
Image.randomVisualizer()
. - Changed
Collection.map()
to run mapped functions in parallel. - Changed
Collection.map()
to no longer take dynamicArgs, constantArgs, and destination arguments. - Changed
Collection.limit()
to allow a 0 limit. Useful to query for the collection metadata without fetching any objects. - Removed support for ClientLogin authentication (previously deprecated).
- Fixed
Image.glcmTexture()
to stop returning NaN for homogeneous regions. - Fixed error messages when API calls receive null images.
JavaScript API (v.0.1.9)
- Added an
ee.Number
class. - Added
ee.Geometry.type()
. - Added
ee.ImageCollection.select()
, equivalent to mappingImage.select()
over a collection. - Removed
ee.Collection.map_*()
functions. Useee.Collection.map(someJavaScriptFunction)
. - Fixed
ee.Image.set()
andee.Feature.set()
to stop requiring {'properties': ...} wrapping.
Python API (v.0.1.9)
- Added
ee.Geometry.type()
. - Added
ee.ImageCollection.select()
, equivalent to mappingImage.select()
over a collection. - Removed
ee.Collection.map_*()
functions. Useee.Collection.map(somePythonFunction)
. - Fixed
ee.Algorithms
entries referring to incorrect algorithms. - Fixed
ee.Image.set()
andee.Feature.set()
to stop requiring {'properties': ...} wrapping.
2013-10-02
Web API
- Added a tileScale parameter to
Image.reduceRegion()
. - Improved the error messages produced by
Image.metadata()
. - Fixed a bug which could cause an "incompatible type" error when two
Collection.map()
calls with different input types appeared in the query. - Fixed a bug that could cause aggregation results to be lost, resulting in failed downloads or map tiles.
- Fixed a bug that caused
ImageCollection.getRegion()
to fail on large collections.
2013-09-30
Web API
- Changed the asset loading policy to prevent loading assets using non-constant strings.
- Improved performance of requests containing deeply-nested queries.
- Fixed an internal error encountered when mapped functions reached a certain size.
- Fixed an error when a streaming download was attempted with format set to "jpeg".
- Fixed an error that could make rerunning a timed out aggregation to start from scratch rather than pick up where the last attempt stopped.
- Fixed
FMask.matchClouds()
to propagate the input footprint.
JavaScript API (v.0.1.8)
- Added support for automatically casting numbers to dates (interpreted as Unix timestamps).
- Added
ee.Deserializer
, which can decode the output ofee.Serializer
. - Improved
ee.initialize()
to allow multiple asynchronous initialization calls followed by a synchronous call. - Fixed handling of GeoJSON CRS specification in
ee.Geometry
. - Fixed accidental aggregation cache breaking in
Collection.map()
. - Fixed the example scripts to explicitly specify date timezones, rather than use the client's local timezone.
Python API (v.0.1.8)
- Added support for automatically casting numbers to dates (interpreted as Unix timestamps).
- Added
ee.Deserializer
, which can decode the output ofee.Serializer
. - Fixed handling of GeoJSON CRS specification in
ee.Geometry
. - Fixed accidental aggregation cache breaking in
Collection.map()
.
2013-09-19
Web API
- Increased the maximum tile zoom level from 20 to 21.
- Changed
Image.trainClassifier()
to explicitly disallow unscaled WGS84 images and improved the resulting error message. - Changed
Image.clip()
to preserve input metadata.
JavaScript API
- Changed API functions to support keyword arguments - if a single, class-less JavaScript Object is passed to an API function, its keys are interpreted as keyword arguments.
2013-09-13
Web API
- BACKWARD INCOMPATIBLE Updated algorithm naming to be more consistent:
- Renamed a number of algorithms. The old names are deprecated.
LandsatPathRowLimit()
->Landsat.pathRowLimit()
LandsatTOA()
->Landsat.TOA()
LANDSAT/CalibratedRadiance()
->Landsat.calibratedRadiance()
LedapsSurfaceReflectance()
->Landsat.surfaceReflectance()
SimpleLandsatCloudScore()
->Landsat.simpleCloudScore()
TranslateLandsatMetadata()
->Landsat.translateMetadata()
SimpleLandsatComposite()
->Landsat.simpleComposite()
ReduceToVectors()
->Image.reduceToVectors()
ClassifyImage()
->Image.classify()
TrainClassifier()
->Image.trainClassifier()
Filter.equals()
->Filter.eq()
Filter.notEquals()
->Filter.neq()
Filter.lessThan()
->Filter.lt()
Filter.lessThanOrEquals()
->Filter.lte()
Filter.greaterThan()
->Filter.gt()
Filter.greaterThanOrEquals()
->Filter.gte()
Filter.listContains()
->Filter.inList()
Math.\<any method>()
->Number.\<same method>()
- Removed a number of old deprecated algorithm aiases.
LANDSAT/LandsatTOA()
.Use Landsat.TOA()
.Reproject()
.Use Image.reproject()
instead.SimpleMosaic()
. UseImageCollection.mosaic()
instead.QualityBandMosaic()
. UseImageCollection.qualityMosaic()
instead.SelectBands()
. UseImage.select()
instead.ExtractGeometry()
. UseCollection.geometry()
instead.Filter.arrayContains()
. UseFilter.inList()
instead.
- Deprecated a number of algorithm aliases.
ProjectionTransform()
. UseFeature.transform()
instead.DropDuplicates()
. UseCollection.distinct()
instead.MapAlgorithm()
. UseCollection.map()
instead.JoinCollections()
. UseCollection.join()
instead.UnionFeatureCollection()
. UseCollection.union()
instead.DrawVector()
. UseCollection.draw()
instead.Constant()
. UseImage.constant()
instead.
- Added
FeatureCollection.classify()
. - Added a tileSize argument to
Image.reduceToVectors()
. - Changed
Image.mask()
to preserve the input's metadata. - Improved performance of
Image.glcmTexture()
. - Fixed incorrect handling of polygons that cross the anti-meridian.
JavaScript API (v.0.1.7)
- Added type declarations for
ee.data
methods, so it can be used in Closure-compiled code. - Changed the interface of
ee.CustomFunction()
to require a function signature. - Fixed a regression introduced in the previous update that could cause incorrect serialization.
Python API (v.0.1.7)
- Changed the interface of
ee.CustomFunction()
to require a function signature.
2013-09-06
Web API
- Improved performance of queries that involve a large number of small image operations.
- Fixed incorrect point limit calculation in
ImageCollection.getRegion()
.
JavaScript API (v.0.1.6)
- Optimized the performance of queries that involve repeated sub-queries.
Python API (v.0.1.6)
- Optimized the performance of queries that involve repeated sub-queries.
2013-08-30
Web API
- Added
Image.geometry()
, which returns the image's footprint. - Added
Image.get()
andImage.set()
to get and set image metadata, respectively. - Added
If()
, which allows expression lazy conditionals. - Added
IsEqual()
, which compares two objects. - Added a number of string manipulation methods:
String()
, which casts a number to a string.String.cat()
, which concatenates two strings.String.index()
andString.rindex()
, which search within a string.String.length()
, which calculates string length.String.match()
, which matches a regex against a string.String.replace()
, which replaces substrings hat match a regex.String.slice()
, which returns a specified substrings.String.split()
, which splits a string by a regex.
- Removed the deprecated
Feature.setProperty()
alias ofFeature.set()
.
JavaScript API (v.0.1.5)
- Added a
String
class to represent computations that return string values. - Fixed
Geometry
methods not being present on computed geometries.
Python API (v.0.1.5)
- Restored compatibility with Python 2.6.
- Added a
String
class to represent computations that return string values. - Fixed
Geometry
methods not being present on computed geometries.
2013-08-21
Web API
- Added support for arbitrary geometry in the training region for
Image.trainClassifier()
. - Improved error messages shown when null arguments are passed to certain methods.
- Improved error message about queries that require processing too many images.
- Fixed a bug that could cause filters to be ignored in certain mapped collections.
2013-08-15
Web API
- Fixed handling of Landsat 5 metadata in
ee.Algorithms.SimpleLandsatCloudScore()
andee.Algorithms.SimpleLandsatComposite()
. - Fixed a bug in geometry tessellation near projection singularities (e.g. poles).
- Removed support for defining ImageCollections using the "creator" field in the deprecated JSON API.
Python API (v.0.1.4)
- Fixed handling of ascending=False in
Collection.sort()
.
2013-08-07
Web API
- Added
Collection.first()
, which returns the first element of a collection. - Changed the thumbnail endpoint to flip the Y axis of the default WGS84 projection.
- Fixed an error message for unrecognized parameters being passed to certain methods.
2013-07-31
Web API
- Added support for hex (0x12AB) and binary (0b0110) literals in
Image.expression()
. - Changed the image division operator to always use float rather than integer division.
- Removed the "system:index" property from GeoJSON Features.
- Removed auto-tessellation of geodesic GeoJSON geometries on output.
- Deprecated
ExtractGeometry()
. UseCollection.geometry()
instead. - Fixed
ImageCollection
filtering on non-system properties.
2013-07-24
Web API
- Fixed geometry corruption for 3-point Fusion Table polygons.
- Fixed severe performance issue when filtering the results of mapping
Feature.get()
. - Improved the performance of
Image.pixelArea()
. - Improved documentation for
Collection.groupedJoin()
. - Improved error message for
Collection.filter()
. - Changed
Collection.aggregate()
methods to skip missing property values.
JavaScript API (v.0.1.3)
- Added support for calling unbound algorithms using
ee.Algorithms.algorithmName(...)
. - Added checks for too many arguments being passed into constructors.
- Improved error messages returned when a request times out.
Python API (v.0.1.3)
- Added support for calling unbound algorithms using
ee.Algorithms.algorithmName(...)
. - Added support for passing key data in addition to key filenames to
ee.ServiceAccountCredentials()
.
2013-07-18
Web API
- Fixed an error that would cause classified image downloads to occasionally fail.
- Fixed an error when trying to download images with an alpha channel in JPEG format.
- Fixed incorrect handling of disjoint multi-polygon intersection.
- Fixed a small precision bug in polyline distance calculations.
- Fixed ID propagation when merging collections.
2013-07-11
Web API
- Fixed the type name of Reducers.
- Fixed
ReduceToVectors()
dropping all but the last polygon in multi-polygon vectors. - Fixed an error message in
ReduceToVectors()
when non-integer labels are supplied. - Fixed an error in
Image.pixelArea()
at low zoom levels.
2013-07-03
Web API
- Removed the system:link field from assets.
JavaScript API
- Added support for the geodesic field in GeoJSON to differentiate geodesic and projected lines.
Python API
- Added support for the geodesic field in GeoJSON to differentiate geodesic and projected lines.
2013-06-26
Web API
- Added
Dictionary.get()
andList.get()
to get elements of dictionaries and lists. - Added an "id" attribute for GeoJSON Features fetched from collections.
- Fixed dropping of empty "properties" attribute in GeoJSON Feature output.
- Fixed an internal server error caused by training data containing NaNs.
2013-06-24
Web API
- Added support for Landsat 8 images to
LandsatTOA()
. - Added
Image.copyProperties()
, which copies the properties of one image to another. - Added
FeatureCollection.trainClassifier()
which allows training a classifier with features from a collection. - Renamed
TrainClassifier()
toImage.trainClassifier()
. The old name is deprecated. - Fixed parsing of negative numbers in non-Image method arguments within
Image.expression()
strings.
2013-06-05
Web API
- The main geometry property in a
Feature
now has a property name.
JavaScript API (v.0.1.2)
- Added an
ee.Kernel
class.
Python API (v.0.1.2)
- Added an
ee.Kernel
class. - Fixed reading of binary auth keys on Windows.
2013-05-31
Web API
- Added method name annotations to error messages.
- Improved an error message in binary band math operators.
2013-05-22
Web API
- BACKWARD INCOMPATIBLE Removed the deprecated
LimitFeatureCollection()
alias forCollection.limit()
. - Added
Math.*()
methods to operate on primitives (e.g. in mapped functions). WARNING: These are likely to be renamed in an upcoming push. - Added
ReduceToVectors()
, which runs a reducer across all homogeneous regions in an image. - Fixed an internal error in
Image.reduceBands()
when passed an image with zero bands. - Fixed the behavior of
Collection.limit()
where if the result was drawn, the limit would apply on each tile separately. - Fixed usage of
Feature.get()
inside mapped functions.
2013-05-15
Web API
- BACKWARD INCOMPATIBLE Removed the deprecated
Feature.setProperties()
method. UseFeature.set()
instead. - Added
Feature.get()
. - Added
FeatureCollection.randomPoints()
. - Added world files to image downloads.
- Renamed
Constant()
toImage.constant()
. The old name is deprecated. - Improved performance of queries that include multiple asset lookups.
- Fixed an
Image.distance()
regression. - Fixed an error message when enumerating image collection queries that return over 5000 items.
- Fixed an internal server error when querying large Fusion Tables with no limit.
JavaScript API (v.0.1.1)
- Added
ee.Image.getThumbURL()
. - Added
ee.Filter.inList()
, a convenience foree.Filter.listContains()
. - Changed
ee.Image.getDownloadURL()
to generate full rather than relative URLs. - Changed
ee.Geometry.Point()
to accept (x, y) arrays. - Changed the
ee.Image constructor
to allow calling with no arguments, returning the equivalent ofee.Image(0).mask(0)
. - Deprecated
ee.Collection.map_*()
functions. Useee.Collection.map(someJavaScriptFunction)
. - Fixed type promotion of nulls and zeroes.
Python API (v.0.1.1)
- BACKWARD INCOMPATIBLE EE objects can no longer be initialized by providing JSON blocks (except GeoJSON). All of these can be converted to the new format using
ee.call()
andee.apply()
. - BACKWARD INCOMPATIBLE
Collection.aggregate_*()
functions no longer perform automatic server fetches. Users will need to callgetInfo()
on the result manually. - BACKWARD INCOMPATIBLE The string representation of EE objects can no longer be passed to
eval()
to recreate the object. - Added a new class,
ee.Geometry
, that represents GeoJSON geometries. - Added
ee.Image.getThumbUrl()
. - Added
ee.Filter.inList()
, a convenience foree.Filter.listContains()
. - Changed
ee.Geometry.Point()
to accept (x, y) tuples/lists. - Changed the ee.Image constructor to allow calling with no arguments, returning the equivalent of
ee.Image(0).mask(0)
. - Changed API version to 0.1.1.
- Moved Filter functions onto ee.Filter as static methods.
- Switched to a new, better optimized wire encoding of queries.
- Deprecated
ee.Collection.map_*()
functions. Useee.Collection.map(somePythonFunction)
.
2013-05-02
Web API
- BACKWARD INCOMPATIBLE Removed old deprecated algorithms:
Image.combineBands()
,CombineBands()
,Image.normalized_difference()
,CombineCollectionBands()
,LonLat()
,SetProperties()
andFeature.update()
. - Renamed
Filter.arrayContains()
toFilter.listContains()
. The old name is deprecated. - Fixed clamping of Landsat EVI images.
- Fixed an
Image.distance()
regression. - Fixed minor reprojection precision errors that happened during image collection compositing.
2013-04-25
Web API
- Changed OAuth2 authentication to no longer require an extra scope to access Google Maps Engine assets.
- Improved performance of date/time filtering.
- Improved performance of large queries whose call tree has a large number of shared subtrees.
- Fixed
Image.expression()
calls sometimes failing within aCollection.map()
call. - Fixed several mistakes in the return types of API functions.
JavaScript API (v.0.0.6)
- BACKWARD INCOMPATIBLE EE objects can no longer be initialized by providing JSON blocks (except GeoJSON). All of these can be converted to the new format using
ee.call()
andee.apply()
. - BACKWARD INCOMPATIBLE
Collection.aggregate_*()
functions no longer perform automatic server fetches. Users will need to callgetInfo()
on the result manually. - BACKWARD INCOMPATIBLE The result of the
toString()
function of EE objects can no longer be passed toeval()
to recreate the object. - Added a new class,
ee.Geometry
, that represents GeoJSON geometries. - Moved
Filter
functions ontoee.Filter
as static methods. - Switched to a new, better optimized wire encoding of queries.
2013-04-17
Web API
- Changed unary image operations to pass through the metadata of the input to the output.
- Changed OAuth2 token verification to no longer require the Earth Builder scope to access Google Maps Engine assets.
- Fixed behavior of
Image.glcmTexture()
inside mapped functions. - Fixed error messages when calling user-defined Earth Engine functions with invalid arguments.
- Fixed grouped joins involving ImageCollections.
2013-04-10
Web API
- Fixed handling of differently formatted SPACECRAFT_IDs in
LandsatTOA
. - Fixed projection failures that happened near the edges of the MODIS Sinusoidal projection.
- Fixed an internal server error when filtering image collections by nonexistent IDs.
- Fixed handling of null regions in
Image.reduceRegion()
.
2013-04-06
Web API
- BACKWARD INCOMPATIBLE Changed
LandsatTOA()
band order to be the same as the regular Landsat images. - BACKWARD INCOMPATIBLE Changed thumbnail sizing behavior when only a single size is specified: now it is used as a max size.
- Improved error messages that mention image and band types.
- Fixed
ImageCollection.reduce()
behavior when a zero-band image is passed in.
2013-03-28
Web API
- Added
Collection.reduceToImage()
, an algorithm for reducing a set of Features that intersect each pixel. - Added
Geometry
methods that mirror the existingFeature
methods. - Fixed several corner cases when handling near-global images.
- Fixed the error message shown when a Fusion Table can't be found.
- Fixed treatment of numeric results returned from function calls in
Image.expression()
.
2013-03-25
Web API
- Added
Image.parseExpression()
, a method similar toImage.expression()
which returns a custom function. Most users should not need to use this directly. - Fixed the usage of
Image.expression()
inside mapped functions. - Fixed regression in decoding of a deprecated way to encode filtered ImageCollections (via start_time and end_time properties).
- Fixed
LandsatTOA
to accept ETM+ scenes whose SENSOR_ID is simply "ETM", such as LE72332482008177ASN00. - Fixed error message formatting when user input includes nulls.
2013-03-14
Web API
- Added a static
Image.load(id, version)
method, which is equivalent toee.Image(id)
. - Added a static
ImageCollection.load(id, version)
method, which is equivalent toee.ImageCollection(id)
. - Added a static
ImageCollection.fromImages(images)
method, which is equivalent toee.ImageCollection(images)
. - Changed
Feature()
to allow null metadata, interpreted as an empty dictionary. - Changed
PixelType()
to allow half-open ranges. - Changed
MapProjection()
to no longer have a wkt parameter. The crs parameter now allows both CRS ID codes and WKT strings. - Changed
Image.stats()
to allow calculations in the image's native projection and increased the maximum number of samples to 100 million. - Changed
LandsatTOA()
to handle L4 images as well as TM, ETM and ETM+ SENSOR_IDs. - Changed
LandsatTOA()
L5 coefficients from:- Chander, Gyanesh, Brian L. Markham, and Dennis L. Helder. "Summary of current radiometric calibration coefficients for Landsat MSS, TM, ETM+, and EO-1 ALI sensors." Remote sensing of environment 113.5 (2009): 893-903.
- Removed support for specifying classifications using custom JSON. The
TrainClassifier()
andClassifyImage()
methods provide equivalent features. - Fixed error messages of methods that take Lists/Dictionaries of images when non-Image arguments are passed to them.
- Fixed
Collection.loadTable()
.
JavaScript API
- Deprecated specifying API objects using custom JSON (e.g. specifying error margins using
{type: 'ErrorMargin', value: 5}
). Support will be removed in the next library/playground update.
Python API
- Deprecated specifying API objects using custom JSON (e.g. specifying error margins using
{type: 'ErrorMargin', value: 5}
). Support will be removed in the next library update.
2013-03-05
Web API
- Fixed
Filter.calendarRange()
.
2013-02-20
Web API
- Raised request size limit from 256KB to 4MB.
- Fixed support of band names containing colons.
2013-02-13
Web API
- Added
LandsatTOA()
, which is used to calculate Landsat top-of-atmosphere reflectance and brightness temperature. - Added
Image.connectedPixelCount()
, which annotates pixels with the number of equal neighbors. - Changed the HTTP error code on requests that exceed the user's quota from 503 to 403.
- Improved performance of operations that refer to the same
FeatureCollection
multiple times. - Fixed statistical Reducers failing on floating point images.
- Fixed an Internal Server Error being thrown when a 3D CRS is passed to Earth Engine.
JavaScript API
- Fixed missing argument exceptions being raw strings instead of Error instances.
- Fixed the Feature constructor to accept null geometries.
Python API
- Changed the
FeatureCollection
constructor to acceptImageCollection
instances. - Changed the
ImageCollection
constructor to acceptFeatureCollection
instances if they contain images. - Fixed the
Feature
constructor to accept null geometries.
2013-02-06
Web API
- Removed the undocumented
WrappedFeatureCollection
function. - Renamed
SetProperties()
toFeature.setProperties()
. The old name is deprecated.
JavaScript API
- Removed
ImageCollection.combine_()
, an internal method used to implementImageCollection.mosaic()
.
Python API
- Removed
ImageCollection.combine_()
, an internal method used to implementImageCollection.mosaic()
.
2013-01-31
Web API
- Added
Image.reduceRegion()
which applies a reducer to all the pixels in a specific region. See the Unbound section in the playground Docs tab for examples of reducers (e.g.,Reducer.sum()
,Reducer.mean()
). - Added
ImageCollection.qualityMosaic()
to composite a collection using a quality band. - Renamed
LimitFeatureCollection()
toCollection.limit()
. The old name is deprecated. - Renamed
LonLat()
toImage.pixelLonLat()
. The old name is deprecated. - Deprecated
Image.normalized_difference()
. UseImage.normalizedDifference()
withImage.addBands()
instead. - Fixed the performance of queries referencing a Fusion Table multiple times.
JavaScript API (v.0.0.5)
- BACKWARD INCOMPATIBLE Added support for fetching algorithm results using
getInfo()
for algorithms that return numbers, tables, and other non-geo objects. This may break scripts that relied on manually editing JSON produced by these algorithms and submitting it toee.data.getValue()
. - Added support for calling static API methods using the
ClassName.methodName()
syntax. - Removed
ImageCollection.mosaic_()
, an internal method used to implementImageCollection.mosaic()
. - Fixed
ImageCollection.reduce()
so it can be called as an instance method. - Fixed serialization of Collections with multiple filters.
- Fixed listing of static methods in the playground docs.
Python API (v.0.0.5)
- BACKWARD INCOMPATIBLE Added support for fetching algorithm results using getInfo() for algorithms that return numbers, tables, and other non-geo objects. This may break scripts that relied on manually editing JSON produced by these algorithms and submitting it to
ee.data.getValue()
. - Added support for calling static API methods using the
ClassName.methodName()
syntax. - Added support for calling
Filter
methods as statically. - Removed
ImageCollection.mosaic_()
, an internal method used to implementImageCollection.mosaic()
. - Fixed
ImageCollection.reduce()
so it can be called as an instance method.
2013-01-24
Web API
- BACKWARD INCOMPATIBLE Changed the exponentiation operator in
Image.expression()
from ^ to **. - Added support for bitwise operators |, &, ^, <<, >> (or, and, xor, left-shift, right-shift) in
Image.expression()
. - Added
Image.pixelArea()
, which creates an image whose pixel values are their area in meters. - Added
ImageCollection.mosaic()
, which creates simple last-on-top mosaics. - Added
ImageCollection.getRegion()
, which allows extracting pixel samples from an image collection as a table that includes coordinates, times and image IDs. - Added
Image.glcmTexture()
, which computes texture features from the gray-level co-occurrence matrix (GLCM). - Added prefix-less names to
Image
casting functions.Image.toFloat()
,Image.toByte()
, etc. are now also accessible asImage.float()
,Image.byte()
, etc. - Changed the Landsat TOA collections to retain
Image
metadata. - Changed JSON endpoints to always return results using the UTF-8 character encoding.
- Renamed
CombineCollectionBands()
toImageCollection.combine()
. The old name is deprecated. - Fixed the decoding of GeoJSON geometries with custom CRSs when passed to certain algorithms like
Image.clip()
. - Fixed
Image.reduceBands()
to be usable inside mapped functions. - Fixed a bug that caused certain complex mapping operations to fail with an Internal Server Error.
- Fixed
Feature.geometry()
failing when not provided all arguments. - Fixed a bug that caused an Internal Server Error when trying to enumerate a
FeatureCollection
explicitly requesting no columns. - Fixed handling of certain projections that can't be represented as standard WKT, such as EPSG:3571.
- Fixed a geometry handling bug that caused an Internal Server Error when checking for containment or intersection with certain complex geometries.
- Fixed
Collection.filter()
to no longer cause an Internal Server Error. It is now preferred overFilterFeatureCollection()
.
JavaScript API (v.0.0.4)
- Changed
Feature
constructors to allow specifying algorithm calls as geometry or properties.
Python API (v.0.0.4)
- Added
ee.variable()
andee.lambda_()
, which allow power users to chain Algorithms into server-side lambda functions. - Added support for passing native Python functions to
Collection.map()
. This has the same limitations as the JavaScript version, namely that the functions can't use imperative calls likegetValue()
and the result must not depend on any non-constant external state. - Added support for server-side lambdas (created using
ee.lambda_()
) toee.call()
andee.apply()
. - Added
Image.getThumbId()
which returns a token that can be used to retrieve a thumbnail of the image. - Added support for passing dates as milliseconds since the Unix epoch to date filters.
- Changed
Feature
constructors to allow specifying algorithm calls as geometry or properties. - Fixed
Image.getThumbnail()
, which returns the thumbnail image as a PNG byte buffer. - Fixed a bug that caused failing queries to raise
NameError
rather thanEEException
.