阅读:1616回复:0
栅格数据导入RasterCatalog问题
<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> |
|