kepler.gl でGAJのデータをお手軽に可視化する
前提
- WALS Online みたいなことが、方言文法全国地図(GAJ)でもできたらいいなあと思った。例えば、ズームできたり、クリックすると地点情報が出てきたり、フィルタがかけられたりしたらなんだか嬉しい。
- kepler.gl というUberが公開しているオープンソースでコード書き不要のWebGISがあり、ちょっといじったら簡単に作れたのでご紹介。とりあえず下の動画のようなものが作れるようになります。
やり方
(1) 大西拓一郎先生のサイトからデータをダウンロード*1
- 方言文法全国地図 全データより、
- 「第1~6集全データ」(GAJ_all_unicode_202102.zip)→①
- 「調査地点情報」(GAJ_ALL_PointProperty.zip)→②
- 方言の宇宙 - GIS MEより、
- 「GAJ調査地点の経度・緯度」(gaj_all_points_v3.zip)→③
(2) 「経度」「緯度」「見出し」「回答語形」あたりが揃ったファイルをCSVで作る
- GAJのデータ①には地点名や緯度・経度そのものが記載されていないので、②③から地点の情報を呼び出してきたい。
というわけでExcel上で、①の「地点番号」をキーにして、VLOOKUPなどで②の都道府県・調査地点名など(これは任意)、③の経度・緯度(これは必須)を呼び出す。このとき、経度・緯度の列名はそれぞれ longitude, latitude にしておくと、勝手に認識してくれて便利。
- なお、③のテキストデータをそのまま貼り付けると「022896」は自動で「22896」になってVLOOKUPがマッチしないので、TEXT関数で0埋めするなどして対処する。
- (参考:数値の先頭の桁を0で埋めて桁揃えする - Excelの使い方)
(3) 保存したCSVをkepler.gl にアップする
- Get Started → Load Files して、緯度・経度をそれぞれ Lat, Lon に結びつけると、とりあえず地図上にマッピングされる。
- が、これだけだと色が単色なので、Fill Color のオプション(︙)で、Color Based On を、「見出し」や「見出しコード」列と結びつける。
- と、見出しの種類に応じて色を分けてくれる。
- 色数やカラーパレットをいじってできあがり。
その後
- Filter タブからフィルタが使える。すごい。
- アイコンも自分で設定できるが、デフォルトのアイコンしか使えないようなので(参考)、これの元になっている deck.gl をいじれるようになれば、公開されている記号と組み合わせてジェネリックGAJが作れるかも。
- 個人的には特に赤と茶色の違いがわからなくて困ることがあるので、部分的にでも「アクセシビリティの高いGAJ」が作れると嬉しい。
発展編
- 同じポイントの場合は上のレイヤーのものしか表示・選択できないようなので、ちょっと工夫して重ねてみる。
- ここでは、
- 「雨が」「先生が」「泥棒が」の3つのデータを別々に読み込み、
- いずれも同じカラーパレット・色数で、
- Color Based On を見出しコードにして、
- Radius(マークの半径)をそれぞれ10, 20, 30にしてみた。
- 仮に同じ形式に同じ見出しコードがついているとすると、主格に立つ雨・先生・泥棒を別形式でマークする場合に、色の違う円が表示されることになる。
- が、コードがそういう設計になっているかは分からないので、自分でラベルを付けるほうがいいだろう。
- 「この要素にこの色」はこっち側では選択できないのかな?
参考
雑記
- 最近XLOOKUPの存在を知ったけど逆に覚えられない
- アウトプットの期間が終わったのでぼちぼちやっていきます