从一个OSS、MinIO或HDFS文件导入到数据库。
语法
raster ST_ImportFrom(cstring chunkTableName, 
                     cstring url, 
                     cstring storageOption default '{}',
                     cstring importOption default '{}');参数
| 参数名称 | 描述 | 
|---|---|
| chunkTableName | 块表的名称,名称必须符合数据库表名的规范。 | 
| url | 外部文件路径。详情请参见ST_CreateRast中构建路径的描述。 | 
| storageOption | JSON字符串,用于指定raster对象的存储信息。 | 
| importOption | JSON字符串,用于指定导入选项。 | 
storageOption参数说明如下:
| 参数名称 | 类型 | 默认值 | 说明 | 
|---|---|---|---|
| chunking | boolean | true | 是否使用分块存储。 | 
| chunkdim | string | 与原始数据一致 | 分块的维度信息。格式为:(w, h, b)。 说明 当chunking=true时,该参数才生效。
                                  | 
| compression | string | lz4 | 压缩算法类型。取值如下: 
 Default:lz4 | 
| quality | integer | 75 | 压缩质量。只针对jpeg和jp2k压缩算法生效。 | 
| interleaving | string | 与原始数据一致 | 交错方式。取值如下: 
 | 
| blockendian | string | 'NDR' | 块存储字节序。取值如下: 
 | 
| celltype | string | 与原始数据一致 | 像素类型。取值如下: 
 | 
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}');