pak-geodata 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/README.md +34 -5
  2. package/dist/areas/attock.cjs +28 -1
  3. package/dist/areas/bahawalnagar.cjs +28 -1
  4. package/dist/areas/bahawalpur.cjs +158 -0
  5. package/dist/areas/bhimber.cjs +7 -1
  6. package/dist/areas/chakwal.cjs +135 -0
  7. package/dist/areas/chaman.cjs +135 -1
  8. package/dist/areas/chilas.cjs +21 -0
  9. package/dist/areas/chiniot.cjs +102 -2
  10. package/dist/areas/chishtian.cjs +28 -1
  11. package/dist/areas/daska.cjs +205 -1
  12. package/dist/areas/dera-ghazi-khan.cjs +276 -0
  13. package/dist/areas/dera-ismail-khan.cjs +1022 -0
  14. package/dist/areas/dera-murad-jamali.cjs +7 -1
  15. package/dist/areas/faisalabad.cjs +1359 -1
  16. package/dist/areas/gilgit.cjs +295 -1
  17. package/dist/areas/gojra.cjs +169 -1
  18. package/dist/areas/gujranwala.cjs +2755 -0
  19. package/dist/areas/gwadar.cjs +28 -1
  20. package/dist/areas/hub.cjs +7 -1
  21. package/dist/areas/hyderabad.cjs +5984 -4
  22. package/dist/areas/islamabad.cjs +8040 -5
  23. package/dist/areas/jaranwala.cjs +7 -1
  24. package/dist/areas/jhang.cjs +42 -0
  25. package/dist/areas/kamalia.cjs +14 -2
  26. package/dist/areas/karachi.cjs +10813 -8
  27. package/dist/areas/karimabad-hunza.cjs +7 -1
  28. package/dist/areas/kasur.cjs +56 -2
  29. package/dist/areas/khanewal.cjs +91 -1
  30. package/dist/areas/khuzdar.cjs +244 -0
  31. package/dist/areas/kohat.cjs +183 -0
  32. package/dist/areas/kot-addu.cjs +141 -1
  33. package/dist/areas/kotli.cjs +7 -1
  34. package/dist/areas/lahore.cjs +10085 -14
  35. package/dist/areas/larkana.cjs +398 -0
  36. package/dist/areas/loralai.cjs +7 -1
  37. package/dist/areas/mandi-bahauddin.cjs +49 -1
  38. package/dist/areas/mansehra.cjs +129 -0
  39. package/dist/areas/mardan.cjs +44 -0
  40. package/dist/areas/mingora.cjs +425 -2
  41. package/dist/areas/mirpur-khas.cjs +1181 -0
  42. package/dist/areas/mirpur.cjs +135 -1
  43. package/dist/areas/multan.cjs +1404 -1
  44. package/dist/areas/muridke.cjs +35 -2
  45. package/dist/areas/muzaffarabad.cjs +768 -0
  46. package/dist/areas/nawabshah.cjs +7 -1
  47. package/dist/areas/nowshera.cjs +256 -0
  48. package/dist/areas/okara.cjs +402 -0
  49. package/dist/areas/peshawar.cjs +5707 -2
  50. package/dist/areas/quetta.cjs +4651 -1
  51. package/dist/areas/rahim-yar-khan.cjs +224 -2
  52. package/dist/areas/rawalpindi.cjs +278 -3
  53. package/dist/areas/sahiwal.cjs +307 -0
  54. package/dist/areas/samundri.cjs +73 -1
  55. package/dist/areas/sargodha.cjs +345 -1
  56. package/dist/areas/sheikhupura.cjs +111 -0
  57. package/dist/areas/shikarpur.cjs +14 -2
  58. package/dist/areas/sialkot.cjs +597 -1
  59. package/dist/areas/sibi.cjs +52 -1
  60. package/dist/areas/skardu.cjs +73 -1
  61. package/dist/areas/swabi.cjs +7 -1
  62. package/dist/areas/taxila.cjs +242 -0
  63. package/dist/areas/turbat.cjs +75 -1
  64. package/dist/areas/vehari.cjs +28 -1
  65. package/dist/areas/wah-cantt.cjs +71 -0
  66. package/dist/areas/wazirabad.cjs +29 -1
  67. package/dist/areas/zhob.cjs +7 -1
  68. package/dist/data/areas/attock.d.ts.map +1 -1
  69. package/dist/data/areas/attock.js +28 -1
  70. package/dist/data/areas/attock.js.map +1 -1
  71. package/dist/data/areas/bahawalnagar.d.ts.map +1 -1
  72. package/dist/data/areas/bahawalnagar.js +28 -1
  73. package/dist/data/areas/bahawalnagar.js.map +1 -1
  74. package/dist/data/areas/bahawalpur.d.ts.map +1 -1
  75. package/dist/data/areas/bahawalpur.js +158 -0
  76. package/dist/data/areas/bahawalpur.js.map +1 -1
  77. package/dist/data/areas/bhimber.d.ts.map +1 -1
  78. package/dist/data/areas/bhimber.js +7 -1
  79. package/dist/data/areas/bhimber.js.map +1 -1
  80. package/dist/data/areas/chakwal.d.ts.map +1 -1
  81. package/dist/data/areas/chakwal.js +135 -0
  82. package/dist/data/areas/chakwal.js.map +1 -1
  83. package/dist/data/areas/chaman.d.ts.map +1 -1
  84. package/dist/data/areas/chaman.js +135 -1
  85. package/dist/data/areas/chaman.js.map +1 -1
  86. package/dist/data/areas/chilas.d.ts.map +1 -1
  87. package/dist/data/areas/chilas.js +21 -0
  88. package/dist/data/areas/chilas.js.map +1 -1
  89. package/dist/data/areas/chiniot.d.ts.map +1 -1
  90. package/dist/data/areas/chiniot.js +102 -2
  91. package/dist/data/areas/chiniot.js.map +1 -1
  92. package/dist/data/areas/chishtian.d.ts.map +1 -1
  93. package/dist/data/areas/chishtian.js +28 -1
  94. package/dist/data/areas/chishtian.js.map +1 -1
  95. package/dist/data/areas/daska.d.ts.map +1 -1
  96. package/dist/data/areas/daska.js +205 -1
  97. package/dist/data/areas/daska.js.map +1 -1
  98. package/dist/data/areas/dera-ghazi-khan.d.ts.map +1 -1
  99. package/dist/data/areas/dera-ghazi-khan.js +276 -0
  100. package/dist/data/areas/dera-ghazi-khan.js.map +1 -1
  101. package/dist/data/areas/dera-ismail-khan.d.ts.map +1 -1
  102. package/dist/data/areas/dera-ismail-khan.js +1022 -0
  103. package/dist/data/areas/dera-ismail-khan.js.map +1 -1
  104. package/dist/data/areas/dera-murad-jamali.d.ts.map +1 -1
  105. package/dist/data/areas/dera-murad-jamali.js +7 -1
  106. package/dist/data/areas/dera-murad-jamali.js.map +1 -1
  107. package/dist/data/areas/faisalabad.d.ts.map +1 -1
  108. package/dist/data/areas/faisalabad.js +1359 -1
  109. package/dist/data/areas/faisalabad.js.map +1 -1
  110. package/dist/data/areas/gilgit.d.ts.map +1 -1
  111. package/dist/data/areas/gilgit.js +295 -1
  112. package/dist/data/areas/gilgit.js.map +1 -1
  113. package/dist/data/areas/gojra.d.ts.map +1 -1
  114. package/dist/data/areas/gojra.js +169 -1
  115. package/dist/data/areas/gojra.js.map +1 -1
  116. package/dist/data/areas/gujranwala.d.ts.map +1 -1
  117. package/dist/data/areas/gujranwala.js +2755 -0
  118. package/dist/data/areas/gujranwala.js.map +1 -1
  119. package/dist/data/areas/gwadar.d.ts.map +1 -1
  120. package/dist/data/areas/gwadar.js +28 -1
  121. package/dist/data/areas/gwadar.js.map +1 -1
  122. package/dist/data/areas/hub.d.ts.map +1 -1
  123. package/dist/data/areas/hub.js +7 -1
  124. package/dist/data/areas/hub.js.map +1 -1
  125. package/dist/data/areas/hyderabad.d.ts.map +1 -1
  126. package/dist/data/areas/hyderabad.js +5984 -4
  127. package/dist/data/areas/hyderabad.js.map +1 -1
  128. package/dist/data/areas/islamabad.d.ts.map +1 -1
  129. package/dist/data/areas/islamabad.js +8040 -5
  130. package/dist/data/areas/islamabad.js.map +1 -1
  131. package/dist/data/areas/jaranwala.d.ts.map +1 -1
  132. package/dist/data/areas/jaranwala.js +7 -1
  133. package/dist/data/areas/jaranwala.js.map +1 -1
  134. package/dist/data/areas/jhang.d.ts.map +1 -1
  135. package/dist/data/areas/jhang.js +42 -0
  136. package/dist/data/areas/jhang.js.map +1 -1
  137. package/dist/data/areas/kamalia.d.ts.map +1 -1
  138. package/dist/data/areas/kamalia.js +14 -2
  139. package/dist/data/areas/kamalia.js.map +1 -1
  140. package/dist/data/areas/karachi.d.ts.map +1 -1
  141. package/dist/data/areas/karachi.js +10813 -8
  142. package/dist/data/areas/karachi.js.map +1 -1
  143. package/dist/data/areas/karimabad-hunza.d.ts.map +1 -1
  144. package/dist/data/areas/karimabad-hunza.js +7 -1
  145. package/dist/data/areas/karimabad-hunza.js.map +1 -1
  146. package/dist/data/areas/kasur.d.ts.map +1 -1
  147. package/dist/data/areas/kasur.js +56 -2
  148. package/dist/data/areas/kasur.js.map +1 -1
  149. package/dist/data/areas/khanewal.d.ts.map +1 -1
  150. package/dist/data/areas/khanewal.js +91 -1
  151. package/dist/data/areas/khanewal.js.map +1 -1
  152. package/dist/data/areas/khuzdar.d.ts.map +1 -1
  153. package/dist/data/areas/khuzdar.js +244 -0
  154. package/dist/data/areas/khuzdar.js.map +1 -1
  155. package/dist/data/areas/kohat.d.ts.map +1 -1
  156. package/dist/data/areas/kohat.js +183 -0
  157. package/dist/data/areas/kohat.js.map +1 -1
  158. package/dist/data/areas/kot-addu.d.ts.map +1 -1
  159. package/dist/data/areas/kot-addu.js +141 -1
  160. package/dist/data/areas/kot-addu.js.map +1 -1
  161. package/dist/data/areas/kotli.d.ts.map +1 -1
  162. package/dist/data/areas/kotli.js +7 -1
  163. package/dist/data/areas/kotli.js.map +1 -1
  164. package/dist/data/areas/lahore.d.ts.map +1 -1
  165. package/dist/data/areas/lahore.js +10085 -14
  166. package/dist/data/areas/lahore.js.map +1 -1
  167. package/dist/data/areas/larkana.d.ts.map +1 -1
  168. package/dist/data/areas/larkana.js +398 -0
  169. package/dist/data/areas/larkana.js.map +1 -1
  170. package/dist/data/areas/loralai.d.ts.map +1 -1
  171. package/dist/data/areas/loralai.js +7 -1
  172. package/dist/data/areas/loralai.js.map +1 -1
  173. package/dist/data/areas/mandi-bahauddin.d.ts.map +1 -1
  174. package/dist/data/areas/mandi-bahauddin.js +49 -1
  175. package/dist/data/areas/mandi-bahauddin.js.map +1 -1
  176. package/dist/data/areas/mansehra.d.ts.map +1 -1
  177. package/dist/data/areas/mansehra.js +129 -0
  178. package/dist/data/areas/mansehra.js.map +1 -1
  179. package/dist/data/areas/mardan.d.ts.map +1 -1
  180. package/dist/data/areas/mardan.js +44 -0
  181. package/dist/data/areas/mardan.js.map +1 -1
  182. package/dist/data/areas/mingora.d.ts.map +1 -1
  183. package/dist/data/areas/mingora.js +425 -2
  184. package/dist/data/areas/mingora.js.map +1 -1
  185. package/dist/data/areas/mirpur-khas.d.ts.map +1 -1
  186. package/dist/data/areas/mirpur-khas.js +1181 -0
  187. package/dist/data/areas/mirpur-khas.js.map +1 -1
  188. package/dist/data/areas/mirpur.d.ts.map +1 -1
  189. package/dist/data/areas/mirpur.js +135 -1
  190. package/dist/data/areas/mirpur.js.map +1 -1
  191. package/dist/data/areas/multan.d.ts.map +1 -1
  192. package/dist/data/areas/multan.js +1404 -1
  193. package/dist/data/areas/multan.js.map +1 -1
  194. package/dist/data/areas/muridke.d.ts.map +1 -1
  195. package/dist/data/areas/muridke.js +35 -2
  196. package/dist/data/areas/muridke.js.map +1 -1
  197. package/dist/data/areas/muzaffarabad.d.ts.map +1 -1
  198. package/dist/data/areas/muzaffarabad.js +768 -0
  199. package/dist/data/areas/muzaffarabad.js.map +1 -1
  200. package/dist/data/areas/nawabshah.d.ts.map +1 -1
  201. package/dist/data/areas/nawabshah.js +7 -1
  202. package/dist/data/areas/nawabshah.js.map +1 -1
  203. package/dist/data/areas/nowshera.d.ts.map +1 -1
  204. package/dist/data/areas/nowshera.js +256 -0
  205. package/dist/data/areas/nowshera.js.map +1 -1
  206. package/dist/data/areas/okara.d.ts.map +1 -1
  207. package/dist/data/areas/okara.js +402 -0
  208. package/dist/data/areas/okara.js.map +1 -1
  209. package/dist/data/areas/peshawar.d.ts.map +1 -1
  210. package/dist/data/areas/peshawar.js +5707 -2
  211. package/dist/data/areas/peshawar.js.map +1 -1
  212. package/dist/data/areas/quetta.d.ts.map +1 -1
  213. package/dist/data/areas/quetta.js +4651 -1
  214. package/dist/data/areas/quetta.js.map +1 -1
  215. package/dist/data/areas/rahim-yar-khan.d.ts.map +1 -1
  216. package/dist/data/areas/rahim-yar-khan.js +224 -2
  217. package/dist/data/areas/rahim-yar-khan.js.map +1 -1
  218. package/dist/data/areas/rawalpindi.d.ts.map +1 -1
  219. package/dist/data/areas/rawalpindi.js +278 -3
  220. package/dist/data/areas/rawalpindi.js.map +1 -1
  221. package/dist/data/areas/sahiwal.d.ts.map +1 -1
  222. package/dist/data/areas/sahiwal.js +307 -0
  223. package/dist/data/areas/sahiwal.js.map +1 -1
  224. package/dist/data/areas/samundri.d.ts.map +1 -1
  225. package/dist/data/areas/samundri.js +73 -1
  226. package/dist/data/areas/samundri.js.map +1 -1
  227. package/dist/data/areas/sargodha.d.ts.map +1 -1
  228. package/dist/data/areas/sargodha.js +345 -1
  229. package/dist/data/areas/sargodha.js.map +1 -1
  230. package/dist/data/areas/sheikhupura.d.ts.map +1 -1
  231. package/dist/data/areas/sheikhupura.js +111 -0
  232. package/dist/data/areas/sheikhupura.js.map +1 -1
  233. package/dist/data/areas/shikarpur.d.ts.map +1 -1
  234. package/dist/data/areas/shikarpur.js +14 -2
  235. package/dist/data/areas/shikarpur.js.map +1 -1
  236. package/dist/data/areas/sialkot.d.ts.map +1 -1
  237. package/dist/data/areas/sialkot.js +597 -1
  238. package/dist/data/areas/sialkot.js.map +1 -1
  239. package/dist/data/areas/sibi.d.ts.map +1 -1
  240. package/dist/data/areas/sibi.js +52 -1
  241. package/dist/data/areas/sibi.js.map +1 -1
  242. package/dist/data/areas/skardu.d.ts.map +1 -1
  243. package/dist/data/areas/skardu.js +73 -1
  244. package/dist/data/areas/skardu.js.map +1 -1
  245. package/dist/data/areas/swabi.d.ts.map +1 -1
  246. package/dist/data/areas/swabi.js +7 -1
  247. package/dist/data/areas/swabi.js.map +1 -1
  248. package/dist/data/areas/taxila.d.ts.map +1 -1
  249. package/dist/data/areas/taxila.js +242 -0
  250. package/dist/data/areas/taxila.js.map +1 -1
  251. package/dist/data/areas/turbat.d.ts.map +1 -1
  252. package/dist/data/areas/turbat.js +75 -1
  253. package/dist/data/areas/turbat.js.map +1 -1
  254. package/dist/data/areas/vehari.d.ts.map +1 -1
  255. package/dist/data/areas/vehari.js +28 -1
  256. package/dist/data/areas/vehari.js.map +1 -1
  257. package/dist/data/areas/wah-cantt.d.ts.map +1 -1
  258. package/dist/data/areas/wah-cantt.js +71 -0
  259. package/dist/data/areas/wah-cantt.js.map +1 -1
  260. package/dist/data/areas/wazirabad.d.ts.map +1 -1
  261. package/dist/data/areas/wazirabad.js +29 -1
  262. package/dist/data/areas/wazirabad.js.map +1 -1
  263. package/dist/data/areas/zhob.d.ts.map +1 -1
  264. package/dist/data/areas/zhob.js +7 -1
  265. package/dist/data/areas/zhob.js.map +1 -1
  266. package/dist/data/cities.js +54 -54
  267. package/dist/data/cities.js.map +1 -1
  268. package/dist/hierarchy.cjs +73613 -13086
  269. package/dist/index.cjs +73613 -13086
  270. package/dist/index.d.ts +1 -1
  271. package/dist/index.d.ts.map +1 -1
  272. package/dist/types.d.ts +26 -7
  273. package/dist/types.d.ts.map +1 -1
  274. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  `pak-geodata` is an open-source, production-grade TypeScript and JavaScript client library providing offline access to verified geographic data for Pakistan.
