创建一个基于阿里云对象存储服务(OSS)、MinIO和HDFS的raster对象,或者从用户指定一维数组表示的栅格对象生成raster对象。
语法
raster ST_CreateRast(cstring url);
raster ST_CreateRast(cstring url, cstring storageOption);
raster ST_CreateRast(anyarray data , integer width, cstring storageOption, geometry extent);
参数
参数名称 |
描述 |
url |
OSS影像文件的路径。更多信息,请参见对象存储服务路径。 |
storageOption |
基于JSON格式的字符串,描述raster对象金字塔的分块存储信息。 |
data |
一维数组表示的栅格对象。该数组长度为栅格的列数与行数的乘积。 |
width |
栅格列数。 |
extent |
geometry类型表示的空间范围(可选)。 |
storageOption支持的参数如下:
参数名称 |
描述 |
类型 |
格式 |
默认值 |
说明 |
chunkdim |
分块的维度信息 |
string |
(w, h, b) |
从原始影像中读取分块大小 |
无 |
interleaving |
交错方式 |
string |
无 |
bsq |
必须是以下一种:
|
chunk_table |
写入chunk_table名称 |
string |
无 |
无 |
在使用一维数组生成raster对象功能中必须指定。 |
说明
在通常情况下无需修改分块和交错信息,仅在特殊场景下需要修改,例如:
-
需要多波段RGB组合浏览,但是默认值为bsq(波段交错) ,需要修改为bip(像素交错)。
-
某些影像的分块大小为1行*n列,但是访问请求为256行*256列的规则块,需要修改为按照访问请求的大小。
描述
支持的数据类型请通过ST_RasterDrivers函数获取。
示例
-- 基于OSS存储,指定accessID,accessKEY,endpoint
Select ST_CreateRast('OSS://:@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');
-- 基于MinIO,指定host和port
Select ST_CreateRast('MIO://:@10.0.0.1:443/mybucket/data/image.tif');
-- 基于HDFS,指定user_name
Select ST_CreateRast('HDFS://@10.0.0.1:8020/path/image.tif');
-- 指定分块与交错方式
Select ST_CreateRast('OSS://:@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(256,256,3)","interleaving":"auto"}');
-- 指定具有Subset的NetCDF对应的影像
Select ST_CreateRast('OSS://:@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');
-- 指定具有Subset的HDF5对应的影像
Select ST_CreateRast('OSS://:@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.hdf5://ds/hcc');
-- 从数组生成raster对象
select ST_CreateRast(ARRAY[10, 11, 8, 12],2,'{"chunktable":"rbt"}',ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326));
-- 通过array_agg多条记录聚合生成raster对象
select ST_CreateRast((select array_agg(value) from point_table), 300, '{"chunktable":"rbt"}');
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/156372.html