Ajouter un sous-type (Gestion des données)
Récapitulatif
Ajoute un nouveau sous-type aux sous-types de la table en entrée.
Utilisation
-
Vous devez attribuer un champ de la classe d'entités ou de la table comme champ de sous-type avant d'ajouter de nouveaux sous-types. Pour ce faire, utilisez l'outil Définir le champ de sous-type.
-
Si vous ajoutez un sous-type dont le code existe déjà, le nouveau sous-type sera ignoré.
-
Si vous devez modifier la description d'un sous-type existant, vous devez d'abord supprimer le sous-type, puis ajouter un nouveau sous-type avec le même code et une nouvelle description.
-
Les sous-types d'une classe d'entités ou d'une table peuvent être gérés également dans ArcCatalog. Vous pouvez créer et modifier des sous-types à l'aide de l'onglet Propriétés du sous-type sur la boîte de dialogue Propriétés du jeu de données.
Syntaxe
Paramètre | Explication | Type de données |
in_table |
Classe d'entités ou table contenant la définition du sous-type à mettre à jour | Table View |
subtype_code |
Valeur entière unique du sous-type à ajouter | Long |
subtype_description |
Description du code du sous-type | String |
Exemple de code
Le script de fenêtre Python suivant illustre l'utilisation de la fonction AddSubtype en mode immédiat.
import arcpy from arcpy import env env.workspace = "C:/data/Montgomery.gdb" arcpy.SetSubtypeField_management("water/fittings", "TYPECODE") arcpy.AddSubtype_management("water/fittings", "1", "Bend")
Le script autonome suivant montre comment utiliser la fonction AddSubtype dans le cadre d'un workflow pour ajouter des sous-types à un champ.
# Name: ManageSubtypes.py # Purpose: Create a subtype definition # Author: ESRI # Import system modules import arcpy from arcpy import env try: # Set the workspace (to avoid having to type in the full path to the data every time) env.workspace = "C:/data/Montgomery.gdb" # Set local parameters inFeatures = "water/fittings" # Process: Set Subtype Field... arcpy.SetSubtypeField_management(inFeatures, "TYPECODE") # Process: Add Subtypes... # Store all the suptype values in a dictionary with the subtype code as the "key" and the # subtype description as the "value" (stypeDict[code]) stypeDict = {"0": "Unknown", "1": "Bend", "2": "Cap", "3": "Cross", "4": "Coupling",\ "5": "Expansion joint", "6": "Offset", "7":"Plug", "8": "Reducer",\ "9": "Saddle", "10": "Sleeve", "11": "Tap", "12": "Tee", "13": "Weld", "14": "Riser"} # use a for loop to cycle through the dictionary for code in stypeDict: arcpy.AddSubtype_management(inFeatures, code, stypeDict[code]) # Process: Set Default Subtype... arcpy.SetDefaultSubtype_management(inFeatures, "4") except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message