# Forest Watch — Koh Phangan, Surat Thani, Thailand
### A satellite screening study for possible forest change, with a priority list for field checks

We used freely available Sentinel-2 satellite images from 2019 and 2026 to look for places where
tree cover may have decreased around Than Sadet–Ko Pha-ngan National Park.

The main result is **a ranked list of places for a person to check**, rather than a claim that
forest has been cleared.

The main uncertainties are shown alongside the results rather than hidden.

---

## 1. What we did

| Step | What was done |
|---|---|
| **Satellite images** | Sentinel-2 L2A, 10 m pixels, freely available through Copernicus via AWS `sentinel-cogs` |
| **Area covered** | MGRS tiles **47PNL** + **47PPL**, covering Koh Phangan. Both were combined for the analysis. |
| **2019 and 2026 images** | About five clear dry-season images per tile for each year. Clouds were masked out and the remaining images were combined into one image for each year (a median composite). This reduces differences between individual satellite images, but does **not** remove differences between years. |
| **Finding possible change** | We calculated NDVI, a standard measure of vegetation greenness, for each year and compared them. Places with a large enough decrease were grouped into possible change locations. |
| **Minimum site size** | 10 pixels = **0.1 ha** (`MINPX=10`). Smaller or scattered changes remain in the underlying pixel-level result but are not listed as individual field sites. This is a mapping threshold, **not a detection limit**. |
| **Signal strength** | Each site is rated High or Medium from the size of the area and the average decrease in NDVI. **This rating describes the strength and size of the satellite signal — it does not mean that clearing has been confirmed.** |
| **Park boundary** | We used the best available mapped boundary as an approximation. See section 3 for why this is the main limitation. |
| **Final output** | 18 possible change locations, an interactive before/after map, and a ranked list for field verification. |

### What we deliberately did not do

We did **not** use a machine-learning classifier, automatically decide whether anything was
illegal, or try to work out what caused each change.

The output is a **question for a person to investigate**, not an automated finding.

---

## 2. What we found

The different area figures below describe different things, so they are kept separate.

| Measure | Result |
|---|---|
| **Area analysed** | **5,398 ha** — the part of the mapped boundary covered by the imagery (section 3) |
| **Mapped possible change** | **31.2 ha** across **18 sites**, each at least 0.1 ha |
| **Smaller or scattered signals** | **~26.6 ha** of pixel-level change that was too scattered to turn into individual sites |
| **Combined pixel total** | **57.8 ha** |
| **Possible change locations unaffected by the boundary test** | **14.8 ha** across 9 sites (section 3) |

The **57.8 ha figure is simply the sum of the two types of satellite signal above it.**

It should **not** be described as 57.8 ha of forest loss or clearing.

The 31.2 ha is the combined area of the 18 mapped possible-change locations. The additional 26.6 ha consists of
smaller or scattered pixel-level decreases that were not promoted to individual sites.

This distinction matters because scattered, small changes are where false positives are more
likely to occur.

---

## 3. Main limitation: the park boundary

**We could not find a reliable public digital map of the legal park boundary.**

We therefore use the best available mapped boundary as an approximation and test how much the
results change if that line is wrong by 100, 250 or 500 metres.

Sites that are sensitive to this uncertainty are kept separate from sites that remain inside the
mapped area under the test.

| If the boundary is wrong by | Sites unaffected | Sites that could move in or out |
|---|---|---|
| 100 m | 15 sites / 22.1 ha | 3 sites / 9.1 ha |
| **250 m** | **9 sites / 14.8 ha** | **9 sites / 16.5 ha** |
| 500 m | 4 sites / 4.9 ha | 14 sites / 26.3 ha |

At 250 m, **half of the 18 sites could change classification simply because the true park
boundary may differ from the mapped line.**

That is why the field list separates the sites rather than pretending the boundary is certain.

The largest site is **7.41 ha** and is only **61 m from the mapped boundary**, so it is
particularly sensitive to this issue.

### Why the boundary is uncertain

The study uses **OpenStreetMap relation 7175753**, which itself states that its borders are not
exact.

The relation measures approximately **63.1 km²**, compared with a legal park area commonly cited
as **43 km²**. It is therefore roughly 47% larger than the cited legal area.

It is also a 10-part multipolygon extending well beyond the main Than Sadet area. Only the main
body corresponds to the Than Sadet massif; three parts fall entirely outside the satellite imagery
used here.

For this reason, when this study says **“inside the boundary”**, it means:

> **inside the imaged Koh Phangan portion of the mapped relation.**

The official legal source is a Royal Gazette decree map dated 22 November 2018, but the available
map is a scan. Producing a true digital legal boundary would require georeferencing that map
rather than simply downloading an existing GIS file.

### What about the WDPA?

We also checked the UNEP-WCMC World Database on Protected Areas.

The previously cited **WDPA #317238 does not exist** in the checked services. Queries of the
relevant polygon and point layers returned no such feature.

A spatial query over Koh Phangan returned one protected area: **Suratthani Environmental Protected
Area B.E. 2015**, an IUCN VI area covering approximately 3,519 km². This is a province-scale
protected area and is not a usable boundary for Than Sadet–Ko Pha-ngan National Park.

---

## 4. Second limitation: two years cannot tell us everything

This study compares **one 2019 satellite composite with one 2026 composite**.

That makes it useful for looking for possible changes between those two periods, but it has an
important limitation:

**A difference between the two years is not necessarily caused by forest clearing.**

Weather can change the appearance of vegetation. For example, a drier year can produce a lower
vegetation signal even when no clearing has happened.

Using the same dry-season period in both years makes the comparison more consistent, but it does
**not** remove differences in rainfall and other conditions between years.

This study accepts that limitation because it is deliberately scoped as **abrupt change
screening**, not a study of long-term vegetation decline.

