Jeux de données raster et catalogues d'images d'une géodatabase stockée dans Oracle

Les données raster sont des données spatiales représentées dans un tableau de cellules de taille égale organisées en lignes et colonnes. Les données raster peuvent être composées d'un ou plusieurs canaux raster. Pour une explication détaillée des données raster et de leurs attributs, reportez-vous au livre "Connaissance des données raster" dans cette aide. Vous pouvez commencer par Que sont les données raster ?

Rasters dans ArcGIS Desktop

Dans ArcGIS, les données raster peuvent être stockées dans un jeu de données raster, un catalogue d'images ou une mosaïque. Pour une description de ces types de stockage raster, reportez-vous à la rubrique Organisation des données raster.

Dans l'arborescence du Catalogue, les jeux de données raster individuels du Oracle se présentent sous la forme suivante :

Icône de jeu de données raster

Un catalogue d'images dans l'arborescence du catalogue a l'icône suivante :

Icône de catalogue d'images

Les noms de catalogues d'images et de jeux de données raster dans une géodatabase Oracle contiennent le nom du propriétaire du catalogue d'images ou du jeu de données et le nom du catalogue d'images ou du jeu de données raster lui-même.

Par exemple, un jeu de données raster appelé world, dont le propriétaire est l'utilisateur rock, apparaîtra sous la forme ROCK.WORLD dans l'arborescence du catalogue.

Pour plus d'informations sur la façon dont les mosaïques sont stockées dans une géodatabase, reportez-vous à la rubrique Mosaïques d'une géodatabase dans Oracle.

Tables raster dans une base de données Oracle

Les géodatabases ArcSDE dans une base de données Oracle stockent les données raster avec le type de stockage LONG RAW, BLOB, GeoRaster ou St_Raster.

Pour les rasters stockés dans Oracle, une colonne raster est ajoutée à une table métier, et chaque cellule de la colonne raster contient une référence à un raster stocké dans une table raster séparée. Par conséquent, chaque ligne d'une table métier référence un raster entier.

Lorsque vous importez un raster dans une géodatabase ArcSDE dans Oracle, une colonne raster est ajoutée à la table métier de votre choix. Vous pouvez nommer la colonne raster comme vous voulez, à condition que le nom que vous choisissez soit conforme à la convention d'appellation des colonnes d'Oracle. ArcSDE accepte une seule colonne raster par table métier.

Rasters stockés au format LONG RAW ou BLOB

Un jeu de données raster stocké avec le type LONG RAW ou BLOB est composé de sept tables dans la géodatabase : table métier, table d'entités, table d'index spatial, table auxiliaire, table de blocs, table de canaux et table attributaire de raster. La table métier et les tables raster du jeu de données raster nommé WORLD_TIF sont présentées ci-après.

RemarqueRemarque :

Le type de données LONG RAW peut ne plus être pris en charge dans Oracle dans les prochaines versions. Par conséquent, ESRI déconseille la création de nouveaux jeux de données raster à l'aide du stockage LONG RAW.

Jeu de données raster BLOB ou LONG RAW dans Oracle

La table métier

La table métier est une table attributaire de SGBD, spatialisée par l'ajout d'une colonne raster. Elle stocke l'emprise (délimite la surface) du raster. Dans l'exemple ci-dessus, la table métier est la table WORLD_TIF.

Une table métier comprenant une colonne raster est un jeu de données raster ou un catalogue d'images. Un jeu de données raster n'a qu'une seule ligne de table métier, alors qu'un catalogue d'images peut en avoir plusieurs. Les données concernant la colonne raster sont conservées dans la table système RASTER_COLUMNS. Les informations sur l'ensemble des tables métier, avec ou sans colonne spatiale ou colonne raster, sont conservées dans la table système TABLE_REGISTRY.

La table des entités (f<id_couche>)

