首页 > 解决方案 > 如何在 R 特例非洲中将 UTM 坐标转换为纬度和经度

问题描述

您好,我从这里尝试了这段代码如何 像这样在 R 中将 UTM 坐标转换为纬度和经度

   SP <- SpatialPoints(cbind(457500, 9347500))
   sputm <- SpatialPoints(SP, proj4string=CRS("+proj=utm +zone=35M +datum=WGS84")) 
   spgeo <- spTransform(sputm, CRS("+proj=longlat +datum=WGS84"))

有了这个结果

   spgeo
   #SpatialPoints:
   #     coords.x1 coords.x2
   #[1,]  23.25527  84.16145
   #Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84 +no_defs 

但这是错误的。结果应该是 lat=-5.90303 long=26.616044

这段代码有什么问题导致结果如此不同谢谢你的帮助。

标签: rgislatitude-longitudedata-conversionutm

解决方案


您必须使用+zone=35 +south而不是+zone=35M.

library(rgdal)
SP <- SpatialPoints(cbind(457500, 9347500))
sputm <- SpatialPoints(SP, proj4string=CRS("+proj=utm +zone=35 +south +datum=WGS84"))
spTransform(sputm, CRS("+proj=longlat +datum=WGS84"))
#SpatialPoints:
#     coords.x1 coords.x2
#[1,]  26.61604  -5.90303
#Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84
#+ellps=WGS84 +towgs84=0,0,0 

推荐阅读