QGISのラインデータからヒートマップを行いますか?


12

属性に基づいて、ラインデータのライン密度分析を実行します。

ヒートマップオプション(カーネル密度分析)は、ポイントデータに対してのみ可能です。

ラインデータをポイントに変換し、ヒートマップを作成しようとしましたが、重量の属性が変換で失われました。

これは、ArcGISで実行される線密度分析です。QGISでも同じことをしようとしていました。

ここに画像の説明を入力してください

QGISで同様の線密度分析を実行することは可能ですか? これはQGISのデータです

回答:


4

DBマネージャー/ SQLite関数を介してQGISでこれを行う方法は見つかりませんが、PostGISでは次のことを行います。

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

これを新しいテーブルにエクスポートすると、線のポイント(PGRoutingの生徒から学校までの場合)が許可されるため、生徒が「取る」ことができるルートのホットスポットを視覚化できます。

ここに画像の説明を入力してください


4

実際、GDAL実行可能ファイルにパラメーターを送信する標準メニューを使用して、QGISで行密度を行うことができます。

-burn -addスイッチを使用してgdal_rasterizeを使用すると、カーネル密度などの検索半径なしで、ラインまたはポイントの密度のラスターが作成されます。ラスタセル内のポイント数またはライン数。

gdal_rasterizeは、メニューの[ラスタ]-> [変換]-> [ラスタライズ]にあります。最後のテキストフィールドで、鉛筆ボタンを押してテキストを変更し、以下のように「-burn 1 -add」を含めます。当然、状況に応じて-tr(解像度)パラメーターと入出力名を変更します。

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l lines C:/lines.shp C:/out_lines.tif

Jukka Rahkonenがgdal_devメーリングリストでヒントをくれました。私はこれを文字通り何年も探していました。

ラスタライズされたラインのラスタセル値については、値が何を表しているのかわかりません。どうやら行数や行の長さではないようです。

gdal_rasterizeを使用した線密度


3

@DPSSpatialからの回答に対する同様のアプローチを使用して、QChainageプラグインを使用して、各行に沿って等間隔のポイントを作成します。

このプラグインはラインに沿ってポイントを生成しますが、ラインから属性を越えてコピーすることはありません。

ここでは、WGS84(4326、緯度/経度)を想定しています。メートル単位の適切な投影法を使用してこれを行うことができます。

  • QChainageを使用して、線に沿ってポイントを生成します(0.05度ごとなど)
  • このレイヤーを0.001度だけバッファリングします。
  • バッファリングされたポイントから元のラインレイヤーまで、空間結合ベクター>データ管理ツール>位置による属性の結合)(「交差」を使用)を実行します。これにより、ポイントはその下のラインから影響値を取得できます。
  • ベクター>ジオメトリツール>ポリゴンセントロイドを使用して、このレイヤーをポイントに変換します

最後に、標準のヒートマップレンダラーを使用します。インフルエンスフィールドを設定して使用することで、必ずウェイトポイントを使用してください。

これで次のようになります。各行に沿った数字は、「影響」値を示しています。

ここに画像の説明を入力してください

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