0

ラスターからデータを取得し、それを KML 形式にプッシュして、一連のグリッド ポリゴンを取得しようとしています。

grid2polyWeb 上のサンプルを見ると、 withを使用する方法があるように見えplotKMLます。残念ながら、ブロックを解除できるように見えるエラーが発生しました。

library(dismo)
require(plotKML)

library(rgdal)

tmin <- getData("worldclim", var = "tmin", res = 10)  # this will download 
# global data on minimum temperature at 10' resolution

tmin1 <- raster(paste(getwd(), "/wc10/tmin1.bil", sep = ""))  # Tmin for     January

newext <- c(-1, 1, 40, 43.5)
tmin1.c <- crop(tmin1, newext)
plot(tmin1.c)

tmin1.c  # look at the info
head(tmin1.c,5)

tminvals <- rasterToPoints(tmin1.c)

tminvals # look at the info
head(tminvals,5)
str(tminvals)

###########################
#Everything works down to here
###########################

library(sp)
coordinates(tminvals) <- ~x+y
gridded(tminvals) <- TRUE

proj4string(tminvals) <- CRS("+proj=longlat +datum=WGS84")
data(SAGA_pal)

dem_poly <- grid2poly(tminvals, "tmin1", method = "sp")

## visualize the data in Google Earth:
kml(dem_poly, colour_scale = SAGA_pal[[1]], colour = tmin1, kmz = TRUE)

coordinates(tminvals) <- ~x+y次のようなすべての行でエラーが発生します。

(function (classes, fdef, mtable) のエラーから: 署名 '"matrix"' の関数 'coordinates<-' の継承されたメソッドが見つかりません</p>

私が間違っていることを理解していません。データセットを見るtminvals と、内容は元のサンプル データとほぼ同じに見えますeberg_grid

4

1 に答える 1

1

なぜラスター KML ではなくポリゴンなのですか?

library(raster)
tmin <- getData("worldclim", var = "tmin", res = 10) 
tmin1 <- tmin[[1]]
newext <- c(-1, 1, 40, 43.5)
tmin1.c <- crop(tmin1, newext)

KML(tmin.c, 'test.kml')

ポリゴンが必要な場合:

p <- rasterToPolygons(tmin.c)

KML (または kml) を再び使用できるようになりました

次に、表示されるエラー メッセージについて説明します。座標関数は data.frame を期待しています。行列を指定しています。これを行うと、おそらく消えます。

tminvals <- data.frame(tminvals)
coordinates(tminvals) <- ~x+y
于 2015-03-07T05:11:01.457 に答える