{
  "dataset": "city-plan-zoning",
  "title": "Bangkok city-plan zoning of tracked projects",
  "description": "What the Bangkok comprehensive plan permits where the tracked projects are being built, grouped by the zone each one falls in: the floor area ratio and open space ratio in force, and how the March 2026 draft plan would change them. Zone assignment is a point-in-polygon query on each project's own coordinates against the city planning department's published layers. FAR and OSR govern the zone, not the plot: setbacks, road-width rules and a project's own EIA conditions apply on top.",
  "source": "BaanScope — https://baanscope.com/data",
  "upstreamSource": "Bangkok Metropolitan Administration city-planning ArcGIS services",
  "upstreamSourceUrl": "https://cpudgiportal.bangkok.go.th",
  "license": "CC BY 4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "Data: BaanScope (https://baanscope.com/data), CC BY 4.0",
  "coverage": "Bangkok Metropolitan Region off-plan and under-construction projects from nine SET-listed developers, re-checked against developer websites roughly every 2 days.",
  "generated": "2026-09-23",
  "suppression": "Per-group price statistics are omitted where a group has fewer than 3 projects.",
  "columns": [
    {
      "key": "useClass",
      "label": "use_class",
      "note": "Land-use class the plan in force assigns to the zone, in English."
    },
    {
      "key": "farCurrent",
      "label": "far_current",
      "note": "Floor area ratio in force for this class and zone group: permitted gross floor area divided by plot area, under the 2013 ministerial regulation."
    },
    {
      "key": "osrCurrentPct",
      "label": "osr_current_pct",
      "note": "Open space ratio in force, percent of gross floor area that must stay open."
    },
    {
      "key": "projects",
      "label": "projects",
      "note": "Tracked projects whose coordinates fall in a zone of this class at this FAR."
    },
    {
      "key": "districts",
      "label": "districts",
      "note": "Distinct districts those projects sit in."
    },
    {
      "key": "zones",
      "label": "numbered_zones",
      "note": "Distinct numbered zones of the plan making up this group, e.g. Y10-2 and Y10-8 both count once."
    },
    {
      "key": "farRaisedInDraft",
      "label": "far_raised_in_draft",
      "note": "Of those projects, how many the March 2026 draft plan would give a higher FAR."
    },
    {
      "key": "farLoweredInDraft",
      "label": "far_lowered_in_draft",
      "note": "How many the draft would give a lower FAR."
    },
    {
      "key": "farUnchangedInDraft",
      "label": "far_unchanged_in_draft",
      "note": "How many keep the same FAR, including where the zone is merely renumbered."
    },
    {
      "key": "noDraftZone",
      "label": "no_draft_zone",
      "note": "How many fall outside the draft plan's published layer, so no comparison is possible."
    },
    {
      "key": "farDraftMax",
      "label": "far_draft_max",
      "note": "Highest FAR the draft plan would assign to any project in the group. Empty where none has a draft zone."
    }
  ],
  "rowCount": 17,
  "rows": [
    {
      "useClass": "Low-density residential",
      "farCurrent": 2.5,
      "osrCurrentPct": 12.5,
      "projects": 29,
      "districts": 13,
      "zones": 18,
      "farRaisedInDraft": 11,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 15,
      "noDraftZone": 3,
      "farDraftMax": 3
    },
    {
      "useClass": "High-density residential",
      "farCurrent": 7,
      "osrCurrentPct": 4.5,
      "projects": 22,
      "districts": 11,
      "zones": 14,
      "farRaisedInDraft": 5,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 14,
      "noDraftZone": 3,
      "farDraftMax": 8
    },
    {
      "useClass": "Medium-density residential",
      "farCurrent": 4.5,
      "osrCurrentPct": 6.5,
      "projects": 19,
      "districts": 13,
      "zones": 15,
      "farRaisedInDraft": 7,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 10,
      "noDraftZone": 2,
      "farDraftMax": 8
    },
    {
      "useClass": "Medium-density residential",
      "farCurrent": 4,
      "osrCurrentPct": 7.5,
      "projects": 18,
      "districts": 9,
      "zones": 10,
      "farRaisedInDraft": 9,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 6,
      "noDraftZone": 3,
      "farDraftMax": 7
    },
    {
      "useClass": "Low-density residential",
      "farCurrent": 3,
      "osrCurrentPct": 10,
      "projects": 18,
      "districts": 9,
      "zones": 8,
      "farRaisedInDraft": 14,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 4,
      "noDraftZone": 0,
      "farDraftMax": 5
    },
    {
      "useClass": "High-density residential",
      "farCurrent": 8,
      "osrCurrentPct": 4,
      "projects": 11,
      "districts": 5,
      "zones": 5,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 10,
      "noDraftZone": 1,
      "farDraftMax": 8
    },
    {
      "useClass": "High-density residential",
      "farCurrent": 6,
      "osrCurrentPct": 5,
      "projects": 11,
      "districts": 6,
      "zones": 8,
      "farRaisedInDraft": 1,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 9,
      "noDraftZone": 1,
      "farDraftMax": 6.5
    },
    {
      "useClass": "Conserved rural and agricultural",
      "farCurrent": 1,
      "osrCurrentPct": 40,
      "projects": 11,
      "districts": 6,
      "zones": 7,
      "farRaisedInDraft": 9,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 0,
      "noDraftZone": 2,
      "farDraftMax": 3.5
    },
    {
      "useClass": "Commercial",
      "farCurrent": 7,
      "osrCurrentPct": 4.5,
      "projects": 10,
      "districts": 8,
      "zones": 10,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 8,
      "noDraftZone": 2,
      "farDraftMax": 7
    },
    {
      "useClass": "Medium-density residential",
      "farCurrent": 5,
      "osrCurrentPct": 6,
      "projects": 10,
      "districts": 8,
      "zones": 8,
      "farRaisedInDraft": 4,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 4,
      "noDraftZone": 2,
      "farDraftMax": 6
    },
    {
      "useClass": "Low-density residential",
      "farCurrent": 1.5,
      "osrCurrentPct": 20,
      "projects": 9,
      "districts": 7,
      "zones": 5,
      "farRaisedInDraft": 4,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 3,
      "noDraftZone": 2,
      "farDraftMax": 3
    },
    {
      "useClass": "Rural and agricultural",
      "farCurrent": 1,
      "osrCurrentPct": 40,
      "projects": 9,
      "districts": 4,
      "zones": 7,
      "farRaisedInDraft": 6,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 1,
      "noDraftZone": 2,
      "farDraftMax": 1.5
    },
    {
      "useClass": "Commercial",
      "farCurrent": 10,
      "osrCurrentPct": 3,
      "projects": 5,
      "districts": 4,
      "zones": 4,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 5,
      "noDraftZone": 0,
      "farDraftMax": 10
    },
    {
      "useClass": "Commercial",
      "farCurrent": 8,
      "osrCurrentPct": 4,
      "projects": 2,
      "districts": 2,
      "zones": 2,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 2,
      "noDraftZone": 0,
      "farDraftMax": 8
    },
    {
      "useClass": "Industrial",
      "farCurrent": 1.5,
      "osrCurrentPct": 20,
      "projects": 1,
      "districts": 1,
      "zones": 1,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 1,
      "noDraftZone": 0,
      "farDraftMax": 1.5
    },
    {
      "useClass": "Low-density residential",
      "farCurrent": 1,
      "osrCurrentPct": 40,
      "projects": 1,
      "districts": 1,
      "zones": 1,
      "farRaisedInDraft": 1,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 0,
      "noDraftZone": 0,
      "farDraftMax": 1.5
    },
    {
      "useClass": "Conserved rural and agricultural",
      "farCurrent": 0.5,
      "osrCurrentPct": 100,
      "projects": 1,
      "districts": 1,
      "zones": 1,
      "farRaisedInDraft": 0,
      "farLoweredInDraft": 0,
      "farUnchangedInDraft": 0,
      "noDraftZone": 1,
      "farDraftMax": null
    }
  ]
}