A proper vegetation-trend study would require a longer time series and rainfall-normalised
analysis such as rainfall-use efficiency or RESTREND. That would be a different piece of work.

### Other things that can produce a similar satellite signal

The method cannot reliably distinguish between:

- seasonal or drought-related vegetation changes
- cloud or terrain shadow
- exposed soil
- fire
- agriculture or plantation cycles
- harvesting
- temporary clearing
- construction or roads
- selective logging that does not produce a strong spectral signal

This is another reason the result is a **field-check list rather than a finding**.

The satellite can tell us:

> **“Something here looks different.”**

It cannot reliably tell us:

> **“This was illegal forest clearing.”**

---

## 5. What the study actually produces

The main output is not simply a map.

It is a **decision about where to look first**.

The 18 sites are ranked by **how reliable each one is to act on**, rather than by area alone.

### Tier 1 — check first

**7 sites · 13.1 ha**

Clearly inside the mapped area and showing a strong satellite signal. Under the 250 m boundary
test, these sites remain inside the mapped area.

### Tier 2 — check next

**2 sites · 1.6 ha**

Clearly inside the mapped area, but with a weaker satellite signal.

### Tier 3 — boundary uncertain

**9 sites · 16.5 ha**

Within 250 m of the approximate boundary. Resolve the boundary question before treating their
park status as reliable.

The ranking gives more weight to **signal strength and distance from the uncertain boundary** than
to area alone.

A ranger could reasonably choose a different order depending on the operational priority — for
example, certainty, severity, accessibility, or available patrol time.

The important thing is that the rule is explicit, so it can be **questioned, changed or replaced**.

### Before going into the field

Each site has coordinates that can be opened directly in Google Earth or another mapping
application.

This allows someone to inspect **higher-resolution imagery and the surrounding area** before
deciding whether a field visit is worthwhile.

All 18 sites are also available as a **KML file (`sites.kml`)**, grouped by tier. This allows them
to appear as named locations in Google Earth, QGIS or another compatible mapping application.

### Adding observations of your own

The interactive viewer also allows a reader to add their own pins anywhere on the island.

These observations are **separate from the satellite analysis**. They are not used to create or
change the detected sites.

Observations can be exported as **CSV, KML or GPX**. The KML and GPX exports include the detected
sites for context, so an observation can be compared with the satellite results and taken into
another mapping or GPS application.

### The complete operational chain

The intended workflow is:

> **Satellite image finds a possible change → person checks higher-resolution imagery → ranger decides whether to visit → field result comes back and tests the method.**

The field protocol records one of three outcomes:

**Confirmed · Not confirmed · Cannot tell**

A *not confirmed* result is not a failure.

It is useful because it tells us that the satellite signal did not match what was found on the
ground. Enough of these results would show that the detection method needs to be changed or its
limitations better understood.

That feedback is what turns a satellite screening exercise into something that can eventually be
**tested against reality**.

---

## 6. Reproducibility

The analysis is designed so that the numbers and outputs shown on the site come from the same underlying
calculations.

The pure-Python stages (`09`, `10`, `11`, `12`) run on a system Python installation without
additional dependencies.

The raster-processing stages use a Python 3.12 virtual environment because `rasterio` does not
currently have a Python 3.14 wheel.

The derived figures are stored in one file generated by the script responsible for the boundary
calculations.

The viewer reads those derived results rather than calculating its own versions. It refuses to run
without the expected results file, so that the notes, CSV and viewer cannot silently drift apart.

The project is an **independent proof-of-capability exercise**. It was not commissioned or
peer-reviewed.

---

## Appendix · Technical boundary note

The boundary problem described in section 3 is based on the following checks:

- **OpenStreetMap relation 7175753** is the mapped boundary used in the study. It self-tags that
  its borders are not exact and measures approximately **63.1 km²**, compared with a commonly
  cited legal area of **43 km²**.
- The relation is a **10-part multipolygon** extending approximately 30 km west and 15 km north of
  the island. Only the main body corresponds to the Than Sadet massif. Three parts fall entirely
  outside the imagery. This is why the analysed area is **5,398 ha rather than 6,312 ha**.
- **WDPA #317238 does not exist** in the checked UNEP-WCMC services. Polygon and point layers were
  queried, as well as a spatial query over the island. The only returned protected area was
  *Suratthani Environmental Protected Area B.E. 2015*, IUCN VI, approximately 3,519 km².
- The legal source is the **Royal Gazette decree map of 22 November 2018**. It is available as a
  scan rather than a ready-to-use digital boundary. Turning it into a GIS boundary would require
  georeferencing the map.

---

## Appendix · Still open to challenge

This brief was independently reviewed and revised. The wording and presentation of sections 1 to 5
reflect that review.

Two questions remain genuinely open:

### 1. Does the 26.6 ha diffuse signal help or confuse?

The figure is clearly labelled as pixel-level signal rather than forest loss. It is included for
transparency, but there is a real communication trade-off:

**Does showing the number help someone understand the analysis, or does it make it more likely
that the reader walks away remembering “57.8 ha”?**

The project deliberately leaves that question open rather than hiding the number.

### 2. Where is the honest limit of the method?

The two-epoch approach is useful for screening possible abrupt change.

It should **not** be stretched into claims about gradual forest decline.

Doing that would require a different analysis, based on a longer time series and additional
environmental data.

The useful boundary of this project is therefore quite simple:

> **Find places that look different. Rank them. Let a person check. Learn from what the person finds.**

---

### Project links

- [Priority list](field-priority.html) — the 18 locations in field-check order
- [Interactive map](viewer.html) — compare the satellite images and add observations
- [KML](sites.kml) — all 18 detected sites, grouped by tier
- [Raw Markdown](brief.md) — source version of this brief
