我有坐标,所有这些都应该位于 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 地图投影。
我对地图和投影非常陌生,非常感谢任何帮助。
查找 epsg:4269:
http://spatialreference.org/ref/epsg/4269/ http://spatialreference.org/ref/epsg/4269/
它是一个经纬度系统。所以你的大数字(以米为单位)太大了。
如果您在任何地方都有一个包含这些坐标中的数据的 shapefile,那么您可能会有一个 .prj 文件,该文件将具有投影规范,否则您将不得不在 Spatialreference.org 上追踪它:
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 给出相同的答案,并且可能更“标准”......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)