library(bangladesh)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(sf)
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; sf_use_s2() is TRUE
library(tmap)

Load all district shapes

districts <- get_map("district")

Select Gazipur District

Dhaka <- districts %>%
  filter(District == "Dhaka") %>%
  st_transform(32646)

Plot District Map

tm_shape(Dhaka) +
  tm_polygons(col = "lightblue", border.col = "black") +
  tm_text("District", size = 0.8) +
  tm_title("Map of Dhaka District") +
  tm_compass(position = c("left", "bottom"), type = "8star", size = 5) +
  tm_scalebar(position = c("right", "bottom"), text.size = 0.7) +
  tm_grid(lines = TRUE, labels.size = 0.7, col = "gray85")
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────
## [v3->v4] `tm_polygons()`: use 'fill' for the fill color of polygons/symbols
## (instead of 'col'), and 'col' for the outlines (instead of 'border.col').
## This message is displayed once every 8 hours.

Load upazila shapes

upazilas <- get_map("upazila")

Select Kapasia Upazila from Khulna district

Nawabganj <- upazilas %>%
  filter(District == "Dhaka" & Upazila == "Nawabganj") %>%
  st_transform(32646)

Plot Upazila Map

tm_shape(Nawabganj) +
  tm_polygons(col = "lightgreen", border.col = "black") +
  tm_text("Upazila", size = 0.7) +
  tm_title("Map of Nawabganj Upazila (Dhaka District)") +
  tm_compass(position = c("left", "bottom"), type = "8star", size = 4) +
  tm_scalebar(position = c("right", "bottom"), text.size = 0.7) +
  tm_grid(lines = TRUE, labels.size = 0.7, col = "gray85")
## 
## ── tmap v3 code detected ───────────────────────────────────────────────────────