我有一个由3个多边形组成的spatialPolygonsDataFrame。第三个多边形与第一个多边形具有相同的形状,但在第二个多边形所在的位置有一个洞。 我用另一个问题(How to add a hole to a polygon within a SpatialPolygonsDataFrame?)的答案在上面建了一个洞。 library(raster)
library(sp)
# create rasters and store them in a list
r1 <- raster(xmn=1, xmx=5, ymn=1, ymx=5, nrows=4, ncols=4)
r
我必须计算出n维空间中多面体之间的重叠百分比,其中我唯一可用的参考源是这些多面体中的一组随机采样点。 假设以下两个R对象是来自5维两个不同多边形的两组随机采样点: one <- matrix(runif(5000, min = 0, max = 5), ncol = 5)
two <- matrix(runif(5000, min = 0, max = 4), ncol = 5) 在本例中,我为第二个对象选择了一个较小的范围,因此我们知道应该有不到10%的重叠。如果我错了,请告诉我。 编辑:为了清楚起见,问题是这两个对象之间的重叠百分比是多少? 我需要一种推广到n维空间的方法
我有两个30m x 30m的光栅文件,我想从其中采样点。在采样之前,我想从图像中删除云区。我转向R和Hijman的Raster包来完成这项任务。
使用drawPoly(sp=TRUE)命令,我绘制了18个不同的多边形。该函数似乎不允许18个多边形作为一个sp对象,所以我将它们全部分开绘制。然后我给多边形一个与栅格匹配的proj4string,并将它们设置到一个列表中。我通过lapply函数运行该列表,将它们转换为栅格(Hijman包中的rasterize函数),将多边形区域设置为NA,并将图像的其余部分设置为1。
我的最终目标是一个栅格层,其中18个区域设置为NA。我已经尝试了堆叠栅格化多边形
我想用包含在"SpatialPolygonsDataFrame“对象中的所有多边形来掩蔽光栅。直到现在我才试过这个:
r=raster("myraster.asc")
然后,我得到了包含6个多边形的SpatialPolygonsDataFrame (称为"vor_spdf")对象,因此我运行了以下命令:
typeof(vor_spdf) # It results in [1] "S4"
r1=crop(r,extent(vor_spdf))
r2=mask(r1,vor_spdf@polygons[[1]]) #Trying to mas
当我拥有集合中所有多边形的最小边界矩形(MBR)时,我似乎找不到任何关于如何构建R树的文档。R-Tree非常适合存储这些空间参考,以消除我当前对多边形相交的暴力检查:
for p1 in polygons: # O(n)
for p2 in polygons: # O(n)
if p2 is not p1: # O(1)
if p2.intersects(p1): # O(1); computed using DeMorgans law on vertices
# do stuff
有没有人有一个参考文献,说明如何
使用这里的教程:https://www.r-spatial.org/r/2018/10/25/ggplot2-sf-2.html (在“状态(多边形数据)”一节中),我尝试将多边形转换为sf对象。 library("maps")
states <- st_as_sf(map("state", plot = FALSE, fill = TRUE))
head(states) 我得到了错误消息:Error in as_mapper(.f, ...) : argument ".f" is missing, with no default 提前
我想从streamstats函数delineateWatershed()创建一个sf()对象,而不需要首先保存为json的shapefile。我可以描绘多边形,然后保存为形状,最后作为shapefile导入。这使得我在一个嵌套的文件夹中留下了一个形状文件的版本,这将很快占用空间。一旦我有了我的sf()多边形,我计划将多个合并在一起,并将它们保存为单个shapefile。最后,我将拥有多边形的两个副本。如何跳过writeShapefile()然后执行st_read步骤? setwd('~/R/GIS/data/') #I need to define the working d