GPSトラックからポリラインベースの「ヒートマップ」を作成しますか?


30

この冬、GPSを使用してダウンヒルスキー/スノーボードを追跡する予定です。私のライディングのほとんどは同じリゾートで行われます。特定の領域で実行した実行の量を示す一種の「ヒートマップ」を作成できるようにしたいと思います。データベースにGPSトレースをますます追加するので、私の目標は、最も移動したエリアの一種の線形ヒートマップを表示することです。ダウンヒルスキーの性質を考えると、上り坂のチェアリフトラインは何度も何度も訪れる唯一の場所であるため、「最も暑い」場所になることが予想されます。

1)私のトラックは毎回同じではないこと、2)1回の「走行」でカバーされるエリアは数百フィートの幅があることを考えると、この「線形」データを分析してソートを作成する最良の方法は何でしょうかヒートマップの?私の考えは、ラインをバッファリングし、次にポリを交差させて、一種のベン図を作成することでした。私の好みは、オープンソース技術を使用することです。QGISとPostGISをロードして使用可能にしました。

更新:@ blah238の応答に関して、あるエリアを通るパス(「ラン」)の数を「収集」し、カウントでシンボル化できるものを考えていました。概念的には、これはArcGISの「イベントの収集」(ただし、ポイントではなくラインの場合)または二重線を中心線に折りたたむ(ただし、ほぼ同じ領域の複数のラインの場合)ことに似ています。

同様の概念のより視覚的な例としては、交通量の多い地図が挙げられます。交通量の多いエリアは、「非常に移動しやすい」スキーラン/エリアに相当します。

Googleトラフィックマップ

私はいくつかのアイデアを与えるかもしれない次の質問を読みましたが、彼らは私が達成しようとしていることを実際に扱っていません:

軌跡のクラスタリング((x、y)ポイントのGPSデータ)およびデータのマイニング

GPSルートのエラー管理(理論的枠組み?)


GPXデータを使用すると仮定すると、間隔ごとに緯度/経度の読み取り値を取得するだけなので、既にポイント機能にあるはずです。その上でヒートマップを使用することはできませんか?または、GPX互換デバイスを使用していませんか?
RomaH

あ、あ。私はあなたが望んでいたものを読み違えました。
ロマ

@RomaH、実際には、ラインを使用する代わりにポイントを使用してヒートマップを生成するというアイデアを非常によく理解できます。以前はソースポイントの使用を検討していなかったため、これは間違いなく調査するものです。
ライアンダルトン

あなたは、通りがよく定義されたエッジを持つフィールドを扱っています。ラインモデルを作成する場合は、いくつかのポリゴンオーバーレイ、結合を実行し、point2oneプラグインを使用して、継承された値でラインマップを作成できます。しかし、その後、新しいラインフィーチャを正当化するために、どれだけ遠くからスキーをする必要があるかを決める必要があります。個人的には、ヒートマップソリューションには満足していますが、繰り返しますが、あなたのニーズを認識していません。
RomaH

基本的に同じことを達成するための非常にクールな方法ですが、GPSトラックポイントを使用してヒートマップを作成するこの質問に出くわしました。
ライアンダルトン

回答:


17

ヒートマップレンダリング変換を拡張してポイント以外のジオメトリをサポートすることにより、GeoTools / GeoServerでこれについて少し作業を行いました。

ピザ配達のヒートマップ

まだ終了していませんが、GitHubのリポジトリから機能ブランチを入手できます

スクリーンショットは、私がピザ配達ドライバーとして働いていたときからのGPSトラックです。


まだベクタージオメトリを出力していませんが、より高い値を与えるためにオーバーラップを収集しています。
-smithkm

postgisだけでこの効果を得る方法はありますか?またはqgis?
chrismarx

15

MapBoxTileMillを使用して正確にそれを行うための優れたチュートリアルを次に示します。

スクリーンショット


1
同意しましたが、この概念はほぼ同じであり、どのGISでも簡単に実行できます。しかし、これは基本的に「すべてのトラックを明るい緑のバッファーで赤にする」ことを提案しており、それらはマップ上で目立つでしょうか?視覚効果のために、私は間違いなく働きます。私はもともと、この例で「実行」の「カウント」を示すことができる、より「分析的な」何かを試みることを考えていたと思います。私はそれを熟考し続けます。
ライアンダルトン

@ blah238似たような例を探していました...ありがとうございました!!
スニル

1
@ blah238、もう少し考えた後、あなたは私の最初の質問に対して非常に有効な答えを提供しました。私は自分の考えをもっと明確にすべきだった。ご回答いただきありがとうございます。達成したいことをより正確に反映するように質問を更新しました。私は助けに感謝します。
ライアンダルトン

5

ここに私の簡単なアプローチがあります:

  1. umapに新しいマップを作成します:http ://umap.openstreetmap.fr/en
  2. [データのインポート]をクリックして、すべてのgpxファイルを選択してマップにアップロードします(すべてを一度にインポートできます)
  3. [マップ設定の編集]> [デフォルトプロパティ]を入力し、不透明度0.25、重み10を選択します。

