映射澳大利亚城市 - R空间

Jay*_*Jay 1 maps r spatial r-sp

我想绘制一张澳大利亚地图,并将每个城市都表示为一个点.然后突出人口众多的城市(> 1M)

library(sp)
library(maps)
data(canada.cities)
head(canada.cities)
Run Code Online (Sandbox Code Playgroud)

我已经检查了sp包,可以为加拿大和其他一些国家做这件事.但澳大利亚的细节不存在.有没有一种特殊的方法来获取我们喜欢的国家的数据(城市名称,长,拉特,流行)?

Sym*_*xAU 6

现在您已经使用了数据world.cities,您可以通过几种方式绘制它们

library(maps)
df <- world.cities[world.cities$country.etc == "Australia",]
Run Code Online (Sandbox Code Playgroud)

点基本情节

plot(df[, c("long", "lat")])
Run Code Online (Sandbox Code Playgroud)

在...上 ggmap

library(ggmap)

myMap <- get_map(location = "Australia", zoom = 4)

ggmap(myMap) +
geom_point(data = df[, c("long","lat", "pop")], aes(x=long, y = lat, colour = pop > 1000000))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

leaflet地图上

library(leaflet)

## define a palette for hte colour
pal <- colorNumeric(palette = "YlOrRd",
                    domain = df$pop)

leaflet(data = df) %>%
    addTiles() %>%
    addCircleMarkers(lat = ~lat, lng = ~long, popup = ~name, 
                     color = ~pal(pop), stroke = FALSE, fillOpacity = 0.6) %>%
    addLegend(position = "bottomleft", pal = pal, values = ~pop)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述