wwt_data_formats.plate Module

The “plate” container formats for binary files.

“Plate files” are used in some parts of WWT to assemble large numbers of small files into one big file. In particular, most of the original core WWT tile data assets are compiled into plate files.

There are three variants of the plate file format. The oldest variant (let’s call it V0) needs external information in order to be read correctly and is not yet supported here.

The next version (let’s call it V1) has an eight-byte header followed by all file location information in a fixed structure. Offsets are 32 bits, and so the total file size is limited to 4 GiB. The densely-populated header is not efficient for sparsely-populated tile pyramids. The reference implementation for the V1 format is in PlateTilePyramid.cs.

The last version (V2) uses a hash table format. The V2 format is more efficient for sparsely-populated tile pyramids, and supports files that are (much) larger than 4 GiB. The reference implementation for the V2 format is in PlateFile2.cs. The V2 format is used by WWT’s HiRISE data.

Classes

V1PlateReader(stream)

Reader for the "V1" WWT plate file format.

V1PlateWriter(stream, levels)

Writer for the "V1" WWT plate file format.