90. Query: Get SatelliteImagery Data by Geometry
Fetch vegetation-index statistics for any ad-hoc geometry - no registered field boundary required. This endpoint computes summary stats for pixels inside your geometry while ignoring cloudy pixels. Currently supported on Sentinel2 (S2) and Landsat (L4/L5/L7/L8/L9) providers.
This page follows GeoPard’s API patterns and authentication used across the GraphQL endpoints.
What you can do
Query vegetation indices for Point, MultiPoint, Polygon, and MultiPolygon geometries.
Choose imagery providers:
S2
,L4
,L5
,L7
,L8
,L9
.Get date-stamped results per acquisition with:
cloudfree
- fraction of your geometry that’s cloud-free, range of values from 0 to 1, where 1 means fully cloud-free.value
- statistics for the selected index computed only on cloud-free pixels, includesmin
,max
,avg
,mdn
,var
,std
.
Supported indices
EVI2
, NDVI
, RVI
, LAI
, OSAVI
, SAVI
, GNDVI
, IPVI
, GCI
, WDRVI
, RCI
, SBI
, MCARI1
. Index definitions follow GeoPard’s vegetation index catalog used throughout the API.
Input parameters
index
Enum (see above)
✅
Vegetation index to compute.
providers
[Provider!]!
✅
Any of S2
, L4
, L5
, L7
, L8
, L9
.
startDate
String (ISO8601)
✅
Inclusive start, e.g. "2025-05-10T00:00:00.000Z"
.
endDate
String (ISO8601)
✅
Exclusive end or inclusive end depending on schema; match your other GeoPard queries.
geojson
String
✅
A stringified GeoJSON of type Point
/ MultiPoint
/ Polygon
/ MultiPolygon
(WGS84 [lon, lat]
). Remember to escape the quotes inside the string.
Performance guidance
For Polygon/MultiPolygon geometries, keep date ranges tight (~10–15 days) due to processing time.
Timeout: 30 s. Use fewer days and/or fewer providers if you hit the limit.
For Point/MultiPoint, larger ranges are usually fine (points are lightweight).
Response shape
graphqlCopyEdit{
geojson # echo of your input geometry (stringified)
data: [
{
uuid # raster scene id
provider # S2, L8, L9, ...
acquisitionDate # ISO8601
cloudfree # 0..1 fraction of cloud-free area
value: {
index # e.g., NDVI
min
max
avg
mdn
var
std
}
}
]
}
Example 1: MultiPolygon with MCARI1 on S2/L8/L9 within a 5-day window
query GetSatelliteImageryDataByMultiPolygon {
getSatelliteImageryDataByGeometry(
input: {
index: MCARI1 # set index here
providers: [S2, L8, L9] # satellite providers
startDate: "2025-05-10T00:00:00.000Z" # polygons: prefer 10–15 days; 30s timeout
endDate: "2025-05-15T00:00:00.000Z"
geojson: "{\"type\": \"MultiPolygon\", \"coordinates\":[ [ [ [ 8.09058546, 50.21774961 ], [ 8.09291004, 50.21836077 ], [ 8.09328559, 50.21844893 ], [ 8.09341412, 50.21777585 ], [ 8.09342329, 50.21768228 ], [ 8.09342736, 50.21748691 ], [ 8.09342239, 50.21741988 ], [ 8.09331503, 50.2169872 ], [ 8.09327725, 50.21680672 ], [ 8.0932114, 50.21679383 ], [ 8.09307662, 50.216784 ], [ 8.09268795, 50.21672443 ], [ 8.09256905, 50.21670175 ], [ 8.09160986, 50.21647789 ], [ 8.09153097, 50.21647138 ], [ 8.09144745, 50.216479 ], [ 8.09128792, 50.21653615 ], [ 8.09124139, 50.21654808 ], [ 8.09119362, 50.21655407 ], [ 8.09085379, 50.21653536 ], [ 8.09039423, 50.21649463 ], [ 8.09006609, 50.21646137 ], [ 8.08994025, 50.21644261 ], [ 8.08956206, 50.21636986 ], [ 8.08937343, 50.21632184 ], [ 8.08881276, 50.21616093 ], [ 8.08860924, 50.21608589 ], [ 8.08848952, 50.21605007 ], [ 8.08841856, 50.21616403 ], [ 8.08836721, 50.2162167 ], [ 8.08830625, 50.21626762 ], [ 8.08801583, 50.21648103 ], [ 8.08783363, 50.21660479 ], [ 8.08757577, 50.21677569 ], [ 8.08741435, 50.21686857 ], [ 8.08769592, 50.21696741 ], [ 8.08853411, 50.21720846 ], [ 8.08965086, 50.2174967 ], [ 8.09058546, 50.21774961 ] ] ] ]}"
}
) {
geojson
data {
uuid
provider
acquisitionDate
cloudfree # 0..1
value { # stats computed on cloud-free pixels only
index
min
max
avg
mdn
var
std
}
}
}
}
Example 2: MultiPoint with NDVI on S2/L8/L9 over a 5-day window
query GetSatelliteImageryDataByMultiPoint {
getSatelliteImageryDataByGeometry(
input: {
providers: [S2, L8, L9]
index: NDVI
startDate: "2025-05-10T00:00:00.000Z" # points are lightweight; larger windows OK; 30s timeout
endDate: "2025-05-15T00:00:00.000Z"
geojson: "{\"type\": \"MultiPoint\", \"coordinates\": [[8.088754, 50.216859],[8.092651, 50.216905],[ 8.090799, 50.217442]]}"
}
) {
geojson
data {
uuid
provider
acquisitionDate
cloudfree
value {
index
min
max
avg
mdn
var
std
}
}
}
}
Last updated
Was this helpful?