AI-generated Key Takeaways
-
getInfo()
retrieves the value of a server-side ComputedObject (like ee.Date) and transfers it to the client. -
It returns an object containing the computed value, with synchronous or asynchronous behavior depending on the presence of a callback function.
-
Asynchronous requests, typically made with
evaluate()
, are preferred to avoid blocking other code execution. -
The returned object, when dealing with dates, contains
type
andvalue
keys, wherevalue
represents milliseconds since the Unix epoch. -
While
getInfo()
facilitates client-side data interaction, server-side operations are generally recommended for better performance and efficiency.
If no callback function is provided, the request is made synchronously. If a callback is provided, the request is made asynchronously.
The asynchronous mode is preferred because the synchronous mode stops all other code (for example, the EE Code Editor UI) while waiting for the server. To make an asynchronous request, evaluate() is preferred over getInfo().
Returns the computed value of this object.
Usage | Returns |
---|---|
Date.getInfo(callback) | Object |
Argument | Type | Details |
---|---|---|
this: computedobject | ComputedObject | The ComputedObject instance. |
callback | Function, optional | An optional callback. If not supplied, the call is made synchronously. |
Examples
Code Editor (JavaScript)
/** * WARNING: this function transfers data from Earth Engine servers to the * client. Doing so can negatively affect request processing and client * performance. Server-side options should be used whenever possible. * Learn more about the distinction between server and client: * https://developers.google.com/earth-engine/guides/client_server */ // A server-side ee.Date object. var dateServer = ee.Date('2021-4-30'); // Use getInfo to transfer server-side date to the client. The result is // an object with keys "type" and "value" where "value" is milliseconds since // Unix epoch. var dateClient = dateServer.getInfo(); print('Client-side date is an object', typeof dateClient); print('Object keys include "type" and "value"', Object.keys(dateClient)); print('"value" is milliseconds since Unix epoch', dateClient.value); print('Client-side date in JS Date constructor', new Date(dateClient.value));
import ee import geemap.core as geemap
Colab (Python)
""" WARNING: this function transfers data from Earth Engine servers to the client. Doing so can negatively affect request processing and client performance. Server-side options should be used whenever possible. Learn more about the distinction between server and client: https://developers.google.com/earth-engine/guides/client_server """ from datetime import datetime # A server-side ee.Date object. date_server = ee.Date('2021-4-30') # Use getInfo to transfer server-side date to the client. The result is # a dictionary with keys "type" and "value" where "value" is milliseconds since # Unix epoch. date_client = date_server.getInfo() print('Client-side date is a dictionary:', type(date_client)) print('Dictionary keys include "type" and "value":', date_client.keys()) print('"value" is milliseconds since Unix epoch:', date_client['value']) print('Client-side date in Python:', datetime.fromtimestamp(date_client['value'] / 1000))