見出し画像

【実習編】非専門家のためのQGIS ~世界地図を描こう~

I. はじめに

前回のnoteではQGISをインストールし、OpenStreetMap(OSM)や地理院地図を表示させました。このような地図配信サービスは、地図を閲覧する分には非常に便利です。しかし、配色や凡例を加工し自分好みの地図をデザインする際には、自由度が低く扱いにくいという欠点があります(※1)。

配色や凡例を自由に設定して地図を作成するには、自分で地理空間情報(GISデータ)を用意し、活用することが不可欠になります。
このnoteでは、GISデータとして世界地図のデータを用意し、それを用いてQGISで世界地図を描画する手順を紹介したいと思います。

※1 2019年7月29日に国土地理院が「地理院地図 Vector」を試験公開しました。このサービスでは道路や鉄道といった各地物の表示/非表示の切り替えや、線の太さや配色といったデザインをユーザ側で設定できます。


II. GISデータの用意

インターネット上で世界地図のGISデータを検索すると、いろいろなWebサイトが見つかります。その中でも、Natural EarthというWebサイトが公開しているGISデータが利用しやすいので、今回はそれを入手します。

1. Natural Earthにアクセス

下のリンク、またはGoogleなどで「Natural Earth」と検索してWebサイトにアクセスします。

---   ---   ---   ---   ---   ---   ---   ---

2. Culturalデータのダウンロード

トップページのメニューに「Downloads」というボタンがあるので、それをクリックしてダウンロードページに進みます。

画像1

Natural Earthでは、3つのscale(スケール、縮尺)のデータが用意されています。Large scale(大縮尺)は海岸線など地図の形状が細かく描かれたデータになりますが、その分ファイルサイズも大きくなります。逆に、Small scale(小縮尺)は、ファイルサイズは小さく扱いやすいですが、地図を拡大したときに描画が粗っぽくなります。
今回は、間を取ってMedium scale(中縮尺)を選択しましょう。真ん中「Medium scale data, 1:50m」のブロックにある「Cultural」をクリックします(※2)。

※2 Culturalには国境や都市域、都市の代表点、空港の位置など社会・経済的な情報を表すベクトル形式のGISデータが含まれています。一方、Physicalには河川や海岸線などの自然に関するGISデータや、経緯線や日付変更線、回帰線など地理学的なデータが含まれています。Rasterは世界の陸地や海底の起伏を描いたラスター形式(画像)のGISデータが提供されていますが、今回は使用しません。

画像2

次のページでは、ダウンロードできるGISデータの一覧が掲載されています。緑色のボックスをクリックするとそれぞれGISデータをダウンロードできます。一番上の「Download all 50m cultural themes」では、このページにある全てのGISデータをまとめたzipファイルをダウンロードできるので、今回はこれを入手します。

画像3

---   ---   ---   ---   ---   ---   ---   ---

3. Physicalデータのダウンロード

ページを1つ戻り、同様にして「Physical」のGISデータもダウンロードします。ダウンロードしたファイルはzip形式で圧縮されているので、展開しておきます。

画像4

今回ダウンロードしたファイルは、シェープファイル(shape file)と呼ばれるGISデータになります。シェープファイルは1990年代にESRI社によって提唱されたベクトル形式のGISデータのフォーマットで、GIS界のデファクトスタンダード(事実上の標準形式)となっています。

シェープファイルは同じ名前の複数のファイルから構成されます。拡張子が .shp、.dbf、.prg、.shxなどがあり、それぞれ図形情報、属性情報、投影情報といった役割を持っています。これら複数のファイルがセットとなって1つのシェープファイルとして認識されます(※3)。
下の図でhtmlとtxtファイルには色を付けていません。この2つはNatural Earthがシェープファイルの説明やバージョン情報を示すために用意したファイルで、シェープファイルを構成するものではないためです。

※3 ファイル名を変更するときは、シェープファイルを構成するすべてのファイルについて名前を変更します。ファイル名が一致していないと、シェープファイルとして認識されなくなります。

画像5

それでは、このシェープファイルをQGISに読み込んでみましょう。


III. QGISでシェープファイルを読み込む

1. Cultural データの読み込み

QGISの「メニューバー」から「レイヤ」→「レイヤの追加」→「ベクタレイヤの追加」を選択しデータソースマネージャを開きます。[Ctrl]+[Shit]+[V]のショートカットキーでも開くことができます。

画像6

データソースマネージャの左のメニューから「ベクタ」が選択されていることを確認し、右の「ソースタイプ」のエンコーディングから「UTF-8」を選択します。また、「ソース」からQGISに読み込むシェープファイルが保存されている場所を選択します。右端のボタンをクリックしてウィンドウを表示させます。

画像7

先ほどダウンロードした「Cultural」データから、「ne_50m_admin_0_countries.shp」を選択します。ウィンドウ右下の対象ファイルの設定を「ESRI Shapefiles」に変更しておくと、対象外のファイルが非表示になるので探しやすくなります。ファイルを選択したら[開く]をクリックし、データソースマネージャの[追加]ボタンをクリックします。

