問題タブ [r-raster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R 土地利用のラスターを比較
ラスター パッケージを使用して、ASCII ファイルに変換したテキスタイルを表示しています。
ggplot2 を使用して地図を表示するのに問題はありません。私が持っているマップには、グリッド 506 * 608 が含まれています。各グリッド セルには、それに関連付けられた値があります。これは、x 座標と y 座標と共にマップに含まれる唯一の情報です。
R で次のコードを使用してマップを表示しました。
マップの各グリッド セル値は、エージェント ベースのシミュレーションでシミュレートした多数のエージェント (0 から 20,000 の範囲) によるその場所での移動量に対応します。つまり、エージェントがマップ上のどこに移動したか、どのエリアが最も頻繁に使用されているかを知りたいので、グリッド セルの値が高いほど、エージェントによって使用されています。
それぞれがまったく同じ座標系を持ちますが、各ラスター マップでエージェントの動き (およびグリッド セルの値) の分布が異なります。各マップを比較して、エージェントの動きが統計的に異なるかどうかを示したいと考えています。マップ。
これは可能ですか?
ありがとう
r - ラスターの並列分類
nb.mdlモデルとラスター スタックを使用して R でいくつかのラスターを分類したいのinStkですが、クラスター エラーがあります。
clus.classif(inStk, nb.mdl, "test.tif") のエラー: クラスタ エラー
それがどこから来たのか、何か考えはありますか?
r - NA 値を持つ R のラスターを集約する
R には解像度 1 km のラスターがあり、NA 値が全体に広がっていますが、位置が不規則です (つまり、データを含むセルが連続しておらず、NA 値が全体に散らばっています)。このラスターを ({raster} パッケージの aggregate() コマンドを使用して) たとえば、5km の解像度 (factor=5) で、ユーザー定義関数 (以下に含まれる) を使用して集約しようとしています。今のところ、ラスターに連続した 5x5 セル領域がない限り、aggregate() (またはそれが問題の場合は関数) を取得して結果値を提供する方法を理解できません。言い換えれば、集計ウィンドウが 5x5 のセル領域にヒットし、たとえばデータ値を持つ 5 つのセル (20 個の NA セル) しかない場合でも、それらの 2 つのセルの平均値を返す必要があります。関数と aggregate() コマンドの両方の na.action オプションを変更しようとしましたが、うまくいきませんでした。
実際の例がなくて申し訳ありませんが、R 内で同様のサンプル ラスター レイヤーを生成する方法がわかりません。
これが私の循環平均関数です:
そして、これが私が使用している集約コードです(「角度」は、NA値が全体に散らばった1kmのラスターです):
ただし、これは、5x5 ウィンドウのすべてのセルに値が含まれる集約された場所でのみ値を持つラスター レイヤーを返します。
r - Rの大きなdata.tableを50列ごとにサブセット化し、文字行のモードを見つける方法
18050 列の data.table があります。テーブルを 50 列ごとにサブセット化し、文字を含む "myrowname" のモーダル結果を見つける必要があります。私が今していることは次のとおりです。
これはもちろん機能しますが、data.table をサブセット化するためのより迅速な (おそらくより高速な) 方法があるかどうか疑問に思っています。
サブセット化する行だけでいくつかのサンプル データを編集します。これで十分かどうか教えてください。
r - SpatialPolygonDataFrame を使用して RasterLayer をトリミングする
パッケージ 'maptools' のデータによって提供される世界地図の国境に従ってトリミングしたいラスター グリッドがあります。crop()いくつかの再検索を行うことで、関数を使用してから関数を使用する必要があることがわかりましたmask()が、エラーメッセージが表示されます。
これが私のコードです:
r - 範囲と解像度が異なるラスターから別のラスターへの値の取得
気候値のラスター レイヤー 'w_wgs' を取得しました。反対側では、空のラスター「グリッド」を作成しました。「w_wgs」に格納されている値を空のラスター グリッドに割り当てたいと考えています。merge()、overlay()、over() を試しましたが、これらは機能しません。
これどうやってするの ?これらの 2 つのラスターの範囲も解像度も同じではないと仮定します (もちろんセルの数も同じではありません)...しかし、両方とも同じ CRS (WGS84) を持っています。
ここで、私の2つのオブジェクトの説明:
r - ランダム フォレスト モデルを使用した新しいデータの予測速度の向上
ランダム フォレストを使用して種分布モデルを生成しています。これらのモデルは、さまざまな環境属性を条件として、種の発生確率を予測しようとします。ほとんどの種について、潜在的な予測因子の初期セットは 10 から 25 の間であり、各予測因子は 460,000,000 セルの GIS ラスター ファイルによって表されます。ここでは説明しませんが、トレーニング データの性質上、実際にはデータのサブセットに基づいて複数の RF モデル (約 10 から 100 以上) を構築し、それらを組み合わせて各種の全体的なモデルを作成しています。 . 実際にモデルを構築するのにかかる時間は比較的短いですが (通常、数分以内)、予測関数を使用して、このモデルに基づいて予測される確率のラスター レイヤーを生成するのに 20 時間以上かかる場合があります。
もう少し詳細を提供するには... トレーニング済みのモデルを取得したら、ラスター パッケージを使用して、予測レイヤーを表すレイヤーのラスター スタックを作成し、そのスタックを予測します。ラスターパッケージ。私は適度に強力なデスクトップ (Core i7、3.5 GHz、32 GB の RAM を搭載) を使用しており、入力および出力ラスター ファイルはローカル ハード ドライブ上にあり、ネットワーク経由では移動していません。randomForest を使用してモデル生成を高速化するための役立つ提案が記載された mbq の回答をここで見ました。予測操作を高速化するための同様の提案を探しています。考えられることはいくつか考えられる(たとえば、並列処理用のライブラリの 1 つを使用して、より少数のツリーを成長させる)、時間の許す限りこれらをテストする予定ですが、問題のほとんどが読み書きのボトルネック。何か提案があればよろしくお願いします。
r - R を使用して大きな csv ファイルをラスター レイヤーに変換しようとするとメモリの問題が発生する
地理的なラスター マップの大きな CSV ファイル表現があります。42011 列 x 18510 行、ディスク上で約 10GB です。このファイルは、元のラスターを 6 つのストリップに分割し、それぞれを処理し、結果のマトリックスをオーバーラップ加算法を使用して csv ファイルに追加する、FFT 関数を使用した畳み込みの出力として作成されました。
R パッケージの raster を使用して、結果をラスターファイル タイプ (ESRI bil、GeoTIFF など) に書き戻そうとしています。CSV ファイル内の各数値は、ラスターの対応するセルにマップされます。
R でこれを行う明白な方法は次のとおりです。
ただし、マトリックスを作成しようとしている段階で、PC のメモリが不足しています。
コンピューターは、16 GB の RAM を搭載した 64 ビット R を実行しています。
これまでに試したことは次のとおりです。
bigmemory - ラスター関数は入力として big.matrix を受け取ることができるため、これは有望に見えましたが、パッケージは現在 Windows では利用できません。
ff - これまでのところ、このパッケージの機能を完全には把握していませんが、現在、data.table から ff オブジェクトを取得する方法がわかりません。その方法があるかどうかもわかりません。それからラスターレイヤーに取得します。
スパース マトリックス(パッケージ "Matrix" を使用) - CSV はおそらく 50% 以上の 0 です。ただし、現在、ディスクから疎行列として読み取る方法や、data.table から疎行列に取得する方法を考え出すことはできません。その後、ラスターに到達できるかどうかはわかりません。
私は R に最も精通していますが、Python の実用的な知識と ArcGIS へのアクセスも持っています。質問がここと gis.stackexchange のどちらが優れているかはわかりませんが、主にプログラミングの問題のようです。どんな提案もありがたく受け取った!