阅读:1278回复:1
[VB+AO sde开发求助]
<P>我想用vb连接sde数据库利用已知的文件名读取数据库中的栅格数据,并在mapcontrol中显示,可是最后显示的栅格数据变成了一个矢量的面,求助达人,怎么才能调用读取正确显示出来</P>
<P>代码如下:</P> <P>Private Sub Command5_Click()</P> <P>Dim pSDEWs As IWorkspaceName<BR>Dim pSDEPropertySet As IPropertySet<BR>Dim pSDERasterDataset As IRasterDataset</P> <P>Dim pWorkspaceFactory As IWorkspaceFactory<BR>Dim pworkspace As IWorkspace</P> <P>Set pSDEPropertySet = New PropertySet<BR>With pSDEPropertySet<BR> .SetProperty "Server", "10.152.20.249"<BR> .SetProperty "Instance", "5151"<BR> <BR> .SetProperty "User", "sde"<BR> .SetProperty "Password", "sde"<BR> .SetProperty "Version", "SDE.DEFAULT"<BR>End With<BR>' Get workspacename<BR>Set pSDEWs = New WorkspaceName<BR>Set pWorkspaceFactory = New esriDataSourcesGDB.SdeWorkspaceFactory<BR>Set pworkspace = pWorkspaceFactory.Open(pSDEPropertySet, 0)</P> <P><BR>pSDEWs.ConnectionProperties = pSDEPropertySet<BR>pSDEWs.WorkspaceFactoryProgID = "esricore.sdeworkspacefactory"</P> <P>'''' Get raster dataset name<BR>'''' Open ArcSDE raster dataset</P> <P>'Set pSDERasterDataset = pName.Open<BR>Dim player As ILayer<BR>Dim irplayer As IRasterLayer</P> <P>'Dim pfclass As IFeatureClass<BR>'Dim pfworkspace As IFeatureWorkspace<BR>'Dim pflayer As IFeatureLayer</P> <P>Dim prcat As IRasterDataset<BR>Dim prlayer As IRasterLayer<BR>Dim prworkspace As IRasterWorkspace<BR>Dim sdewf As IRasterWorkspaceFactory</P> <P><BR>Set pfworkspace = pWorkspaceFactory.Open(pSDEPropertySet, 0)<BR>Set pfclass = pfworkspace.OpenFeatureClass("sde.sde.T017000055")</P> <P>Set pflayer = New FeatureLayer<BR>Set pflayer.FeatureClass = pfclass<BR>pflayer.Name = pfclass.AliasName</P> <P><BR>Set irplayer = pWorkspace<BR>MapControl1.ClearLayers<BR>MapControl1.Map.AddLayer irlayer<BR></P> <P>End Sub</P> |
|
1楼#
发布于:2007-07-26 13:53
那可能是因为你的数据是在raster catalog里,你放大后就可以看到数据了
|
|
|