How does a map become an estimate of the time it takes to reach care? The unequal road to care uses modelled travel times to the nearest mapped health facility. These are calculated journeys, not trips someone has driven. This notebook follows that healthcare calculation. The girls' school analysis uses the same broad approach, but requires its own destination list and travel-time surface.
One approach is to calculate routes along a road network, from a village or another chosen starting point to nearby facilities. Another divides the country into a grid and estimates the time needed to move between neighbouring cells. The grid approach gives a travel time to every cell, including places away from mapped roads. Its detail depends on the size of the cells and the movement assumptions built into them.
For healthcare, the Malaria Atlas Project has already published that travel-time grid. Adaad combined it with boundaries and population estimates to calculate local and national averages. This notebook explains how the grid is made, then follows the steps Adaad carried out. It shows why the same map gives an average of about 204 minutes across cells and 22 minutes across people.
Two interactive exercises let you explore a grid and change where people live. A spreadsheet exercise reproduces the national healthcare figures from the tehsil table. By the end, you should be able to explain a travel-time surface, calculate a population-weighted mean, and say what a national average leaves out.
Four steps, two starting points
- Price movement. Build a friction surface: minutes per metre.
- Find the cheapest journey. Combine that surface with mapped destinations to produce travel times in minutes.
- Choose the places. Assign valid travel cells to tehsil boundaries.
- Weight and summarise. Combine times with population counts; report a mean and a threshold share.
For the healthcare analysis: steps 1–2 come from the published MAP healthcare layers. Adaad undertook steps 3–4. New destinations: a school or court list requires a new step 2. The healthcare travel-time raster cannot answer that question.
Start with the 15-minute CSV exercise ↓A map made of cells
A digital map can describe shapes or a grid. A tehsil boundary is a polygon, a road is a line, and a clinic is a point. These are vector data. A raster divides space into cells and stores a value in each one: a travel time, a population count, or a cost of movement. This analysis brings the shapes and the grid together.
Four layers on one grid
This is an invented teaching model, not a map of a real place. Each cell is one kilometre square. Paint roads and rough ground, move the clinic, and watch the travel-time surface recompute. The two tehsils are a vector boundary laid over the same cells.
Painting roads or changing the ground also changes where this example places people. The weighted average can therefore change for two reasons: travel times change, and the population weights change. The next exercise lets you change only the population.
The explorer uses minutes per kilometre for easy reading. The real friction layer uses minutes per metre: 2 minutes per kilometre equals 0.002 minutes per metre.
This explorer needs JavaScript. The four layers are friction, travel time, population and tehsil boundaries; the text above describes each.
Cost of a step = the friction of the cell you enter × distance travelled. Sideways steps are 1 km; diagonal steps are 1.41 km. The search starts at the clinic and always settles the cheapest unsettled cell next, so each cell's time is final when it is settled, not when a possible route to it is first found.
The travel grid has cells 30 arc-seconds on a side, or one 120th of a degree. That is roughly 0.9 kilometres north to south; the width shrinks with latitude, from about 0.8 kilometres around Karachi to about 0.75 around Hunza. The clipped rectangle is 1,608 rows by 2,018 columns, with about 1.2 million valid cells inside the reporting boundaries.
A road narrower than a cell can influence its value. But the output still assigns one travel time to the whole cell. It cannot distinguish two homes within that cell, and a sub-minute result should not be read as a precisely measured trip. Resolution limits the questions a map can answer.
The friction surface
The first layer describes how costly movement is. The Malaria Atlas Project's friction surface stores minutes per metre, not minutes per cell. Multiplying that cost by a movement distance gives a time. A diagonal step between cells covers more ground than a horizontal one, so a routing calculation must account for distance as well as the cell values.
The researchers combined roads, land cover, terrain and other transport information. Their road inputs draw on OpenStreetMap and Google sources. Roads can permit faster movement; slopes and land cover can slow it. Water is handled through transport assumptions too, rather than treated as an impassable barrier everywhere. These choices turn geography into modelled movement costs. The friction-layer documentation gives the units and inputs.
The motorized scenario allows vehicle travel where the model permits it. The walking scenario removes that option. They are scenarios, not reliable upper and lower bounds on any household's journey. Waiting for transport, road damage, fares and seasonal conditions can all change the trip. When a map disagrees with local knowledge, inspect the destination list, grid, dates and movement assumptions before blaming the routing algorithm.
The shortest path
Imagine starting at the mapped clinics and working outward across the grid. At each step, visit the cell with the shortest travel time found so far among those still waiting to be visited. Then check whether travelling through it offers a quicker route to any neighbouring cell. For example, reaching a cell by a road may reveal a faster way to its neighbour than the route across rough ground found earlier. This is the idea behind Dijkstra's algorithm.
With movement costs of zero or more, a cell's time becomes final when it is visited in that order; the algorithm calls this cell ‘settled’. Finding a possible route to a cell is not the same as settling it. The calculation can be exact for the grid it is given while the grid remains an approximation of the world.
An exact answer to a model is still a modelled answer to a journey.
The Malaria Atlas Project has already published global travel-time surfaces to hospitals and clinics mapped in OpenStreetMap and Google Maps. For this issue, Adaad reused those surfaces; we did not run a new shortest-path calculation. The study and methods explain their construction, and the project download page supplies the layers.
“Nearest” here means the mapped facility reached at the lowest modelled travel cost. It does not mean a facility with the right service, an available clinician, medicine in stock, or an affordable fee. Nor is the estimate a guaranteed minimum for an actual journey. Omit a real facility and modelled times can rise or stay unchanged; include a closed or wrongly located one and they can fall. The destination list is part of the definition of access.
From cells to places
The surface answers questions about cells. To report on a tehsil, we assign cells to its boundary and summarise their values. This is called zonal statistics. Our build uses the cell centre to decide which polygon receives a cell, so small boundaries and coastlines are especially sensitive to the grid's placement.
The 2015 boundary frame contains 147 districts and 553 tehsils; later subdivisions remain within their older parent boundaries. Of those tehsils, 552 have valid cells and positive modelled population in this build. Manora Cantonment has no valid cells and its estimates are missing, not zero. The median among the 552 is 1,254 cells. Karachi Cantonment has seven, representing about 252,000 modelled people.
Publish the cell count because it reveals how coarse the spatial representation is. It is not a sample size or a guarantee of statistical reliability: neighbouring raster cells are related, and thousands of cells can share the same underlying model error.
Weighting by people
There are two different questions to ask of the same surface. What is the average travel time across cells? And what is the average across the people allocated to those cells? In the tehsil-covered grid, the answers are about 204 minutes and 22 minutes respectively. Each cell counts equally in the first calculation. Each modelled person counts equally in the second.
The first is a mean over cells, not strictly an area-weighted mean: these degree-based cells have different physical areas at different latitudes. It describes the grid's geography. The population-weighted mean is the relevant measure for a statement about average access among the represented population. Neither calculation describes the experience of every resident.
Four cells, two answers
Four equal-area cells. Their travel times are fixed. Move the people between them and watch which average moves.
(10 × 600 + 20 × 300 + 60 × 80 + 120 × 20) ÷ 1,000 = 19.2 min
(10 + 20 + 60 + 120) ÷ 4 = 52.5 min, whatever the people do
The same example as a table
| Cell | Minutes | People | Minutes × people |
|---|---|---|---|
| A | 10 | 600 | 6,000 |
| B | 20 | 300 | 6,000 |
| C | 60 | 80 | 4,800 |
| D | 120 | 20 | 2,400 |
| Total | 210 | 1,000 | 19,200 |
The formula is sum of (minutes × population) ÷ sum of population. A cell with thirty times as many people has thirty times the influence on the population-weighted mean. In the cell mean, both cells have equal influence.
The same weighting rule lets us combine tehsils. Killa Saifullah's six tehsils range from 41.3 minutes in Kan Mehtarzai to 374.5 in Badini, about a nine-fold spread. Weighting each tehsil's mean by its population gives 112.3 minutes across the six. A district average hides these local differences.
In Shigar, the mean across cells is 1,086.8 minutes, against 431.3 when weighted by population. The difference is consistent with people being concentrated in more accessible parts of a mountainous tehsil. It does not independently prove where every household lives. WorldPop estimates the distribution of people using census information and covariates, including roads; its unconstrained method can allocate population across the landscape rather than only to identified buildings.
If a population model wrongly places people close to roads, it can pull weighted travel times down. If it places people in uninhabited remote cells, it can push them up. Sharing a road input with the travel model is a reason to check sensitivity, not evidence that the net error must go in one direction. Better weights require better information about settlement, not a presumption that weighting removes uncertainty.
For most tehsils, population weighting lowers the mean. But in 13 of the 552 valid rows it raises it. This is possible whenever the model places more people in cells that are less accessible than the tehsil's typical cell. The diagonal in Figure 3 marks agreement; points on either side answer different spatial questions.
A mean also hides the tail. The national population-weighted mean is 22.1 minutes, yet the table implies about 7.45 per cent of its represented population lives in cells more than 60 modelled motorized minutes from a mapped facility: roughly 16.36 million people on the 2020 population base. Publish a threshold share alongside the mean. A small average can coexist with a large group facing long journeys.
Find a tehsil
All 552 plotted tehsils, with the same values as the charts. Manora Cantonment is missing from the calculation. Times are modelled motorized minutes; population is the modelled 2020 count.
Open searchable data table
552 tehsils
| Tehsil | Province | Valid cells | Population | Cell mean (min) | Population mean (min) | Population >60 min (%) |
|---|---|---|---|---|---|---|
| Bagh | Azad Jammu & Kashmir | 630 | 220,343 | 46.0 | 25.8 | 10.8 |
| Dheerkot | Azad Jammu & Kashmir | 323 | 134,706 | 57.6 | 52.6 | 30.7 |
| Barnala | Azad Jammu & Kashmir | 579 | 122,638 | 60.8 | 60.1 | 50.8 |
| Bhimber | Azad Jammu & Kashmir | 510 | 97,700 | 29.6 | 20.8 | 5.4 |
| Samahni | Azad Jammu & Kashmir | 487 | 121,209 | 29.6 | 24.9 | 8.6 |
| Hattian Bala | Azad Jammu & Kashmir | 922 | 201,229 | 121.8 | 85.9 | 46.2 |
| Haveli | Azad Jammu & Kashmir | 706 | 135,960 | 81.2 | 67.3 | 38.4 |
| Kotli | Azad Jammu & Kashmir | 1,293 | 503,775 | 31.2 | 24.8 | 5.6 |
| Nakial | Azad Jammu & Kashmir | 238 | 106,942 | 53.6 | 50.0 | 25.2 |
| Sehnsa | Azad Jammu & Kashmir | 673 | 89,917 | 39.4 | 31.8 | 13.3 |
| Dudyal | Azad Jammu & Kashmir | 442 | 83,861 | 22.6 | 15.7 | 1.1 |
| Mirpur | Azad Jammu & Kashmir | 809 | 228,278 | 17.3 | 11.0 | 0.1 |
| Muzaffarabad | Azad Jammu & Kashmir | 1,836 | 495,615 | 85.5 | 40.3 | 21.9 |
| Athumqam | Azad Jammu & Kashmir | 4,254 | 134,093 | 401.1 | 314.3 | 96.1 |
| Abbaspur | Azad Jammu & Kashmir | 143 | 49,977 | 29.3 | 26.4 | 5.8 |
| Hajeera | Azad Jammu & Kashmir | 331 | 172,570 | 20.6 | 17.4 | 2.9 |
| Rawalakot | Azad Jammu & Kashmir | 506 | 253,591 | 17.4 | 12.5 | 0.9 |
| Pallandari | Azad Jammu & Kashmir | 800 | 285,391 | 32.6 | 28.4 | 6.5 |
| Awaran | Balochistan | 6,746 | 24,588 | 406.0 | 276.0 | 100.0 |
| Gishkore Sub | Balochistan | 5,917 | 15,787 | 444.2 | 358.1 | 88.7 |
| Jhal Jhao | Balochistan | 1,907 | 6,778 | 303.6 | 255.2 | 100.0 |
| Jhal Jhao Sub | Balochistan | 13,206 | 60,542 | 326.3 | 251.3 | 94.6 |
| Mashkai | Balochistan | 4,638 | 39,269 | 150.7 | 94.2 | 48.1 |
| Barkhan | Balochistan | 4,690 | 121,652 | 162.1 | 135.9 | 95.7 |
| Chagai Sub | Balochistan | 6,437 | 30,332 | 237.2 | 172.8 | 77.4 |
| Dalbadin | Balochistan | 20,453 | 71,945 | 310.6 | 265.1 | 99.7 |
| Naukandi | Balochistan | 19,270 | 13,861 | 506.8 | 537.1 | 100.0 |
| Taftan | Balochistan | 12,898 | 12,269 | 384.1 | 314.3 | 100.0 |
| Bekerh | Balochistan | 341 | 5,179 | 333.9 | 322.3 | 100.0 |
| Dera Bughti | Balochistan | 1,235 | 26,269 | 64.3 | 49.5 | 28.9 |
| Loti Sub | Balochistan | 1,066 | 9,095 | 351.0 | 293.0 | 97.7 |
| Malum | Balochistan | 1,270 | 18,090 | 305.2 | 307.1 | 100.0 |
| Phelawagh | Balochistan | 276 | 3,531 | 281.4 | 285.5 | 100.0 |
| Pir Koh | Balochistan | 2,227 | 49,731 | 167.0 | 147.3 | 77.2 |
| Sangsilla | Balochistan | 2,041 | 32,278 | 161.6 | 166.1 | 93.1 |
| Sui | Balochistan | 5,228 | 79,784 | 236.1 | 160.6 | 68.5 |
| Gwadar | Balochistan | 2,851 | 59,525 | 194.3 | 145.5 | 100.0 |
| Jiwani | Balochistan | 449 | 10,784 | 134.4 | 127.6 | 100.0 |
| Ormara | Balochistan | 3,380 | 23,805 | 136.4 | 119.6 | 67.0 |
| Pasni | Balochistan | 5,091 | 55,970 | 135.8 | 116.7 | 96.5 |
| Sunstar Sub | Balochistan | 2,588 | 54,548 | 174.5 | 142.8 | 100.0 |
| Harnai | Balochistan | 345 | 4,564 | 172.5 | 168.3 | 97.8 |
| Khost | Balochistan | 2,719 | 69,745 | 111.7 | 52.6 | 30.0 |
| Shahrig | Balochistan | 1,033 | 18,970 | 114.2 | 80.4 | 45.7 |
| Ghandakha | Balochistan | 749 | 56,315 | 60.6 | 57.6 | 40.2 |
| Jhat Pat | Balochistan | 1,079 | 207,120 | 37.8 | 32.3 | 11.1 |
| Sohbatpur | Balochistan | 883 | 118,777 | 41.8 | 33.3 | 14.5 |
| Usta Muhammad | Balochistan | 538 | 121,594 | 29.8 | 16.0 | 5.6 |
| Gandawa | Balochistan | 1,970 | 42,995 | 164.9 | 149.7 | 99.9 |
| Jhal Magsi | Balochistan | 2,380 | 75,281 | 103.7 | 93.2 | 70.4 |
| Mirpur Sub | Balochistan | 729 | 13,880 | 155.5 | 138.7 | 97.4 |
| Bhag | Balochistan | 1,773 | 69,187 | 139.6 | 130.3 | 84.5 |
| Balanari Sub | Balochistan | 1,049 | 42,363 | 68.5 | 56.8 | 36.2 |
| Dhadar | Balochistan | 1,070 | 57,755 | 62.1 | 23.4 | 10.5 |
| Khattan Sub | Balochistan | 737 | 36,226 | 134.3 | 136.9 | 86.1 |
| Mach Sub | Balochistan | 2,344 | 41,459 | 98.3 | 51.5 | 33.1 |
| Sanni Sub | Balochistan | 1,928 | 63,858 | 157.8 | 148.2 | 90.2 |
| Gazg | Balochistan | 1,377 | 11,028 | 334.9 | 299.7 | 100.0 |
| Johan | Balochistan | 3,163 | 27,257 | 244.5 | 193.7 | 98.6 |
| Kalat | Balochistan | 7,445 | 93,582 | 214.8 | 131.3 | 72.6 |
| Mango Char | Balochistan | 1,536 | 47,442 | 71.3 | 42.5 | 20.1 |
| Surab | Balochistan | 4,914 | 112,429 | 153.7 | 111.2 | 79.1 |
| Balnigor | Balochistan | 1,616 | 14,276 | 112.6 | 98.5 | 75.0 |
| Buleda | Balochistan | 2,600 | 72,400 | 210.9 | 118.5 | 91.9 |
| Dasht | Balochistan | 3,227 | 33,451 | 163.4 | 123.4 | 72.7 |
| Hoshab | Balochistan | 2,868 | 17,606 | 280.3 | 171.0 | 100.0 |
| Kech | Balochistan | 12,638 | 245,403 | 218.4 | 70.9 | 34.0 |
| Mand | Balochistan | 2,436 | 37,876 | 160.8 | 112.8 | 100.0 |
| Tump | Balochistan | 3,629 | 62,400 | 199.1 | 85.8 | 38.1 |
| Zamuran | Balochistan | 2,226 | 18,572 | 307.6 | 314.0 | 100.0 |
| Kharan | Balochistan | 14,228 | 119,702 | 196.5 | 153.3 | 67.3 |
| Aranji Sub | Balochistan | 5,941 | 34,104 | 366.0 | 355.4 | 99.7 |
| Karkah Sub | Balochistan | 2,264 | 27,076 | 135.0 | 128.2 | 73.4 |
| Khuzdar | Balochistan | 7,809 | 172,360 | 161.4 | 71.1 | 31.4 |
| Moola Sub | Balochistan | 3,503 | 26,991 | 197.4 | 200.8 | 90.3 |
| Nal Sub | Balochistan | 5,374 | 63,756 | 129.2 | 100.8 | 68.2 |
| Ornach Sub | Balochistan | 3,815 | 32,216 | 220.3 | 126.3 | 62.9 |
| Saroona Sub | Balochistan | 2,955 | 19,468 | 210.5 | 196.2 | 100.0 |
| Wadh Sub | Balochistan | 4,831 | 70,342 | 166.9 | 118.5 | 64.9 |
| Zehri | Balochistan | 4,235 | 65,588 | 251.3 | 179.4 | 99.9 |
| Chaman | Balochistan | 1,804 | 127,133 | 201.4 | 139.7 | 68.6 |
| Dobandi Sub- | Balochistan | 2,164 | 96,004 | 348.1 | 327.1 | 99.8 |
| Gulistan | Balochistan | 3,259 | 131,612 | 181.0 | 97.5 | 46.1 |
| Killa Abdullah | Balochistan | 555 | 97,572 | 93.1 | 40.0 | 10.9 |
| Badini | Balochistan | 2,290 | 8,032 | 377.1 | 374.5 | 100.0 |
| Kan Mehtarzai | Balochistan | 788 | 30,195 | 58.7 | 41.3 | 16.5 |
| Killa Saifullah | Balochistan | 6,253 | 82,996 | 189.7 | 129.7 | 78.1 |
| Loi Band | Balochistan | 2,378 | 27,039 | 192.1 | 131.5 | 80.3 |
| Muslim Bagh | Balochistan | 1,972 | 59,394 | 86.6 | 60.5 | 36.5 |
| Shinkai | Balochistan | 3,139 | 30,558 | 185.6 | 149.7 | 79.3 |
| Girsani Sub | Balochistan | 463 | 26,624 | 163.1 | 149.7 | 100.0 |
| Kahan | Balochistan | 5,031 | 32,801 | 245.7 | 227.3 | 95.5 |
| Kohlu | Balochistan | 797 | 32,619 | 198.9 | 181.0 | 100.0 |
| Mawand | Balochistan | 4,007 | 29,108 | 203.6 | 179.4 | 92.6 |
| Bela | Balochistan | 2,314 | 64,589 | 146.2 | 54.4 | 21.3 |
| Durji | Balochistan | 4,378 | 35,819 | 154.9 | 142.3 | 95.1 |
| Gaddani | Balochistan | 680 | 73,222 | 27.8 | 13.2 | 1.0 |
| Hub | Balochistan | 534 | 52,781 | 42.3 | 9.7 | 1.7 |
| Kanraj | Balochistan | 1,307 | 9,717 | 261.7 | 246.2 | 100.0 |
| Lakhra | Balochistan | 1,489 | 22,968 | 80.4 | 66.4 | 43.5 |
| Liari | Balochistan | 2,782 | 21,989 | 129.9 | 104.1 | 70.6 |
| Sonmiani | Balochistan | 2,028 | 43,317 | 77.0 | 50.6 | 23.9 |
| Uthal | Balochistan | 2,605 | 55,352 | 118.1 | 56.0 | 32.9 |
| Duki | Balochistan | 5,858 | 142,260 | 155.1 | 128.0 | 87.2 |
| Loralai | Balochistan | 3,448 | 131,145 | 92.4 | 61.0 | 37.1 |
| Mekhtar | Balochistan | 1,692 | 32,132 | 110.5 | 96.9 | 69.7 |
| Dasht | Balochistan | 3,661 | 47,891 | 123.5 | 66.9 | 39.1 |
| Khad Kocha Sub- | Balochistan | 811 | 33,140 | 80.3 | 53.0 | 23.8 |
| Kirdgap Sub- | Balochistan | 1,618 | 22,167 | 111.6 | 88.4 | 52.5 |
| Mastung | Balochistan | 1,555 | 99,430 | 56.2 | 34.1 | 11.4 |
| Drug Sub | Balochistan | 1,271 | 25,587 | 150.0 | 140.8 | 93.1 |
| Kingri | Balochistan | 5,197 | 115,749 | 163.5 | 159.8 | 80.9 |
| Musa Khel | Balochistan | 1,632 | 28,525 | 136.1 | 117.5 | 92.6 |
| Baba_Kot | Balochistan | 970 | 67,964 | 99.4 | 86.4 | 60.4 |
| Chattar | Balochistan | 1,142 | 60,620 | 121.1 | 97.6 | 66.6 |
| Dera_Murad_Jamali | Balochistan | 1,532 | 119,101 | 65.4 | 40.7 | 20.1 |
| Tamboo | Balochistan | 643 | 49,323 | 81.1 | 55.0 | 29.1 |
| Dak_ | Balochistan | 3,290 | 25,268 | 235.0 | 208.6 | 96.3 |
| Nushki_ | Balochistan | 4,532 | 95,958 | 163.8 | 115.3 | 67.6 |
| Gichk | Balochistan | 11,221 | 80,378 | 348.1 | 259.2 | 90.9 |
| Gowargo | Balochistan | 2,118 | 30,542 | 168.5 | 153.9 | 92.1 |
| Panjgur | Balochistan | 5,007 | 137,982 | 137.1 | 48.0 | 23.4 |
| Parome | Balochistan | 4,604 | 37,451 | 259.8 | 229.8 | 98.2 |
| Barshore | Balochistan | 2,879 | 116,625 | 124.6 | 94.1 | 63.6 |
| Huramzai | Balochistan | 585 | 17,165 | 105.5 | 93.3 | 66.2 |
| Karezat | Balochistan | 2,090 | 92,724 | 51.0 | 29.1 | 14.2 |
| Pishin | Balochistan | 1,019 | 210,181 | 25.2 | 13.9 | 2.4 |
| Saranan | Balochistan | 114 | 12,509 | 30.2 | 28.5 | 3.1 |
| Panj Pai Sub- | Balochistan | 1,558 | 25,947 | 225.6 | 160.2 | 63.4 |
| Quetta City | Balochistan | 647 | 732,877 | 35.2 | 3.8 | 0.9 |
| Quetta Saddar | Balochistan | 1,462 | 170,473 | 58.9 | 22.6 | 10.0 |
| Sheerani | Balochistan | 4,034 | 108,108 | 156.6 | 143.1 | 79.6 |
| Kut Mandai | Balochistan | 1,964 | 20,613 | 228.6 | 177.1 | 93.7 |
| Lehri | Balochistan | 2,601 | 39,889 | 142.7 | 120.8 | 81.5 |
| Sangan | Balochistan | 1,661 | 13,354 | 272.9 | 277.2 | 99.0 |
| Sibi | Balochistan | 3,024 | 92,701 | 116.0 | 43.4 | 20.5 |
| Besima | Balochistan | 8,509 | 31,255 | 255.5 | 255.3 | 98.6 |
| Mashkhel | Balochistan | 18,726 | 38,739 | 486.1 | 369.4 | 93.5 |
| Nag | Balochistan | 6,253 | 19,429 | 418.0 | 408.8 | 100.0 |
| Shahdo Garhi Sub | Balochistan | 4,728 | 23,815 | 195.0 | 155.7 | 95.6 |
| Washuk | Balochistan | 9,892 | 19,047 | 526.6 | 453.1 | 100.0 |
| Ashwat Sub- | Balochistan | 1,299 | 7,420 | 209.9 | 191.7 | 100.0 |
| Kashatoo Sub- | Balochistan | 2,281 | 9,260 | 377.3 | 360.7 | 100.0 |
| Qamar Din Karez | Balochistan | 761 | 4,134 | 409.9 | 376.1 | 100.0 |
| Sambaza Sub | Balochistan | 1,353 | 7,266 | 362.8 | 319.1 | 100.0 |
| Zhob | Balochistan | 10,516 | 219,075 | 150.2 | 107.7 | 66.0 |
| Sinjawi Sub | Balochistan | 2,470 | 58,448 | 121.5 | 81.9 | 43.7 |
| Ziarat Sub Division | Balochistan | 1,947 | 40,718 | 70.2 | 50.6 | 30.5 |
| Bar Chamarkand | Khyber Pakhtunkhwa | 23 | 1,579 | 21.4 | 24.4 | 0.0 |
| Barang | Khyber Pakhtunkhwa | 379 | 70,446 | 46.9 | 42.0 | 21.1 |
| Khar | Khyber Pakhtunkhwa | 391 | 197,395 | 21.3 | 14.9 | 3.1 |
| Mamund | Khyber Pakhtunkhwa | 372 | 217,750 | 55.5 | 42.6 | 22.5 |
| Nawagai | Khyber Pakhtunkhwa | 177 | 57,918 | 29.5 | 26.4 | 9.5 |
| Salarzai | Khyber Pakhtunkhwa | 339 | 216,421 | 76.5 | 62.1 | 38.9 |
| Utman Khel | Khyber Pakhtunkhwa | 242 | 64,444 | 48.0 | 38.0 | 18.3 |
| Fr Bannu | Khyber Pakhtunkhwa | 1,131 | 42,250 | 56.9 | 45.1 | 27.2 |
| Fr D.I.Khan | Khyber Pakhtunkhwa | 2,279 | 52,625 | 103.7 | 91.1 | 53.4 |
| Fr Kohat | Khyber Pakhtunkhwa | 655 | 152,359 | 35.7 | 28.4 | 11.6 |
| Fr Lakki | Khyber Pakhtunkhwa | 251 | 11,949 | 116.7 | 148.0 | 89.5 |
| Fr Peshawar | Khyber Pakhtunkhwa | 363 | 79,422 | 41.6 | 31.8 | 10.5 |
| Fr Tank | Khyber Pakhtunkhwa | 1,578 | 35,365 | 75.9 | 74.1 | 51.1 |
| Bara | Khyber Pakhtunkhwa | 2,239 | 436,033 | 121.3 | 31.9 | 13.4 |
| Jamrud | Khyber Pakhtunkhwa | 512 | 143,400 | 29.9 | 20.4 | 6.4 |
| Landi Kotal | Khyber Pakhtunkhwa | 1,048 | 219,496 | 62.6 | 36.0 | 14.8 |
| Central Kurram | Khyber Pakhtunkhwa | 2,038 | 257,419 | 92.0 | 82.9 | 53.0 |
| Lower Kurram | Khyber Pakhtunkhwa | 1,300 | 114,047 | 45.7 | 35.8 | 21.0 |
| Upper Kurram | Khyber Pakhtunkhwa | 1,335 | 306,460 | 68.9 | 34.1 | 17.3 |
| Ambar Utman Khel | Khyber Pakhtunkhwa | 328 | 36,501 | 62.4 | 58.2 | 39.5 |
| Halimzai | Khyber Pakhtunkhwa | 294 | 46,454 | 40.1 | 35.6 | 10.3 |
| Pindiali | Khyber Pakhtunkhwa | 643 | 131,320 | 62.4 | 50.1 | 31.0 |
| Prang Ghar | Khyber Pakhtunkhwa | 361 | 27,220 | 79.9 | 63.4 | 41.9 |
| Safi | Khyber Pakhtunkhwa | 447 | 95,638 | 48.5 | 43.5 | 26.1 |
| Upper Momand | Khyber Pakhtunkhwa | 712 | 111,869 | 64.3 | 60.5 | 36.2 |
| Yaka Ghund | Khyber Pakhtunkhwa | 378 | 99,765 | 49.6 | 33.4 | 23.1 |
| Data Khel | Khyber Pakhtunkhwa | 2,573 | 171,612 | 137.4 | 119.2 | 95.5 |
| Dossali | Khyber Pakhtunkhwa | 357 | 30,364 | 94.4 | 90.3 | 80.1 |
| Garyum | Khyber Pakhtunkhwa | 458 | 14,822 | 98.3 | 83.5 | 75.8 |
| Ghulam Khan | Khyber Pakhtunkhwa | 266 | 13,811 | 94.6 | 88.9 | 79.5 |
| Mir Ali | Khyber Pakhtunkhwa | 901 | 94,398 | 64.7 | 50.9 | 24.9 |
| Miran Shah | Khyber Pakhtunkhwa | 572 | 137,662 | 85.0 | 71.0 | 46.6 |
| Razmak | Khyber Pakhtunkhwa | 278 | 4,895 | 87.1 | 76.7 | 60.8 |
| Shewa | Khyber Pakhtunkhwa | 562 | 37,149 | 96.1 | 85.1 | 56.2 |
| Spinwam | Khyber Pakhtunkhwa | 802 | 30,237 | 98.9 | 90.6 | 74.0 |
| Central Orakzai | Khyber Pakhtunkhwa | 492 | 80,077 | 57.0 | 54.3 | 36.6 |
| Ismailzai | Khyber Pakhtunkhwa | 332 | 66,224 | 51.5 | 51.9 | 30.0 |
| Lower Orakzai | Khyber Pakhtunkhwa | 733 | 90,241 | 62.3 | 60.3 | 39.5 |
| Upper Orakzai | Khyber Pakhtunkhwa | 364 | 88,635 | 91.9 | 89.1 | 75.9 |
| Birmal | Khyber Pakhtunkhwa | 1,187 | 82,430 | 136.2 | 124.1 | 100.0 |
| Ladha | Khyber Pakhtunkhwa | 584 | 99,481 | 131.7 | 99.9 | 58.7 |
| Makin | Khyber Pakhtunkhwa | 511 | 50,078 | 118.3 | 98.5 | 47.8 |
| Saraogha | Khyber Pakhtunkhwa | 1,056 | 102,079 | 92.4 | 79.7 | 46.6 |
| Serwekai | Khyber Pakhtunkhwa | 490 | 42,086 | 69.5 | 62.6 | 39.9 |
| Tiarza | Khyber Pakhtunkhwa | 942 | 58,458 | 84.4 | 80.2 | 65.6 |
| Toi Khulla | Khyber Pakhtunkhwa | 711 | 42,458 | 141.2 | 132.5 | 94.0 |
| Wana | Khyber Pakhtunkhwa | 3,086 | 135,817 | 138.4 | 97.6 | 67.3 |
| Islamabad | Islamabad Capital Territory | 1,253 | 1,938,994 | 5.4 | 2.4 | 0.0 |
| Astore | Gilgit-Baltistan | 7,370 | 119,013 | 282.6 | 198.8 | 74.7 |
| Chilas | Gilgit-Baltistan | 6,029 | 79,995 | 283.6 | 200.2 | 83.4 |
| Darel Tangir | Gilgit-Baltistan | 3,837 | 82,342 | 488.9 | 330.8 | 98.5 |
| Khaplu | Gilgit-Baltistan | 3,692 | 71,086 | 438.9 | 188.1 | 70.2 |
| Mashabrum | Gilgit-Baltistan | 8,204 | 32,588 | 1245.9 | 573.8 | 100.0 |
| Gupis | Gilgit-Baltistan | 7,624 | 53,205 | 518.3 | 270.3 | 67.4 |
| Ishkomen | Gilgit-Baltistan | 3,954 | 22,562 | 671.5 | 327.2 | 88.6 |
| Punial | Gilgit-Baltistan | 2,213 | 39,513 | 405.4 | 180.2 | 58.0 |
| Yasin | Gilgit-Baltistan | 3,627 | 37,975 | 604.4 | 229.9 | 55.3 |
| Gilgit | Gilgit-Baltistan | 5,768 | 125,421 | 421.4 | 152.5 | 44.8 |
| Aliabad | Gilgit-Baltistan | 1,162 | 11,386 | 1043.8 | 367.9 | 52.9 |
| Gojal | Gilgit-Baltistan | 15,315 | 31,072 | 1171.1 | 637.8 | 78.2 |
| Nagar-I | Gilgit-Baltistan | 2,041 | 73,578 | 892.3 | 346.0 | 46.9 |
| Nagar-Ii | Gilgit-Baltistan | 2,102 | 19,526 | 801.9 | 208.8 | 43.7 |
| Gultari | Gilgit-Baltistan | 4,858 | 37,729 | 189.8 | 164.8 | 92.0 |
| Kharmang | Gilgit-Baltistan | 3,628 | 57,915 | 264.3 | 158.3 | 73.6 |
| Rondu | Gilgit-Baltistan | 2,368 | 34,544 | 386.1 | 220.5 | 81.4 |
| Shigar | Gilgit-Baltistan | 12,759 | 62,909 | 1086.8 | 431.3 | 61.0 |
| Skardu | Gilgit-Baltistan | 2,753 | 70,116 | 278.8 | 83.8 | 30.8 |
| Abbottabad | Khyber Pakhtunkhwa | 1,902 | 1,254,314 | 32.7 | 16.0 | 5.5 |
| Havelian | Khyber Pakhtunkhwa | 573 | 300,309 | 27.6 | 21.0 | 4.4 |
| Bannu | Khyber Pakhtunkhwa | 1,114 | 992,097 | 24.6 | 10.8 | 0.7 |
| Domel | Khyber Pakhtunkhwa | 533 | 189,964 | 21.5 | 15.7 | 0.6 |
| Alai | Khyber Pakhtunkhwa | 1,156 | 212,191 | 96.5 | 72.1 | 42.3 |
| Batagram | Khyber Pakhtunkhwa | 767 | 333,128 | 70.0 | 39.3 | 18.5 |
| Daggar | Khyber Pakhtunkhwa | 928 | 345,443 | 45.2 | 33.9 | 16.0 |
| Gagra | Khyber Pakhtunkhwa | 663 | 219,064 | 56.1 | 38.4 | 18.7 |
| Khado Khel | Khyber Pakhtunkhwa | 855 | 321,276 | 30.6 | 24.1 | 7.5 |
| Charsadda | Khyber Pakhtunkhwa | 633 | 928,170 | 5.9 | 4.7 | 0.0 |
| Shabqadar | Khyber Pakhtunkhwa | 271 | 413,742 | 6.6 | 5.3 | 0.0 |
| Tangi | Khyber Pakhtunkhwa | 485 | 451,848 | 8.8 | 5.8 | 0.1 |
| Chitral | Khyber Pakhtunkhwa | 8,362 | 319,850 | 371.8 | 136.3 | 50.1 |
| Mastuj | Khyber Pakhtunkhwa | 12,619 | 237,288 | 797.8 | 257.0 | 53.8 |
| D.I.Khan | Khyber Pakhtunkhwa | 1,673 | 521,423 | 31.2 | 12.9 | 3.5 |
| Daraban | Khyber Pakhtunkhwa | 1,988 | 150,531 | 54.9 | 50.8 | 32.3 |
| Kulachi | Khyber Pakhtunkhwa | 1,428 | 94,987 | 55.9 | 50.4 | 26.8 |
| Paharpur | Khyber Pakhtunkhwa | 2,738 | 418,895 | 46.5 | 32.7 | 11.2 |
| Paroa | Khyber Pakhtunkhwa | 2,284 | 316,629 | 53.8 | 40.7 | 22.9 |
| Hangu | Khyber Pakhtunkhwa | 927 | 353,452 | 25.7 | 19.4 | 4.1 |
| Tall | Khyber Pakhtunkhwa | 1,000 | 194,954 | 56.0 | 50.8 | 26.1 |
| Ghazi | Khyber Pakhtunkhwa | 823 | 193,222 | 28.9 | 17.9 | 6.5 |
| Haripur | Khyber Pakhtunkhwa | 1,880 | 1,022,486 | 20.8 | 11.1 | 1.4 |
| Banda Daud Shah | Khyber Pakhtunkhwa | 1,518 | 195,233 | 39.7 | 32.1 | 13.4 |
| Karak | Khyber Pakhtunkhwa | 1,375 | 329,768 | 48.0 | 34.0 | 14.7 |
| Takht E Nasrati | Khyber Pakhtunkhwa | 790 | 230,287 | 31.2 | 20.7 | 8.7 |
| Kohat | Khyber Pakhtunkhwa | 2,429 | 774,458 | 31.2 | 15.4 | 4.8 |
| Lachi | Khyber Pakhtunkhwa | 1,721 | 211,553 | 49.4 | 37.8 | 21.2 |
| Dassu | Khyber Pakhtunkhwa | 5,008 | 254,804 | 484.1 | 375.4 | 82.1 |
| Kandia | Khyber Pakhtunkhwa | 2,994 | 77,991 | 759.6 | 536.2 | 92.3 |
| Palas | Khyber Pakhtunkhwa | 1,999 | 434,014 | 252.1 | 176.0 | 68.4 |
| Pattan | Khyber Pakhtunkhwa | 915 | 60,961 | 551.8 | 420.4 | 95.8 |
| Lakki Marwat | Khyber Pakhtunkhwa | 3,573 | 625,397 | 39.8 | 28.4 | 7.5 |
| Naurang | Khyber Pakhtunkhwa | 822 | 225,515 | 25.9 | 16.4 | 3.6 |
| Adenzai | Khyber Pakhtunkhwa | 546 | 361,592 | 34.2 | 17.7 | 7.0 |
| Lalqilla | Khyber Pakhtunkhwa | 299 | 133,454 | 57.6 | 32.0 | 16.2 |
| Munda | Khyber Pakhtunkhwa | 320 | 231,017 | 26.9 | 15.9 | 6.0 |
| Samarbagh(Barwa) | Khyber Pakhtunkhwa | 395 | 192,184 | 48.3 | 33.9 | 16.3 |
| Temergara | Khyber Pakhtunkhwa | 914 | 522,264 | 38.7 | 22.2 | 10.2 |
| Sam Ranizai | Khyber Pakhtunkhwa | 380 | 336,192 | 11.3 | 6.7 | 0.5 |
| Swat Ranizai | Khyber Pakhtunkhwa | 951 | 461,283 | 32.4 | 16.1 | 6.7 |
| Balakot | Khyber Pakhtunkhwa | 3,461 | 377,844 | 204.4 | 98.1 | 44.8 |
| Mansehra | Khyber Pakhtunkhwa | 1,919 | 1,015,660 | 47.2 | 18.1 | 7.4 |
| Oghi | Khyber Pakhtunkhwa | 678 | 322,106 | 44.6 | 36.1 | 18.1 |
| Katlang | Khyber Pakhtunkhwa | 432 | 358,169 | 14.9 | 12.2 | 0.6 |
| Mardan | Khyber Pakhtunkhwa | 1,312 | 1,509,101 | 19.2 | 7.3 | 2.1 |
| Takht Bhai | Khyber Pakhtunkhwa | 559 | 675,298 | 9.9 | 9.4 | 0.0 |
| Nowshera | Khyber Pakhtunkhwa | 1,874 | 1,109,498 | 27.8 | 13.3 | 2.6 |
| Pabbi | Khyber Pakhtunkhwa | 578 | 458,979 | 22.1 | 12.0 | 1.0 |
| Alpuri | Khyber Pakhtunkhwa | 811 | 299,166 | 85.2 | 62.3 | 35.9 |
| Bisham | Khyber Pakhtunkhwa | 264 | 88,207 | 73.7 | 50.3 | 27.3 |
| Chiksar | Khyber Pakhtunkhwa | 339 | 153,043 | 57.4 | 48.1 | 29.2 |
| Martung | Khyber Pakhtunkhwa | 213 | 86,651 | 66.9 | 59.1 | 30.3 |
| Puran | Khyber Pakhtunkhwa | 344 | 136,523 | 90.2 | 68.5 | 41.9 |
| Lahor | Khyber Pakhtunkhwa | 438 | 361,808 | 10.8 | 8.8 | 0.0 |
| Razar | Khyber Pakhtunkhwa | 643 | 579,483 | 13.6 | 7.0 | 1.7 |
| Swabi | Khyber Pakhtunkhwa | 381 | 401,724 | 7.5 | 4.8 | 0.0 |
| Topi | Khyber Pakhtunkhwa | 624 | 454,628 | 21.9 | 11.4 | 3.1 |
| Babuzai | Khyber Pakhtunkhwa | 462 | 391,816 | 40.9 | 13.4 | 5.9 |
| Bahrain | Khyber Pakhtunkhwa | 4,553 | 337,280 | 365.8 | 199.9 | 66.2 |
| Barikot | Khyber Pakhtunkhwa | 501 | 347,394 | 49.7 | 26.7 | 12.3 |
| Charbagh | Khyber Pakhtunkhwa | 188 | 94,825 | 20.4 | 15.9 | 2.8 |
| Kabal | Khyber Pakhtunkhwa | 574 | 370,664 | 36.0 | 21.4 | 10.6 |
| Khawaza Khela | Khyber Pakhtunkhwa | 400 | 214,618 | 68.9 | 35.3 | 21.1 |
| Matta | Khyber Pakhtunkhwa | 972 | 438,485 | 85.0 | 46.2 | 26.1 |
| Tank | Khyber Pakhtunkhwa | 2,306 | 415,163 | 35.4 | 26.2 | 8.2 |
| Torgher | Khyber Pakhtunkhwa | 660 | 299,636 | 114.5 | 100.4 | 53.3 |
| Dir | Khyber Pakhtunkhwa | 1,607 | 376,236 | 80.6 | 55.2 | 30.5 |
| Sharingal | Khyber Pakhtunkhwa | 2,814 | 226,890 | 303.9 | 234.6 | 77.7 |
| Wari | Khyber Pakhtunkhwa | 698 | 249,304 | 117.0 | 88.0 | 48.0 |
| Attock | Punjab | 1,524 | 434,285 | 36.2 | 15.8 | 5.9 |
| Fateh Jang | Punjab | 1,822 | 358,501 | 23.6 | 15.6 | 2.8 |
| Hassanabdal | Punjab | 532 | 277,232 | 15.2 | 7.6 | 1.4 |
| Hazro | Punjab | 541 | 408,531 | 8.6 | 6.0 | 0.0 |
| Jand | Punjab | 2,957 | 362,837 | 34.6 | 26.5 | 7.3 |
| Pindi Gheb | Punjab | 2,153 | 323,338 | 29.7 | 22.4 | 5.2 |
| Bahawalnagar | Punjab | 2,682 | 987,253 | 20.4 | 14.4 | 1.3 |
| Chishtian | Punjab | 2,445 | 829,722 | 19.9 | 12.0 | 1.0 |
| Fort Abbas | Punjab | 3,161 | 466,004 | 112.7 | 54.1 | 28.6 |
| Haroonabad | Punjab | 1,504 | 605,665 | 24.5 | 20.1 | 0.4 |
| Minchinabad | Punjab | 1,863 | 559,055 | 46.0 | 39.9 | 13.9 |
| Ahmadpur East | Punjab | 1,971 | 1,165,614 | 22.1 | 15.2 | 2.4 |
| Bahawalpur | Punjab | 1,578 | 990,127 | 16.5 | 7.9 | 0.2 |
| Bahawalpur City | Punjab | 328 | 346,419 | 14.0 | 4.6 | 0.0 |
| Hasilpur | Punjab | 1,508 | 516,015 | 25.7 | 12.9 | 0.8 |
| Khairpur Tamewali | Punjab | 970 | 304,846 | 20.8 | 16.8 | 0.8 |
| Yazman | Punjab | 25,436 | 688,661 | 142.0 | 60.2 | 32.2 |
| Bhakkar | Punjab | 2,499 | 696,035 | 28.2 | 20.4 | 4.4 |
| Darya Khan | Punjab | 1,895 | 377,691 | 38.9 | 29.1 | 9.7 |
| Kalur Kot | Punjab | 2,406 | 373,882 | 39.1 | 35.1 | 12.2 |
| Mankera | Punjab | 4,877 | 284,663 | 47.5 | 38.3 | 20.4 |
| Chakwal | Punjab | 3,036 | 745,059 | 21.1 | 14.6 | 1.7 |
| Choa Saidan Shah | Punjab | 700 | 177,491 | 29.8 | 19.2 | 8.3 |
| Kallar Kahar | Punjab | 1,148 | 248,923 | 21.4 | 13.7 | 2.1 |
| Tala Gang | Punjab | 4,389 | 633,705 | 35.4 | 27.8 | 9.9 |
| Bhawana | Punjab | 1,271 | 413,145 | 16.2 | 15.3 | 0.0 |
| Chiniot | Punjab | 950 | 609,886 | 9.8 | 6.7 | 0.0 |
| Lalian | Punjab | 1,343 | 573,715 | 24.6 | 16.5 | 3.7 |
| De-Excluded Area D.G.Khan | Punjab | 7,307 | 209,245 | 149.9 | 126.7 | 72.8 |
| Dera Ghazi Khan | Punjab | 4,871 | 1,906,013 | 31.5 | 14.8 | 3.2 |
| Taunsa | Punjab | 3,615 | 612,053 | 31.1 | 22.3 | 6.5 |
| Chak Jhumra | Punjab | 711 | 433,249 | 9.9 | 8.9 | 0.0 |
| Faisalabad City | Punjab | 277 | 3,511,166 | 1.4 | 0.9 | 0.0 |
| Faisalabad Saddar | Punjab | 1,763 | 1,568,314 | 6.5 | 4.7 | 0.0 |
| Jaranwala | Punjab | 2,353 | 1,740,279 | 8.4 | 6.1 | 0.0 |
| Samundari | Punjab | 1,179 | 857,104 | 9.9 | 8.6 | 0.0 |
| Tandlianwala | Punjab | 1,835 | 891,560 | 22.5 | 18.9 | 1.0 |
| Gujranwala | Punjab | 1,071 | 2,198,581 | 6.2 | 4.3 | 0.0 |
| Gujranwala City | Punjab | 108 | 962,126 | 1.1 | 0.8 | 0.0 |
| Kamoke | Punjab | 926 | 668,554 | 11.6 | 8.7 | 0.0 |
| Nowshera Virkhan | Punjab | 1,205 | 707,545 | 9.3 | 8.6 | 0.0 |
| Wazirabad | Punjab | 1,666 | 1,089,137 | 9.7 | 7.1 | 0.0 |
| Gujrat | Punjab | 1,982 | 1,822,676 | 7.0 | 4.9 | 0.0 |
| Kharian | Punjab | 1,756 | 1,308,899 | 11.6 | 7.0 | 0.6 |
| Sarai Alamgir | Punjab | 676 | 309,850 | 17.4 | 11.9 | 0.1 |
| Hafizabad | Punjab | 1,510 | 801,244 | 12.4 | 8.5 | 0.0 |
| Pindi Bhattian | Punjab | 1,611 | 580,436 | 13.5 | 9.2 | 1.0 |
| 18-Hazari | Punjab | 2,240 | 385,219 | 38.8 | 25.5 | 8.1 |
| Ahmedpur Sial | Punjab | 1,171 | 434,395 | 30.9 | 26.1 | 6.9 |
| Jhang | Punjab | 3,561 | 1,623,124 | 17.8 | 11.8 | 1.1 |
| Shorkot | Punjab | 1,666 | 671,986 | 23.5 | 19.0 | 3.1 |
| Dina | Punjab | 996 | 409,909 | 17.8 | 9.6 | 0.9 |
| Jhelum | Punjab | 825 | 480,933 | 19.0 | 8.5 | 0.9 |
| Pind Dadan Khan | Punjab | 1,854 | 440,984 | 26.7 | 19.6 | 4.0 |
| Sohawa | Punjab | 1,258 | 206,486 | 17.2 | 13.2 | 1.9 |
| Chunian | Punjab | 1,599 | 956,403 | 23.5 | 17.3 | 3.5 |
| Kasur | Punjab | 1,899 | 1,229,980 | 13.3 | 8.0 | 0.4 |
| Kot Radha Kishan | Punjab | 582 | 601,730 | 9.6 | 5.9 | 0.0 |
| Pattoki | Punjab | 1,144 | 1,044,793 | 11.3 | 6.7 | 0.3 |
| Jahanian | Punjab | 673 | 409,907 | 13.4 | 11.5 | 0.0 |
| Kabirwala | Punjab | 2,222 | 1,112,223 | 18.9 | 14.0 | 2.1 |
| Khanewal | Punjab | 1,608 | 994,456 | 16.8 | 10.8 | 0.5 |
| Khushab | Punjab | 4,042 | 945,546 | 30.5 | 21.5 | 4.8 |
| Noorpur | Punjab | 3,290 | 290,734 | 40.2 | 31.1 | 7.0 |
| Qaidabad | Punjab | 1,771 | 276,721 | 34.2 | 27.1 | 9.1 |
| Lahore Cantt | Punjab | 1,390 | 6,127,522 | 4.1 | 1.7 | 0.0 |
| Lahore City | Punjab | 888 | 4,219,842 | 3.6 | 1.7 | 0.0 |
| Chaubara | Punjab | 3,993 | 275,411 | 59.9 | 45.0 | 26.0 |
| Karor Lal Esan | Punjab | 1,923 | 610,855 | 26.3 | 17.8 | 2.8 |
| Layyah | Punjab | 2,753 | 978,552 | 26.4 | 14.6 | 3.9 |
| Dunya Pur | Punjab | 1,083 | 552,000 | 19.7 | 17.8 | 0.0 |
| Karorpacca | Punjab | 957 | 587,753 | 17.0 | 12.6 | 0.2 |
| Lodhran | Punjab | 1,531 | 784,761 | 13.6 | 10.2 | 0.1 |
| Malakwal | Punjab | 1,030 | 480,130 | 6.4 | 5.4 | 0.0 |
| Mandi Bahauddin | Punjab | 1,203 | 774,898 | 8.0 | 6.3 | 0.0 |
| Phalia | Punjab | 1,565 | 658,308 | 15.7 | 11.8 | 0.6 |
| Isakhel | Punjab | 2,615 | 436,128 | 33.3 | 25.1 | 6.4 |
| Mianwali | Punjab | 4,086 | 881,832 | 35.9 | 22.3 | 7.5 |
| Piplan | Punjab | 1,656 | 447,056 | 20.9 | 14.3 | 1.3 |
| Jalalpur Pirwala | Punjab | 1,172 | 591,016 | 32.4 | 30.6 | 3.3 |
| Multan City | Punjab | 379 | 2,445,870 | 3.2 | 1.4 | 0.0 |
| Multan Saddar | Punjab | 2,238 | 1,442,172 | 12.7 | 8.4 | 0.1 |
| Shujabad | Punjab | 1,128 | 707,859 | 22.4 | 18.3 | 0.9 |
| Alipur | Punjab | 1,657 | 676,638 | 44.8 | 24.1 | 10.4 |
| Jatoi | Punjab | 1,377 | 707,973 | 31.5 | 20.1 | 6.3 |
| Kot Addu | Punjab | 4,295 | 1,348,234 | 33.5 | 20.3 | 5.4 |
| Muzaffargarh | Punjab | 3,001 | 1,632,077 | 23.5 | 15.6 | 2.6 |
| Nankana Sahab | Punjab | 2,218 | 1,123,721 | 13.9 | 11.3 | 0.1 |
| Safdarabad | Punjab | 828 | 424,387 | 9.7 | 9.1 | 0.0 |
| Shah Kot | Punjab | 328 | 281,383 | 6.1 | 4.9 | 0.0 |
| Shangla Hill | Punjab | 418 | 265,177 | 8.3 | 6.6 | 0.0 |
| Narowal | Punjab | 996 | 713,799 | 9.5 | 7.1 | 0.0 |
| Shakargarh | Punjab | 1,298 | 857,170 | 20.7 | 18.5 | 0.2 |
| Zafarwal | Punjab | 876 | 461,539 | 16.3 | 13.0 | 0.2 |
| Depalpur | Punjab | 3,402 | 1,673,395 | 25.1 | 18.2 | 4.2 |
| Okara | Punjab | 1,693 | 1,440,658 | 15.4 | 11.5 | 0.0 |
| Renala Khurd | Punjab | 843 | 563,865 | 14.4 | 10.5 | 0.1 |
| Arifwala | Punjab | 1,557 | 921,075 | 13.9 | 10.4 | 0.1 |
| Pak Pattan | Punjab | 2,081 | 1,130,311 | 27.1 | 19.1 | 4.8 |
| Khan Pur | Punjab | 4,063 | 1,152,380 | 59.9 | 20.7 | 6.9 |
| Liaqat Pur | Punjab | 6,146 | 1,084,471 | 102.0 | 22.3 | 6.6 |
| Rahim Yar Khan | Punjab | 3,477 | 1,710,752 | 43.5 | 18.2 | 2.2 |
| Sadiqabad | Punjab | 3,351 | 1,290,551 | 46.4 | 17.3 | 3.6 |
| De-Excluded Area Rajanpur | Punjab | 6,404 | 79,968 | 270.9 | 69.0 | 26.2 |
| Jampur | Punjab | 2,972 | 800,412 | 50.0 | 22.0 | 7.8 |
| Rajanpur | Punjab | 3,633 | 644,269 | 85.0 | 25.3 | 7.8 |
| Rojhan | Punjab | 3,724 | 338,499 | 106.7 | 46.8 | 24.2 |
| Gujar Khan | Punjab | 2,056 | 821,571 | 11.5 | 7.9 | 0.3 |
| Kahuta | Punjab | 859 | 281,276 | 21.8 | 14.1 | 2.5 |
| Kallar Sayyedan | Punjab | 653 | 233,337 | 14.8 | 10.5 | 0.4 |
| Kotli Sattian | Punjab | 511 | 137,511 | 25.7 | 24.7 | 8.2 |
| Murree | Punjab | 543 | 279,759 | 10.7 | 7.0 | 0.6 |
| Rawalpindi | Punjab | 2,270 | 3,221,489 | 13.3 | 4.8 | 0.1 |
| Taxila | Punjab | 392 | 573,097 | 5.3 | 2.8 | 0.0 |
| Chichawatni | Punjab | 2,131 | 1,285,272 | 13.9 | 11.2 | 0.0 |
| Sahiwal | Punjab | 2,216 | 1,750,200 | 15.4 | 10.8 | 0.0 |
| Bhalwal | Punjab | 1,759 | 783,348 | 11.7 | 9.3 | 0.0 |
| Kot Momin | Punjab | 1,225 | 583,188 | 21.6 | 19.6 | 0.5 |
| Sahiwal | Punjab | 1,042 | 389,259 | 19.2 | 15.7 | 0.2 |
| Sargodha | Punjab | 2,005 | 1,809,312 | 13.7 | 9.0 | 0.0 |
| Shahpur | Punjab | 1,082 | 445,813 | 15.1 | 12.9 | 0.2 |
| Sillanwali | Punjab | 832 | 404,567 | 18.0 | 14.2 | 1.1 |
| Ferozewala | Punjab | 637 | 720,979 | 6.0 | 3.4 | 0.0 |
| Muridke | Punjab | 1,268 | 687,167 | 9.4 | 6.8 | 0.0 |
| Sharak Pur | Punjab | 512 | 277,883 | 8.7 | 7.3 | 0.0 |
| Sheikhupura | Punjab | 1,718 | 1,742,533 | 7.5 | 5.5 | 0.0 |
| Daska | Punjab | 1,042 | 1,050,681 | 8.6 | 6.8 | 0.0 |
| Pasrur | Punjab | 1,384 | 1,012,577 | 9.7 | 8.5 | 0.0 |
| Sambrial | Punjab | 496 | 485,490 | 7.3 | 5.2 | 0.0 |
| Sialkot | Punjab | 1,182 | 1,889,310 | 10.8 | 5.9 | 0.1 |
| Gojra | Punjab | 930 | 807,288 | 9.0 | 6.9 | 0.0 |
| Toba Tek Singh | Punjab | 1,721 | 1,030,487 | 11.6 | 9.9 | 0.0 |
| Burewala | Punjab | 2,019 | 1,210,702 | 17.0 | 12.8 | 0.3 |
| Mailsi | Punjab | 2,148 | 1,163,126 | 14.3 | 11.5 | 0.0 |
| Vehari | Punjab | 1,867 | 1,078,865 | 15.1 | 11.8 | 0.0 |
| Badin | Sindh | 2,215 | 459,123 | 45.4 | 33.4 | 11.1 |
| Matli | Sindh | 1,375 | 454,341 | 40.5 | 38.4 | 6.4 |
| Shaheed Fazal Rahu | Sindh | 2,251 | 301,992 | 62.1 | 53.1 | 32.1 |
| Talhar | Sindh | 513 | 114,972 | 41.4 | 38.0 | 15.4 |
| Tando Bago | Sindh | 1,869 | 394,074 | 39.7 | 38.0 | 10.2 |
| Dadu | Sindh | 1,025 | 500,359 | 22.2 | 13.7 | 1.8 |
| Johi | Sindh | 4,695 | 347,961 | 80.4 | 51.2 | 30.1 |
| Khairpur Nathan Shah | Sindh | 3,432 | 402,190 | 215.7 | 49.4 | 18.3 |
| Mehar | Sindh | 1,327 | 512,625 | 29.1 | 15.3 | 3.4 |
| Daharki | Sindh | 3,670 | 348,062 | 103.7 | 40.9 | 24.1 |
| Ghotki | Sindh | 1,109 | 475,319 | 22.5 | 12.2 | 1.7 |
| Khangarh | Sindh | 2,087 | 173,726 | 108.5 | 40.3 | 11.6 |
| Mirpur Mathelo | Sindh | 588 | 240,468 | 42.6 | 27.6 | 8.1 |
| Ubauro | Sindh | 892 | 303,443 | 29.4 | 22.4 | 3.0 |
| Hyderabad | Sindh | 947 | 763,586 | 9.0 | 3.5 | 0.0 |
| Latifabad | Sindh | 362 | 1,603,419 | 13.8 | 2.8 | 0.1 |
| Qasimabad | Sindh | 13 | 20,143 | 3.0 | 2.9 | 0.0 |
| Garhi Khairo | Sindh | 981 | 200,822 | 43.3 | 40.8 | 15.9 |
| Jacobabad | Sindh | 914 | 426,168 | 26.4 | 13.7 | 1.8 |
| Thul | Sindh | 1,778 | 564,788 | 48.2 | 41.1 | 16.7 |
| Kotri | Sindh | 1,643 | 320,179 | 94.0 | 14.2 | 5.7 |
| Manjand | Sindh | 2,951 | 168,041 | 91.3 | 47.8 | 19.9 |
| Sehwan | Sindh | 3,031 | 276,542 | 78.3 | 24.5 | 12.3 |
| Thano Bula Khan | Sindh | 6,939 | 168,612 | 119.7 | 69.0 | 37.7 |
| Kandhkot | Sindh | 847 | 326,012 | 33.2 | 19.3 | 8.1 |
| Kashmore | Sindh | 1,653 | 411,802 | 42.8 | 26.9 | 13.4 |
| Tangwani | Sindh | 1,021 | 282,629 | 46.5 | 29.4 | 14.0 |
| Faiz Ganj | Sindh | 1,287 | 234,691 | 54.9 | 30.2 | 8.6 |
| Gambat | Sindh | 719 | 201,708 | 40.3 | 23.7 | 11.4 |
| Khairpur | Sindh | 658 | 518,722 | 10.2 | 5.4 | 0.0 |
| Kingri | Sindh | 746 | 335,373 | 30.2 | 21.2 | 7.1 |
| Kot Diji | Sindh | 672 | 376,021 | 15.8 | 14.4 | 0.0 |
| Mirwah | Sindh | 892 | 379,683 | 19.3 | 14.5 | 0.5 |
| Nara | Sindh | 15,088 | 152,786 | 149.3 | 99.2 | 61.9 |
| Sobho Dero | Sindh | 668 | 283,285 | 28.9 | 15.1 | 4.4 |
| Bakrani Taluks | Sindh | 531 | 238,996 | 16.5 | 10.7 | 0.5 |
| Dokri | Sindh | 542 | 269,643 | 19.3 | 12.3 | 1.0 |
| Larkana | Sindh | 655 | 727,372 | 14.1 | 5.5 | 0.4 |
| Ratodero | Sindh | 777 | 364,161 | 24.2 | 12.6 | 3.5 |
| Hala | Sindh | 538 | 224,385 | 28.4 | 15.4 | 5.8 |
| Matiari | Sindh | 909 | 397,208 | 11.8 | 9.2 | 0.0 |
| Saeedabad | Sindh | 432 | 157,540 | 15.1 | 11.6 | 1.2 |
| Digri | Sindh | 775 | 278,332 | 21.1 | 20.0 | 0.0 |
| Hussain Bux Mari | Sindh | 398 | 123,379 | 23.4 | 18.4 | 0.7 |
| Jhudo | Sindh | 712 | 199,032 | 18.3 | 16.0 | 0.3 |
| Kot Ghulam Muhammad | Sindh | 1,019 | 284,223 | 22.5 | 19.4 | 0.7 |
| Mirpurkhas | Sindh | 643 | 468,675 | 13.3 | 7.0 | 0.0 |
| Sindhri | Sindh | 750 | 165,916 | 29.2 | 25.3 | 1.6 |
| Bhiria | Sindh | 522 | 290,102 | 20.7 | 17.3 | 1.7 |
| Kandiaro | Sindh | 876 | 292,645 | 37.4 | 23.5 | 9.9 |
| Mehrabpur | Sindh | 630 | 303,624 | 27.3 | 21.0 | 5.8 |
| Moro | Sindh | 982 | 414,900 | 27.1 | 15.7 | 2.1 |
| Naushahro Feroze | Sindh | 950 | 413,006 | 26.4 | 17.8 | 2.2 |
| Jam Nawaz Ali | Sindh | 620 | 146,141 | 32.3 | 27.9 | 2.7 |
| Khipro | Sindh | 7,212 | 434,733 | 130.6 | 53.8 | 28.2 |
| Sanghar | Sindh | 2,868 | 422,847 | 40.1 | 25.9 | 6.8 |
| Shahdadpur | Sindh | 970 | 481,828 | 25.6 | 21.2 | 0.4 |
| Sinjhoro | Sindh | 1,089 | 314,287 | 23.8 | 17.9 | 1.2 |
| Tando Adam | Sindh | 539 | 371,878 | 14.5 | 12.9 | 0.1 |
| Kambar Ali Khan | Sindh | 3,550 | 425,986 | 149.8 | 40.8 | 18.2 |
| Miro Khan | Sindh | 516 | 140,106 | 27.5 | 16.9 | 4.4 |
| Nasirabad | Sindh | 465 | 231,193 | 19.4 | 16.5 | 0.0 |
| Qubo Saeed Khan | Sindh | 819 | 74,480 | 43.5 | 37.5 | 16.4 |
| Shahdad Kot | Sindh | 527 | 205,947 | 25.8 | 12.0 | 2.2 |
| Sijawal Junejo | Sindh | 495 | 147,115 | 22.5 | 17.7 | 3.6 |
| Warah | Sindh | 991 | 233,218 | 35.6 | 23.2 | 3.2 |
| Daur | Sindh | 2,927 | 588,299 | 58.3 | 25.7 | 6.6 |
| Kazi Ahmed | Sindh | 1,364 | 381,585 | 24.9 | 19.2 | 3.0 |
| Nawabshah | Sindh | 604 | 355,756 | 14.4 | 8.3 | 0.2 |
| Sakrand | Sindh | 1,125 | 427,299 | 24.0 | 15.7 | 3.2 |
| Garhi Yasin | Sindh | 1,234 | 368,214 | 27.9 | 21.7 | 3.4 |
| Khanpur | Sindh | 905 | 325,723 | 24.2 | 19.8 | 0.4 |
| Lakhi | Sindh | 505 | 300,073 | 11.9 | 9.2 | 0.0 |
| Shikarpur | Sindh | 747 | 426,391 | 30.8 | 11.4 | 2.2 |
| New Sukkur | Sindh | 284 | 464,673 | 17.9 | 5.6 | 0.1 |
| Pano Aqil | Sindh | 1,194 | 393,725 | 24.5 | 12.6 | 3.1 |
| Rohri | Sindh | 1,376 | 383,075 | 26.8 | 13.2 | 0.3 |
| Salehpat | Sindh | 3,877 | 95,124 | 151.4 | 94.8 | 63.8 |
| Sukkur | Sindh | 127 | 111,005 | 17.9 | 12.5 | 0.0 |
| Chamber | Sindh | 655 | 183,385 | 22.8 | 22.4 | 0.2 |
| Jhando Mari | Sindh | 872 | 269,411 | 21.3 | 17.9 | 2.1 |
| Tando Allah Yar | Sindh | 507 | 344,934 | 11.2 | 10.3 | 0.0 |
| Bulri Shah Karim | Sindh | 1,163 | 324,277 | 52.4 | 49.1 | 23.5 |
| Tando Gulam Hyder | Sindh | 703 | 180,441 | 43.1 | 39.4 | 9.7 |
| Tando Muhammad Khan | Sindh | 456 | 213,832 | 27.8 | 24.4 | 2.6 |
| Chachro | Sindh | 8,432 | 559,472 | 78.8 | 82.3 | 76.0 |
| Diplo | Sindh | 5,049 | 254,401 | 69.5 | 54.7 | 32.7 |
| Mithi | Sindh | 6,749 | 382,223 | 68.2 | 59.8 | 40.6 |
| Nagar Parkar | Sindh | 4,915 | 236,614 | 64.0 | 64.2 | 52.4 |
| Ghorabari | Sindh | 1,255 | 159,284 | 34.3 | 31.6 | 6.5 |
| Jati | Sindh | 4,483 | 194,507 | 136.4 | 71.3 | 35.7 |
| Keti Bunder | Sindh | 940 | 43,539 | 73.2 | 50.8 | 28.5 |
| Kharo Chan | Sindh | 812 | 40,606 | 125.6 | 98.6 | 80.5 |
| Mirpur Bathoro | Sindh | 934 | 241,229 | 52.9 | 46.9 | 21.3 |
| Mirpur Sakro | Sindh | 2,226 | 257,989 | 36.4 | 18.1 | 2.6 |
| Shah Bunder | Sindh | 3,811 | 163,329 | 188.5 | 119.2 | 73.1 |
| Sujawal | Sindh | 920 | 203,400 | 34.4 | 30.7 | 3.1 |
| Thatta | Sindh | 4,778 | 404,490 | 44.4 | 25.8 | 8.2 |
| Kunri | Sindh | 931 | 253,116 | 18.8 | 15.0 | 0.3 |
| Pithoro | Sindh | 661 | 130,975 | 23.6 | 22.3 | 0.1 |
| Samaro | Sindh | 778 | 178,548 | 28.7 | 26.3 | 2.1 |
| Umer Kot | Sindh | 4,719 | 495,089 | 51.0 | 29.2 | 15.2 |
| Peshawar I | Khyber Pakhtunkhwa | 33 | 274,113 | 0.8 | 0.7 | 0.0 |
| Peshawar Ii | Khyber Pakhtunkhwa | 584 | 1,038,352 | 5.9 | 4.8 | 0.0 |
| Peshawar Iii | Khyber Pakhtunkhwa | 226 | 923,744 | 2.7 | 1.9 | 0.0 |
| Peshawar Iv | Khyber Pakhtunkhwa | 896 | 1,003,219 | 10.1 | 5.9 | 0.2 |
| Peshawar Cantonment | Khyber Pakhtunkhwa | 22 | 202,850 | 0.7 | 0.6 | 0.0 |
| Gadap Town | Sindh | 2,778 | 1,626,340 | 34.2 | 4.6 | 0.5 |
| Bin Qasim Town | Sindh | 685 | 467,009 | 9.8 | 4.2 | 0.0 |
| Lyari Town | Sindh | 11 | 294,738 | 0.4 | 0.4 | 0.0 |
| Site Town | Sindh | 32 | 661,888 | 0.9 | 0.8 | 0.0 |
| Gulberg Town | Sindh | 20 | 865,374 | 0.3 | 0.3 | 0.0 |
| N.Nazimabad Town | Sindh | 21 | 791,207 | 0.4 | 0.4 | 0.0 |
| Orangi Town | Sindh | 32 | 272,236 | 1.6 | 1.4 | 0.0 |
| Baldia Town | Sindh | 33 | 316,852 | 1.0 | 0.8 | 0.0 |
| Malir Cantonment | Sindh | 91 | 204,149 | 1.8 | 1.5 | 0.0 |
| Malir | Sindh | 22 | 289,591 | 0.7 | 0.6 | 0.0 |
| Faisal Cantonment | Sindh | 53 | 604,128 | 1.2 | 0.8 | 0.0 |
| Shah Faisal Town | Sindh | 12 | 167,074 | 0.6 | 0.6 | 0.0 |
| Saddar Town | Sindh | 30 | 1,064,843 | 0.5 | 0.5 | 0.0 |
| Kiamari Town | Sindh | 492 | 1,124,505 | 13.0 | 4.9 | 0.0 |
| Clifton Cantonment | Sindh | 29 | 820,706 | 0.8 | 0.7 | 0.0 |
| Korangi Creek Cantonment | Sindh | 25 | 136,113 | 2.6 | 0.9 | 0.0 |
| Korangi Town | Sindh | 50 | 948,928 | 1.0 | 1.0 | 0.0 |
| Landhi Town | Sindh | 54 | 473,341 | 1.2 | 1.0 | 0.0 |
| Liaqatabad Town | Sindh | 12 | 579,652 | 0.3 | 0.3 | 0.0 |
| Jamshed Town | Sindh | 29 | 834,637 | 0.4 | 0.4 | 0.0 |
| Gulshan E Iqbal Town | Sindh | 72 | 1,390,997 | 0.6 | 0.4 | 0.0 |
| Karachi Cantonment | Sindh | 7 | 251,620 | 0.3 | 0.3 | 0.0 |
| New Karachi Town | Sindh | 26 | 896,073 | 0.6 | 0.5 | 0.0 |
| Kamalia | Punjab | 1,515 | 840,268 | 14.7 | 11.1 | 0.2 |
| Mian Channu | Punjab | 1,389 | 928,237 | 11.0 | 8.2 | 0.0 |
The recipe, and what it needs
For an existing healthcare surface, the practical sequence is to align the travel and population grids, assign valid cells to boundaries, then calculate summaries with a common mask. A mask is simply the set of cells admitted to a calculation. Grid alignment, missing values, boundary rules and resampling all need explicit choices. The published CSV lets you practise the final step without installing mapping software.
Reproduce the 22-minute estimate
You need the tehsil CSV and a spreadsheet. For Python, download the companion script; it uses Python 3 with no extra packages. Keep both files in one folder and run python3 reproduce_summary.py travel_time_tehsils.csv.
Three averages, three questions. About 204 minutes gives every valid cell equal influence. About 22 minutes gives every modelled person equal influence. About 69 minutes gives every tehsil's population-weighted mean equal influence, regardless of how many people live there. This exercise compares the last two.
- Keep rows with positive
n_pxandpop_2020and a recordedmot_popw_mean. Identify the excluded row. Keep the original file intact. - Sum population. In a new column, multiply each row's
pop_2020bymot_popw_mean. Divide the sum of that new column by total population. Compare this with simply averagingmot_popw_mean. - Calculate people beyond one hour in each row:
pop_2020 × mot_pct_pop_gt60 ÷ 100. Sum those counts and divide by total population to obtain the national fraction; multiply by 100 for a percentage. - Write one sentence reporting the mean and the threshold share, naming the population year and the modelled travel scenario. Add one limitation the CSV cannot resolve.
Spreadsheet shortcut: after filtering to valid rows, use SUMPRODUCT(population_range, mean_range) / SUM(population_range). Use only the retained data rows in both ranges. Never count a missing estimate as a zero-minute journey.
Check your answers and interpretation
552 valid rows; Manora Cantonment is excluded. Total modelled population: 219,576,102. Population-weighted mean: 22.10 minutes. Simple mean of tehsil means: 68.89 minutes, which gives every tehsil equal influence regardless of population.
More than 60 minutes: approximately 16,359,114 people, or 7.45%. These are approximate reconstructions from rounded tehsil statistics; report about 16.36 million or 16.4 million rather than an exact person count.
Example: “Across the population represented by the 2020 grid, estimated motorized travel time to the nearest mapped health facility averages 22.1 minutes; about 7.45% live more than an hour away.” The model does not establish whether the facility provides the service a patient needs.
Do not count people in tehsils whose mean exceeds 60 minutes: the supplied threshold shares describe cells within each tehsil. That is a different calculation.
Data dictionary and missing values
- dd_id, tehsil, district_key, province
- Boundary identifier, tehsil name, district join key and reporting province or territory.
- merged_district
- 1 identifies a merged district within KP; 0 otherwise.
- n_px
- Count of valid travel cells assigned to the tehsil; not a household sample size.
- pop_2020
- WorldPop 2020 population summed over those cells, rounded to a whole person.
- mot_mean / wal_mean
- Mean minutes across valid cells for the motorized / walking scenario.
- mot_popw_mean / wal_popw_mean
- Population-weighted mean minutes for the corresponding scenario.
- mot_pct_pop_gt30, gt60, gt120; wal equivalents
- Percentage of population in cells strictly beyond the stated number of minutes. Each full column name uses the scenario prefix, for example wal_pct_pop_gt120. Values are percentages from 0 to 100, not fractions.
Blank statistics mean no estimate. Manora Cantonment has zero valid cells. Times and shares are published to one decimal place; aggregation retains that rounding uncertainty. Download the exercise notes and dictionary.
For new destinations, start earlier. Define exactly what belongs in the list: for example, government girls' secondary schools operating on a stated date. Record coordinates, source, service type and verification status. Check duplicates, misplaced points and coverage against a second source or a local sample. An accessibility map for that list then requires a new least-cost surface before the same boundary and population summaries can be calculated.
An advanced assignment is to choose one district, audit a destination list, and compare results after removing unverified locations or changing travel assumptions. Report which places change most, the population affected, and the evidence needed to decide which scenario is credible. Runtime depends on the grid, implementation and hardware; the important deliverable is an auditable calculation, not a promise that a national map takes a few minutes.
The choices continue through the computation: which neighbours connect, how water is treated, which cells are missing, and how population is moved between grids. A useful map makes those choices visible. A useful sentence then says whose access is being summarised, to what kind of destination, under which assumptions, and on what date.
Sources and dates. Adaad estimates use the MAP motorized (2019) and walking-only (2020) healthcare surfaces associated with Weiss et al. (2020), the WorldPop Global 2000–2020 series (2020 UN-adjusted population counts), and Data Darbar's 2015 boundary frame. These are modelled estimates, not official journey observations. The input dates predate the 2022 floods and do not represent current road conditions.
Spatial calculation. The travel rasters were clipped to the reporting extent. Population counts were resampled to the travel grid by nearest neighbour. Polygons were rasterised using cell-centre assignment. A common validity mask required non-negative motorized and walking values and a boundary assignment; negative population values were set to zero. Population-weighted summaries require positive total population. Nearest-neighbour resampling of counts does not guarantee population conservation; alignment and totals should be checked when rebuilding from source rasters.
Coverage reconciliation. The tehsil output represents 1,175,119 valid cells and 219,576,102 modelled people. The separate district output represents 1,179,790 cells and 220,111,132 people: 4,671 more cells and 535,030 more people. Distinct rasterised boundary coverage means these are different denominators. The downloadable tehsil table is the basis for this notebook's national exercise and figures; the 113.8-minute Killa Saifullah district comparison comes from the district output.
Aggregation and precision. Weight each tehsil's population-weighted mean by its population to reproduce the national mean over the tehsil-covered grid: 22.10 minutes motorized and 127.70 walking. Weight the cell means by valid cell counts to obtain 203.62 and 680.12 minutes. Published means and threshold shares are rounded to one decimal within each tehsil, so recombinations are approximate. Thresholds are strictly greater than 30, 60 or 120 minutes. Do not substitute a threshold applied to tehsil means for a share calculated from cells.
Population interpretation. All counts and shares retain the modelled 2020 base and the stated reporting geography, including AJK and GB. Multiplying every population cell by the same factor leaves the weighted mean unchanged; redistributing people between cells can change it. A newer national total alone cannot update the spatial distribution or make these estimates current.
Limits and reproducibility. The CSV exercise below the figures reproduces published summaries without a GIS. It does not rebuild the source rasters or produce a new destination surface. Input coverage, facility status, terrain and transport assumptions, boundary placement and population allocation remain sources of uncertainty. Report them alongside any comparison and investigate sensitivity before treating a small difference as meaningful.