【问题标题】:Unexpected convertion output from Latlong to UTM in RR中从Lat Long到UTM的意外转换输出
【发布时间】:2016-12-01 23:27:54
【问题描述】:

我正在尝试将 Latlong 转换为 UTM,但由于某种原因,来自 R 的结果与我寻找的结果大不相同。

数据集只是一个观察结果(圣保罗市):

经纬度

圣保罗经度:-46.633309

圣保罗纬度:-23.550520

圣保罗的 UTM 坐标 (WGS84)

圣保罗的 UTM 坐标 (WGS84) 为:Zone 23K E: 333287.02 N: 7394586.09

来源:http://www.gps-latitude-longitude.com/gps-coordinates-of-sao-paulo

library(rgdal)
x<-c(-46.633309)
y<-c(-23.550520)
zone<-23
xy<-data.frame(ID = 1:length(x), X = x, Y = y)
coordinates(xy)<-c("X", "Y")
proj4string(xy)<-CRS("+proj=longlat +datum=WGS84")  ## for example
res<-spTransform(xy, CRS(paste("+proj=utm +zone=",zone,"ellps=WGS84",sep='')))
res

> res
         coordinates ID
1 (333287, -2605414)  1 

东移项似乎是正确的,但北移与预期值相差很大(7394586.09 不等于 -2605414)。

谁能告诉我这是怎么回事? 提前致谢。

【问题讨论】:

  • 10000000 - 2605414 = 7394586

标签: r coordinates rgdal


【解决方案1】:

问题是您在南半球,北移的起点不再是赤道而是南极。因此,使用

res<-spTransform(xy, CRS(paste("+proj=utm +south +zone=",zone,"ellps=WGS84",sep='')))
##        coordinates ID
##1 (333287, 7394586)  1

注意+southCRS 规范的补充。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2012-03-12
    • 1970-01-01
    • 2018-09-28
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2016-01-05
    相关资源
    最近更新 更多