The national land inventory assigns every upazila a zone number for each of fifteen crops. Zones group upazilas into contiguous production belts: a low number is a core growing area, a high one is peripheral.
A zone is a planning decision. It records where the country intends a crop to be grown, taking in soil, climate, existing cropping patterns, infrastructure and policy. It is not a measurement of the ground. The same source row carries that separately, as five land suitability class areas in hectares — and those two things can disagree.
That disagreement is what this atlas is built to show. Everything else here exists to support it.
| Zone | Name | Meaning |
|---|---|---|
| 1 | Core belt | The primary production belt — the land this crop is planned around. |
| 2 | Secondary belt | Solidly inside the growing area, but not its centre. |
| 3 | Marginal belt | The edge of the belt; the crop is grown but is not the priority. |
| 4 | Outside the belt | Beyond the planned growing area for this crop. |
| 5 | Not zoned | Placed outside every belt for this crop. |
The names above are generic on purpose. Zone definitions differ slightly from crop to crop, so naming them after specific regions ("the northern wheat belt") would be a claim the data does not make. What the data does state is the order, and that is what the colours encode.
A zone is a category. The average of "zone 1" and "zone 3" is not "zone 2" — it is nonsense. So a district's zone is the belt that most of its land sits in, weighted by hectares rather than by upazila count: a belt covering most of a district's farmland describes it better than one that happens to contain more small thanas.
Every other figure here answers "what does this crop think of this place?". The core-belt count turns that around: how many of the fifteen crops treat this place as their core belt?
It is the one number on this site that cannot be seen by looking at crops one at a time. An upazila in the core belt of nine crops is doing something structurally different from one in the core belt of two — it is agricultural land the whole national plan leans on. That fact is invisible in fifteen separate files, and invisible in the Suitability Atlas too.
To test a plan you need something independent to test it against. That something is the Crop Suitability Index (CSI) — the same 0–100 measure the Suitability Atlas is built on, computed by area-weighting the five land classes:
It is deliberately unchanged between the two sites, so the same place carries the same number in both and they can be read side by side.
A place's agreement figure is its CSI minus the national mean CSI of all land in the same zone, for the same crop:
Comparing against the national average instead would be a mistake, because zones are not meant to be equal — zone 4 land is expected to be poorer, and marking every zone 4 upazila as "below average" would say nothing at all. Asking instead "is this place better or worse than the others the planners put in the same category?" is the only version of the question this data can actually answer.
Differences under 8 CSI points are reported as "in line with its zone". Below that, the gap is ordinary spread within a belt rather than a mismatch worth acting on.
Each crop's per-zone means are derived from whatever is loaded, for that crop, rather than being hard-coded. Zone definitions differ between crops — Jute's zone 2 is not Wheat's zone 2 — so a single fixed table would compare places against a baseline that does not describe them. It is built from upazila rows before any roll-up, because aggregating to district level first would compress the spread and flatten the very mismatches the measure exists to find.
That chart plots mean CSI for each zone, nationwide. If a zoning is well drawn, the bars step downward as the zone number rises, and the card title says so. A flat or rising profile means the belts are not tracking land quality for that crop — which is a finding, not an error. Zones legitimately encode things CSI knows nothing about: irrigation coverage, market access, processing capacity, and what else the same land is already growing.
This atlas is a read-only view onto the same database the
Crop Suitability Atlas writes. Both read one table,
cs_suitability, holding one row per crop per upazila.
That is deliberate. The two sites are built from identical source rows, and two importers writing one table is exactly how the numbers on two dashboards quietly stop matching. There is therefore no upload panel and no seeder here: data is loaded once, through the Suitability Atlas admin, and both atlases read the result.
The inventory covers 466 upazilas. The boundary file has around 495, so roughly thirty are absent — city corporation thanas with no farmland to zone, plus a few hill and char thanas. They are drawn with a diagonal hatch rather than a colour, because a flat grey fill still reads as a category on a colour scale and the eye files it somewhere near the bottom of the ladder — which is wrong for land the zoning simply never covered.
The source files key on district and upazila text, transliterated before the 2018
renamings — so BARISAL has to reach Barishal, CHITTAGONG has to reach
Chattogram, and a bare Borguna has to reach Barguna Sadar. The four-stage
matcher that does this is
documented in full on the Suitability Atlas, and
the code here is a byte-for-byte twin of its browser-side matcher — if the two ever diverged, the
same row would land on a different polygon depending on which site you opened.
On the database path the join has already happened at import time. On the CSV path it runs in
your browser; type ZoneAtlasMatchReport() in the console to see the match rate per
crop and every row that failed.
Press Esc to close the compare panel, or to return to the whole country. Clicking any
region drills into it; the breadcrumb walks back out.
Both sites read the same rows. Each row carries two different things, and each site leads with one of them.
| Suitability Atlas | Zoning Atlas (this one) | |
|---|---|---|
| Leads with | Five land class areas → CSI | The crop zone |
| Answers | How good is this land for this crop? | Which belt is this place in, and does the belt fit the land? |
| Map default | CSI, a fixed 0–100 ladder | Zone, a categorical belt |
| Unique measure | Best-crop leaderboard for a place | Core-belt count, and zone–land agreement |
| Writes data | Yes — the admin panel lives there | No — read-only |
Administrative boundaries are the same division / district / upazila GeoJSON used by the BDHS
Health Atlas and the Bangladesh Air Quality Atlas, keyed on the 8-digit GEO_CODE
(2 digits division + 2 district + 2 upazila). Sharing them is deliberate: a place picked in one
atlas is exactly the same place in the others.