我正在尝试将坐标从WGS84重新投影到MGA Zone 53,这是一个基于GDA94数据的UTM投影。我的结果是无限的,这肯定是不正确的。我正在使用R的proj4
包:
> library(proj4)
> df <- data.frame("x" = c(131.1, 131.102, 131.1106, 133.34), "y" = c(-13.23, -13.243, -13.22, -22.66))
> df
x y
1 131.1000 -13.230
2 131.1020 -13.243
3 131.1106 -13.220
4 133.3400 -22.660
> ptransform(data = df, src.proj = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs", dst.proj = "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
$x
[1] Inf Inf Inf Inf
$y
[1] Inf Inf Inf Inf
$z
[1] 0 0 0 0
>
这里出了什么问题?
答案 0 :(得分:4)
问题是ptransform需要弧度,而不是度数。函数proj4 ::: project默认为度。如果转换为弧度,则结果与ptransform相同。
答案 1 :(得分:3)
proj4包从哪里获得?
如果可以安装,请尝试使用rgdal:
df&lt; - data.frame(“x”= c(131.1,131.102,131.1106,133.34),“y”= c(-13.23,-13.243,-13.22,-22.66))
库(rgdal)
## project需要一个矩阵,假设source是longlat / WGS84
项目(as.matrix(df),“+ proj = utm + zone = 53 + south + ellps = GRS80 + towgs84 = 0,0,0,0,0,0,0 + units = m + no_defs” )
[,1] [,2]
[1,] 77177.18 8534132
[2,] 77416.79 8532695
[3,] 78310.75 8535258
[4,] 329440.68 7493165