How much is gone
This is roughly what the region is down on balance between 1999 and 2023; retreat and growth offset against each other in net values.
- land taken by retreat
- land added by growth
- the difference
The two sides are far bigger than the difference between them.
Where the retreat comes from
Magnitude vs. Proportion: Share of coast that is retreating
The territories at the top of the previous plot are there because they have the longest coastlines. However, if we ask what share of a country's coastline is being retreating, we get a different story.
Nine hundred thousand people live on it
Overlaying population data on the shoreline record reveals which communities are exposed. For many Pacific island communities, the coastline is central to everyday life and livelihoods. People living near the shore often depend on coastal areas for fishing, transport, tourism, food, and access to essential services. Homes, roads, businesses, and community facilities are also concentrated along the coast, making changes to the shoreline particularly significant.
When coastlines retreat or shift, the impacts can extend beyond the loss of land, affecting where people live, how they work, and how communities connect with each other and the wider region.
Who lives along a changing coastline?
A 1 km² grid cell can encompass an entire small island. In countries only a few hundred metres wide, everyone falls within a coastal cell by definition. This is why these island nations appear close to 100% in coastal exposure, and why the second bar, showing the share of population near retreating coastlines. Each country requires a different interpretation. In most territories, the coastal strip is a border surrounding an interior. In some cases, there is no defined interior, either because it is too narrow for the grid, or because too little of its coast could be measured (see countries with caveats).
- lives inland
- lives on the coast
- lives where it retreats
- lives where it retreats more than 5 m/y
- with a caveat
—
Patterns of shoreline movement
Each tile displays a coastline and how it has shifted in recent years. Each one reveals unique geographical and movement patterns. A retreating coastline is traced in rust red, while an advancing one appears in a darker shade.
Open one to see its location and what is nearby.
How these were picked
The measurement points were snapped into two-kilometre cells of coast. A cell had to hold at least twenty good points — 600 metres of measured shore — each one moving clearly enough that its trend stands apart from the year-to-year wobble. Every cell whose points average five metres a year or more, in either direction, gets a glyph. That is 398 stretches of coast: 261 retreating and 137 growing. The grid shows the fastest hundred, every country combined; the drawer on page five breaks the full set down country by country instead.
Each tile is drawn straight from shorelines_annual: every year the record holds inside a window about five kilometres across, simplified only enough to draw. Nothing here is stylised, and no two tiles are the same shape.
Almost all of them are in one country. 374 of the 398 are Papua New Guinea, and most of those sit in the Fly delta and the Gulf of Papua, where rivers carrying some of the world's heaviest sediment loads shift their mouths every few years. Nowhere else in the Pacific has coast moving this fast in bulk: outside Papua New Guinea only two stretches retreat at this rate, and the rest are atoll and lagoon shores building outward.
A cell's figure is the average of its points, so a few fast ones can carry a stretch that is otherwise still. Where that happens — 46 of the 398 — the card says so and shows the median alongside. These are extremes, not the typical case: a tile moving sixty metres a year is almost always a river mouth rearranging itself, and often nobody lives there.
Explore the coastlines, find your patterns
Pick a measure and the region shades itself by it. Choose a country — from the map, the codes on it, or the chips — and everything below narrows to it: its share of the regional total, how its own coast is moving, the stretches of it the record singled out, and its coastline on the close-up map.
Click a territory on the map, or pick a code below.
—
Land that changed hands
How its coast is moving
Where it is going fastest
Read more
These are live, not curated searches: links the country's name and a few coastal terms to show whatever it returns. Expect unrelated hits where a place name is ambiguous, paywalls, dead links, and coverage that thins out sharply for the smaller territories.
Its own patterns
Every stretch of this country's coast moving at least five metres a year is drawn here — the same glyphs as page four, every annual shoreline the record holds at each one, oldest palest. Open any of them for where it is and who is near it.
How this was made
The build
Which tools were used? QGIS for a first look at the raw record; an R pipeline (sf, terra, DuckDB, dplyr) to turn it into numbers and tiles; plain JavaScript and hand-drawn SVG for every chart; MapLibre GL JS for the maps; httpuv to serve it all. One pipeline, each tool handing the next its output directly: QGIS for a first look → R reduces the raw archives to stats.json, GeoJSON layers and PMTiles tile archives → httpuv serves those files to the browser untouched → JavaScript reads them at runtime and draws the charts and maps. Nothing is exported, converted, or redrawn by hand in between.
This project is built as a plain web page: HTML, CSS and JavaScript, with no
front-end framework; served over httpuv, an R web server, by
app/serve.R. Keeping it framework-free means the page is a
set of files anyone can open and read; there is no build step and nothing compiled.
The interactive charts such as: bars, histograms, waterfalls are drawn directly
as SVG in JavaScript at runtime: each shape is computed straight from the same
stats.json the R pipeline writes, so a bar's height or a
histogram bin's width is the analysis itself, not a picture of it made somewhere
else. Drawing them by hand rather than through a charting library also means each one
can carry the marks the story needs: the woven registers, the caveat markers, the
annual shoreline traces. The coastlines tiles are pre-generated (one file per site), by an R script
(R/17_shoreline_glyphs.R) that traces every annual shoreline
straight out of the coastline record and writes it out as a static line drawing. The maps are MapLibre GL JS, an open-source WebGL renderer, reading vector and raster tiles from local PMTiles archives rather than from any hosted map service.
The supporting visuals were edited in QGIS; the measurement-point figure
on page one is a QGIS view of the shoreline record. Everything was integrated into the
page by an R pipeline (R/01 to
R/18, using sf, terra, DuckDB with its
spatial extension, and dplyr), which reduces the source archives to one small
stats.json, a set of GeoJSON layers and the tile archives the
maps read.
Coding assisted by Claude Code models: Claude Opus 5 and
Claude Sonnet 4.6.
Source code available on GitHub.
Data sources
Every figure and layer traces back to open, downloadable data. Shorelines and rates of change come from Digital Earth Pacific Coastlines v0.7.0‑55, built from Landsat imagery — annual shorelines 1999–2023 and 2.06 million rate‑of‑change points. Population is WorldPop 2020, constrained, 100 m grid (R2024B). Sea borders come from PacIOOS's Pacific Island EEZ boundaries, place names from OpenStreetMap, and aerial imagery from Esri World Imagery. The barkcloth photograph in the header is reproduced from The Fabric of Life: Early Polynesian barkcloth in context, National Museums Scotland, collection file reference pf1035670.