Author

Tony Duan

1 data

Code
library(tidyverse)

library(sf)
library(leaflet)
library(geojsonio)
library(leaflet.extras)

2 display at openstreet map

Code
m <- leaflet() %>%
   # Add default OpenStreetMap map tiles
  addTiles() %>%  
  # add markers
  addMarkers(lng=174.768, lat=-36.852, popup="The birthplace of R")

m  

3 display at google map

Code
leaflet() |>
  # add base mao
  addTiles(urlTemplate = "https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}") |>
  # set view
  setView(116.347817690225, 39.997202126977, zoom = 16) |>
  # add markers
  addMarkers(116.347817690225, 39.997202126977)

4 Third-Party map

Code
#m <- leaflet() %>% setView(lng = -71.0589, lat = 42.3601, zoom = 10)
#m %>% addProviderTiles(providers$Stadia.StamenToner)

5 add pop up

Popups are small boxes containing arbitrary HTML, that point to a specific point on the map.

Code
content <- paste(sep = "<br/>",
  "<b><a href='https://www.samurainoodle.com/'>Samurai Noodle</a></b>",
  "606 5th Ave. S",
  "Seattle, WA 98138"
)

leaflet() %>% addTiles() %>%
  setView(-122.327298, 47.597131,zoom = 12) %>% 
  addPopups(-122.327298, 47.597131, content,
    #options = popupOptions(closeButton = FALSE)
    options = popupOptions(closeButton = FALSE)
  )

6 add Markers

Code
library(htmltools)

df <- read.csv(textConnection(
"Name,Lat,Long
Samurai Noodle,47.597131,-122.327298
Kukai Ramen,47.6154,-122.327157
Tsukushinbo,47.59987,-122.326726"
))

leaflet(df) %>% addTiles() %>%
  addMarkers(~Long, ~Lat, popup = ~htmlEscape(Name))

7 add Labels

A label is a textual or HTML content that can attached to markers and shapes to be always displayed or displayed on mouse over. Unlike popups you don’t need to click a marker/polygon for the label to be shown.

Code
library(htmltools)

