Les outils de géotraitement fonctionnent avec tous les types de données, tels que les classes d'entités de géodatabase, les fichiers de formes, les rasters, les tables, les topologies et les réseaux. Chaque donnée possède des propriétés particulières auxquelles vous pouvez accéder afin de les utiliser pour contrôler le flux d'un script ou en tant que paramètres d'un outil. Par exemple, le type d'entité en sortie de l'outil Intersecter dépend du type de forme des données intersectées (point, ligne ou polygone). Lorsque l'outil Intersecter s'exécute dans un script sur une liste de jeux de données en entrée, vous devez pouvoir déterminer les types de forme des jeux de données en entrée afin de définir le type de forme en sortie correspondant. Vous pouvez utiliser la fonction Describe pour déterminer les types de forme de tous les jeux de données en entrée.
La fonction Describe permet de déterminer les propriétés d'un jeu de données et de les utiliser pour prendre des décisions. Par exemple, dans l'exemple suivant, le script utilise Describe pour évaluer le type de forme (polyligne, polygone, point, etc.) de données en entrée et pour déterminer l'outil de géotraitement approprié.
import arcpy
inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)
# Describe a feature class
#
desc = arcpy.Describe(inFC)
# Get the shape type (Polygon, Polyline) of the feature class
#
type = desc.shapeType
# If the shapeType is Polygon convert the data to polylines
# using the FeatureToLine tool, otherwise just copy the
# data using the CopyFeatures tool.
#
if type == "Polygon":
arcpy.FeatureToLine_management(inFC, outFC)
else:
arcpy.CopyFeatures_management(inFC, outFC)
La fonction Describe renvoie un objet Describe, avec plusieurs propriétés, telles que le type de données, les champs, l'index et beaucoup d'autres. Ses propriétés sont dynamiques, ce qui signifie que selon le type de données décrit, différentes propriétés de description peuvent être utilisées.
Les propriétés Describe sont organisées en une série de groupes de propriétés. Tout jeu de données particulier acquiert les propriétés d'au moins un de ces groupes. Par exemple, lors de la description d'une classe d'entités de géodatabase, vous pouvez accéder aux propriétés des groupes de propriétés GDB FeatureClass, FeatureClass, Table et Dataset. Toutes les données, quel que soit leur type, acquièrent toujours les propriétés génériques de l'objet Describe.
- Propriétés des objets Describe
- Propriétés de l'élément ArcInfo Workstation
- Propriétés de la table ArcInfo Workstation
- Propriétés du jeu de données de dessin DAO
- Propriétés de la classe d'entités DAO
- Propriétés de l'atelier cadastral
- Propriétés des classes d'entités de couverture
- Propriétés des couvertures
- Propriétés des jeux de données
- Propriétés de la table dBASE
- Propriétés du suivi de l'éditeur
- Propriétés des classes d'entités
- Propriétés du fichier
- Propriétés du dossier
- Propriétés des classes d'entités de géodatabase
- Propriétés des tables de géodatabase
- Propriétés de réseau géométrique
- Propriétés du jeu de données LAS
- Propriétés des couches
- Propriétés du document ArcMap
- Propriétés de la mosaïque
- Propriétés de la couche ArcGIS Network Analyst
- Propriétés du jeu de données réseau
- Propriétés des fichiers prj
- Propriétés des canaux raster
- Propriétés des catalogues d'images
- Propriétés des jeux de données raster
- Propriétés RecordSet et FeatureSet
- Propriétés des classes de relations
- Propriétés des classes de représentations
- Propriétés du jeu de données schématiques
- Propriétés du diagramme schématique
- Propriétés du dossier schématique
- Propriétés de la classe d'entités SDC
- Fichier de la classe d'entités du fichier de formes
- Propriétés des tables
- Propriétés des vues tabulaires
- Propriétés du fichier texte
- Propriétés des TIN
- Propriétés de l'outil
- Propriétés des boîtes à outils
- Propriétés de topologie
- Propriétés de la couverture VPF
- Propriétés de la classe d'entités VPF
- Propriétés de la table VPF
- Propriétés des espaces de travail
Utilisation de jeux de propriétés
Certaines propriétés appartiennent à un jeu de propriétés. Par exemple, les tolérances d'une couverture ou les propriétés de connexion d'un espace de travail sont renvoyées comme ensembles de propriétés. Les jeux de propriétés possèdent des propriétés nommées qui peuvent être appelées à partir du jeu de propriétés. Dans l'exemple ci-dessous, les tolérances d'une couverture (fuzzy, dangle, ticMatch, edit, nodeSnap, weed, grain et snap) s'affichent dans la sortie standard :
import arcpy
# Describe a coverage feature class
#
desc = arcpy.Describe("D:/St_Johns/covs/freshwater")
# Create a property set of coverage tolerances
#
covTols = desc.tolerances
# Print each coverage tolerance
#
print(covTols.fuzzy)
print(covTols.dangle)
print(covTols.ticMatch)
print(covTols.edit)
print(covTols.nodeSnap)
print(covTols.weed)
print(covTols.grain)
print(covTols.snap)
Les jeux de propriétés sont généralement utilisés lorsque les propriétés de l'objet décrit varient. Les propriétés de connexion d'un espace de travail d'une géodatabase d'entreprise (serveur, instance, base de données, utilisateur et version) varient selon le type de base de données ArcSDE utilisée. Il est donc parfaitement adapté à un ensemble de propriétés ne contenant aucun jeu de valeurs prédéfini.