阅读:3008回复:12
AO怎样由featureclass得到数据源的位置
<P>如果连的是数据库的话,我用以下代码,运行通过,结果是正确的:(可直接看最后红色的代码)</P>
<P> Dim pWorkspaceFactory As IWorkspaceFactory Set pWorkspaceFactory = New AccessWorkspaceFactory Dim pPropertySet As IPropertySet Set pPropertySet = New PropertySet pPropertySet.SetProperty "DATABASE", F:\arcgis\DeveloperKit\samples\data\usa\usa.mdb" Dim pWorkspace As IWorkspace Set pWorkspace = pWorkspaceFactory.Open(pPropertySet, Me.hWnd) Dim pEnumDataSet As IEnumDataset ' Set pEnumDataSet = pWorkspace.Datasets(esriDTFeatureClass) Set pEnumDataSet = pWorkspace.Datasets(esriDTFeatureDataset) Dim pFeatureDataset As IFeatureDataset Set pFeatureDataset = pEnumDataSet.Next Dim pfeatclass As IFeatureClass Set pfeatclass = pFeatureDataset.Subsets.Next</P> <P> ''QI to IDataset to prove you have a featureclass... Dim pdataset As IDataset Set pdataset = pfeatclass Dim player As IFeatureLayer Set player = New FeatureLayer </P> <P> Set player.FeatureClass = pfeatclass MapControl1.AddLayer player Dim aa As String ' Dim pPropertySet As IPropertySet Set pPropertySet = pdataset.Workspace.ConnectionProperties <FONT color=#ff0000>aa = pPropertySet.GetProperty("DATABASE")</FONT> Text1.Text = aa ; "::" ; pdataset.Name</P> <P>如果我打开的是一个shp文件,怎么样得到呢?</P> <P>直接一点就是</P> <P> Set pPropertySet = pdataset.Workspace.ConnectionProperties <FONT color=#ff0000>aa = pPropertySet.GetProperty("???")</FONT></P> <P><FONT color=#ff0000>“???”这个参数是什么?</FONT></P> <P><FONT color=#ff0000></FONT></P> [此贴子已经被作者于2005-1-31 16:52:32编辑过]
|
|
|
1楼#
发布于:2005-02-01 11:30
我打开的是shp文件,而不是连接的sde数据库或者其他的数据库
|
|
|
2楼#
发布于:2005-02-02 12:21
<P>谢谢了!</P><P>我是想在打开一个shp文件后,由featureclass得到该文件的位置,用文本框显示出来,看来只能在打开文件的时候,动点脑筋了。</P>
|
|
|
3楼#
发布于:2005-02-28 11:12
谢谢了!
|
|
|