Appearance
地図チャート
データ形式
地図チャートでは以下のデータ形式を地図上に表示できます。
緯度・経度
指定された緯度・経度の位置にオブジェクトを描画します。 緯度・経度はそれぞれ数値型のカラムを指定します。 以下の描画タイプで利用できます。








* フローでは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 関数を使用して、緯度・経度のデータをジオハッシュに変換する例です。
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ジオコード
ジオコードに紐づく領域を塗りつぶして描画します。 以下の描画タイプで利用できます。


ジオコードは、以下の形式の文字列で指定してください。
| 粒度 | ジオコードの形式 | ジオコードの例 |
|---|---|---|
| 国 | 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 |
塗りつぶしに使う地理空間データは、以下のデータを加工して軽量化したものです。
- 全世界の国境データ: 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のサンプル
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ページあたりの地図チャートの数が増えすぎないように注意してください