La table d'entités stocke la géométrie du jeu de données raster. Cette table est identifiée par le nombre figurant dans la colonne ID_COUCHE de la table LAYERS. La relation entre la table métier et la table d'entité est gérée par le biais de l'identifiant de l'entité, ou FID. Cette clé conservée par ArcSDE est unique pour la colonne spatiale. Dans l'exemple ci-dessus, la table d'entité porte l'identifiant F117.

La table d'index spatial (s<id_couche>)

La table d'index spatial stocke des références aux formes selon une grille simple et régulière. Cette table est identifiée par le nombre figurant dans la colonne ID_COUCHE de la table LAYERS. Dans l'exemple du jeu de données raster WORLD_TIF, la table d'index spatial est S117. L'index spatial contient une entrée pour chaque combinaison forme/cellule de grille afin de prendre en charge les requêtes spatiales. Lors de l'exécution d'une requête spatiale, les cellules de grille de la zone de recherche sont identifiées et renvoyées sous forme de liste de pixels candidats.

Tables d'images raster

Les images raster proprement dites sont stockées dans ces tables.

RemarqueRemarque :

Les tables raster sont présentes dans votre géodatabase uniquement si vous avez des données raster dans la géodatabase.

SDE_AUX_<ID_colonne_raster>

La table auxiliaire de raster stocke la palette de couleurs de l'image, les statistiques d'image et le masque binaire facultatif, utilisé pour les superpositions d'image et le mosaïquage.

ArcSDE stocke automatiquement toutes les métadonnées d'image existantes, telles que les statistiques d'image, les palettes de couleurs ou les masques binaires dans la table auxiliaire du raster. La colonne rasterband_id de la table auxiliaire du raster est une référence de clé étrangère à la clé primaire de la table des canaux raster. ArcSDE joint les deux tables par cette référence de clé primaire/étrangère lors de l'accès aux métadonnées d'un canal raster.

Nom du champ

Type de champ

Description

Nul ?

RASTERBAND_ID

NUMBER(38)

Nombre qui représente un canal raster ; par exemple, un jeu de données raster avec deux canaux raster a deux valeurs différentes pour ce champ : 1 et 2.

NOT NULL

TYPE

NUMBER(38)

Valeurs possibles :

NOT NULL

OBJECT

LONG RAW or BLOB

Contient les données proprement dites, soit un index de palette de couleurs, des statistiques de raster ou des transformations de coordonnées

NOT NULL

SDE_BLK_<ID_colonne_raster>

La table des blocs raster stocke les données d'image proprement dites pour chaque canal de l'image.

La table des blocs raster stocke les pixels de chaque canal raster. ArcSDE tuile les pixels dans des blocs selon une dimension définie par l'utilisateur. Aucune dimension par défaut n'est définie pour ArcSDE ; cependant, les applications qui stockent les données raster dans les géodatabases ArcSDE en disposent. Les outils de géotraitement et ArcCatalog, par exemple, utilisent des dimensions de blocs rasters par défaut de 128 par 128 pixels par bloc. Les dimensions du bloc raster, avec la méthode de compression si elle a été spécifiée, déterminent la taille de stockage de chaque bloc raster. Il convient de choisir des dimensions de bloc raster qui, combinées avec la méthode de compression, permettent à chaque ligne de la table de bloc raster d'avoir une taille adaptée au SGBD.

La table des blocs raster contient la colonne RASTERBAND_ID, référence de clé étrangère à la clé primaire RASTERBAND_ID de la table des canaux raster. Ces tables sont jointes par la référence de clé primaire/étrangère lors de l'accès aux blocs des canaux raster.

Pour Oracle sous Linux, UNIX et Windows, vous devez créer un tablespace très volumineux pour stocker la table de blocs (BLK) raster et créer un second tablespace, de taille moyenne, pour stocker les tables et les index de raster restants.

Lorsque vous créez les tablespaces de la table de blocs raster dans Oracle, il est recommandé d'utiliser une taille d'étendue de 64. La taille d'étendue spécifie le nombre de pages (avec leur taille) qui seront écrites dans un conteneur avant passage au conteneur suivant. La taille d'étendue est définie lors de la création du tablespace et est difficilement modifiable par la suite. Il existe un type supplémentaire de table raster, la table attributaire de raster. Ces tables stockent des valeurs attributaires en fonction des valeurs de cellule dans le raster.

