Skip to content

地図チャート ​

地図チャートは、地図上にデータを表示します。位置の指定方法として、緯度・経度、ジオハッシュ、ジオコード、GeoJSON を利用できます。データ形式ごとに使える描画タイプが異なります。

データ形式 ​

地図チャートでは次のデータ形式を地図上に表示できます。

緯度・経度 ​

指定された緯度・経度の位置にオブジェクトを描画します。 緯度・経度はそれぞれ数値型のカラムを指定します。 以下の描画タイプで利用できます。

Map Pin
ピン
Map Pin
ピン
Map Bubble
バブル
Map Bubble
バブル
Map Heatmap
ヒートマップ
Map Heatmap
ヒートマップ
Map Flow
フロー
Map Flow
フロー

* フローでは2組(ソースとターゲット)の緯度・経度情報が必要になります。

ジオハッシュ ​

ジオハッシュの形式で指定された位置にオブジェクトを描画します。

以下の描画タイプ(緯度・経度と同様)では、指定されたジオハッシュの中心点にオブジェクトを描画します。

  • ピン
  • バブル
  • ヒートマップ
  • フロー

以下の描画タイプでは、指定されたジオハッシュの領域を塗りつぶして描画します。 (指定するジオハッシュの精度によって、塗りつぶす領域の大きさが変化します)

Map Mesh
メッシュ
Map Mesh
メッシュ

ジオハッシュサンプル ​

以下にジオハッシュのサンプルを示します。

ジオハッシュ精度位置の例領域サイズ(約)
xn2文字東京周辺630km × 500km
xn73文字東京都心部78km × 78km
xn764文字東京駅エリア20km × 10km
xn76u5文字東京駅周辺2.4km × 2.4km
xn76ur6文字東京駅近辺610m × 300m
xn76urx7文字東京駅付近76m × 76m
xn76urxk8文字東京駅周辺19m × 9m

BigQuery の使用例 ​

BigQuery では ST_GEOHASH 関数を使用して、緯度・経度のデータをジオハッシュに変換できます。 ジオハッシュに変換することで、緯度・経度を個別に扱うよりも効率的にエリア単位での集計やグルーピングが可能になります。

以下は、BigQuery の ST_GEOHASH 関数を使用して、緯度・経度のデータをジオハッシュに変換する例です。

sql
SELECT
  ST_GEOHASH(ST_GEOGPOINT(longitude, latitude), 6) AS geohash,
  COUNT(*) AS station_count
FROM
  `bigquery-public-data.new_york_citibike.citibike_stations`
GROUP BY
  geohash
ORDER BY
  station_count DESC

ジオコード ​

ジオコードに紐づく領域を塗りつぶして描画します。 以下の描画タイプで利用できます。

Map Area
エリア
Map Area
エリア

ジオコードは、以下の形式の文字列で指定してください。

粒度ジオコードの形式ジオコードの例
国2文字の国コード
(ISO3166-1、大文字)
JP
都道府県(日本のみ)"JP-"+2桁の都道府県コード
(JIS X 0402)
JP-13
市区町村(日本のみ)"JP-"+5桁の市区町村コード
(JIS X 0402)
JP-13101
郵便番号の上位2桁(日本のみ)"JP-POST-"+郵便番号の上位2桁JP-POST-10
郵便番号の上位3桁(日本のみ)"JP-POST-"+郵便番号の上位3桁JP-POST-100

塗りつぶしに使う地理空間データは、以下のデータを加工して軽量化したものです。

なお、ジオコードの形式として有効でも、上記データに含まれないジオコードは描画できません。

ジオコードサンプル ​

以下にジオコードのサンプルを示します。 指定可能なジオコードの一覧はジオコード一覧のCSVファイルを参照してください。

ジオコード名称
USアメリカ合衆国
JP日本
JP-01北海道
JP-02青森県
JP-03岩手県
JP-01100札幌市
JP-01101札幌市中央区
JP-01102札幌市北区
JP-01103札幌市東区
JP-01202函館市
JP-01203小樽市
JP-01204旭川市
JP-POST-10〒10X-XXXX
JP-POST-100〒100-XXXX

GeoJSON ​

GeoJSON形式で指定されたジオメトリデータを地図上に描画します。 以下の描画タイプで利用できます。

Map Polygon
ポリゴン
Map Polygon
ポリゴン
Map Polyline
ポリライン
Map Polyline
ポリライン

以下のジオメトリ型のJSONを文字列型で指定してください。

  • Point
  • LineString
  • Polygon
  • MultiPoint
  • MultiLineString
  • MultiPolygon
  • GeometryCollection

GeoJSONのサンプル ​

json
{
  "type": "Polygon",
  "coordinates": [
    [
      [-73.9812, 40.7681],
      [-73.9581, 40.7681],
      [-73.9581, 40.8007],
      [-73.9812, 40.8007],
      [-73.9812, 40.7681]
    ]
  ]
}

BigQuery の使用例 ​

BigQuery では ST_ASGEOJSON 関数を使用して、ジオメトリデータを GeoJSON 形式に変換できます。 以下は、bigquery-public-data.geo_us_boundaries.counties テーブルの county_geom カラムを GeoJSON 形式に変換する例です。

sql
SELECT
  * EXCEPT (county_geom),
  ST_ASGEOJSON(county_geom) AS county_geom
FROM
  `bigquery-public-data.geo_us_boundaries.counties`
WHERE
  state_fips_code = '36'  -- New York

描画対象のジオメトリデータのサイズが大きい場合、SQL実行結果のサイズ制限に抵触し、エラーになる場合があります。 その場合、ST_SIMPLIFY 関数を使用して、ジオメトリデータを簡略化してサイズを減らすことができます。 巨大なジオメトリデータは描画のパフォーマンスにも影響を与えるため、必要最低限のサイズに簡略化してください。

sql
SELECT
  * EXCEPT (county_geom),
  ST_ASGEOJSON(ST_SIMPLIFY(county_geom, 1000)) AS county_geom
FROM
  `bigquery-public-data.geo_us_boundaries.counties`
WHERE
  state_fips_code = '36'  -- New York

利用上の制限 ​

地図チャートはWebGLを利用して地図を描画しているため、以下の制限があります。

  • WebGLを使えないブラウザでは描画できません
  • WebGLのコンテキスト数の制限により、多数の地図チャートを同時に描画しようとすると、先に描画したチャートの表示は破棄される場合があります
    • 再描画すれば再表示されますが、1ページあたりの地図チャートの数が増えすぎないように注意してください