从一个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 | 压缩算法类型。取值如下:
|
quality | integer | 75 | 压缩质量。只针对jpeg和jp2k压缩算法生效。 |
interleaving | string | 与原始数据一致 | 交错方式。取值如下:
|
blockendian | string | 'NDR' | 块存储字节序。取值如下:
|
celltype | string | 与原始数据一致 | 像素类型。取值如下:
|
描述
函数将创建一个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}');