画像8

データソースマネージャを閉じると、シェープファイルが読み込まれ、QGISに世界地図が表示されたことを確認できます。今回読み込んだ「ne_50m_admin_0_countries.shp」は、世界の国境を描いたポリゴン形式のGISデータになります。なお、陸地部分の塗りつぶしの色は自動で決定されるので、下の図と色が異なる場合があります。

画像9

---   ---   ---   ---   ---   ---   ---   ---

2. Physical データの読み込み

同じように、先ほどダウンロードした「Physical」データから、「ne_50m_graticules_30」と「ne_50m_wgs84_bounding_box」も読み込みます。「ne_50m_graticules_30」は30度間隔で引かれた経緯線を表示するラインデータ、「ne_50m_wgs84_bounding_box」は地球の領域を表すポリゴンデータになります。

画像10

---   ---   ---   ---   ---   ---   ---   ---

3. レイヤの表示順を変更

2つのデータをQGISに追加すると、下の図のように世界地図が隠れてしまったと思います。QGISは、PhotoshopやIllustratorなどと同じように、レイヤで描画を管理しています。レイヤパネルで、より上に配置されているレイヤから順にキャンバスに描かれるため、「ne_50m_wgs84_bounding_box」の下に「ne_50m_admin_0_countries」が隠れた状態になっています。
「ne_50m_wgs84_bounding_box」をドラッグして一番下に移動させれば、世界地図が表示されます。

画像11

画像12

---   ---   ---   ---   ---   ---   ---   ---

シェープファイルを読み込む他の方法

上で紹介した「メニュー」から追加する方法の他にも、QGISにシェープファイルを追加する方法が2つあります。ブラウザパネルから読み込む方法と、ドラッグ&ドロップによる方法です。
ブラウザパネルから追加する方法は、OSMを追加した時の方法と同じです。ブラウザパネルからGISデータを保存したディレクトリを表示し、追加したい.shpファイルをダブルクリックします。

画像13

ドラッグ&ドロップする方法は、フォルダの.shpファイルをQGISのウィンドウ上にドラッグ&ドロップするだけです。

画像14

この2つの方法はエンコーディングの設定がありません。そのため、GISデータのエンコード形式と、QGISが自動で採用するエンコード形式が異なると文字化けが発生します。文字化けした時は、「レイヤプロパティ」の「ソース」からエンコーディングを再設定できます。


IV. レイヤの色設定

QGISによって自動設定されたレイヤの配色では見栄えが良くないので、レイヤの色を変更して、地図を見やすいものにしましょう。

1. 海域の色の変更

まず背景色、すなわち海となる部分の色を変更します。「ne_50m_wgs84_bounding_box」レイヤをダブルクリックし、「レイヤプロパティ」を開きます。左のメニューから「シンボロジ」を選択し、シンボルの設定画面に切り替えます。

画像15

続いて、上段の「シンプル塗りつぶし」をクリックしてアクティブにし、下段の「塗りつぶし色」の部分をクリックします。カラーパレットが表示されるので、海っぽい色を選択して[OK]、レイヤプロパティでも[OK]ボタンをクリックし、設定を変更します。

画像16

背景が水色に変更されました。

画像17

---   ---   ---   ---   ---   ---   ---   ---

2. 国別に色分け

続いて、世界の国々も色を変更してみます。
今度は「ne_50m_admin_0_countries」レイヤをダブルクリックし、レイヤプロパティを開きます。そして、「単一シンボル(single)」となっているところをクリックし、表示されたドロップダウンメニューから「分類された(categorized)」を選択します。

画像18

すると、下図のような設定ウィンドウに変更します。「分類された(categorized)」は属性テーブル(※4)の値に基づいて色分けを行う設定モードです。ここで、「カラム」を「NAME_JA」に設定します。「NAME_JA」は国名が日本語で格納されているカラムです。ウィンドウ左下の[分類]ボタンをクリックすると、国ごとに異なる色が自動で割り当てられます(※5)。最後に、[OK]を押してレイヤプロパティの設定を終了します。

※4 ベクトルデータは陸地や経緯線など形を表す図形情報と、国名や面積や座標値といった属性情報が結びついて構成されるデータです。属性情報は一般にテーブル形式で格納されており、それを属性テーブルと呼びます。レイヤパネルからレイヤを右クリックし「属性テーブルを開く」を選択すると属性テーブルを確認できます。
※5 「カラーランプ」から色の割り当てに利用するカラーランプの種類を選択できます。また、「シンボル」に表示されたカラーサンプルをダブルクリックすると、カラーパレットが表示され個別に色を設定できます。先頭のチェックを外すと、その国は非表示になります。

画像19

国ごとに色分けされた世界地図になりました。しかし、ちょっと色がごちゃごちゃしていて見づらいですね。

画像20