La table des blocs raster est renseignée selon une pyramide de résolution dégressive. La hauteur de la pyramide est déterminée par le nombre de niveaux spécifiés par l'application. L'application, telle que les outils de géotraitement ou ArcCatalog, peut vous permettre de définir les niveaux, peut demander qu'ArcSDE les calcule, ou peut proposer les deux possibilités. La pyramide commence à la base (niveau 0), contenant les pixels d'origine de l'image. Elle se poursuit vers le sommet en fusionnant quatre pixels du niveau précédent en un seul pixel du niveau courant. Ce processus se poursuit jusqu'à ce qu'ArcSDE atteigne le sommet, défini automatiquement ou par l'utilisateur.

Les niveaux de pyramide supplémentaires peuvent augmenter le nombre de blocs raster d'un tiers. Toutefois, puisque vous pouvez spécifier le nombre de niveaux, la taille de la pyramide peut être réduite. Le premier niveau de la pyramide représente 25 pour cent de la base. Il est à noter également que le premier niveau de la pyramide n'est pas indispensable, ce qui permet de réduire considérablement la taille de la pyramide.

Pyramide raster
Pyramide raster

Lorsque vous construisez une pyramide, des rasters supplémentaires sont créés par diminution de résolution progressive d'un facteur deux à chaque niveau jusqu'au sommet. Lorsque l'application effectue un zoom arrière et que les cellules raster deviennent plus petites que le seuil de résolution, ArcSDE sélectionne un niveau de pyramide supérieur. L'objectif de la pyramide est l'optimisation des performances d'affichage.

Nom du champ

Type de champ

Description

Nul ?

RASTERBAND_ID

NUMBER(38)

Nombre qui représente un canal raster ; par exemple, un jeu de données raster avec deux canaux raster a deux valeurs différentes pour ce champ : 1 et 2.

NOT NULL

RRD_FACTOR

NUMBER(38)

Niveau de pyramide ; les niveaux de pyramide commencent à 0 et vont en augmentant.

NOT NULL

ROW_NBR

NUMBER(38)

Numéro de ligne de tuile

NOT NULL

COL_NBR

NUMBER(38)

Numéro de colonne de tuile

NOT NULL

BLOCK_DATA

LONG RAW or BLOB

Données de pixel stockées dans la tuile

NOT NULL

SDE_BND_<ID_colonne_raster>

La table des canaux raster stocke les informations sur les canaux des images. Elle comprend un enregistrement pour chaque canal raster.

Les géodatabases ArcSDE stockent les canaux raster dans la table des canaux raster. ArcSDE joint la table des canaux raster à la table raster par la colonne RASTER_ID. La colonne RASTER_ID de la table des canaux raster est une référence de clé étrangère à la clé primaire de la table raster.

Nom du champ

Type de champ

Description

Nul ?

RASTERBAND_ID

NUMBER(38)

Nombre qui représente un canal raster ; par exemple, un jeu de données raster avec deux canaux raster a deux valeurs différentes pour ce champ : 1 et 2.

NOT NULL

SEQUENCE_NBR

NUMBER(38)

Séquence du canal raster dans le jeu de données raster

NOT NULL

RASTER_ID

NUMBER(38)

Identifiant unique du jeu de données raster ; correspond à la valeur présente dans la colonne raster de la table métier

NOT NULL

NOM

NVARCHAR2(65)

Nom facultatif du canal raster

BAND_FLAGS

NUMBER(38)

Masque binaire comprenant des propriétés du canal

NOT NULL

BAND_WIDTH

NUMBER(38)

Largeur du canal en pixels

NOT NULL

BAND_HEIGHT

NUMBER(38)

Hauteur du canal en pixels

NOT NULL

BAND_TYPES

NUMBER(38)

