私は地質学者で、さまざまな xyz データ セットを含むプロジェクトで数百の一貫した等高線図を作成する必要があります。
不規則な xyz データ ポイントの輪郭を描くには、均一な xy メッシュで内挿 (外挿) された z 値の「グリッド」を作成する必要があります。R の外側 - このステップは「グリッディング」と呼ばれます。私はRに比較的慣れておらず、多数の不規則なデータポイントをグリッド化するための強力なワークフローを設定しようとしています. 私は苦労しています!
従来の輪郭マッピング ソフトウェアとワークフローの手順は次のとおりです。
- xyz データの読み取り
- 最終的なマップの対象地域 (AOI) を決定します。XMIN、XMAX、YMIN、YMAX
- グリッド間隔の決定 (XINT、YINT) - 行数と列数を「グリッド」に設定します (NROW、NCOL)
- 必要なインターポレーターの 1 つを適用します - 通常のメッシュ/グリッドで「z」を作成します (一般的なインターポレーターは、逆距離、逆二乗距離、加重平均、多項式、クリギング、スプラインなどです)。
- 結果の「グリッド」の輪郭を描く
分析全体を通して柔軟性と制御のために、上記の一連の手順に正確に従うように R をスクリプト化しようとしています。
df は、サンプル データ セットで構成されるデータ フレームです。
wellid property z x y
060010 1 0.008849558 756994.5 2637732
009410 1 0.260162602 760190.9 2622262
009910 1 0.115044248 760898.7 2637466
051110 1 0.109243697 761690.2 2630985
065610 1 0.066666667 763064.1 2620929
011010 1 0.000000000 763089.3 2630888
035210 1 0.022556391 765942.4 2625944
052510 1 0.157894737 767058.1 2650034
006610 1 0.045045045 768265.0 2645318
009010 1 0.378151261 768471.8 2636731
011210 1 0.028776978 771393.8 2629001
064810 1 0.428571429 771394.1 2650776
009110 1 0.064220183 775332.6 2648531
011410 1 0.148760331 778324.8 2633905
065010 1 0.514851485 780480.9 2654874
052410 1 0.173913043 780961.0 2637571
064110 1 0.019417476 781001.5 2650994
009310 1 0.037383178 783904.7 2641130
010810 1 0.041237113 786200.6 2652417
052610 1 0.150537634 788007.5 2654005
対象地域は、以下のように調査地域から決定されます。
xmin <- signif(min(wellcoords$x),4) - 1000
xmax <- signif(max(wellcoords$x),4) +1000
ymin <- signif(min(wellcoords$y),5) - 1000
ymax <- signif(max(wellcoords$y),5) +1000
xrange <- xmax-xmin
yrange <- ymax-ymin
gridint <- 500 # grid interval is set same for xint and yint
値は、それぞれ 754700、791500、26196000、2658600、36800、39000、500 です。
多くの失敗した試行の後 - パッケージから interp() 関数を取得しました - akima は必要な補間を行いました。「不規則なグリッドに等高線をプロットする」の下で回答していただきありがとうございます
fld<- with(df, interp(x=df$x, y=df$y, z=df$z, xo=xcoord, yo=ycoord, linear = FALSE, extrap = TRUE))
これにより、AOI コントロールを必要に応じて指定することができませんでした。パッケージ MBA を使用してみましたが、必要な入力として xy.est パラメーター (グリッド メッシュ) の作成に取り組んでいました。
適切な「グリッド」が生成されれば、ggplot2 およびその他の表示関数は強力で十分です。
適切な「グリッディング」パッケージまたは「ステップ」がありますか。前もって感謝します。