GISデータの値の大きさに合わせて地図上に表示されるポイントデータの大きさを変化させる方法を説明します。
ポイントデータは地物(地図上に表示された形のこと)が点で表示されるデータです。
この方法を使用すると、例えば会社の位置を示すポイントデータを使用して社員数が多いほど大きい点、少ないほど小さい点で表示させるといったことができるようになります。
今回は国土数値情報から入手した水力発電所のデータを使用して、発電所の最大出力の値に応じて地図上に表示される点の大きさを変化させる方法を紹介します。
QGISのインストール方法は、QGISをインストールして地図を表示する方法で解説していますので、先にこちらの記事を参照してQGISをインストールしておきましょう。
水力発電所のデータをダウンロードする
始めに国土数値情報のページから水力発電所のデータをダウンロードします。
国土数値情報とは国土交通省が運営しているGISデータのポータルサイトで色々な省庁や民間企業等が作成したデータが公開されています。
国土数値情報について知りたい方は、国土数値情報のデータをQGISで表示する手順を画像で解説を参考にしてください。
国土数値情報のページへ行くと様々なGISデータが分野ごとにまとめられています。ここで水力発電所を含む発電施設のデータがダウンロードできます。
発電施設のデータは、「3.地域」分野に含まれます。
分野一覧の「3.地域」を選択すると中央付近に発電施設(ポイント)というリンクがあります。
リンクをクリックするとデータの説明のページに移動します。
説明によると、このデータの出典は電気事業便覧という経済産業省が刊行している図書や、「電気事業者による新エネルギー等の利用に関する特別措置法」(RPS法)の認定設備一覧資料などのようです。また作成年度は平成25年度となっています。
属性情報の説明も記載されており、発電施設の事業者名や施設名、所在地、出力などの情報が含まれていることがわかります。
ページの下の方に行くと作成年度ごとに並んだデータ一覧が表示されるので最新の平成25年と書かれた行のダウンロードマークをクリックします。
すると確認ウインドウが表示されますので、OKをクリックしてダウンロードします。
発電施設のデータをQGISに読み込む
ダウンロードしたファイルを展開すると中には「SHP」と「GML」の二つのフォルダが入っていますので「SHP」フォルダを開きます。
すると以下のように発電施設の種類別に9つのフォルダが入っていました。
今回はこのうち「一般水力発電施設」のデータを使用します。
「一般水力発電施設」フォルダを開くとGISデータ一式が入っていることが確認できます。
このファイルをQGIS読み込みます。
QGISを起動し、メニューバーの「レイヤ」から「レイヤを追加」を選択し、出てくるメニューの中から「ベクタレイヤを追加」を選択します。
ソースに先ほど展開した「一般水力発電施設」フォルダの中にあるshpで終わるファイルを選択します。
そして「開く」をクリックします。元のウインドウに戻ってきたら下にある「追加」ボタンをクリックします
読み込み方法をもっと詳細に知りたい方は以前別のデータを使用して解説したこちらの方法と同じですので参考にしてください。
地図の画面に戻ると地図上に点がたくさん表示されていると思います。これらが一般水力発電施設の位置です。
出力量の値で表示する地物をフィルタリングする
今回は、主にダムを有する水力発電施設である最大出力1000kWより大きい発電所だけを表示します。ダムなどを建設せずに主に河川などの流水をそのまま使用して発電することが多い1,000kW以下の小規模な水力発電は除外します。
ここからは属性値が一定の条件に適合する地物を非表示にする方法を説明します。このように条件に合わせて一部を抽出して表示したり、逆に非表示にしたりすることをフィルタリングと言います。
フィルタリングするための条件式を入力する
地物を属性でフィルタリングするには、読み込んだ発電施設のレイヤ名の上で右クリックして出てきたメニューから「フィルター」を選択します。
すると「クエリビルダ」というウインドウが表示されます。
この画面で表示する地物を抽出する条件を設定できます。
抽出する条件は簡単な数式で指定します。
今回の場合は「出力」の情報を含んだフィールドの値が1000より大きい地物だけを表示したいです。
国土数値情報のダウンロードページに記載されている説明を確認すると、「出力」の情報は「P03_0006」というフィールドに収められていることがわかります。
そのため「P03_0006」が1000より大きい場合のみ地物を表示するように、このような条件を意味する「”P03_0006″>0」という数式を以下の手順で入力します。
まず「出力」の情報を含んだフィールドである「P03_0006」をダブルクリックします。
すると下の「プロバイダ特有のフィルタ式」という欄に「”P03_0006″」が入力されます。
入力された文字列に続けて「0より大きい」を表す式である「>0」を入力して条件式を完成させます。入力方法は以下の通りです。
「”P03_0006″」が入力された状態で「プロバイダ特有のフィルタ式」欄のひとつ上の「演算子」欄にある「>」を選択します。
すると以下のように「”P03_0006″」の右側に「>」が入力されます。
「>」が入力されたら今度はキーボードなどで「0」を直接入力します。
もし、文字が入力できない場合は>の右側をクリックして文字を入力できる状態にします。文字が入力できる状態では以下のように>の右側に入力可能状態を意味するカーソルが点滅します。
0まで入力できたら「OK」をクリックすると元の画面に戻ります。
すると、表示されている地物が先ほどと比べて減少していると思います。出力が1,000kW以下の水力発電が表示されなくなりました。
フィルターされている状態ではレイヤ名の右側にフィルタ―マークが表示されます。
それでは値に合わせて大きさを変更する手順に進みます。
値に合わせてシンボルの大きさを変更する
大きさを変更するには、レイヤパネルにある発電施設のレイヤの上で右クリックをします。
出てきたメニューから「プロパティ」を選択し、表示された「レイヤプロパティ」ウインドウの左にある「シンボロジ」を選択します。
表示される地物(シンボル)の表示方法の設定画面です。
現在は全てのシンボルが単色で同じ大きさの点で表示される設定となっています。
大きさは中央の「大きさ」と書かれた設定欄で変更します。
単純にすべての点の大きさを一律に変更するだけであれば現在2.00000と表示されている数値を別の数値に変更するだけで良いです。2.00000の代わりに直接別の数値を入力するか、右側にある上向きと下向きの矢印をクリックすることで数値を変更できます。
しかし今回は値の大きさに応じて、点の大きさを変更する必要があるのでこの方法では設定できません。
この欄の一番右側にある長方形が縦に二つ並んだような形のアイコンをクリックします。
すると出てくるメニューから「アシスタント」を選択します。
すると「シンボルの大きさ」というウインドウが表示されます。
ここで出力の値に応じて大きさを変えるための設定を行います。
まず、上の「入力」欄の最初にある「ソース」欄の右側にある▼をクリックし、表示される文字列の中から「出力」の情報が含まれるフィールドである「P03_0006」を選択します。
ソース欄にP03_0006が入力されます。
この状態でその右下にある二つの青い矢印が回転しているようなアイコンをクリックします。すると値に応じて点の大きさが自動的に設定されます。
「OK 」をクリックして元の「レイヤプロパティ」ウインドウに戻ります。
ここでもこのまま「OK」をクリックすると地図の画面に戻ります。
すると、地図上の点の大きさが先ほどと異なりバラバラになっていると思います。これは「出力」の値が大きいポイントは大きい点で表示され、小さいポイントは小さい点で表示されています。
シンボルの大きさを調整する
続いて大きさの調整をしてみましょう。
先ほどと同じく「レイヤプロパティ」ウインドウを開き「シンボロジ」の「大きさ」欄の一番右側にある長方形が縦に二つ並んだような形のアイコンをクリックし、出てきたメニューから「アシスタント」を選択します。
今度は先ほど設定した「入力」欄の下にある「出力」欄で設定をします。
「サイズ開始」欄と「終了」欄で点の大きさの最小値と最大値を設定できます。
今回は点の最小値はそのままで最大値をもっと大きくしてみます。
現在「10.00000」と入力されている「終了」欄を「50.00000」と変更します。
「10.00000」を消して直接「50.00000」と入力しましょう。
なお、その下にある「スケール方法」とはシンボルの大きさの変化の仕方の設定で、最初から入っている「フラナリー」は値の大きさとシンボルの大きさの対応が自然に感じられるスケールの設定方法なのでこの設定のままにします。
自然に感じられないスケールの設定とは、例えば値が3倍になったのにシンボルの大きさは2倍にしか感じないといった状況です。
入力できたら「OK 」をクリックして元の「レイヤプロパティ」ウインドウに戻ります。ここでもこのまま「OK」をクリックすると地図の画面に戻ります。
すると先ほどと異なり、点がかなり大きくなりインパクトのある見た目の地図に変わりました。
シンボルを表示する順番を変更する
ここでシンボルの表示順を変更します。
実はこの図は巨大な点によって、その下に配置されたかなりの数の小さな点が隠された状態で表示されています。
なので、大きな点ほど下に表示されるように表示する順番を変更します。つまり、大きな点に小さい点が重なって表示された状態を目指します。
再度「レイヤプロパティ」ウインドウを開き「シンボロジ」の設定画面を表示します。
ウインドウの下の方にある「レイヤレンダリング」という文字列の左側にある▶︎をクリックします。
すると、新たな設定項目が出現します。
新たに出現した設定項目の一番下にある「地物描画順序の制御」の左側にあるチェックボックスにチェックを入れます。
すると、右の方にあるアイコン(A↓Zが縦に並んでいる)に色が付きますのでクリックします。
「順序を定義する」という設定ウインドウが表示されます。
ここではどのフィールドの値に表示順を合わせるかを指定できます。
左側の「式」と書かれた欄の右側にある▼をクリックすると、フィールド一覧が表示されます。今回は、出力の値に表示順を合わせるので「出力」の情報が含まれるフィールドである「P03_0006」を選択します。
フィールド名を選択した段階で2行目が表示されますが気にしなくて大丈夫です。
続いて「式」欄の右側にある「昇順/降順」欄にある▼をクリックし、表示されるメニューから「降順」を選択します。
なお、最も大きい値が一番下で最も小さい値が一番上の順番が降順です。昇順はその逆の順番です。
設定できたら「OK 」をクリックして元の「レイヤプロパティ」ウインドウに戻ります。ここでもこのまま「OK」をクリックすると地図の画面に戻ります。
すると、先ほどから地図上の表示が変化し、大きな点の上に小さなたくさんの点が表示されている状態になりました。
シンボルの色を調整する
最後に色を調整します。
このように値に応じて大きさを変更した状態でも、通常通り色を変化させることができます。
今回使用したデータの「P03_0005」フィールドには運転開始年月日が収められていますので、例としてこの情報に応じて色を変化させます。
再度「レイヤプロパティ」ウインドウを開き「シンボロジ」の設定画面を表示します。
一番上にある選択メニューの右側にある▼をクリックし「カテゴリ値による定義」を選択します。
今度は「値」と書かれた選択メニューの右側にある▼をクリックし、表示される文字列の中から運転開始年月日の情報が含まれるフィールドである「P03_0005」を選択します。
続けて「カラーランプ」と書かれた選択メニューの右側にある▼をクリックし、表示される文字列の中から「Spectral」と書かれた所を選択します。
もう一度「カラーランプ」の右端にある下矢印をクリックし、1番上にあるカラーランプを反転のチェックボックスにチェックを入れます。
元の画面に戻ったら、真ん中の下の方にある「分類」と書かれたところをクリックします。
「OK」をクリックすると地図の画面に戻ります。
すると運転開始年月日の情報に応じて点の色が変化して点の色がカラフルになっています。
今回の設定では運転開始年月日が古いほど青系統の色、新しいほど赤系統の色で表示されています。
なお、今回は色分けできることを説明するため文字列で記録されている設立年月日の情報をカテゴリ値による定義で色分けしましたが、数値情報に変換後に連続値による定義で色分けするのが好ましいです。
まとめ
いかがでしょうか?
今回はGISデータの属性値の大きさに応じてポイントデータの点の大きさを変化させる方法を解説いたしました。
もし、イラストソフトを使用して同様の図面を作成する場合にはかなり作業時間が必要となりますが、GISであればデータがしっかり整理されていれば簡単にこのような表現が可能になります。
今回紹介した以外にも、GISでは情報に合わせて見た目を変化させる方法がいろいろあるので今後紹介していきます。
なお、運転開始年を数値情報に置き換えたデータを使用し、シンボルの見た目をもう少し調整した図面を作成しました。
一番大きな点は群馬県多野郡上野村楢原にある神流川水力発電所です。設計最大出力は282万キロワットで日本最大で世界最大級の揚水発電所です。ただしまだフル稼働はしておらず、6号機まで計画されている発電施設のうち現在稼働運転開始しているのは1号機と2号機の2つということです。
2番目に大きな点は山梨県大月市猿橋町殿上にある葛野川水力発電所です。設計最大出力は160万キロワットで、4号機まで計画されている発電施設のうち3号機以外の3機が運転中です。
3番目に大きな点は宮崎県児湯郡木城町大字石河内にある小丸川水力発電所です。設計最大出力は120万キロワットで、4号機まで計画されている発電施設全てが運転中です。
それでは今回の解説はここまでとなります。
また次回以降よろしくお願いいたします。
使用したデータ
- 国土数値情報「発電施設」
- 国土地理院「白地図」
- OpenStreetMap