问题描述
由于更新了sp程序包,我得到了一条以前从未收到的警告:
menu[i]
这是我用来定义CRS的代码
1: In showSRID(uprojargs,format = "PROJ",multiline = "NO") :
discarded ellps unkNown in CRS deFinition: +proj=stere +lat_0=90 +lon_0=10 +k=0.93301270189 +x_0=0 +y_0=0 +R=6370040 +units=km +no_defs
2: In showSRID(uprojargs,multiline = "NO") :
discarded datum unkNown in CRS deFinition
我尝试创建一个投影,并且之前已经在工作:) 但自更新以来,我收到此警告。 我究竟做错了什么? 预先谢谢你,
最好的问候, 安德烈亚斯(Andreas)
解决方法
在最近的发行版中,sp和其他空间包发生了一些重大变化。参见,例如:
https://www.r-spatial.org/r/2020/03/17/wkt.html
和
https://www.r-spatial.org/r/2020/06/17/s2.html
与您的问题相关的是crs和CRS之间存在差异。也许事情在那里卡住了。
,在您的定义中,您有参数a
和b
---这些是指地球的ellipsoid表示形式的半径。由于它们相同,因此您正在使用球体。新版本的PROJ库要求,如果使用proj4表示法,则必须使用WGS84(或紧密相关)数据。否则,您需要提供EPSG代码或WKT表示法。像这样:
p4 <- "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=10 +k=0.93301270189 +units=km +datum=WGS84"
sp::CRS(p4)
#CRS arguments:
# +proj=stere +lat_0=90 +lon_0=10 +k=0.93301270189 +x_0=0 +y_0=0 +units=km +datum=WGS84 +units=m +no_defs
由于此CRS似乎没有EPSG代码,因此您需要提供WKT描述。我found这个
wkt <- 'PROJCS["unknown",GEOGCS["unknown",DATUM["unknown",SPHEROID["unknown",6370040,0]],PRIMEM["Greenwich",AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,"9122"]]],PROJECTION["Polar_Stereographic"],PARAMETER["latitude_of_origin",90],PARAMETER["central_meridian",10],PARAMETER["scale_factor",0.93301270189],PARAMETER["false_easting",0],PARAMETER["false_northing",UNIT["kilometre",1000,"9036"]],AXIS["Easting",SOUTH],AXIS["Northing",SOUTH]]'
But that still does not work because of the datum being unknown
CRS(SRS_string=wkt)
#CRS arguments:
# +proj=stere +lat_0=90 +lon_0=10 +k=0.93301270189 +x_0=0 +y_0=0 +R=6370040 +units=km +no_defs
#Warning messages:
#1: In showSRID(SRS_string,format = "PROJ",multiline = "NO") :
# Discarded ellps unknown in CRS definition: +proj=stere +lat_0=90 +lon_0=10 +k=0.93301270189 +x_0=0 +y_0=0 +R=6370040 +units=km +no_defs
#2: In showSRID(SRS_string,multiline = "NO") :
# Discarded datum unknown in CRS definition