Skip to content
AI Edit
QGIS
Guide

Urban Infill: What It Is, and Three Scenarios on One Lot

Published

New infill housing on Kay Street, a row of houses built on a gap in an existing terrace.
Photo: Canley, CC BY 4.0, Wikimedia Commons.

Urban infill is development on land that already sits inside the built-up area: a vacant lot, a surface car park, a disused depot, the back half of a deep garden. The alternative is greenfield expansion at the edge, and the whole argument for infill is that the road, the sewer, the school and the bus stop already exist. An infill project can be one house on one lot or a whole district on a former railway yard. What makes it infill is the location, not the size.

The five kinds of infill lot

Kind of lotWhat it looks like from the airWhat usually goes there
Vacant lotA gap in a street frontage, often grass or gravel, sometimes a temporary car parkA building that continues the frontage
Surface car parkA rectangle of asphalt with painted bays, next to a shop or an officeA block over a smaller car park, or over none
Brownfield parcelSlabs, sheds, sidings, a fence around nothingA new district, once the ground is cleaned
Backland and gardenThe deep rear of a house plot, reachable by a laneA second house, an accessory dwelling, a mews
TeardownOne low building on a lot zoned for moreA taller building on the same footprint

The greenfield against brownfield page covers the third kind and the registers that list it. The other four are found by looking.

How to find infill lots in QGIS

The method is a subtraction. Take the parcels, remove the ones that have a building on them, and what is left is the candidate list. Four layers, no plugin.

Load the parcels

The cadastre for your area. In France, the Etalab cadastre as GeoJSON by commune. In the United States, the county parcel layer. In Britain, INSPIRE polygons from the Land Registry.

Load the building footprints

OpenStreetMap buildings, Microsoft or Google Open Buildings, or your national layer. The footprint downloader gives any of the three for a box you draw.

Join buildings to parcels

Vector, Data Management Tools, Join Attributes by Location, with the parcels as the input and the buildings as the join layer, summarising the count and the total footprint area. Every parcel now carries how much of it is built.

Filter

Select parcels where the built area is under, say, 10 percent of the parcel area and the parcel is over 200 m². Put the result on the orthophoto and go through it by eye: a churchyard, a school playground and a car park all pass the filter, and only the third is a candidate.
QGIS map of the blocks around Place du Cantin in Lens on the IGN orthophoto: parcels outlined in light grey, the ones under 10 percent built filled in translucent green, four of them labelled car park, vacant frontage, backland and yard.
Lens, about 600 m across around Place du Cantin. Parcels from the IGN cadastre, buildings from BD TOPO, joined in QGIS: nine parcels in this frame are under 10 percent built and over 200 m². Labelled: a 1,764 m² car park, a grassed lot on the street, wooded rear gardens behind a terrace, and a small yard used for parking. The big car park on the square at the top is not flagged at all: it is public road land with no parcel in the cadastre. Orthophoto and cadastre: IGN, open licence.

The by-eye pass is the part no filter replaces. Half of the parcels the join flags are open for a reason: a substation, a playground, the yard of a fire station. The other half are the list a planning department pays for.

One lot, three scenarios

Once a lot is on the list, the next question is what could go there, and the honest answer is several things. I picked one candidate from the map above, the surface car park behind the terraces one street south of Place du Cantin, and rendered it three ways with AI Edit, the plugin we make at TerraLab for QGIS. Each render is a raster layer that AI Edit added to my project over the orthophoto, at the orthophoto's scale, from one prompt. Nothing was retouched.

A surface car park in the middle of a block in the centre of Lens on the IGN orthophoto, about 160 m across, with terraced houses and their back gardens around it and a small square with a statue to the south.
The lot: parcel BO0032, a 1,764 m² surface car park inside a block in the centre of Lens, entered from the street on its west side. The frame is about 160 m across. This is the image the three prompts below start from. Orthophoto: IGN, BD ORTHO, open licence.

Scenario 1: infill housing at the neighbours' height

The library prompt, unchanged. It is the one called "Add infill housing" in the plugin's Urban section.