Masque binaire comprenant des propriétés du canal

NOT NULL

BLOCK_WIDTH

NUMBER(38)

Largeur d'un bloc en pixels

NOT NULL

BLOCK_HEIGHT

NUMBER(38)

Hauteur d'un bloc en pixels

NOT NULL

BLOCK_ORIGIN_X

NUMBER(64)

Coordonnée x de l'origine du raster

NOT NULL

BLOCK_ORIGIN_Y

NUMBER(64)

Coordonnée y de l'origine du raster.

NOT NULL

EMINX

NUMBER(64)

Valeur x minimale d'un canal raster.

NOT NULL

EMINY

NUMBER(64)

Valeur y minimale d'un canal raster.

NOT NULL

EMAXX

NUMBER(64)

Valeur y maximale d'un canal raster.

NOT NULL

EMAXY

NUMBER(64)

Valeur y maximale d'un canal raster.

NOT NULL

CDATE

NUMBER(38)

Date de création du canal raster

NOT NULL

MDATE

NUMBER(38)

Date de dernière modification du canal raster

NOT NULL

SDE_RAS_<ID_colonne_raster>

La table de description du raster stocke la description des images dans une colonne raster.

Nom du champ

Type de champ

Description

Nul ?

RASTER_ID

NUMBER(38)

Identifiant unique du jeu de données raster ; correspond à la valeur présente dans la colonne raster de la table métier

NOT NULL

RASTER_FLAGS

NUMBER(38)

Réservé pour une utilisation future

DESCRIPTION

NVARCHAR2(65)

Description du jeu de données raster

Autres tables système pouvant suivre les rasters

Comme d'autres types de données, les catalogues d'images et les jeux de données sont suivis dans les tables GDB_ITEMS et LAYERS. Le suivi des colonnes de type raster est effectué dans la table RASTER_COLUMNS, qui comprend un enregistrement pour chaque table possédant une colonne raster.

Des tables attributaires supplémentaires peuvent exister comme partie du jeu de données raster ou catalogue d'images. Il n'existe qu'une seule table attributaire de raster par jeu de données raster. En revanche, les catalogues d'images peuvent disposer de plusieurs tables de ce type. Les tables attributaires de raster permettent de définir les attributs de valeurs de cellules raster particulières. Reportez-vous à la rubrique Tables attributaires de jeu de données raster pour plus d'informations sur l'utilisation de ces tables.

Vous pouvez utiliser l'outil Construire un attribut de raster du jeu d'outils Propriétés du raster dans le jeu d'outils Raster de la boîte à outils Gestion des données. Reportez-vous à la rubrique Créer la table attributaire d'un raster (Gestion des données) pour plus d'informations sur cet outil.

Pour les jeux de données raster, les tables attributaires supplémentaires sont nommées selon le format SDE_VAT<ID_colonne_raster>. Pour les catalogues d'images, le nom de table est au format SDE_VAT_<ID_colonne_raster>_<ID_objet>.

View a diagram of a raster dataset using binary storage in Oracle.

Les lignes pointillées indiquent les relations implicites entre colonnes.

RemarqueRemarque :

Pour ouvrir le fichier, vous devez disposer de Adobe Acrobat Reader.

Rasters stockés au format ST_Raster

ST_Raster est un type d'objet défini par l'utilisateur composé de sous-types. Un jeu de données raster qui utilise le stockage ST_Raster est composé de trois tables : table métier, table auxiliaire et table de blocs. Lorsque le stockage ST_Raster est utilisé dans une géodatabase, les informations équivalentes qui seraient stockées dans les tables raster et de canal raster pour les rasters binaires font partie de l'objet ST_Raster dans la table de base. L'objet ST_Raster stocke également la géométrie du raster.

Les rasters stockés au format ST_Raster ont des tables auxiliaires (SDE_AUX_<ID_raster>) et des tables de blocs (SDE_BLK_<ID_raster>) (consultez la section "Tables d'images raster" de cette rubrique) mais ils n'utilisent pas de tables de canal raster (SDE_BND_<ID_raster>) ni de tables raster (SDE_RAS_<ID_raster>).

