Geobuf is a compact binary packing of GeoJSON on Protocol Buffers, created at Mapbox (Vladimir Agafonkin, 2015). It encodes the same objects as GeoJSON but typically 6–8x smaller thanks to varint, coordinate delta encoding, and a key dictionary; decoding returns an equivalent GeoJSON losslessly. It is a transport layer for mobile maps, edge CDN caches, and IndexedDB storage, not an analytical format. Our exporter builds a FeatureCollection from the OSM layers and encodes it into real protobuf .pbf with 6-digit precision (~0.1 m). Important: the format is honest — if encoding fails the export errors out, we do NOT substitute gzipped GeoJSON under a .pbf name.
主な機能
Geobufフォーマットについて
Geobuf solves one problem: the same GeoJSON, but many times smaller. Instead of text — Protocol Buffers; instead of repeating property names — a dictionary of keys; instead of full coordinates — the differences between neighboring points, written as variable-length numbers. The meaning of the data does not change, only the packing does.
This is a transport format. It is taken when data has to be delivered: into a mobile app over a weak network, onto a CDN node, into a browser's offline storage. Computing statistics or editing features in it is awkward — for that it is first decoded back into GeoJSON.
The file contains a single FeatureCollection with all the selected layers, encoded as genuine protobuf. Coordinates are rounded to six decimal places, which is about ten centimeters on the ground — more than enough for city-level detail. OpenStreetMap attributes are preserved.
There is no substitution: if the encoding fails, the export ends with an error. Handing you a gzipped GeoJSON under a .pbf extension would be easier, but such a file would not decode with the geobuf library — and so would be useless.
Geobufファイルを開けるプログラム
次のプログラムおよびアプリケーションは、OSM2CDRからエクスポートしたGeobuf (Protobuf-encoded GeoJSON)(.pbf)ファイルを開き、編集し、利用できます:
Format specifications
- Open standard
- 2D only
- Lossless (no quality loss)
- Stores feature attributes
- Output: 1 file
- Real protobuf .pbf encoding a GeoJSON FeatureCollection at 6-digit precision (~0.1 m); honest guarantee — real Geobuf or an error, never a gzipped-GeoJSON substitution.
Geobuf地図を利用するユーザー
Geobufのエクスポート方法
エクスポート後の開き方
- JavaScript — npm install geobuf pbf, then geobuf.decode(new Pbf(buffer)) returns ready GeoJSON that you can hand straight to Leaflet or Mapbox GL.
- Python — pip install geobuf, then geobuf.decode(open("map.pbf", "rb").read()); after that it is ordinary GeoJSON work or loading into GeoPandas.
- A mobile app — the file goes into the resources or is pulled from the server: decoding takes a fraction of a second, and the traffic is several times smaller.
- Offline in the browser — the decoded result is convenient to keep in IndexedDB and redraw the map with no network.
- Just to take a look — decode it into GeoJSON and drag it onto geojson.io: no viewer will show the .pbf itself.
Geobufの人気地図
Geobuf (Protobuf-encoded GeoJSON)の地図エクスポートを入手
OpenStreetMapからプロフェッショナルなGeobuf地図をダウンロード。即時生成、任意の範囲に対応。