4

座標をWGS84からMGAゾーン53に再投影しようとしています。これは、GDA94データムに基づくUTM投影です。結果として無限大になりますが、これは間違いなく正しくありません。私は次のproj4ように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

> 

ここで何が問題になっていますか?

4

2 に答える 2

4

問題は、ptransformが度ではなくラジアンを期待することです。関数proj4:::projectのデフォルトは度です。ラジアンに変換した場合、結果はptransformと同じです。

于 2010-10-21T09:49:12.430 に答える
3

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であると想定します

project(as.matrix(df)、 "+ proj = utm + zone = 53 + south + ellps = GRS80 + towgs84 = 0,0,0,0,0,0,0 + units = m + no_defs")

     [,1]    [,2]

[1、] 77177.18 8534132

[2、] 77416.79 8532695

[3、] 78310.75 8535258

[4、] 329440.68 7493165

于 2010-10-21T07:15:04.783 に答える