GDAL is a translator library for raster and vector datasets, there has been a supported TileDB raster driver since GDAL 3.0. You can run the GDAL code as follows:
Here are the supported options of the TileDB driver:
gdalinfo--formatTileDBFormatDetails:ShortName:TileDBLongName:TileDBSupports:RasterHelpTopic:frmt_tiledb.htmlSupports:SubdatasetsSupports:Open() -Openexistingdataset.Supports:Create() -Createwritabledataset.Supports:CreateCopy() -Createdatasetbycopyinganother.Supports:VirtualIO-eg./vsimem/CreationDatatypes:ByteUInt16Int16UInt32Int32Float32Float64CInt16CInt32CFloat32CFloat64<CreationOptionList><Optionname="COMPRESSION"type="string-select"description="image compression to use"default="NONE"><Value>NONE</Value><Value>GZIP</Value><Value>ZSTD</Value><Value>LZ4</Value><Value>RLE</Value><Value>BZIP2</Value><Value>DOUBLE-DELTA</Value><Value>POSITIVE-DELTA</Value></Option><Optionname="COMPRESSION_LEVEL"type="int"description="Compression level" /><Optionname="BLOCKXSIZE"type="int"description="Tile Width" /><Optionname="BLOCKYSIZE"type="int"description="Tile Height" /><Optionname="STATS"type="boolean"description="Dump TileDB stats" /><Optionname="TILEDB_CONFIG"type="string"description="location of configuration file for TileDB" /><Optionname="TILEDB_ATTRIBUTE"type="string"description="co-registered file to add as TileDB attributes" /></CreationOptionList><OpenOptionList><Optionname="STATS"type="boolean"description="Dump TileDB stats" /><Optionname="TILEDB_ATTRIBUTE"type="string"description="Attribute to read from each band" /><Optionname="TILEDB_CONFIG"type="string"description="location of configuration file for TileDB" /></OpenOptionList>
This will create a new TileDB array called <array-name> and ingest the GeoTIFF image as a TileDB 2D dense array with a simple attribute that will store the greyscale value of each pixel. Note that the array name can be an S3 URI path as well. In that case, you would need to create an aws.config file, and add your S3 keys in the following way: