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

语法

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

参数

参数名称 描述
chunkTableName 块表的名称,名称必须符合数据库表名的规范。
u​rl 外部文件路径。详情请请参见ST_CreateRast中构建路径的描述。
storageOption JSON字符串,用于指定raster对象的存储信息。
importOption JSON字符串,用于指定导入选项。当前支持参数parallel,可以设置操作并行度,数据类型为Integer,取值范围为1~64。不指定parallel时,使用GUC参数ganos.parallel.degree的值。

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

描述

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

支持的数据类型如下。

名称 全称
BMP Microsoft Windows Device Independent Bitmap(.bmp)
EHdr ESRI .hdr Labelled
ENVI ENVI .hdr Labelled Raster
GTiff TIFF/BigTIFF/GeoTIFF(.tif)
HFA Erdas Imagine .img
RST Idrisi Raster Format
INGR Intergraph Raster Format
netCDF Network Common Data Form
AAIGrid Arc/Info ASCII Grid
AIG Arc/Info Binary Grid
GIF Graphics Interchange Format
PNG Portable Network Graphics
JPEG JPEG JFIF File Format

示例

-- 仅指定外表名称和路径
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}');