longlong273
路人甲
路人甲
  • 注册日期2005-07-22
  • 发帖数13
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1554回复:2

如何把Geodatabase里面的要素类导出到Coverage?

楼主#
更多 发布于:2006-04-12 19:55
哪位大哥做过用AO把GeoDatabase里面的一个要素类导出到FeatureClass的?我不知道怎么在一个Coverage下面建一个要素类。 我用IArcInfoWorkspace 接口创建了一个Coverage,然接用返回的IFeatureDataset创建一个FeatureClass,但老是提示对象不支持这个方法.怎么在Coverage下面创建一个要素类呢?
喜欢0 评分0
longlong273
路人甲
路人甲
  • 注册日期2005-07-22
  • 发帖数13
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-04-19 20:14
呵呵谢谢先。我去试一下。<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
wavvylia
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数384
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部