Вопрос

Я пытаюсь перепроектировать координаты из WGS84 до MGA Zone 53, проекцию UTM на основе данных GDA94. Я получаю бесконечность в качестве моего результата, что определенно неверно. Я использую R proj4 пакет, как так:

> 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

> 

Что здесь не так?

Это было полезно?

Решение

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

Другие советы

Откуда получен пакет ProJ4?

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

df <- data.frame ("x" = C (131.1, 131.102, 131.1106, 133,34), "Y" = C (-13.23, -13.243, -13.22, -22.66))

Библиотека (RGDal)

## Проект ожидает матрицы, предполагает источник longlat / wgs84

Проект (AS.Matrix (DF), «+ PROJ = UTM + ZONE = 53 + ЮГ + ELLPS = GRS80 + Tovgs84 = 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top