Qu'est-ce que le type de stockage ST_Raster ?
ST_Raster est un type de données défini par l'utilisateur. Il est stocké sur une seule ligne, dans une seule colonne de type d'objet ST_Raster dans une table définie par l'utilisateur. ST_Raster offre la prise en charge complète des géodatabases, ainsi qu'un accès SQL aux données raster. Vous pouvez ainsi, à l'aide de votre système de gestion de base de données (SGBD), écrire des applications SQL permettant de lancer et d'utiliser des opérations et des requêtes raster.
ST_Raster est pris en charge dans les bases de données Oracle, Microsoft SQL Server et PostgreSQL. Il n'est pas pris en charge dans SQL Server Express.
Pour utiliser le type ST_Raster, vous devez le configurer dans le SGBD. Reportez-vous aux rubriques Installation du type ST_Raster dans Oracle, Installation du type ST_Raster dans PostgreSQL ou Installation du type ST_Raster dans SQL Server pour en savoir plus.
Le type d'objet ST_Raster est défini comme suit :
CREATE TYPE ST_Raster AS OBJECT (
raster_id INTEGER,
type INTEGER,
extent SE_EXTENT,
properties SE_RASTERPROPERTY_LIST,
rasterband_list ST_RASTERBAND_LIST
data ST_PIXELDATA);
Attribut |
Descriptions |
---|---|
raster_id |
Identifie de manière unique chaque raster dans une colonne de la table définie comme ST_Raster |
type |
Actuellement réservé pour une utilisation interne uniquement |
extent |
Attribut facultatif qui stocke l'étendue de la recherche |
properties |
Utilisé pour stocker différents attributs associés au raster, mais pas des canaux raster individuels |
rasterband_list |
Ensemble de canaux raster qui stockent les attributs spécifiques aux canaux |
data |
Champs réservés |
L'objet ST_Raster est composé de plusieurs sous-objets.
ST_RASTERBAND et ST_RASTERBAND_LIST
Le type ST_RASTERBAND_LIST est défini comme suit :
CREATE TYPE st_rasterband_list
AS VARRAY(4096) OF ST_RASTERBAND;
Le type ST_RASTERBAND est défini comme suit :
CREATE TYPE st_rasterband AS OBJECT (
rasterband_id INTEGER,
sequence INTEGER,
types INTEGER,
width INTEGER,
height INTEGER,
extent SE_EXTENT,
block_origin SE_COORD,
block_width INTEGER,
block_height INTEGER,
flags INTEGER);
Attribut |
Description |
---|---|
rasterband_id |
Identifie de manière unique chaque canal raster dans la colonne de type ST_Raster |
sequence |
Conserve la séquence de chaque canal dans l'ensemble de canaux raster. Pour un ensemble de canaux raster donné, la valeur de séquence de chaque canal au sein de l'ensemble doit être unique. |
types |
Masque binaire utilisé pour stocker différentes métadonnées de canal raster. Chaque attribut contenu dans le masque binaire peut être évalué et attribué par le biais des fonctions SQL. La valeur de cet attribut ne doit pas être modifiée directement. |
width |
Définit la largeur en pixels du canal raster |
height |
Définit la hauteur en pixels du canal raster |
extent |
Etendue géographique du canal raster |
block_origin |
Conserve les coordonnées géographiques de l'origine du bloc |
block_width |
Définit la largeur en pixels de la tuile du canal raster |
block_height |
Définit la hauteur en pixels de la tuile du canal raster |
flags |
Comporte un masque binaire des métadonnées de canal raster. Chaque attribut contenu dans le masque binaire peut être évalué et attribué par le biais des fonctions SQL. La valeur de cet attribut ne doit pas être modifiée directement. |
SE_RASTERPROPERTY et SE_RASTERPROPERTY_LIST
Le type SE_RASTERPROPERTY_LIST est défini comme :
CREATE TYPE se_rasterproperty_list
AS VARRAY(1048576) OF SE_RASTERPROPERTY;
Le type SE_RASTERPROPERTY est défini comme suit :
CREATE TYPE se_rasterproperty AS OBJECT (
name VARCHAR2(65),
intvalue INTEGER,
strvalue VARCHAR2(160));
Attribut |
Description |
---|---|
name |
Nom de la propriété de raster |
intvalue |
Stocke la valeur d'entier de la propriété de raster |
strvalue |
Stocke la valeur de chaîne de la propriété de raster |
SE_EXTENT
Le type SE_EXTENT est défini comme suit :
CREATE TYPE se_extent AS OBJECT (
minx FLOAT(64),
miny FLOAT(64),
maxx FLOAT(64),
maxy FLOAT(64));
Attribut |
Description |
---|---|
minx |
Valeur de coordonnée X minimale |
miny |
Valeur de coordonnée Y minimale |
maxx |
Valeur de coordonnée X maximale |
maxy |
Valeur de coordonnée Y maximale |
SE_COORD
Le type SE_COORD est défini comme suit :
CREATE TYPE se_coord AS OBJECT (
x FLOAT(64),
y FLOAT(64));
Attribut |
Description |
---|---|
x |
Valeur de coordonnée X |
y |
Valeur de coordonnée Y |
ST_PIXELDATA
Le type ST_PIXELDATA est défini comme :
CREATE TYPE st_pixeldata AS OBJECT (
width INTEGER,
height INTEGER,
numbands INTEGER,
extent SE_EXTENT,
types INTEGER,
data BLOB,
mask BLOB);
Attribut |
Description |
---|---|
width |
Largeur de l'objet en pixels |
height |
Hauteur de l'objet en pixels |
numbands |
Définit le nombre de canaux de l'objet |
extent |
Etendue géographique de l'objet |
types |
Masque binaire utilisé pour stocker différentes métadonnées raster. Chaque attribut contenu dans le masque binaire peut être évalué et attribué par le biais des fonctions SQL. La valeur de cet attribut ne doit pas être modifiée directement. |
data |
Tableau des valeurs en pixels de l'objet |
mask |
Tableau des masques binaires NoData de l'objet |