2010-10-21 24 views
4

J'essaie de reprojeter des coordonnées de WGS84 à MGA Zone 53, une projection UTM basée sur le datum GDA94. J'obtiens l'infini comme résultat, ce qui est définitivement incorrect. J'utilise package de R proj4 comme ceci:Reprojection de Proj4 en utilisant R

> 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?

+0

avez-vous essayé silent = F, pour voir s'il y a des avertissements? – VitoshKa

+0

J'ai, et il met en garde seulement sur la valeur Z, dont je suis indifférent ici. – fmark

Répondre

4

Le problème est que ptransform attend des radians, pas des degrés. La fonction projet proj4 ::: est par défaut en degrés. Les résultats sont les mêmes avec ptransform si vous convertissez en radians.

+0

Ah, ha! Je n'aurais jamais pensé à ça. Je vais essayer ... – fmark

+1

Vous auriez pensé à cela si vous aviez regardé la page d'aide, ce qui est un bon plan quand les choses deviennent désespérées;) – mdsumner

3

D'où provient le paquet proj4?

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

+0

Cela fonctionne, je me demande pourquoi la bibliothèque proj4 n'a pas ... – fmark

+0

ah, je vois proj4 sur CRAN désolé, quelque chose ne va pas ici - je vais vérifier – mdsumner

+0

proj4 n'est pas disponible pour 64 bits dans Windows, ce qui est pourquoi j'ai d'abord pensé que ce n'était pas sur CRAN. – mdsumner