Skip to contents

Geographical information system (GIS) files, or maps are used in the project for identification of locations of solar and wind energy potential and visualisation of the model data and modeling results. IDEEA package has embedded maps with alternative regional divisions, starting from one region (the country level) to 37 regions (each state as a region) or 46 zones where few regions are split into several distant territories (such as Puduchery). The maps are available in simple feature (sf) format and can be called using the get_ideea_maps function:

library(IDEEA)
ideea_sf <- get_ideea_map(nreg = 5, offshore = TRUE)
plot(ideea_sf["reg5"], main = paste0(length(unique(ideea_sf$reg5)), 
                                       " regions map with offshores"))

The function returns sf object with region short (region or reg{N}) and long names (name), names with offshore areas (reg_off), as well as further information (see ?get_ideea_map for details).

get_ideea_map() # returns 5 regions by default
#> Simple feature collection with 5 features and 3 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: 68.1862 ymin: 6.757 xmax: 97.4117 ymax: 37.0776
#> Geodetic CRS:  WGS 84
#> # A tibble: 5 × 4
#>   offshore reg5      name5                                              geometry
#>   <lgl>    <chr>     <chr>                                    <MULTIPOLYGON [°]>
#> 1 FALSE    EAST      Eastern Region       (((88.0939 22.0114, 88.0703 21.9908, …
#> 2 FALSE    NORTH     Northern Region      (((80.0703 28.8292, 80.0636 28.8453, …
#> 3 FALSE    NORTHEAST North-Eastern Region (((95.2373 26.6798, 95.2597 26.6798, …
#> 4 FALSE    SOUTH     Southern Region      (((74.1129 11.2109, 74.1231 11.2347, …
#> 5 FALSE    WEST      Western Region       (((68.2482 23.8804, 68.2157 23.8665, …

Administratively, India is organized into 28 states and 8 Union territories, initially restructured according to linguistic lines as per The States Reorganization Act 1956. In a specific modelling framework that allows for regional modification, a GIS map initially divides the country into 46 regions, incorporating all states and Union territories with certain modifications. This division counts Daman and Diu as separate entities and treats each district of Puducherry as its own region, reflecting its composition of formerly separate French colonies. For simplification, alternative regional models consolidate these areas differently, reducing the number of regions to 36, 34, 32, 7, and 5, by merging split areas (such as Puducherry) into a nearby entity and combining Daman and Diu. This approach provides examples of alternative levels of details for modeling India’s energy system, where 32-37 aggregation options are closest to the administrative boundaries, but has splits and aggregates of some regions with no political context. Scholars can bring to use their own shape-files and regional divisions for their studies, publications, and consulting.

ideea_sf <- get_ideea_map(nreg = 32, offshore = TRUE, islands = TRUE)
# ideea_sf
plot(ideea_sf["reg32"], main = paste0(length(unique(ideea_sf$reg32)), " regions map"))

The IDEEA map can me acquired for 1, 5, 7, 32, 34, 36, 37 or 46 regions. The offshore and islands arguments allow to include or exclude offshore areas and islands, respectively. The rename argument allows to rename the columns to region and name for the region short and long names. The reg_off argument allows to add a column with offshore areas to the region names. The aggregate argument allows to aggregate geometries of regions with the same name.

ideea_sf <- get_ideea_map(nreg = 1, rename = T)
plot(ideea_sf["region"], main = paste0(length(unique(ideea_sf$region)), " regions map"))

The mapping of alternative regional divisions can be found in the ideea_data$reg_tbl data frame where every aggregation is represented in a separate colun with names reg{N} and name{N}. The offshore and mainland columns allow to distinguish between offshore and mainland areas.

ideea_data$reg_tbl |> head()
#>                 name46  reg46              name37  reg37              name36
#>                 <char> <char>              <char> <char>              <char>
#> 1: Andaman and Nicobar     AN Andaman and Nicobar     AN Andaman and Nicobar
#> 2:   Arunachal Pradesh     AR   Arunachal Pradesh     AR   Arunachal Pradesh
#> 3:               Assam     AS               Assam     AS               Assam
#> 4:               Bihar     BR               Bihar     BR               Bihar
#> 5:          Chandigarh     CH          Chandigarh     CH          Chandigarh
#> 6:        Chhattisgarh     CT        Chhattisgarh     CT        Chhattisgarh
#>     reg36              name34  reg34                name32  reg32
#>    <char>              <char> <char>                <char> <char>
#> 1:     AN Andaman and Nicobar     AN   Andaman and Nicobar     AN
#> 2:     AR   Arunachal Pradesh     AR     Arunachal Pradesh     AR
#> 3:     AS               Assam     AS                 Assam     AS
#> 4:     BR               Bihar     BR                 Bihar     BR
#> 5:     CH          Chandigarh     CH Punjab and Chandigarh    PBH
#> 6:     CT        Chhattisgarh     CT          Chhattisgarh     CT
#>                   name7      reg7                name5      reg5  name1   reg1
#>                  <char>    <char>               <char>    <char> <char> <char>
#> 1:  Andaman and Nicobar        AN       Eastern Region      EAST  India    IND
#> 2: North-Eastern Region NORTHEAST North-Eastern Region NORTHEAST  India    IND
#> 3: North-Eastern Region NORTHEAST North-Eastern Region NORTHEAST  India    IND
#> 4:       Eastern Region      EAST       Eastern Region      EAST  India    IND
#> 5:      Northern Region     NORTH      Northern Region     NORTH  India    IND
#> 6:       Western Region      WEST       Western Region      WEST  India    IND
#>    mainland offshore        km2
#>      <lgcl>   <lgcl>      <num>
#> 1:    FALSE    FALSE   7377.905
#> 2:     TRUE    FALSE  82241.936
#> 3:     TRUE    FALSE  78619.721
#> 4:     TRUE    FALSE  94296.063
#> 5:     TRUE    FALSE    119.045
#> 6:     TRUE    FALSE 135613.811

Alternative aggregations can be added using this table and the sf object get_ideea_map(aggregate = F, rename = FALSE, islands = T).