将 latitude/longitude 转换为 UTM ~ 区域投影

Converting latitude/longitude to UTM ~ zone projection

我在 WGS84 Zone=21 N 下有一组 lat/long 坐标,我正在尝试重新投影为 UTM 格式,但我得到的数字非常不稳定;

library('rdgal')
library('sp')
plot_coord_SW <- data.frame(PLOT=c(1,2,3,8,9,10),east_proj=c(5.01964,5.022444,5.025106,5.016922,5.014864,5.011755),north_proj=c(-58.6252,-58.6247,  -58.6248,-58.6203,-58.6203,-58.6211))

coordinates(plot_coord_SW) <- c("east_proj","north_proj") #converts to spatialpointsdataframe
proj4string(plot_coord_SW) <- CRS("+proj=longlat +datum=WGS84") #sets the 
coordinate reference system=WGS84
reproj_UTM <- spTransform(plot_coord_SW, CRS("+proj=utm +zone=21 ellps=WGS84"))
          coordinates PLOT
1 (3670898, -8215608)    1
2 (3671045, -8215729)    2
3 (3671124, -8215883)    3
4 (3671325, -8215133)    8
5 (3671255, -8215020)    9
6 (3671066, -8214901)   10

我通过在线转换与第一组坐标 [plot 1] 进行了交叉检查,根据地图投影,它完全不同且正确:http://www.rcn.montana.edu/resources/converter.aspx

      coordinates PLOT

1 (319820.9, 555058.9) 1

任何 advice/guidance 可能的错误将不胜感激。

谢谢。 阿南德

你的经纬度是错误的,如果它说

north_proj=c(-58.6252,-58.6247,  -58.6248,-58.6203,-58.6203,-58.6211))

表示南方; 如果你用 east_proj 交换 north_proj 你会得到你提到的坐标:

 > coordinates(reproj_UTM_32)
     east_proj north_proj
[1,]  319820.9   555058.9
[2,]  319877.2   555368.8
[3,]  319866.8   555663.2
[4,]  320363.6   554757.0
[5,]  320363.0   554529.4
[6,]  320273.5   554185.8