Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_CreateRast

Dernière mise à jour :Aug 19, 2026

Crée un objet raster à partir d'un fichier stocké dans Alibaba Cloud Object Storage Service (OSS), un bucket MinIO (Multi-Cloud Object Storage) ou un chemin Hadoop Distributed File System (HDFS). Génère également un objet raster à partir des données contenues dans un tableau unidimensionnel.

Syntaxe

-- Variant 1: Create from a storage path
raster ST_CreateRast(cstring url);

-- Variant 2: Create from a storage path with chunk and interleaving options
raster ST_CreateRast(cstring url, cstring storageOption);

-- Variant 3: Create from a storage path with chunk, interleaving, and import options
raster ST_CreateRast(cstring url, cstring storageOption, cstring createOption);

-- Variant 4: Generate from a one-dimensional array
raster ST_CreateRast(anyarray data, integer width, cstring storageOption, geometry extent);

Paramètres

Variantes 1, 2 et 3 : Création à partir d'un chemin de stockage

Paramètre Type Description
url cstring Chemin du fichier source. Prend en charge les chemins OSS, MinIO et HDFS. Pour plus de détails sur le format des chemins, consultez la rubrique Chemins de stockage d'objets.
storageOption cstring (Variantes 2 et 3) Chaîne JSON qui contrôle le stockage des chunks et l'entrelacement dans la pyramide raster. Consultez les champs storageOption.
createOption cstring (Uniquement variante 3) Chaîne JSON qui contrôle le calcul des statistiques de bande lors de l'importation. Consultez les champs createOption.

Variante 4 : Génération à partir d'un tableau unidimensionnel

Paramètre Type Description
data anyarray Données raster sous forme de tableau unidimensionnel. Le nombre d'éléments doit être égal au produit du nombre de colonnes par le nombre de lignes.
width integer Nombre de colonnes des données raster.
storageOption cstring Chaîne JSON spécifiant les options de stockage des chunks. Le champ chunk_table est obligatoire pour cette variante. Consultez les champs storageOption.
extent geometry (Facultatif) Étendue spatiale 3D du raster, représentée sous forme de géométrie.

Champs storageOption

Champ Type Valeur par défaut Description
chunkdim string Identique à la taille de chunk d'origine Dimensions de chaque chunk au format (width,height,bands), par exemple (256,256,3).
interleaving string bsq Type d'entrelacement de l'objet raster. Valeurs valides : bip (entrelacement par pixel, BIP), bil (entrelacement par ligne, BIL), bsq (séquentiel par bande, BSQ), auto (déterminé automatiquement).
chunk_table string Aucune Nom de la table de chunks. Obligatoire lors de l'utilisation de la variante 4 pour générer un objet raster à partir d'un tableau.
Remarque

Ne modifiez les valeurs par défaut de chunkdim ou de interleaving que si nécessaire :

  • Pour afficher un raster en tant que composite RVB (rouge, vert, bleu) multibande lorsque l'entrelacement actuel est bsq, remplacez-le par bip.

  • Si l'image source contient des chunks de 1×n colonnes mais que vous avez besoin de chunks de 256×256, définissez chunkdim sur (256,256,3).

Champs createOption

Champ Type Valeur par défaut Description
compute_stats boolean false Indique s'il faut calculer automatiquement les statistiques de bande lors de l'importation.
approx boolean false Indique s'il faut utiliser une méthode d'échantillonnage pour calculer les statistiques. Si la valeur est true, les résultats peuvent être approximatifs.
factor integer 4 Facteur d'échantillonnage. Une valeur de n signifie que chaque unité d'échantillonnage couvre n pixels. Ne prend effet que si approx est défini sur true.
exclusive_nodata boolean true Indique s'il faut exclure les valeurs nodata des calculs statistiques.

Description

La fonction ST_RasterDrivers renvoie la liste des types de données pris en charge.

Format d'URL selon le type de stockage :

Chaque type de stockage utilise un schéma d'URL différent :

Stockage Format d'URL Exemple
OSS OSS://<ak>:<ak_secret>@<endpoint>/<bucket>/<path> OSS://mykey:mysecret@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif
MinIO MIO://<ak>:<ak_secret>@<host>:<port>/<bucket>/<path> MIO://mykey:mysecret@10.0.0.1:443/mybucket/data/image.tif
HDFS HDFS://<user_name>@<host>:<port>/<path> HDFS://myuser@10.0.0.1:8020/path/image.tif

Pour les formats multi-ensembles de données tels que NetCDF et HDF5, ajoutez le nom de l'ensemble de données au chemin :

  • NetCDF : image.nc:<dataset>

  • HDF5 : image.hdf5://<group>/<dataset>

Exemples

Créer un objet raster à partir d'un fichier OSS :

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

Créer un objet raster à partir d'un fichier MinIO :

SELECT ST_CreateRast('MIO://<ak>:<ak_secret>@10.0.0.1:443/mybucket/data/image.tif');

Créer un objet raster à partir d'un fichier HDFS :

SELECT ST_CreateRast('HDFS://<user_name>@10.0.0.1:8020/path/image.tif');

Définir les dimensions des chunks et l'entrelacement :

SELECT ST_CreateRast(
  'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif',
  '{"chunkdim":"(256,256,3)","interleaving":"auto"}'
);

Calculer les statistiques de bande lors de l'importation :

SELECT ST_CreateRast(
  'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif',
  '{"chunkdim":"(256,256,3)","interleaving":"auto"}',
  '{"compute_stats":true}'
);

Créer un objet raster à partir d'un fichier NetCDF avec un ensemble de données nommé :

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

Créer un objet raster à partir d'un fichier HDF5 avec un ensemble de données nommé :

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.hdf5://ds/hcc');

Générer un objet raster à partir d'un tableau :

SELECT ST_FixedRid(
  ST_CreateRast(
    ARRAY[10, 11, 8, 12],
    2,
    '{"chunktable":"rbt"}',
    ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326)
  )
);

**Agréger plusieurs enregistrements dans un objet raster à l'aide de array_agg :**

SELECT ST_FixedRid(
  ST_CreateRast(
    (SELECT array_agg(value) FROM point_table),
    300,
    '{"chunktable":"rbt"}'
  )
);

Voir aussi