About the series
Twenty sheets, one tree at a time.
A Portrait of Paris Through Trees is a series of twenty posters, one for each arrondissement, generated from the City of Paris’s public tree census. Every one of the 176,193 recorded trees inside the périphérique appears exactly once across the series — as a single small mark, and nothing more.
How data becomes form
Each mark is drawn from five properties of a real tree. Its position on the sheet is the tree’s true geographic position, normalized to the arrondissement’s bounds with north kept upward. The length of the mark follows the tree’s recorded height, its stroke weight the circumference of the trunk, and its ink — or, in the monochrome edition, its symbol — the botanical family of its genus. Trees officially classed as remarkable are ringed; young trees sit back a little, mature ones press forward.
Measurements are clamped to a plausible urban range (2–30 m of height, 20–400 cm of girth) so that mis-keyed entries cannot dominate a composition, and every visual variation flows from a seeded, deterministic generator: the same settings always draw the same sheet.
The weather
Each sheet also carries a seeded wind — a smooth field of noise, in the tradition of plotter artists like Matt DesLauriers. Under a breeze or a gale, every stroke is traced through that field: it sways off its vertical, its root drifts a hair’s breadth, its length flutters. Stranger weathers exist too: a current that combs the whole district one way, a vortex that circulates around its geographic center, a tremor that shivers at a hand’s frequency. The deviations are read from the field at each tree’s own position, never from chance at draw time, so the same seed always blows the same storm — and still returns the sheet to plain surveyed lines.
Two underlays can sit beneath the marks. Canopy contours are the same trees drawn a second way: a density field of the census, traced as faint topographic iso-lines. Wind streams make the sheet’s weather itself visible — streamlines ridden through the very field that bends the marks. One layer is data, the other is weather; neither invents a tree.
The source
The data is the “Les arbres” dataset from Paris Open Data, downloaded July 2026 and preprocessed into one file per arrondissement. The census covers trees managed by the city — street alignments, parks, cemeteries, schools — not every tree in private courtyards. The Bois de Boulogne and Bois de Vincennes are inventoried separately in the source and are left outside these twenty sheets.
What the data cannot say
- Some trees lack a height or girth measurement; they are drawn at a modest fallback size rather than omitted, and each poster’s footer counts them.
- The current edition of the dataset no longer publishes planting dates or botanical families; families are derived here from the genus.
- Heights are recorded to the metre by surveyors, not measured by instrument — the posters inherit that roughness.
Why not a map
The sheets keep the spatial truth of the census — avenues surface as lines of planes, parks as dense clouds — but they draw no streets, no river, no boundaries. A map explains a city; these posters only listen to where its trees happen to stand. The composition each arrondissement makes is its own: inherited from centuries of planting decisions, and different on every sheet.
Rebuild the data with npm run data:build — the pipeline is documented in the repository README.