doxa-maps/plugin-designs/cities-internet/scripts
Doxa Maps 47a69fa1ce Cities with Internet: India by state, "ever used the internet", women and men
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.
2026-09-26 08:13:33 +00:00
..
build-adm1-internet.mjs Cities with Internet: India by state, "ever used the internet", women and men 2026-09-26 08:13:33 +00:00