The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

India state-level NTL with Bhuvan

ISRO’s Bhuvan NTL portal provides pre-aggregated mean radiance for all Indian states from 2012 to 2024, and WMS raster tiles for any custom region, with no authentication required.

All states, all years

library(lightson)

df <- bhuvan_stats()
#> Warning: Your request spans a collection break in the Bhuvan NTL data:
#> 2012-2023 uses VNP46A4 Collection 1.0 and 2024 onwards uses Collection 2.0.
#> Radiance estimates are not directly comparable across this boundary. Treat any
#> 2023-to-2024 trend as an artefact of the collection change.
dim(df)
#> [1] 481   3
head(df)
#>               state year mean_radiance
#> 1 Andaman & Nicobar 2012          2.28
#> 2    Andhra Pradesh 2012         12.05
#> 3 Arunachal Pradesh 2012          0.78
#> 4             Assam 2012         10.81
#> 5             Bihar 2012          8.36
#> 6        Chandigarh 2012       1100.69

Single state time series

bihar <- bhuvan_stats(state = "BIHAR")
#> Warning: Your request spans a collection break in the Bhuvan NTL data:
#> 2012-2023 uses VNP46A4 Collection 1.0 and 2024 onwards uses Collection 2.0.
#> Radiance estimates are not directly comparable across this boundary. Treat any
#> 2023-to-2024 trend as an artefact of the collection change.
bihar
#>    state year mean_radiance
#> 1  Bihar 2012          8.36
#> 2  Bihar 2013          9.12
#> 3  Bihar 2014         12.18
#> 4  Bihar 2015         16.45
#> 5  Bihar 2016         22.05
#> 6  Bihar 2017         24.64
#> 7  Bihar 2018         35.56
#> 8  Bihar 2019         41.00
#> 9  Bihar 2020         41.43
#> 10 Bihar 2021         47.97
#> 11 Bihar 2022         55.75
#> 12 Bihar 2023         60.59
#> 13 Bihar 2024         79.68
library(ggplot2)
plot_ntl_trend(bihar,
  region = "Bihar",
  caption = "Source: ISRO Bhuvan NTL portal"
)

Radiance nearly 10x from 2012 to 2024.

Compare states

states <- c("Bihar", "Maharashtra", "Tamil Nadu", "Uttar Pradesh", "Kerala")
plot_ntl_trend(
  df[df$state %in% states, ],
  region   = states,
  subtitle = "Bhuvan state mean radiance (nW/cm^2/sr)",
  caption  = "Source: ISRO Bhuvan NTL portal"
)

Nighttime India from space, 2012 to 2024

states_sf <- get_india_admin("state")

years_sel <- c(2012, 2015, 2018, 2021, 2024)
rasters <- tryCatch(
  bhuvan_raster("IND", years = years_sel, bbox_pad = c(0, 0, 0, 3.5)),
  error = function(e) list()
)
#> Warning: Your request spans a collection break in the Bhuvan NTL data:
#> 2012-2023 uses VNP46A4 Collection 1.0 and 2024 onwards uses Collection 2.0.
#> Radiance estimates are not directly comparable across this boundary. Treat any
#> 2023-to-2024 trend as an artefact of the collection change.
#> Using cached: bhuvan_v2_5a2264df7a53_2012.tif
#> Using cached: bhuvan_v2_5a2264df7a53_2015.tif
#> Using cached: bhuvan_v2_5a2264df7a53_2018.tif
#> Using cached: bhuvan_v2_5a2264df7a53_2021.tif
#> Using cached: bhuvan_v2_5a2264df7a53_2024.tif
plot_ntl_panel(
  rasters,
  polygons = states_sf,
  title    = "India at night, 2012 to 2024",
  subtitle = "Bhuvan NTL radiance classes. Boundaries: LGD/SoI.",
  caption  = "Source: ISRO Bhuvan NTL portal",
  ncol     = 3L
)

All panels are drawn at the same radiance scale (reference zero). The sharpest gains are in Bihar, UP, and Odisha after 2015, broadly tracking the Saubhagya electrification scheme (2017-2019).

Filter by year range

post_2015 <- bhuvan_stats(years = 2015:2024)
#> Warning: Your request spans a collection break in the Bhuvan NTL data:
#> 2012-2023 uses VNP46A4 Collection 1.0 and 2024 onwards uses Collection 2.0.
#> Radiance estimates are not directly comparable across this boundary. Treat any
#> 2023-to-2024 trend as an artefact of the collection change.
nrow(post_2015)
#> [1] 370

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.