assets/geo — geospatial data for the /geological-map-of-india/ page

This directory holds the source files and the derived GeoJSON used to draw the outlines of geological features on the /geological-map-of-india/ page. Only the *.geojson files are published; the raw sources (*.zip, *.tiff, *.kml, *.png) are committed for provenance but excluded from the built site (see _config.yml). Each published geojson also carries its origin + credit in a _source member.

⚠️ Reuse terms differ per source — check the Credit field of each row before any non-personal reuse. Raster tracing uses scripts/trace-geotiff.py.

Geo outline Geo data — source · transformation · credit
India border
india.geojson
Source: DataMeet Community Maps Country/india-composite.geojson.
Transformation: simplified with npx mapshaper -simplify 4% keep-shapes (10 MB → 161 KB).
Credit: © DataMeet Community Maps, CC0.
Soil types
soil.geojson
Source: FAO–UNESCO Digital Soil Map of the World (DSMW v3.6) global shapefile (DSMW/DSMW.shp, 34,112 polygons). (An India-only extract from yashveeeeeeer/india-geodata was used first but stopped at ~33°N, leaving the far north blank — so we re-clipped the global DSMW instead.)
Transformation: npx mapshaper DSMW.shp -clip bbox=67,6,98,38 -clip india.geojson -filter-fields DOMSOI -simplify 12% keep-shapes → clipped to our India outline so coverage matches the map (incl. Kashmir/Ladakh); ~410 KB. The DOMSOI first letter (FAO major soil group) is bucketed into named Indian soil types in map.js and drawn as a toggleable overlay with a legend.
Credit: FAO–UNESCO Digital Soil Map of the World.
Agro-ecological regions
agro-ecological.geojson
Source: Boundaries of Agro-Ecological regions (ICAR–NBSS&LUP), shapefile from data.gov.in (Agro_Ecological_regions/, Lambert Conformal Conic, 20 polygons). Despite the “agro” label these are effectively India’s physiographic–ecological regions (Western Himalayas, Deccan Plateau, Western Ghats & Coastal Plain, etc.).
Transformation: npx mapshaper Agro_Ecological_regions.shp -proj wgs84 -filter-fields physio_reg,ae_regcode -simplify 3% keep-shapes -clean → reprojected to WGS84, ~205 KB. Drawn as a toggleable overlay: soft per-region fills (colours only separate neighbours — the physio_reg names are ALL-CAPS and typo’d, so they’re not bucketed into categories) with the cleaned region name shown on hover. The Agro-Climatic regions dataset from the same portal was evaluated and skipped — it largely duplicates the rainfall overlay and drifts into agriculture.
Credit: ICAR–NBSS&LUP / data.gov.in.
Annual rainfall
rainfall.png
Source: WorldClim 2.1 annual precipitation (bio12), 10 arc-min — https://worldclim.org/data/worldclim21.html.
Transformation: read the global GeoTIFF with PIL + numpy (like trace-geotiff.py), cropped to India (lon 66–98, lat 6–38), colour-ramped (dry tan → wet blue), upscaled, and masked to india.geojson. Drawn as a toggleable L.imageOverlay over bounds [[6,66],[38,98]] with a legend. ~380 KB PNG. (Raster overlay, not GeoJSON — but the derived image is redistributable.)
Credit: WorldClim 2.1 (Fick & Hijmans 2017), CC BY 4.0.
Active faults & thrusts
faults.geojson
Source: GEM Global Active Faults Database (gem_active_faults_harmonized.geojson) from GEMScienceTools/gem-global-active-faults.
Transformation: npx mapshaper -clip bbox=68,6,98,38 -filter-fields slip_type,name -simplify 25% → 560 lines around India + the Himalaya (~100 KB). slip_type is bucketed in map.js into thrust / strike-slip / normal / fold and drawn as a toggleable line overlay with a legend. Lines are not clipped to the border (like the rivers) so the Himalayan thrust arc stays whole.
Credit: GEM Global Active Faults Database, CC BY-SA 4.0.
Seismic zones
seismic.geojson
Source: BIS seismic zoning of India (Zones II–V) — shapefile from data.gov.in (Seismic_Zones/, Lambert Conformal Conic).
Transformation: npx mapshaper -filter 'seismic_zo != ""' -proj wgs84 -dissolve zone -simplify 8% keep-shapes — dropped 156 empty sliver polygons, reprojected to WGS84, dissolved the 17 real polygons into 4 zones (~370 KB). Drawn as a toggleable overlay with a green→red hazard legend.
Credit: BIS / data.gov.in.
Rivers
rivers.geojson
Source: Rivers.zip — a Bhukosh (GSI) shapefile in a projected CRS (Lambert Conformal Conic, metres).
Transformation: npx mapshaper Rivers/Rivers.shp -proj wgs84 -filter-fields rivname,ba_name -simplify 4% keep-shapes -o rivers.geojson force precision=0.001 → 110 lines, ~196 KB gzipped.
Credit: © GSI (Bhukosh) — visualization / regional-level use.
Individual rivers
features/*-river.geojson
Source: peninsular rivers (Godavari, Krishna, Kaveri, Narmada, Tapi) filtered from rivers.geojson by rivname. Ganga & Brahmaputra cross into Bangladesh, so they come from Natural Earth 10m rivers instead (the GSI layer is India-only and would clip them at the border).
Transformation: filtered by name into per-river files; drawn as a highlighted course when the pin is clicked.
Credit: © GSI (Bhukosh) for peninsular rivers; Natural Earth (public domain) for Ganga & Brahmaputra.
Deccan Traps
features/deccan-traps.geojson
Source: GSI geology data of India on the Esri India Living Atlas Feature Service — https://livingatlas.esri.in/server1/rest/services/Geology/Geology/MapServer/0.
Transformation: pulled + dissolved with scripts/fetch-shape.sh.
Credit: © GSI, via Esri India Living Atlas.
Aravalli Range
features/aravalli-range.geojson
Source: same GSI-on-Esri service (Aravalli + Delhi supergroups).
Transformation: pulled + both supergroups dissolved into one outline with fetch-shape.sh.
Credit: © GSI, via Esri India Living Atlas.
Himalayan Foreland Basin
features/himalayan-foreland-basin.geojson
Source: georeferenced Soar.earth raster Himalayan_foreland_basin_powered_by_soar.tiff.
Transformation: colour-traced with trace-geotiff.py. Approximate — georeferencing slightly warped.
Credit: Soar.earth imagery.
Lonar Crater
features/lonar-crater.geojson
Source: Lonar.kml.
Transformation: crater-lake rim drawn manually in Google Earth by Akif Vohra (repo author), converted to GeoJSON.
Credit: outline by Akif Vohra.
Thar Desert
features/thar-desert.geojson
Source: WWF Thar ecoregion (IM1304) map (Wikipedia), as the georeferenced raster Ecoregion_IM1304_powered_by_soar.tiff.
Transformation: manually georeferenced on georeference.ai by Akif Vohra (repo author), then colour-traced with trace-geotiff.py. Approximate.
Credit: WWF ecoregion; georeferencing by Akif Vohra.
Gondwana region
features/gondwana.geojson
Source: Gondwana Kingdom image, Wikimedia Commonshttps://commons.wikimedia.org/wiki/File:Gondwana_Kingdom_edited.jpg.
Transformation: manually traced/georeferenced on georeference.ai by Akif Vohra (repo author), then colour-vectorised with trace-geotiff.py. Approximate.
Credit: © BharatWale (Wikimedia Commons), CC BY-SA 4.0 — this derived outline is likewise CC BY-SA 4.0. (Namesake of the geological term.)
Western Ghats
features/western-ghats.geojson
Source: Western Ghats Hotspot figure in IUCN — Molur, Smith, Daniel & Darwall (2010), The Status and Distribution of Freshwater Biodiversity in the Western Ghats, India (IUCN & Zoo Outreach Organization), via ResearchGate https://www.researchgate.net/figure/Map-showing-the-Western-Ghats-Hotspot-and-the-wider-catchment-areas-that-delineate-the_fig3_255716543.
Transformation: manually traced/georeferenced on georeference.ai by Akif Vohra (repo author), then colour-vectorised with trace-geotiff.py. Approximate.
Credit: © IUCN / Molur et al. (2010) — confirm IUCN reuse terms.

Archived, not on the map yet: Reservoir.zip (Bhukosh reservoirs — intended recipe filters area_ha >= 100 before -simplify 6% keep-shapes) and gondwana.png (an earlier raster of the Gond region). Unzip archives locally to re-run a shapefile transform; the extracted Rivers/ and Reservoir/ folders are git-ignored.