R中CRS 4326的属性顺序问题
Problems with order of attributes of CRS 4326 in R
我使用 R maptools package
加载形状文件
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 CRS('+init=epsg:4326')。我仔细检查,发现 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 ) and in the SP package documentation 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更新时,旧版本的包可能会遇到此类问题,因此也需要更新。
我使用 R maptools package
加载形状文件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 CRS('+init=epsg:4326')。我仔细检查,发现 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 ) and in the SP package documentation 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更新时,旧版本的包可能会遇到此类问题,因此也需要更新。