有没有R函数可以创建多边形的中心线?类似于ArcGIS和Python中的这些方法?
下面是生成虚拟多边形的代码 - 对于这个简单的示例,我们基本上只需要中间有一条线。
library(rgeos)
sdf <- data.frame(id=1:10, lat = 1:10, lon=1)
coordinates(sdf) <- ~lon+lat
sdf <- gBuffer(sdf, width=2, byid=F)
Run Code Online (Sandbox Code Playgroud)
我正在尝试检查两个多边形是否在 R 中相交。绘图时,它们显然没有相交。检查交集时,rgeos::gIntersects()当前返回FALSE,而sf::intersects()返回TRUE。我想这是因为多边形(1)大并且(2)靠得很近,所以当在平坦的表面上时它们似乎不相交,但在球体上它们似乎相交?
理想情况下,我可以将我的工作流程全部保留下来sf——但我想知道是否有一种方法可以使用sf::intersects()(或另一个sf函数)返回FALSE这里?
这是一个例子:
library(sf)
library(rgeos)
library(leaflet)
library(leaflet.extras)
#### Make Polygons
poly_1 <- c(xmin = -124.75961, ymin = 49.53330, xmax = -113.77328, ymax = 56.15249) %>%
st_bbox() %>%
st_as_sfc()
st_crs(poly_1) <- 4326
poly_2 <- c(xmin = -124.73214, ymin = 25.11625, xmax = -66.94889, ymax = 49.38330) %>%
st_bbox() %>%
st_as_sfc()
st_crs(poly_2) <- 4326
#### Plotting
# Visually, the polygons do not intersect
leaflet() …Run Code Online (Sandbox Code Playgroud)