2016-07-27 8 views
0

Ich versuche, Latlong in UTM zu konvertieren, aber aus irgendeinem Grund unterscheiden sich die Ergebnisse, die von R kommen, sehr von dem, wonach ich suche.Unerwartete Konvertierungsausgabe von Latlong nach UTM in R

Der Datensatz ist nur eine Beobachtung (die Stadt São Paulo):

LatLong

Länge von São Paulo: -46,633309

Breitengrad von São Paulo: -23,550520

UTM-Koordinaten (WGS84) von São Paulo

Die UTM-Koordinaten (WGS84) von São Paulo sind: Zone 23K E: 333287,02 N: 7394586,09

Quelle: 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 

Ostwert Begriff scheint richtig zu sein, aber Northing ist sehr diferent von der erwarteten Wert (7394586.09 ungleich -2605414).

Kann mir jemand sagen, was los ist? Vielen Dank im Voraus.

+1

10000000 - 2605414 = 7394586 – Henry

Antwort

1

Das Problem ist, dass Sie in der südlichen Hemisphäre sind und der Ursprung für Northing ist nicht mehr der Äquator, sondern der Südpol. Daher verwenden

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

Hinweis die +south Neben der CRS Spezifikation.

Hoffe, das hilft.