20 concepts that turn “where” into an answer
Everything in a city comes down to one question: where. These are the twenty concepts I keep returning to across both my urban analytics courses — the vocabulary that turns a messy pile of open data into a decision you can defend. Grouped from first principles up to modelling.
Also, if you want to get started in Python - check out my courses!
Foundations
OpenStreetMap (OSM) — a free, community-mapped database of the world. Almost every analysis here starts with it, and every count from it is a lower bound: what someone mapped, not what exists.
Tags (key–value) — how OSM describes things (
amenity=cafe,building=yes). You query a city by asking for tags, not by pointing at a screen.Coordinate reference systems & reprojection — the rule that maps coordinates to real positions. Map in degrees, but reproject to metres before you measure anything — area in degrees is meaningless.
Spatial join — attach or filter one layer by another’s geometry (points inside a boundary, buildings within a district). The workhorse operation of spatial data.
Acquiring & describing the city
Building footprints — the outline where a building meets the ground. The densest layer in most cities, and the base everything else attaches to. A footprint is coverage, not floor space.
The coverage screen — OSM tagging is uneven, so keep only the attributes actually populated across enough features. Build on real data, not empty columns.
Street network as a graph — a city as nodes (intersections) and edges (segments). Once it’s a graph, movement, distance, and reachability become computable.
Road hierarchy — primary, secondary, residential, living-street. The class structure that shapes where movement and pressure concentrate.
Basemaps — real reference tiles under your data for context. The background changes; the geometry never moves.
The urban profile — every layer (boundary, buildings, green, roads, amenities) composed into one readable map that redraws for any city by changing a place name.
Measuring & indexing
Density normalization (KPIs) — divide counts by area so districts of different sizes compare fairly. 50 cafés per km² is a fact; 50 cafés is not.
MinMax scaling — rescale different metrics onto one common range so they can be combined without one drowning out the rest.
The livability index — fuse several normalized, weighted KPIs into a single score per area. A structured comparison under explicit assumptions, not a ground truth.
Persona-based weighting — whose livability? A family, a student, and a retiree weight amenities differently. Make the values explicit instead of pretending the index is neutral.
Advanced methods
DBSCAN clustering — find where activity genuinely concentrates without pre-setting how many clusters exist. How you locate agglomerations in a city.
KMeans functional typology — group areas by what they do (their POI mix) into readable types. Turns raw points into “this is a nightlife cluster, that’s an office core.”
POI feature engineering — convert scattered points of interest into structured, per-area features a model can use. The unglamorous step that makes everything downstream work.
GTFS transit + walkability (pandana) — parse real transit schedules and compute network-distance access surfaces. What’s reachable, not just what’s near.
Isochrones — everything reachable within 5, 10, 15 minutes, as spatial form. Turns travel time into a shape you can overlay and compare.
NDVI from Sentinel-2 + spatial regression — measure greenery from satellite rather than guessing it, and model outcomes (like price per m²) while respecting that nearby places aren’t independent. The jump from describing a city to modelling it.
Which of these do you actually use in your work — and which do you wish you understood better? Both of these live as full, build-from-scratch courses on The New Science of Maps.
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.