Working Models · Spatial

Folding San Francisco's Parks

In 2019 and 2020 I flew a mapping drone over the parks and landmarks of San Francisco. Fifteen of those flights cover the twelve places in this map, nearly 7,800 photographs, each one tagged with where it was taken. Reconstructing San Francisco is the case study for turning those photographs into models. This note is about the next question: what happens if you could walk from one to the next?

Each model is its own island. Duboce Park is one file, the Palace of Fine Arts another. In the real city they sit nine kilometres apart across the long axis, and almost nothing between them was captured. A game engine can load them one at a time as separate levels, which works and feels like a slideshow. I wanted one continuous place you explore freely.

The rules

The map does not have to be true. It has to be believable. These were the rules I set, close to how I said them:

  • The streets are invented. The streets of San Francisco are unusually consistent and generally forgettable, so the blocks between parks can be photoreal fill.
  • Distances shrink to a block or two. It should fit together like a puzzle.
  • Directions mostly hold. I started with strict compass order and loosened it the same day. We are defying reality anyway, so keep the general direction as best as you can.
  • Every piece is closed. Each park is sealed at its edges and opens only onto a corridor to the next.

The fold

The layout came from the GPS in the photographs. Each place became a footprint in metres, and the footprints were slid toward each other until the gaps were street-sized. The result is above: twelve places in eleven closed pieces, because the Botanical Garden and the Music Concourse already overlap and share one. Nine straight corridors join them, 110 to 170 metres each, about 1.2 kilometres of invented street in all, with one loop and four dead ends.

Two maps at the same scale. On the left, twelve small park footprints scattered across a wide area. On the right, the same footprints packed tightly together, joined by short orange corridors.
The same twelve places at the same scale, as flown and folded.

Only three of the 55 pairs of pieces turn by more than 45 degrees from their real bearing. The Palace of Fine Arts now sits west of Alamo Square, Sutro Baths north of Golden Gate Park, and Dolores Park north-east of the Castro Theatre. Buena Vista, Corona Heights and the Castro Theatre needed no folding at all, and are joined as they are in the city. With Duboce Park, those four already sit within 250 metres of each other, so that cluster is where a visitor should start.

What it taught me

The data knew more than the labels. One flight was named Legion of Honor in every folder it lived in. Its GPS and its model both show Sutro Baths, about a kilometre away. There is no capture of the Legion of Honor at all, and the case study was corrected the same day.

The second lesson was about form. Splats, the soft point clouds that make the reconstructions look photographic, are beautiful from a single viewpoint or down a short corridor. A place you walk through needs mesh. So the continuous map is mesh, and splats are reserved for viewpoints and enclosed corridors.

All twelve places already have a textured mesh, about 39 million triangles in total. Eleven of them already sit as level scenes in Wellspring, the VR game I built from these models between 2020 and 2024. Only the Botanical Garden was never brought in. The labels misled here too. For eight of the twelve places, the file named decimated is the full mesh under another name, and the other four are only capped at four million triangles. Nothing has actually been reduced yet.

So reducing is most of the remaining work. Duboce Park and its three close neighbours come to 13.7 million triangles, and all four already have scenes, so they are the natural first piece. After them come cutting each piece cleanly along its streets, handling the hills from the terrain in the models, and capturing one ordinary block beside Duboce Park from the ground, to find out what invented street has to look like to pass.