1

次の形式の構造化されていないグリッドを適用する数値海洋モデルから ASCII データを取得しました。

id   lat   lon   value

多分s.th。お気に入り

dsize <- 100
data=data.frame(id=seq(1:dsize), 
            lat=sort(runif(dsize)*10+2570740),
            lon=runif(dsize)*10+6926070,
            val=sin(2*pi*(1:dsize)/dsize) + runif(1,-1,1)*10)

その結果を (x=lat, y=lon, z=val) で視覚化したいと思います

  1. 3D、例えば rgl ライブラリ
  2. 2D、等高線図
  3. 緯度または経度に沿ったセクション

x と y の値が増えないので、行き詰まりました...

4

1 に答える 1

2

パッケージakimaのinterp()関数などでval変数を補間すると役立つと思います。それはあなたが求めているものですか?

ここに画像の説明を入力

require(rgl)
require(akima)

dsize <- 100
data=data.frame(id=seq(1:dsize), 
            lat=sort(runif(dsize)*10+2570740),
            lon=runif(dsize)*10+6926070,
            val=sin(2*pi*(1:dsize/dsize + runif(1,-1,1)*10)))

#use akima to interpolate a *val* surface
surf<-interp(data$lat,data$lon,data$val)

persp3d(x=surf$x, y=surf$y, z=surf$z,
    theta=-50, phi=-25, expand=0.75, 
    alpha=0.3, col="green", ticktype="detailed", 
    xlab="lat", ylab="long", zlab="level",axes=TRUE)

rgl.viewpoint( scale=c(1,1,2) )
于 2013-11-22T15:49:42.913 に答える