我有一个问题,关于如何有效地添加州级多边形边界,同时绘制印度的平均降水量。我从here下载了1级形状文件。让我简要解释一下这里的代码块:
首先我下载后读取数据并创建数据框:
ds <- readOGR(dsn = datdir, layer = "IND_adm1")
sub.ds <-ds[ds$NAME_1 != "Andaman and Nicobar" & ds$NAME_1 !="Lakshadweep",]
# Fortify
indFrame<- fortify(sub.ds,region="NAME_1")
平均降水量数据( cliffM )可以从(url = here)下载
download.file("url",method=curl)
precipM<- read.csv()
基本上数据框看起来像长,纬度,降水:
lat long precipitation
1 23.5 68.5 1.104472
2 24.5 68.5 1.075727
3 21.5 69.5 1.724481
4 22.5 69.5 1.137294
5 23.5 69.5 1.042384
6 24.5 69.5 1.019344
然后我在网格化平均降水量上使用普通克里金来生成整个印度的样本数据。我使用了自己的函数 krig(),但可能任何方法都有效。
grd <- spsample(sub.ds, type = "regular", n = 50000)
ans<- krig(grd@coords,precipM)
然后我尝试用以下方式绘制地图(带状态)+数据:
p1<- ggplot(aes(x = long, y = lat, fill = precipitation), data = ans) +
geom_raster() + scale_fill_continuous(low = "white", high = muted("blue")) +
coord_equal()+ geom_path(data = indFrame,aes(fill=NULL),colour = "black", size = .75)
p1
但是我得到了一个非常奇怪的状态图,状态级多边形连接起来。您可以按照相同的链接(我在 monsoon-precpitation 文件夹中上传数据的位置)查看图片。
非常感谢任何帮助?