Open-source spatial algorithms and Python pipelines designed to quantify urban morphology, space syntax, and the lived dimensions of the built environment.
Theoretical Lineage
Translating the concepts of Place and Placelessness (1976) into spatial indicators that separate authentic, human-scale enclosure from sterile, monoculture expanses.
Operationalizing fine-grained urban blocks, active ground-floor frontage density, and street-edge permeability to evaluate urban vibrancy and natural surveillance.
Measuring how street network topological integration, axial visual sightlines, and 2D isovists naturally generate pedestrian copresence and social encounter.
Tooling Architecture
Extracts street-wall aspect ratios ($D/H$), sky-view factor proxies, and spatial confinement indices from street centerlines and 3D building polygons.
Generates 360-degree viewshed polygons from street pedestrian viewpoints to evaluate visual openness, occluded vistas, and natural sightline thresholds.
Quantifies building frontage continuity, parcel fragmentation, and facade variation index using OpenStreetMap or cadastral GeoDataFrames.
Constructs dual and primal graph topologies to compute route directness, metric catchment radii, and pedestrian accessibility barriers.
# 1. Ingest street network and adjacent building morphology
import geopandas as gpd
import placeness as ps
streets = gpd.read_file("seattle_streets.geojson")
buildings = gpd.read_file("seattle_footprints.geojson")
# 2. Compute 3D street enclosure ratio (Distance / Height)
enclosure_gdf = ps.morphology.calculate_enclosure(
streets=streets,
buildings=buildings,
height_col="height_m",
buffer_distance=25.0
)
# 3. Derive aggregate Human-Scale Placeness Index
indices = ps.metrics.evaluate_placeness(enclosure_gdf)
print(indices[["street_name", "placeness_score"]].head())
Academic Citation
If you use Placeness tooling, algorithms, or benchmark datasets in academic publications, please cite the software release:
@software{placeness2026,
author = {[Your Name]},
title = {Placeness: Computational Workflows for Quantitative Urban Morphology},
year = {2026},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/placeness-spatial/placeness}}
}