1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QGISを用いた都道府県境データの作成

Last updated at Posted at 2022-02-05

#1 はじめに
趣味で、任意の県/市の境目の経度、緯度情報を必要とするアプリをpythonで作成することになりました。便利なAPIやライブラリ等は見つけることができなかったため、国土交通省によって公開されている行政区画データ(シェープファイル)に基づき、作成することにしました。
GISに関しては全くの素人なので、調べるのに結構時間がかかってしまったが、一都道府県程度であれば、下記やり方で30分程度でpythonによる情報読み込みまで行けると思います。今回は、GIS用のソフトウェア(QGIS)を新たにインストールし、シェーププファイル形式で記録された行政区画データから、都道府県/市境のデータを作成する方法しか調べきれなかったのですが、他により簡単な方法があるかもしれません。

記事作成後の追記:
シェープファイルの扱いに慣れている人は、こちらの記事 のやり方にしたがって、県境/市境のデータを取得後、pyshpを用いて特定の市域、県域情報を抽出する、というやり方の方がてっとり早いと思います。

#2 シェープファイル/QGISとは
シェープファイルとは、地理情報など、GISにおいてベクターファイルを扱うためのファイル形式..らしい。国土交通省などのページでも、行政区画情報がシェープファイルで公開されている。シェープファイルについては、こちらの記事がとても詳しい。QGISは、シェープファイルをはじめとしたGIS情報の表示・編集・分析のためのオープンソースソフトウェア。今回は、シェープファイルを読み込み、特定の都道府県、市町村の抽出、書き出すために使う。

#3 具体的手順

3. 1. 必要な都道府県のシェープファイルのDL, QGISのDL/インストール

今回は、愛知県名古屋市の市境抽出をターゲットとして、国土交通省のページから平成22年版をDLする。
https://nlftp.mlit.go.jp/ksj/jpgis/datalist/KsjTmplt-N03.html#prefecture23

3. 2. QGIS上でフィルタ、dissolve処理

DLした圧縮ファイル内のシェープファイル「.shp」を右クリックし、起動するアプリ選択でQGISを選択し、QGISにファイルを読み込む

  1. レイヤ->属性テーブルの表示し、シェープファイルの中身を確認。N03_001列が県情報、N03_004列が市情報であることがわかる。
    スクリーンショット 2022-02-05 18.42.40.png

  2. レイヤ->フィルタにより、クエリビルダを開き、N03_001列で名古屋市の情報のみをフィルタする。
    スクリーンショット 2022-02-05 22.11.32.png

  3. ベクタ -> 空間演算ツール -> 融合(dissolve)を選択。N03_001列でdissolveする。若干、境界領域にゴミのようなものが残っているが、今回はこのまま残すこととする(解決策は、こちらのブログに記載がある)。
    スクリーンショット 2022-02-05 22.39.33.png

  4. レイヤ -> 名前をつけて保存において、形式をESRI Shapefileとして保存。

3. 3. pythonでシェープファイルの読み込み

pyshpライブラリを用いて上で作った.shpファイルを読み込む。

import shapefile

shape_file = "./nagoya.shp"
sf = shapefile.Reader(shape_file, encoding="latin1")
shapes = sf.shapes()
borders = shapes[0].points #bordersに境界の経度、緯度情報が入っている

他に参考にした記事、ブログ:

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?