1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QGISである地域から最寄の公園の場所を検索する

Posted at

はじめに

自分の住んでいる地域で、最も最寄の何かの距離を調べられたら便利だろうなと考えたため、備忘録的にやり方を残す。

環境

QGISバージョン: 3.34.13-Prizren

データ

e-stat、国土数値情報のHPから、以下のページで地域(番地等)のポリゴンデータ、公園のデータを取得する。
ポリゴン: 統計地理情報システム データダウンロードページ
公園: 国土数値情報ダウンロードサイト 都市公園データ
(ポリゴンデータは国土数値情報にないと思えないが、今回はe-statで見つかったので良しとする。データ元が揃っているほうがより正確ではあると思うが...)

QGISへのインポート

両データとも、ダウンロードすると.shpファイルというものが入っている。それをQGISにドラッグアンドドロップすると、以下のように何丁目などのポリゴンと、公園の位置が記載されたポイントが出現する。
image.png

※ 公園データが、インポートした際に文字化けしていたので、それの解消法も記載
QGIS画面左下「レイヤ」から、公園データのレイヤを右クリック→「プロパティ」を押下→「ソース」から文字コードを「Shift_JIS」に変更。

座標系の修正

座標系(CRS)を修正する(ダウンロードしてきたデータ同士で座標系が違うと、距離が正確に出せないため)

  • まずは、各ファイルのCRSを確認する。ダウンロードしたHPに、JGD2011や、JGD2000、WGS84などと書かれているはず(以下図例)。今回はお試しなので精度は出なくて良いかと、緯度経度座標のWGS84を選択する。

image.png
image.png

  • 各データのCRSを確認し、元の内容と合っているかを確認する。(「プロパティ」「ソース」「設定されたCRS」を確認)

※公園のポイントデータはインポートした際に自動でCRSを設定できていなかったため、CRSの設定を行う。ポイントデータのレイヤを右クリック→「プロパティ」「ソース」→設定されたCRSのオプションボタン→JGD2000と検索し、それを選択→「OK」

  • QGIS上部のバー(「プロジェクト」、「編集」などと書かれているところ)から「プロセシング」「ツールボックス」を押す。
    すると右側にボックスがでるので、そこで「再投影」と検索をかけ「ベクタレイヤを再投影」をクリック。

  • 指定したいレイヤと座標系を選んで実行

ポリゴンの中心点作成

公園との距離を出すのに、ポリゴンデータの中心点がある方がやりやすい。
上部バーの「ベクタ」→「ジオメトリツール」→「重心」を選択。ポリゴンデータのレイヤを選び、実行すると重心点が出力される

中心点と公園との距離測定

公園とポリゴン中心点との距離を測定し、距離が近いtop5を選ぶ機能がQGISには存在する。
プロセシングツールボックスから、「属性の最近傍結合」を選択し、入力レイヤにポリゴンデータの中心点、第2の入力レイヤに公園のレイヤを選択する。「近接地物の個数」に何個の公園データと距離を求めるかを記載(今回は5点)。
実行を押すと、以下のように同一の丁目に対し、それぞれ別の公園名が入っていることが分かる。
image.png
ちなみに、距離の列もあり、以下のように公園が距離順に並べられている。(今回は緯度経度の座標系のため、距離が緯度経度単位となっている。m単位で欲しければ、座標系をJDG2011などのm単位のものに変えると良い)
image.png

以上で作成完了となる。

おわりに

初学者にも分かるよう説明したつもりではいるが、分かりにくいところあれば修正します

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?