Proj4 reprojection utilisant R
-
09-10-2019 - |
Question
Je suis en train de reprojeter coordonnées WGS84 en zone 53 SMG, une projection UTM basée sur la donnée de GDA94. Je reçois l'infini que mon résultat, ce qui est certainement incorrect. J'utilise le paquet proj4
de R comme ceci:
> library(proj4)
> df <- data.frame("x" = c(131.1, 131.102, 131.1106, 133.34), "y" = c(-13.23, -13.243, -13.22, -22.66))
> df
x y
1 131.1000 -13.230
2 131.1020 -13.243
3 131.1106 -13.220
4 133.3400 -22.660
> ptransform(data = df, src.proj = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs", dst.proj = "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
$x
[1] Inf Inf Inf Inf
$y
[1] Inf Inf Inf Inf
$z
[1] 0 0 0 0
>
Qu'est-ce qui ne va pas ici?
La solution
Le problème est que ptransform radians, pas se attend à degrés. La fonction proj4 ::: par défaut du projet à des degrés. Les résultats sont les mêmes avec ptransform si vous convertissez en radians.
Autres conseils
Où est le paquet proj4 obtenu à partir?
Essayez rgdal si vous pouvez l'installer:
df <- data.frame ( "x" = c (131,1, 131,102, 131,1106, 133,34), "y" = C (-13,23, -13,243, -13,22, -22,66))
bibliothèque (rgdal)
## projet prévoit une matrice, assume la source est longlat / WGS84
projet (as.matrix (df), "+ proj = + utm zone = 53 + sud + ellps = GRS80 + towgs84 = 0,0,0,0,0,0,0 + unités = m + no_defs" )
[,1] [,2]
[1,] 77177,18 8534132
[2,] 77416,79 8532695
[3,] 78310,75 8535258
[4,] 329440,68 7493165