Domanda

Sto cercando di riproiettare coordinate dal WGS84 a MGA Zone 53, una proiezione UTM basata sul dato GDA94. Ottengo infinito come il mio risultato, che è sicuramente corretto. Sto usando il pacchetto proj4 di R in questo modo:

> 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

> 

Che cosa sta andando male qui?

È stato utile?

Soluzione

Il problema è che si aspetta ptransform radianti, non gradi. La funzione Proj4 ::: progetto default è gradi. I risultati sono la stessa cosa con ptransform se si converte in radianti.

Altri suggerimenti

Dove si trova il pacchetto Proj4 ottenuto da?

Prova rgdal se è possibile installarlo:

df <- data.frame ( "x" = c (131,1, 131,102, 131,1106, 133.34), "y" = c (-13,23, -13,243, -13,22, -22,66))

biblioteca (rgdal)

## progetto prevede una matrice, si assume fonte è longlat / WGS84

progetto (as.matrix (df), "+ proj = UTM + zone = 53 + sud + ellps = GRS80 + towgs84 = 0,0,0,0,0,0,0 + units = m + no_defs" )

     [,1]    [,2]

[1,] 77.177,18 8.534.132

[2,] 77.416,79 8.532.695

[3,] 78.310,75 8.535.258

[4,] 329.440,68 7.493.165

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top