从一个OSS文件导入到数据库。

语法

raster ST_ImportFrom(cstring chunkTableName, 
                     cstring url, 
                     cstring storageOption default '{}',
                     cstring importOption default '{}');

参数

参数名称 描述
chunkTableName 块表的名称,名称必须符合数据库表名的规范。
u​rl 外部文件路径。详情请请参见ST_CreateRast中构建路径的描述。
storageOption JSON字符串,用于指定raster对象的存储信息。
importOption JSON字符串,用于指定导入选项。

storageOption参数说明如下。

参数名称 类型 默认值 说明
chunking boolean true 是否使用分块存储。
chunkdim string 与原始数据一致 分块的维度信息。格式为:(w, h, b)。
说明chunking=true时,本参数才生效。
compression string lz4 压缩算法类型。取值如下:
  • none
  • jpeg
  • zlib
  • png
  • lzo
  • lz4
  • snappy
  • zstd
  • jp2k
quality integer 75 压缩质量。只针对jpeg和jp2k压缩算法生效。
interleaving string 与原始数据一致 交错方式。取值如下:
  • bip : Band interleaved by pixel
  • bil : Band nterleaved by pixel
  • bsq : Band Sequential
blockendian string 'NDR' 块存储字节序。取值如下:
  • NDR:little endian
  • XDR:big endian
celltype string 与原始数据一致 像素类型。取值如下:
  • 1bb :1 bit
  • 2bui:2bit unsigned integer
  • 4bui : 4bit unsigned integer
  • 8bs : 8bit signed integer
  • 8bui : 8bit unsigned integer
  • 16bsi : 16bit signed integer
  • 16bui : 16bit unsigned integer
  • 32bsi : 32bit signed integer
  • 32bui : 32bit unsigned integer
  • 32bf : 32bit float
  • 64bsi : 64bit signed integer
  • 64bui : 64bit unsigned integer
  • 64bf : 64bit float
importOption参数说明如下。
参数名称 类型 默认值 说明
mapping_oss_file boolean false 是否将OSS上文件映射为内存文件。
说明 栅格数据读取时部分驱动未对OSS存储的数据进行优化,会产生大量小数据量请求导致性能较低。此参数可以将OSS完整映射为内存对象从而提升性能。文件总大小由GUC参数ganos.raster.memory_oss_file_max_size设置。
parallel integer 使用GUC参数ganos.parallel.degree的值。 设置操作并行度。取值范围为1~64。

描述

函数将创建一个raster对象,并将外部OSS文件导入到该对象中。

支持的数据类型请通过ST_RasterDrivers函数获取。

示例

-- 仅指定外表名称和路径
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- 指定具有Subset的NetCDF对应的影像
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

-- 导入时指定分块大小与压缩类型
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(128,128,3)", "compression":"none"}');

-- 导入时指定并行度
Select ST_ImportFrom('chunk_table','OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc', '{}', '{"parallel": 4}');