df <- read.csv(textConnection(
"Name,Lat,Long
Samurai Noodle,47.597131,-122.327298
Kukai Ramen,47.6154,-122.327157
Tsukushinbo,47.59987,-122.326726"))

leaflet(df) %>% addTiles() %>%
  addMarkers(~Long, ~Lat, label = ~htmlEscape(Name))

8 World map

Code
#install.packages("https://cran.r-project.org/src/contrib/Archive/maptools/maptools_1.1-8.tar.gz")
Code
json_data=read_sf("world-administrative-boundaries.geojson")
Code
map_df <- as.data.frame(json_data)
Code
#Get my variable
#name<-c("Ghana", "Grenada", "Guyana", "India", "Jamaica", "Kenya", "United States","Canada")
#val<-c(1,2,4,5,5,1000,20000, 100)

#per_gdp_usd<-data.frame(name,val)
Code
library(openxlsx)
library(readxl)

per_gdp_usd=read_excel('world data.xlsx') %>% mutate(
  name=case_when(
    name =="United States" ~ "United States of America"
     ,name =="Russia" ~ "Russian Federation"
   ,name =="U.K. of Great Britain and Northern Ireland" ~ "United Kingdom"
   
   ,name =="U.K. of Great Britain and Northern Ireland" ~ "United Kingdom"
   
   ,name == "South Korea"~ "Republic of Korea"
   
   ,name =="Lao People's Democratic Republic" ~ "Laos"
   
    ,TRUE ~ name
  )
)
Code
#test=full_join(map_df, per_gdp_usd, by="name")

#left =test %>% filter(is.na(iso3)==TRUE)

#right=test %>% filter(is.na(per_gdp_total)==TRUE)
Code
map_df002 <- merge(map_df, per_gdp_usd, by.x = "name", by.y = "name")
Code
glimpse(map_df002)
Rows: 158
Columns: 12
$ name                     <chr> "Albania", "Algeria", "Andorra", "Angola", "A…
$ geo_point_2d             <chr> "{ \"lon\": 20.068384605918776, \"lat\": 41.1…
$ iso3                     <chr> "ALB", "DZA", "AND", "AGO", "ARG", "ARM", "AU…
$ status                   <chr> "Member State", "Member State", "Member State…
$ color_code               <chr> "ALB", "DZA", "AND", "AGO", "ARG", "ARM", "AU…
$ continent                <chr> "Europe", "Africa", "Europe", "Africa", "Amer…
$ region                   <chr> "Southern Europe", "Northern Africa", "Southe…
$ iso_3166_1_alpha_2_codes <chr> "AL", "DZ", "AD", "AO", "AR", "AM", "AU", "AT…
$ french_short             <chr> "Albanie", "Algérie", "Andorre", "Angola", "A…
$ geometry                 <MULTIPOLYGON [°]> MULTIPOLYGON (((20.07142 42..., …
$ per_gdp_total            <dbl> 1.888210e+10, 1.919130e+11, 3.352033e+09, 1.0…
$ per_gdp_usd              <dbl> 6643, 4274, 41993, 2999, 13904, 7014, 64003, …
Code
map_sf002 <- sf::st_as_sf(map_df002, sf_column_name = "geometry")
Code
pal <- colorNumeric("viridis", NULL)

leaflet(map_sf002) %>%
  addTiles() %>%
  addPolygons(smoothFactor = 0.3, fillOpacity = 0.5,weight = 1,
    fillColor = ~ pal(per_gdp_usd)
    ,popup = ~ paste0(
      "地区:", name, "<br/>",
      "<hr/>",
      "人均gpd:", per_gdp_usd, "(千 美元)", "<br/>"
      
    )
     ,label = lapply(paste0(
      "地区:", "<b>", map_sf002$name, "</b>", "<br/>",
      "人均gpd 美元:", round(map_sf002$per_gdp_usd/1000), "K <br/>",
       "总gpd 美元:", round(map_sf002$per_gdp_total/1000000), "M <br/>"

    ), htmltools::HTML)
    )%>% addLegend(
    position = "bottomright", title = "人均gpd(美元)",
    pal = pal, values = ~per_gdp_usd, opacity = 1.0
    )

9 China one city map

Code
json_data <- sf::read_sf("./GeoMapData_CN/citys/440300.json") 
#or
json_data=read_sf("https://geo.datav.aliyun.com/areas_v2/bound/440300_full.json")

深圳市: ::: {.cell}

Code
pal <- colorNumeric("viridis", NULL)

leaflet(json_data) %>%
  addTiles() %>%
  addPolygons(smoothFactor = 0.3, fillOpacity = 0.1)

:::

10 all China each province GPD map

Code
json_data=read_sf("https://geo.datav.aliyun.com/areas_v2/bound/100000_full.json")

中国 2022 各省 人均gpd usd:

Code
library(openxlsx)
library(readxl)
per_gdp_usd=read_excel('china gdp2022.xlsx')
Code
map_df <- as.data.frame(json_data)
Code
map_df002 <- merge(map_df, per_gdp_usd, by.x = "name", by.y = "city")
Code
map_sf002 <- sf::st_as_sf(map_df002, sf_column_name = "geometry")
Code
pal <- colorNumeric("viridis", NULL)

leaflet(map_sf002) %>%
  addTiles() %>%
  addPolygons(smoothFactor = 0.3, fillOpacity = 0.5,weight = 1,
    fillColor = ~ pal(per_gpd_usd)
    ,popup = ~ paste0(
      "地区:", name, "<br/>",
      "<hr/>",
      "人均gpd:", per_gpd_usd, "(美万)", "<br/>"
      
    )
     ,label = lapply(paste0(
      "地区:", "<b>", map_sf002$name, "</b>", "<br/>",
      "人均gpd 美元:", map_sf002$per_gpd_usd, "<br/>",
      "人均gpd 人民币:", map_sf002$per_gpd_rmb, "<br/>",
       "人口:", round(map_sf002$total_gpd_rmb/map_sf002$per_gpd_rmb), "<br/>"
    ), htmltools::HTML)
    )%>% addLegend(
    position = "bottomright", title = "人均gpd(美元)",
    pal = pal, values = ~per_gpd_usd, opacity = 1.0
    )

GPD data source:国家统计局数据库

11 China one province map each city GPD

Code
json_data <- sf::read_sf("./GeoMapData_CN/province/440000.json") 

广东省 2021 人均gpd usd:

Code
library(openxlsx)
library(readxl)
per_gdp_usd=read_excel('guangdong city gdp2021.xlsx')
Code
map_df <- as.data.frame(json_data)
Code
map_df002 <- merge(map_df, per_gdp_usd, by.x = "name", by.y = "city")
Code
map_sf002 <- sf::st_as_sf(map_df002, sf_column_name = "geometry")

data source:广东统计年鉴2022 ::: {.cell}

Code
pal <- colorNumeric("viridis", NULL)

leaflet(map_sf002) %>%
  addTiles() %>%
  addPolygons(smoothFactor = 0.3, fillOpacity = 0.5,weight = 1,
    fillColor = ~ pal(per_gpd_usd)
    ,popup = ~ paste0(
      "城市:", name, "<br/>",
      "<hr/>",
      "人均gpd:", per_gpd_usd, "(美万)", "<br/>"
      
    )
     ,label = lapply(paste0(
      "城市:", "<b>", map_sf002$name, "</b>", "<br/>",
      "人均gpd 美元:", map_sf002$per_gpd_usd, "<br/>",
      "人均gpd 人民币:", map_sf002$per_gpd_rmb, "<br/>",
       "人口:", round(map_sf002$total_gpd_rmb*10000000/map_sf002$per_gpd_rmb), "<br/>"
    ), htmltools::HTML)
    )%>% addLegend(
    position = "bottomright", title = "人均gpd(美元)",
    pal = pal, values = ~per_gpd_usd, opacity = 1.0
    )

:::

https://zh.wikipedia.org/wiki/%E5%B9%BF%E4%B8%9C%E5%90%84%E5%9C%B0%E7%BA%A7%E5%B8%82%E5%9C%B0%E5%8C%BA%E7%94%9F%E4%BA%A7%E6%80%BB%E5%80%BC%E5%88%97%E8%A1%A8

12 China province map

Code
library(leaflet)
library(sf)

json_data <- sf::read_sf("./GeoMapData_CN/china.json") 
#or
json_data=read_sf("https://geo.datav.aliyun.com/areas_v2/bound/100000_full.json")


pal <- colorNumeric("viridis", NULL)

m=leaflet(json_data) %>%
  addTiles() %>%
  addPolygons(smoothFactor = 0.3, fillOpacity = 0.1)
 

m

add provincial capital ::: {.cell}

Code
China=read_sf("https://geo.datav.aliyun.com/areas_v2/bound/100000_full.json")

:::

Code
China002=China %>% as_data_frame() %>% mutate(
                                            center2=as.character(center) %>% str_replace('c','')%>% str_replace('[(]','') %>% str_replace('[)]','')
                                               )
Code
China003=China002%>%separate(center2, c("x", "y"), ", ")
Code
China_point = China003 %>% 
  slice(-35)

m %>% 
  addCircles(data = China_point,
                  lng = ~as.numeric(x), lat = ~as.numeric(y),color = "red",weight = 10,
                  fillOpacity =2)

13 China province and city map

Code
map_list <- lapply(
  X = list.files("./GeoMapData_CN/province", recursive = T, full.names = T),
  FUN = sf::read_sf
)

length(map_list)
[1] 34
Code
for (i in c(1:length(map_list))){
   #print(i)
  #print(dim(map_list[[i]]))
  #print(ncol(map_list[[i]]))
  if(ncol(map_list[[i]])!=10){print(map_list[[i]])}
  }
Simple feature collection with 1 feature and 4 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 119.3183 ymin: 21.75147 xmax: 124.5656 ymax: 25.92592
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name   center               level                              geometry
  <chr>  <chr>  <chr>                <chr>                    <MULTIPOLYGON [°]>
1 710000 台湾省 121.509062,25.044332 province (((119.5543 23.68248, 119.555 23.…
Code
X = list.files("./GeoMapData_CN/province", recursive = T, full.names = T)

X2=X[-which(X %in% c("./GeoMapData_CN/province/710000.json"
         ))]

map_list <- lapply(
  X = X2,
  FUN = sf::read_sf
)
Code
length(map_list)
[1] 33
Code
province_map <- Reduce("rbind", map_list)
Code
# library(leaflet)
# library(sf)
# 
# json_data <- province_map
# 
# 
# pal <- colorNumeric(c("red", "green", "blue"), 1:10)
# 
# leaflet(json_data) %>%
#   addTiles() %>%
#   addPolygons(smoothFactor = 0.3, fillOpacity = 0.1)

14 China city and district map

Code
map_list <- lapply(
  X = list.files("./GeoMapData_CN/citys", recursive = T, full.names = T),
  FUN = sf::read_sf
)

length(map_list)
[1] 334
Code
for (i in c(1:length(map_list))){
   #print(i)
  #print(dim(map_list[[i]]))
  #print(ncol(map_list[[i]]))
  if(ncol(map_list[[i]])!=10){print(map_list[[i]])}
  }
Simple feature collection with 1 feature and 4 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 113.5215 ymin: 22.65421 xmax: 114.2603 ymax: 23.14205
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name   center               level                              geometry
  <chr>  <chr>  <chr>                <chr>                         <POLYGON [°]>
1 441900 东莞市 113.746262,23.046237 city  ((114.2292 22.81251, 114.2278 22.813…
Simple feature collection with 1 feature and 4 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 113.157 ymin: 22.20104 xmax: 113.692 ymax: 22.7726
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name   center               level                              geometry
  <chr>  <chr>  <chr>                <chr>                         <POLYGON [°]>
1 442000 中山市 113.382391,22.521113 city  ((113.5687 22.41193, 113.5666 22.412…
Simple feature collection with 1 feature and 4 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 115.9267 ymin: 20.58265 xmax: 116.9338 ymax: 21.12693
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name     center               level                            geometry
  <chr>  <chr>    <chr>                <chr>                  <MULTIPOLYGON [°]>
1 442100 东沙群岛 116.887312,20.617512 city  (((115.9433 21.09745, 115.95 21.11…
Simple feature collection with 1 feature and 4 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 108.9287 ymin: 19.17894 xmax: 109.7694 ymax: 19.92575
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name   center               level                              geometry
  <chr>  <chr>  <chr>                <chr>                    <MULTIPOLYGON [°]>
1 460400 儋州市 109.576782,19.517486 city  (((109.4322 19.91302, 109.4253 19.91…
Simple feature collection with 1 feature and 4 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 97.8483 ymin: 39.65426 xmax: 98.52018 ymax: 39.99979
Geodetic CRS:  WGS 84
# A tibble: 1 × 5
  adcode name     center              level                             geometry
  <chr>  <chr>    <chr>               <chr>                   <MULTIPOLYGON [°]>
1 620200 嘉峪关市 98.277304,39.786529 city  (((97.85974 39.7169, 97.85827 39.71…
Code
X = list.files("./GeoMapData_CN/citys", recursive = T, full.names = T)

X2=X[-which(X %in% c("./GeoMapData_CN/citys/620200.json"
         ,"./GeoMapData_CN/citys/460400.json"
              ,"./GeoMapData_CN/citys/442100.json"
              ,"./GeoMapData_CN/citys/442000.json"
              ,"./GeoMapData_CN/citys/441900.json"
         ))]

map_list <- lapply(
  X = X2,
  FUN = sf::read_sf
)
Code
length(map_list)
[1] 329
Code
province_map <- Reduce("rbind", map_list)
Code
# library(leaflet)
# library(sf)
# 
# json_data <- province_map
# 
# 
# pal <- colorNumeric(c("red", "green", "blue"), 1:10)
# 
# leaflet(json_data) %>%
#   addTiles() %>%
#   addPolygons(smoothFactor = 0.3, fillOpacity = 0.1)

15 show all map providers

Code
providers
providers
$OpenStreetMap
[1] "OpenStreetMap"

$OpenStreetMap.Mapnik
[1] "OpenStreetMap.Mapnik"

$OpenStreetMap.DE
[1] "OpenStreetMap.DE"

$OpenStreetMap.CH
[1] "OpenStreetMap.CH"

$OpenStreetMap.France
[1] "OpenStreetMap.France"

$OpenStreetMap.HOT
[1] "OpenStreetMap.HOT"

$OpenStreetMap.BZH
[1] "OpenStreetMap.BZH"

$MapTilesAPI
[1] "MapTilesAPI"

$MapTilesAPI.OSMEnglish
[1] "MapTilesAPI.OSMEnglish"

$MapTilesAPI.OSMFrancais
[1] "MapTilesAPI.OSMFrancais"

$MapTilesAPI.OSMEspagnol
[1] "MapTilesAPI.OSMEspagnol"

$OpenSeaMap
[1] "OpenSeaMap"

$OPNVKarte
[1] "OPNVKarte"

$OpenTopoMap
[1] "OpenTopoMap"

$OpenRailwayMap
[1] "OpenRailwayMap"

$OpenFireMap
[1] "OpenFireMap"

$SafeCast
[1] "SafeCast"

$Stadia
[1] "Stadia"

$Stadia.AlidadeSmooth
[1] "Stadia.AlidadeSmooth"

$Stadia.AlidadeSmoothDark
[1] "Stadia.AlidadeSmoothDark"

$Stadia.OSMBright
[1] "Stadia.OSMBright"

$Stadia.Outdoors
[1] "Stadia.Outdoors"

$Stadia.StamenToner
[1] "Stadia.StamenToner"

$Stadia.StamenTonerBackground
[1] "Stadia.StamenTonerBackground"

$Stadia.StamenTonerLines
[1] "Stadia.StamenTonerLines"

$Stadia.StamenTonerLabels
[1] "Stadia.StamenTonerLabels"

$Stadia.StamenTonerLite
[1] "Stadia.StamenTonerLite"

$Stadia.StamenWatercolor
[1] "Stadia.StamenWatercolor"

$Stadia.StamenTerrain
[1] "Stadia.StamenTerrain"

$Stadia.StamenTerrainBackground
[1] "Stadia.StamenTerrainBackground"

$Stadia.StamenTerrainLabels
[1] "Stadia.StamenTerrainLabels"

$Stadia.StamenTerrainLines
[1] "Stadia.StamenTerrainLines"

$Thunderforest
[1] "Thunderforest"

$Thunderforest.OpenCycleMap
[1] "Thunderforest.OpenCycleMap"

$Thunderforest.Transport
[1] "Thunderforest.Transport"

$Thunderforest.TransportDark
[1] "Thunderforest.TransportDark"

$Thunderforest.SpinalMap
[1] "Thunderforest.SpinalMap"

$Thunderforest.Landscape
[1] "Thunderforest.Landscape"

$Thunderforest.Outdoors
[1] "Thunderforest.Outdoors"

$Thunderforest.Pioneer
[1] "Thunderforest.Pioneer"

$Thunderforest.MobileAtlas
[1] "Thunderforest.MobileAtlas"

$Thunderforest.Neighbourhood
[1] "Thunderforest.Neighbourhood"

$CyclOSM
[1] "CyclOSM"

$Jawg
[1] "Jawg"

$Jawg.Streets
[1] "Jawg.Streets"

$Jawg.Terrain
[1] "Jawg.Terrain"

$Jawg.Sunny
[1] "Jawg.Sunny"

$Jawg.Dark
[1] "Jawg.Dark"

$Jawg.Light
[1] "Jawg.Light"

$Jawg.Matrix
[1] "Jawg.Matrix"

$MapBox
[1] "MapBox"

$MapTiler
[1] "MapTiler"

$MapTiler.Streets
[1] "MapTiler.Streets"

$MapTiler.Basic
[1] "MapTiler.Basic"

$MapTiler.Bright
[1] "MapTiler.Bright"

$MapTiler.Pastel
[1] "MapTiler.Pastel"

$MapTiler.Positron
[1] "MapTiler.Positron"

$MapTiler.Hybrid
[1] "MapTiler.Hybrid"

$MapTiler.Toner
[1] "MapTiler.Toner"

$MapTiler.Topo
[1] "MapTiler.Topo"

$MapTiler.Voyager
[1] "MapTiler.Voyager"

$TomTom
[1] "TomTom"

$TomTom.Basic
[1] "TomTom.Basic"

$TomTom.Hybrid
[1] "TomTom.Hybrid"

$TomTom.Labels
[1] "TomTom.Labels"

$Esri
[1] "Esri"

$Esri.WorldStreetMap
[1] "Esri.WorldStreetMap"

$Esri.DeLorme
[1] "Esri.DeLorme"

$Esri.WorldTopoMap
[1] "Esri.WorldTopoMap"

$Esri.WorldImagery
[1] "Esri.WorldImagery"

$Esri.WorldTerrain
[1] "Esri.WorldTerrain"

$Esri.WorldShadedRelief
[1] "Esri.WorldShadedRelief"

$Esri.WorldPhysical
[1] "Esri.WorldPhysical"

$Esri.OceanBasemap
[1] "Esri.OceanBasemap"

$Esri.NatGeoWorldMap
[1] "Esri.NatGeoWorldMap"

$Esri.WorldGrayCanvas
[1] "Esri.WorldGrayCanvas"

$OpenWeatherMap
[1] "OpenWeatherMap"

$OpenWeatherMap.Clouds
[1] "OpenWeatherMap.Clouds"

$OpenWeatherMap.CloudsClassic
[1] "OpenWeatherMap.CloudsClassic"

$OpenWeatherMap.Precipitation
[1] "OpenWeatherMap.Precipitation"

$OpenWeatherMap.PrecipitationClassic
[1] "OpenWeatherMap.PrecipitationClassic"

$OpenWeatherMap.Rain
[1] "OpenWeatherMap.Rain"

$OpenWeatherMap.RainClassic
[1] "OpenWeatherMap.RainClassic"

$OpenWeatherMap.Pressure
[1] "OpenWeatherMap.Pressure"

$OpenWeatherMap.PressureContour
[1] "OpenWeatherMap.PressureContour"

$OpenWeatherMap.Wind
[1] "OpenWeatherMap.Wind"

$OpenWeatherMap.Temperature
[1] "OpenWeatherMap.Temperature"

$OpenWeatherMap.Snow
[1] "OpenWeatherMap.Snow"

$HERE
[1] "HERE"

$HERE.normalDay
[1] "HERE.normalDay"

$HERE.normalDayCustom
[1] "HERE.normalDayCustom"

$HERE.normalDayGrey
[1] "HERE.normalDayGrey"

$HERE.normalDayMobile
[1] "HERE.normalDayMobile"

$HERE.normalDayGreyMobile
[1] "HERE.normalDayGreyMobile"

$HERE.normalDayTransit
[1] "HERE.normalDayTransit"

$HERE.normalDayTransitMobile
[1] "HERE.normalDayTransitMobile"

$HERE.normalDayTraffic
[1] "HERE.normalDayTraffic"

$HERE.normalNight
[1] "HERE.normalNight"

$HERE.normalNightMobile
[1] "HERE.normalNightMobile"

$HERE.normalNightGrey
[1] "HERE.normalNightGrey"

$HERE.normalNightGreyMobile
[1] "HERE.normalNightGreyMobile"

$HERE.normalNightTransit
[1] "HERE.normalNightTransit"

$HERE.normalNightTransitMobile
[1] "HERE.normalNightTransitMobile"

$HERE.reducedDay
[1] "HERE.reducedDay"

$HERE.reducedNight
[1] "HERE.reducedNight"

$HERE.basicMap
[1] "HERE.basicMap"

$HERE.mapLabels
[1] "HERE.mapLabels"

$HERE.trafficFlow
[1] "HERE.trafficFlow"

$HERE.carnavDayGrey
[1] "HERE.carnavDayGrey"

$HERE.hybridDay
[1] "HERE.hybridDay"

$HERE.hybridDayMobile
[1] "HERE.hybridDayMobile"

$HERE.hybridDayTransit
[1] "HERE.hybridDayTransit"

$HERE.hybridDayGrey
[1] "HERE.hybridDayGrey"

$HERE.hybridDayTraffic
[1] "HERE.hybridDayTraffic"

$HERE.pedestrianDay
[1] "HERE.pedestrianDay"

$HERE.pedestrianNight
[1] "HERE.pedestrianNight"

$HERE.satelliteDay
[1] "HERE.satelliteDay"

$HERE.terrainDay
[1] "HERE.terrainDay"

$HERE.terrainDayMobile
[1] "HERE.terrainDayMobile"

$HEREv3
[1] "HEREv3"

$HEREv3.normalDay
[1] "HEREv3.normalDay"

$HEREv3.normalDayCustom
[1] "HEREv3.normalDayCustom"

$HEREv3.normalDayGrey
[1] "HEREv3.normalDayGrey"

$HEREv3.normalDayMobile
[1] "HEREv3.normalDayMobile"

$HEREv3.normalDayGreyMobile
[1] "HEREv3.normalDayGreyMobile"

$HEREv3.normalDayTransit
[1] "HEREv3.normalDayTransit"

$HEREv3.normalDayTransitMobile
[1] "HEREv3.normalDayTransitMobile"

$HEREv3.normalNight
[1] "HEREv3.normalNight"

$HEREv3.normalNightMobile
[1] "HEREv3.normalNightMobile"

$HEREv3.normalNightGrey
[1] "HEREv3.normalNightGrey"

$HEREv3.normalNightGreyMobile
[1] "HEREv3.normalNightGreyMobile"

$HEREv3.normalNightTransit
[1] "HEREv3.normalNightTransit"

$HEREv3.normalNightTransitMobile
[1] "HEREv3.normalNightTransitMobile"

$HEREv3.reducedDay
[1] "HEREv3.reducedDay"

$HEREv3.reducedNight
[1] "HEREv3.reducedNight"

$HEREv3.basicMap
[1] "HEREv3.basicMap"

$HEREv3.mapLabels
[1] "HEREv3.mapLabels"

$HEREv3.trafficFlow
[1] "HEREv3.trafficFlow"

$HEREv3.carnavDayGrey
[1] "HEREv3.carnavDayGrey"

$HEREv3.hybridDay
[1] "HEREv3.hybridDay"

$HEREv3.hybridDayMobile
[1] "HEREv3.hybridDayMobile"

$HEREv3.hybridDayTransit
[1] "HEREv3.hybridDayTransit"

$HEREv3.hybridDayGrey
[1] "HEREv3.hybridDayGrey"

$HEREv3.pedestrianDay
[1] "HEREv3.pedestrianDay"

$HEREv3.pedestrianNight
[1] "HEREv3.pedestrianNight"

$HEREv3.satelliteDay
[1] "HEREv3.satelliteDay"

$HEREv3.terrainDay
[1] "HEREv3.terrainDay"

$HEREv3.terrainDayMobile
[1] "HEREv3.terrainDayMobile"

$FreeMapSK
[1] "FreeMapSK"

$MtbMap
[1] "MtbMap"

$CartoDB
[1] "CartoDB"

$CartoDB.Positron
[1] "CartoDB.Positron"

$CartoDB.PositronNoLabels
[1] "CartoDB.PositronNoLabels"

$CartoDB.PositronOnlyLabels
[1] "CartoDB.PositronOnlyLabels"

$CartoDB.DarkMatter
[1] "CartoDB.DarkMatter"

$CartoDB.DarkMatterNoLabels
[1] "CartoDB.DarkMatterNoLabels"

$CartoDB.DarkMatterOnlyLabels
[1] "CartoDB.DarkMatterOnlyLabels"

$CartoDB.Voyager
[1] "CartoDB.Voyager"

$CartoDB.VoyagerNoLabels
[1] "CartoDB.VoyagerNoLabels"

$CartoDB.VoyagerOnlyLabels
[1] "CartoDB.VoyagerOnlyLabels"

$CartoDB.VoyagerLabelsUnder
[1] "CartoDB.VoyagerLabelsUnder"

$HikeBike
[1] "HikeBike"

$HikeBike.HikeBike
[1] "HikeBike.HikeBike"

$HikeBike.HillShading
[1] "HikeBike.HillShading"

$BasemapAT
[1] "BasemapAT"

$BasemapAT.basemap
[1] "BasemapAT.basemap"

$BasemapAT.grau
[1] "BasemapAT.grau"

$BasemapAT.overlay
[1] "BasemapAT.overlay"

$BasemapAT.terrain
[1] "BasemapAT.terrain"

$BasemapAT.surface
[1] "BasemapAT.surface"

$BasemapAT.highdpi
[1] "BasemapAT.highdpi"

$BasemapAT.orthofoto
[1] "BasemapAT.orthofoto"

$nlmaps
[1] "nlmaps"

$nlmaps.standaard
[1] "nlmaps.standaard"

$nlmaps.pastel
[1] "nlmaps.pastel"

$nlmaps.grijs
[1] "nlmaps.grijs"

$nlmaps.water
[1] "nlmaps.water"

$nlmaps.luchtfoto
[1] "nlmaps.luchtfoto"

$NASAGIBS
[1] "NASAGIBS"

$NASAGIBS.ModisTerraTrueColorCR
[1] "NASAGIBS.ModisTerraTrueColorCR"

$NASAGIBS.ModisTerraBands367CR
[1] "NASAGIBS.ModisTerraBands367CR"

$NASAGIBS.ViirsEarthAtNight2012
[1] "NASAGIBS.ViirsEarthAtNight2012"

$NASAGIBS.ModisTerraLSTDay
[1] "NASAGIBS.ModisTerraLSTDay"

$NASAGIBS.ModisTerraSnowCover
[1] "NASAGIBS.ModisTerraSnowCover"

$NASAGIBS.ModisTerraAOD
[1] "NASAGIBS.ModisTerraAOD"

$NASAGIBS.ModisTerraChlorophyll
[1] "NASAGIBS.ModisTerraChlorophyll"

$NLS
[1] "NLS"

$JusticeMap
[1] "JusticeMap"

$JusticeMap.income
[1] "JusticeMap.income"

$JusticeMap.americanIndian
[1] "JusticeMap.americanIndian"

$JusticeMap.asian
[1] "JusticeMap.asian"

$JusticeMap.black
[1] "JusticeMap.black"

$JusticeMap.hispanic
[1] "JusticeMap.hispanic"

$JusticeMap.multi
[1] "JusticeMap.multi"

$JusticeMap.nonWhite
[1] "JusticeMap.nonWhite"

$JusticeMap.white
[1] "JusticeMap.white"

$JusticeMap.plurality
[1] "JusticeMap.plurality"

$GeoportailFrance
[1] "GeoportailFrance"

$GeoportailFrance.plan
[1] "GeoportailFrance.plan"

$GeoportailFrance.parcels
[1] "GeoportailFrance.parcels"

$GeoportailFrance.orthos
[1] "GeoportailFrance.orthos"

$OneMapSG
[1] "OneMapSG"

$OneMapSG.Default
[1] "OneMapSG.Default"

$OneMapSG.Night
[1] "OneMapSG.Night"

$OneMapSG.Original
[1] "OneMapSG.Original"

$OneMapSG.Grey
[1] "OneMapSG.Grey"

$OneMapSG.LandLot
[1] "OneMapSG.LandLot"

$USGS
[1] "USGS"

$USGS.USTopo
[1] "USGS.USTopo"

$USGS.USImagery
[1] "USGS.USImagery"

$USGS.USImageryTopo
[1] "USGS.USImageryTopo"

$WaymarkedTrails
[1] "WaymarkedTrails"

$WaymarkedTrails.hiking
[1] "WaymarkedTrails.hiking"

$WaymarkedTrails.cycling
[1] "WaymarkedTrails.cycling"

$WaymarkedTrails.mtb
[1] "WaymarkedTrails.mtb"

$WaymarkedTrails.slopes
[1] "WaymarkedTrails.slopes"

$WaymarkedTrails.riding
[1] "WaymarkedTrails.riding"

$WaymarkedTrails.skating
[1] "WaymarkedTrails.skating"

$OpenAIP
[1] "OpenAIP"

$OpenSnowMap
[1] "OpenSnowMap"

$OpenSnowMap.pistes
[1] "OpenSnowMap.pistes"

$AzureMaps
[1] "AzureMaps"

$AzureMaps.MicrosoftImagery
[1] "AzureMaps.MicrosoftImagery"

$AzureMaps.MicrosoftBaseDarkGrey
[1] "AzureMaps.MicrosoftBaseDarkGrey"

$AzureMaps.MicrosoftBaseRoad
[1] "AzureMaps.MicrosoftBaseRoad"

$AzureMaps.MicrosoftBaseHybridRoad
[1] "AzureMaps.MicrosoftBaseHybridRoad"

$AzureMaps.MicrosoftTerraMain
[1] "AzureMaps.MicrosoftTerraMain"

$AzureMaps.MicrosoftWeatherInfraredMain
[1] "AzureMaps.MicrosoftWeatherInfraredMain"

$AzureMaps.MicrosoftWeatherRadarMain
[1] "AzureMaps.MicrosoftWeatherRadarMain"

$SwissFederalGeoportal
[1] "SwissFederalGeoportal"

$SwissFederalGeoportal.NationalMapColor
[1] "SwissFederalGeoportal.NationalMapColor"

$SwissFederalGeoportal.NationalMapGrey
[1] "SwissFederalGeoportal.NationalMapGrey"

$SwissFederalGeoportal.SWISSIMAGE
[1] "SwissFederalGeoportal.SWISSIMAGE"
Code
sessionInfo()
sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: aarch64-apple-darwin20
Running under: macOS 15.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Asia/Shanghai
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] readxl_1.4.3         openxlsx_4.2.7.1     htmltools_0.5.8.1   
 [4] leaflet.extras_2.0.1 geojsonio_0.11.3     leaflet_2.2.2       
 [7] sf_1.0-18            lubridate_1.9.4      forcats_1.0.0       
[10] stringr_1.5.1        dplyr_1.1.4          purrr_1.0.2         
[13] readr_2.1.5          tidyr_1.3.1          tibble_3.2.1        
[16] ggplot2_3.5.1        tidyverse_2.0.0     

loaded via a namespace (and not attached):
 [1] gtable_0.3.6            xfun_0.48               htmlwidgets_1.6.4      
 [4] lattice_0.22-6          tzdb_0.4.0              leaflet.providers_2.0.0
 [7] vctrs_0.6.5             tools_4.4.1             crosstalk_1.2.1        
[10] generics_0.1.3          curl_6.2.0              proxy_0.4-27           
[13] pkgconfig_2.0.3         KernSmooth_2.23-24      RColorBrewer_1.1-3     
[16] lifecycle_1.0.4         farver_2.1.2            compiler_4.4.1         
[19] munsell_0.5.1           jqr_1.4.0               class_7.3-22           
[22] yaml_2.3.10             lazyeval_0.2.2          pillar_1.10.1          
[25] jquerylib_0.1.4         classInt_0.4-10         zip_2.3.1              
[28] tidyselect_1.2.1        digest_0.6.37           stringi_1.8.4          
[31] fastmap_1.2.0           grid_4.4.1              colorspace_2.1-1       
[34] cli_3.6.4               magrittr_2.0.3          utf8_1.2.4             
[37] crul_1.5.0              e1071_1.7-16            withr_3.0.2            
[40] scales_1.3.0            sp_2.1-4                timechange_0.3.0       
[43] rmarkdown_2.28          cellranger_1.1.0        hms_1.1.3              
[46] evaluate_1.0.1          knitr_1.48              V8_6.0.0               
[49] viridisLite_0.4.2       geojson_0.3.5           rlang_1.1.5            
[52] Rcpp_1.0.13-1           glue_1.8.0              DBI_1.2.3              
[55] httpcode_0.3.0          geojsonsf_2.0.3         rstudioapi_0.17.1      
[58] jsonlite_1.8.9          R6_2.6.1                units_0.8-5            

16 resouce:

https://rstudio.github.io/leaflet/

https://github.com/Lchiffon/leafletCN

https://github.com/longwosion/geojson-map-china

https://xiangyun.rbind.io/2022/02/draw-china-maps/

https://datav.aliyun.com/portal/school/atlas/area_selector

Back to top