jcx0128
路人甲
路人甲
  • 注册日期2008-03-11
  • 发帖数9
  • QQ
  • 铜币134枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1615回复:0

栅格数据导入RasterCatalog问题

楼主#
更多 发布于:2008-09-03 15:44
<P>Dim pWsFact As IWorkspaceFactory<BR>Dim pWs As IRasterWorkspaceEx<BR>Dim pRasterCatalog As IRasterCatalog<BR>Dim pPropertySet As IPropertySet<BR>    'Open the ArcSDE workspace<BR>    Set pPropertySet = New PropertySet<BR>    With pPropertySet<BR>      .SetProperty "server", "ser"<BR>      .SetProperty "instance", "5151"<BR>      '.SetProperty "database", sDatabase<BR>      .SetProperty "user", "sde"<BR>      .SetProperty "password", "sde"<BR>      .SetProperty "version", "SDE.DEFAULT"<BR>    End With<BR>    <BR>    Set pWsFact = New SdeWorkspaceFactory<BR>    Set pWs = pWsFact.Open(pPropertySet, 0)<BR>    <BR>    'Open the ArcSDE raster Catalog<BR>    'Set pRasterCatalog = pWs.OpenRasterCatalog(sRasterCatalogName)<BR>    Set pRasterCatalog = pWs.OpenRasterCatalog("jcxtest")<BR>    <BR>Dim pRasterWsFact As IWorkspaceFactory<BR>Dim pRasterWs As IRasterWorkspace<BR>Dim pGeoDs As IGeoDataset<BR>Dim pRasterDataset As IRasterDataset<BR>Set pRasterWsFact = New RasterWorkspaceFactory<BR>Set pRasterWs = pRasterWsFact.OpenFromFile("F:\tif", 0)<BR>'Set pGeoDs = pRasterWs.OpenRasterDataset("T017000052.tif")<BR>Set pRasterDataset = pRasterWs.OpenRasterDataset("G49G004018DOM.tif")</P>
<P>'Create RasterValue from RasterDataset<BR>Dim pRasterValue As IRasterValue<BR>Set pRasterValue = New RasterValue<BR>Set pRasterValue.RasterDataset = pRasterDataset<BR>'Set pRasterValue.RasterDataset = pGeoDs</P>
<P>'Raster catalog is a type of feature class<BR>Dim pFeatureClass As IFeatureClass<BR>Set pFeatureClass = pRasterCatalog</P>
<P>'Insert a row and set the raster value<BR>Dim pCursor As IFeatureCursor<BR>Dim pRow As IFeatureBuffer<BR>Set pCursor = pFeatureClass.Insert(False)<BR>Set pRow = pFeatureClass.CreateFeatureBuffer<BR>pRow.Value(pRasterCatalog.RasterFieldIndex) = pRasterValue<BR>pCursor.InsertFeature pRow</P>
<P>请问数据导入成功后,和直接利用Catalog导入后的Name不一样是什么原因造成的?</P>
<P>程序导入后使用的是G49G004018DOM.tif为数据名,但是利用Catalog导入则为SDE.G49G004018DOM,并且</P>
<P>   Dim featCnt As Long, i As Long<BR>    Dim pFeature As IRasterCatalogItem<BR>    Dim pDs As IRasterDataset<BR>    Dim rprlayer As IRasterLayer<BR>    Dim pFeatureClass As IFeatureClass<BR>    <BR>    Set pFeatureClass = pRasterCatalog</P>
<P>    featCnt = pFeatureClass.FeatureCount(Nothing)<BR>     On Error Resume Next</P>
<P>  <BR>    For i = 1 To featCnt<BR>        Set pFeature = pFeatureClass.GetFeature(i)</P>
<P>读取导入后的数据,发现pFeature不能获取任何值~~请高手指点</P>
喜欢0 评分0
游客

返回顶部