0
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?

OGR2OGRとQGISを使ったShapefile変換の手順

Posted at

OGR2OGRとQGISを使ったShapefile変換

今日は、OpenSourceのツールであるogr2ogrとQGISを使用して、さまざまな地理データ形式をShapefileに変換する方法をご紹介します。

背景:Shapefileの現実

長年地図(データ)屋をやっていますが、Shapefileは今もお客様からニーズがあります。ご存知の方も多いかと思いますが、ファイル名の制限やジオメトリの制約など、いろいろとややこしい縛りがあります。しかし、実際の現場では「やっぱりShapefileが欲しい!」という声が絶えません。クラウドフレンドリーだとかAPIだとか、新しい便利な利用手段が増える中、慣れ親しんだShapefileから逃れられない方がいるのも事実ということのようです。

そこで、時に役立つのがogr2ogrとQGISです。これらのツールを使えば、PBFやFGDBなどのデータでもShapefileに簡単に変換することができます。もちろん、変換が完璧になるわけではないので注意が必要ですが、これを知っておくと非常に便利です。

1. ogr2ogrの紹介

ogr2ogrとは?

ogr2ogrは、GDAL(Geospatial Data Abstraction Library)の一部であり、さまざまな地理データ形式を相互に変換するためのツールです。コマンドラインベースで動作し、数多くのデータフォーマットをサポートしています。例えば、Shapefile、GeoJSON、KML、CSV、PBFなど、幅広い形式からShapefileへの変換が可能です。

ogr2ogrのインストール

Mac

  1. Homebrewを使用したインストール:

    brew install gdal
    
  2. 確認:
    インストールが完了したら、以下のコマンドで確認します:

    ogr2ogr --version
    

Windows

  1. OSGeo4Wを使用したインストール:

    • OSGeo4Wの公式サイトからインストーラーをダウンロードします。
    • インストーラーを実行し、「Express Desktop Install」を選択します。
    • GDALを選択してインストールします。
  2. 確認:
    コマンドプロンプトを開いて以下のコマンドを実行します:

    ogr2ogr --version
    

ogr2ogrを使った変換例

ogr2ogrを使ったShapefileへの変換は以下のようなコマンドで行います:

ogr2ogr -f "ESRI Shapefile" output.shp input.geojson

このコマンドで、GeoJSON形式のデータをShapefileに変換できます。他にも、KMLやCSVからの変換も可能です。
詳しくはGDALのogr2ogrドキュメンテーションなどもご参考ください。

例:GeofabrikのOSM PBFデータをShapefileに変換する

OSMとは: OpenStreetMap(OSM)は、世界中の地理情報を自由に利用できるように提供するプロジェクトです。OSMデータは、地図作成や解析に広く利用されています。Geofabrikでは世界中の地図データを入手することができます。

日本データのダウンロード画面
Screenshot 2025-12-11 at 11.41.32.png

  1. GeofabrikからPBFデータをダウンロード:
    まず、Geofabrikのダウンロードページから必要なOSM PBFファイルをダウンロードします。試しにKantoのデータを取得してみます。

    Geofabrik Download

  2. PBFファイルをShapefileに変換:
    ダウンロードしたPBFファイルを使用して、以下のコマンドでShapefileに変換します:

    ogr2ogr -f "ESRI Shapefile" output.shp kanto-251209.osm.pbf -nlt None
    

    -nlt Noneオプションは、ジオメトリタイプのエラーを回避するために必要です。

    ディレクトリ内でこのようなファイルができました。

    Shapefile Directory

    出来上がったShapefileをQGISで比較してみると以下のようになり、無事変換できていそうです。

    QGIS Comparison左がPBF、右がShapefileです。読み込み上Pointデータだけ比較しています。

2. QGISの紹介

QGISとは?

QGISは、オープンソースのGIS(地理情報システム)ソフトウェアで、ユーザーフレンドリーなインターフェースを持ちながら、強力な機能を備えています。Shapefileの管理や変換に加え、データの視覚化や分析も行えます。

QGISのインストール

  1. QGISの公式サイトから最新のインストーラーをダウンロードします。
  2. インストールを実行し、指示に従ってください。

QGISを使ったデータの管理と変換

QGISを使うことで、さまざまな形式のデータをインポートし、Shapefileにエクスポートすることができます。この流れを以下に示します。

1. GeoJSONやFGDBのインポート

  1. QGISを起動します。
  2. 「レイヤ」メニューから「レイヤを追加」→「ベクターレイヤを追加」を選択します。
  3. 変換したいGeoJSONやFGDBファイルを選択し、「開く」をクリックします。

2. Shapefileへのエクスポート

  1. インポートしたレイヤを右クリックし、「エクスポート」→「新規ファイルに地物を保存」を選択します。

    Export to Shapefile

  2. 出力形式を「ESRI Shapefile」に選択し、保存先を指定します。

    Shapefile Export Options
    文字コードや必要な属性などを設定してください。

まとめ

今回、OpenSourceのツールであるogr2ogrとQGISを使用して、Shapefileの変換と管理方法をご紹介しました。これらのツールを活用すれば、Shapefile以外で受け取ったデータを手元で変換することが可能です。

ただし、フォーマット同士が完全に互換しているかどうかはデータによって変わってきますので、必ず変換したデータが期待したものになっているかなどは確認するようにしてください。場合によっては、OpenSourceのプログラムを活用して自分なりの変換プログラムのカスタマイズを行うことも検討してみてください。

地理データの活用は決して難しくありません!OSSなども活用してより多くの人が様々なデータを活用できるようになると嬉しいです!

0
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
0
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?