【问题标题】:Problems with order of attributes of CRS 4326 in RR中CRS 4326的属性顺序问题
【发布时间】:2018-05-21 15:43:53
【问题描述】:

我使用 R maptools 包加载一个形状文件

Subcat<-readShapeSpatial("Contour500/Catchments500.shp",proj4string = CRS('+init=epsg:4326'))

class(Subcat)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"

然后我加载另一个形状文件

load("Temperature/WCAdj.RData")
class(WcT$Geoloc)
[1] "SpatialPoints"
attr(,"package")
[1] "sp"

我想使用 sp 包中的 over 功能

over(WcT$Geoloc,Subcat)

但是当我运行它时,我得到了下一个错误

Error: identicalCRS(x, y) is not TRUE

这很奇怪,因为我对两个文件 CRS('+init=epsg:4326') 使用了相同的 CRS。我仔细检查并发现CRS的属性顺序略有不同

proj4string(Subcat)
[1] "+init=epsg:4326 +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0"

proj4string(WcT$Geoloc)
[1] "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"

唯一的区别是属性的顺序(+ellps、+no_defs 和+datum),但所有值都相同。我通过使用再次加载 Subcat 解决了这个问题

Subcat<-readShapeSpatial("Contour500/Catchments500.shp",proj4string = CRS("+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"))

但是我想知道是否有其他解决方案,因为我想避免将来出现同样的错误,并且想知道这个错误来自哪里。我在 (https://www.nceas.ucsb.edu/~frazier/RSpatialGuides/OverviewCoordinateReferenceSystems.pdf ) 和 SP 包文档 https://cran.r-project.org/web/packages/sp/sp.pdf 中检查了 CRS 定义的详细信息,但它们没有提供有关属性顺序的太多详细信息。

有人遇到过同样的问题吗?

有谁知道如何避免这种情况?

以防万一

sessionInfo()
R version 3.3.3 (2017-03-06)

other attached packages:
[1] rgeos_0.3-2     maptools_0.8-27 rgdal_0.8-11    sp_1.0-14 

提前致谢!

【问题讨论】:

    标签: r sp maptools


    【解决方案1】:

    解决方案比我想象的要简单,只需更新所有软件包。他在给作者写信后说,有时在更新 R 时,旧版本的包可能会遇到此类问题,因此也需要更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多