Add new residential infill buildings on visible empty parcels, parking lots, and
underused open spaces. Match the height and architectural style of surrounding
buildings. Keep existing buildings, roads, and vegetation intact.
The Lens car park on the left, the same frame on the right with a block of terraced houses and back gardens in its place (after)
The Lens car park on the left, the same frame on the right with a block of terraced houses and back gardens in its place (before)
Car parkInfill housing
Drag to compare
39 seconds at 2K. The car park became a block of terraced houses around small back gardens, with orange and grey pitched roofs and roof windows like the terraces next to it, and the street on its west side kept. The gardens and the roof windows are invented. One miss: it removed the two trees at the south end of the car park, though the prompt said to keep the vegetation.

Scenario 2: a courtyard block with the car park underneath

The library prompt with two sentences added, so the render keeps some parking and opens a courtyard.

Replace the surface car park with a four-storey residential block around a planted
courtyard. Keep vehicle access from the lane and show a ramp to parking below the
block. Match the roof colour and window rhythm of the adjoining buildings. Keep all
existing buildings, roads and trees outside the car park intact.
The Lens car park on the left, the same frame on the right with a U-shaped residential block around a planted courtyard (after)
The Lens car park on the left, the same frame on the right with a U-shaped residential block around a planted courtyard (before)
Car parkCourtyard block
Drag to compare
28 seconds at 2K. A U-shaped block with tiled hipped roofs and dormers around a lawn with paths and trees. The ramp came out, more or less: a grey sloping strip between the two wings, opening onto the street where the car park entrance was. Whether the block has four storeys, the image cannot say. The two existing trees went again.

Scenario 3: keep it open, make it a square

The scenario a council often wants to see next to the other two, because the argument at the meeting is never only about housing.

Turn the surface car park into a small public square: paved centre, a double row
of trees along the long sides, benches, and a covered market stall area at the end
nearest the shops. Keep all existing buildings, the lane and the surrounding roads
intact. Top-down view, same extent.
The Lens car park on the left, the same frame on the right as a paved square with rows of trees, benches and market stalls (after)
The Lens car park on the left, the same frame on the right as a paved square with rows of trees, benches and market stalls (before)
Car parkSquare
Drag to compare
28 seconds at 2K. Paved centre, a double row of trees on each long side, benches facing in, six covered stalls at the north end, towards Place du Cantin, and bollards round the edge. One invented detail: a diagonal shadow across the paving that nothing in the picture casts.

What the three renders are, and are not

They are pictures of a possibility, georeferenced, at the scale of the imagery, made in under 40 seconds each. That is enough to put in front of a landowner, a councillor or a neighbourhood meeting and ask which of the three the room wants to talk about. Every one of them carries an AI-generated tag, and that tag should stay on when the picture leaves QGIS.

They are not a massing study, a plan or a count of homes. The model matched the neighbours' height because the prompt asked it to, not because it measured them. A storey count comes from the DSM against DTM method, and a plan comes from an architect. The line I hold is the one from the colored site plan post: a render goes on the cover, never on the sheet with dimensions.

Questions people ask

What is the difference between infill and redevelopment?

Infill builds on land that is empty or barely used. Redevelopment replaces a building that is in use with a bigger or different one. A car park becoming flats is infill. A supermarket becoming flats is redevelopment. Planning policy often treats them together under densification.

Is urban infill the same as gentle density?

Gentle density is one kind of infill: small additions inside residential areas, a second house on a lot, a duplex where there was one home, a mews in a backland. Infill also covers the large kind, a district on a railway yard.

Why do cities want infill?

Because the infrastructure is already paid for, the trips are shorter, and the field at the edge stays a field. In France the 2021 net-zero-artificialisation rule made it a legal target, and most English local plans put brownfield and infill sites first in their housing supply.

Why is infill harder than building at the edge?

Neighbours, access and ground. Every infill lot has people next to it who can object, a lane that may be too narrow for a fire engine, and, on a brownfield parcel, a ground investigation before anything else. A greenfield site has none of those on day one and all of the road-building cost instead.

Can I use these renders in a planning application?

As an illustrative image, that is between you and the planning authority, and the AI-generated tag should stay on. As a drawing the application relies on, no: nothing in the render was measured.

The QGIS AI hub collects what AI can and cannot do inside QGIS. The street redesign post does the same exercise on a street instead of a lot.