阅读:1554回复:2
如何把Geodatabase里面的要素类导出到Coverage?
哪位大哥做过用AO把GeoDatabase里面的一个要素类导出到FeatureClass的?我不知道怎么在一个Coverage下面建一个要素类。 我用IArcInfoWorkspace 接口创建了一个Coverage,然接用返回的IFeatureDataset创建一个FeatureClass,但老是提示对象不支持这个方法.怎么在Coverage下面创建一个要素类呢?
|
|
1楼#
发布于:2006-04-19 20:14
呵呵谢谢先。我去试一下。<img src="images/post/smile/dvbbs/em02.gif" />
|
|
2楼#
发布于:2006-04-14 09:02
<P>我也是在网上找的,好像是可以运行,你可以参考一下:</P>
<P>Public Sub CreateCoverageFeatureClass()</P> <P> Dim pWorkspace As IWorkspace<BR> 'Dim pCoverage As ICoverage<BR> Dim pCoverageFeatureClass As IFeatureClass<BR> Dim pFeatureWorkspace As IFeatureWorkspace<BR> Dim pTable As ITable<BR> Dim pCursor As ICursor<BR> Dim pRow As IRow<BR> Dim pMapLayer As IGeoFeatureLayer<BR> Dim pNewFCRef As IFeatureClass<BR> Dim pMXDoc As IMxDocument<BR> 'Or connect to an existing AI Workspace<BR> Dim pWksFact As IWorkspaceFactory<BR> Set pWksFact = New esriDataSourcesFile.ArcInfoWorkspaceFactory<BR> Set pWorkspace = pWksFact.OpenFromFile("D:\NewSDI\Temp", 0)</P> <P> If Not TypeOf pWorkspace Is IArcInfoWorkspace Then Exit Sub</P> <P> Dim pAIWs As IArcInfoWorkspace<BR> Set pAIWs = pWorkspace</P> <P> '******************************<BR> 'Next create a coverage<BR> Dim pFD As IFeatureDataset<BR> Dim pCoverage As ICoverage<BR> Set pFD = pAIWs.CreateCoverage("TestCov", "", esriCoveragePrecisionDouble)<BR> Set pCoverage = pFD<BR> 'Create polygon feature class<BR> Dim pFC As IFeatureClass</P> <P> Set pFC = pCoverage.CreateFeatureClass(esriCFCTPolygon, "Polygon")</P> <P> 'Need to add values to the BND</P> <P> Set pFeatureWorkspace = pWorkspace<BR> Set pTable = pFeatureWorkspace.OpenTable("TestCov.bnd")<BR> Set pCursor = pTable.Update(Nothing, True)<BR> Set pRow = pCursor.NextRow<BR> pRow.Value(1) = -1<BR> pRow.Value(2) = -1<BR> pRow.Value(3) = 1<BR> pRow.Value(4) = 1<BR> pCursor.UpdateRow pRow</P> <P><BR> 'Add items to the coverage<BR> Dim pArcItems As IArcInfoItems<BR> Set pArcItems = New ArcInfoItems<BR> Dim pArcItemsEdit As IArcInfoItemsEdit<BR> Set pArcItemsEdit = pArcItems<BR> Dim pArcItem As IArcInfoItem<BR> Dim pArcItemEdit As IArcInfoItemEdit</P> <P> Set pArcItem = New ArcInfoItem<BR> Set pArcItemEdit = pArcItem</P> <P> With pArcItemEdit<BR> .name = "RD-CODE"<BR> .Type = esriItemTypeInteger<BR> .Width = 1<BR> .OutputWidth = 1<BR> End With</P> <P> pArcItemsEdit.AddItem pArcItem</P> <P> Dim pCovFc As ICoverageFeatureClass<BR> Set pCovFc = pFC<BR> Dim pAITable As IArcInfoTable<BR> Set pAITable = pCovFc<BR> pAITable.AddItem pArcItem, "testcov-id"</P> <P>End Sub<BR></P> |
|