ヒートマップを作成するためのグローバルなグリッドのような投影


11

ヒートマップを保存および表示するために使用されるベクトルグリッドを作成する必要があるアプリケーションを作成しています。次の要件があります。

  • 地球全体をカバーできます。
  • グリッドの正方形の大部分には値がありません。
  • グリッド自体を保存する必要はありません。その場で計算したいです。
  • グリッドで使用されるデータの規模は大きく異なる可能性があります。
  • グリッドは、1 kmから100 kmの範囲の正方形にしたいと思っています。(これがいくつになるかは承知しています(1kmで〜510million、100kmで〜51,000))。
  • 値は各グリッドの正方形に対して累積/集約されます。
  • 理想的には、大きなグリッドセル値を保存するのではなく、小さなグリッドセルを使用して、大きなグリッドセルの値を簡単に計算できるようにします。
  • 私はOpenLayersを使用してOpenStreetMapの上にドレープします。
  • SpatiaLiteまたはSQLiteに保存するので、できればネイティブでサポートすることが望ましい(つまり、SpatiaLite =サポートされているCRS、またはSQLite =純粋な数値ベースのシステム)。

だから私の質問は次のとおりです。このグリッドにはどの投影法を使用する必要がありますか?

また、これを設計する良い方法はありますか?誰もがこの問題の潜在的な解決策を知っているか、以前に同様の問題を解決したことがありますか?または、有用な方向に私を向けることができます。

ユースケースの編集 -基本的に、さまざまな形状とサイズの境界ボックスを集約しています。それらは、数ヘクタールから数千平方キロメートルまでのサイズのものです。彼らはまた、異なる予測にあるかもしれません。

以下は、私が大規模に自動的に達成することを目指している種類の特注バージョンです。 ここに画像の説明を入力してください

どうもありがとう。


必ずしも完全または完全な答えとは限りませんが、GoogleがMilitary Grid Reference Systemまたは少なくともUS National Grid fgdc.gov/usngを使用して、これらの組織が少なくとも同様の課題をどのように処理したかのアイデアを得ることができます。繰り返しになりますが、必ずしも完璧ではありませんが、作業の参考になる可能性があります。それが役に立てば幸い。
ジョン14

@John-ありがとう。私は自分の検索でミリタリーグリッドに出くわしましたが、数字だけでなく文字も使用しているため、適切かどうかはわかりません。USNGのものは興味深いように見えますが、私は独自のものを作成しようとはしていません。
GIS-ジョナサン14

1
データの性質とヒートマップの目的に関する情報は、回答に焦点を当てるのに役立ちます。回答は、マップで保持する地理的特性(向き、方位、面積、形状など)によって異なる場合があります(そうする必要があります)。ただし、空間データの再投影は比較的高速で簡単なので、これらの問題を軽視し、代わりにバイアスと精度のより根本的な問題に集中するように導かれる可能性があります。MAUPについてどうする予定ですか。これらのグリッドセルにビン化されたデータから推論を引き出す予定はありますか?なぜベクターデータ構造である必要があるのですか?
whuber

基礎となるデータの空間次元が何であるかを明確にできますか?すなわち、データは基本的にポイントであり、セルにのみ集約されますか、それとも実際に面積ですか?
AnserGIS

@whuber-データは一般的な表現に使用され、空間分析の形式ではありません。したがって、データの大まかな一般化を求めているので、どの地理的特性が保持/失われ、MAUPに関連する特定の好みは関係ありません。OSMタイルのようなものをきちんとオーバーレイするには、グリッドスクエアが必要です。ベクトルに対する私の欲求は、データベースに保存しているため、操作がはるかに簡単だからです。
GIS-ジョナサン

回答:


3

標準のOSMタイルは球状メルカトル図法(SRID = 3857)にあるため、同じ投影法を使用してグリッドを構築するのがおそらく最も簡単です。

SMを使用する場合、OSMがサポートする最高のズームレベル、またはユーザーがズームインできる最高レベルのズームレベルでデータを保存できます。カバレッジがまばらな場合は、次の行に沿ってデータ構造を使用します

XIndex、YIndex、Count

ここで、インデックスは目的のズームレベルでのタイルグリッドへのインデックスであり、カウントはそのタイルと交差するフィーチャのカウントであり、カウントがゼロのポイントのエントリは含まれません。次に、インデックスでカウントを選択するか、低いズームレベルでインデックス範囲でカウントの合計を選択します。クエリが返された場合、指定された領域のカウントはゼロになります。

これはもちろん抽象化です。これとヒートマップレンダラーの間にソフトウェア層があると仮定しています。ヒートマップをどのようにレンダリングするかについての詳細な説明は、より良いアドバイスを与えるのに役立ちます。


3

ヒートマップからセルに保存された値は、多くの場合その面積で正規化されます。この場合、より大規模に簡単に集約できるように、平面積の投影を推奨します


投影面または球面の密度を計算して、このように表示するだけですか?また、長方形のデータを複数のグリッドセルに割り当てる必要がありますか?
AnserGIS

@AnserGIS-計算は投影面で行われます。長方形のデータは複数のグリッドセルをカバーできます。詳細については、編集も参照してください。
GISジョナサン14

2

これは、ヒートマップの設計方法に対する答えです。私の提案はあなたがQuarter Degree Grid Cellシステムを調べることです。QDGCは、特定のエリアをカバーする(ほぼ)等しい面積の正方形を作成して、カバーされるエリアの特定の品質を表す方法を表します。正方形自体は、地球を覆う次数の正方形に基づいています。赤道周辺には360本の縦線があり、北極から南極までは180本の緯線があります。これにより、地球を覆う64800個のセグメントまたはタイルが得られます。正方形の形状は、北に行くほど長方形になります。極では、それらは正方形でも長方形でもありませんが、細長い三角形になります。

グリッドセルは4つに分割でき、結果のグリッドセルは再び4つに分割されます。システムは、予測可能な命名規則をユーザーに提供します。異なるグリッドセルの面積を計算することにより、面積に依存するプレゼンテーションに適しているはずです。 Quarter Degree Grid Cellsの命名法は再帰的です。

より詳細な情報、および他のシステムへの参照は数年前に公開た論文でも入手できます。この規格は、環境情報のためにいくつかのアフリカ地図で使用されています。

さまざまな大陸および国のシェープファイルは、私のブログサイトからダウンロードできます。

特定の緯度より上または下のグリッドセルを2つに分割して、使用時に視覚的に快適なマップ製品を提供できるように、標準を拡張することを考えました。


1
共有してくれてありがとう。面白いアイデア。確かにこれは役に立つかもしれません。私はそれが純粋に数値であるようにそれを変更するのにあまり多くの努力ではないと仮定していますか?つまり、「E」または「N」はありませんか?それはおそらく、特に子午線または赤道でのセルのより簡単で効率的な集約を可能にするでしょう。
GIS-ジョナサン14

文字(テキスト)を保持する理由の1つは、人間が読めるようにすることです。アトラスや人間の参照で使用する場合は、目的を十分に果たします。もちろん、これを使用して、たとえば次の表現を使用することで可能になります:E = 0、W = 1、S = 0、N = 1、A = 1、B = 2、C = 3 and D = 4。Pythonやその他の関連するスクリプト言語で記述されたコードスニペットは、子午線/赤道の課題をわずかなコストで「橋渡し」できるはずです。もちろん、QDGCの操作レベルとデータセットのサイズによって異なります。
ragnvald 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.