上記の3つの手順には5分かかります。結果は次のとおりです。 ここに画像の説明を入力してください


3

QGISでの私のアプローチは次のとおりです。これは一連のバス路線のためのもので、通過するバス路線の密度が最も高い道路を特定したかったのです。

  • Qchainageプラグインを使用して、行をポイントに変換しました。ラインごとに多くのポイントを生成するまで、さまざまなシナリオをテストしました(ラインごとに1,500、ラインは約9km)。
  • Qgisがスタイルタブに組み込みのヒートマップシンボルレンダリングを適用しました。レイヤープロパティ>スタイル>ヒートマップ
  • 半径と最大値で遊んでください。必ず最高のレンダリング品質を選択してください。
  • 黒と反対側のその他の明るい色から始まる新しいカラーランプ(連続を選択)を作成しました。

そしてほら。

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


2

これは非常に古い投稿であることがわかりましたが、同様の研究を行っていることがわかりました。ArcGISでこれを実現できる非常にシンプルなモデル/ワークフローを開発しました(おそらくQGISですが、まだ実装していません)。

特にGPXまたはTCXファイルがある場合(ポイントファイルは機能します)、Excelで簡単に開いて、CSVに変換してArcGISに取り込むことができます。Points to Lineツールを使用して、ポイントを時間で並べ替えることにより、CSVからGPSポイントを軌跡に変換します(一意の識別子を使用してそれらをグループ化することもできます。 -例、Day1、2など)。これにより、単一のポリラインレイヤーが作成されます(一意のIDでグループ化しない限り)。次に、Split Line at Vertices連続する各ポイント間に線分を作成するツールを使用します。そこからLine Density、指定されたセルサイズと検索半径が指定されたセルを通過する行の数をカウントし、ラスタを出力するツールを使用します。このラスターは、ヒートマップとしてシンボル化できます。

私はこれを頻繁に実装しており、以下にサンプル結果を含めました。

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


それは本当に面白いテクニックのようです。私はこのアイデアを完成したことがないので、これをさらに調査します。古い質問に答えてくれてありがとう!
ライアンダルトン

問題ない!これは、Arc Toolboxの3つのツールだけを使用した非常にシンプルなモデルです。別の方法としては、あなただけ使用して2つのツールに、さらにそれを簡素化できTrack Intervals to Line、およびLine Densityツールを
アンドリュー・ライアン

1

これを使用するには、PGRoutingを使用して生徒を学校にルーティングします。

個々のルートの結果は、一連のノード(オプションで関連するエッジを結合することによりラインに変換されます)の中核になります。

複数の生徒を単一の学校にルーティングする場合、ノードへの出力コレクションは、ヒートマップレンダラーを使用してQGISに表示できます。これにより、収集された学校へのルートの「ホットスポット」が表示されます(以下を参照)。

これらのマップは、交差点、信号、標識など、さらなる安全インフラストラクチャの対象となるエリアを通知するために使用されました。

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


画像を共有してくれてありがとう。私はホットスポットが小さい内で作業かどうかを確認するためにラインの代わりにGPXの頂点を処理しようとするでしょう
RyanDalton

0

グラティキュラーグリッドワークの作成、gpsdataからシェープファイルへの変換、ラインのポリゴン化、テーブルからのx、yポイントデータの抽出、表面密度の作成、またはこの時点での標準プラクティスを使用したヒートマップ。次に、線形ベクトルデータとマージして、ラスターディスプレイでピクセル値を取得したり、さらに数値処理したりできます。


0

ほとんどの人(私を含む)はGPXファイルを見て、それを一連の位置(ポイント)として考えますが、代わりに一連の線分として完全に見ることができます。

問題の定式化には「ヒートマップ」が含まれるため、軌跡を視覚的に検査できます。そのため、プロットエンジンに直接委任することにより、複雑な数値計算の部分をスキップするかなり簡単な方法があります。

「ラインをバッファリングする」と言うと、それはラインの太さです。「パスを収集する」と言うとき、透明な線で何度もプロットすることを意味するため、より多くの色を「構築」します。

そのため、各軌跡を、重なりがあるほど十分な太さの単一のポリラインとしてプロットすることをお勧めします(ズームに依存するため、ピクセルではなくマップ距離で太さを設定する必要があります)。 、たとえば、0.05、黒で。

各セグメントをプロットしないことが重要です。そうすると、それらの端が重なり、不透明度が倍になり、より強い色の「ドット」が作成されるためです。

最終的に、選択したカラーマップを適用できるグレースケール画像が得られます。

おそらくPython / Cairoを使用して実行しますが、Python / Matplotlibは実行し、Html / CanvasまたはHtml / SVG(またはプログラムによるSVG)は確実に実行します。

最終結果は、出力メディアの解像度のみに依存します。


0

これは非常に古い質問であることは承知していますが、この投稿はこのトピックの上位の検索結果の1つなので、この質問に答えるArcGISでポリラインヒートマップを作成するためのワークフローへのリンクを投稿すると思いました。現在、この投稿にはArcGISのソリューションがないためです。

https://luke-webber.github.io/polyline-heatmap/

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