GRASSのv.kernelはどのように使用しますか?


12

GRASSのv.kernelの使用方法に困惑しています。

約250万ポイントのベクターレイヤーがあります。重なったポイント、時には巨大なオーバーラップを持つ変数インスタンスがあるため、v.kernelを使用してヒートマップを作成して濃度を表示したいと思います。

GRASSで既にこのベクターレイヤーを取得していますが、うまく表示されます。

ここや他のフォーラムで見たものに基づいてGRASSのv.kernelコマンドを使用しようとしましたが、単なるピンク色の正方形のラスターを出力する以外には何もできません。

私が使用しているコマンドは次のとおりです。

v.kernel --verbose input=master_grass7 output=master_grass7a_heatmap stddeviation=.0001

標準偏差を1000000から.000001までのあらゆる種類の値に変更しましたが、効果はありませんでした。

v.kernelのドキュメントを繰り返し読みましたが、何が得られているのかよくわかりません。少なくとも、説明は難解な概念に関するものであり、実用的なものではありません。また、ソースコードも確認しましたが、実際には理解していません。はい、Cを読むことができます。問題は、GRASS GISの他の場所で定義されている多くのものに依存していることです。

また、多くのGoogle検索を実行しましたが、包括的なガイドが見つかりません。私が取得しているのは、v.kernelのdoc / manページのコピーが散らばっているか、明らかに大騒ぎせずに動作するようになった人々です。

また、カーネル密度推定(KDE)の概念を確認しましたが、それでもv.kernelコマンドの使用方法がわかりません。このコマンドは、KDEの特定の解釈のようです。そのスイッチは一般的なKDEの概念にうまく対応していないようです。

それでは、ここでの主な質問に戻りましょう。GRASS製品開発に詳しくない人がv.kernelコマンドをどのように使用できますか?利用可能な平易な言語翻訳はありますか?

回答:


9

このv.kernelアルゴリズムは、ラスタマップの各セルのベクトルポイントの密度を計算します。これまでベクトルオブジェクトのみを使用していた場合は、region(範囲だけでなく、ラスター解像度も定義する)適切に設定していない可能性があります。おそらく、region1行1列のみに設定していることになります。は、v.kernelアルゴリズムがマップ全体の単一の値としてのみカーネル密度を計算することを意味します。ラスターマップを使用しない場合、このような領域設定は問題ありません。ベクトルマップは解像度設定を考慮しないためです。お住まいの地域の設定を使用して確認g.region -pし、場合rowscols、1に設定されている使用して解像度を上げます

g.region rows=<number of rows> cols=<number of columns>

または

g.region res=<length>

ここ<length>で、マップ単位の解像度セルの長さです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.