Skip to main content

A command line tool to read entwine's convert into Cesium 3DTiles

Project description

entium

A command line tool to read entwine's output and convert it into Cesium 3DTiles.

Installation

Entium supports python 2.7 or greater. To install run: pip install entium Ensure there is an active installation of python on the machine!

Development

To make modifications or install a development version run:

git clone https://github.com/commaai/entium.git
cd entium
pip install .

Command Usage

usage: entium [-h] [-p [PRECISION]] [-c [CONFIG]] [--validate]
              {tileset,tile,both} entwine_dir output_dir

Convert the entwine hierarchy to a cesium tileset

positional arguments:
  {tileset,tile,both}
  entwine_dir           input folder for entwine
  output_dir            output folder for the cesium tilests

optional arguments:
  -h, --help            show this help message and exit
  -p [PRECISION], --precision [PRECISION]
                        precision in meters required to use quantized tiles
  -c [CONFIG], --config [CONFIG]
                        filepath to config file to use advanced features
  --validate            run post-process to validate point precision

Configuration

The average user will not need a configuration file if the intent is to directly convert entwines output into cesium tiles. However, if the goal is to use more component types larger than a scalar many of the configuration options may be helpful. The config is a .json intended to exist within the entwine.json.

Grouping Attributes

Grouping works for both batch table properties and feature table properties. To have grouped component stored as a feature table value instead of batch table use one of the specified names:

  • RGB
  • RGBA
  • RGB565
  • NORMAL
  • NORMAL_OCT16P
  • BATCH_ID

See point semantics for more information about these properties. Its also import to note that the order the items are defined in the array will define the order they exist in the component.

Example 1

RGB will be recognized as a feature attribute and grouped while pose will be recognized and grouped as a batch attribute.

"cesium": {
    "groups": {
        "rgb": [
            "r", 
            "g", 
            "b"
        ], 
        "pose": [
            "poseX", 
            "poseY", 
            "poseZ",
	        "poseW"
        ]
    }
}

Example 2

Single properties can also be renamed. In this example, color is being renamed to rgb565.

    "cesium": {
        "groups": {
            "rgb565": "color"
        }
    }

Batching Table Attributes (Experimental)

Sometimes points have metadata attached to them but that value is representative of some kind of group. This has the potential to reduce data duplication and provide enhanced styling through cesium. Currently the design allows for some attributes to not be in a batch table and rather act as a batch attribute. The hope is sometime in the future both types of batch attributes can be used in unison.

Example

    "cesium": {
        "batched": [
            "id",
            "version"
        ]
    }

Todo

  • Property grouping
  • Support batch properties
  • Support batch tables
  • Add unit testing
  • Only update modified tiles
  • Parallelize conversion to 3DTiles

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

entium-0.1.4.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

entium-0.1.4-py2.py3-none-any.whl (12.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file entium-0.1.4.tar.gz.

File metadata

  • Download URL: entium-0.1.4.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/2.7.14

File hashes

Hashes for entium-0.1.4.tar.gz
Algorithm Hash digest
SHA256 233f39c6b5477e0c6fffd8d5cb7fc9df9deab80c79c7fb77e91f6d046782b0ce
MD5 c0e8edc16c88686595c3a2bae3a602a6
BLAKE2b-256 35d26523a718ac2dd8faf6e40b6b43c8f22f7c5d27be2dbfd74c5ce9f24c91a6

See more details on using hashes here.

File details

Details for the file entium-0.1.4-py2.py3-none-any.whl.

File metadata

  • Download URL: entium-0.1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/2.7.14

File hashes

Hashes for entium-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4b14b4810a97ab041b629a0b59d21a98f5e197ee623d7b14925755ec4fd6888a
MD5 0ca760b5b17ecb1553dd941d9eb3034d
BLAKE2b-256 b0197ee55a11f66c6f40d2b65d59b193a2d3f929f11e4f0d007a13269c15965d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page