3d-tiles icon indicating copy to clipboard operation
3d-tiles copied to clipboard

Need for a new 3dtiles archive format

Open erikdahlstrom opened this issue 4 years ago • 6 comments

In the OWT program, Vricon has identified the need for an archive format for 3dtiles with the following requirements:

  • support for massively parallel writes
  • good search and read performance
  • single file to enable easy data transfer, but also to help file/operating systems that are struggling with many files

The existing 3dtiles sqlite archive format fails to meet the first criteria.

Our proposed solution, now in use in the OWT program, is using a standard zip format container as the basis. With just a few restrictions on what zip features may be used, and adding an index to speed up reading, all the necessary requirements are fulfilled. The file extension selected for this new archive format is *.3tz.

Note that because the container is a valid zip archive, it's possible to unzip the *.3tz and inspect everything inside, using readily available zip tools.

Please see the 3D Tiles Archive Format 1.0.pdf specification document for the details.

A reference implementation, including validation of a *.3tz archive and it's index file can be found on this branch:

  • https://github.com/erikdahlstrom/3d-tiles-tools/tree/add_archive_readers

The code for the *.3tz reader is all here:

  • https://github.com/erikdahlstrom/3d-tiles-tools/blob/add_archive_readers/validator/lib/archive.js

The validator will check to make sure the *.3tz index has all files in it, ensure offsets are correct and some basic checks on the flags set in the zip archive itself.

erikdahlstrom avatar Aug 19 '20 08:08 erikdahlstrom

Related to #89, #399

erikdahlstrom avatar Aug 20 '20 07:08 erikdahlstrom

Support for compression was added in 3D Tiles Archive Format 1.1.pdf.

erikdahlstrom avatar Mar 10 '21 12:03 erikdahlstrom

The restrictions for being entirely self-contained were lifted in 3D Tiles Archive Format 1.3.pdf.

erikdahlstrom avatar Oct 29 '21 12:10 erikdahlstrom

Can a tileset pack into an sqlite file?

onsummer avatar Oct 29 '21 13:10 onsummer

The specification (and copies of the older drafts) have been moved to new repo https://github.com/erikdahlstrom/3tz-specification.

erikdahlstrom avatar Nov 15 '21 16:11 erikdahlstrom

The specification (and copies of the older drafts) have been moved to new repo https://github.com/Maxar-Corp/3tz-specification

bjornblissing avatar Mar 19 '24 09:03 bjornblissing