色分けの設定で、「カラム」の設定を「NAME_JA」から「REGION_UN」に変更して、[分類]→[OK]として設定を変更したものが下の地図です。「REGION_UN」は国連による地域区分でヨーロッパ、アフリカ、アジアなどの区分で色分けされています。

画像21

---   ---   ---   ---   ---   ---   ---   ---

3. 経緯線のシンボル変更

経緯線の色も変更しましょう。これまでと同じように「ne_50m_graticules_30」レイヤをダブルクリックし、レイヤプロパティを開きます。「シンプルライン」をアクティブにし、「色」や「ストローク太さ」(線の太さのこと)などを変更します。設定が完了したら[OK]ボタンをクリックし、シンボル設定を反映させます。

画像22

下の図は、経緯線の色や太さを微調整しました。ついでに、地域ごとの配色も調整して目に優しい感じに直しました(直し方は※5を参照)。地図をよく見ると、ブラジルのすぐ北にヨーロッパを表す黄色の地域があります。これはフランスの海外地域圏であるフランス領ギニアですね。

画像23


V. 作成した地図の保存

最後に、今回作成した世界地図を他のソフトウェアでも閲覧・加工できるように、QGISで作成した世界地図をファイル出力しましょう。

地図を画像として保存

メニューバーの「プロジェクト」から「インポートとエクスポート」→「地図を画像にエクスポート」の順に選択しクリックします。

画像24

保存時の設定を行うウィンドウが新しく開きます。ここでは、出力範囲や画像サイズ等を設定できますが、今回はデフォルトのままにしておきます。ただし、下図で赤枠で囲まれた3つのチェックボックスについて、チェックを外しておきます(※6)。
[保存]ボタンをクリックすると保存ダイアログボックスが現れます。ファイル名や保存先、拡張子(png、jpegなど)を選んで[保存]を実行します。

※6 ワールドファイルとは画像ファイルが持つピクセル座標と、地図上の座標との対応関係を記述したファイルです。これがあると、画像が地球上のどの位置を表したものかをQGISが認識できるようになります。保存した画像ファイルを再度QGISで利用する際にはワールドファイルを保存すべきですが、今回はQGISで再利用することは想定していないのでチェックを外しておきます。

画像25

---   ---   ---   ---   ---   ---   ---   ---

地図をPDFとして保存

デザイナーやイラストレーターの方にとって、QGIS上で細かなデザイン設定を全て行おうとするのは大変です(※7)。大まかなデザインだけQGISで作成し、ディテールはIllustratorやPhotoshopで作業したいと思うでしょう。そのような時は、PDF形式で出力すると、国境や経緯線などがベクトル形式のまま出力することができ、後の編集作業が楽になります(※8)。

画像を出力した時と同じ要領で、メニューバーの「プロジェクト」から「インポートとエクスポート」→「地図をPDFにエクスポート」の順に選択しクリックします。保存時の設定を行うウィンドウが開くので、「地図をラスタ化する」のチェックを外し、ファイルを保存します。

※7 GISに熟達した人でも、デザイン作業はイラレに逃げたいと思っている人は多いはず…。
※8 ただしレイヤ構成は割と悲惨な状況です。また、オブジェクトのグループ化やクリッピングマスク等が複雑に適用されていることもあります。
果たして、本当に「後の編集作業が楽になります」などと言ってよいだろうか。

画像26

下図は、保存したPDFファイルをIllustratorで開いたものです。アメリカ本土が1つのオブジェクトとして選択されています。

画像27


VI. おわりに

今回のnoteでは、GISデータを入手し、それをQGISに読み込んで世界地図を描くという作業を行ってきました。

世界地図の素材はネット上にもたくさんあります。しかし、地域別に色分けした地図を作ろうとするとかなりの手間です(特に島の塗り作業!)。
QGISでは属性テーブルの情報に基づいて色を割り振ってくれるため、そのような作業が簡単に行えます。

世界地図の作成において、GISの便利な点はこれだけではありません。座標参照系を変更することで、様々な地図の図法(※9)の地図も簡単に描くことができます。

次のnoteではいろいろな地図の図法を使った世界地図の作り方を紹介します。今回の作業の続きとなりますので、プロジェクトファイルを保存して(※10)、QGISを終了してください。

※9 メルカトル図法や、ボンヌ図法、正距方位図法など。
※10 「メニューバー」から「プロジェクト」→「名前を付けて保存」で、現在の作業状態をプロジェクトファイルとして保存できます。プロジェクトファイルは作業状態を復元するための情報が保存されます。すなわち、「どこのファイルを読み込んだ」、「どんな設定を適用した」等の情報が保存されているだけで、GISデータそのものは含まれていません。したがって、プロジェクトファイルを保存しても、元となったGISデータを削除したり保存先を移動したりすると、次にQGISを開いたときに正しく読み込めなくなるので注意が必要です。

記事の内容でもそれ以外でも、地理やGISに関して疑問な点があれば、可能な限りお答えしたいと思います。