我有坐标,所有这些应位于DC,但我无法弄清楚如何将它们从NAD 83转换为经度和纬度R.我使用spTransform()
函数在rgdal包,并得到有关错误不符合的数据。
library(rgdal)
nad83_coords <- data.frame(x=c(396842.6, 397886.9, 398315.5, 398154.3, 398010.3), y=c(140887.1, 139847.0, 138743.9, 139534.5, 138697.3))
coordinates(nad83_coords) <- c('x', 'y')
proj4string(nad83_coords) <- CRS("+init=epsg:4269")
Error in `proj4string<-`(`*tmp*`, value = <S4 object of class "CRS">) :
Geographical CRS given to non-conformant data: 398315.5 140887.1
proj4strings的其他组合产生相同的错误。 我相信错误是因为坐标是太大,但我不知道为什么会。 为坐标的文档如下:
值是在马里兰州平面米NAD 83地图投影。
我很新的映射和预测,任何帮助表示赞赏。
查找espg:4269:
http://spatialreference.org/ref/epsg/4269/
其经纬度长的系统。 所以,你的大数字(这是米)是太大了。
如果你在这些坐标数据得到了shape文件的任何地方,那么你可能有它.prj文件,将有投影规范,否则,你将有追逐它spatialreference.org:
http://spatialreference.org/ref/?search=nad83+maryland&srtext=Search
有一个关于NAD83配套的变化,也有“国家层面”在这里和那里。 我也不太清楚准确哪个是哪个。 EPSG的:代码更标准,然后有一堆ESRI的:代码。 对SR-ORG:那些是用户提供的网站上。
ESRI的代码看起来够最接近你给的文字。 我们试试吧:
> proj4string(nad83_coords)=CRS("+init=esri:102285")
> spTransform(nad83_coords,CRS("+init=epsg:4326"))
SpatialPoints:
x y
[1,] -77.03642 38.93586
[2,] -77.02437 38.92650
[3,] -77.01942 38.91656
[4,] -77.02128 38.92368
[5,] -77.02294 38.91614
任何接近DC? 其实,EPSG:2804和EPSG:3559给出相同的答案,可能是更多的“标准” ...
文章来源: How to convert NAD 83 coordinates to latitude and longitude with rgdal package?