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.

Diagramme de modèle d'objet du type ST_Raster

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

5/10/2014