Inscrire dans une géodatabase (Gestion des données)

Résumé

Enregistre dans la géodatabase les classes d’entités, les tables, les vues et les couches raster créées dans la base de données à l’aide d’outils tiers, ou les vues créées à l’aide de l’outil Créer une vue de base de données. Une fois enregistrées, les informations concernant les éléments, tels que les noms de table et de colonne, l'étendue spatiale et le type de géométrie, sont stockées dans les tables du système de la géodatabase, permettant à ces éléments enregistrés de contribuer à une fonctionnalité de géodatabase.

Utilisation

  • Utilisez cet outil pour enregistrer avec la géodatabase les classes d'entités, les tables, les vues et les couches raster que vous créez dans la base de données avec des outils tiers ou SQL. Les vues que vous créez avec l’outil de géotraitement Créer une vue de base de données peuvent également être inscrites dans la géodatabase.

  • Les vues que vous créez dans les géodatabases fichier à l’aide de l’outil Créer une vue de base de données peuvent également être inscrites auprès de la géodatabase fichier.

  • Pour inscrire des données auprès de la géodatabase d’entreprise, vous devez être connecté comme propriétaire du jeu de données en entrée.

  • Avant qu'une classe d'entités, une table ou une couche raster puisse participer pleinement à toutes les fonctionnalités de géodatabase, elle doit être enregistrée avec la géodatabase. Si elle n'est pas enregistrée avec la géodatabase, seules certaines fonctionnalités seront disponibles depuis les clients et services ArcGIS.

  • Les vues qui sont inscrites auprès de la géodatabase ne peuvent pas contribuer à un certain comportement de la géodatabase et sont en lecture seule via les clients ArcGIS. Les vues ne sont pas prises en charge dans les services d’entités.

Syntaxe

arcpy.management.RegisterWithGeodatabase(in_dataset, {in_object_id_field}, {in_shape_field}, {in_geometry_type}, {in_spatial_reference}, {in_extent})
ParamètreExplicationType de données
in_dataset

Classe d’entités, table, vue ou raster créé à l’aide d’outils tiers, SQL ou vue créée à l’aide de l’outil Créer une vue de base de données que vous souhaitez inscrire auprès de la géodatabase. Le jeu de données doit exister dans la même base de données que la géodatabase.

Table View; Raster Layer
in_object_id_field
(Facultatif)

Champ qui est utilisé comme champ ObjectID. Cette entrée est nécessaire lors de l'enregistrement d'une vue, et vous devez fournir un champ entier existant. Ce paramètre est facultatif lors de l’enregistrement d’autres types de jeu de données ; si vous utilisez un champ existant, il doit s’agir d’un type de données d’entier. Si aucun champ existant n’est spécifié lors de l’enregistrement d’autres types de jeu de données, un champ ObjectID est créé et renseigné.

Field
in_shape_field
(Facultatif)

Si le jeu de données en entrée contient une colonne de type Forme, intégrez ce champ lors du processus d’enregistrement.

Field
in_geometry_type
(Facultatif)

Spécifie le type de géométrie. Si le paramètre in_shape_field est présent, vous devez spécifier un type de géométrie. Si le jeu de données enregistré contient des entités existantes, le type de géométrie spécifié doit correspondre au type d'entité de ces entités.

  • POINTLa géométrie est de type point.
  • MULTIPOINTLa géométrie est de type multi-points.
  • POLYGONLa géométrie est de type polygone.
  • POLYLINELa géométrie est de type polyligne.
String
in_spatial_reference
(Facultatif)

Si le paramètre in_shape_field est présent et que la table est vide, spécifiez le système de coordonnées à utiliser pour les entités. Si le jeu de données enregistré contient des entités existantes, le système de coordonnées spécifié doit correspondre au système de coordonnées des entités existantes. Les valeurs valides sont un objet Spatial Reference, un fichier avec une extension .prj ou une représentation de chaîne d'un système de coordonnées.

Spatial Reference
in_extent
(Facultatif)

Si le paramètre in_shape_field est présent, précisez la plage de coordonnées autorisée pour les coordonnées x,y dans l’ordre suivant : "XMin YMin XMax YMax". Si le jeu de données en cours d'enregistrement contient des entités existantes, l'étendue des entités existantes sera utilisée.

Envelope

Sortie dérivée

NomExplicationType de données
reg_dataset

Jeu de données inscrit.

Tableau

Exemple de code

Exemple 1 d'utilisation de la fonction RegisterWithGeodatabase (fenêtre Python)

Le script de la fenêtre Python suivant démontre comment utiliser la fonction RegisterWithGeodatabase dans la fenêtre Python pour une table spatiale qui contient les entités de géométrie de point. La table sous-jacente contenant les entités existantes, la référence des coordonnées et les informations sur l’extension des entités sont accessibles et n’ont pas besoin d’être répertoriées de manière explicite.

import arcpy
arcpy.env.workspace = r"Database Connections/connection.sde"
arcpy.RegisterWithGeodatabase_management("database.owner.COUNTIES", "OID", 
                                         "Shape", "POINT")
Exemple 2 d'utilisation de la fonction RegisterWithGeodatabase (script autonome)

Le script autonome suivant est un exemple d'application simple de la fonction RegisterWithGeodatabase dans l'écriture de scripts.

# RegisterWithGeodatabase.py
# Description: Simple example showing use of RegisterWithGeodatabase tool
 
# Import system modules
import arcpy
# Set variables
inTable = r"c:\connectionFiles\Connection to esriServer.sde\database.dbo.cities"
oid_field = "OID"
shape_field = "Shape"
geometry_type = "POINT"
sr = arcpy.SpatialReference(4326)
in_extent = "11 10 14 34"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, oid_field, shape_field, 
                                         geometry_type, sr, in_extent)
Exemple 3 d’utilisation de la fonction RegisterWithGeodatabase (script autonome)

Inscrivez une vue portant le nom « trees » auprès d’une géodatabase fichier.

# RegisterWithGeodatabase.py
# Description: Example showing use of RegisterWithGeodatabase tool with a file 
#              gdb view.
# Import system modules
import arcpy
# Create a view in the geodatabase
arcpy.CreateDatabaseView_management("C:\\testdata\\mytest.gdb",
                                    "trees",
                                    "select objectid, owner, parcel from inventory where type = trees")
# Set variables
inTable = r"C:\\testdata\\mytest.gdb\\trees"
# Process: Register With Geodatabase
arcpy.RegisterWithGeodatabase_management(inTable, "objectid")

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes