0

R を使用して空間データセットに取り組んでいます。

データの説明

私のマスター データセットはSpatialPointsDataFrameフォーマットされており、毎月の表面温度データ (列名 - "ruralLSTday"、"ruralLSTnight") があります。データ スニペットを以下に示します。

マスター データ - (SpatialPointsDataFrame 形式)

           TOWN_ID ruralLSTday ruralLSTnight year month
2920006.11 2920006    303.6800      289.6400 2001     0
2920019.11 2920019    302.6071      289.0357 2001     0
2920015.11 2920015    303.4167      290.2083 2001     0
3214002.11 3214002    274.9762      293.5325 2001     0
3214003.11 3214003    216.0267      293.8704 2001     0
3207010.11 3207010    232.6923      295.5429 2001     0

座標:

           longitude latitude
2802003.11  78.10401 18.66295
2802001.11  77.89019 18.66485
2803003.11  79.14883 18.42483
2809002.11  79.55173 18.00016
2820004.11  78.86179 14.47118

降水量と気温に関する上記のデータに列を追加したい - このデータはSpatialGridDataFrame毎月のテーブル「secondary_data」にあります。「secondary_data」のスニペットを以下に示します。

セカンダリ データ - (SpatialGridDataFrame 形式)

  month meant.69_73 rainfall.69_73
1     1    25.40968      0.6283871
2     2    26.19570      0.4580542
3     3    27.48942      1.0800000
4     4    28.21407      4.9440000
5     5    27.98987      9.3780645

座標:

    longitude latitude
[1,]      76.5      8.5
[2,]      76.5      8.5
[3,]      76.5      8.5
[4,]      76.5      8.5
[5,]      76.5      8.5

質問

緯度経度と月を照合して、セカンダリ データからマスター データに列を追加するにはどうすればよいですか? 現在、マスター データはポイントのセットであり、セカンダリ データはグリッドであるため、上の 2 つの表の緯度/経度情報は正確には一致しません。

マスター データの緯度/経度が該当する「二次データ」のグリッドの正方形を見つけて補間する方法はありますか?

4

1 に答える 1

2

あなたのSpatialPointsDataFrameオブジェクトが と呼ばれx、あなたのオブジェクトが とSpatialGridDataFrame呼ばれる場合y

x <- cbind(x, over(x, y))

yの位置に一致するの属性 (グリッド セルの値) を の属性に追加しxますx。マッチングは、グリッド内のポイント セルによって行われます。

補間は別の問題です。簡単な方法は、4つの最も近い隣人との距離を逆にすることです。

library(gstat)
x = idw(meant.69_73~1, y, x, nmax = 4)

どちらかが必要かどうかは、実際にグリッド セルが何を意味するかによって異なります。(i) グリッド セルの中心のポイント値、(ii) グリッド セル全体で一定の値、または (iii) を参照しますか。グリッド セル全体の平均値。最初のケース: 補間、2 番目のケース: を使用over、3 番目のケース: 領域からポイントへの補間を使用 (ここでは説明しません)。

R パッケージrasterは同様の機能を提供しますが、異なる名前を使用します。

于 2015-07-16T06:55:03.200 に答える