fix(nabard): source the India map from DataMeet under CC BY 4.0

The previous boundary file came from a repository with no LICENSE, whose
own README says the data was 'curated from publicly available sources on
the internet for personal usage' and names no upstream source. No licence
means all rights reserved by default, and committing it to this repo is
redistribution. Not something to put in front of a government institution.

Replaced with datameet/maps, which states CC BY 4.0 explicitly and asks
only for attribution. DataMeet is also the right choice on the merits: it
is an Indian civic-data community and depicts India's boundaries as Indian
sources do, which for a NABARD audience is a larger risk than licensing —
a foreign-sourced outline that draws Jammu and Kashmir or Arunachal Pradesh
differently is noticeable and awkward in a way a missing credit is not.

The attribution renders on the map itself, because CC BY requires the
credit to travel with the work rather than sit in a licences page nobody
opens. It carries 'simplified, not authoritative' alongside, which matters
independently of the licence.

Better geometry and less of it: true state polygons rather than district
polygons concatenated per state, so shared edges are no longer stored
twice — 101 KB against 223 KB, at a finer simplification tolerance. Bundle
drops 22 KB gzipped.

Names are canonicalised at generation time (DataMeet ships 'NCT of Delhi'
and misspells 'Arunanchal Pradesh'), so map keys match the platform's own
district table. Source predates the 2019 reorganisation: Ladakh is drawn
within Jammu and Kashmir, and that is recorded in the file header rather
than left for someone to notice.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
LincPay
2026-08-06 18:51:31 +05:30
co-authored by Claude Opus 5
parent 570e6335a0
commit 587207324f
2 changed files with 32 additions and 10 deletions
+12 -1
View File
@@ -1,5 +1,5 @@
import { useMemo, useState } from 'react'
import { INDIA_STATE_PATHS, INDIA_VIEWBOX } from '../../lib/indiaMap'
import { INDIA_MAP_ATTRIBUTION, INDIA_STATE_PATHS, INDIA_VIEWBOX } from '../../lib/indiaMap'
/** What the map needs to know about one state. */
export interface StateDatum {
@@ -132,6 +132,17 @@ export function IndiaMap({
</div>
<Legend worst={worst} />
{/*
CC BY 4.0 requires the credit to travel with the work, so it lives on the
map rather than in a licences page nobody opens. The "not authoritative"
half matters independently: this is a portfolio visualisation, and a
government audience should not read a simplified outline as a boundary
claim.
*/}
<p className="absolute bottom-1 right-1 text-[9.5px] text-slate-400 max-w-[190px] text-right leading-tight">
{INDIA_MAP_ATTRIBUTION}
</p>
</div>
)
}
+20 -9
View File
File diff suppressed because one or more lines are too long