地図チャート
緯度・経度、ジオハッシュ、ジオコード、GeoJSONを利用して地図上にデータを表示することができます
データ形式
地図チャートでは以下のデータ形式を地図上に表示することができます。
緯度・経度
指定された緯度・経度の位置にオブジェクトを描画します。 緯度・経度はそれぞれ数値型のカラムを指定します。 以下の描画タイプで利用できます。
ピン
バブル
ヒートマップ
フロー
2組(ソースとターゲット)の緯度・経度情報が必要になります
ジオハッシュ
ジオハッシュの形式で指定された位置にオブジェクトを描画します。
以下の描画タイプでは、指定されたジオハッシュの中心点にオブジェクトを描画します。
ピン
バブル
ヒートマップ
以下の描画タイプでは、指定されたジオハッシュの領域を塗りつぶして描画します。 (指定するジオハッシュの精度によって、塗りつぶす領域の大きさが変化します)
メッシュ
ジオハッシュサンプル
以下にジオハッシュのサンプルを示します。
xn
2文字
東京周辺
630km × 500km
xn7
3文字
東京都心部
78km × 78km
xn76
4文字
東京駅エリア
20km × 10km
xn76u
5文字
東京駅周辺
2.4km × 2.4km
xn76ur
6文字
東京駅近辺
610m × 300m
xn76urx
7文字
東京駅付近
76m × 76m
xn76urxk
8文字
東京駅周辺
19m × 9m
BigQuery の使用例
BigQuery では ST_GEOHASH 関数を使用して、緯度・経度のデータをジオハッシュに変換できます。 ジオハッシュに変換することで、緯度・経度を個別に扱うよりも効率的にエリア単位での集計やグルーピングが可能になります。
以下は、BigQuery の ST_GEOHASH 関数を使用して、緯度・経度のデータをジオハッシュに変換する例です。
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ジオコード
ジオコードに紐づく領域を塗りつぶして描画します。 以下の描画タイプで利用できます。
エリア
ジオコードは、以下の形式の文字列で指定してください。
郵便番号の上位2桁(日本のみ)
"JP-POST-"+郵便番号の上位2桁
JP-POST-10
郵便番号の上位3桁(日本のみ)
"JP-POST-"+郵便番号の上位3桁
JP-POST-100
塗りつぶしに使う地理空間データは、以下のデータを加工して軽量化したものです。
全世界の国境データ: Natural Earth
日本国内の境界データ: 「国土数値情報(行政区画データ)」(国土交通省)
郵便番号の境界データ: 郵便番号境界データ(地図地理Sandbox)
なお、ジオコードの形式として有効であっても、上記データに含まれないジオコードは描画できません。
ジオコードサンプル
以下にジオコードのサンプルを示します。 指定可能なジオコードの一覧はジオコード一覧の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形式で指定されたジオメトリデータを地図上に描画します。 以下の描画タイプで利用できます。
ポリゴン
ポリライン
以下のジオメトリ型のJSONを文字列型で指定してください。
PointLineStringPolygonMultiPointMultiLineStringMultiPolygonGeometryCollection
GeoJSONのサンプル
{
"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 形式に変換する例です。
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描画対象のジオメトリデータのサイズが大きい場合、クエリ実行結果のサイズ制限に抵触し、エラーになる場合があります。 その場合、ST_SIMPLIFY 関数を使用して、ジオメトリデータを簡略化してサイズを減らすことができます。 (巨大なジオメトリデータは、描画のパフォーマンスにも影響を与えるため、必要最低限のサイズに簡略化することをお勧めします)
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ページあたりの地図チャートの数が増えすぎないように注意してください
最終更新
役に立ちましたか?

