阅读:2308回复:5
VB+AO开发3D可视域分析的时候出现如下问题:
小弟用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 |
|
1楼#
发布于:2006-04-08 16:28
<P>最近刚刚开始学AO,还请大家多帮助呵</P>
|
|
2楼#
发布于:2006-04-09 12:38
<P>没有测试</P>
<P>不过自动化错误的出现还很难判断具体原因</P> <P>有可能是文件的访问权限,或者license未检测等等</P> |
|
|
3楼#
发布于:2006-04-10 10:06
<P>楼上的提出的原因应该都没有可能吧,因为在arcmap用VBA的方式是没有问题的呀,不会在VB里面用AO就没有licence了?</P>
<P>会不会还有其他原因呢?</P> |
|
4楼#
发布于:2006-04-12 17:16
<P>特别奇怪的是有些人用这个代码却没问题,还可以运行出正确结果,晕了</P>
<P>有人能帮忙解释一下么</P> |
|
5楼#
发布于:2006-04-17 10:57
dai ma mei cuo ! shi bu shi shuju benshen you wenti?
|
|