Raster
Gridded raster retrieval and custom data services.
Timeseries Point
Supports queries against OpenET's raster datasets for timeseries data summarized for a single point.
Provides support for queries against the OpenET raster datasets summarized a point.
Raster timeseries point model class.
falsemmSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/timeseries/point' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2020-01-01",
"2020-12-31"
],
"interval": "monthly",
"geometry": [
-121.36322,
38.87626
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm",
"file_format": "JSON"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2020-01-01",
"2020-12-31"
],
"interval": "monthly",
"geometry": [
-121.36322,
38.87626
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm",
"file_format": "JSON"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/timeseries/point"
)
print(resp.json())Timeseries Polygon
Provides support for queries against OpenET's raster datasets summarized for a polygon specified by a list of longitude latitude pairs.
Provides support for queries against the OpenET raster datasets summarized for a polygon.
Raster timeseries polygon model class.
falsemmSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/timeseries/polygon' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2021-01-01",
"2021-12-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "SIMS",
"variable": "ETo",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"file_format": "JSON"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2021-01-01",
"2021-12-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "SIMS",
"variable": "ETo",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"file_format": "JSON"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/timeseries/polygon"
)
print(resp.json())Timeseries Multipolygon
Provides support timeseries queries against OpenET's raster datasets summarized for multiple polygons specified by an Earth Engine asset ID or temporary uploaded GeoJSON file. For more information on Earth Engine assets, see the Earth Engine page.
The results of this endpoint will generate a 5 minute retrieval link for a .CSV file. Each request will include the spatial aggregation of your choice with the area and volume of each polygon. See FAQ for requirements for an asset ID.
For large regions, please use Export Multipolygon.
Provides support for queries against the OpenET raster datasets summarized for multiple polygons.
Raster timeseries multipolygon model class.
falsemmSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/timeseries/multipolygon' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2019-01-01",
"2019-12-31"
],
"interval": "monthly",
"asset_id": "projects/openet/api_demo_features",
"attributes": [
"id"
],
"reducer": "mean",
"model": "ptJPL",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2019-01-01",
"2019-12-31"
],
"interval": "monthly",
"asset_id": "projects/openet/api_demo_features",
"attributes": [
"id"
],
"reducer": "mean",
"model": "ptJPL",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/timeseries/multipolygon"
)
print(resp.json())GeoTIFF Composite
Allows the user to define a region of interest and request a subset of OpenET's monthly raster datasets as a single temporal aggregated composite raster GeoTIFF. Each image will be clipped to the geometry provided and have a maximum return size of 32 MB. Note, asset_id can be used in place of geometry. See FAQ for requirements for an asset ID.
The results of this endpoint will generate a 5 minute retrieval link for a .TIFF file. Data return is in a JSON format.
For large regions use Export Composite.
Provides support for queries against the OpenET monthly raster datasets summarized as a composite GeoTIFF.
Raster geotiff composite model class.
0mmSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/geotiff/composite' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2018-01-01",
"2018-06-30"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "PTJPL",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2018-01-01",
"2018-06-30"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "PTJPL",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/geotiff/composite"
)
print(resp.json())GeoTIFF Stack
Allows the user to define a region of interest and request a subset of OpenET's raster datasets as multiple stacks of raster GeoTIFFs. Each image will be clipped to the geometry provided and have a maximum return size of 32 MB. Note: asset_id can be used in place of geometry. See FAQ for requirements for an asset ID.
The results of this endpoint will generate 5 minute retrieval links for a list of .TIFF files. Data return is in a JSON format.
For large regions use Export Stack endpoint.
Provides support for queries against the OpenET raster datasets summarized for a stack of GeoTIFFs.
Raster geotiff stack model class.
false0mmSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/geotiff/stack' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2020-01-01",
"2020-03-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "EEmetric",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2020-01-01",
"2020-03-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "EEmetric",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/geotiff/stack"
)
print(resp.json())Export Composite
Allows the user to define a region of interest and export a subset of OpenET's monthly raster datasets as a single temporal aggregated composite raster GeoTIFF. Each image will be clipped to the geometry provided. Note, asset_id can be used in place of geometry. See FAQ for requirements for an asset ID.
Data return in JSON format includes:
Tracking identifier
Encryption boolean
Generated file name
To track your file, see the Export File Tracking endpoint. To retrieve your exported files, use the Account Storage endpoint. If your account is linked with Earth Engine, the exported files by default will be found in the OpenET Exports folder in the root of your Google Drive. If the bucket parameter is passed to override the export location to a private bucket, the export will go their instead if it is shared properly. For more detailed information on data exporting, see the FAQ.
Provides export support for large queries against the OpenET monthly raster datasets summarized as a monthly composite GeoTIFF.
Raster geotiff export model class.
mmfalseOpt for a cloud optimized version
falseOpenET Exports0Successful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/export/composite' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2018-01-01",
"2018-06-30"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "DisALEXI",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"encrypt": false
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2018-01-01",
"2018-06-30"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "DisALEXI",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"encrypt": False
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/export/composite"
)
print(resp.json())Export Stack
Allows the user to define a region of interest and export a subset of OpenET's raster datasets as multiple stacks of raster GeoTIFFs. Each image will be clipped to the geometry provided. Note, asset_id can be used in place of geometry. See FAQ for requirements for an asset ID.
Data return in JSON format includes:
Tracking identifier
Encryption boolean
Generated file name
To track your file, see the Export File Tracking endpoint. To retrieve your exported files, use the Account Storage endpoint. If your account is linked with Earth Engine, the exported files by default will be found in the OpenET Exports folder in the root of your Google Drive. If the bucket parameter is passed to override the export location to a private bucket, the export will go their instead if it is shared properly. For more detailed information on data exporting, see the FAQ.
Provides export support for large queries against the OpenET raster datasets summarized as a stack of GeoTIFFs.
Raster geotiff stack export model class.
false0mmfalseOpt for a cloud optimized version
falseOpenET ExportsSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/export/stack' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2020-01-01",
"2020-03-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "EEmetric",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm",
"encrypt": false
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2020-01-01",
"2020-03-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "EEmetric",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm",
"encrypt": False
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/export/stack"
)
print(resp.json())Export Multipolygon
Provides support for large timeseries queries against OpenET's raster datasets summarized for multiple polygons specified by an Earth Engine asset ID or temporary uploaded GeoJSON file. For more information on Earth Engine assets, see the Earth Engine page and see FAQ for requirements for an asset ID.
Data return in JSON format includes:
Tracking identifier
Encryption boolean
Generated file name
To track your file, see the Export File Tracking endpoint. To retrieve your exported files, use the Account Storage endpoint. If your account is linked with Earth Engine, the exported files by default will be found in the OpenET Exports folder in the root of your Google Drive. If the bucket parameter is passed to override the export location to a private bucket, the export will go their instead if it is shared properly. For more detailed information on data exporting, see the FAQ.
Provides export support for large queries against the OpenET raster datasets summarized for multiple polygons.
Raster timeseries multipolygon export model class.
falsemmfalseOpenET ExportsSuccessful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/export/multipolygon' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2019-01-01",
"2019-12-31"
],
"interval": "monthly",
"asset_id": "projects/openet/api_demo_features",
"attributes": [
"id"
],
"model": "ptJPL",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"encrypt": false
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2019-01-01",
"2019-12-31"
],
"interval": "monthly",
"asset_id": "projects/openet/api_demo_features",
"attributes": [
"id"
],
"model": "ptJPL",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "mean",
"units": "mm",
"encrypt": False
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/export/multipolygon"
)
print(resp.json())Export File Tracking
Provides support for tracking OpenET export queries. If the job is found it will return one of four states, the export type, and attempt number:
UNSUBMITTEDRUNNINGSUCCEEDEDFAILED
Once an export state returns SUCCEEDED you may use the Account Storage endpoint to retrieve the link within 7 days. If your account is linked with Earth Engine the export will be found in the OpenET Exports folder in the root of your Google Drive.
If a job has FAILED you will see the error field in the return with details. If you are using a custom bucket to override the default export location, you must set the IAM permission of the bucket correctly or the job will fail to write (see the FAQ). If you experience continued failed requests contact OpenET support.
Take a look at how you might call this method:
curl -X 'GET' \
'https://openet-api.org/raster/export/track?tracking_id=YOUR_TRACKING_ID' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"tracking_id": YOUR_TRACKING_ID
}
# query the api
resp = requests.get(
headers=header,
params=args,
url="https://openet-api.org/raster/export/track"
)
print(resp.json())Raster Metadata
Exposes metadata as a JSON from an OpenET raster dataset summarized for a region specified by the user. Results will vary based on the collection being queried. An example set is shown below:
Response Fields:
model_name: Name of the OpenET model used, e.g., "openet-geesebal".model_version: Version of the OpenET model, e.g., "0.2.2".tool_name: Name of the tool used for data processing, e.g., "scene_interpolate_mgrs_export".tool_version: Version of the tool used, e.g., "0.2.1".core_version: Core version of the OpenET system, e.g., "0.1.2".start_date,end_date: Date range for the dataset period.interp_method: Interpolation method used, e.g., "LINEAR".interp_days: Number of days for interpolation, e.g., 32.cloud_cover_max: Maximum cloud cover percentage allowed in the dataset, e.g., 70.scale_factor_et,scale_factor_count: Scaling factors used for evapotranspiration (ET) and other counts.et_reference_band: Reference band used for ET calculation, e.g., "eto".et_reference_resample: Resampling method used for ET reference, e.g., "nearest".et_reference_factor: Scaling factor for ET reference.build_date: The date on which the data was ingested into the system, inYYYY-MM-DDformat.mgrs_tile: MGRS tile code for the region queried.
Special: The build_date result will be the date of the most recent update from OpenET to the source collection. Note, this may be called date_ingested for older collections.
Provides support for queries against the OpenET raster metadata.
Raster metadata model class.
Successful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/metadata' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "geeSEBAL",
"variable": "ET",
"reference_et": "gridMET"
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "geeSEBAL",
"variable": "ET",
"reference_et": "gridMET"
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/metadata"
)
print(resp.json())Tile Cache
Returns a map id and token in JSON format, suitable for generating a map overlay from an OpenET raster dataset. Generated cache will expire after 2 hours. Supports super sampling of ET data up to 10x10m pixels.
Provides support for dynamic tile generation from OpenET's raster datasets.
Raster tile cache model class.
mm0Successful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/visual/tile_cache' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2021-10-01",
"2021-11-05"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "sum",
"units": "mm",
"resample": 0,
"gradient": {
"min": 0,
"max": 100,
"palette": [
"#9e6212",
"#dcdd45",
"#44b36c",
"#2a3f65"
]
}
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2021-10-01",
"2021-11-05"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "sum",
"units": "mm",
"resample": 0,
"gradient": {
"min": 0,
"max": 100,
"palette": [
"#9e6212",
"#dcdd45",
"#44b36c",
"#2a3f65"
]
}
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/visual/tile_cache"
)
print(resp.json())Animation
Use an OpenET raster dataset to create an 900x900px .gif animation and film strip of corresponding images accessible by temporary url for 2 hours. Supports super sampling of data in 10 meter intervals up to 10x10m pixels.
Provides support for gif and image animation from OpenET's raster datasets.
Raster animation model class.
mm0Successful Response
Validation Error
No content
Take a look at how you might call this method:
curl -X 'POST' \
'https://openet-api.org/raster/visual/animate' \
-H 'accept: application/json' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"date_range": [
"2021-10-01",
"2021-11-05"
],
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"reducer": "sum",
"units": "mm",
"resample": 0,
"gradient": {
"min": 0,
"max": 100,
"palette": [
"#9e6212",
"#dcdd45",
"#44b36c",
"#2a3f65"
]
}
}'import requests
# set your API key before making the request
header = {"Authorization": YOUR_API_KEY}
# endpoint arguments
args = {
"date_range": [
"2021-01-01",
"2021-12-31"
],
"interval": "monthly",
"geometry": [
-121.00747,
44.2442,
-121.00747,
44.24742,
-121.00295,
44.24742,
-121.00295,
44.24422
],
"model": "Ensemble",
"variable": "ET",
"reference_et": "gridMET",
"units": "mm",
"resample": 0,
"gradient": {
"min": 0,
"max": 100,
"palette": [
"#9e6212",
"#dcdd45",
"#44b36c",
"#2a3f65"
]
}
}
# query the api
resp = requests.post(
headers=header,
json=args,
url="https://openet-api.org/raster/visual/animate"
)
print(resp.json())Last updated