De même, il n'y a aucune table f pour ST_Raster ; l'objet ST_Raster lui-même stocke la géométrie.

View a diagram of a raster dataset using ST_Raster storage in Oracle.

Les lignes pointillées indiquent les relations implicites entre colonnes.

RemarqueRemarque :

Pour ouvrir le fichier, vous devez disposer de Adobe Acrobat Reader.

Rasters stockés au format GeoRaster d'Oracle

Les rasters stockés au format GeoRaster d'Oracle dans une géodatabase ont une table métier avec une colonne de type MDSYS.SDO_GEORASTER. Cette information est suivie dans la structure de métadonnées Oracle. La colonne MDSYS.GEORASTER contient des composants similaires aux suivants :

Nom

Exemple de valeur du composant

RASTER

SDO_GEORASTER

RASTERTYPE

20001

SPATIALEXTENT

SDO_GEOMETRY

SDO_GTYPE

2003

SDO_SRID

NULL

SDO_POINT

NULL

SDE_ELEM_INFO

SDO_ELEM_INFO_ARRAY(1,1003,3)

SDO_ORDINATES

SDO_ORDINATE(0,0,0256,256)

RASTERDATATABLE

'SDE_RDT_1897'

RASTERID

2

METADATA

XMLTYPE (<georasterMetadata xmlns="http://xmlns.oracle.com/spatial/georaster"> <objectI)

RemarqueRemarque :

La colonne de métadonnées est très longue, pour l'afficher avec SQL*Plus vous devez donc augmenter les environnements LONGSIZE et PAGESIZE de SQL*Plus et l'interroger directement de la manière suivante :

set LONG 20000
set PAGESIZE 500

Les données de pixels de chaque colonne SDO_GEORASTER sont stockées dans une table de données raster séparée. Les tables de données SDO_GEORASTER créées par ArcSDE portent le nom SDE_RDT_<ID_colonne_raster>, où <ID_colonne_raster> est le champ raster_column_id de la table RASTER_COLUMN, qui identifie la colonne raster de manière unique au sein des métadonnées ArcSDE. ArcSDE utilise le paramètre de stockage BLK_STORAGE de la table DBTUNE pour contrôler les paramètres de stockage Oracle de la table SDE_RDT_<ID_colonne_raster>. Pour une description de cette table et de ses champs, reportez-vous au chapitre 1 du manuel Oracle Spatial GeoRaster fourni par Oracle.

La table SDE_RDT_<ID_colonne_raster> est définie comme suit :

Nom du champ

Type de champ

RASTERID

NUMBER

PYRAMIDLEVEL

NUMBER

BANDBLOCKNUMBER

NUMBER

ROWBLOCKNUMBER

NUMBER

COLUMNBLOCKNUMBER

NUMBER

BLOCKMBR

MDSYS.SDO_GEOMETRY

RASTERBLOCK

BLOB

View a diagram of a raster dataset using SDO_GeoRaster storage in Oracle.

RemarqueRemarque :

Pour ouvrir le fichier, vous devez disposer de Adobe Acrobat Reader.

Compte tenu de la nature des données raster, les bases de données comprenant des rasters ont tendance à être volumineuses. La taille des jeux de données raster et des catalogues d'images est rarement inférieure à plusieurs Go (giga-octets) et les jeux de données et catalogues d'images peuvent occuper plusieurs To (téraoctets) dans votre SGBD. Aussi, le traitement d'une telle quantité de données peut présenter des difficultés. Pour obtenir des conseils et des exemples de gestion des données raster dans une géodatabase ArcSDE, reportez-vous au document de synthèse Données raster dans ArcSDE, téléchargeable depuis le site du support technique ArcSDE à l'adresse support.esri.com.

Rasters dans un document XML

Les jeux de données raster sont inclus dans des balises DataElement dans un document XML. Les balises ont la valeur "esri:DERasterDataset".

