r - st_crs(x) == st_crs(y) 的 st_intersects 错误不是 TRUE

标签 r gis sf tigris

library(tidyverse) 
library(tigris) 
library(sf)
santacruz <- tracts("CA", "Santa Cruz")
coords_sf <- locations %>% st_as_sf(coords = c("Longitude", "Latitude"), crs=4269) 

这应该有相同的 CRS,但是当我尝试时

st_intersects(coords_sf, santacruz)

我明白了

Error: st_crs(x) == st_crs(y) is not TRUE

然后我尝试了

st_set_crs(santacruz, 4269)
st_set_crs(coords_sf, 4269)
st_transform(santacruz, 4269)
st_transform(coords_sf, 4269)

而且它不起作用。我也试过了

st_transform(santacruz, crs = "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")

st_transform(coords_sf, crs = "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs")

无论我尝试如何设置 CRS 并在尝试时对其进行转换

st_intersects(coords_sf, santacruz)

我明白了

Error: st_crs(x) == st_crs(y) is not TRUE

此时我无法判断是设置 CRS 还是转换或 st_intersects 函数有问题。谢谢,

最佳答案

st_set_crs(santacruz, 4269)

设置返回对象的 CRS,但不替换 santacruz。您需要保存它:

santacruz <- st_set_crs(santacruz, 4269)

或者做

st_crs(santacruz) <- 4269 

取代 CRS。

关于r - st_crs(x) == st_crs(y) 的 st_intersects 错误不是 TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49141192/

相关文章:

r - 在 R 中将 SpatialPolygonsDataFrame 导出为 geojson 或 topojson

r - 使用 st_join 进行使用最大交叉点的空间连接

r - 更改图例标题会破坏 ggplot2 中的图例颜色

r - 按名称折叠数据框,其中整数列相加并粘贴因子列

r - 高效构建大型(200 MM 线)数据框

r - 使用等高线在多边形层下方切割多边形

c# - 我应该使用什么数据库最适合我的 GIS 应用程序?

在数据帧列表上运行 rapply

r - 如何对R中特定条件的值求和?

powerbi - 如何在 map 上显示距离我最近的 3 个竞争对手?