GIS integration, sensor data, occupancy analytics, space syntax analysis, urban data analytics, climate data processing, and API data sources for evidence-based AEC computational design
npx skills add https://github.com/Abhinavbwj/Claude-skills-for-Computational-Designers --skill data-driven-design
This skill provides comprehensive guidance on integrating quantitative data into every stage of the architectural and urban design process. It covers geospatial data, environmental sensing, occupancy analytics, spatial network analysis, climate processing, urban datasets, and the APIs that serve them. The goal is to replace intuition-only design with evidence-based reasoning while preserving creative agency.
Traditional design relies heavily on precedent, aesthetic judgment, and professional intuition. These are valuable but unverifiable. Evidence-based design augments intuition with measurable inputs:
| Dimension | Intuition-Based | Evidence-Based |
|---|---|---|
| Site analysis | Walkthrough, photos | GIS layers, sensor grids, satellite imagery |
| Program sizing | Rules of thumb | Occupancy analytics, utilization studies |
| Circulation | Designer judgment | Space syntax integration/choice values |
| Orientation | Sun path intuition | EPW-parsed radiation/temperature analysis |
| Massing | Formal exploration | Daylight/energy simulation feedback loops |
| Post-occupancy | Anecdotal feedback | Sensor-driven POE dashboards |
Evidence-based design does not eliminate intuition. It provides a quantitative substrate on which creative decisions rest, making design rationale transparent, defensible, and reproducible.
The critical shift: data must enter the design process at the very beginning, not after decisions are made. In the traditional workflow, simulation runs after design is locked, serving only to confirm or reject. In a data-driven workflow:
[Raw Data Sources]
|
v
[Acquisition] -- APIs, sensors, manual surveys, open data portals
|
v
[Cleaning & Validation] -- missing value handling, outlier detection, CRS alignment
|
v
[Processing & Analysis] -- statistical summaries, spatial analysis, temporal patterns
|
v
[Translation to Design Parameters] -- the critical creative step
|
v
[Parametric Model Integration] -- Grasshopper data trees, Dynamo lists, scripted geometry
|
v
[Design Evaluation] -- simulation, scoring, multi-criteria comparison
|
v
[Visualization & Communication] -- dashboards, reports, AR overlays
Coordinate Reference Systems (CRS):
Projections:
Vector vs. Raster:
| Source | Data Types | Resolution/Coverage | Cost |
|---|---|---|---|
| OpenStreetMap | Buildings, roads, POIs, land use | Global, variable quality | Free |
| USGS 3DEP | DEM, LiDAR point clouds | 1m (US), 10m (US) | Free |
| Copernicus DEM | Elevation | 30m global | Free |
| NLCD | Land cover classification | 30m (US) | Free |
| Census TIGER | Boundaries, roads, tracts | US | Free |
| Ordnance Survey | Buildings, terrain, addresses | UK | Mixed |
| Google Earth Engine | Satellite imagery, derived products | 10m--1km, global | Free (research) |
| Mapbox | Vector tiles, satellite | Global | Freemium |
| Local government GIS portals | Parcels, zoning, utilities, trees | City-level | Usually free |
| Sensor | Measures | Range | Accuracy | Placement |
|---|---|---|---|---|
| Thermocouple/RTD | Temperature | -200 to +850 C | +/-0.5 C | Duct, room, outdoor |
| Capacitive RH | Relative humidity | 0--100% | +/-2% | Room center, avoid direct airflow |
| NDIR CO2 | CO2 concentration | 0--5000 ppm | +/-50 ppm | Breathing zone (1.2m height) |
| Photodiode/Lux | Illuminance | 0--100,000 lux | +/-5% | Desktop height, avoid direct sun |
| PIR | Occupancy (binary) | 5--12m range | N/A | Ceiling, corner mount |
| MEMS microphone | Sound level | 30--130 dBA | +/-1.5 dB | Wall, 1.5m height |
| Electrochemical | PM2.5, VOC, O3, NO2 | Varies | +/-10--20% | Representative location |
| Ultrasonic | Distance/presence | 0.2--6m | +/-1cm | Desk, doorway |
Modern BMS systems (Siemens Desigo, Honeywell Niagara, Johnson Controls Metasys, Schneider EcoStruxure) centralize HVAC, lighting, and fire/safety data. Key concepts:
A digital twin is a live 3D model synchronized with real-time sensor data. Architecture:
[Physical Building]
|
v
[Sensors + BMS] -- BACnet, Modbus, MQTT
|
v
[Data Ingestion Layer] -- Node-RED, Apache Kafka, custom ETL
|
v
[Time-Series Database] -- InfluxDB, TimescaleDB
|
v
[API Layer] -- REST/GraphQL endpoints
|
v
[3D Visualization] -- Unity/Unreal, Three.js, Forge Viewer
|
v
[Digital Twin Dashboard] -- color-coded zones, real-time charts, alerts
Sensor data maps to 3D model via spatial identifiers (room ID, zone ID, floor number). Color gradients on room surfaces represent temperature, CO2, occupancy density. Historical playback enables pattern discovery.
| Technology | Accuracy | Granularity | Privacy Impact | Cost |
|---|---|---|---|---|
| PIR sensors | 85--90% (binary only) | Room-level, binary | Low | Low |
| WiFi probe requests | 70--80% (counting) | Zone-level, count + dwell | Medium--High | Low (uses existing infra) |
| Bluetooth beacons | 80--90% | Zone-level, individual tracking | High | Medium |
| Camera + AI counting | 95%+ | Entry-level, count + direction | High (even anonymized) | Medium--High |
| Badge/access card | 99% (entry only, no exit) | Door-level, individual | Medium | Low (uses existing infra) |
| Desk sensors (ultrasonic/PIR) | 95%+ | Desk-level, binary | Low | Medium |
| CO2-based estimation | 60--75% | Room-level, count estimate | None | Low |
| LiDAR people counting | 95%+ | Entry-level, count + height | Low--Medium | High |
Convert raw sensor counts to spatial density:
Key metrics:
Space syntax, developed by Bill Hillier and Julienne Hanson at UCL in the 1980s, quantifies the configurational properties of spatial networks. It reveals how the structure of space itself shapes movement, encounter, and social outcomes.
Axial map: The minimum set of longest straight lines (axial lines) that pass through all convex spaces and make all connections in a spatial system. Constructed by drawing lines of sight and access.
Key measures (computed on the axial graph where nodes = axial lines, edges = intersections):
| Measure | Definition | Interpretation |
|---|---|---|
| Connectivity | Number of lines directly intersecting a given line | Local accessibility |
| Depth | Shortest topological distance from one line to another | Remoteness |
| Mean Depth | Average depth from a line to all other lines | Overall accessibility |
| Integration (Rn) | Reciprocal of Relative Asymmetry (normalized mean depth) | Global accessibility; high = well-connected |
| Integration (R3) | Integration computed within topological radius 3 | Local accessibility within 3 steps |
| Choice (Rn) | Number of shortest paths passing through a line | Through-movement potential; high = likely route |
Global integration formula:
RA = 2(MD - 1) / (k - 2)
Where MD = mean depth, k = number of lines in the system.
Real Relative Asymmetry (normalized for system size):
RRA = RA / D_k
Where D_k is the diamond value for a graph of k nodes.
Integration = 1 / RRA. Higher values = more integrated (accessible).
Choice counts how many shortest paths between all pairs of nodes pass through a given node. Normalized choice (NACH) enables cross-system comparison.
More recent method. Axial lines are broken at intersections into segments. Analysis uses angular distance (cumulative turn angle) rather than topological distance. This better predicts vehicular movement and pedestrian route choice.
Angular choice and angular integration at various metric radii (400m, 800m, 1200m, 2000m, 5000m, n) reveal multi-scale spatial structure.
VGA reveals:
An isovist is the set of all points visible from a given vantage point. Isovist properties:
Isovist fields: compute isovists at every point on a grid. Map each property as a scalar field. Reveals spatial character continuously across the plan.
Space syntax measures consistently correlate with observed phenomena:
EPW (EnergyPlus Weather) is the standard weather file format for building energy simulation. Each file represents one year (8760 hours) of weather data for a specific location.
Structure: Header (8 lines with location, design conditions, ground temperatures) + 8760 data rows (one per hour).
Key data fields (67 total, most important listed):
| Field | Unit | Description |
|---|---|---|
| Dry Bulb Temperature | C | Air temperature |
| Dew Point Temperature | C | Moisture indicator |
| Relative Humidity | % | Moisture ratio |
| Atmospheric Pressure | Pa | Station pressure |
| Global Horizontal Radiation | Wh/m2 | Total solar on horizontal |
| Direct Normal Radiation | Wh/m2 | Solar beam component |
| Diffuse Horizontal Radiation | Wh/m2 | Scattered solar |
| Wind Direction | degrees | 0=N, 90=E, 180=S, 270=W |
| Wind Speed | m/s | At measurement height (usually 10m) |
| Total Sky Cover | tenths | 0=clear, 10=overcast |
| Precipitable Water | mm | Column water vapor |
| Horizontal Infrared Radiation | Wh/m2 | Longwave from sky |
Sources: climate.onebuilding.org (4000+ locations), EnergyPlus website, Ladybug Tools EPW Map.
Typical Meteorological Year (TMY) files are composites: each month is selected from a multi-year record (typically 15--30 years) as the most "typical" month for that calendar month. Selection uses Finkelstein-Schafer statistics on key variables (solar radiation, temperature, humidity, wind). TMY represents normal conditions, not extremes. For extreme event analysis, use AMY (Actual Meteorological Year) files.
Temperature bins: Histogram of hourly temperatures. Reveals heating/cooling balance points, dominant temperature ranges. Drives passive design strategy selection.
Degree-days: Heating Degree Days (HDD) = sum of (base_temp - outdoor_temp) for all hours where outdoor < base. Cooling Degree Days (CDD) = sum of (outdoor_temp - base_temp) for all hours where outdoor > base. Typical base: 18.3C (65F). Used for energy benchmarking and climate classification.
Psychrometric chart: Plots temperature vs. humidity ratio. Overlay with comfort zone and passive strategy boundaries (evaporative cooling, thermal mass + night ventilation, natural ventilation). Givoni's bioclimatic chart is the classic reference.
Wind rose: Polar histogram of wind speed and direction. Segment by season, time of day, or temperature range for nuanced analysis. Critical for natural ventilation orientation, windbreak placement, and outdoor comfort.
Sun path diagram: Stereographic projection of solar positions throughout the year. Plot obstructions to determine solar access. Overlay with direct normal irradiance for useful solar hours. Essential for shading device design and PV placement.
Ladybug (Grasshopper plugin) provides comprehensive weather data visualization and analysis:
LB Import EPW: Parse EPW file into individual data streams.LB Hourly Plot: Time-series visualization of any weather variable.LB Wind Rose: Directional wind analysis.LB Sun Path: 3D sun path diagram in Rhino.LB Psychrometric Chart: Interactive psychrometric analysis with strategy overlays.LB Adaptive Comfort: Thermal comfort assessment using ASHRAE 55 adaptive model.LB UTCI: Universal Thermal Climate Index for outdoor comfort.LB Degree Days: Heating and cooling degree day calculation.Climate change requires designers to consider 2050 and 2080 conditions. Methods:
Typical 2050 shifts for mid-latitude cities: +1.5 to +3.0C mean temperature, +5 to +15% cooling energy, -5 to -15% heating energy, increased extreme heat events.
Urban areas are typically 1--5C warmer than surrounding rural areas due to:
Monitoring: Mobile transect surveys, fixed weather station networks, satellite-derived land surface temperature (Landsat, MODIS). Integration with design: adjust EPW data for urban context using UWG (Urban Weather Generator) by MIT.
Census data provides demographic, socioeconomic, and housing characteristics at multiple geographic levels (block, block group, tract, county, state in the US). Key variables for design:
Access via Census Bureau API (api.census.gov), IPUMS, or processed datasets (Social Explorer, PolicyMap).
GTFS (General Transit Feed Specification): Standardized format for public transit schedules and routes. Published by transit agencies worldwide. Contains: stops, routes, trips, stop_times, calendar, shapes. Use for:
Traffic counts: State DOTs publish AADT (Annual Average Daily Traffic) counts on major roads. Available as GIS layers. Use for noise modeling, pedestrian safety analysis, roadway capacity assessment.
Cycling/pedestrian counts: Increasingly available from permanent counters (Eco-Counter) and Strava Metro data. Reveals active transport patterns and demand.
EU Environmental Noise Directive requires strategic noise maps for agglomerations >100,000 population. Data includes:
Use for: facade acoustic design, building orientation, buffer zone planning, amenity placement (playgrounds away from noise sources).
Sources: EPA AirNow (US), EEA (Europe), OpenAQ (global aggregator). Key pollutants: PM2.5, PM10, O3, NO2, SO2, CO. Available as station measurements and modeled surfaces. Design implications:
Material and energy flow analysis for cities: water consumption, waste generation, energy use, food supply. Data from utility companies, waste management, and municipal sustainability reports. Design implications for circular economy buildings and net-zero neighborhoods.
https://overpass-api.de/api/interpreteroverpy, osmnxout:json];way["building";out body;>;out skel qt;api.mapbox.com/v4/ (tiles), /directions/v5/, /isochrone/v1/, /geocoding/v5/mapbox SDK, or direct HTTP via requestsmaps.googleapis.com/maps/api/place/, /directions/, /elevation/googlemapsapi.openweathermap.org/data/2.5/, www.ncdc.noaa.gov/cdo-web/api/v2/pyowm, noaa-sdkaqs.epa.gov/data/api/, enviro.epa.gov/requests; some community wrappersapi.census.gov/data/census, cenpyelevation.nationalmap.gov/arcgis/rest/services/py3dep, requestsapi.bridgedataoutput.com/api/v2/ (Zillow via Bridge), api.zoopla.co.uk/api/v1/requeststransitfeeds.com, individual agency websitesgtfs-kit, partridge, gtfs-realtime-bindingsscihub.copernicus.eu/dhus/, dataspace.copernicus.eu/sentinelsat, eodag, Google Earth EngineChoose chart type by data type and audience:
Key principles:
Emerging capability: overlay sensor data, simulation results, and analytics on physical or virtual building models.
| Workflow | Data Source | Processing Tool | Design Integration |
|---|---|---|---|
| Site context model | OSM, DEM | QGIS, Elk/Heron | Grasshopper geometry |
| Climate-responsive orientation | EPW | Ladybug | Parametric massing |
| Walkability analysis | OSM, GTFS | Urbano, osmnx | Site plan, amenity placement |
| Occupancy-driven program | Sensors, BMS | InfluxDB, Python | Area schedule adjustment |
| Circulation optimization | Floor plan | depthmapX, Syntactic | Layout refinement |
| Noise-informed planning | Noise maps | QGIS, Python | Building orientation, buffer zones |
| Demographic-responsive design | Census | cenpy, Python | Unit mix, community facilities |
| Real-time building performance | IoT sensors | Digital twin platform | Ongoing operations optimization |
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.
UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
Take abhinavbwj/data-driven-design from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.