Procédure de stockage des données raster dans une géodatabase
Stockez des données raster dans la géodatabase pour gérer des rasters, ajouter un comportement et contrôler la structure ou pour gérer un ensemble bien défini de jeux de données raster dans le SGBD ou bien encore, pour gérer tout les contenus à l'aide d'une architecture unique. Il existe trois principaux types de géodatabase : ArcSDE, personnelle et fichier.
Le comportement fonctionnel de chaque géodatabase est fondamentalement le même. Toutefois, certains outils ou procédures connaissent des exceptions. Pour plus d'informations sur les différences de comportement d'un outil ou d'une procédure, reportez-vous à l'outil ou à la procédure spécifique dans ce système d'aide.
L'une des rares différences entre une géodatabase fichier et un autre type de géodatabase concerne les requêtes SQL dans les catalogues d'images. Pour plus d'informations sur les géodatabases fichier, reportez-vous à la rubrique Migration vers la géodatabase fichier.
Stockage de données raster dans une géodatabase fichier
Le modèle de stockage des géodatabases fichier est un hybride de la géodatabase ArcSDE et de la géodatabase personnelle, dans lequel les données raster gérées suivent le modèle de stockage de la géodatabase ArcSDE et les données raster non gérées suivent le modèle de stockage de la géodatabase personnelle. Les géodatabases fichier sont également semblables aux géodatabases personnelles, car elles sont conçues pour être modifiées par un seul utilisateur et ne prennent pas en charge le versionnement. Elles résident dans le répertoire du système de fichier, ce qui signifie qu'aucun mot de passe n'est nécessaire pour y accéder. Les géodatabases fichier et les géodatabases ArcSDE partagent la même structure de stockage de base.
Une géodatabase fichier présente plusieurs avantages par rapport à l'utilisation d'une géodatabase personnelle. Comme ArcSDE, elle stocke les données dans des blocs. Cela permet d'accéder aux données plus efficacement, notamment au cours de l'opération de mosaïquage. Lorsque vous mosaïquez des données dans une géodatabase fichier, seuls les blocs superposés sont mis à jour. Si aucun bloc n'est superposé, un nouveau bloc est inséré. Les blocs partiels sont complétés avec des pixels NoData. De plus, le modèle de stockage de la géodatabase fichier (et ArcSDE) utilise des mises à jour de pyramide partielles, ce qui permet de gagner du temps. En outre, comme la structure des données de la géodatabase fichier et celle d'ArcSDE sont identiques, la technologie de copie rapide est utilisée pour copier et coller des données entre la géodatabase fichier et une géodatabase ArcSDE.
La géodatabase fichier accepte également des mots-clés de configuration, mais contrairement à ArcSDE, les mots-clés de configuration ont une valeur standard prédéfinie. Pour plus d'informations sur les mots-clés de configuration, consultez la rubrique Mots-clés de configuration pour les géodatabases fichier.
Par défaut, la géodatabase fichier impose une limite de 1 To (téraoctet) par jeu de données. Chaque jeu de données de la géodatabase fichier a une taille maximale de 1 To ; toutefois, vous pouvez configurer plusieurs jeux de données de 1 To dans une géodatabase fichier donnée. Vous pouvez augmenter cette limite pour chaque jeu de données en utilisant le mot-clé de configuration MAX_FILE_SIZE_256TB.
La structure raster de la géodatabase fichier de base est composée de cinq tables organisées de façon hiérarchique : la table métier se trouve au sommet de la hiérarchie, tandis que quatre autres tables subalternes stockent les métadonnées raster et les données de pixels. La table métier contient également une colonne d'entités, qui gère l'enveloppe du raster. La colonne d'entités est reliée à une table des entités qui stocke les enveloppes des entités. La table des blocs raster, qui est la plus volumineuse, stocke les informations sur les pixels réels et les pyramides. Toutes ces tables sont stockées dans un format de fichier natif qui est masqué. Il est par conséquent impossible d'y accéder directement. La table des blocs raster stocke les données de pixel sous forme de colonne BLOB, une seule ligne par bloc par canal et par niveau de pyramide.
Les canaux sont tuilés uniformément dans des blocs de pixels selon une dimension définie par l'utilisateur (la valeur par défaut est 128 par 128 pixels). Le tuilage des données de canal raster permet un stockage et une récupération efficaces des données raster. Les informations relatives à la structure pyramidale sont stockées conformément à une résolution dégressive. Par défaut, la hauteur de la pyramide est définie par le nombre de niveaux spécifiés soit par l'application, soit automatiquement par le système.
Un catalogue d'images est stocké sous la forme de plusieurs lignes dans la table métier, tandis qu'un jeu de données raster est conservé sous la forme d'une seule ligne. La structure de table du jeu de données raster est identique à celle du catalogue d'images. Chaque ligne d'un catalogue d'images stocke un jeu de données raster. L'étendue de chaque jeu de données raster au sein d'un catalogue d'images est gérée dans la colonne d'entités de la table métier du catalogue d'images.
Une mosaïque est stockée en tant qu'ensemble de tables, neuf au maximum. Les tables de catalogue, de limites, de journal et de types raster sont générées lorsqu'une mosaïque est créée. Les niveaux, vues d'ensemble, correction des couleurs, ligne de raccord et tables stéréo sont créés à la demande. Par exemple, la table de niveaux est créée lorsque la taille des cellules des mosaïques est calculée.
Un champ raster ajouté à une table ou à une classe d'entités est appelé attribut raster. Les attributs raster et les catalogues d'images ont la même structure. Dans la table ou la classe d'entités, chaque enregistrement doté d'un champ raster aura une valeur attributaire pour la colonne de type RASTER qui le relie à ses tables de structure raster associées.
Les mosaïques, les catalogues d'images non gérés et les attributs raster non gérés ne stockent pas les données raster dans les tables raster constituantes. En revanche, chaque valeur de la colonne raster de la table métier fait référence aux images stockées sur disque. La suppression d'une ligne dans un catalogue d'images non géré ou dans une mosaïque entraîne la suppression de la référence au fichier image. Le fichier image lui-même reste intact.
Stockage de données raster dans une géodatabase ArcSDE
Le stockage des données raster dans la géodatabase ArcSDE offre des fonctionnalités au niveau entreprise, notamment en matière de sécurité, d'accès multi-utilisateurs et de partage des données. Voici trois raisons principales de stocker vos données raster dans ArcSDE :
- elles ne seront pas mises à jour très régulièrement (tous les deux ou trois ans, par exemple),
- les utilisateurs y accéderont en mode de lecture seule (pour les utiliser comme données de fond de carte sous des données vectorielles, par exemple),
- des centaines d'utilisateurs (ou plus) y accéderont comme fond de carte.
En raison de leur structure de stockage, les données raster sont considérées comme étant gérées ou entièrement contrôlées par la géodatabase. Les géodatabases ArcSDE stockent toujours toutes les informations raster (pixels, référence spatiale, table associée et autres métadonnées) pour les jeux de données raster, les catalogues d'images et les attributs raster, dans la base de données relationnelles qui leur est associée (Oracle, SQL Server, DB2 ou Informix, par exemple). Cela signifie que les informations raster en entrée sont chargées dans la base de données et peuvent être assimilées à un format de conversion.
Lorsque vous stockez un jeu de données raster dans ArcSDE, il peut exister jusqu'à sept tables constitutives. La table principale est la table métier, qui aura, au minimum, une colonne raster et une colonne ROWID. Dans le cas d'un attribut raster, la colonne raster peut être la seule colonne présente, si l'on excepte la colonne ROWID obligatoire dans une table métier.
Pour tous les autres modèles raster, y compris la mosaïque, le jeu de données raster et le catalogue d'images, la table métier comprend une colonne de géométrie qui contient l'emprise de raster. Une colonne de géométrie sera également présente dans la table métier si un attribut raster est ajouté à une classe d'entités. La colonne de géométrie peut être associée à deux tables. L'une d'entre elles est la table des entités qui stocke les données géométriques réelles. La table des entités, également appelée table F, est présente si le type de stockage de géométries est binaire ESRI. La table des entités est absente si un type de stockage relationnel orienté objet, comme ESRI, IBM ST_GEOMETRY ou Oracle SDO_GEOMETRY, est utilisé. La colonne de géométrie sera également associée à une table d'index spatial, également appelée table S, sauf si vous utilisez un index RTREE. Informix, PostgreSQL et Oracle Spatial utilisent tous un index RTREE.
La table des blocs raster, associée à la colonne raster, est également toujours présente. Elle stocke les données raster pour tous les modèles raster, excepté la mosaïque. Pour une mosaïque, la table reste vide, puisque les données raster ne sont pas stockées dans le SGBD mais sont référencées à partir d'un fichier image.
Si la table des blocs raster stocke des données raster, il s'agira de la table la plus volumineuse de la géodatabase ArcSDE et, en fonction de la taille du raster, elle peut nécessiter des paramètres de stockage particuliers, comme une configuration DBTUNE dédiée, par exemple. Le type du stockage de données raster Oracle SDO_GEORASTER est uniquement associé à une table des blocs raster.
La table auxiliaire du raster stocke des métadonnées de canal raster facultatives, notamment les statistiques raster, les transformations de coordonnées et une palette de couleurs. Pour les mosaïques, la table auxiliaire du raster contient également le raster de la fonction.
La colonne raster est également associée à une table raster et à une table de canaux raster si vous utilisez le type de stockage de données raster binaires ESRI par défaut. Toutefois, si vous utilisez le type de stockage relationnel orienté objet ST_RASTER, ces deux tables sont absentes.
La table des entités contient l'emprise du jeu de données raster, ce qui revient à avoir une classe d'entités ; une table stocke la géométrie, tandis que l'autre stocke les informations sur l'index spatial. Pour chaque jeu de données raster, la table d'entités contient une ligne qui stocke l'enveloppe.
Les tables de stockage de données raster comprennent les éléments suivants :
- Table métier : stocke les attributs, ainsi que les colonnes raster et de géométrie.
- Table auxiliaire du raster (AUX) : stocke des métadonnées facultatives, telles que des statistiques raster, une palette de couleurs ou des informations de transformation de coordonnées.
- Table des blocs raster (BLK pour les types ESRI et RDT pour Oracle SDO_GEORASTER) : stocke les pixels de chaque bloc dans un canal raster.
La table des blocs est la plus volumineuse. Y sont stockées les informations sur les pixels réels et les pyramides.
- Table des canaux raster (BND) : stocke des informations sur les canaux.
- Table raster (RAS) : stocke un enregistrement pour chaque jeu de données raster.
ArcSDE tuile uniformément les canaux dans des blocs de pixels selon une dimension définie par l'utilisateur (la valeur par défaut est 128 par 128). Le tuilage des données de canal raster permet un stockage et une récupération efficaces des données raster. Les informations relatives à la structure pyramidale sont stockées conformément à une résolution dégressive. La hauteur de la pyramide est déterminée par le nombre de niveaux spécifiés par l'application ou l'utilisateur.
La table des blocs raster stocke une seule ligne par bloc (tuile) par canal d'un jeu de données raster et par niveau de pyramide. Par exemple, dans le cas d'un raster à trois canaux divisé en 12 blocs sans pyramides, la table BLK contient 36 lignes ; 12 blocs séparés pour chacun des trois canaux. La colonne qui contient les données de pixel du bloc est un grand objet binaire (BLOB).
La mosaïque et le catalogue d'images sont stockés dans ArcSDE sous la forme de plusieurs lignes dans la table métier, tandis qu'un jeu de données raster représente une seule ligne dans cette même table. La structure de table est identique à celle d'un jeu de données raster. La seule différence réside dans le fait que la table des entités comporte de nombreuses lignes, chacune d'elles représentant l'étendue d'un jeu de données raster dans le catalogue d'images. En outre, une mosaïque peut contenir un pointeur vers le jeu de données raster stocké à l'extérieur de la géodatabase ArcSDE.
Quand un jeu de données raster est stocké en tant qu'attribut, l'architecture de stockage du jeu de données raster est la même que pour les catalogues d'images. Chaque enregistrement de la table métier contient une valeur attributaire pour la colonne de type RASTER. Cet attribut est utilisé pour mettre en relation la table métier avec les tables raster connexes. Lorsque vous chargez l'image, elle est convertie au format raster ArcSDE et les pixels sont stockés dans la table des blocs raster.
Stockage de données raster dans une géodatabase personnelle
Dans une géodatabase personnelle, le jeu de données raster est converti en fichier Imagine (.img) et stocké dans un dossier de base de données d'images (IDB). Le dossier IDB est situé dans le répertoire à proximité de la géodatabase personnelle. Lorsque vous supprimez un jeu de données raster, le raster est définitivement supprimé du dossier IDB.
Lorsque vous enregistrez une mosaïque ou un catalogue d'images dans une géodatabase personnelle, ceux-ci représentent une table pointant vers les jeux de données raster stockés qu'ils contiennent. Dans une mosaïque, les jeux de données raster stockés ne sont pas gérés, alors que dans un catalogue d'images, les jeux de données raster stockés peuvent être gérés ou non gérés. S'il s'agit d'un catalogue géré, l'entrée située dans la table du catalogue d'images pointe vers l'emplacement de stockage du jeu de données raster dans le fichier IDB. Le dossier IDB est organisé de telle sorte qu'il puisse être référencé dans une ligne du catalogue d'images. Dans sa forme non gérée, la mosaïque ou le catalogue d'images contiennent le chemin d'accès vers l'emplacement de stockage des jeux de données raster. Chaque ligne de la table métier du catalogue d'images pointe vers le jeu de données raster stocké. Les opérations effectuées sur une mosaïque ou un catalogue d'images non géré n'affectent pas les fichiers raster stockés ; par conséquent, si vous supprimez les jeux de données raster d'une mosaïque ou d'un catalogue d'images, ils sont uniquement supprimés du catalogue et non du disque.
Lorsque vous stockez un jeu de données raster sous la forme d'un attribut, le raster est enregistré en tant que fichier IMG à l'emplacement défini par le système ou tel quel dans le système de fichiers selon qu'il est géré ou non. Le stockage est semblable à celui d'un catalogue d'images.
Comparaison du stockage des données raster dans des géodatabases fichier, personnelles et ArcSDE
Caractéristique de stockage des données raster |
Géodatabase fichier |
Géodatabase personnelle |
Géodatabase ArcSDE |
---|---|---|---|
Limite de taille |
1 To par jeu de données raster ou catalogue d'images |
2 gigaoctets (Go) par géodatabase (il s'agit de la limite de taille de la table, et non d'une limite de taille du jeu de données raster) |
Illimitée ; la limite dépend des limites du SGBD |
Format de fichier du jeu de données raster |
Jeu de données raster de géodatabase fichier |
ERDAS IMAGINE, JPEG ou JPEG 2000 |
Jeu de données raster ArcSDE |
Stockage |
|
|
|
Stockée dans le système de fichiers |
Stockée dans Microsoft Access |
Stockée dans un système SGBDR |
|
Compression |
LZ77, JPEG, JPEG 2000 ou Aucun |
LZ77, JPEG, JPEG 2000 ou Aucun |
LZ77, JPEG, JPEG 2000 ou Aucun |
Pyramides |
Prise en charge de la structure pyramidale partielle |
Reconstruction de toute la structure pyramidale |
Prise en charge de la structure pyramidale partielle |
Mosaïquage |
Vous permet d'ajouter des données à un jeu de données raster lors du mosaïquage |
Réécrit un nouveau jeu de données chaque fois que vous mosaïquez vers un jeu de données raster |
Vous permet d'ajouter des données à un jeu de données raster lors du mosaïquage |
Mise à jour |
Permet des mises à jour incrémentielles |
Permet des mises à jour incrémentielles |
|
Nombre d'utilisateurs |
Mono-utilisateur et petits groupes de travail ; quelques utilisateurs avec accès en lecture seule et un utilisateur avec accès en écriture |
Mono-utilisateur et petits groupes de travail ; quelques utilisateurs avec accès en lecture seule et un utilisateur avec accès en écriture |
Multi-utilisateurs ; de nombreux utilisateurs avec accès en écriture et accès en lecture seule |
Comparaison entre les données raster gérées et non gérées
Il existe deux méthodes de stockage des données raster dans une géodatabase : gérée ou non gérée. Les géodatabases stockent systématiquement les jeux de données raster sous la forme d'une source gérée.
Les catalogues d'images et les rasters sous forme d'attributs peuvent utiliser les sources gérées ou non gérées.
Les mosaïques sont toujours stockées en tant que données non gérées.
Dans une géodatabase ArcSDE, les jeux de données raster et les catalogues d'images sont toujours stockés en tant que données gérées.
Les données raster d'une géodatabase fichier gérée sont stockées sous un format tuilé propriétaire, compatible avec le mode de stockage des données raster d'ArcSDE (y compris les types de compression de données raster ArcSDE). La solution de données raster gérées avec géodatabase fichier apparaît donc comme un excellent choix pour le transfert de données entre des instances ArcSDE (qui ne disposent d'aucune connexion réseau entre elles). Cette fonctionnalité remplace les workflows de transfert de données précédents, tels que l'exportation/importation SDE et l'exportation/importation de base de données (tablespaces transportables et géodatabases détachées, par exemple).
Les données raster d'une géodatabase personnelle gérées sont stockées sur le disque dans l'un des trois formats raster de fichier dans lesquels ArcGIS peut écrire : ERDAS IMAGINE, JPEG ou JPEG 2000. Le format de fichier raster utilisé pour stocker les données est sélectionné en interne par ArcGIS et est fonction du type de compression utilisée. Par conséquent, si vous sélectionnez une compression JPEG, le fichier est stocké au format JPEG, alors que si vous ne sélectionnez aucune compression ou une compression LZ77, le raster est stocké au format ERDAS IMAGINE format. Les jeux de données raster en entrée sont convertis à partir de leur format initial et stockés dans un dossier spécial (IDB), situé à côté du fichier .mdb de la géodatabase personnelle. La géodatabase personnelle gère ces fichiers raster en fonction des actions de l'utilisateur. (Aucune information de pixel n'est stockée dans la base de données Microsoft Access sous-jacente.)
Les implémentations raster de géodatabase fichier et de géodatabase personnelle non gérées pointent simplement vers les fichiers raster existants stockés sur le disque qu'ArcGIS peut lire. Dans ce cas, la géodatabase ne gère pas les fichiers raster, mais gère uniquement les tables qui y font référence. La construction des rasters sous forme d'attributs, des mosaïques et des catalogues d'images des géodatabases fichiers et personnelles non gérées se révèle particulièrement rapide, dans la mesure où aucune conversion de format raster ou copie des données de pixel n'est nécessaire.
Compression, pyramides et taille de tuile
Il y a d'autres structures de stockage à prendre en compte lorsque l'on stocke des données dans une géodatabase, notamment la compression, les pyramides et la taille de tuile.
Les trois types de géodatabase peuvent stocker des données raster à l'aide de l'une des trois techniques de compression : LZ77 (sans perte), JPEG (avec perte) ou JPEG 2000 (avec perte). Une compression sans perte signifie que les valeurs des pixels du jeu de données raster ne sont pas modifiées, contrairement à ce qui se passe dans une compression avec perte. Le taux de compression dépend du type de données de pixel ; plus l'image est homogène, plus le taux de compression est élevé. Il est conseillé de stocker les données qui seront utilisées à des fins d'analyse, et pas seulement d'affichage, à l'aide d'une compression sans perte. Le principal avantage de la compression des données est le gain d'espace de stockage ; le degré d'économie dépend de la méthode de compression et de la redondance des données. Un autre avantage réside dans une amélioration radicale des performances, dans la mesure où vous transférez moins de paquets de données. Ainsi, lorsque vous accédez à des données raster sur un réseau avec une faible bande passante, l'utilisation d'une méthode de compression peut améliorer les performances grâce à une réduction sensible de la quantité d'informations transférées ; cela permet de stocker des jeux de données raster volumineux et uniformes et des catalogues d'images tout aussi volumineux (plusieurs téraoctets), et de les afficher rapidement côté client.
Pour en savoir plus sur la compression des données raster
Les pyramides sont des représentations de faible résolution de votre jeu de données, stockées avec les données. Il est toujours conseillé de construire des structures pyramidales. Elles accélèrent l'affichage des données raster, dans la mesure où ArcGIS doit uniquement traiter l'étendue et la résolution nécessaires à l'affichage, plutôt que de ré-échantillonner le jeu de données complet. Lorsque vous effectuez un zoom avant à partir de l'étendue totale, des pyramides dotées d'une résolution plus fine sont utilisées pour afficher l'image.
Les pyramides sont créées par rééchantillonnage des données d'origine dans plusieurs couches différentes, chacune représentant une résolution de plus en plus élevée. Les méthodes de rééchantillonnage indiquent au serveur le mode de traitement des données pour créer les pyramides. La méthode Voisin le plus proche doit être utilisée pour traiter des jeux de données raster ou des données discrètes (nominales) avec des palettes de couleurs, tels que des images d'utilisation du sol ou en pseudo-couleurs. L'interpolation bilinéaire ou la convolution cubique doit être utilisée pour traiter les données continues, telles que les images satellite ou les photographies aériennes. Il est fortement recommandé de concevoir un prototype de la technique de rééchantillonnage la plus appropriée pour vos données. N'oubliez pas que le rééchantillonnage des pyramides affecte uniquement l'affichage et non pas les données d'origine.
Pour en savoir plus sur les pyramides raster
Lorsque vous utilisez des géodatabases ArcSDE ou fichier, ArcGIS permet de choisir le nombre de niveaux et la méthode de rééchantillonnage et d'affiner ainsi les pyramides de façon à optimiser les performances d'affichage de votre application. Lors de la mise à jour d'une partie d'un jeu de données raster dans une géodatabase ArcSDE ou fichier, la mise à jour doit uniquement concerner la partie de la pyramide où figurent les modifications. En conséquence, la mise à jour peut être menée à bien beaucoup plus rapidement que pour les autres implémentations, dans la mesure où vous ne devez pas réécrire le jeu de données raster complet, ni l'ensemble de ses pyramides. De plus, le jeu de données raster reste accessible aux autres utilisateurs pendant cette opération, moyennant une faible perte de performances.
Dans la géodatabase ArcSDE, les données raster sont stockées dans une structure dans laquelle elles sont tuilées, indexées, mises en pyramides et très souvent compressées. En raison du tuilage, de l'indexation et de la mise en pyramides, chaque fois qu'une requête est effectuée sur les données raster, seules les tuiles nécessaires pour satisfaire à l'étendue et à la résolution de la requête sont retournées, et non pas le jeu de données entier. La taille de tuile contrôle le nombre de pixels que vous souhaitez stocker dans chaque bloc de mémoire de la base de données. Cette taille est spécifiée comme nombre de pixels dans x et y. La taille de tuile par défaut est de 128 par 128 pixels, et il est conseillé, pour la plupart des applications, de ne pas s'éloigner de ces valeurs par défaut. Dans la géodatabase ArcSDE, les tuiles de données raster sont compressées avant d'y être enregistrées.
Importation de rasters
Les données raster sont importées dans une géodatabase via l'interface utilisateur de plusieurs manières. Vous pouvez importer des données raster dans une géodatabase à l'aide du menu de raccourcis Importer en cliquant sur une géodatabase. Vous pouvez également charger les données dans un jeu de données raster ou un catalogue d'images d'une géodatabase à l'aide de la commande Charger des données d'ArcCatalog. Plusieurs outils de géotraitement permettent de charger ou d'importer des données dans la géodatabase, par exemple, l'outil Copier un raster permet d'importer des jeux de données raster, l'outil Espace de travail vers jeu de données raster charge et mosaïque tous les jeux de données raster stockées dans l'espace de travail spécifié en un seul jeu de données raster, et l'outil Espace de travail vers catalogue d'images charge tous les jeux de données raster stockés dans le même espace de travail dans un catalogue d'images existant. L'outil Ajouter des rasters au jeu de données de la mosaïque ajoute uniquement des pointeurs aux données source dans une mosaïque et ne déplace pas ou ne charge pas les données raster à l'emplacement de la mosaïque.
Pour en savoir plus sur le chargement et l'importation de jeux de données raster.