Создать австралийский штат / территорию, хороплет в R? - PullRequest
1 голос
/ 15 апреля 2020

По аналогии с отображением австралийских городов , существует ли какой-нибудь нативный способ создания штата / территории в 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-интерфейсах - то есть предпочтение воспроизводимости и надежности (аналогично тому, как мы можем получить города мира из CRAN через maps библиотеку)

library(maps)
library(dplyr)
world.cities %>% 
  filter(country.etc == "Australia")

Желаемый результат - это нечто вдоль линий

enter image description here

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Пакеты 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

Создано в 2020-04-15 представляет пакет (v0.3.0)

1 голос
/ 15 апреля 2020

Пакет ozmaps (в CRAN) содержит эти данные, а также данные для других административных районов ABS.

library(ozmaps)
library(ggplot2)

ggplot(ozmap_states) +
  geom_sf(aes(fill = NAME)) +
  scale_fill_manual(values = viridis::cividis(9))

enter image description here

...