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ètre | Explication | Type 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.
| 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
Nom | Explication | Type de données |
reg_dataset | Jeu de données inscrit. | Tableau |
Exemple de code
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")
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)
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")
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?