如何NAD 83个坐标经纬度转换与rgdal包?(How to convert NAD 83 coo

2019-07-30 14:30发布

我有坐标,所有这些应位于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地图投影。

我很新的映射和预测,任何帮助表示赞赏。

Answer 1:

查找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?