2 votos

¿Cuál es la interfaz/propiedad en ArcObjects que corresponde a la propiedad dataSource de una capa en arcpy?

Estoy tratando de obtener el "Catalog Path" de la fuente de datos de una Feature Layer en la tabla de contenidos de ArcMap usando ArcObjects. Esto es muy sencillo en arcpy pero aparentemente no tanto en ArcObjects.

En arcpy, el Capa La propiedad .dataSource devuelve la "Ruta del Catálogo" de la capa. Por ejemplo, para una clase de característica SDE en un conjunto de datos de características, devuelve algo así como:

Database Connections\MyConnection.sde\SDE.MyFeatureDataset\SDE.MyFeatureClass

La ayuda dice que el dataSource es sólo la propiedad workspacePath y datasetName propiedades combinadas, pero esto no es exactamente cierto. Por un lado, el workspacePath expande el acceso directo "Conexiones de base de datos", y en segundo lugar no incluye el nombre del conjunto de datos de la característica. Así, workspacePath devuelve algo así como:

c:\Documents and Settings\user\Application Data\ESRI\Desktop10.0\ArcCatalog\MyConnection.sde

Por cierto, este es también el valor devuelto por IWorkspaceName.PathName.

Entonces, ¿existe una propiedad de ArcObjects que corresponda directamente a la Layer.dataSource o se necesita una lógica adicional para construir la misma "ruta del catálogo" a partir de las interfaces disponibles de ArcObjects?

2voto

auramo Puntos 161

El comentario de @Kirk me ha acercado lo suficiente como para entenderlo. Gracias.

  1. Enviar la capa a IGPUtilities.MakeGPLayerFromLayer .
  2. Obtenga el Elemento de datos del GPLayer
  3. Devuelve el DataElement.CatalogPath valor

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X