2010-10-21 3 views
4

Я пытаюсь перепрограммировать координаты из WGS84 в зону 53 МГА, проекцию UTM на основе данных GDA94. Я получаю бесконечность в качестве своего результата, что определенно неверно. Я использую пакет R в proj4 так:Proj4 recjection using 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 

> 

Что происходит здесь не так?

+0

Вы пробовали silent = F, чтобы узнать, есть ли какие-либо предупреждения? – VitoshKa

+0

У меня есть, и он только предупреждает о значении Z, о котором я не беспокоюсь. – fmark

ответ

4

Проблема заключается в том, что ptransform ожидает радианов, а не градусов. Функция proj4 ::: project по умолчанию равна градусам. Результаты совпадают с ptransform, если вы конвертируете в радианы.

+0

Ах, ха! Я никогда бы не подумал об этом. Я дам ему попробовать ... – fmark

+1

Вы бы подумали об этом, если бы посмотрели страницу справки, которая является хорошим планом, когда все становится в отчаянии;) – mdsumner

3

Где находится пакет proj4?

Попробуйте rgdal, если вы можете установить его:

< ДФ - data.frame ("X" = с (131,1, 131.102, 131.1106, 133,34), "Y" = с (-13,23, -13.243, -13,22, -22,66))

библиотека (rgdal)

## проект ожидает, что матрица, предполагает источник является longlat/WGS84

проект (as.matrix (DF), «+ Рго = UTM + зона = 53 + юг + ellps = GRS80 + towgs84 = 0,0,0,0,0,0,0 + единиц = m + no_defs ")

 [,1] [,2] 

[1,] 77177,18 8534132

[2,] 77416,79 8532695

[3,] 78310,75 8535258

[4,] 329440,68 7493165

+0

Это работает, интересно, почему в библиотеке proj4 не было ... – fmark

+0

ах, я вижу proj4 на CRAN извините, что-то не так здесь - я проверю его – mdsumner

+0

proj4 не доступен для 64-разрядных в Windows, что почему я изначально думал, что это не на CRAN. – mdsumner