FAILURE: Unable to open datasource `〜〜.pbf’ with the following drivers.が発生した際の解決方法

やろうとしていたこと

ogr2ogrを使用しpbfファイルをgeojsonに変換しようとしていた。

 

※ogr2ogrとは

GDAL(Geospatial Data Abstraction Library)ライブラリの一部として提供されている、地理空間データを異なるフォーマット間で変換するためのコマンドラインツール。

 

実際のコマンド⇩

ogr2ogr -f "GeoJSON" output.geojson output.pbf

 

エラー発生

 

上記のコマンドを実行すると、以下のエラーが発生。

 FAILURE: Unable to open datasource `output.pbf' with the following drivers.

 -> `FITS' -> `PCIDSK' -> `netCDF' -> `PDS4' -> `VICAR' -> `JP2OpenJPEG' -> `PDF' -> `MBTiles' -> `BAG' -> `EEDA' -> `OGCAPI' -> `ESRI Shapefile' -> `MapInfo File' -> `UK .NTF' -> `LVBAG' -> `OGR_SDTS' -> `S57' -> `DGN' -> `OGR_VRT' -> `REC' -> `Memory' -> `CSV' -> `NAS' -> `GML' -> `GPX' -> `LIBKML' -> `KML' -> `GeoJSON' -> `GeoJSONSeq' -> `ESRIJSON' -> `TopoJSON' -> `Interlis 1' -> `Interlis 2' -> `OGR_GMT' -> `GPKG' -> `SQLite' -> `ODBC' -> `WAsP' -> `PGeo' -> `MSSQLSpatial' -> `OGR_OGDI' -> `PostgreSQL' -> `MySQL' -> `OpenFileGDB' -> `DXF' -> `CAD' -> `FlatGeobuf' -> `Geoconcept' -> `GeoRSS' -> `GPSTrackMaker' -> `VFK' -> `PGDUMP' -> `OSM' -> `GPSBabel' -> `OGR_PDS' -> `WFS' -> `OAPIF' -> `SOSI' -> `Geomedia' -> `EDIGEO' -> `SVG' -> `CouchDB' -> `Cloudant' -> `Idrisi' -> `ARCGEN' -> `XLS' -> `ODS' -> `XLSX' -> `Elasticsearch' -> `Walk' -> `Carto' -> `AmigoCloud' -> `SXF' -> `Selafin' -> `JML' -> `PLSCENES' -> `CSW' -> `VDV' -> `GMLAS' -> `MVT' -> `NGW' -> `MapML' -> `TIGER' -> `AVCBin' -> `AVCE00' -> `HTTP'

どうやらPBFが開けない…?らしい。

 

確認したこと

PBFが存在せず開けない?

対象のPBFを別階層に置いてきたと思ったがそんなことはなかった。

 

GDALがopenstreetmap(OMS)形式のPBFをサポートしていない?
ogrinfo --formats

“OSM” はあり、pbfはサポートされている状態。

 

GDALのバージョンが低く不具合出てる?

以下コマンドでアップグレードさせたが問題なし。

# パッケージリストをアップデート
sudo apt-get update

# GDALをアップグレード
sudo apt-get upgrade gdal-bin

 

解決策

コマンドのファイル指定方法を間違えていただけ。

ogr2ogr -f "GeoJSON" output.geojson output.pbf

のような直接pbfファイルを引数に指定するのではなく、

ogr2ogr -f "GeoJSON" output.geojson pbffolder/14

などpbfが入っているfolderを引数にしてあげると動いた。

そもそもの使い方が違ったみたい。