6
6
 
7
- It covers all administrative provinces, all 79 major and secondary cities (100% national urban coverage), and 1,279 foundational metropolitan and regional areas across all 79 cities.
7
+ It covers all administrative provinces, all 79 major and secondary cities (100% national urban coverage), and 3,953 foundational metropolitan and regional areas across all 79 cities.
8
8
 
9
9
  Designed with **zero runtime dependencies**, strict geofencing, sub-millisecond lookups, and modular tree-shakeable subpath exports.
10
10
 
@@ -91,7 +91,7 @@ for (const area of lahoreAreas.slice(0, 5)) {
91
91
 
92
92
  // Total verified areas in Pakistan
93
93
  const allAreas = getAllAreas();
94
- console.log(`Total verified areas: ${allAreas.length}`); // 1279
94
+ console.log(`Total verified areas: ${allAreas.length}`); // 3953
95
95
  ```
96
96
 
97
97
  ### 3. Modular Subpath Imports (Tree-Shaking)
@@ -278,10 +278,17 @@ interface PakistanArea {
278
278
  lat: number; // Latitude (WGS 84)
279
279
  lng: number; // Longitude (WGS 84)
280
280
  };
281
+ bounds?: {
282
+ minLat: number;
283
+ maxLat: number;
284
+ minLng: number;
285
+ maxLng: number;
286
+ };
287
+ radiusKm?: number; // Approximate radial span from centroid in km
281
288
  postalCode?: string; // 5-digit Pakistan Post postal code
282
289
  type?: 'neighborhood' | 'sector' | 'commercial' | 'housing_scheme' | 'suburb' | 'industrial' | 'administrative';
283
290
  verified: boolean; // True if verified via triangulation pipeline
284
- sources: string[]; // Verification sources (e.g. "survey", "curated", "osm")
291
+ sources?: (string | ProvenanceSource)[]; // Structured or string provenance sources
285
292
  }
286
293
  ```
287
294
 
@@ -322,6 +329,28 @@ interface PakistanProvince {
322
329
 
323
330
  ---
324
331
 
332
+ ## Data Sources & Upstream Attribution
333
+
334
+ `pak-geodata` integrates cross-verified GIS records from:
335
+ - **National Geospatial-Intelligence Agency (NGA) & GeoNames**: Populated places and urban quarters (`PPLX`) ([CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)).
336
+ - **OpenStreetMap Contributors**: Verified metropolitan neighborhood and arterial coordinates ([ODbL 1.0](https://opendatacommons.org/licenses/odbl/1.0/)).
337
+ - **UN OCHA / HDX COD**: Administrative Common Operational Datasets for Pakistan boundaries ([CC-BY-IGO](https://creativecommons.org/licenses/by/3.0/igo/)).
338
+ - **Pakistan Post & PBS**: Postal codes and administrative hierarchies.
339
+
340
+ See [ATTRIBUTION.md](ATTRIBUTION.md) for full attribution notices.
341
+
342
+ ---
343
+
344
+ ## Licensing & Commercial Use FAQ
345
+
346
+ - **Library & Code**: [MIT License](LICENSE)
347
+ - **Geographic Datasets**: [ODbL 1.0](LICENSE-DATA) & [CC-BY 4.0](LICENSE-DATA)
348
+
349
+ ### Commercial Use in Web & Mobile Apps
350
+ Under **Section 4.3 of the Open Database License (ODbL)**, displaying Pakistani cities, autocomplete menus, checkout address pickers, or geocoding outputs within your application constitutes a **"Produced Work"**. Using `pak-geodata` in your website or mobile app does **NOT** require you to open-source your proprietary code, backend services, or customer database. Simply include an attribution notice in your application's credits.
351
+
352
+ ---
353
+
325
354
  ## About The Mohsin Project
326
355
 
327
356
  > **Free software for those who do good.**
@@ -336,6 +365,6 @@ The Mohsin Project exists because purpose-driven organizations and emergency tea
336
365
 
337
366
  ## License
338
367
 
339
- This project is open-source software licensed under the [MIT License](LICENSE).
368
+ - **Code**: [MIT License](LICENSE) © 2026 [The Mohsin Project Global](https://themohsinproject.org)
369
+ - **Data**: [ODbL 1.0](LICENSE-DATA) & [CC-BY 4.0](LICENSE-DATA) © OpenStreetMap contributors & NGA/GeoNames
340
370
 
341
- Copyright (c) 2026 [The Mohsin Project Global](https://themohsinproject.org)
@@ -113,7 +113,13 @@ var attockAreas = [
113
113
  "verified": true,
114
114
  "sources": [
115
115
  "survey",
116
- "curated"
116
+ "curated",
117
+ {
118
+ "provider": "nga_geonames",
119
+ "id": 1184249,
120
+ "featureCode": "PPLA2",
121
+ "datasetVersion": "2026-11"
122
+ }
117
123
  ]
118
124
  },
119
125
  {
@@ -203,6 +209,27 @@ var attockAreas = [
203
209
  "survey",
204
210
  "curated"
205
211
  ]
212
+ },
213
+ {
214
+ "id": "attock-mahalla-karbia",
215
+ "cityId": "attock",
216
+ "provinceId": "punjab",
217
+ "name": "Mahalla Karbia",
218
+ "aliases": [],
219
+ "coordinates": {
220
+ "lat": 33.76489,
221
+ "lng": 72.35606
222
+ },
223
+ "type": "neighborhood",
224
+ "verified": true,
225
+ "sources": [
226
+ {
227
+ "provider": "nga_geonames",
228
+ "id": 11412139,
229
+ "featureCode": "PPLX",
230
+ "datasetVersion": "2026-11"
231
+ }
232
+ ]
206
233
  }
207
234
  ];
208
235
  // Annotate the CommonJS export names for ESM import in node:
@@ -41,7 +41,13 @@ var bahawalnagarAreas = [
41
41
  "cityId": "bahawalnagar",
42
42
  "sources": [
43
43
  "survey",
44
- "curated"
44
+ "curated",
45
+ {
46
+ "provider": "nga_geonames",
47
+ "id": 1183883,
48
+ "featureCode": "PPLA2",
49
+ "datasetVersion": "2026-11"
50
+ }
45
51
  ],
46
52
  "verified": true,
47
53
  "provinceId": "punjab",
@@ -194,6 +200,27 @@ var bahawalnagarAreas = [
194
200
  "provinceId": "punjab",
195
201
  "urduName": "\u063A\u0644\u06C1 \u0645\u0646\u0688\u06CC",
196
202
  "type": "commercial"
203
+ },
204
+ {
205
+ "id": "bahawalnagar-bihari-colony",
206
+ "cityId": "bahawalnagar",
207
+ "provinceId": "punjab",
208
+ "name": "Bihari Colony",
209
+ "aliases": [],
210
+ "coordinates": {
211
+ "lat": 29.97753,
212
+ "lng": 73.2584
213
+ },
214
+ "type": "neighborhood",
215
+ "verified": true,
216
+ "sources": [
217
+ {
218
+ "provider": "nga_geonames",
219
+ "id": 11972101,
220
+ "featureCode": "PPLX",
221
+ "datasetVersion": "2026-11"
222
+ }
223
+ ]
197
224
  }
198
225
  ];
199
226
  // Annotate the CommonJS export names for ESM import in node:
@@ -409,6 +409,164 @@ var bahawalpurAreas = [
409
409
  "survey",
410
410
  "curated"
411
411
  ]
412
+ },
413
+ {
414
+ "id": "bahawalpur-hamaitian",
415
+ "cityId": "bahawalpur",
416
+ "provinceId": "punjab",
417
+ "name": "Hamaitian",
418
+ "aliases": [
419
+ "Basti Hamatian",
420
+ "Basti Ham\u0101ti\u0101n",
421
+ "Hamaitjan",
422
+ "H\u0101maitj\u0101n"
423
+ ],
424
+ "coordinates": {
425
+ "lat": 29.3832,
426
+ "lng": 71.72227
427
+ },
428
+ "type": "neighborhood",
429
+ "verified": true,
430
+ "sources": [
431
+ {
432
+ "provider": "nga_geonames",
433
+ "id": 1381874,
434
+ "featureCode": "PPLX",
435
+ "datasetVersion": "2026-11"
436
+ }
437
+ ],
438
+ "postalCode": "63100"
439
+ },
440
+ {
441
+ "id": "bahawalpur-sadiq-colony",
442
+ "cityId": "bahawalpur",
443
+ "provinceId": "punjab",
444
+ "name": "Sadiq Colony",
445
+ "aliases": [],
446
+ "coordinates": {
447
+ "lat": 29.38153,
448
+ "lng": 71.66127
449
+ },
450
+ "type": "neighborhood",
451
+ "verified": true,
452
+ "sources": [
453
+ {
454
+ "provider": "nga_geonames",
455
+ "id": 7391887,
456
+ "featureCode": "PPLX",
457
+ "datasetVersion": "2026-11"
458
+ }
459
+ ],
460
+ "postalCode": "63100"
461
+ },
462
+ {
463
+ "id": "bahawalpur-gulzar-mahal",
464
+ "cityId": "bahawalpur",
465
+ "provinceId": "punjab",
466
+ "name": "Gulzar Mahal",
467
+ "aliases": [],
468
+ "coordinates": {
469
+ "lat": 29.39745,
470
+ "lng": 71.69788
471
+ },
472
+ "type": "neighborhood",
473
+ "verified": true,
474
+ "sources": [
475
+ {
476
+ "provider": "nga_geonames",
477
+ "id": 7391964,
478
+ "featureCode": "PPLX",
479
+ "datasetVersion": "2026-11"
480
+ }
481
+ ],
482
+ "postalCode": "63100"
483
+ },
484
+ {
485
+ "id": "bahawalpur-islamia-colony",
486
+ "cityId": "bahawalpur",
487
+ "provinceId": "punjab",
488
+ "name": "Islamia Colony",
489
+ "aliases": [],
490
+ "coordinates": {
491
+ "lat": 29.37168,
492
+ "lng": 71.69607
493
+ },
494
+ "type": "neighborhood",
495
+ "verified": true,
496
+ "sources": [
497
+ {
498
+ "provider": "nga_geonames",
499
+ "id": 7391965,
500
+ "featureCode": "PPLX",
501
+ "datasetVersion": "2026-11"
502
+ }
503
+ ],
504
+ "postalCode": "63100"
505
+ },
506
+ {
507
+ "id": "bahawalpur-godri",
508
+ "cityId": "bahawalpur",
509
+ "provinceId": "punjab",
510
+ "name": "Godri",
511
+ "aliases": [],
512
+ "coordinates": {
513
+ "lat": 29.418,
514
+ "lng": 71.67465
515
+ },
516
+ "type": "neighborhood",
517
+ "verified": true,
518
+ "sources": [
519
+ {
520
+ "provider": "nga_geonames",
521
+ "id": 8300633,
522
+ "featureCode": "PPLX",
523
+ "datasetVersion": "2026-11"
524
+ }
525
+ ],
526
+ "postalCode": "63100"
527
+ },
528
+ {
529
+ "id": "bahawalpur-badara",
530
+ "cityId": "bahawalpur",
531
+ "provinceId": "punjab",
532
+ "name": "Badara",
533
+ "aliases": [],
534
+ "coordinates": {
535
+ "lat": 29.41451,
536
+ "lng": 71.67371
537
+ },
538
+ "type": "neighborhood",
539
+ "verified": true,
540
+ "sources": [
541
+ {
542
+ "provider": "nga_geonames",
543
+ "id": 11769696,
544
+ "featureCode": "PPLX",
545
+ "datasetVersion": "2026-11"
546
+ }
547
+ ],
548
+ "postalCode": "63100"
549
+ },
550
+ {
551
+ "id": "bahawalpur-bhutta-colony",
552
+ "cityId": "bahawalpur",
553
+ "provinceId": "punjab",
554
+ "name": "Bhutta Colony",
555
+ "aliases": [],
556
+ "coordinates": {
557
+ "lat": 29.38065,
558
+ "lng": 71.65246
559
+ },
560
+ "type": "neighborhood",
561
+ "verified": true,
562
+ "sources": [
563
+ {
564
+ "provider": "nga_geonames",
565
+ "id": 11769701,
566
+ "featureCode": "PPLX",
567
+ "datasetVersion": "2026-11"
568
+ }
569
+ ]
412
570
  }
413
571
  ];
414
572
  // Annotate the CommonJS export names for ESM import in node:
@@ -46,7 +46,13 @@ var bhimberAreas = [
46
46
  "verified": true,
47
47
  "sources": [
48
48
  "survey",
49
- "curated"
49
+ "curated",
50
+ {
51
+ "provider": "nga_geonames",
52
+ "id": 1182637,
53
+ "featureCode": "PPLA2",
54
+ "datasetVersion": "2026-11"
55
+ }
50
56
  ]
51
57
  },
52
58
  {
@@ -203,6 +203,141 @@ var chakwalAreas = [
203
203
  "survey",
204
204
  "curated"
205
205
  ]
206
+ },
207
+ {
208
+ "id": "chakwal-mahalla-sargujran",
209
+ "cityId": "chakwal",
210
+ "provinceId": "punjab",
211
+ "name": "Mahalla Sargujran",
212
+ "aliases": [
213
+ "Mohallah Sargujran",
214
+ "Mohallah Sargujr\u0101n"
215
+ ],
216
+ "coordinates": {
217
+ "lat": 32.93151,
218
+ "lng": 72.83331
219
+ },
220
+ "type": "neighborhood",
221
+ "verified": true,
222
+ "sources": [
223
+ {
224
+ "provider": "nga_geonames",
225
+ "id": 7108620,
226
+ "featureCode": "PPLX",
227
+ "datasetVersion": "2026-11"
228
+ }
229
+ ],
230
+ "postalCode": "48810"
231
+ },
232
+ {
233
+ "id": "chakwal-anwarabad",
234
+ "cityId": "chakwal",
235
+ "provinceId": "punjab",
236
+ "name": "Anwarabad",
237
+ "aliases": [],
238
+ "coordinates": {
239
+ "lat": 32.92454,
240
+ "lng": 72.84353
241
+ },
242
+ "type": "neighborhood",
243
+ "verified": true,
244
+ "sources": [
245
+ {
246
+ "provider": "nga_geonames",
247
+ "id": 7108621,
248
+ "featureCode": "PPLX",
249
+ "datasetVersion": "2026-11"
250
+ }
251
+ ],
252
+ "postalCode": "48810"
253
+ },
254
+ {
255
+ "id": "chakwal-ashraf-town",
256
+ "cityId": "chakwal",
257
+ "provinceId": "punjab",
258
+ "name": "Ashraf Town",
259
+ "aliases": [],
260
+ "coordinates": {
261
+ "lat": 32.94817,
262
+ "lng": 72.85551
263
+ },
264
+ "type": "neighborhood",
265
+ "verified": true,
266
+ "sources": [
267
+ {
268
+ "provider": "nga_geonames",
269
+ "id": 11633995,
270
+ "featureCode": "PPLX",
271
+ "datasetVersion": "2026-11"
272
+ }
273
+ ],
274
+ "postalCode": "48810"
275
+ },
276
+ {
277
+ "id": "chakwal-chaishtian",
278
+ "cityId": "chakwal",
279
+ "provinceId": "punjab",
280
+ "name": "Chaishtian",
281
+ "aliases": [],
282
+ "coordinates": {
283
+ "lat": 32.93564,
284
+ "lng": 72.83861
285
+ },
286
+ "type": "neighborhood",
287
+ "verified": true,
288
+ "sources": [
289
+ {
290
+ "provider": "nga_geonames",
291
+ "id": 11633997,
292
+ "featureCode": "PPLX",
293
+ "datasetVersion": "2026-11"
294
+ }
295
+ ],
296
+ "postalCode": "48810"
297
+ },
298
+ {
299
+ "id": "chakwal-gulshan-iqbal-town",
300
+ "cityId": "chakwal",
301
+ "provinceId": "punjab",
302
+ "name": "Gulshan Iqbal Town",
303
+ "aliases": [],
304
+ "coordinates": {
305
+ "lat": 32.92791,
306
+ "lng": 72.83748
307
+ },
308
+ "type": "neighborhood",
309
+ "verified": true,
310
+ "sources": [
311
+ {
312
+ "provider": "nga_geonames",
313
+ "id": 11633998,
314
+ "featureCode": "PPLX",
315
+ "datasetVersion": "2026-11"
316
+ }
317
+ ],
318
+ "postalCode": "48810"
319
+ },
320
+ {
321
+ "id": "chakwal-jhangir-town",
322
+ "cityId": "chakwal",
323
+ "provinceId": "punjab",
324
+ "name": "Jhangir Town",
325
+ "aliases": [],
326
+ "coordinates": {
327
+ "lat": 32.92286,
328
+ "lng": 72.85625
329
+ },
330
+ "type": "neighborhood",
331
+ "verified": true,
332
+ "sources": [
333
+ {
334
+ "provider": "nga_geonames",
335
+ "id": 11634001,
336
+ "featureCode": "PPLX",
337
+ "datasetVersion": "2026-11"
338
+ }
339
+ ],
340
+ "postalCode": "48810"
206
341
  }
207
342
  ];
208
343
  // Annotate the CommonJS export names for ESM import in node:
@@ -90,7 +90,13 @@ var chamanAreas = [
90
90
  "verified": true,
91
91
  "sources": [
92
92
  "survey",
93
- "curated"
93
+ "curated",
94
+ {
95
+ "provider": "nga_geonames",
96
+ "id": 1181611,
97
+ "featureCode": "PPL",
98
+ "datasetVersion": "2026-11"
99
+ }
94
100
  ]
95
101
  },
96
102
  {
@@ -205,6 +211,134 @@ var chamanAreas = [
205
211
  "survey",
206
212
  "curated"
207
213
  ]
214
+ },
215
+ {
216
+ "id": "chaman-muhammad-hasan-kili",
217
+ "cityId": "chaman",
218
+ "provinceId": "balochistan",
219
+ "name": "Muhammad Hasan Kili",
220
+ "aliases": [
221
+ "Muhammad Hassan Kili"
222
+ ],
223
+ "coordinates": {
224
+ "lat": 30.90609,
225
+ "lng": 66.45192
226
+ },
227
+ "type": "neighborhood",
228
+ "verified": true,
229
+ "sources": [
230
+ {
231
+ "provider": "nga_geonames",
232
+ "id": 1350707,
233
+ "featureCode": "PPLX",
234
+ "datasetVersion": "2026-11"
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "id": "chaman-muslimabad",
240
+ "cityId": "chaman",
241
+ "provinceId": "balochistan",
242
+ "name": "Muslimabad",
243
+ "aliases": [],
244
+ "coordinates": {
245
+ "lat": 30.92247,
246
+ "lng": 66.46422
247
+ },
248
+ "type": "neighborhood",
249
+ "verified": true,
250
+ "sources": [
251
+ {
252
+ "provider": "nga_geonames",
253
+ "id": 6367105,
254
+ "featureCode": "PPLX",
255
+ "datasetVersion": "2026-11"
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ "id": "chaman-kajar-kili",
261
+ "cityId": "chaman",
262
+ "provinceId": "balochistan",
263
+ "name": "Kajar Kili",
264
+ "aliases": [],
265
+ "coordinates": {
266
+ "lat": 30.9325,
267
+ "lng": 66.4773
268
+ },
269
+ "type": "neighborhood",
270
+ "verified": true,
271
+ "sources": [
272
+ {
273
+ "provider": "nga_geonames",
274
+ "id": 6367106,
275
+ "featureCode": "PPLX",
276
+ "datasetVersion": "2026-11"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "id": "chaman-daulatabad",
282
+ "cityId": "chaman",
283
+ "provinceId": "balochistan",
284
+ "name": "Daulatabad",
285
+ "aliases": [],
286
+ "coordinates": {
287
+ "lat": 30.92801,
288
+ "lng": 66.4691
289
+ },
290
+ "type": "neighborhood",
291
+ "verified": true,
292
+ "sources": [
293
+ {
294
+ "provider": "nga_geonames",
295
+ "id": 6367107,
296
+ "featureCode": "PPLX",
297
+ "datasetVersion": "2026-11"
298
+ }
299
+ ]
300
+ },
301
+ {
302
+ "id": "chaman-aduzai-kili",
303
+ "cityId": "chaman",
304
+ "provinceId": "balochistan",
305
+ "name": "Aduzai Kili",
306
+ "aliases": [],
307
+ "coordinates": {
308
+ "lat": 30.90972,
309
+ "lng": 66.43732
310
+ },
311
+ "type": "neighborhood",
312
+ "verified": true,
313
+ "sources": [
314
+ {
315
+ "provider": "nga_geonames",
316
+ "id": 6367110,
317
+ "featureCode": "PPLX",
318
+ "datasetVersion": "2026-11"
319
+ }
320
+ ]
321
+ },
322
+ {
323
+ "id": "chaman-ali-khan-kili",
324
+ "cityId": "chaman",
325
+ "provinceId": "balochistan",
326
+ "name": "Ali Khan Kili",
327
+ "aliases": [],
328
+ "coordinates": {
329
+ "lat": 30.91274,
330
+ "lng": 66.42485
331
+ },
332
+ "type": "neighborhood",
333
+ "verified": true,
334
+ "sources": [
335
+ {
336
+ "provider": "nga_geonames",
337
+ "id": 6367111,
338
+ "featureCode": "PPLX",
339
+ "datasetVersion": "2026-11"
340
+ }
341
+ ]
208
342
  }
209
343
  ];
210
344
  // Annotate the CommonJS export names for ESM import in node:
@@ -205,6 +205,27 @@ var chilasAreas = [
205
205
  "survey",
206
206
  "curated"
207
207
  ]
208
+ },
209
+ {
210
+ "id": "chilas-thakuri",
211
+ "cityId": "chilas",
212
+ "provinceId": "gilgit-baltistan",
213
+ "name": "Thakuri",
214
+ "aliases": [],
215
+ "coordinates": {
216
+ "lat": 35.41098,
217
+ "lng": 74.09787
218
+ },
219
+ "type": "neighborhood",
220
+ "verified": true,
221
+ "sources": [
222
+ {
223
+ "provider": "nga_geonames",
224
+ "id": 11069239,
225
+ "featureCode": "PPLX",
226
+ "datasetVersion": "2026-11"
227
+ }
228
+ ]
208
229
  }
209
230
  ];
210
231
  // Annotate the CommonJS export names for ESM import in node: