スキップしてメイン コンテンツに移動

投稿

12月, 2015の投稿を表示しています

QGIS GEOHEX Plugin

NPO法人 オープンコンシェルジュ の松浦です。

この記事は FOSS4G Advent Calendar 2015 の 12/11 の記事でっす。

みなさん GEOHEX ってご存知ですか?
GEOHEX は @sa2da 氏が開発した世界地図を隙間なく敷き詰める六角形(ヘックス)です。

GeoHash やタイルスキーマの六角形版のようなものをイメージしてもらえればいいと思います。

こちらで @sa2da 氏作成のデモが見られます。

GEOHEX の詳しい仕様については公式ページをご参照ください。

で、本題に入りますが、GEOHEX は見た目もかっこいいし、便利に使えると思うので多くの人に使ってほしいのですが、簡単に GEOHEX を作成するようなツールがありません。
GEOHEX を扱うためのライブラリは多くの言語に対して実装されていますが、できることなら GUI でサクッと作りたいですよね。

というわけで QGIS の Plugin にしてみました。
2年前に Python 用のライブラリを書いていたのでそれを使用してやっつけで作りました。
(Python ライブラリもライセンスを定義しないまま放置していたので MIT ライセンスをこの機会に設定・・・)

使ってみよう QGIS にこの Plugin を入れると、下のように緑の六角形のアイコンが追加されます。アイコンがダサいのは許して。
これをぽちっと押すとダイアログが出て、GEOHEX のレベル(サイズ)と作成範囲の元となるレイヤを設定します。

レベルは 0 から数字が大きくなるにつれて GEOHEX のサイズは小さくなります。キャプチャの表示範囲でレベル 9 とか 10 にすると QGIS 様が沈黙しやがりますので注意してください。

作成範囲 (Set extent from:) はレイヤを選択するとそのレイヤを内包する最小の四角形の範囲と重なる GEOHEX がすべて生成されます。リストの最後の "Current Map Window" を選択すると表示されている範囲を六角形が埋め尽くします。やってみよう。



これでレベル 5 です。次にちょうど地図の中央に見えるポイントレイヤー(室蘭市公開のAED設置場所を示すオープンデータ)を内包する範囲で作成します。レベル 9 で!


かなり拡大しまし…