首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ArcGIS:从IFeatureClass获取目录路径

ArcGIS:从IFeatureClass获取目录路径
EN

Stack Overflow用户
提问于 2017-07-14 07:27:02
回答 1查看 212关注 0票数 0

对于ArcGIS 10.1,我有一个在地理数据库中搜索要素类名称的函数。如果找到了,我想显示它是在哪里发现的。目前,我只像这样返回FeatureClass对象:

代码语言:javascript
运行
复制
Dim fcTest As IFeatureClass = FindFeatureClassByName(pWorkspace, fcName)

它工作得很好,但现在我要显示要素类对象的完整目录路径。这有可能吗?我已经找了几个小时了,但似乎做不到。要素类可以存在于要素数据集中。因此,要素类可能位于如下位置

代码语言:javascript
运行
复制
    E:\Batch\Delivered.gdb\Bridges
    D:\Data\Final\Infrastructure.gdb\EastValley\powerlines
    C:/projects/RedRiverBasin/data.mdb/streams
    C:/projects/Airports/USA.mdb/West/lax

这些信息是否包含在FeatureClass对象中,或者我是否必须调整我的函数?

我试过了

代码语言:javascript
运行
复制
Dim pDataset As IDataset = CType(fcTest, IDataset)

但pDataset.Name只是要素类的名称,而不是完整的目录路径和名称,包括任何要素数据集。

EN

回答 1

Stack Overflow用户

发布于 2017-07-15 00:49:34

找到了一个解决方案,而且非常简单:

代码语言:javascript
运行
复制
''' <summary>
''' this routine will return the full catalog path and name of a feature class.
''' </summary>
''' <param name="pFeatClass">the feature class object</param>
''' <returns>a string representing the catalog path of the feature class</returns>
''' <remarks>https://geonet.esri.com/thread/4280</remarks>
Public Function GetCatalogPath(ByVal pFeatClass As IFeatureClass) As String
    Try
        'check for valid object
        If pFeatClass Is Nothing Then Return Nothing

        'cast to dataset and get workspace
        Dim pDataset As IDataset = CType(pFeatClass, IDataset)
        Dim pWksp As IWorkspace = pDataset.Workspace

        'the full path may be in a fetaure dataset so check it
        Dim pFeatDs As IFeatureDataset = pFeatClass.FeatureDataset
        If pFeatDs Is Nothing Then
            Return System.IO.Path.Combine(pWksp.PathName, pDataset.Name)
        Else
            Return System.IO.Path.Combine(pWksp.PathName, pFeatDs.Name, pDataset.Name)
        End If
    Catch ex As Exception
        Return Nothing
    End Try
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45092384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档