今回は『QGIS』を使って、指定の地域でメッシュ状の矩形のデータしバッファで色分けする方法をご紹介します。
使用したQGISのバージョンは『3.14』です。
地図はオルソ画像を使用しています。
例
プロジェクト作成
まずはプロジェクトを作成。
今回は道東の地域でレイヤを作成していくので
プロジェクトのCRSを「EPSG:2455 - JGD2000 / Japan Plane Rectangular CS XIII」に設定して作成します。
作成場所・範囲を決める
場所、範囲が決まったら、QGIS上の画面をその地域のフォーカスに合わせます。
下記の地域に「1km」の範囲で作成していきます。
中心となる起点のポイントを作成
格子状に作成する際の中心ポイントになる、起点ポイントのレイヤを作成。
まずはポイント作成用のレイヤを追加します。
新規シェープファイルレイヤの作成ダイアログにて、下記のように設定。
・任意のファイル名を入力
・ジオメトリタイプに「ポイント」を指定
・CRSにプロジェクトと同様のCRSを指定
※その他設定項目は任意で設定
設定が完了したら「OK」を押下します。
追加したポイントのレイヤにカーソルを合わせ、「編集」>「地点物を追加する」を行い
起点としたい任意の位置にポイントを作成します。
※フィールドの値は任意
ポリゴン作成
作成した起点ポイントを元に、ポリゴンデータを作成します。
「プロセシングツールボックス」>「ベクタジオメトリ」>「長方形・楕円・ダイヤモンド」を選択し
「長方形・楕円・ダイヤモンド」の作成ダイアログにて、下記のように設定します。
・「入力レイヤ」に先ほど追加した起点ポイントのレイヤを設定
・「図形」に「四角形」を指定
・「幅、高さ」に「1000メートル」を設定
※その他設定項目は任意で設定
設定が完了したら「実行」を押下します。
レイヤにポリゴンのベクタデータが追加されます。
追加されたポリゴンのシンポロジから透過率を設定すると、
起点ポイントを中心に「1km(1000メートル)」の範囲で、正方形のポイントが作成されたことが確認できます。
規則的な点群の作成
作成したポリゴンを元に、ポリゴンの範囲内に規則的な配置のポイントレイヤを作成します。
「プロセシングツールボックス」>「ベクタ作成」>「規則的な点群」を選択し
「規則的な点群」の作成ダイアログにて、下記のように設定します。
・「短形範囲」>「Calclate from layer」にて、先ほど追加したポリゴンのレイヤを設定
・「点の間隔」に任意の値を設定(今回は100メートル)
・「出力の座標参照系(CRS)」にプロジェクトと同様のCRSを設定
※その他設定項目は任意で設定
レイヤにポイントのベクタデータが追加され、
地図上にて、ポリゴンの範囲内に「100メートル」間隔の規則的なポイントが表示されます。
バッファの作成
作成した点群からバッファを作成します。
「ベクタ」>「空間演算ツール」>「バッファ」を選択し
バッファ作成のダイアログにて、下記のように設定します。
・「入力レイヤ」に先ほど追加した点群のポイントレイヤを設定
・「距離」に「50メートル」を設定
・「先端スタイル」に「Square」を設定
※その他設定項目は任意で設定
設定が完了したら「実行」を押下します。
レイヤにバッファのベクタデータが追加されます。
追加されたバッファのシンポロジから透過率を設定すると、
点群の各ポイントを中心に、半径50メートルの正方形のバッファが作成されたことが確認できます。
ラベルの設定
各ポイントにそれぞれ名称をつけたいので、ポイントにラベルを設定します。
まずは初めに作成した起点ポイントの位置を分かりやすくしたいので
下記のように、起点ポイントのレイヤに任意の名前でラベルを設定します。
次に起点ポイント以外のポイント(規則的な点群)に番号を割り振りたいので
点群のレイヤにラベルを設定していきます。
※表示する値に「id」を指定していますが、変更したい場合は属性テーブルに新規フィールドを追加する必要があります。
起点ポイントに「id」のラベルを表示したくない場合は、
下記のようにラベル設定にフィルタを行うなどをして非表示にします。
バッファを色分けする
バッファの属性テーブルに入力した内容に応じてバッファの色が変化するように設定を行います。
今回は「OK」「NG」の結果を入力することで、バッファの色が変化するようなフィールドを作成します。
属性テーブルに結果入力用のフィールドを追加したら、下記のようにバッファのシンポロジを設定します。
設定後は属性テーブルに追加した各バッファの結果入力用フィールドに
「OK」「NG」を入力することでそれぞれのバッファの色が変化するようになります。
起点からの距離を表示
起点ポイントから周囲のそれぞれのポイントへの距離を求めたい場合は、起点ポイントのレイヤを選択状態にした後、
プロセシングツールボックスにて「ベクタ解析」>「距離行列(distance matrix)」を選択し
距離行列の作成ダイアログにて、下記のように設定を行います。
・「入力点のレイヤ」に起点ポイントのレイヤを選択し、「選択した地物のみ」にチェックを入れる
・「入力点のIDを示す属性(フィールド)」に「pointName」を指定
※事前にフィールド作成済み
・「ターゲット点のレイヤ」に点群のポイントレイヤを指定
・「ターゲット点のIDを示す属性(フィールド)」に「id」を指定
※その他設定項目は任意で設定
レイヤにマルチポイントのベクタデータが追加され、
起点から周囲の点群レイヤへの距離(Distance)のフィールドが属性テーブルに登録されています。
これをラベル設定にて下記のように設定することで、起点から各点群レイヤへの距離が表示されます。
見ためを調整
最後にラベルテキストの色、サイズ、配置などを調整して完成です。
備考
何故か「0m」と表示されるはずの起点の距離がズームレベルによって値がおかしくなってしまいます。(テーブル上の値は0)
原因が不明のためご存じの方がいればご教示ください。