2016-07-27 7 views
0

ですが、私はLatlongをUTMに変換しようとしていますが、何らかの理由でRの結果が私の探している結果と大きく異なります。LatlongからUTMへの予期しない変換出力が

データセットはただ一つの観測(サンパウロ市)である:サンパウロの

LatLongブログ

経度:サンパウロの-46.633309

緯度:-23.550520

サンパウロのUTM座標(WGS84)

サンパウロのUTM座標(WGS84)は、次のとおりです。ゾーン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 

東距の用語は、右のようですが、北距が予想されるから非常にdiferentです値(7394586.09は-2605414と等しくない)。

何が起こっているのか教えていただけますか? ありがとうございます。

+1

10000000 - 2605414 = 7394586 – Henry

答えて

1

あなたは南半球にあり、北緯の起源はもはや赤道ではなく、南極です。したがって、

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

を使用CRS仕様に+southほかに注意。

これが役に立ちます。