Satellite perimeters
Timestamped fire-perimeter polygons estimated from hotspot clusters.
deepfire:satellite-perimeters — fire perimeter polygons estimated from clusters of
satellite hotspots, current and historical (snapshots since June 2026). Geometry:
MultiPolygon (EPSG). Feature IDs: satellite-perimeters.<uuid>.
Each row is a timestamped snapshot: a cluster gets a new row whenever its perimeter geometry materially changes, and older snapshots are kept.
Attributes
| Property | Type | Notes |
|---|---|---|
id |
uuid | Feature key (surfaced as satellite-perimeters.<uuid>), per snapshot |
cluster_id |
uuid | Owning cluster — joins to deepfire:clusters |
computed_at |
timestamp (ISO 8601) | When the snapshot was computed |
observed_watermark |
timestamp, nullable | Satellite acquisition time of the latest hotspot fed in |
n_hotspots |
number | Detections used to build the polygon |
area_m2 |
number, nullable | Enclosed area (m²) |
perimeter_m |
number, nullable | Perimeter length (m) |
algo_version |
string | Algorithm version (e.g. circle-union-v2) |
active |
boolean | Whether the owning cluster is currently active |
Examples
Active perimeter snapshots in a bounding box (California):
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:satellite-perimeters/items" \
--data-urlencode "bbox=-125,32,-114,42" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=active = true" \
--data-urlencode "f=application/geo+json"
All snapshots for one fire (sort client-side by computed_at for the growth history):
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:satellite-perimeters/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=cluster_id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'" \
--data-urlencode "f=application/geo+json"
Full parameter reference: Get satellite perimeters.
