Skip to main content

Ajouter le type ST_Geometry à une base de données Oracle

Disponible avec une licence Standard ou Advanced.

L’administrateur de base de données peut ajouter le type, le sous-type et les fonctions Esri ST_Geometry à une base de données Oracle à l’aide de l’outil de géotraitement Créer un type spatial ou d’un script Python qui appelle la fonction ArcPy CreateSpatialType.

Lorsque vous ajoutez le type ST_Geometry à votre base de données, vous pouvez l’utiliser pour conserver des données spatiales.

L’outil et la fonction créent tous les deux un utilisateur nommé sde dans la base de données. L’utilisateur sde possède le type, les sous-types, les fonctions et les tables ST_Geometry.

Remarque :

La bibliothèque ST_Geometry requiert Microsoft Visual C++ Redistributable Package (x64) lorsqu’elle est déployée sur un serveur Microsoft Windows. Pour connaître la version requise du paquetage, reportez-vous à la rubrique Configuration ArcGIS requise pour l’utilisation d’Oracle. Si ce paquetage n’est pas présent sur le serveur, téléchargez-le depuis le site de Microsoft et installez-le.

Utiliser l’outil de géotraitement Créer un type spatial

Pour exécuter l’outil de géotraitement Créer un type spatial afin d’installer le type ST_Geometry dans une base de données Oracle, procédez comme suit :

  1. Téléchargez la bibliothèque st_shapelib (Windows) ou libst_shapelib (Linux) depuis My Esri et déplacez-la vers un emplacement sur le serveur Oracle.

    Utilisez la bibliothèque appropriée au système d’exploitation de votre serveur Oracle.

    Le répertoire dans lequel vous placez la bibliothèque sur le serveur doit être accessible depuis la machine sur laquelle vous allez exécuter l’outil Créer le type spatial ou le script. Si vous placez la bibliothèque sur une machine UNIX ou Linux, vérifiez que l’administrateur de base de données dispose d’un accès en lecture sur le répertoire et des privilèges pour exécuter le fichier de bibliothèque.

    Si l’option de téléchargement n’est pas présente, contactez l’administrateur de votre organisation ArcGIS.

  2. Ouvrez un projet dans ArcGIS Pro, ouvrez la fenêtre Catalog (Catalogue), puis connectez-vous à la base de données en tant qu’administrateur de base de données sys Oracle.

    Un fichier de connexion à une base de données (.sde) est créé dans votre dossier de projet.

  3. Ouvrez l’outil de géotraitement Créer le type spatial.

    Vous pouvez utiliser la fenêtre Search (Rechercher) pour trouver l’outil ou l’ouvrir à partir du jeu d’outils Espace de travail de la boîte à outils Gestion des données.

  4. Ajoutez la connexion à la base de données que vous avez créée à l’étape 2 dans la zone de texte du paramètre Input Database Connection (Connexion à la base de données en entrée).

  5. Indiquez le mot de passe pour l’utilisateur de base de données sde dans la zone de texte du paramètre SDE User Password (Mot de passe utilisateur SDE).

  6. Dans la zone de texte du paramètre Tablespace Name (Nom de l’espace de table), indiquez éventuellement le nom d’un espace de table à utiliser comme espace de table par défaut pour l’utilisateur sde.

    L’outil Créer un type spatial crée un tablespace de 400 Mo dans l’emplacement de stockage par défaut d’Oracle. Pour contrôler l’endroit où le tablespace est créé ou sa taille, créez-le d’abord dans Oracle, puis spécifiez le tablespace existant dans le paramètre Tablespace Name (Nom du tablespace). L’outil définit cet espace de table prédéfini comme espace de table par défaut pour l’utilisateur sde.

  7. Pour le paramètre ST_Geometry Shape Library Path (Chemin d’accès à la bibliothèque de formes ST_Geometry), indiquez le chemin d’accès au répertoire sur le serveur Oracle où vous avez placé le fichier libst_shapelib.so ou st_shapelib.dll, en incluant le nom du fichier.

    Si, par exemple, vous avez placé le fichier libst_shapelib.so dans le répertoire libraries sur un serveur Linux nommé boxy, vous allez saisir /boxy/libraries/libst_shapelib.so.

  8. Cliquez sur Run (Exécuter).

