2017-04-25 38 views
1

いくつかのバージョンの前に、Tableauは、地理情報(または実際にはx-y座標でグループ化された情報)を等しく六角形の単位でグループ化できるように、HexBin関数を導入しました。基礎となる情報が地理的に均一に分散されていないマップを作成する場合に非常に便利です。マップ上に六角形を自動的に作成して六角形を視覚化する良い方法はありますか?

hexbinsの中心点はポイントマップとして直接プロットすることができますが、これは実際に六角形がプレーンをタイルするマップを実際にプロットするほど満足できるものではありません。いくつかのブロガーは、ポイントの代わりにシェイプを使用して、望ましい結果のようなものを作成することを提案しています。 This Tableau bloghex binsを使用しますが、たとえば六角ではない形状を使用してプロットします。 This blogは、カスタム六角形の使用を示唆していますが、六角形の尺度が変化すると(それらの尺度がすべて機能しない場合)、それらを切り取りおよび管理しません。

異なる六角形の密度を許容するマップ上にプロットするために六角形を自動的に作成する良い方法はありますか?

補足的な質問:なぜこの機能でTableauが構築されなかったのですか?六角形が緯度/経度に基づいている場合、地球の形状をどのように調整するのですか?タブローで

+1

これは一見すると思うよりはるかに複雑な作業であることがわかります。 http://tclive.tableau.comで公開されている2016年のTableau会議では、このトピックに関するいくつかの有用なプレゼンテーションがありました。 Sarah Battersbyの動画をご覧ください –

答えて

0

はい、それは動作し、簡単な方法で行うことができ、より複雑な地球の形状を修正する方法

hexbin機能は、六角形の領域にビンに任意のXYデータに生座標の作品。

マップ上では、通常、データは度で表されるLat-Lon座標として表示されます。 Tableauはこのデータを直接プロットすることができますが、通常は幾分ゆがんだWeb Mercator投影(赤道から遠く離れた領域が大きく拡大されています)を使用します。これは、lat-lon上で定義された六角形のビンは等しくない(東西方向の1度は、緯度が高く、赤道から離れているが、南線は常に約111kmです)。

シンプルバージョンはこの歪みを無視し、緯度経座標から六角形を生成します。まず、この単純な手法に基づいた方法を説明します。私はこれを、英国の各郵便番号の場所を含むデータセットに基づいています(さまざまな地域で幅広い密度の2.5m行)。

基本的な方法は、いくつかのステップを含む:

  • が六角形の頂点のための余分なポイントを定義する値を生成六角形
  • の大きさの調整を可能にするパラメータを使用してスケーリング係数を生成します(これは、1から6までの乱数からなるデータセットの各行に値を追加することによって達成されます)
  • ヘックスビンセンターの緯度座標を生成します。
  • 頂点を定義する6つの点を追加します。六角形
  • プロットマップ上の多角形のような六角形(これらは、次いで、基礎となるデータに基づいて、任意の集合体によって着色することができる)ここ

は、ステップバイステップのガイドです。

私は度での六角形の半径を表すパラメータhexbin sizeを定義します。次に六角ビンは、データセットの各列の緯度と経度の値に基づいて、以下のように定義される:

hexbinx formula

hexbiny式も同様です。

データセット自体に1から6の値を含むPointIDというフィールドが含まれています(これを達成する方法は複数ありますが、ランダムを保証するハッシュ関数を含む多くのデータベースがあるため、単純なmod関数で1から6までの数値に変換できる整数の分布)。私は(六角の頂点を定義する助けとするために)PointIDの値に基づいて角度と呼ばれる新しいフィールドを定義します。

angle formula

今私は六角形のポリゴンを定義するためにプロットする必要があるポイントを追加することができます。

plot lat formula

経度は類似している:

plot lon formula

この時点で、データセットには各ヘックスビン内に十分な行が含まれ、各ヘックスビンに1~6のすべての値を持つ行が含まれ、六角形のすべての点が定義されることを保証する必要があります。

六角形をプロットするには、プロットlonおよびplot latフィールドの地理的役割を適切に設定し、それぞれを順番にダブルクリックします。その後、hexbinxとhexbinyを詳細にドラッグし、グラフの種類を自動から多角形に変更します。これは、PointIDをPathにドラッグすることで修正される恐ろしい混乱を与えます。これは、これは(私も六角形と調整色と透明度を着色する行数のカウントを追加しました)与える必要があります:これは、基本的な技術が機能することを示している

simple hexbin map

。しかし、それにも重大な問題があります。六角形のポリゴンは歪んでいます。あなたがこれと一緒に暮らすことができれば(それは赤道の近くの問題ではなく、小さなエリアで問題になることはありません)、それに固執します。

しかし、歪み(視覚的にも、六角形が等しい面積をカバーしていないか)を気にするならば、もっと複雑なことをする必要があります。私が下で説明するのは、TableauのSarah Battersbyの仕事に基づいています。

以下調整が上、いくつかの余分なステップを伴い、簡単な解決策上:

  • 距離
  • に基づいて新しいスケーリングファクタを生成XYに緯度・経度値を変換ベースのWebメルカトルシステムの座標距離緯度・経度度
  • は新しい座標系
  • に距離ない角度を用いhexbinsを生成しないバック緯度・経度に距離ベースhexbins換算hexbinセンター
  • を定義する座標
  • 距離の座標を用いて六角形の頂点を追加し、バック緯度・経度に

変換また、座標変換における変換係数であり、地球の半径のパラメータを追加する必要があります。

これはどのように動作するかです。まずXYへの変換は座標:

mercator x formula mercator y formula

今、私たちは新しい座標上でグループ化をhexbin使用することができます。LAT-経度に戻ってこれらの座標を変換するための

hexbin mercator formula

式です以下のようになります(センターをプロットする場合に便利です):

adjusted hexbin lat adjusted hexbin lon

複雑な緯度の公式であることに注意してください。

プロットしたときに六角形のポリゴンが正しく機能するようにするには、の余分なポイントを追加して、をlat-lon座標に戻す必要があります。変換は、上記の式と同じであり、最終的な式は次のようになり:

plot lat adjustedplot lon adjusted

余分な部分がちょうどhexbin中心座標によりサイズ六角形に基づいに固定された距離を加算しますスケーリング係数(6つの値がAngleの6つの値に基づいています)。

前のポリゴンのプロットと同じようにプロットすると(片付けたときに)それは次のようになります。

adjusted polygon map

今の視覚的な外観と六角形の実際の大きさの両方が優れています。

上記の計算を含むTableau公開ブックの場合see here

PS Tableauは、この機能の大部分を製品に組み込むことができます。これは、便利なテクニックを大幅に簡素化するためです。

関連する問題