|
阅读:1334回复:2
通过SDE读取矢量和栅格数据
Dim pFeatureWorkspace As IFeatureWorkspace<br> Dim pFeatureDataset As IFeatureDataset<br> Dim pfeatureclass As IFeatureClass<br> Dim pFLyr As IFeatureLayer<br> Dim strname As String
<br>'数据库矢量数据========================================= <br> '打开矢量数据的workspace,通过SDE来打开数据库<br> Set pFeatureWorkspace = openSDEWorkspace("China250000")</p> <p> Set pFLyr = New featurelayer<br> strname = "Changchun"<br> Set pFLyr.featureclass = pFeatureWorkspace.OpenFeatureClass(strname) '打开选择的featureclass <br> pFLyr.Name = pFLyr.featureclass.AliasName '对图层进行命名<br> <br> Set pGeoDs = pFLyr<br> Set pClone = pGeoDs.SpatialReference<br> If pClone.IsEqual(frmMain.MapMain.SpatialReference) Or blnNoAgain Then '2006-5-09<br> Call frmMain.MapMain.AddLayer(pFLyr) '添加图层 <br> <br>'数据库栅格数据============================================ <br> <br> Dim pRasterDataset As IRasterDataset<br> Dim strRasterName As String <br> <br> Set pRasterDataset = GetRasterFromSDE(mdlFunction.Sdeserver, "5151/tcp", "China250000",mdlFunction.SdeUser, mdlFunction.SdePwd, "China250000.SDE.Changchun"<br> Set pRasLyr = New RasterLayer<br> pRasLyr.CreateFromDataset pRasterDataset<br> <br> strRasterName = GetMapNumName(pRasLyr.Name)<br> pRasLyr.Name = strRasterName<br> Set pGeoDs = pRasLyr<br> Set pClone = pGeoDs.SpatialReference <br>' <br> If pClone.IsEqual(frmMain.MapMain.SpatialReference) Then '2006-5-09<br> Call frmMain.MapMain.AddLayer(pRasLyr) <br> ElseIf MsgBox("所加图层与当前控件空间参考不同,是否继续添加", vbOKCancel, "信息提示") = vbOK Then<br> Set frmMain.MapMain.SpatialReference = pClone <br> Call frmMain.MapMain.AddLayer(pRasLyr) <br> End If</p> |
|
|
|
1楼#
发布于:2008-05-24 08:56
很好,谢谢你<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em05.gif" />
|
|
|
2楼#
发布于:2008-05-23 12:38
谢谢楼主,<img src="images/post/smile/dvbbs/em02.gif" />
|
|