Paramètres de stockage d'Oracle Spatial DBTUNE
La table DBTUNE contient certains paramètres de stockage qui sont spécifiques à Oracle Spatial. Ils sont décrits dans les sections ci-après.
Création de classes d'entités Oracle Spatial
Pour créer une classe d'entités utilisant le type de stockage SDO_GEOMETRY, indiquez un mot-clé de configuration dans lequel le paramètre GEOMETRY_STORAGE est défini sur SDO_GEOMETRY. Certains exemples sont fournis dans la prochaine section. Reportez-vous à la rubrique Utilisation d'Oracle Spatial par ArcSDE pour plus d'informations.
Deux autres paramètres affectent le stockage des entités SDO_GEOMETRY : SDO_ORDINATES_VARRAY_STORAGE et SDO_ELEM_INFO_VARRAY_STORAGE. Ces deux paramètres ajoutent une clause de stockage varray à l'instruction TABLE CREATE. SDO_ORDINATES_VARRAY_STORAGE définit le stockage de la portion SDO_ORDINATES_VARRAY de l'objet SDO_GEOMETRY. SDO_ELEM_INFO_VARRAY_STORAGE définit le stockage de la portion SDO_ELEM_INFO_VARRAY de l'objet SDO_GEOMETRY.
Si la classe d'entités Oracle Spatial que vous créez stocke des données d'annotation DAO ou ArcSDE, la colonne SE_ANNO_CAD_DATA est ajoutée à la table de base de la classe d'entités pour stocker ces informations. Vous pouvez faire en sorte que le paramètre SE_ANNOCAD_LOB_STORAGE définisse le stockage de cette colonne. La valeur définie pour ce paramètre est ajoutée en tant que clause LOB dans l'instruction TABLE CREATE qui est soumise à Oracle pour créer la classe d'entités.
Exemples de groupes de paramètres DBTUNE pour les classes d'entités Oracle Spatial
Cette section présente les groupes de paramètres DBTUNE qui s'appliquent à plusieurs scénarios communs. (Rappelez-vous que les paramètres sont regroupés par mots-clé de configuration.) Ces exemples montrent l'importance des paramètres de stockage pour les classes d'entités Oracle Spatial.
Oracle et Esri recommandent d'utiliser des index spatiaux R-tree avec le stockage SDO_GEOMETRY. Certains des exemples suivants utilisent le paramètre sdo_indx_dims=2, qui indique combien de dimensions doivent être indexées avec un index spatial R-tree.
Si vous n'utilisez pas Oracle Spatial par défaut, vous pouvez utiliser le mot-clé SDO_GEOMETRY existant ou constituer votre propre groupe de paramètres simple pour créer des classes d'entités Oracle Spatial avec la plupart des paramètres par défaut. Les tables et index sont créés dans le tablespace par défaut de l'utilisateur à l'aide des paramètres de stockage physique par défaut, sauf indication contraire dans le groupe de paramètres DEFAULTS. L'index spatial est, quant à lui, un index R-tree bidimensionnel.
##SDO_GEOMETRY GEOMETRY_STORAGE "SDO_GEOMETRY" SDO_INDEX_SHAPE "sdo_indx_dims=2" UI_TEXT "Oracle Spatial: default settings" END
Avec Oracle Spatial, si des données sont souvent chargées à l'aide d'un identifiant de référence spatiale spécifique (SRID), tel que le SRID 8307 (latitude-longitude WGS84) géodésique, vous pouvez créer une version étendue du groupe de paramètres précédent. Il n'est pas nécessaire de spécifier les limites supérieure et inférieure et la tolérance, mais vous le pouvez si vous voulez que toutes vos classes d'entités contiennent les mêmes métadonnées pour les dimensions x et y.
Pour les données géodésiques, les étendues sont spécifiées en degrés décimaux et les tolérances en mètres.
##SDO_GEOMETRY_8307 GEOMETRY_STORAGE "SDO_GEOMETRY" SDO_INDEX_SHAPE "sdo_indx_dims=2" SDO_SRID 8307 SDO_DIMNAME_1 "Lon" SDO_LB_1 -180.000000 SDO_UB_1 180.000000 SDO_TOLERANCE_1 0.05 SDO_DIMNAME_2 "Lat" SDO_LB_2 -90.000000 SDO_UB_2 90.000000 SDO_TOLERANCE_2 0.05 UI_TEXT "Oracle Spatial: WGS84" END
L'exemple suivant peut être utilisé pour charger une classe d'entités avec un index spatial R-tree dans le tablespace ORSPBIZ. L'index spatial R-tree est créé dans le tablespace ORSPIDX. Le client ArcSDE qui charge les données détermine les valeurs des métadonnées.
##SDO_GEOMETRY_ORSPBIZ GEOMETRY_STORAGE "SDO_GEOMETRY" B_STORAGE "TABLESPACE ORSPBIZ" SDO_INDEX_SHAPE "tablespace=ORSPIDX sdo_indx_dims=2" UI_TEXT "Tablespace ORSPBIZ / ORSPIDX" END
Quand vous concevez vos propres groupes de paramètres, vous pouvez ajouter des paramètres pour prendre en charge d'autres constructions de géodatabases, telles que les réseaux géométriques, les MNT ou les topologies. Vous pouvez également satisfaire ces besoins en définissant des paramètres dans le groupe de paramètres DEFAULTS.
Par exemple, si le paramètre GEOMETRY_STORAGE du mot-clé DEFAULTS est défini sur SDO_GEOMETRY, lorsque vous créez des topologies, des réseaux ou des MNT, les mots-clés composites par défaut de ceux-ci sont utilisés. Etant donné que les mots-clés composites par défaut ne spécifient pas GEOMETRY_STORAGE, le paramètre GEOMETRY_STORAGE de DEFAULTS est utilisé ; dans le cas présent, il s'agit de SDO_GEOMETRY.
Si, au contraire, le mot-clé DEFAULTS GEOMETRY_STORAGE n'est pas défini sur SDO_GEOMETRY mais que vous voulez créer, par exemple, un MNT qui utilise le stockage SDO_GEOMETRY, vous devez créer un nouvel ensemble de mots-clés de MNT conçu pour stocker des MNT avec le stockage SDO_GEOMETRY. Vous trouverez ci-après un exemple :
##TERRAIN_SDO UI_TERRAIN_TEXT "The terrain default configuration" GEOMETRY_STORAGE "SDO_GEOMETRY" B_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc" B_INDEX_ROWID "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" B_INDEX_SHAPE "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" B_INDEX_USER "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" END ##TERRAIN_SDO::EMBEDDED GEOMETRY_STORAGE "SDO_GEOMETRY" B_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc" B_INDEX_ROWID "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" B_INDEX_SHAPE "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" B_INDEX_USER "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING" END
Reportez-vous à la rubrique Mots-clés composites et stockage de géométries pour plus d'informations.
Création de métadonnées Oracle Spatial pour de nouvelles classes d'entités
La vue USER_SDO_GEOM_METADATA de la base de données Oracle Spatial contient des métadonnées concernant les colonnes SDO_GEOMETRY des tables existantes. Chaque utilisateur dispose d'une vue USER_SDO_GEOM_METADATA qui lui est propre. Le propriétaire de la table doit enregistrer les métadonnées pour chaque colonne SDO_GEOMETRY dans USER_SDO_GEOM_METADATA afin qu'elles puissent être indexées et interrogées. Lorsque vous créez une classe d'entités dans une application cliente ArcGIS, choisissez un mot-clé de configuration qui contient les paramètres suivants, qui désignent les métadonnées des nouvelles classes d'entités SDO_GEOMETRY :
SDO_DIMNAME_<n> SDO_LB_<n> SDO_UB_<n> SDO_TOLERANCE_<n> SDO_SRID
La valeur <n> dans les quatre premiers paramètres indique la dimension à laquelle vous souhaitez appliquer le paramètre. Oracle Spatial autorise des géométries d'entités dans les combinaisons x,y ; x,y,z ; x,y,m (mesure) ; ou x,y,z,m. Par conséquent, remplacez <n> dans les noms de paramètre par l'un des nombres (1, 2, 3 ou 4) comme suit :
1 | 2 | 3 | 4 |
---|---|---|---|
x | y | ||
x | y | z | |
x | y | m | |
x | y | z | m |
Si vous ne fournissez pas ces paramètres de stockage, l'application ArcGIS cliente qui crée la classe d'entités calcule la limite supérieure et inférieure (étendue) et la tolérance de chaque dimension.
En plus des combinaisons susmentionnées, Oracle Spatial autorise également les géométries d'entités x,y,m,z. Toutefois, ne les utilisez pas avec les classes d'entités SDO_GEOMETRY dans les géodatabases.
Si le mot-clé de configuration spécifié au cours de la création de la classe d'entités contient le paramètre SDO_SRID défini sur un système de référentiel de coordonnées valide, la valeur SDO_SRID est utilisée et écrite sur la vue USER_SDO_GEOM_METADATA, même si un système de référentiel de coordonnées différent est fourni par le client.
Création d'un index spatial
Le paramètre SDO_INDEX_SHAPE de la table DBTUNE détermine comment Oracle Spatial crée l'index spatial. ArcSDE ajoute le contenu de ce paramètre (la chaîne de configuration) à l'instruction CREATE INDEX avant de soumettre celle-ci à Oracle. La chaîne de configuration est insérée dans l'instruction SQL après le mot-clé PARAMETERS. Par exemple :
CREATE INDEX MY_SP_INDEX ON MY_SP_TABLE(SHAPE)
INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ( <configuration string is inserted here> );
La chaîne de configuration est une chaîne entre guillemets qui contient une liste de paramètres = éléments de valeur. Vous pouvez spécifier de nombreux paramètres dans la chaîne de configuration. Pour comprendre les paramètres d'index Oracle Spatial et comment ils interagissent, lisez les sections correspondantes dans le Guide de l'utilisateur Oracle Spatial.
Observez les différences entre les paramètres de stockage physique dans la chaîne de configuration de l'index spatial et dans une chaîne de configuration de la table métier (comme spécifié avec le paramètre B_STORAGE). L'une des différences vient de la manière dont Oracle s'attend à ce que ces paramètres apparaissent dans les instructions SQL. Etant donné que les instructions Oracle sont mises en forme différemment, les chaînes de configuration sont mises en forme différemment. De plus, tous les paramètres de stockage physique utilisés pour créer des tables ne sont pas disponibles pour créer des index spatiaux.
B_STORAGE "TABLESPACE ORSPBIZ PCTFREE 10 INITRANS 4 STORAGE(INITIAL 512000)" SDO_INDEX_SHAPE "tablespace=ORSPIDX initial=512000"
Création de jeux de données raster ou de catalogues utilisant le stockage SDO_GEORASTER
Oracle Spatial possède un type de stockage de données raster : SDO_GEORASTER. Trois paramètres affectent le stockage SDO_GEORASTER dans une géodatabase :
- RASTER_STORAGE, qui vous permet d'indiquer que les rasters doivent être créés avec le type de stockage SDO_GEORASTER.
- RDT_STORAGE, qui désignent les informations de stockage de la table des blocs SDO_GEORASTER, SDE_RDT_<N>. N est la valeur rastercolumn_id pour la colonne raster.
- RDT_INDEX_COMPOSITE, qui spécifie les informations de stockage pour l'index composite créé sur la table des blocs SDO_GEORASTER, SDE_RDT_<N>_PK. N est la valeur rastercolumn_id de la colonne raster.
Reportez-vous à la rubrique ArcSDE et le type raster Oracle Spatial pour plus d'informations sur l'utilisation du type SDO_GEORASTER.