GeoJSONを操作・QGISソフトでレイヤーの頂点を測定する

GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する

この記事は、GeoJSONになった地理データ。実際頂点ってどのくらいあるんだろ?に答えます。

地理データを扱う上で使いやすいフリーのQGIS。QGISを使って頂点数の調べ方を紹介します。

QGISとは

QGISは、地理情報システムの閲覧、編集、分析機能を有するクロスプラットフォームのオープンソースソフトウェア・GISソフト。
QGISはキュージーアイエスと呼び、旧称:Quantum GIS。

無料でありながら、有料・高額なGISソフト(代表的なものはArcGIS)に近い機能・操作性を備え、機能の追加も無料のプラグインで行うことが可能。

GISソフト:地理情報システム(英語:geographic information system(s)、略称:GIS)。地理情報および付加情報をコンピュータ上で作成・保存・利用・管理・表示・検索するシステム

ライセンス

GNU GPLで頒布されており、利用者が使用目的に合わせて自由に修正することができる。

例えば、QGIS BrowserとQGIS Serverの機能はデータの取得やレンダリングの際に同じコードにより動作するが、現在はインターフェースが異なっている。
このように多くの拡張プラグインが利用可能である。

QGISセットアップ

QGISダウンロードサイトより対応するプラットフォームのバイナリパッケージをダウンロードしセットアップします。
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する

頂点数比較

前回調査した国土交通省国土政策局国土情報課が提供する国土数値情報のデータの圧縮データを比較します。

D3.jsでWebに地図を描く【TopoJSON作成・Toposimplify圧縮比較】
Webに地図を描くにはD3.jsがおすすめ。D3.jsで使用するJSONファイルの作成方法及び快適に使用する為にファイル圧縮を行うToposimplifyコマンドによる画像劣化の検
READ MORE..

QGISソフトでは、TopoJSON形式では読み込めない為、GeoJSON形式に変換します。

TopoJSON→GeoJSON形式へ変換する

前回インストールしたtopojsonライブラリの「topo2geo」コマンドを使用して各圧縮ファイルをGeoJSON形式に戻します。

$ topo2geo sample=input.geojson < output.topojson

※GeoJSON作成時にオブジェクト名「sample」を指定していることが前提です。sampleキーワードは適時置換えしてください。

頂点数調査結果

下記紹介の調査方法で、愛知県の頂点数結果を紹介します。

前回調査はファイルサイズでの圧縮率でしたが今回は、地名などのプロパティ値を含まない為、純粋なポイント圧縮は係数に比例することがわかります。

係数(-P) 頂点数【圧縮率】
【元データ】 230,073 【100.0%】
【0.75】 180,812 【 78.6%】
【0.50】 126,645 【 55.0%】
【0.25】 68,618 【 29.8%】
【0.10】 30,972 【 13.5%】
【0.05】 17,910 【 7.9%】

QGISでの頂点数調査方法

実際にQGISソフト(ver3.4)を使用して頂点数を確認する方法を記載します。

QGISでは、【点】・【ライン】・【ポリゴン】を操作できます。
GeoJSON形式のポリゴンレイヤーから頂点レイヤを生成し数を算出します。 

主な手順

  1. 1.基本データとなるGeoJSONをベクタレイヤとして追加する
  2. 2.ベクタのジオメトリーツールで頂点レイヤを追加する
  3. 3.頂点レイヤのプロパティ値を確認する

GeoJSONをベクタレイヤとして追加する

1)「レイヤ」メニュー→「レイヤの追加」→「ベクタレイヤの追加」をクリックします
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する-ベクタレイヤの追加

2)「データソースマネージャ|ベクタ」画面にて、GeoJSONファイルを選択して「追加」ボタンをクリックします。
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―データソースマネージャでソースJSONを選択

3)QGISソフト内に読み込みファイル名のレイヤが追加されます。
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する-基本レイヤの読み込み完了

ジオメトリツールで頂点レイヤを追加する

4)「ベクタ」メニュー→「ジオメトリツール」→「頂点の抽出」をクリックします
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―ジオメトリツールで頂点の抽出をクリック

5)「頂点の抽出」画面にて「実行」ボタンをクリックします
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―頂点の抽出画面で実行

6)「頂点の抽出」画面にて、実行結果を確認し「閉じる」ボタンをクリックします
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―頂点の抽出画面で処置完了

頂点レイヤのプロパティ値を確認する

7)追加された頂点レイヤのコンテキストメニューより「プロパティ」をクリックします。
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―頂点レイヤのプロパティメニュー

8)「プロパティ」画面の「地物数」を確認します。
GeoJSONを操作【QGISソフト】レイヤーの頂点を測定する―頂点レイヤのプロパティ画面

参考サイト

作成にあたり、下記の記事を参考にさせて頂きました。

【北海道地図株式会社】超初心者向けハンズオン講座 「ゼロから始めるQGIS」

まとめ

QGISソフトは地図データを扱う上で非常に機能豊富なソフトです。

D3.jsとの組み合わせにより、リッチな地図情報も表示することが可能です。

D3.jsで利用できる地理データを実際に作ってみて検証してみたいと思います。

QGISソフトの使用方法なども随時更新していきたいと思います。

Follow me!