Country-level internet data is not good enough for India. This adds the first sub-national layer, from the one open, machine-readable source verified for it: NFHS-5 (2019-21, IIPS / MoHFW), "women / men aged 15-49 who have ever used the internet (%)", urban / rural / total, for every state and UT (CSV transcription of the state fact sheets, CC BY 4.0; SPEC-GRANULAR-INTERNET.md). - data/internet/: the two NFHS-5 internet rows (with provenance, licence and upstream commit), plus a strict crosswalk from source names to the shipped gb-IND-ADM1 shapeNames. - plugin-designs/cities-internet/scripts/build-adm1-internet.mjs (`bun run internet:adm1`) writes data/tables/internet-by-adm1.json. It is GENERIC, one row per iso3 x adm1 x measure x sex x area, with meta naming measures, sources, boundary files and the national figures, so go-int and other plugins can reuse it. It fails on an unmatched name or a value outside 0-100: a name is never guessed. - The map draws India's states in a blue ramp (0-25-40-55-70%+), leading with women, with a Women / Men toggle. A tapped state shows both halves, urban / rural / total. Its own legend block names the measure, survey, years and ages, and says it counts people, not subscriptions, so it is never read as the World Bank country bands. India's national band is taken out under its states. - The shipped boundary file is the UPG-100 partition (34 of 36 units): Mizoram and Nagaland have data but no geometry. They stay in the table and the legend names them. - 8 new strings under connectivity.adm1, in all 11 locales (library change: consumers need rebuilding). Headless: build and tree OK, and the table and gb-IND-ADM1 are staged under assets/. The fill expression validates with maplibre-gl-style-spec, and all 34 shipped states get a colour (e.g. Bihar women 20.6 -> 0-25, Delhi men 85.2 -> 70+). A crosswalk poisoned to a wrong shapeName fails the generator. Passing: universal-props, no-free-identifiers, i18n-parity, i18n-never-translated, profiles-mount, composites-mount, no-orphan-gates, script-flags, quoted-scripts. Not rendered in a browser. |
||
|---|---|---|
| .. | ||
| adm1-crosswalk-IND.json | ||
| nfhs5-internet-by-state.csv | ||
| README.md | ||
data/internet/ — internet use below the country level
Source files for data/tables/internet-by-adm1.json, which
plugin-designs/cities-internet/scripts/build-adm1-internet.mjs writes. Edit the sources here and
re-run the script; never edit the table by hand.
nfhs5-internet-by-state.csv
- What: India, National Family Health Survey 5 (NFHS-5, 2019–21, IIPS / Ministry of Health and Family Welfare), indicators 18 and 19: Women / Men (age 15–49) who have ever used the internet (%), by state/UT, urban / rural / total (plus the NFHS-4 total).
- From: the two internet rows of
NFHS-5-States.csvin https://github.com/pratapvardhan/NFHS-5 at commit93c67fed2403c8e533d178d293c5ba0411892b1e, a CSV transcription of the official state fact sheets (http://rchiips.org/nfhs/). The transcriber notes that quality checks were minimal; the figures here were spot-checked against the national fact sheet (India: women 33.3%, men 57.1%). - Licence: the CSV is CC BY 4.0. Attribution: "NFHS-5 (IIPS/MoHFW) state fact sheets, via pratapvardhan/NFHS-5 (CC BY 4.0)".
- Measure: a SURVEY SHARE OF PEOPLE (0–100%): has this person ever used the internet. It is not a subscription count (TRAI's "subscribers per 100" is a different measure and can exceed 100).
adm1-crosswalk-IND.json
Source state names → the shapeName of plugin-designs/my-upg-100-list/data/gb-IND-ADM1.geojson
(served as assets/boundaries/gb-IND-ADM1.geojson). Every source name must appear here, with either
the boundary name or null plus a reason. The build fails on anything else, never guesses.