[英]Generate an Australian state/territory choropleth in R?
類似於映射澳大利亞城市,是否有一些本地方法可以在 R 中生成州/領地等值線?
我可以看到記錄了幾種方法,但沒有一個是完整的(例如, 這看起來有些有希望,但缺少原始數據)
library(rgdal)
library(spdplyr)
library(geojsonio)
library(rmapshaper)
# Load Australian State and Territories shapefile data
aus_ste <- readOGR(dsn = "/Users/kannishida/Downloads/STE11aAust", layer = "STE11aAust")
# Convert to GeoJSON
aus_ste_json <- geojson_json(aus_ste)
# Simplify the polygons to reduce the size
aus_ste_sim <- ms_simplify(aus_ste_json)
# Write GeoJSON file out to a file system
geojson_write(aus_ste_sim, file = "/Users/kannishida/Downloads/aus_ste.geojson")
一個理想的解決方案是使用存在於 CRAN 或可靠 API 上的數據——即偏好可重復性和可靠性(以此類推,我們可以通過地圖庫從maps
獲取世界城市)
library(maps)
library(dplyr)
world.cities %>%
filter(country.etc == "Australia")
期望的結果類似於
rnaturalearth
和rnaturalearthhires
包可以為您獲取數據:
library(mapview)
library(rnaturalearth)
library(rnaturalearthhires)
#library(sf)
#May need to:
# devtools::install_github('ropensci/rnaturalearthhires')
aussie_states <- rnaturalearth::ne_states(country = 'australia')
head(aussie_states)
#> class : SpatialPolygonsDataFrame
#> features : 6
#> extent : 112.9194, 153.6306, -38.07057, -9.240167 (xmin, xmax, ymin, ymax)
#> crs : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
#> variables : 83
#> names : featurecla, scalerank, adm1_code, diss_me, iso_3166_2, wikipedia, iso_a2, adm0_sr, name, name_alt, name_local, type, type_en, code_local, code_hasc, ...
#> min values : Admin-1 scale rank, 2, AUS-1932, 1932, AU-NSW, NA, AU, 1, Jervis Bay Territory, NA, NA, State, State, NA, AU.JB, ...
#> max values : Admin-1 scale rank, 2, AUS-2657, 2657, AU-X02~, NA, AU, 6, Western Australia, NA, NA, Territory, Territory, NA, AU.WA, ...
map <- mapview::mapview(aussie_states )
map
由reprex package (v0.3.0) 於 2020 年 4 月 15 日創建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.