[OSM-dev] visible-Flag in PBF

Christian Vetter veaac.fdirct at gmail.com
Sat May 7 03:24:50 BST 2011

On Sat, May 7, 2011 at 3:58 AM, Scott Crosby <scott at sacrosby.com> wrote:
> Yes, but via a different mechanism. Create a new blob type:
> 'OSMInvisibleHistoryData', it will contain a serialized ordinary PrimitiveBlock
> message. In this block you'll place invisible nodes/ways/relations. Standard
> readers will see this block and skip right past it. Your reader will feed it to the
> normal pbf decoder function and have it mark those entities as invisible. You'll
> want to indicate these files with a new optional_feature 'ContainsInvisibleHistoryData'.

I like the idea. You can heave InvisibleNodes / InvisibleWays /
InvisibleRelations / InvsibleDenseNodes blobs. Their encoding  /
.proto would be exactly the same as for the normal blobs. Readers not
interested in the data can skip invisible objects, existing readers
would always skip them ( they do not recognize the blobs ).

> What else do people want to consider putting in? Anything else that would
> help in recording history? Consider adding LZMA? Someone want to run a test?

A small wish list ;-)
 - dense ways / relations
 - optional feature: ordered ( nodes -> ways -> relations ); actually
some readers already assume this
 - if ordered: position of first node / way / relation block
 - optional feature: polygon / bbox used to filter the data set
 - name / id / url / ... of the data set?
 - include .proto definitions in the file format? -> self describing;
might be of interest of we ever break compatibility; or if you want to
read PBF files that were extended by a writer and don't want to hunt
down the definitions

With regard to LZMA: I have some C++ code lying around to compress /
decompress LZMA... I can test how much it would affect file size /
decoding speed.


Christian Vetter

More information about the dev mailing list