Copier et coller des données entre des bases de données dans ArcGIS

Disponible avec une licence Standard ou Advanced.

Vous pouvez copier les données d’une base de données et les coller dans une autre base de données ou une géodatabase d’entreprise via ArcGIS Pro.

Lorsque vous déplacez les données d'un type de base de données vers un autre, les types de données utilisés pour les attributs dans votre table peuvent changer. Par exemple, si vous copiez une table depuis Microsoft SQL Server avec un champ UniqueIdentifier et si vous le collez dans une base de données PostgreSQL, il s’agira d’un champ Varchar.

Notez qu'ArcGIS ne peut pas coller de types de données ou de définitions qu'il ne prend pas en charge. Cela signifie qu'une table ou classe d'entités que vous collez dans une base de données contiendra les éléments suivants :

  • Les types de données pris en charge par ArcGIS

    Les colonnes qui ne peuvent pas être mappées à un type de données ArcGIS ne seront pas créées dans la classe d’entités de la base de données cible.

  • Une colonne spatiale

    Pour les classes d’entités, ArcGIS utilise la première colonne spatiale qu’il détecte ; la seconde n’est pas créée dans la classe d’entités cible. Si vous souhaitez utiliser la deuxième colonne spatiale, définissez une vue ou une couche de requête sur la table source qui contient uniquement la deuxième colonne spatiale. Si vous créez une vue, vous pouvez la copier de la base de données source et la coller dans la base de données cible en tant que classe d’entités. Si vous définissez une couche de requête, vous pouvez exporter les données depuis la couche de requête vers une nouvelle classe d'entités dans la base de données cible.

  • Un type de géométrie

    ArcGIS lit le type de géométrie (point, ligne, polygone ou multi-points) de la première entité dans la classe d’entités source. Seules les entités qui correspondent au type de géométrie de la première ligne est collée dans la classe d’entités de la base de données cible. Si votre classe d’entités source contient plusieurs types de géométrie et que vous voulez contrôler le type de géométrie utilisé dans la classe d’entités cible, créez une couche de requête de la classe d’entités source et définissez le type de géométrie pour la couche de requête. Exportez ensuite les données de la couche de requête vers une classe d’entités dans votre base de données cible. La classe d’entités créée dans la base de données cible contient uniquement les entités correspondant au type de géométrie que vous avez défini pour la couche de requête.

  • Un seul paramètre de coordonnées

    ArcGIS lit les propriétés de coordonnées spatiales (xy, xyz, xym, xyzm) stockées dans la première entité dans la classe d’entités source. Les entités de la classe d’entités que vous collez dans la base de données cible partagent les mêmes propriétés de coordonnées. Si, par exemple, la première entité de la classe d’entités source possède des coordonnées x,y et z, mais pas de coordonnées m, toute entité ayant des coordonnées m dans la classe d’entités source ne les contiendra pas dans la classe d’entités cible. De la même manière, toute entité contenant uniquement des coordonnées x,y dans la classe d’entités source présentera des coordonnées x,y et z dans la classe d’entités cible (la coordonnée z est définie sur 0).

    Pour s’assurer que les informations de coordonnées sont préservées dans la classe d’entités cible, créez une couche de requête de la classe d’entités source et définissez ses propriétés spatiales de manière à inclure les valeurs m et z. Ensuite, exportez les données de la couche de requête vers une classe d’entités dans la base de données cible. Toutes les entités de la classe d’entités créée dans la base de données cible utiliseront les paramètres de coordonnées spatiales que vous avez définis pour la couche de requête.

  • Une référence spatiale

    Si votre classe d'entités source possède une référence spatiale définie reconnue par ArcGIS, la même référence spatiale est utilisée pour la classe d'entités dans la base de données cible. Si la référence spatiale n’est pas définie pour la classe d’entités, ArcGIS utilise la référence spatiale de la première ligne de la table. Les enregistrements qui ne correspondent pas à cette référence spatiale ne sont pas créés dans la classe d’entités de la base de données cible. En revanche, si la référence spatiale ne peut pas être identifiée pour la classe d’entités ou la première ligne (par exemple, si une référence spatiale personnalisée est utilisée), la référence spatiale utilisée dans la classe d’entités cible varie en fonction de votre système de gestion de bases de données.

Les étapes suivantes expliquent comment déplacer une table, une classe d'entités ou une vue entre bases de données ou d'une géodatabase vers une base de données à l'aide des opérations copier-coller :

  1. Connectez-vous aux bases de données source et cible.
  2. Veillez à vous connecter à la base de données source en tant qu'utilisateur doté de privilèges pour accéder aux données de la base de données source, puis connectez-vous à la base de données cible en tant qu'utilisateur doté des privilèges de base de données appropriés pour créer des tables.
  3. Le cas échéant, préparez les données à déplacer.
    • Pour déplacer une classe d'entités dotée d'enregistrements avec une dimensionnalité, des types de géométrie ou des références spatiales différents, faites glisser la table sur la carte et modifiez la couche de requête qui en résulte, en choisissant une dimensionnalité, un type de géométrie ou une référence spatiale. Pour déplacer les données vers la base de données cible, exportez la couche de requête. (Vous ne pouvez pas copier-coller une couche de requête.)
    • Si la classe d’entités comporte plusieurs colonnes spatiales, créez une vue de base de données qui inclut une seule des colonnes spatiales et effectuez les étapes restantes visant à copier-coller la vue.
  4. Cliquez avec le bouton droit sur la table, la classe d'entités ou la vue dans la base de données source, puis cliquez sur Copier.
  5. Cliquez avec le bouton droit sur la base de données cible dans la fenêtre Catalogue et sélectionnez Coller.

    Les données dans la base de données cible sont la propriété du nom de session utilisé pour vous connecter.

    Remarque :

    Pour coller des données dans une base de données PostgreSQL ou SQL Server, l'utilisateur connecté à la base de données cible doit avoir un schéma avec le même nom que le nom d'utilisateur de base de données.

La nouvelle table ou classe d'entités est créée dans votre base de données de destination.