# writers.tiledb

Implements TileDB 1.4.1+ reads from an array.

Dynamic Plugin

This stage requires a dynamic plugin to operate

Streamable Stage

This stage supports streaming operations

## Example

    [
        {
            "type":"readers.las",
            "array_name":"input.las"
        },
        {
            "type":"writers.tiledb",
            "array_name":"output_array"
        }
    ]

## Options

array_name

  TileDB array to write to. [Required]

config_file

  TileDB configuration file [Optional]

tile_data_capacity

  Number of points per tile [Optional]

x_tile_size

  Tile size (x) in a Cartesian projection [Optional]

y_tile_size

  Tile size (y) in a Cartesian projection [Optional]

z_tile_size

  Tile size (z) in a Cartesian projection [Optional]

chunk_size

  Point cache size for chunked writes [Optional]

compression

  TileDB compression type for attributes, default is None [Optional]

compression_level

  TileDB compression level for chosen compression [Optional]

append

  Append to an existing TileDB array with the same schema [Optional]

stats

  Dump query stats to stdout [Optional]

filters

  JSON array or object of compression filters for either coords or attributes of the form {coords/attributename : {“compression”: name, compression_options: value, …}} [Optional]

where

  An expression that limits points passed to a writer. Points that don’t pass the expression skip the stage but are available to subsequent stages in a pipeline. [Default: no filtering]

where_merge

  A strategy for merging points skipped by a ‘where’ option when running in standard mode. If `true`, the skipped points are added to the first point view returned by the skipped filter. If `false`, skipped points are placed in their own point view. If `auto`, skipped points are merged into the returned point view provided that only one point view is returned and it has the same point count as it did when the writer was run. [Default: `auto`]

By default TileDB will use the following set of compression filters for coordinates and attributes;

    {
        "coords":[
            {"compression": "bit-shuffle"},
            {"compression": "gzip", "compression_level": 9}
        ],
        "Intensity":{"compression": "bzip2", "compression_level": 5},
        "ReturnNumber": {"compression": "zstd", "compression_level": 75},
        "NumberOfReturns": {"compression": "zstd", "compression_level": 75},
        "ScanDirectionFlag": {"compression": "bzip2", "compression_level": 5},
        "EdgeOfFlightLine": {"compression": "bzip2", "compression_level": 5},
        "Classification": {"compression": "gzip", "compression_level": 9},
        "ScanAngleRank": {"compression": "bzip2", "compression_level": 5},
        "UserData": {"compression": "gzip", "compression_level": 9},
        "PointSourceId": {"compression": "bzip2"},
        "Red": {"compression": "rle"},
        "Green": {"compression": "rle"},
        "Blue": {"compression": "rle"},
        "GpsTime": [
            {"compression": "bit-shuffle"},
            {"compression": "zstd", "compression_level": 75}
        ]
    }