Hirosaji Tech Blog 🍙

Web開発の記事が多め。絵師支援の記事も少し。

QGISで国の形をくり抜いたポリゴンデータを作る

各国のポリゴンデータは、ネット上に沢山あります。
しかし、国の形をくり抜いたポリゴンデータは多分無いです。自作しなければいけません。

f:id:hirosaji:20200915183821p:plain

ちなみに私は、Mapbox Studioで日本列島をマスクするときに、この国の形でくり抜いたポリゴンデータが必要になりました。
この記事では、QGISを使って、国の形でくり抜いたポリゴンデータを作る方法を紹介します。


手順

今回は、日本の形にくり抜いたポリゴンデータを作ってみます。

1. 国のポリゴンデータを取得して、QGISで読み込む

まずは、日本のポリゴンデータを作りましょう。
Natural Earth より、適当な Cultural データをDLしてください。

DLしたzipを解凍し、中にあるshpファイルをQGISで読み込みましょう。

f:id:hirosaji:20200915184935p:plain
QGISでNatural Earthのデータを読み込む

2. 世界地図を塗り潰したポリゴンレイヤーを作る

まず、プロセッシング > ツールボックス を有効にします。
これで右側に表示されたプロセッシングツールボックスから ベクタジオメトリ > 範囲からレイヤを作成 を選びます。

f:id:hirosaji:20200915185909p:plain
世界全体を塗り潰したポリゴンレイヤーを作る

そして、領域 > レイヤの領域を使う で Natural Earth から読み込んだポリゴンレイヤーを指定します。
これを実行すればOKです。

3. 世界のポリゴンデータから日本だけを抽出する

左下のレイヤー欄で Natural Earth から読み込んだポリゴンレイヤーを右クリックし、属性テーブルを開きます。
開いた属性テーブルの編集モード切り替え✏️にて編集を有効にし、日本以外を削除します。

f:id:hirosaji:20200915191325p:plain
属性テーブルの編集モード切り替えで日本以外を削除する

4. 国の形にくり抜いたポリゴンレイヤーを作る

右側のプロセッシングツールボックスより、 ベクタオーバーレイ > 差分 を選びます。

f:id:hirosaji:20200915191914p:plain
差分で国の形にくり抜いたポリゴンレイヤーを作る

入力レイヤには 2. で作った世界全体を塗り潰したポリゴンレイヤーを、オーバーレイレイヤには 3. でも加工した Natural Earth から読み込んだポリゴンレイヤーを指定します。
これを実行すればOKです。

5. 国をくり抜いたポリゴンレイヤーを保存する

左下のレイヤー欄より、4. で作った差分レイヤーを右クリックし、エクスポート > 事物の保存 を選びます。

f:id:hirosaji:20200915193049p:plain
最後にポリゴンデータとして保存する

ここで欲しいファイル形式/ファイル名を設定し、OKボタンを押せば保存完了です。

f:id:hirosaji:20200915194420p:plain
日本だけくり抜かれた世界地図ポリゴンデータ

これでポリゴンデータの完成です。
ぜひ、様々な地図をマスクするのに使ってみてください。

おまけ

私はこのポリゴンデータを、次のMapboxの記事で紹介されるWeb地図の再現に使いました。

再現した日本地図はこんな感じです。
日本だと、ちょっと見た目が微妙ですね😅