happytt
路人甲
路人甲
  • 注册日期2006-02-12
  • 发帖数51
  • QQ
  • 铜币269枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2308回复:5

VB+AO开发3D可视域分析的时候出现如下问题:

楼主#
更多 发布于:2006-04-08 16:27
小弟用VB+AO开发3D可视域分析的时候出现如下问题:
实时错误 '-2147467259(80004005)'
自动化错误
有人经历过么?我把代码复制如下,帮忙看看吧(此点图和DEM在Arcmap中测试没有问题的)
code:
Dim pRLayer As IRasterLayer
Dim pRaster As IRaster
Dim pLayer As IFeatureLayer
Dim pfc As IFeatureClass

'这里面需要注意添加图层的顺序

'Gets the point feature class assumes it's first layer in map
Set pLayer = MapControl1.Layer(1)
Set pfc = pLayer.FeatureClass
'Get the raster  assumes it's second layer in map
Set pRLayer = MapControl1.Layer(0)
'Set pRaster = pRLayer.Raster
Dim pRasterAnalysisProps As IRasterAnalysisProps
Set pRasterAnalysisProps = pRLayer.Raster

Dim pDEMGeoDataset As IGeoDataset
Set pDEMGeoDataset = pRasterAnalysisProps.RasterDataset

'Gets the IGeoDatasets to be used in the SurfaceOp
Dim pSurface As IGeoDataset
Dim pObservers As IGeoDataset
Set pSurface = pRaster
Set pObservers = pfc
'Create the output Raster
Dim pOutputRaster As IGeoDataset

Dim pRasterEnv As IRasterAnalysisEnvironment
Set pRasterEnv = New RasterSurfaceOp
pRasterEnv.SetCellSize esriRasterEnvValue, 30
pRasterEnv.SetExtent esriRasterEnvValue, MapControl1.ActiveView.Extent
Dim pDataset As IDataset
Set pDataset = pDEMGeoDataset
Set pRasterEnv.OutWorkspace = pDataset.Workspace
Set pRasterEnv.Mask = pDEMGeoDataset

'Creates and executes the Visibility
Dim pSurfaceop As ISurfaceOp
Set pSurfaceop = New RasterSurfaceOp
Set pOutputRaster = pSurfaceop.Visibility(pDEMGeoDataset, pObservers, 2)  ''''''''''''''出错行
'Create the new Raster layer from output and add to map doc
Dim pRasterLayer As IRasterLayer
Set pRasterLayer = New RasterLayer
pRasterLayer.CreateFromRaster pOutputRaster
'此处差输出
MapControl1.AddLayer pRasterLayer
喜欢0 评分0
happytt
路人甲
路人甲
  • 注册日期2006-02-12
  • 发帖数51
  • QQ
  • 铜币269枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-04-08 16:28
<P>最近刚刚开始学AO,还请大家多帮助呵</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2006-04-09 12:38
<P>没有测试</P>
<P>不过自动化错误的出现还很难判断具体原因</P>
<P>有可能是文件的访问权限,或者license未检测等等</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
happytt
路人甲
路人甲
  • 注册日期2006-02-12
  • 发帖数51
  • QQ
  • 铜币269枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2006-04-10 10:06
<P>楼上的提出的原因应该都没有可能吧,因为在arcmap用VBA的方式是没有问题的呀,不会在VB里面用AO就没有licence了?</P>
<P>会不会还有其他原因呢?</P>
举报 回复(0) 喜欢(0)     评分
happytt
路人甲
路人甲
  • 注册日期2006-02-12
  • 发帖数51
  • QQ
  • 铜币269枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2006-04-12 17:16
<P>特别奇怪的是有些人用这个代码却没问题,还可以运行出正确结果,晕了</P>
<P>有人能帮忙解释一下么</P>
举报 回复(0) 喜欢(0)     评分
flycui83
路人甲
路人甲
  • 注册日期2005-03-18
  • 发帖数46
  • QQ
  • 铜币247枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2006-04-17 10:57
dai ma mei cuo ! shi bu shi shuju benshen you wenti?
举报 回复(0) 喜欢(0)     评分
游客

返回顶部