Suite

Quelle est l'interface/la propriété dans ArcObjects qui correspond à la propriété dataSource d'une couche dans arcpy ?

Quelle est l'interface/la propriété dans ArcObjects qui correspond à la propriété dataSource d'une couche dans arcpy ?


J'essaie d'obtenir le "Chemin du catalogue" de la source de données d'une couche d'entités dans la table des matières d'ArcMap à l'aide d'ArcObjects. C'est très simple dans arcpy mais apparemment pas tellement dans ArcObjects.

Dans arcpy, la propriété Layer.dataSource renvoie le "Catalog Path" de la couche. Par exemple, pour une classe d'entités SDE dans un jeu de classes d'entités, il renvoie quelque chose comme :

Connexions de base de donnéesMyConnection.sdeSDE.MyFeatureDatasetSDE.MyFeatureClass

L'aide dit que lela source de donnéesla propriété n'est que lechemin de l'espace de travailetnom de l'ensemble de donnéespropriétés combinées, mais ce n'est pas tout à fait vrai. D'une part, lechemin de l'espace de travailLa propriété développe le raccourci "Connexions à la base de données", et deuxièmement, elle n'inclut pas le nom du jeu de classes d'entités. Ainsichemin de l'espace de travailrenvoie quelque chose comme :

c:Documents and SettingsuserApplication DataESRIDesktop10.0ArcCatalogMyConnection.sde

Incidemment, il s'agit également de la valeur renvoyée par IWorkspaceName.PathName.

Existe-t-il donc une propriété ArcObjects qui correspond directement à laLayer.dataSourcepropriété, ou une logique supplémentaire est-elle nécessaire pour créer le même « Chemin du catalogue » à partir des interfaces ArcObjects disponibles ?


Le commentaire de @ Kirk m'a suffisamment rapproché pour le comprendre. Merci!

  1. Envoyez la couche à IGPUtilities.MakeGPLayerFromLayer.
  2. Obtenir le DataElement du GPLayer
  3. Renvoie la valeur DataElement.CatalogPath

Voir la vidéo: Interface Properties in C# - Part 45