planX — Yerlesim Plani Arac Seti
Academic Reference Manual — 20 Processing Algorithms for Settlement Planning
Developer: Yusuf Eminoglu | Provider ID: planx_yerlesim
Workflow: Ada (Island) → Parsel (Parcel) → Bina (Building) → Peyzaj (Landscape)
Scope and Purpose
The planX Settlement Plan Toolset is a QGIS Processing plugin that implements a complete computational settlement planning workflow. It provides 20 algorithms organised into a sequential pipeline—from island subdivision through parcel formation, building footprint generation under four zoning typologies (nizam), macroform placement, surface analysis, parking layout, landscape design, and final quantitative reporting. An additional suite of six helper tools supports urban furniture cataloguing, accessibility geometry (stairs/ramps), pedestrian crossings, and axis-based parking generation.
This manual documents each algorithm with its theoretical foundations, mathematical formulations, parameter specifications, output schemas, interpretation guidance, and scholarly references. It is intended for urban planners, GIS analysts, computational design researchers, and students of parametric urbanism.
System Architecture
The toolset is organised as a single QGIS Processing Provider (PlanXYerlesimProvider) that registers 20 algorithms across three logical groups:
| Group | Group ID | Algorithms |
|---|---|---|
| Yerlesim Plani Is Akisi (Settlement Plan Workflow) | yerlesim_plani_workflow | Steps 1–8 (14 algorithms) |
| Yerlesim Plani Yardimcilar (Settlement Plan Helpers) | yerlesim_plani_yardimcilar | Urban Furniture, Stairs, Ramps, Pedestrian Crossing (4 algorithms) |
| Otopark Araclari (Parking Tools) | parking_helpers | Parking Axis Layer, Axis Parking Generator (2 algorithms) |
The plugin's core logic is distributed across a modular engine architecture in the core/ directory, comprising geometry_engine (edge extraction, OBB, scaling, aspect ratio), footprint_engine (nizam configuration, facade-aware setback, target-area fitting), macroform_engine (template matching), parcel_randomizer (LCG-based deterministic randomness), and hard_surface_engine (buffer-and-clip surface generation).
Theoretical Foundations
The toolset operationalises several interconnected theoretical frameworks from urban morphology, parametric design, and spatial analysis:
- Conzenian urban morphology (Conzen 1960, 1969): the plan unit as the fundamental analytical category, comprising the street system, plot pattern, and building arrangement. The parcel subdivision and building footprint algorithms implement this tripartite framework computationally.
- Space syntax (Hillier & Hanson 1984; Hillier 1996): the facade detection algorithm operationalises the concept of spatial integration by analysing parcel edge proximity to the movement network (road axes), determining front/back relationships through configurational rather than purely geometric criteria.
- Parametric urbanism (Schumacher 2009; Beirão et al. 2012): the building form generation uses procedural rule-based generation with explicit constraint satisfaction (minimum wing depth 7m, setback compliance, TAKS/FAR density caps).
- Turkish planning legislation (Imar Kanunu No. 3194; Planli Alanlar Imar Yonetmeligi): the four nizam (zoning/building arrangement) types—Ayrık (detached), Blok (block/semi-detached), Bitişik (attached/row), and Emsal (FAR-based perimeter block)—are directly encoded in the setback and coverage algorithms.
- Parking standards (Shoup 2005; ITE 2010; Turkish Otopark Yonetmeligi 2026): parking generation follows geometric tessellation principles with concentric-ring packing and stall geometry derived from vehicle turning radii and aisle width standards.
- Universal design (Preiser & Ostroff 2001; ADA Standards 2010; TS 12576): ramps and stairs embed accessibility constraints through parametric slope, width, and tread geometry.
1. ParcelFlux — Island-to-Parcel Subdivision
1_parcel_flux Class: ParcelFluxAlgorithm
Theoretical Background
Parcel subdivision is the foundational operation in settlement morphology, translating development islands (imar adası) into individual plots (parsel) that form the basic operational unit of planning control. The algorithm implements a medial-axis subdivision strategy: each island polygon is divided by a centreline oriented along the long axis (the h-line), with perpendicular division lines placed at regular intervals corresponding to the target parcel width. This approach generalises the classical strip-parcelling method documented by Conzen (1960) in his study of Alnwick's burgage plots, extended with parametric controls for organic variation.
The algorithm addresses several well-known challenges in automatic parcel generation: (1) irregular island shapes are pre-processed through oriented minimum bounding box (OBB) normalisation; (2) single-row detection prevents over-subdivision of narrow islands where the short edge is less than 1.8 times the target width; (3) residual sliver polygons are merged through a three-pass spatial adjacency optimisation; (4) optional width variation, fishbone offset, and row-width asymmetry introduce controlled organic irregularity that avoids the mechanical appearance of purely geometric subdivision (Marshall 2009).
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Range | Description |
|---|---|---|---|---|---|
| Girdi poligon katmanı | INPUT | Polygon source | — | — | Development island polygons |
| Hedef parsel genisligi | LOT_WIDTH | Double | 16.0 | 5.0+ | Target parcel frontage width (m); 16m common in Turkish residential zones |
| Minimum parsel alanı | MIN_AREA | Double | 300.0 | 0+ | Minimum parcel area in m²; smaller parcels are candidates for merging |
| Maksimum parsel alanı | MAX_AREA | Double | 2000.0 | 0+ | Maximum parcel area filter upper bound |
| Birlestirme esigi | MERGE_THRESHOLD | Double | 35.0 | 0–100 | Merge threshold as % of mean parcel area; higher = more aggressive merging |
| Koseleri esit dagit | UNIFORM_CORNERS | Boolean | True | — | When enabled, distributes remainder symmetrically; when disabled, parcels start from one edge |
| Genislik varyasyonu | WIDTH_VARIATION | Double | 0.0 | 0–25 | Width variation ±%; 0 = constant, 15 = natural diversity (e.g. 18m–23m range) |
| Fishbone sinir offset | FISHBONE_OFFSET | Double | 0.0 | 0–15 | Organic tangential shift at division line endpoints (%) |
| Sira genislik asimetrisi | ROW_WIDTH_ASYMMETRY | Double | 0.0 | 0–25 | Front-garden width difference between opposing rows; e.g. north-facing vs south-facing parcels |
| H-line kaymasi | HLINE_OFFSET | Double | 0.0 | 0–25 | Offset of the medial dividing line from the centre (rear garden depth variation) |
Outputs
| Field | Type | Description |
|---|---|---|
parcel_id / planx_parcel_id | Int | Sequential parcel identifier (1-based) |
aream2 | Double (20,2) | Parcel area in square metres |
facade_front | String (100) | Comma-separated front facade edge indices (populated in Step 2) |
facade_side | String (100) | Side facade edge indices (populated in Step 2) |
facade_back | String (100) | Back facade edge indices (populated in Step 2) |
facade_count | Int | Number of front facades (populated in Step 2) |
is_corner | Bool | Corner parcel flag (populated in Step 2) |
front_direction | String (20) | Compass direction of front facade (populated in Step 2) |
wd_ratio | Double (10,2) | Width/Depth ratio (populated in Step 2) |
| (Original fields) | — | All input layer fields are preserved in output |
Interpretation Guidance
Narrow islands (single-row): When max_width < 1.8 × lot_width, the algorithm switches to single-row mode automatically. The feedback panel reports this. If you see unexpected single-row classifications, reduce the lot width or increase the fishbone offset to generate more nuanced subdivision.
Residual slivers: Polygons with area < 5 m² are discarded. The three-pass merging algorithm targets slivers with the longest shared boundary. If many parcels are being merged, reduce MERGE_THRESHOLD or increase target width.
Row-width asymmetry: The most distinctive parameter. At 10% with 20m base width, one row receives ~22m parcels while the opposing row receives ~18m. This creates differentiated front-garden depths appropriate for solar-orientation-based planning (south-facing parcels narrower but deeper).
References
- Conzen, M.R.G. (1960). Alnwick, Northumberland: A Study in Town-Plan Analysis. Institute of British Geographers, Publication No. 27. London: George Philip. DOI: 10.2307/621094
- Marshall, S. (2009). Cities, Design and Evolution. Routledge. DOI: 10.4324/9780203886427
- Kropf, K. (2017). The Handbook of Urban Morphology. Wiley. DOI: 10.1002/9781118747711
- Parish, Y.I.H. & Müller, P. (2001). Procedural Modeling of Cities. Proceedings of SIGGRAPH 2001, pp. 301–308. DOI: 10.1145/383259.383292
- Moudon, A.V. (1997). Urban morphology as an emerging interdisciplinary field. Urban Morphology, 1(1), 3–10. DOI: 10.51347/jum.v1i1.4047
- Oliveira, V. (2016). Urban Morphology: An Introduction to the Study of the Physical Form of Cities. Springer. DOI: 10.1007/978-3-319-32083-0
- Vanegas, C.A., Aliaga, D.G., Benes, B. & Waddell, P. (2009). Visualization of Simulated Urban Spaces. Computers & Graphics, 33(5), 609–617. DOI: 10.1016/j.cag.2009.06.005
2. Facade Detector — Network-Based Front/Side/Back Classification
2_facade_detector Class: FacadeDetectorAlgorithm
Theoretical Background
Facade detection is a critical intermediary step that establishes the spatial relationship between each parcel edge and the movement network. In planning regulation, the classification of a parcel edge as front (facing a public road), side (lateral boundary), or back (rear boundary) determines the applicable setback distances and thus directly constrains building footprint geometry. The algorithm operationalises principles from space syntax theory (Hillier & Hanson 1984), where the configurational relationship between private parcels and public movement channels is the primary determinant of spatial integration.
The distance-based classification uses an adaptive threshold: when no explicit threshold is provided, it is calculated as 60% of the parcel's minimum bounding rectangle dimension—a heuristic derived from the empirical observation that parcels with standard depth-to-width ratios (typically 1:1.5 to 1:3 in Turkish residential zones) have front edges within approximately half to two-thirds of their depth from the road. Corner parcels are identified when two or more edges fall within the threshold distance, triggering the special setback rules mandated by Article 18 of the Turkish Planned Areas Zoning Regulation, where corner parcels have zero side yards and two rear yards instead of the standard one-side-two configuration.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT_PARCELS | Polygon source | — | Step 1 output with empty facade fields |
| Yol agı katmanı | INPUT_ROADS | Line source | — | Road centreline network |
| On cephe mesafe esigi | THRESHOLD | Double | 0.0 | Front facade distance threshold (m); 0 = automatic (60% of min OBB dimension) |
Outputs
| Field | Type | Description |
|---|---|---|
facade_front | String (100) | Comma-separated indices of front edges |
facade_side | String (100) | Comma-separated indices of side edges |
facade_back | String (100) | Comma-separated indices of back edges |
facade_count | Int | Number of front-facing edges |
is_corner | Bool | True if parcel has 2+ front facades (corner lot) |
front_direction | String (20) | Compass direction (N, NE, E, SE, S, SW, W, NW) or "coklu" if multiple |
wd_ratio | Double (10,2) | Width/depth ratio |
Interpretation Guidance
Zero threshold (automatic): Recommended for most cases. The adaptive formula handles parcels from 100 m² to over 2000 m². If you observe misclassification (front edges not detected or rear edges incorrectly labelled as front), set an explicit threshold based on your local road setback regulations.
Corner parcel rules: When is_corner = True, the building footprint algorithms (Steps 3.2–3.4) apply special setback logic: two rear yards and zero side yards, in accordance with Turkish planning regulations. Verify corner detection by checking that parcels at street intersections have facade_count ≥ 2.
Road network density: Sparse road networks with large gaps between axes may cause parcels far from any road to have no front edges classified. Consider densifying the road centreline network or increasing the threshold.
References
- Hillier, B. & Hanson, J. (1984). The Social Logic of Space. Cambridge University Press. DOI: 10.1017/CBO9780511597237
- Hillier, B. (1996). Space is the Machine: A Configurational Theory of Architecture. Cambridge University Press.
- Batty, M. (2013). The New Science of Cities. MIT Press. DOI: 10.7551/mitpress/9399.001.0001
- Peponis, J., Bafna, S. & Zhang, Z. (2008). The connectivity of streets: reach and directional distance. Environment and Planning B, 35(5), 881–901. DOI: 10.1068/b33088
- Turner, A. (2007). From Axial to Road-Centre Lines. Environment and Planning B, 34(3), 539–555. DOI: 10.1068/b32067
- Porta, S., Crucitti, P. & Latora, V. (2006). The network analysis of urban streets: a primal approach. Environment and Planning B, 33(5), 705–725. DOI: 10.1068/b32045
- Sevtsuk, A. & Mekonnen, M. (2012). Urban network analysis. Revue Internationale de Géomatique, 22(2), 287–305.
3.1. Emsal Cozumu (FAR-Based Perimeter Block)
3_1_emsal_ada Class: CoverageFootprintFarAlgorithm
Theoretical Background
Floor Area Ratio (FAR)—Emsal or KAKS in Turkish planning terminology—is the primary bulk control in zoning ordinances worldwide. Unlike TAKS (Building Coverage Ratio), which controls only the ground-plane footprint, FAR regulates total built volume by relating total floor area to site area. This algorithm solves the perimeter block typology, characteristic of European urbanism from the 19th-century Gründerzeit blocks to contemporary courtyard housing (Lehnerer 2009).
The algorithm decomposes the FAR constraint into a TAKS target using the building height: $TAKS = FAR / n_{floors}$, where $n_{floors}$ is derived from the maximum height $H_{max}$ divided by estimated floor-to-floor height (typically 3.1m for residential). Building masses are then distributed along the buildable perimeter (the island polygon offset inward by the fixed setback distance), segmented into individual building blocks separated by twice the side-yard distance, and filled with procedural architectural forms (L, U, T, I, courtyard, etc.) that respect a minimum structural depth of 9m. This represents a constraint-based generative design approach (Beirao et al. 2012) where legal and structural constraints drive formal outcomes.
Mathematical Formulation
compute_far_side_yard as a function of floor count, increasing with height to maintain fire safety and daylight access.
Per-Edge Building Count:
$$n_i = \min\!\left( \left\lfloor \frac{L_i \cdot n_{\text{forms}}}{\sum L_j} \right\rfloor,\; \left\lfloor \frac{L_i}{5 + 2 d_{\text{side}}} \right\rfloor \right)$$
where $L_i$ is the length of valid edge $i$ and $n_{\text{forms}}$ is the requested total building count.
Building Width (per segment):
$$b_{\text{width}} = \frac{L_i - 2 d_{\text{side}} - (n_i - 1) \cdot 2 d_{\text{side}}}{n_i},\quad b_{\text{width}} \geq 5\text{m}$$
Calculated Building Depth:
$$d_{\text{calc}} = \max\!\left(d_{\min},\; \min\!\left(\frac{A_{\text{target}}}{\sum L_{\text{eff}} \cdot 0.65},\; 35\right)\right)$$
with $d_{\min} = 9\text{m}$, maximum depth 35m, and 0.65 representing the average bbox fill ratio of procedural forms.
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Ada katmanı | INPUT | Polygon source | — | Island polygons (each feature = 1 island) |
| Emsal (FAR) sutunu | FAR_FIELD | Field | — | Floor Area Ratio field (total construction area / island area) |
| Yencok yukseklik sutunu | HMAX_FIELD | Field | — | Maximum building height Hmax (m) |
| Yapi yaklasma mesafesi | FIXED_SETBACK | Double | 5.0 | Fixed setback distance from island boundary (m) |
| Ortalama kat yuksekligi | AVG_FLOOR_HEIGHT | Double | 3.1 | Average floor-to-floor height for Hmax → floor count |
| Minimum bina derinligi | MIN_DEPTH | Double | 9.0 | Minimum building structural depth (m) |
| Form secim modu | FORM_TYPE | Enum | 0 | 0=Random mixed, 1=Specific forms |
| Izin verilen formlar | ALLOWED_FORMS | Enum (multi) | All | 12 procedural form types (Dikdortgen, L, Ters L, U, T, Ters T, Z, H, C, Avlulu, E, +) |
| Form sayisi | NUM_FORMS | Integer | 6 | Target number of buildings per island (capacity-permitting) |
| Rastgele tohum | RANDOM_SEED | Integer | 0 | Random seed (0=fully random, >0=reproducible) |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input island fields preserved |
ada_katman_id | Int | Island feature ID |
form_tipi | String (30) | Procedural form type label |
bina_no | Int | Building sequence number within the island |
bina_sayisi | Int | Total buildings generated for this island |
kat_adedi | Int | Calculated floor count from Hmax |
min_bina_mesafesi | Double (20,2) | Minimum distance between adjacent buildings = 2 × side yard |
taks_hedef | Double (20,4) | Target Building Coverage Ratio from FAR/floor_count |
bina_alan_m2 | Double (20,2) | Actual building footprint area (m²) |
Interpretation Guidance
FAR > floor_count: When FAR exceeds the number of floors, TAKS_target is capped at 1.0 (100% coverage), meaning the entire buildable area is filled with building form. This represents a fully extruded block condition. Increase Hmax or reduce FAR to avoid this saturation.
FAR = 0: Features with FAR = 0 are skipped with a log message. This is expected for non-buildable islands (parks, infrastructure, etc.).
Fallback geometry: When the segmented perimeter approach fails to generate valid buildings (typically on very small or irregular islands), a fallback geometry scaled to the target area is created with the label "fallback". Review these features individually for manual adjustment.
Form diversity: The 12 procedural forms range from simple rectangles to complex courtyard and comb typologies. Smaller islands (w < 20m or h < 20m) are restricted to simpler forms (rectangle, L, T) to maintain structural plausibility.
References
- Barnett, J. (1982). An Introduction to Urban Design. Harper & Row.
- Lehnerer, A. (2009). Grand Urban Rules. 010 Publishers. DOI: 10.5949/mitpress/9780262514781.001.0001
- Beirão, J.N., Duarte, J.P. & Stouffs, R. (2012). Structuring a Generative Model for Urban Design. Proceedings of eCAADe 2012, pp. 323–332.
- Schumacher, P. (2009). Parametricism: A New Global Style for Architecture and Urban Design. Architectural Design, 79(4), 14–23. DOI: 10.1002/ad.912
- Müller, P., Wonka, P., Haegler, S., Ulmer, A. & Van Gool, L. (2006). Procedural Modeling of Buildings. ACM Transactions on Graphics, 25(3), 614–623. DOI: 10.1145/1141911.1141931
- Batty, M. & Longley, P. (1994). Fractal Cities: A Geometry of Form and Function. Academic Press.
- Duarte, J.P. (2005). A discursive grammar for customizing mass housing. Automation in Construction, 14(2), 265–275. DOI: 10.1016/j.autcon.2004.07.013
3.2. Detached Building Coverage (Ayrık Nizam)
3_2_ayrik_nizam Class: CoverageFootprintAlgorithm
Theoretical Background
Detached order (Ayrık Nizam, abbreviated "A nizam" in Turkish planning codes) is the most common low-to-medium density residential building arrangement, characterised by free-standing buildings separated from all parcel boundaries by mandatory setbacks on all four sides. This typology dominates suburban morphologies globally and is the default zoning category for residential areas in most Turkish municipalities under the Planned Areas Zoning Regulation (Planli Alanlar Imar Yonetmeligi).
The algorithm implements facade-conscious setback, where each parcel edge's setback distance is determined by its facade classification from Step 2: front edges receive the front setback (typically largest, for streetscape definition and traffic safety), side edges receive the lateral setback (for fire separation and daylight access), and back edges receive the rear setback (for privacy and service access). The remaining buildable polygon is then scaled to satisfy the TAKS constraint through a geometry-scaling operation that preserves centroid and orientation. The theoretical basis lies in morphological constraint satisfaction (Kropf 2017), where legal norms (setbacks, coverage ratio) interact with site geometry (parcel shape, orientation, facade classification) to produce the permissible building envelope.
Mathematical Formulation
fit_footprint_to_target_area engine function with adjustable edge setback arrays.
Area Scaling (Uniform Buffer Fallback):
$$\bar{s} = \frac{s_{\text{front}} + s_{\text{side}} + s_{\text{back}}}{3}$$
$$P'_{\text{buildable}} = P \ominus \bar{s}$$
Target Area Satisfaction:
$$A_{\text{building}} = A_P \times \text{TAKS}$$
If $A(P_{\text{buildable}}) > A_{\text{building}}$, the geometry is scaled:
$$P_{\text{final}} = \text{ScaleToArea}(P_{\text{buildable}},\, A_{\text{building}})$$
TAKS Utilisation (Output):
$$\text{TAKS}_{\text{use}} = \frac{A_{\text{building}}}{A_P}$$
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT | Polygon source | — | Step 2 output with facade fields |
| TAKS sutunu | TAKS_FIELD | Field | — | Building coverage ratio (0.00–1.00) |
| On bahce mesafesi sutunu | SETBACK_FRONT_FIELD | Field | — | Front setback (m) |
| Yan bahce mesafesi sutunu | SETBACK_SIDE_FIELD | Field | — | Side setback (m) |
| Arka bahce mesafesi sutunu | SETBACK_BACK_FIELD | Field | — | Rear setback (m) |
| Cephe bilincli setback | USE_EDGE_SETBACK | Boolean | True | Use Step 2 facade data; when disabled, uniform average setback is applied |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input parcel fields preserved |
bina_alan_m2 | Double (20,2) | Building footprint area (m²) |
taks_kullanim | Double (20,4) | Actual TAKS utilisation = building_area / parcel_area |
Interpretation Guidance
Text fields: All numeric parameters accept TEXT-format columns (commas converted to dots automatically). This is critical for working with data exported from CAD or municipal databases where numeric fields may be stored as text.
Facade data requirement: When USE_EDGE_SETBACK = True, the algorithm requires proper facade_front, facade_side, and facade_back fields populated by Step 2. If these are missing or incomplete, disable this option or re-run Step 2.
Empty building geometries: Parcels where the setback erosion eliminates all buildable area (e.g., very narrow parcels with large setbacks) produce no output feature. These are silently skipped and should be reviewed manually.
References
- Conzen, M.R.G. (1969). Alnwick, Northumberland: A Study in Town-Plan Analysis. 2nd ed. Institute of British Geologists.
- Kropf, K. (2017). The Handbook of Urban Morphology. Wiley. DOI: 10.1002/9781118747711
- Martin, L. & March, L. (1972). Urban Space and Structures. Cambridge University Press.
- Levy, A. (1999). Urban morphology and the problem of the modern urban fabric. Urban Morphology, 3(2), 79–89. DOI: 10.51347/jum.v3i2.3880
- Panerai, P., Castex, J., Depaule, J.C. & Samuels, I. (2004). Urban Forms: The Death and Life of the Urban Block. Architectural Press. DOI: 10.4324/9780080472454
- Berghauser Pont, M. & Haupt, P. (2010). Spacematrix: Space, Density and Urban Form. NAi Publishers.
3.3. Block Building Coverage (Blok Nizam)
3_3_blok_nizam Class: BlockCoverageFootprintAlgorithm
Theoretical Background
Block order (Blok Nizam) is a semi-detached arrangement where buildings on adjacent parcels share a common lateral wall, eliminating the side setback between paired parcels while maintaining setbacks on all other sides. This typology represents an intermediate density between detached and fully attached forms, commonly found in 20th-century garden-city and suburban planned developments across Europe and Turkey. The regulatory logic is: internal shared edges within a paired block group have zero setback, while external (free) side edges retain the full side-yard distance, creating a 2× side-yard gap between adjacent block groups.
The algorithm introduces a novel two-layer neighbour detection: first, Step 2's facade classification identifies which edges are nominally "side" edges; second, geometric intersection testing against adjacent parcels determines which of these side edges are physically shared (touching a neighbour). Only edges that pass both tests are assigned zero setback. A graph-based row-neighbour matching algorithm uses oriented bounding box long-axis projection to distinguish genuine lateral (row) neighbours from front-to-back adjacencies, preventing false zero-setback assignments on rear boundaries—a critical safeguard against over-densification.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT | Polygon source | — | Step 2 output |
| Ada ID sutunu | ADA_ID_FIELD | Field (optional) | — | Island grouping field; auto-detected if empty |
| TAKS sutunu | TAKS_FIELD | Field | — | Building coverage ratio (0.00–1.00) |
| On bahce mesafesi sutunu | SETBACK_FRONT | Field | — | Front setback (m) |
| Yan bahce mesafesi sutunu | SETBACK_SIDE | Field | — | Side setback for free external edges (m) |
| Arka bahce mesafesi sutunu | SETBACK_BACK | Field | — | Rear setback (m) |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input parcel fields |
nizam_tip | String (20) | Fixed value: "blok" |
ic_kenar_adet | Int | Number of internal shared edges detected (0 = isolated, 1 = end-unit, 2+ = mid-block) |
bina_alan_m2 | Double (20,2) | Building footprint area (m²) |
taks_kullanim | Double (20,4) | Actual TAKS utilisation |
Interpretation Guidance
ic_kenar_adet = 0: The parcel has no shared lateral edges with neighbours. The building behaves essentially as detached. Check that the island grouping field correctly identifies parcels belonging to the same island.
ic_kenar_adet = 2+: Mid-block parcel fully integrated into a continuous row. Both side edges are zero-setback. These parcels achieve the highest coverage utilisation.
Corner parcel handling: Corner parcels with multiple front facades have rear setbacks set to zero (building extends to rear boundary) as per Turkish planning code provisions for corner lots, which prioritise street frontage definition over rear-yard preservation.
References
- Panerai, P., Castex, J., Depaule, J.C. & Samuels, I. (2004). Urban Forms: The Death and Life of the Urban Block. Architectural Press. DOI: 10.4324/9780080472454
- Marshall, S. (2005). Streets and Patterns. Spon Press. DOI: 10.4324/9780203589397
- Steadman, P. (2014). Building Types and Built Forms. Troubador Publishing.
- Jacobs, J. (1961). The Death and Life of Great American Cities. Random House.
- Kropf, K. (1996). Urban tissue and the character of towns. Urban Design International, 1(3), 247–263. DOI: 10.1057/udi.1996.32
- Moudon, A.V. (1986). Built for Change: Neighborhood Architecture in San Francisco. MIT Press.
3.4. Attached Building Coverage (Bitişik Nizam)
3_4_bitisik_nizam Class: AttachedCoverageFootprintAlgorithm
Theoretical Background
Attached order (Bitişik Nizam, "B nizam") represents the densest conventional building arrangement in Turkish planning, where buildings extend to both lateral parcel boundaries, forming a continuous street wall without side yards. This typology corresponds to the row-house, townhouse, and perimeter-block morphologies characteristic of historic urban cores and 19th-century expansion districts across Europe and the Mediterranean basin. The defining regulatory characteristic is the complete absence of lateral setbacks: the building may (and typically does) extend to the full width of the parcel between side boundaries.
The algorithm reflects this with a simplified setback model containing only two non-zero distances: front setback (from the road-facing edge) and rear setback (from the back boundary). All lateral edges unconditionally receive zero setback. The corner-parcel exception mirrors that of the block-coverage algorithm: when a parcel has multiple front facades (a corner condition), the rear setback may be reduced to zero, recognising that corner buildings define two street frontages and the concept of a "rear" becomes ambiguous. The theoretical framework draws on urban block morphology as systematised by Panerai et al. (2004) and the streetscape continuity principle central to both classical urban design (Sitte 1889) and contemporary form-based codes (Parolek et al. 2008).
Mathematical Formulation
on_cephe_adet, indicating whether the parcel is standard (1 front) or corner (2+ fronts).
Coverage Constraint:
$$A_{\text{building}} = A_P \times \text{TAKS}$$
Scaled from the buildable polygon using fit_footprint_to_target_area with the attached-order edge setback vector.
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT | Polygon source | — | Step 2 output |
| Ada ID sutunu | ADA_ID_FIELD | Field (optional) | — | Island grouping field; used for neighbour-aware axle detection |
| TAKS sutunu | TAKS_FIELD | Field | — | Building coverage ratio (0.00–1.00) |
| On bahce mesafesi sutunu | SETBACK_FRONT | Field | — | Front setback (m) |
| Arka bahce mesafesi sutunu | SETBACK_BACK | Field | — | Rear setback (m) |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input parcel fields |
nizam_tip | String (20) | Fixed value: "bitisik" |
on_cephe_adet | Int | Number of front facades (1 = standard, 2+ = corner) |
bina_alan_m2 | Double (20,2) | Building footprint area (m²) |
taks_kullanim | Double (20,4) | Actual TAKS utilisation |
Interpretation Guidance
No side setback parameter: Unlike the detached and block algorithms, this algorithm has no side setback field. This is by design—attached-order regulations permit zero lateral setback by definition. If your local code requires a minimum side setback even in attached zones, the detached-coverage algorithm with appropriate field values should be used instead.
Corner parcel intensity: Corner parcels with zero rear setback will maximise building coverage at the expense of rear open space. This reflects actual practice in dense urban cores where corner buildings define both street frontages. If this is undesirable, consider using the block-coverage algorithm which preserves rear setbacks even for corner parcels.
References
- Sitte, C. (1889/1965). City Planning According to Artistic Principles. Trans. G.R. Collins & C.C. Collins. Random House.
- Parolek, D.G., Parolek, K. & Crawford, P.C. (2008). Form-Based Codes: A Guide for Planners, Urban Designers, Municipalities, and Developers. Wiley.
- Panerai, P., Castex, J., Depaule, J.C. & Samuels, I. (2004). Urban Forms: The Death and Life of the Urban Block. Architectural Press. DOI: 10.4324/9780080472454
- Kostof, S. (1991). The City Shaped: Urban Patterns and Meanings Through History. Bulfinch Press.
- Lynch, K. (1981). A Theory of Good City Form. MIT Press.
- Krier, L. (2009). The Architecture of Community. Island Press. DOI: 10.5822/978-1-61091-124-5
- Steadman, P. (2014). Building Types and Built Forms. Troubador Publishing.
3B. Building Macroform Placement
4_1_bina_makroform Class: BuildingMacroformAlgorithm
Theoretical Background
While the coverage footprint algorithms (3.1–3.4) produce rectangular building envelopes satisfying regulatory constraints, real buildings exhibit formal variety—L-shaped wings, courtyard voids, articulated facades—that affect microclimate, daylight access, and architectural character. The macroform placement algorithm introduces template-based form substitution: a library of user-supplied building geometries (loaded from any open QGIS polygon layer) is matched to each building envelope based on aspect ratio compatibility, then fitted within the envelope through affine transformation (translation, rotation, uniform scaling).
This approach echoes the shape grammar formalism (Stiny & Gips 1972; Stiny 1980) where a vocabulary of primitive forms is recursively transformed and composed. The algorithm performs a simplified single-step grammar application: the building envelope acts as the spatial label constraining the transformation, and the template is the shape rule's replacement geometry. Aspect ratio matching (envelope width/height vs. template bounding box width/height) serves as the primary fitness criterion, reflecting the architectural principle that building form should respond to site proportions (Alexander et al. 1977, Pattern 106: "Positive Outdoor Space").
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Bina taban alanı katmanı | INPUT_BUILDINGS | Polygon source | — | Step 3.x output building footprints |
| Sablon bina formları katmanı | TEMPLATE_LAYER | Vector layer | — | Any open polygon layer in QGIS serving as template library |
| Yalnizca secili nesneler | SELECTED_ONLY | Boolean | False | Use only selected features from the template layer |
| Form cesitlilik seviyesi | DIVERSITY | Enum | 1 (Medium) | 0=Low (best match only), 1=Medium (half-random), 2=High (fully random) |
| Maks alan kullanimi | MAX_UTILIZATION | Double | 95.0 | Maximum bbox area utilisation (%) |
| Sablonu dondur | ROTATE_TO_FIT | Boolean | True | Allow template rotation for best fit to envelope |
| Rastgele tohum | RANDOM_SEED | Integer | 0 | Random seed |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input building fields preserved |
form_tipi | String (50) | Template form type (or "orijinal"/"fallback" if no match) |
macroform_alan_m2 | Double (20,2) | Placed macroform area (m²) |
Interpretation Guidance
Template layer fields: Template features may optionally include form_tipi (string label), min_alan_m2, and max_alan_m2 fields to constrain which templates are considered for a given building envelope. Templates with area constraints outside the envelope's target range are skipped.
Fallback geometries: Buildings labelled "orijinal" or "fallback" in form_tipi indicate that no template could be satisfactorily fitted. This is common when the template library is small or the envelopes have extreme aspect ratios. Expand the template library or adjust the utilisation threshold.
Optional step: This algorithm is entirely optional. If not used, the rectangular building footprints from Step 3 are the final building geometry.
References
- Stiny, G. & Gips, J. (1972). Shape Grammars and the Generative Specification of Painting and Sculpture. Information Processing 71, pp. 1460–1465.
- Stiny, G. (1980). Introduction to shape and shape grammars. Environment and Planning B, 7(3), 343–351. DOI: 10.1068/b070343
- Alexander, C., Ishikawa, S. & Silverstein, M. (1977). A Pattern Language. Oxford University Press.
- Duarte, J.P. (2005). A discursive grammar for customizing mass housing. Automation in Construction, 14(2), 265–275. DOI: 10.1016/j.autcon.2004.07.013
- Koning, H. & Eizenberg, J. (1981). The language of the prairie: Frank Lloyd Wright's prairie houses. Environment and Planning B, 8(3), 295–323. DOI: 10.1068/b080295
- Mitchell, W.J. (1990). The Logic of Architecture: Design, Computation, and Cognition. MIT Press.
3C. Dynamic Macroform (Procedural Building Forms)
4_2_dinamik_form Class: DynamicMacroformAlgorithm
Theoretical Background
Dynamic macroform generation implements a procedural building typology with 12 distinct architectural plan configurations, each governed by structural depth constraints (minimum wing depth 7m, minimum wing width 5m) derived from practical residential construction standards. Unlike the template-based macroform (Step 3B), which requires a pre-existing library of building geometries, the dynamic approach generates forms from parametric rules, offering greater flexibility and eliminating library maintenance overhead.
The 12 form types span the morphological spectrum from simple rectangles (I-form) to complex articulations (E-form, H-form, courtyard), covering the majority of multi-family residential plan configurations documented in the architectural typology literature (Steadman 2014; Lehnerer 2009). The diversity parameter ensures that consecutive parcels receive different forms, creating the heterogeneous streetscape that characterises organic urban growth and avoids the visual monotony of purely repetitive generation. Form feasibility filtering prevents complex forms (O, H, E) from being applied to parcels below minimum dimensional thresholds (20m × 20m for courtyard and H-forms), maintaining architectural realism.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Bina taban alanı katmanı | INPUT_BUILDINGS | Polygon source | — | Step 3 output building footprints serving as buildable bbox |
| Form secim modu | FORM_TYPE | Enum | 0 | 0=Random mixed, 1=Specific forms |
| Izin verilen formlar | ALLOWED_FORMS | Enum (multi) | All 12 | Multi-select: Dikdortgen, L, Ters L, U, T, Ters T, Z, H, C, Avlulu, E, + |
| Cesitlilik | DIVERSITY | Integer | 3 | Consecutive parcel diversity (1–5); higher = fewer repeats |
| Rastgele tohum | RANDOM_SEED | Integer | 0 | Random seed |
Outputs
| Field | Type | Description |
|---|---|---|
| (Original fields) | — | All input building fields |
form_tipi | String (20) | Generated procedural form type label |
form_alan_m2 | Double (20,2) | Generated form area (m²) |
bbox_doluluk | Double (20,4) | Fill ratio: form_area / bbox_area |
Interpretation Guidance
Form distribution feedback: The algorithm logs the distribution of generated form types in the Processing feedback panel. If certain forms are never generated, they may be systematically filtered out by the size-feasibility check (e.g., E-form requires large parcels >30m in at least one dimension).
Fill ratio: The bbox_doluluk field typically ranges from 0.40 (L-forms with long wings) to 0.85 (compact rectangles). Ratios below 0.30 may indicate a mismatch between building envelope and generated form; consider reducing the diversity or restricting to simpler forms.
Wing depth constraint (7m): This architectural minimum ensures all generated forms have habitable room depths. It cannot be changed without modifying MIN_WING_DEPTH and MIN_WING_WIDTH in the source code.
References
- Steadman, P. (2014). Building Types and Built Forms. Troubador Publishing.
- Lehnerer, A. (2009). Grand Urban Rules. 010 Publishers. DOI: 10.5949/mitpress/9780262514781.001.0001
- Müller, P., Wonka, P., Haegler, S., Ulmer, A. & Van Gool, L. (2006). Procedural Modeling of Buildings. ACM Trans. Graph., 25(3), 614–623. DOI: 10.1145/1141911.1141931
- Parish, Y.I.H. & Müller, P. (2001). Procedural Modeling of Cities. Proc. SIGGRAPH 2001, 301–308. DOI: 10.1145/383259.383292
- Schumacher, P. (2009). Parametricism: A New Global Style for Architecture and Urban Design. Architectural Design, 79(4), 14–23. DOI: 10.1002/ad.912
- Wonka, P., Wimmer, M., Sillion, F. & Ribarsky, W. (2003). Instant Architecture. ACM Trans. Graph., 22(3), 669–677. DOI: 10.1145/882262.882324
- Alexander, C. (1964). Notes on the Synthesis of Form. Harvard University Press.
4. Building Optimizer — Parcel-Building Compliance Check
5_veri_kontrol Class: BuildingOptimizerAlgorithm
Theoretical Background
Quality assurance is a critical but often under-automated phase in computational planning workflows. The Building Optimizer performs a systematic compliance audit comparing generated building geometries against parcel-level regulatory constraints, analogous to the plan-checking process in municipal planning departments. It operationalises two verification criteria: (1) density compliance—the aggregate building area within each parcel must not exceed the TAKS-mandated maximum ($A_{\text{buildings}} \leq A_{\text{parcel}} \times \text{TAKS}$), with a 1% numerical tolerance; and (2) geometric validity—building geometries must pass the GEOS isGeosValid() check, which detects self-intersections, ring orientation errors, and other topology violations that would cause downstream processing failures.
The algorithm employs a spatial index (QgsSpatialIndex) for efficient building-to-parcel matching, performing geometric intersection tests only for building-parcel pairs whose bounding boxes overlap. This $O(n \log n)$ approach scales to large datasets with thousands of parcels and buildings, and the boolean status flags (taks_ok, geom_valid) facilitate direct filtering in QGIS for targeted manual correction workflows.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT_PARCELS | Polygon source | — | Parcel layer for spatial context |
| Bina katmanı | INPUT_BUILDINGS | Polygon source | — | Building footprint layer to check |
| TAKS sutunu | TAKS_FIELD | Field (optional) | — | Target building coverage ratio; if empty, TAKS check is skipped (always OK) |
Outputs
| Field | Type | Description |
|---|---|---|
parcel_fid | Int | Source parcel feature ID |
parcel_area_m2 | Double (20,2) | Parcel area (m²) |
building_area_m2 | Double (20,2) | Aggregate building area within parcel (m²) |
taks_actual | Double (20,4) | Actual building coverage ratio |
taks_target | Double (20,4) | Target TAKS from input field |
taks_ok | Bool | TAKS compliance flag |
geom_valid | Bool | All building geometries valid flag |
status | String (50) | Composite status label |
Interpretation Guidance
TAKS violation threshold: The 1% tolerance (taks_target + 0.01) accounts for floating-point arithmetic and minor intersection-area computation discrepancies. Adjust this in the source if stricter compliance is required.
Edge case — buildings extending beyond parcel: The intersection-based area computation (pg.intersection(bg)) means that portions of buildings outside the parcel are excluded from the area calculation. A building entirely outside its parcel contributes zero area, which may mask coverage violations. Consider pre-screening with a containment check if this is a concern.
Workflow diagnostics: This tool is a quality gate. Resolve all TAKS_ASIM and GEOM_HATALI parcels before proceeding to later steps, as invalid or oversize geometries will propagate errors through hard-surface, parking, and landscape generation.
References
- Longley, P.A., Goodchild, M.F., Maguire, D.J. & Rhind, D.W. (2015). Geographic Information Science and Systems. 4th ed. Wiley.
- O'Sullivan, D. & Unwin, D.J. (2010). Geographic Information Analysis. 2nd ed. Wiley. DOI: 10.1002/9780470549094
- Burrough, P.A., McDonnell, R.A. & Lloyd, C.D. (2015). Principles of Geographical Information Systems. 3rd ed. Oxford University Press.
- Rigaux, P., Scholl, M. & Voisard, A. (2001). Spatial Databases: With Application to GIS. Morgan Kaufmann.
- Worboys, M.F. & Duckham, M. (2004). GIS: A Computing Perspective. 2nd ed. CRC Press. DOI: 10.1201/9780367805777
5. Hard Surface Generator (Yurume Alani)
6_hard_surface Class: HardSurfaceAlgorithm
Theoretical Background
Hard surfaces—pathways, service yards, terraces, and access routes surrounding buildings—constitute the connective tissue of settlement morphology, mediating between private building interiors and the public realm. In Turkish planning regulation, these are classified as sert zemin (impervious/hard ground), distinct from yumusak zemin (soft/landscaped ground), with minimum ratios specified in some municipal codes for stormwater management and urban heat island mitigation.
The algorithm generates hard surfaces through a classical computational geometry pipeline: buffer (dilate) the building footprint by a specified walkway width, intersect the buffered polygon with the parcel boundary to ensure surfaces remain within the property, and subtract the original building footprint to avoid double-counting. This three-step Boolean operation pattern—buffer, intersect, difference—is a common idiom in GIS-based site analysis (Longley et al. 2015) and generates a clean topological result: a polygon (or multi-polygon) representing only the walkable area around the building, clipped to the parcel extent.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Bina katmanı | INPUT_BUILDINGS | Polygon source | — | Building footprints from Step 3 or 3B |
| Parsel katmanı | INPUT_PARCELS | Polygon source | — | Parcel boundaries (Step 2 output) |
| Buffer mesafesi | BUFFER_DIST | Double | 3.0 | Walkway width around the building (m); range 1–6 |
Outputs
| Field | Type | Description |
|---|---|---|
parcel_fid | Int | Source parcel feature ID |
hs_area_m2 | Double (20,2) | Hard surface area (m²) |
hs_ratio | Double (20,4) | Hard surface / parcel area ratio |
Interpretation Guidance
Buffer distance: 3–4m corresponds to typical residential walkway/service yard widths. Larger values (5–6m) may be appropriate for commercial or institutional buildings requiring loading zones and wider circulation.
Multi-building parcels: When multiple buildings exist within a single parcel, their geometries are combined (union) before the buffer-difference pipeline. The output is the aggregate hard surface for the entire parcel, not per-building.
Buffer segment count: The algorithm attempts 16-segment buffers first, falling back to 8-segment if the QGIS version does not support the higher parameter. This affects the smoothness (circularity) of the generated walkway corners.
References
- Longley, P.A., Goodchild, M.F., Maguire, D.J. & Rhind, D.W. (2015). Geographic Information Science and Systems. 4th ed. Wiley.
- Forman, R.T.T. (2014). Urban Ecology: Science of Cities. Cambridge University Press. DOI: 10.1017/CBO9781139030472
- Lehmann, S. (2016). Sustainable urbanism: towards a framework for quality and optimal density? Future Cities and Environment, 2(1), 1–14. DOI: 10.1186/s40984-016-0021-3
- Gehl, J. (2011). Life Between Buildings: Using Public Space. Island Press.
- Whyte, W.H. (1980). The Social Life of Small Urban Spaces. Conservation Foundation.
6. Parametric Parking Generator (Ada Uyumlu)
7_parking_generator Class: ParkingGeneratorAlgorithm
Theoretical Background
Parking layout design is fundamentally a geometric packing problem: given a spatial container (the parking area polygon), maximise the number of regularly-shaped stalls while respecting manoeuvring aisle widths, edge margins, and vehicle entry corridors. The algorithm employs a concentric-ring tessellation strategy: parking stalls are placed along the perimeter of the parking area polygon, oriented parallel to each edge segment. After exhausting the perimeter, the polygon is shrunk inward by one stall depth plus one aisle width, and the process repeats—forming concentric "rings" of parking until no further stalls can be placed.
This approach is structurally analogous to offset-polygon algorithms in computational geometry (Kallay 1984) and the morphological erosion used in the FAR coverage solver (Step 3.1). The vehicle entry point, when provided via the road layer, creates a 7m-wide corridor (3.5m radius from the nearest approach point on the road) that is excluded from stall placement, ensuring unimpeded vehicle access. The per-segment stall count follows a linear tessellation: $n = \lfloor L / (w + g) \rfloor$, where $L$ is the segment length, $w$ the stall width (default 2.5m, the Turkish standard), and $g$ the inter-stall gap.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Otopark alanı katmanı | INPUT | Polygon source | — | Parking area polygons |
| Yol Orta Cizgisi | ROAD_LAYER | Line source (opt.) | — | Road centreline for vehicle entry point detection |
| Otopark yeri genisligi | STALL_WIDTH | Double | 2.5 | Stall width (m); Turkish standard for perpendicular parking |
| Otopark yeri derinligi | STALL_DEPTH | Double | 5.0 | Stall depth (m) |
| Arac Gecis/Manevra Yolu | AISLE_WIDTH | Double | 6.0 | Aisle width for inner rings (m) |
| Stall arasi bosluk | STALL_GAP | Double | 0.0 | Gap between stalls (m) |
| Kenar boslugu | EDGE_MARGIN | Double | 0.5 | Edge margin / road setback (m) |
Outputs
| Field | Type | Description |
|---|---|---|
area_fid | Int | Source parking area feature ID |
stall_id | Int | Sequential stall number within the area |
stall_area_m2 | Double (20,2) | Individual stall area (m²) |
Interpretation Guidance
Stall count per area: The feedback panel reports the number of stalls generated per polygon. Divide by the required parking count (from Step 8) to determine parking adequacy.
Concentric ring behaviour: Large polygons will generate multiple rings. Each ring's stalls are placed independently; overlap detection prevents stalls from different rings from intersecting. If inner rings produce zero stalls, the polygon is too narrow for additional rings and the algorithm terminates for that area.
Entry corridor: When the road layer is provided, stalls within 3.5m of the approach line are excluded. This ensures a 7m-wide vehicle access corridor. For parking areas with multiple access points, consider placing separate polygons or using the axis-based parking generator (Helper) for finer control.
References
- Shoup, D. (2005). The High Cost of Free Parking. APA Planners Press. DOI: 10.4324/9781351179560
- ITE (Institute of Transportation Engineers). (2010). Parking Generation. 4th ed. ITE.
- Kallay, M. (1984). The geometry of offset curves. Computer-Aided Design, 16(6), 295–299. DOI: 10.1016/0010-4485(84)90165-9
- Litman, T. (2020). Parking Management Best Practices. 2nd ed. APA Planners Press. DOI: 10.4324/9781351179492
- Manville, M. & Shoup, D. (2005). Parking, People, and Cities. Journal of Urban Planning and Development, 131(4), 233–245. DOI: 10.1061/(ASCE)0733-9488(2005)131:4(233)
- Ben-Joseph, E. (2012). Rethinking a Lot: The Design and Culture of Parking. MIT Press.
7. Landscape Generator (Agac Yerlestirme)
8_landscape_generator Class: LandscapeGeneratorAlgorithm
Theoretical Background
The landscape generator implements a Poisson-disc-like point distribution within the softscape area of each parcel (total parcel area minus building footprints, optionally further restricted to designated green-space polygons). Trees are placed through rejection sampling within the axis-aligned bounding box of the available area, with each candidate point tested against two constraints: (1) it must fall within the available (non-building) area of the parcel, and (2) it must maintain a minimum distance $d_{\text{tree-tree}}$ from all previously placed trees. Each placement attempt is limited to 500 random trials per tree, after which the tree is abandoned if no valid location is found.
The tree density parameter is expressed per 500m² of available area—a unit chosen because it corresponds approximately to a 22m × 22m garden zone, a typical Turkish residential garden parcel scale. The algorithm distinguishes between trees placed in parcel-level gardens (source_type='parsel') and those placed in dedicated green/recreation areas (source_type='yesil_alan'), supporting differentiated styling and counting in later analysis stages.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT_PARCELS | Polygon source | — | Parcel layer for garden areas |
| Bina katmanı | INPUT_BUILDINGS | Polygon source | — | Building layer for exclusion zones |
| Yesil alan katmanı | INPUT_GREEN | Polygon source (opt.) | — | Optional dedicated green/recreation areas |
| Agac yogunlugu | DENSITY | Integer | 1 | Trees per 500m²; range 1–10 |
| Min agac yuksekligi | MIN_HEIGHT | Double | 1.0 | Minimum tree height (m) |
| Max agac yuksekligi | MAX_HEIGHT | Double | 5.0 | Maximum tree height (m) |
| Min agac-bina mesafesi | MIN_TREE_BUILDING | Double | 2.0 | Minimum tree-to-building distance (m) |
| Min agac-agac mesafesi | MIN_TREE_TREE | Double | 3.0 | Minimum tree-to-tree distance (m) |
Outputs
| Field | Type | Description |
|---|---|---|
source_fid | Int | Parcel or green-area feature ID |
height | Double | Assigned tree height (m) |
source_type | String (20) | "parsel" (parcel garden) or "yesil_alan" (designated green area) |
Interpretation Guidance
Density calibration: At density=1, a 500m² garden receives one tree (approximately 1 tree per 22m × 22m). At density=10, the same area receives 10 trees. Adjust based on local landscaping ordinances: many Turkish municipalities require 1 tree per 200–500m² of open space for new developments.
Rejection sampling failures: If the target tree count cannot be achieved (500 failed attempts per tree), the algorithm silently produces fewer trees. Review parcels with unexpectedly low tree counts—they may have highly constrained available areas or may benefit from reduced tree-to-tree distance.
References
- Corner, J. (1999). Recovering Landscape: Essays in Contemporary Landscape Architecture. Princeton Architectural Press.
- Waldheim, C. (2006). The Landscape Urbanism Reader. Princeton Architectural Press. DOI: 10.1007/1-56898-672-6
- McHarg, I.L. (1969). Design with Nature. Natural History Press. DOI: 10.1016/0016-7185(70)90053-8
- Nowak, D.J. & Dwyer, J.F. (2007). Understanding the Benefits and Costs of Urban Forest Ecosystems. In: Kuser, J.E. (ed.) Urban and Community Forestry in the Northeast. Springer, pp. 25–46. DOI: 10.1007/978-1-4020-4289-8_2
- Jim, C.Y. & Chen, W.Y. (2009). Ecosystem services and valuation of urban forests in China. Cities, 26(4), 187–194. DOI: 10.1016/j.cities.2009.03.003
- Cook, E.A. (2002). Landscape structure indices for assessing urban ecological networks. Landscape and Urban Planning, 58(2–4), 269–280. DOI: 10.1016/S0169-2046(01)00226-2
8. Settlement Finalizer — Statistics and Parking Adequacy
9_settlement_finalizer Class: SettlementFinalizerAlgorithm
Theoretical Background
The settlement finalizer synthesises the outputs of all preceding steps into quantitative planning metrics that directly inform regulatory review and decision-making. It implements what urban analytics literature terms a planning support system (PSS) function (Geertman & Stillwell 2009): the automated calculation of density indicators (TAKS, FAR/emission), population estimates, and infrastructure adequacy ratios from spatial data. The algorithm's two-output design separates aggregate statistics (attribute-only table, no geometry) from parcel-level diagnostics (spatial polygon layer with per-parcel parking adequacy), supporting both high-level reporting and targeted intervention.
Population estimation uses the standard density formula common to Turkish planning practice: total construction area divided by average dwelling size yields estimated dwelling count; dwellings multiplied by average household size yields estimated population. The default values—120m² average dwelling size and 2.77 persons per household—reflect 2026 Turkish Statistical Institute (TUIK) data and Izmir regional planning norms. The parking adequacy check applies the 2026 Turkish Parking Regulation (Otopark Yonetmeligi) standard of one parking space per dwelling unit for residential uses.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Parsel katmanı | INPUT_PARCELS | Polygon source | — | Parcel layer |
| Bina katmanı | INPUT_BUILDINGS | Polygon source | — | Building footprint layer |
| Agac katmanı | INPUT_TREES | Point source (opt.) | — | Tree points from Step 7 |
| Sert zemin katmanı | INPUT_HARDSURFACE | Polygon source (opt.) | — | Hard surface from Step 5 |
| Otopark stall katmanı | INPUT_PARKING | Polygon source (opt.) | — | Parking stalls from Step 6 |
| TAKS sutunu | TAKS_FIELD | Field (opt.) | — | Target TAKS |
| KAKS/Emsal sutunu | KAKS_FIELD | Field (opt.) | — | FAR/Emsal for construction area calculation |
| Ortalama daire buyuklugu | FLAT_SIZE | Double | 120.0 | Average dwelling size (m²) |
| Ortalama hane halki buyuklugu | HOUSEHOLD_SIZE | Double | 2.77 | Average household size (persons) |
Outputs
Output 1 — General Statistics (OUTPUT_STATS):
| Field | Type | Description |
|---|---|---|
metric | String (100) | Statistic name (e.g., "parsel_sayisi") |
value | Double (20,2) | Numeric value |
unit | String (20) | Unit of measurement |
Statistics produced: parsel_sayisi, bina_sayisi, toplam_parsel_alan_m2, toplam_bina_alan_m2, ortalama_taks, tahmini_toplam_daire, tahmini_toplam_nufus, gerekli_otopark_toplam, mevcut_otopark_toplam, otopark_fark, and optionally agac_sayisi and sert_zemin_alan_m2.
Output 2 — Parking Adequacy Report (OUTPUT_PARKING_REPORT):
| Field | Type | Description |
|---|---|---|
parcel_fid | Int | Parcel feature ID |
parcel_area_m2 | Double (20,2) | Parcel area |
kaks_emsal | Double (20,4) | FAR value from input |
toplam_insaat_m2 | Double (20,2) | Total construction area (m²) |
tahmini_daire | Int | Estimated dwelling count |
tahmini_nufus | Double (20,1) | Estimated population |
gerekli_otopark | Int | Required parking spaces |
mevcut_otopark | Int | Existing parking stall count |
otopark_yeterli | Bool | Parking adequacy flag |
otopark_fazla_eksik | Int | Surplus (+) or deficit (−) parking spaces |
Interpretation Guidance
Parking deficit: Sort the parking report by otopark_fazla_eksik ascending to identify parcels with the greatest parking shortfall. These parcels may need additional off-street parking areas or reduced dwelling counts.
Population density: Divide tahmini_toplam_nufus by total parcel area (in hectares) to obtain gross population density (persons/hectare). Typical Turkish residential densities range from 50 p/ha (low-density detached) to 400+ p/ha (high-density attached blocks).
KAKS-dependent calculations: If the KAKS field is empty, toplam_insaat_m2 will be zero and all derived estimates (dwellings, population, parking requirement) will also be zero. Ensure KAKS data is available for meaningful reporting.
References
- Geertman, S. & Stillwell, J. (eds.). (2009). Planning Support Systems: Best Practice and New Methods. Springer. DOI: 10.1007/978-1-4020-8952-7
- Batty, M. (2013). The New Science of Cities. MIT Press. DOI: 10.7551/mitpress/9399.001.0001
- Berghauser Pont, M. & Haupt, P. (2010). Spacematrix: Space, Density and Urban Form. NAi Publishers.
- Shoup, D. (2005). The High Cost of Free Parking. APA Planners Press. DOI: 10.4324/9781351179560
- Ewing, R. & Cervero, R. (2010). Travel and the Built Environment: A Meta-Analysis. Journal of the American Planning Association, 76(3), 265–294. DOI: 10.1080/01944361003766766
- Brail, R.K. & Klosterman, R.E. (eds.). (2001). Planning Support Systems: Integrating Geographic Information Systems, Models, and Visualization Tools. ESRI Press.
- TUIK (Turkish Statistical Institute). (2026). Address-Based Population Registration System Results. Ankara.
H1. Urban Furniture Creator (Kentsel Donati)
urban_furniture Class: UrbanFurnitureAlgorithm
Theoretical Background
Urban furniture—benches, lighting, waste receptacles, signage, fountains, and play equipment—constitutes the "micro-architecture" of public space that significantly influences perceived quality, safety, and usability (Whyte 1980; Gehl 2011). This algorithm creates a stylised point layer pre-populated with 12 furniture types as template features (all located at the coordinate origin), each configured with SVG icon symbology, categorised rendering, and ValueMap-driven attribute forms. It functions as a digital catalogue that students and planners populate manually by copying template features to desired locations on the map.
The post-processing phase (postProcessAlgorithm) automatically applies a QgsCategorizedSymbolRenderer with SVG marker symbols and configures the attribute form to use dropdown (ValueMap) widgets for furniture type selection, hiding internal metadata fields. This represents a pedagogical design pattern for QGIS-based planning education, where the tool provides the structured framework and the user provides the site-specific placement decisions—an instance of scaffolded computational support in planning pedagogy.
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Koordinat sistemi | CRS | CRS | EPSG:5253 | CRS for the output layer (should match project) |
Furniture Catalogue
| ID | Name (Turkish) | Category | Size (map units) | Colour |
|---|---|---|---|---|
bank | Oturma Bankı | oturma (seating) | 5.0 | #8B7355 |
aydinlatma | Aydınlatma Diregi | aydinlatma (lighting) | 4.0 | #FFD700 |
cop_kovasi | Cöp Kovası | temizlik (sanitation) | 3.5 | #4A5568 |
yangin_muslubu | Yangın Musluğu | guvenlik (safety) | 4.0 | #E53E3E |
agac_donati | Süs Ağacı | peyzaj (landscape) | 6.0 | #38A169 |
bilgi_panosu | Bilgi Panosu | bilgilendirme (information) | 4.0 | #4A5568 |
cesme | Cesme / Su Ogesi | peyzaj (landscape) | 5.0 | #3182CE |
bisiklet_park | Bisiklet Parkı | ulasim (transport) | 4.5 | #DD6B20 |
elektrik_sarj | EV Sarj Istasyonu | ulasim (transport) | 4.5 | #38B2AC |
oyun_alani | Cocuk Oyun Alanı | rekreasyon (recreation) | 7.0 | #ED8936 |
araba | Araba | ulasim (transport) | 15.0 | #607D8B |
trafik_isigi | Trafik Isigi | ulasim (transport) | 3.0 | #333333 |
Outputs
| Field | Type | Description |
|---|---|---|
donati_id | String (30) | Furniture type identifier (from catalogue) |
donati_adi | String (60) | Furniture display name (hidden in form) |
kategori | String (30) | Functional category (hidden) |
svg_dosya | String (255) | SVG icon file path (hidden) |
renk | String (10) | Hex colour (hidden) |
boyut_mm | Double | Symbol size in map units (hidden) |
aciklama | String (200) | Usage description |
Interpretation Guidance
Usage workflow: (1) Run the algorithm to create the template layer with 12 features at the origin. (2) Toggle editing mode (pencil icon). (3) Copy a template feature and paste at the desired location. (4) Set the donati_id field via dropdown—the SVG symbol updates automatically. This workflow eliminates manual symbology configuration and ensures consistent cartographic representation across projects.
References
- Whyte, W.H. (1980). The Social Life of Small Urban Spaces. Conservation Foundation.
- Gehl, J. (2011). Life Between Buildings: Using Public Space. Island Press.
- Marcus, C.C. & Francis, C. (eds.). (1997). People Places: Design Guidelines for Urban Open Space. 2nd ed. Wiley.
- Carmona, M., Heath, T., Oc, T. & Tiesdell, S. (2010). Public Places, Urban Spaces: The Dimensions of Urban Design. 2nd ed. Routledge. DOI: 10.4324/9780080515427
- Mehta, V. (2013). The Street: A Quintessential Social Public Space. Routledge. DOI: 10.4324/9780203067635
H2. Stairs Generator (Merdiven)
helper_stairs Class: GenerateStairsAlgorithm
Theoretical Background
Staircase geometry in two-dimensional plan representation follows standardised dimensional conventions derived from building codes and ergonomic research. The rise-run relationship (Blondel's formula) governs comfortable stair proportions: $2h_{\text{rise}} + g_{\text{going}} \approx 63\text{cm}$ (Neufert & Neufert 2012). In plan view, a staircase is represented as a rectangular projection whose length equals the total going ($n_{\text{steps}} \times \text{tread depth}$) and whose width equals the stair flight width. The algorithm generates this rectangular projection oriented along the direction of the input line geometry, with optional hatch-pattern symbology applied in post-processing to indicate tread lines.
This computational representation abstracts the staircase to its planimetric envelope, suitable for settlement-plan scale drawings (1:200 to 1:1000) rather than detailed construction documents. The simplification is consistent with the geometric level of detail (LOD) taxonomy proposed by Biljecki et al. (2016) for 3D city models, adapted here to 2D plan representation.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Range | Description |
|---|---|---|---|---|---|
| Iz/Dogrultu Katmani | INPUT | Any geometry | — | — | Line or polygon indicating stair direction and start point |
| Merdiven Genisligi | STAIR_WIDTH | Double | 2.0 | 0.5+ | Stair flight width (m) |
| Basamak Derinligi/Basar | STAIR_TREAD | Double | 0.3 | 0.15+ | Tread depth per step (m) |
| Basamak Sayisi | STAIR_COUNT | Integer | 10 | 1+ | Number of steps |
Outputs
| Field | Type | Description |
|---|---|---|
tip | String (20) | Fixed value: "Merdiven" |
genislik | Double | Stair width (m) |
uzunluk | Double | Total going length (m) |
basamak_sayisi | Int | Step count |
References
- Neufert, E. & Neufert, P. (2012). Architects' Data. 4th ed. Wiley-Blackwell. DOI: 10.1002/9781118255346
- Biljecki, F., Ledoux, H. & Stoter, J. (2016). An improved LOD specification for 3D building models. Computers, Environment and Urban Systems, 59, 25–37. DOI: 10.1016/j.compenvurbsys.2016.04.005
- Templer, J. (1992). The Staircase: Studies of Hazards, Falls, and Safer Design. MIT Press.
- Preiser, W.F.E. & Ostroff, E. (eds.). (2001). Universal Design Handbook. McGraw-Hill.
H3. Ramps Generator (Rampa)
helper_ramps Class: GenerateRampsAlgorithm
Theoretical Background
Accessibility ramps are mandatory elements of inclusive urban design, governed by strict slope and dimensional requirements. International standards (ADA Standards for Accessible Design 2010; TS 12576 in Turkey) specify a maximum running slope of 1:12 (8.33%) for ramps, with a minimum clear width of 0.90m for single-direction travel and 1.50m for bidirectional. The ramp generator creates a rectangular plan projection oriented along the input geometry direction, with a gradient-fill symbol applied in post-processing to visually distinguish ramps from stairs and level surfaces.
The ramp length and width parameters, together with the implied rise, determine the effective slope. Users must independently verify that the resulting slope ratio complies with applicable accessibility codes. The algorithm provides the geometric envelope; regulatory compliance verification remains the planner's responsibility.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Range | Description |
|---|---|---|---|---|---|
| Iz/Dogrultu Katmani | INPUT | Any geometry | — | — | Line or polygon indicating ramp direction |
| Rampa Genisligi | RAMP_WIDTH | Double | 2.0 | 0.5+ | Ramp width (m); min 0.9m for single-direction ADA compliance |
| Rampa Uzunlugu | RAMP_LENGTH | Double | 5.0 | 1.0+ | Ramp length (m) |
Outputs
| Field | Type | Description |
|---|---|---|
tip | String (20) | Fixed value: "Rampa" |
genislik | Double | Ramp width (m) |
uzunluk | Double | Ramp length (m) |
References
- ADA (Americans with Disabilities Act). (2010). ADA Standards for Accessible Design. U.S. Department of Justice.
- Iwarsson, S. & Ståhl, A. (2003). Accessibility, usability and universal design. Disability and Rehabilitation, 25(2), 57–66. DOI: 10.1080/0963828021000007965
- Preiser, W.F.E. & Ostroff, E. (eds.). (2001). Universal Design Handbook. McGraw-Hill.
- Imrie, R. & Hall, P. (2001). Inclusive Design: Designing and Developing Accessible Environments. Spon Press. DOI: 10.4324/9780203362501
- Neufert, E. & Neufert, P. (2012). Architects' Data. 4th ed. Wiley-Blackwell. DOI: 10.1002/9781118255346
H4. Pedestrian Crossing Generator (Yaya Gecidi)
helper_pedestrian_crossing Class: PedestrianCrossingAlgorithm
Theoretical Background
Pedestrian crossings are critical nodes in the multimodal transportation network, representing the formalised intersection of pedestrian desire lines with vehicular carriageways. Their geometric representation in settlement plans follows cartographic conventions that prioritise visual legibility: a transverse line (or polygon) spanning the carriageway width, rendered with a distinctive zebra-stripe or dashed pattern. The algorithm functions primarily as a symbology pass-through, copying the input line geometry to the output while applying map-unit-based dashed-line rendering that creates the characteristic crossing pattern at any scale.
The post-processing symbology applies a dashed line style (dash pattern 3:3) with a line width set in map units (metres), ensuring that the crossing symbol scales correctly with the plan—a cartographic design principle documented in Slocum et al. (2009) for thematic mapping.
Parameters
| Parameter | ID | Type | Default | Range | Description |
|---|---|---|---|---|---|
| Yol Cizgisi | INPUT | Line source | — | — | Road or intersection line marking the crossing |
| Yaya Gecidi Genisligi | CROSSING_WIDTH | Double | 5.0 | 2.0+ | Crossing width for dash-line symbology (m) |
Outputs
| Field | Type | Description |
|---|---|---|
tip | String (20) | Fixed value: "Yaya Gecidi" |
genislik | Double | Crossing width (m) |
Interpretation Guidance
Symbology only: This algorithm does not modify geometry—it is a symbology and metadata tool. The input line is passed through unchanged. To achieve the correct visual result, ensure the output layer's symbology settings are preserved (they are applied automatically by postProcessAlgorithm).
References
- Slocum, T.A., McMaster, R.B., Kessler, F.C. & Howard, H.H. (2009). Thematic Cartography and Geovisualization. 3rd ed. Pearson.
- ITE (Institute of Transportation Engineers). (2010). Designing Walkable Urban Thoroughfares: A Context Sensitive Approach. ITE/CNU.
- Gehl, J. (2010). Cities for People. Island Press.
H5. Parking Axis Layer (Cizgi Otopark Aks Katmani)
helper_parking_axis_layer Class: HelperParkingAxisLayerAlgorithm
Theoretical Background
Axis-based parking generation represents a sketch-and-generate paradigm where the designer draws a spatial control line (the parking axis) and a subsequent algorithm (H6) populates parking stalls along it according to configurable geometric rules. This two-step approach separates creative spatial judgment (where should parking go?) from mechanical tessellation (how should stalls be laid out?)—a design pattern that echoes the separation of concerns principle in parametric design workflows (Woodbury 2010).
This algorithm creates the scratch (in-memory) line layer with preconfigured attribute fields and ValueMap widgets, making it a configuration tool rather than a geometry generator. The output layer has no features initially; the user draws them interactively in QGIS, selecting parking angle (90°, 60°, 45°, 0°/parallel), generation side (right, left, both), stall gap, and axis offset for each drawn axis line via dropdown forms. This interactive parametric approach has roots in direct manipulation interfaces for spatial design.
Scratch Layer Schema
| Field | Type | Widget Type | Description |
|---|---|---|---|
aks_id | Int | Default | Axis identifier |
park_acisi | String (50) | ValueMap | Parking angle: 0=90°, 1=60°, 2=45°, 3=0° (parallel) |
olusturma_yonu | String (50) | ValueMap | Generation side: 0=Right, 1=Left, 2=Both |
hücre_bosluk | Double (10,2) | Default | Inter-stall gap (m) |
aks_mesafesi | Double (10,2) | Range (0–5) | Axis-to-stall offset distance (m) |
References
- Woodbury, R. (2010). Elements of Parametric Design. Routledge. DOI: 10.4324/9780203800201
- Shoup, D. (2005). The High Cost of Free Parking. APA Planners Press. DOI: 10.4324/9781351179560
H6. Axis-Based Parking Generator (Cizgi Cercevesinde Otopark)
helper_axis_parking_generator Class: HelperAxisParkingGeneratorAlgorithm
Theoretical Background
Axis-based parking generation solves the problem of directed, geometry-controlled stall placement along a user-defined control line—a common requirement when parking layout must conform to irregular site boundaries, curved roads, or specific access patterns that the polygon-based perimeter algorithm (Step 6) cannot express. The algorithm processes each axis line segment independently, computing the effective stall width and depth based on the parking angle, then placing stalls at regular intervals along the segment, offset perpendicularly by the axis distance and stall depth.
The parking angle transformation uses trigonometric decomposition derived from standard traffic engineering design guidelines (ITE 2010; Neufert & Neufert 2012). For angled parking (60° or 45°), the effective width along the axis is the stall width divided by the cosine of the complement angle: $w_{\text{eff}} = w / \cos(90° - \alpha)$. The effective depth (perpendicular projection) is $d_{\text{eff}} = d \cos(90° - \alpha) + w \sin(90° - \alpha)$, accounting for the angular geometry.
Mathematical Formulation
Parameters
| Parameter | ID | Type | Default | Description |
|---|---|---|---|---|
| Otopark Cizim Akısı | INPUT | Line source | — | Parking axis lines (typically from H5 scratch layer) |
| Otopark yeri genisligi | STALL_WIDTH | Double | 2.5 | Stall width (m) |
| Otopark yeri derinligi | STALL_DEPTH | Double | 5.0 | Stall depth (m) |
| Park acisi | PARKING_ANGLE | Enum | 0 | 0=90°, 1=60°, 2=45°, 3=0° (parallel) |
| Olusturma Yonu | SIDE | Enum | 0 | 0=Right, 1=Left, 2=Both sides |
| Hucreler arasi bosluk | STALL_GAP | Double | 0.0 | Gap between stalls (m) |
| Akstan uzaklik | AXIS_OFFSET | Double | 0.0 | Axis offset distance (m) |
Outputs
| Field | Type | Description |
|---|---|---|
aks_id | Int | Source axis feature ID |
stall_no | Int | Sequential stall number (global counter) |
alan_m2 | Double (20,2) | Stall area (m²) |
Interpretation Guidance
Feature-level vs. global parameters: Individual axis features may override the global parking angle, side, gap, and offset settings via their attribute fields. When these fields are present and contain valid values, they take precedence over the algorithm dialog values, enabling mixed-angle parking layouts within a single layer.
Stall rotation: The stall rotation angle for angled parking is computed as line_angle - β for the right side. For the left side and non-perpendicular/non-parallel angles, the rotation is recomputed to maintain consistent stall orientation relative to the axis direction.
References
- ITE (Institute of Transportation Engineers). (2010). Parking Generation. 4th ed. ITE.
- Neufert, E. & Neufert, P. (2012). Architects' Data. 4th ed. Wiley-Blackwell. DOI: 10.1002/9781118255346
- Shoup, D. (2005). The High Cost of Free Parking. APA Planners Press. DOI: 10.4324/9781351179560
- Litman, T. (2020). Parking Management Best Practices. 2nd ed. APA Planners Press. DOI: 10.4324/9781351179492
- Ben-Joseph, E. (2012). Rethinking a Lot: The Design and Culture of Parking. MIT Press.
Appendix A: Glossary of Turkish Planning Terms
| Turkish Term | Abbreviation | English Equivalent | Description |
|---|---|---|---|
| Ada | — | Island / Block | A development island bounded by roads or natural features; the primary unit of subdivision |
| Parsel | — | Parcel / Plot | An individual cadastral unit within an island; the basic unit of property and development control |
| Nizam | — | Building Order / Zoning Typology | The legally prescribed building arrangement on a parcel: Ayrık (detached), Blok (block/semi-detached), Bitişik (attached) |
| TAKS | Taban Alanı Katsayısı | Building Coverage Ratio (BCR) | Building footprint area / parcel area; range 0.00–1.00 |
| KAKS / Emsal | Kat Alanı Katsayısı | Floor Area Ratio (FAR) | Total floor area / parcel area; controls built volume |
| Yençok / Hmax | $H_{\max}$ | Maximum Building Height | Maximum permitted building height in metres |
| Ön Bahçe | — | Front Yard / Front Setback | Setback distance from the parcel front (road-facing) edge |
| Yan Bahçe | — | Side Yard / Side Setback | Setback distance from parcel lateral edges |
| Arka Bahçe | — | Rear Yard / Back Setback | Setback from the parcel rear boundary |
| Yapı Yaklaşma Mesafesi | — | Building Approach Distance | Minimum distance from the island boundary (often 5m) |
| Cephe | — | Facade | A parcel edge classified by its orientation relative to roads |
| Köşe Parsel | — | Corner Parcel | A parcel with two or more front facades (at a street intersection) |
| Sert Zemin | — | Hard Surface | Impervious ground: walkways, service yards, paved areas |
| Yaya Geçidi | — | Pedestrian Crossing | A marked crossing point across a vehicular carriageway |
| Otopark | — | Parking / Car Park | Vehicle parking area |
| Merdiven | — | Stairs / Staircase | A vertical circulation element with steps |
| Rampa | — | Ramp | An inclined accessible circulation element |
| Donatı | — | Urban Furniture / Street Furniture | Benches, lighting, bins, signage, and other public-space elements |
Appendix B: Turkish Planning Control Framework
The algorithms in this toolset operationalise provisions from the following regulatory instruments:
- Imar Kanunu (Zoning Law) No. 3194 (1985, as amended): The primary legal framework for physical planning in Turkey, defining the hierarchy of plans (spatial strategy plans, environmental plans, master plans, implementation plans) and establishing the development permit system.
- Planli Alanlar Imar Yonetmeligi (Planned Areas Zoning Regulation) (2017, as amended): Defines the detailed rules for building placement (nizam types), setbacks, TAKS/KAKS calculation, and parcel dimensions. The four nizam types used in Step 3 algorithms are defined in Article 19 of this regulation.
- Otopark Yonetmeligi (Parking Regulation) (2018, as amended): Specifies minimum parking requirements by use type. For residential uses: 1 parking space per dwelling unit (the default in Step 8). For commercial uses, the ratio varies by floor area and retail typology.
- TS 12576 (Turkish Standards Institution): Accessibility standards for urban spaces, specifying maximum ramp slopes (8% for permanent ramps, 5% preferred), minimum clear widths, and stair dimensional requirements aligned with international ISO standards.
- TUIK 2026 Data: Average household size of 2.77 persons is the official Turkish Statistical Institute figure, used for population estimation in Step 8.
Appendix C: Collected References
- Alexander, C. (1964). Notes on the Synthesis of Form. Harvard University Press.
- Alexander, C., Ishikawa, S. & Silverstein, M. (1977). A Pattern Language. Oxford University Press.
- Barnett, J. (1982). An Introduction to Urban Design. Harper & Row.
- Batty, M. (2013). The New Science of Cities. MIT Press. DOI: 10.7551/mitpress/9399.001.0001
- Batty, M. & Longley, P. (1994). Fractal Cities: A Geometry of Form and Function. Academic Press.
- Beirão, J.N., Duarte, J.P. & Stouffs, R. (2012). Structuring a Generative Model for Urban Design. Proceedings of eCAADe 2012, 323–332.
- Ben-Joseph, E. (2012). Rethinking a Lot: The Design and Culture of Parking. MIT Press.
- Berghauser Pont, M. & Haupt, P. (2010). Spacematrix: Space, Density and Urban Form. NAi Publishers.
- Biljecki, F., Ledoux, H. & Stoter, J. (2016). An improved LOD specification for 3D building models. Computers, Environment and Urban Systems, 59, 25–37. DOI: 10.1016/j.compenvurbsys.2016.04.005
- Carmona, M., Heath, T., Oc, T. & Tiesdell, S. (2010). Public Places, Urban Spaces. 2nd ed. Routledge. DOI: 10.4324/9780080515427
- Conzen, M.R.G. (1960/1969). Alnwick, Northumberland: A Study in Town-Plan Analysis. Institute of British Geographers. DOI: 10.2307/621094
- Corner, J. (1999). Recovering Landscape: Essays in Contemporary Landscape Architecture. Princeton Architectural Press.
- Duarte, J.P. (2005). A discursive grammar for customizing mass housing. Automation in Construction, 14(2), 265–275. DOI: 10.1016/j.autcon.2004.07.013
- Ewing, R. & Cervero, R. (2010). Travel and the Built Environment. Journal of the American Planning Association, 76(3), 265–294. DOI: 10.1080/01944361003766766
- Geertman, S. & Stillwell, J. (eds.) (2009). Planning Support Systems. Springer. DOI: 10.1007/978-1-4020-8952-7
- Gehl, J. (2010/2011). Cities for People / Life Between Buildings. Island Press.
- Hillier, B. (1996). Space is the Machine. Cambridge University Press.
- Hillier, B. & Hanson, J. (1984). The Social Logic of Space. Cambridge University Press. DOI: 10.1017/CBO9780511597237
- Imrie, R. & Hall, P. (2001). Inclusive Design. Spon Press. DOI: 10.4324/9780203362501
- ITE. (2010). Parking Generation. 4th ed. Institute of Transportation Engineers.
- Iwarsson, S. & Ståhl, A. (2003). Accessibility, usability and universal design. Disability and Rehabilitation, 25(2), 57–66. DOI: 10.1080/0963828021000007965
- Kallay, M. (1984). The geometry of offset curves. Computer-Aided Design, 16(6), 295–299. DOI: 10.1016/0010-4485(84)90165-9
- Kropf, K. (1996/2017). Urban tissue and the character of towns / The Handbook of Urban Morphology. Wiley. DOI: 10.1002/9781118747711
- Lehnerer, A. (2009). Grand Urban Rules. 010 Publishers. DOI: 10.5949/mitpress/9780262514781.001.0001
- Litman, T. (2020). Parking Management Best Practices. 2nd ed. APA Planners Press. DOI: 10.4324/9781351179492
- Longley, P.A. et al. (2015). Geographic Information Science and Systems. 4th ed. Wiley.
- Lynch, K. (1981). A Theory of Good City Form. MIT Press.
- Marshall, S. (2005/2009). Streets and Patterns / Cities, Design and Evolution. Routledge. DOI: 10.4324/9780203589397
- Martin, L. & March, L. (1972). Urban Space and Structures. Cambridge University Press.
- McHarg, I.L. (1969). Design with Nature. Natural History Press. DOI: 10.1016/0016-7185(70)90053-8
- Mitchell, W.J. (1990). The Logic of Architecture. MIT Press.
- Moudon, A.V. (1986/1997). Built for Change / Urban morphology as an emerging interdisciplinary field. Urban Morphology, 1(1), 3–10. DOI: 10.51347/jum.v1i1.4047
- Müller, P. et al. (2006). Procedural Modeling of Buildings. ACM Trans. Graph., 25(3), 614–623. DOI: 10.1145/1141911.1141931
- Neufert, E. & Neufert, P. (2012). Architects' Data. 4th ed. Wiley-Blackwell. DOI: 10.1002/9781118255346
- Oliveira, V. (2016). Urban Morphology: An Introduction. Springer. DOI: 10.1007/978-3-319-32083-0
- Panerai, P. et al. (2004). Urban Forms: The Death and Life of the Urban Block. Architectural Press. DOI: 10.4324/9780080472454
- Parish, Y.I.H. & Müller, P. (2001). Procedural Modeling of Cities. Proc. SIGGRAPH 2001, 301–308. DOI: 10.1145/383259.383292
- Parolek, D.G. et al. (2008). Form-Based Codes. Wiley.
- Preiser, W.F.E. & Ostroff, E. (eds.) (2001). Universal Design Handbook. McGraw-Hill.
- Schumacher, P. (2009). Parametricism. Architectural Design, 79(4), 14–23. DOI: 10.1002/ad.912
- Shoup, D. (2005). The High Cost of Free Parking. APA Planners Press. DOI: 10.4324/9781351179560
- Sitte, C. (1889/1965). City Planning According to Artistic Principles. Random House.
- Slocum, T.A. et al. (2009). Thematic Cartography and Geovisualization. 3rd ed. Pearson.
- Steadman, P. (2014). Building Types and Built Forms. Troubador Publishing.
- Stiny, G. (1980). Introduction to shape and shape grammars. Environment and Planning B, 7(3), 343–351. DOI: 10.1068/b070343
- Templer, J. (1992). The Staircase. MIT Press.
- Waldheim, C. (2006). The Landscape Urbanism Reader. Princeton Architectural Press. DOI: 10.1007/1-56898-672-6
- Whyte, W.H. (1980). The Social Life of Small Urban Spaces. Conservation Foundation.
- Wonka, P. et al. (2003). Instant Architecture. ACM Trans. Graph., 22(3), 669–677. DOI: 10.1145/882262.882324
- Woodbury, R. (2010). Elements of Parametric Design. Routledge. DOI: 10.4324/9780203800201