如何将印度国家与地区划分为r?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将印度国家与地区划分为r?相关的知识,希望对你有一定的参考价值。
我想用R软件中的各个地区绘制印度的不同州。我尝试使用GADM,2级数据来获取坐标。
我跟着这个帖子Mapping just one State of India and writing its name inside the state boundary。但是,我无法对任何状态的数据进行子集化并将其用于映射。
我尝试过的:
map <- fortify(Karnataka)
map$id <- as.integer(map$id)
dat <- data.frame(id = 216:242, district = Karnataka)
map_df <- inner_join(map, dat, by = "id")
centers <- data.frame(gCentroid(Karnataka, byid = TRUE))
centers$state <- dat$district
答案
我可以使用以下命令映射状态及其区域边界。
India <- getData("GADM", country = "India", level = 2)
Karnataka <- subset(India, NAME_1 == "Karnataka")
map <- fortify(Karnataka);
map$id <- as.integer(map$id);
dat <- data.frame(id = 216:242, district = Karnataka@data$NAME_2);
map_df <- inner_join(map, dat, by = "id");
centers <- data.frame(gCentroid(Karnataka, byid = TRUE));
centers$state <- dat$district;
ggplot() +
geom_map(data = map_df, map = map_df,
aes(map_id = id, x = long, y = lat, group = group),
color = "#ffffff", fill = "#bbbbbb", size = 0.25) +
geom_text(data = centers, aes(label = state, x = x, y = y), size = 2) +
coord_map() + labs(x = "", y = "", title = "Districts of Karnataka")
另一答案
您可以使用R中的Google地图轻松完成此操作。在ggmap
中有很多选项。下面的示例非常基本,但可以通过设置您喜欢的选项来完全自定义。
map <- qmap('Karnataka', zoom = 7, maptype = 'hybrid')
map
library(ggmap)
qmap('Karnataka')
以上是关于如何将印度国家与地区划分为r?的主要内容,如果未能解决你的问题,请参考以下文章