こんにちわ。Patheeの廣瀬です
世界の行ったところを塗りつぶすサービスExplorState
を、
GeoChart(Google Chart Tools)
を使って作ってみました
今回はこのサービス作成の際に得られたGeoChartのTipsなどを紹介していきます
ExplorState is 何
https://explorstate.makoll.com/
私の訪問履歴
世界中で旅行した場所を自治体単位で塗りつぶしてドヤるサイトです
都道府県だと経県値さん、国だと色々(MapColoとか)ありますが、
世界の自治体単位のものがなかったので作りました
GeoChart
Google様謹製のチャートライブラリGoogle Chart Tools
の機能の一部で、
データを食わせると簡単に地図を塗りつぶしてくれます
https://developers.google.com/chart/interactive/docs/gallery/geochart
このライブラリはGoogle Analytics向けに作られたものをライブラリ化したようで、
データの範囲やクリックイベントが仕込める場所などが一緒です
(analyticsの地図)
簡単な使い方や日本地図・世界地図を描画するサンプルは日本語文献でもそれなりに出てきますが、
もうちょっと突っ込んだ使い方をご紹介したいと思います
region
Chartのoptionに指定するregionには、エリアを示すコードを入力します
コードの種類によって四段階で範囲の表示が変わります
世界
null or "world" (どちらを使っても表示は一緒)
大陸
亜大陸
国
詳細はContinent Hierarchy and Codesを参照
クリックイベントと組み合わせて、範囲を徐々に絞って表示していくなどの表現ができます
data (地域コード)
大陸、亜大陸、国のデータは上記のContinent Hierarchy and Codesを見れば、塗りつぶす先のデータが分かります
では、自治体の地域コードは?
アメリカのアラスカだと"US-AK"、日本の北海道だと"JP-01"などですが、
先ほどのContinent Hierarchy and Codesには見当たりません
このページのエリアコードがリンクになっているので飛びます
アメリカだとこんなWikipediaのページに飛びます
さらにこのページからもう一つリンクに飛ぶ必要があります。ISO 3166-2:USの部分です
これでようやく自治体の地域コードを手に入れることができました。お疲れ様です
僕のサービスでは存在する全ての国家のデータを、Wikipediaをめぐって手に入れました
日本語で情報が欲しい場合は、URLのenをjaにすると良いです
https://en.wikipedia.org/wiki/ISO_3166-2:US
↓
https://ja.wikipedia.org/wiki/ISO_3166-2:US
ただし、日本語情報は古いことがあります
日本ではトップレベルの自治体、つまり都道府県の追加・合併・廃止などは沖縄返還を最後に50年近く行われていませんが、
世界ではままあるようです
また、GeoChartの方も更新についていけていないようで、
こうやって集めてもうまく表示されない自治体があります。
その他にもデータには色々苦労があったのですが、それはまたの機会に