Skip to content

969flash/parcel_layout_evaluation_analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Geometry-Based Computational Assessment of Parcel-Level Redevelopment Feasibility in Seoul

Implementation of the methodology proposed in "A Geometry-Based Computational Assessment of Parcel-Level Redevelopment Feasibility in Seoul" — an automated system that evaluates urban parcel layouts using geometry-based scoring metrics within the Rhino/Grasshopper environment.

Evaluation results on Seoul districts

Figure 6. Evaluation results visualized on Seoul district maps


Overview

Urban planners in Seoul face the challenge of evaluating large-scale parcel layouts efficiently and consistently. This project automates the evaluation process by:

  1. Reading cadastral data from Korean national GIS shapefiles
  2. Generating blocks by grouping spatially adjacent lots using graph-based connectivity analysis
  3. Evaluating each block across four independent geometric scoring dimensions
  4. Exporting scored results back to shapefiles for GIS integration

The system runs inside Rhino 3D + Grasshopper, leveraging Rhino's geometry kernel for robust spatial operations.


Scoring Methodology

Each block is evaluated with four normalized scores (0.0 – 1.0):

1. Region Score — Buildable Area Efficiency

Measures how efficiently lots within a block can be developed by computing the ratio of buildable area after applying legal setbacks.

Buildable region derivation

Figure 4. Buildable region derivation: Original Lot → Road Setback → Neighbor Lot Setback → Buildable Region

Block-level buildable area computation

Figure 1. Block-level buildable area computation for lots A, B, C, and D

2. Shape Score — Region Shape Index (RSI)

Evaluates lot shape quality through a weighted combination of three geometric metrics:

Shape metrics

Figure 5. Three shape metrics: Convexity (30%), Circularity (40%), and Squareness (30%)

Metric Weight Formula Ideal
Convexity 0.3 Area / ConvexHullArea 1.0 (no concavities)
Circularity 0.4 4 * pi * Area / Perimeter^2 1.0 (circle)
Squareness 0.3 Based on bounding box aspect ratio 1.0 (square)

3. Road Score — Road Access Index

Quantifies road accessibility using cadastral road condition codes (01–12), mapping each to a normalized score. Corner lots with multiple road frontages receive higher scores.

Road access scoring

Figure 2. Road frontage width computation for lots A, B, and C

4. Topography Score — Elevation Variation

Assesses terrain flatness within each block using DEM (Digital Elevation Model) data.

Topography scoring

Figure 3. Elevation relief computation at block and lot levels


Project Structure

parcel_layout_evaluation_analysis/
├── grasshopper/
│   ├── main.py                 # Entry point
│   ├── block_generator.py      # Groups adjacent lots into blocks (NetworkX)
│   ├── parcel_evaluator.py     # Orchestrates four scoring modules
│   ├── shape_manager.py        # Shapefile I/O with encoding detection
│   ├── units.py                # Core data classes (Parcel, Lot, Block, LayoutScore)
│   ├── utils.py                # Geometry utilities (Rhino + Clipper)
│   ├── constants.py            # Configuration parameters
│   ├── visual_debugger.gh      # Grasshopper visual debugger component
│   └── scorers/
│       ├── region.py           # Buildable area efficiency scorer
│       ├── shape.py            # Region Shape Index (RSI) scorer
│       ├── road.py             # Road access scorer
│       └── topo.py             # Topography/elevation scorer
├── input_data/                 # Input GIS data (shapefiles + DEM)
├── output_data/                # Evaluated block shapefiles
└── docs/                       # Research paper and figures

Pipeline

Shapefile (Cadastral Data)  +  DEM Raster
              │                     │
              v                     │
     ShapefileManager               │
  (parse lots & roads)              │
              │                     │
              v                     │
      BlockGenerator                │
  (spatial join + graph             │
   connected components)            │
              │                     │
              v                     │
      ParcelEvaluator  <────────────┘
       ├─ RegionScorer
       ├─ ShapeScorer
       ├─ RoadScorer
       └─ TopoScorer
              │
              v
     Output Shapefile
  (blocks with 4 scores)

Requirements

This project runs inside the Rhino 3D / Grasshopper scripting environment. The following dependencies are required:

  • Rhino 7+ with Grasshopper
  • Python libraries (available within Rhino's Python environment):
    • geopandas — Geospatial data operations
    • shapely — Geometric computations
    • networkx — Graph-based block grouping
    • pyshp — Shapefile I/O

Input Data

Data Format Description
Cadastral parcels Shapefile (.shp) Korean national land parcel data (AL_D194)
Digital Elevation Model GeoTIFF (.tif) 10m resolution DEM raster

Output

The system exports a shapefile containing evaluated blocks with the following attribute fields:

Field Description Range
BLOCK_ID Unique block identifier
REGION Buildable area efficiency score 0.0 – 1.0
SHAPE Region Shape Index score 0.0 – 1.0
ROAD Road access score 0.0 – 1.0
TOPO Topography score 0.0 – 1.0

Usage

  1. Open grasshopper/visual_debugger.gh in Rhino/Grasshopper
  2. Set the input shapefile path and output save path
  3. Run grasshopper/main.py through the GhPython component
  4. The evaluated blocks are saved as a new shapefile in output_data/

Citation

If you find this work useful, please consider citing:

@article{byun2025geometry,
  title     = {A Geometry-Based Computational Assessment of Parcel-Level Redevelopment Feasibility in Seoul},
  author    = {Byun, Sanghoon and Park, Dongjun and Kang, Bumjun},
  year      = {2025}
}

Authors

Name Role GitHub
Sanghoon Byun Author @969flash
Dongjun Park Author @gbjun7333
Bumjun Kang Advisor Homepage

Acknowledgments

This research was conducted at the LAUS (Lab. Architectural & Urban Space), Department of Architecture and Architectural Engineering, Seoul National University, under the supervision of Prof. Bumjun Kang.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages