我有一个shapefile的边界框。我想使用这个bbox来裁剪一个图像,我有一个光栅和shapefile。 我尝试过使用gIntersection和crop (如下所示)。不确定是否需要将bbox转换为多边形才能执行此操作。 raster = county raster
plot_parcel_bb = bbox
county_shp = county shape
#4.Use bounding box to clip the appropriate county imagery tile (raster&vector in QGIS)
#Check class
cl
我有超过50个光栅文件(ASCII格式)需要裁剪。我已经从ArcMap中导出了ASCII格式的蒙版,并将其加载到R中。我如何才能使其适用于一行中的所有栅格,并以与以前相同的名称导出它们(当然是在不同的文件夹中,以避免覆盖)?
我知道在raster包中有一个裁剪函数,但到目前为止我还没有用过它。我只是把它们堆叠起来做进一步的栖息地分析。
到目前为止我的代码:
#### Use only part of area
files2 <- list.files(path="D:/",full.names=TRUE, pattern = "\\.asc$")
file
我正在处理一个问题,在这个问题上,我需要裁剪和掩蔽一系列形状文件的光栅堆栈。下面是一个可重复的例子:
# Example data ------------------------------------------------------------
#create example raster stack
r1 = raster(nrows=1000,ncol=1000,xmn=60,xmx=90,ymn=0,ymx=25)
rr = lapply(1:10, function(i) setValues(r1,runif(ncell(r1))))
rrstack=stack()
for
在我的分析中,我必须遍历光栅的单元格id (即单元格号),这是非可选的,并且是在不同的软件设置(BUGScode)中完成的,这一点我不太熟悉。我的光栅必须完全符合形状文件(我的学习区域),否则我会循环我没有价值或兴趣的单元格号码,然后.好吧,你知道接下来会发生什么;)
可复制示例
### get a shapefile
GER<-getData("GADM", country="DEU",level=1,download=T,path=getwd())
### make a raster
raster<-raster(ext=extent(GER)
我正在使用R(非RStudio) 3.3.3处理Mac0S10.10.5中的R光栅包中的地理参考图像。使用GUI将工作区保存到xxx.RData文件后,我关闭会话重新启动R(在启动时不读取历史文件),然后使用GUI再次加载工作区。当我输入ls()时,所有对象(包括我加载的原始全全局栅格以及我使用crop()创建的子集)都会出现。然而,当我绘制光栅时,只有原始的非裁剪图像情节。裁剪的子集不绘制,而是得到以下错误:
>Error in file(fn, "rb") : cannot open the connection
>In addition: Warnin
我有一组点和,我想从几个大型光栅中提取值,作为围绕这些点的缓冲区。栅格太大,无法保存在内存中(> 1e10细胞)。我在下面说明我目前的方法,但如果有更快的方法,我会感兴趣的。
library(maps)
library(sf)
library(raster)
library(dplyr)
library(parallel)
# sf object with polygones for which we want values
crs <- "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +n
基本上,我有12个多光谱图像,我想用两个多边形(小水体)掩蔽他们。这两个多边形是在一个形状文件,但我可以打破他们,如果这将使过程更容易。在这里的一些好用户的帮助下,我用一个多边形上的12幅图像测试了这一切,它工作得很好,但是我最终需要对多个多边形这样做,所以我想修改我的代码。
使用一个多边形裁剪所有栅格的循环:
#The single polygon
mask <- st_read(here::here("data", "mask.shp") %>%
st_as_sf()
#Creates list of input files and th
我正在尝试构建一个闪亮的应用程序,对光栅文件进行一些修改,绘制它并提供下载(修改)光栅文件的选项。我得到了以下错误:
Listening on http://127.0.0.1:3371
Warning: Error in : Can't access reactive value 'divider' outside of reactive consumer.
ℹ Do you need to wrap inside reactive() or observer()?
53: <Anonymous>
Error : Can't access re
我正在处理光栅数据,并试图在栅格堆栈中为不同位置的每个光栅裁剪和掩蔽各种缓冲器。结果是一个栅格列表。我得到了一小部分数据的代码,但是现在我正在整个数据集上尝试它,而且它的工作速度非常慢。参见示例代码:
# Example data ------------------------------------------------------------
#create example raster stack
r1 = raster(nrows=1000,ncol=1000,xmn=60,xmx=90,ymn=0,ymx=25)
rr = lapply(1:100, function(i) s
我希望计算从NA单元到空间对象的距离。但是,distance()函数无法识别我创建的NA单元。下面是可重现的代码: 要创建空间对象,请执行以下操作: library(raster)
CAN <- getData("GADM", country = "Canada", level = 1)#level 1 just gives borders for provinces
library(sf)#to make sf object
sf_CAN <- as(CAN,"sf")
st_crop_CAN <- st_crop(sf