伙计,
我需要一些专家意见。我一天中的大部分时间都在与这个问题作斗争,我没有选择。
我正在尝试创建一张地图,描绘横跨景观的自上次火灾以来的时间
显然有些地方从来没有火,这些在这里被表示为0,但它有些随意
我的代码如下所示:
可以找到数据HERE
#example for SO
library(rgdal)
library(raster)
library(plotKML)
##load Data
Fire <- readOGR(dsn="***YOURPATHHERE******/H_Fire_Poly_Jan3_2105", "Fire_poly_KootClip")
##build raster1
r<-raster(res=300,extent(Fire))
pop<-rasterize(Fire,r,"FIRE_YEAR",fun="max",na.rm=TRUE,background=2015)
pop<-projectRaster(pop,res=300, crs="+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
plot(pop)
##build raster 2
background<-raster(extent(pop),res=300,vals=2015)
projection(background)<-CRS(proj4string(pop))
##make sure all is good
plot(background)
plot(pop,add=T)
##algebra
final<-background-pop
##plot
plot(final)
##export
plotKML(final)
如果您不想运行代码,这就是Google Earth上的样子
这是主要问题,其中:
1)它几乎看起来像保留多边形边界信息,因为棕褐色线条是精确的边框,
2)&#34; max&#34;并不总是在这里报道,尤其是它出现的边缘?
3)我的目标是将这个地图与物种分布建模中的其他栅格结合使用(因此使用栅格堆栈,模型和预测函数来制作地图)。当我尝试用这一层制作一张地图时,由于NA不在,我最终会得到一堆洞......那里应该没有NA。如果我从火层开始没有这个时间运行模型,一切都很好。当我包含它时,生成的地图中的NA通常是您看到tan&#34;多边形轮廓的地方&#34;在第一张照片中。
如何让这个栅格图层具有清晰的边缘,而不是像现在这样混乱?
这是我的最终地图物种地图的样子,而不是丢失的数据反映了火图中的问题
答案 0 :(得分:0)
我认为您的混淆来自Google地球中的可视化,而不是来自计算。当你用R绘制时,这看起来很好。但是你不应该使用projectRaster。
library(rgdal)
library(raster)
Fire <- shapefile("Fire_poly_KootClip")
r <- raster(res=300,extent(Fire))
pop <- rasterize(Fire, r, "FIRE_YEAR", fun="max", na.rm=TRUE, background=2015)
x <- pop-2015
plot(x)
更简单就是
Fire$since <- Fire$FIRE_YEAR - 2015
x <- rasterize(Fire, r, "FIRE_YEAR", fun="max", na.rm=TRUE, background=-100)
plot(x)
不是-100,因为没有火与'很久以前'相似,而不是'刚才'。