<esri:Workspace xmlns:esri="http://www.esri.com/schemas/ArcGIS/9.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <WorkspaceDefinition xsi:type="esri:WorkspaceDefinition">
   <WorkspaceType>esriRemoteDatabaseWorkspace</WorkspaceType> 
   <Version>sde.DEFAULT</Version> 
   <Domains xsi:type="esri:ArrayOfDomain" /> 
   <DatasetDefinitions xsi:type="esri:ArrayOfDataElement">
     <DataElement xsi:type="esri:DERasterDataset">
       <CatalogPath>/V=sde.DEFAULT/RD=ROCK.world_TIF</CatalogPath> 
       <Name>ROCK.world_TIF</Name> 
       <Children xsi:type="esri:ArrayOfDataElement">
          <DataElement xsi:type="esri:DERasterBand">
            <CatalogPath>/V=sde.DEFAULT/RD=ROCK.world_TIF/RB=Band_1</CatalogPath> 
            <Name>Band_1</Name> 
            <DatasetType>esriDTRasterBand</DatasetType> 
            <DSID>-1</DSID> 
            <Versioned>false</Versioned> 
            <CanVersion>false</CanVersion> 
            <HasOID>true</HasOID> 
            <OIDFieldName>ObjectID</OIDFieldName> 
            <Fields xsi:type="esri:Fields">
              <FieldArray xsi:type="esri:ArrayOfField">
                <Field xsi:type="esri:Field">
                    <Name>ObjectID</Name> 
                    <Type>esriFieldTypeOID</Type> 
                    <IsNullable>false</IsNullable> 
                    <Length>4</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
                    <Required>true</Required> 
                    <Editable>false</Editable> 
                </Field>
                <Field xsi:type="esri:Field">
                    <Name>Value</Name> 
                    <Type>esriFieldTypeInteger</Type> 
                    <IsNullable>true</IsNullable> 
                    <Length>0</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
               </Field>
               <Field xsi:type="esri:Field">
                    <Name>Count</Name> 
                    <Type>esriFieldTypeInteger</Type> 
                    <IsNullable>true</IsNullable> 
                    <Length>0</Length> 
                    <Precision>0</Precision> 
                    <Scale>0</Scale> 
               </Field>
             </FieldArray>
         </Fields>
         <Indexes xsi:type="esri:Indexes">
           <IndexArray xsi:type="esri:ArrayOfIndex" /> 
         </Indexes>
         <IsInteger>true</IsInteger> 
         <MeanCellHeight>0.175996089009095</MeanCellHeight> 
         <MeanCellWidth>0.176000337991447</MeanCellWidth> 
         <Height>1024</Height> 
         <Width>2048</Width> 
         <PixelType>U8</PixelType> 
         <PrimaryField>1</PrimaryField> 
         <TableType>esriRasterTableValue</TableType> 
         <Extent xsi:type="esri:EnvelopeN">
            <XMin>-179.906382261841</XMin> 
            <YMin>-90.1303147686327</YMin> 
            <XMax>180.542309944643</XMax> 
            <YMax>90.089680376681</YMax> 
            <SpatialReference xsi:type="esri:GeographicCoordinateSystem">
   <WKT>GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]</WKT> 
          <XOrigin>-400</XOrigin> 
          <YOrigin>-400</YOrigin> 
          <XYScale>11258999068426.2</XYScale> 
          <ZOrigin>0</ZOrigin> 
          <ZScale>1</ZScale> 
          <MOrigin>0</MOrigin> 
          <MScale>1</MScale> 
          <XYTolerance>8.98315284119521E-09</XYTolerance> 
          <ZTolerance>2</ZTolerance> 
          <MTolerance>2</MTolerance> 
          <HighPrecision>true</HighPrecision> 
          <LeftLongitude>-180</LeftLongitude> 
         </SpatialReference>
        </Extent>
      </Data>
    </DatasetData>
   </WorkspaceData>
</esri:Workspace>

3/6/2012