【发布时间】:2018-12-23 19:57:36
【问题描述】:
我使用 this topic of Forum 中来自 Stanislav 的方法,这是一个关于“将纬度和经度点转换为 UTM”的问题。我反向编辑了函数,将点从 UTM 更改为 WGS84,即:
library(sp); library(rgdal)
#Function
UTMToLongLat<-function(x,y,zone){
xy <- data.frame(ID = 1:length(x), X = x, Y = y)
coordinates(xy) <- c("X", "Y")
proj4string(xy) <- CRS(paste("+proj=utm +zone=",zone," ellps=WGS84",sep=''))
res <- spTransform(xy, CRS("+proj=longlat +datum=WGS84"))
return(as.data.frame(res))
}
试了上一题的例子,即:
x2 <- c(-48636.65, 1109577); y2 <- c(213372.05, 5546301)
WGS84 中的预期值是 (118, 10), (119, 50)。 Colin 的示例在 UTM51 中。
所以,使用下面的句子:
done2 <- UTMToLongLat(x2,y2,51)
但是,它产生了:(118.0729, 1.92326), (131.4686, 49.75866)。
怎么了?对了,怎么控制输出的小数位数?
【问题讨论】:
标签: r coordinates