[英]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.