
Bavaria has a housing problem. It also has a lot of farmland people would like to keep as farmland. These two facts are in constant tension in small cities like Schwabach — a city of about 40,000 people near Nürnberg, surrounded by fields and forest on most sides.
The usual response to this tension is a planning debate that goes in circles. A more useful starting point is a spatial one: forget the politics for a moment and just look at which farmland parcels already have the conditions for development — and which ones don't.
This article walks you through how we built a multicriteria analysis in GOAT to find which farmland parcels around a city already have the conditions for housing — using nothing but open data.
Being close to a city isn't enough. The parcels worth looking at are the ones that tick a few boxes at once — four of them: transit access, adjacency to existing housing, the shape of the parcel, and whether it's forest.

German planning practice (BBSR, VDV guidelines) uses 800 metres from a rail stop and 500 metres from a bus stop as rough thresholds for what counts as "transit-accessible." Sites that fall outside both aren't going to reduce car dependency — they're going to add to it. Worth flagging: this is straight-line buffering. Actual walkable catchments would be smaller and irregular, shaped by streets, crossings and slope.
There's a difference between extending a neighbourhood and dropping a new development in the middle of nowhere. Parcels within 100 metres of existing residential land use (AX_Wohnbauflaeche) are the former. Everything else risks becoming the kind of sprawl nobody's proud of ten years later.
This one sounds obvious but it's easy to miss. A lot of farmland near cities is shaped badly — long agricultural strips along field edges, irregular slivers, parcels that look fine at small scale but couldn't actually fit a building coherently. The analysis filters for parcels of at least 0.5 hectares — small enough to avoid major infrastructure overhaul, large enough to actually fit a residential development — with a Polsby-Popper compactness score above 0.3. The threshold isn't drawn from a specific planning standard — it was tuned empirically to reject elongated "spaghetti" parcels that wouldn't realistically fit a residential block. Loosen it to 0.2 and you get more candidates; tighten it to 0.4 and you lose some real ones. 0.3 was the value where the map matched planning intuition. That threshold cut more candidates than expected. There's quite a bit of farmland around Schwabach that meets the transit and adjacency criteria but is basically a noodle.
Forest is excluded outright. The Bundeswaldgesetz settles that question before any analysis starts.

When a parcel sits near both a rail stop and a bus stop, it gets classified as rail-priority. This isn't because bus access doesn't matter — it's a planning convention worth being explicit about.
Bus routes change. A stop that exists today might be rerouted or dropped in a few years. Rail infrastructure tends to outlast bus networks — though not always (Bavarian Stilllegungen exist), so this is a tendency, not a law. German planning practice generally weighs rail-adjacency more highly on these grounds, and developers, Wohnungsgenossenschaften and the people who eventually live there respond to that distinction. Giving rail-adjacent sites higher priority reflects how infrastructure value actually gets read in the market.

One important limitation: the analysis measures proximity, not service quality. A bus stop served three times a day is a very different thing from one on a ten-minute frequency. An obvious next iteration would be to weight transit access by GTFS service frequency. For this first pass, every stop counts equally — which means the 842 ha of bus-priority is best read as an upper bound.
After running all the criteria across Schwabach's land use data, the result is about 322 hectares of rail-priority sites and 842 hectares of bus-priority sites. Farmland that's already well-positioned — near transit, next to existing housing, right size and shape.
The analysis doesn't speak to ownership. Spatially suitable farmland is one thing; available farmland is another. The biggest blocker in German municipal land-use planning is often parcels that meet every spatial criterion but where the owner has no intention of selling. The map shows where the conditions exist, not where the deals are doable.
Explore the full results in the interactive dashboard — and if you want to run an analysis like this yourself, you can try GOAT for free.

Only open data: ALKIS land-use parcels (Bayern Geoportal), public transport stops from GTFS (DELFI Germany), and rail lines from OpenStreetMap. No proprietary or paid datasets.
Yes. Any German municipality with ALKIS land-use coverage and a published GTFS feed can be analysed with the same workflow in GOAT. Thresholds can be adjusted for local context.
A parcel near both a rail and a bus stop is classified as rail-priority, because rail infrastructure tends to be longer-lived than bus routes and is generally weighted more highly in German planning practice. Bus-priority sites are near a bus stop but not a rail stop.
These are common German planning thresholds (BBSR, VDV) for walkable distance to rail and bus stops respectively. They're applied here as straight-line buffers, so real walkable catchments would be somewhat smaller.
Polsby-Popper measures how close a shape is to a circle (1.0 = perfect circle). The 0.3 cutoff was tuned empirically to filter out long, thin parcels that couldn't fit a coherent residential block — not taken from a fixed standard.
No. The analysis identifies spatially suitable land. Ownership and willingness to sell — often the real bottleneck in German land-use planning — are out of scope.

.jpg)
.jpg)
.jpg)
.jpg)
Join planners and cities already using GOAT to make better decisions, faster.