Le type, les sous-types et les fonctions ST_Geometry sont créés dans le schéma de l’utilisateur sde et une entrée est créée dans Oracle pour la bibliothèque de formes.

Si vous comptez utiliser la fonction ST_Transform pour procéder à des transformations géographiques, vous devez copier le dossier pedata de votre répertoire d’installation ArcGIS Pro, le placer sur le serveur Oracle et définir une variable d’environnement PEDATAHOME sur le serveur qui pointe vers cet emplacement.

Utiliser les fonctions ArcPy

Sur une machine ArcGIS Pro ou ArcGIS Server, utilisez la fonction ArcPy CreateDatabaseConnection pour créer un fichier de connexion à une base de données (.sde) qui se connecte à la base de données Oracle en tant qu’utilisateur Oracle sys. Utilisez ensuite le fichier .sde et la fonction ArcPy CreateSpatialType pour créer le type, le sous-type et les fonctions Esri ST_Geometry dans la base de données.

  1. Téléchargez la bibliothèque st_shapelib (Windows) ou libst_shapelib (Linux) depuis My Esri et déplacez-la vers un emplacement sur le serveur Oracle.

    Vérifiez que vous utilisez la bibliothèque appropriée au système d’exploitation de votre serveur Oracle.

    Le répertoire dans lequel vous placez la bibliothèque sur le serveur doit être accessible depuis la machine client sur laquelle vous allez exécuter le script. Si vous placez la bibliothèque sur une machine UNIX ou Linux, vérifiez que l’administrateur de base de données dispose d’un accès en lecture sur le répertoire et des privilèges pour exécuter le fichier de bibliothèque.

  2. Exécutez la fonction CreateDatabaseConnection pour créer le fichier .sde.

    Vous devez vous connecter en tant qu’utilisateur sys Oracle et vous devez enregistrer vos informations d’identification.

    Dans l’exemple suivant, le fichier de connexion, nommé dbadminconnection, est créé dans un répertoire nommé TempFiles. L’instance Oracle est oserve, et les informations d’identification de l’utilisateur sys sont fournies et enregistrées avec le fichier.

    import arcpy
    arcpy.management.CreateDatabaseConnection(
       "/user/TempFiles",
       "dbadminconnection.sde",
       "ORACLE",
       "oserve/ORCL",
       "DATABASE_AUTH",
       "sys",
       "D0B3tt3r",
       "SAVE_USERNAME"
    )
    
  3. Exécutez la fonction ArcPy CreateSpatialType pour installer le type ST_Geometry dans la base de données Oracle.

    Dans cet exemple, le fichier de connexion de l’étape précédente est utilisé. Le mot de passe et le tablespace sont fournis pour l’utilisateur sde (pw0rd4sde et sdetblsp respectivement). L’emplacement de la bibliothèque ST_Geometry est spécifié.

    import arcpy
    arcpy.management.CreateSpatialType(
       "suserconnection.sde",
       "pw0rd4sde",
       "sdetblsp",
       "/net/oserve/ora/shape/libst_shapelib.so"
    )
    

Le type, les sous-types et les fonctions ST_Geometry sont créés dans le schéma de l’utilisateur sde et une entrée est créée dans Oracle pour la bibliothèque de formes.

Si vous comptez utiliser la fonction ST_Transform pour procéder à des transformations géographiques, vous devez copier le dossier pedata de votre répertoire d’installation ArcGIS Pro, le placer sur le serveur Oracle et définir une variable d’environnement PEDATAHOME sur le serveur qui pointe vers cet emplacement.