library(purrr)
# worldgeojson ------------------------------------------------------------
url <- "https://code.highcharts.com/mapdata/custom/world.js"
tmpfile <- tempfile(fileext = ".json")
download.file(url, tmpfile)
worldgeojson <- readLines(tmpfile)
worldgeojson <- gsub(".* = ", "", worldgeojson)
worldgeojson <- jsonlite::fromJSON(worldgeojson, simplifyVector = FALSE)
worldgeojson$features <- map(worldgeojson$features, function(x) {
# x <- worldgeojson$features[[10]]
x$properties <- x$properties[!grepl("hc", names(x$properties))]
names(x$properties) <- gsub("-", "", names(x$properties))
names(x$properties) <- gsub("isoa", "iso", names(x$properties))
x$properties <- map(x$properties, function(x) {
ifelse(is.null(x), NA, iconv(x, to = "UTF-8"))
})
x
})
map_df(worldgeojson$features, function(x) {
as.data.frame(x$properties, stringsAsFactors = FALSE)
})
devtools::use_data(worldgeojson, overwrite = TRUE)
# usgeojson ---------------------------------------------------------------
url <- "https://code.highcharts.com/mapdata/countries/us/us-all.js"
tmpfile <- tempfile(fileext = ".json")
download.file(url, tmpfile)
usgeojson <- readLines(tmpfile)
usgeojson <- gsub(".* = ", "", usgeojson)
usgeojson <- jsonlite::fromJSON(usgeojson, simplifyVector = FALSE)
usgeojson$features[52] <- NULL
usgeojson$features <- map(usgeojson$features, function(x) {
# x <- uscountygeojson$features[[10]]
x$properties$code <- x$properties$`hc-key`
x$properties <- x$properties[!grepl("hc", names(x$properties))]
names(x$properties) <- gsub("-", "", names(x$properties))
names(x$properties) <- gsub("isoa", "iso", names(x$properties))
x$properties$name <- ifelse(x$properties$code == "us-nm-013", "Dona Ana", x$properties$name)
x
})
states <- map_df(usgeojson$features, function(x) {
as.data.frame(x$properties, stringsAsFactors = FALSE)
})
states
devtools::use_data(usgeojson, overwrite = TRUE)
# uscountygeojson ---------------------------------------------------------
url <- "https://code.highcharts.com/mapdata/countries/us/us-all-all.js"
tmpfile <- tempfile(fileext = ".json")
download.file(url, tmpfile)
uscountygeojson <- readLines(tmpfile)
uscountygeojson <- gsub(".* = ", "", uscountygeojson)
uscountygeojson <- jsonlite::fromJSON(uscountygeojson, simplifyVector = FALSE)
uscountygeojson$features <- map(uscountygeojson$features, function(x) {
# x <- uscountygeojson$features[[10]]
x$properties$code <- x$properties$`hc-key`
x$properties <- x$properties[!grepl("hc", names(x$properties))]
names(x$properties) <- gsub("-", "", names(x$properties))
names(x$properties) <- gsub("isoa", "iso", names(x$properties))
x$properties$name <- ifelse(x$properties$code == "us-nm-013", "Dona Ana", x$properties$name)
x
})
counties <- map_df(uscountygeojson$features, function(x) {
as.data.frame(x$properties, stringsAsFactors = FALSE)
})
counties
devtools::use_data(uscountygeojson, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.