---
title: Satellite perimeters
description: 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:4326). 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.

:::warning[Estimates, not surveyed boundaries]
These perimeters are derived from satellite hotspot detections. They are **not** official
surveyed fire boundaries and should not be treated as authoritative for safety or legal
purposes.
:::

## Attributes

| Property             | Type                 | Notes                                                        |
| -------------------- | -------------------- | ------------------------------------------------------------ |
| `id`                 | uuid                 | Feature key (surfaced as `satellite-perimeters.<uuid>`), per snapshot |
| `cluster_id`         | uuid                 | Owning cluster — joins to [`deepfire:clusters`](/api/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](/api/clusters#the-active-lifecycle) |

## Examples

Active perimeter snapshots in a bounding box (California):

```bash
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):

```bash
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](/reference/satellite-perimeters/items-deepfire-satellite-perimeters).
