Utilisation de champs et d'index

Lorsqu'elles sont décrites, les classes et les tables d'entités ont une propriété Champ qui renvoie une liste Python d'objets Field, ainsi qu'une propriété d'index qui renvoie une liste Python d'objets Index. Chaque objet de champ ou d'index dispose de plusieurs propriétés pouvant être utilisées pour explorer l'objet. Les fonctions ListFields et ListIndexes peuvent également permettre de créer les mêmes listes. L'exemple suivant montre comment créer une liste de champ et parcourir son contenu à la recherche d'un champ spécifique.

import arcpy

fc = "D:/St_Johns/data.gdb/roads"

# Describe a feature class
#
desc = arcpy.Describe(fc)

# Get a list of field objects from the describe object
#
fields = desc.fields

for field in fields:
    # Check the field name, perform a calculation when finding the field 'Flag'
    #
    if field.name == "Flag":
        # Set the value for the field and exit loop
        #
        arcpy.CalculateField_management(fc, "Flag", "1")
        break

Les propriétés des objets champ et index sont répertoriées ci-dessous :

Propriété

Explication

Nom

Nom du champ

AliasName

Nom d'alias du champ.

Domaine

Nom du domaine associé.

Modifiable

True, si le champ est modifiable.

IsNullable

True, si le champ accepte les valeurs nulles.

Requis

True, si le champ est obligatoire.

Longueur

Longueur du champ.

Type

SmallInteger, Integer, Single, Double, String, Date, OID, Geometry, BLOB.

Echelle

Echelle du champ.

Precision

Précision du champ.

Propriétés du champ

Propriété

Explication

Nom

Nom de l'index.

IsAscending

True, si l'index est trié par ordre croissant.

IsUnique

True, si l'index est unique.

Champs

Une liste Python d'objets champ. Cela équivaut à utiliser la propriété du champ Describe.

Propriétés de l'index

AstuceAstuce :

Les méthodes ListFields et ListIndexes permettent de limiter les résultats en fonction d'un nom et d'un type.

Rubriques connexes


7/10/2012