lanqiuping
路人甲
路人甲
  • 注册日期2004-12-22
  • 发帖数21
  • QQ
  • 铜币5枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2272回复:6

关于土石方量算的AO

楼主#
更多 发布于:2005-04-26 22:34
<P>最近在做一个关于土石方量算的AO,看了帮助文档,可以通过调用cutfill方法来实现。我用C#编了一下,编译没有错误,可是运行后点击鼠标就是没有东西,不知道是什么原因,如果有做过的或者是哪位会的话帮我看看下面的代码,告诉我问题出在哪里。
public IGeoDataset CutFill()
{  ISurfaceOp  pSurfaceOp=new RasterSurfaceOpClass();
   object zFactor=1;
   IGeoDataset pbeforeGeoDataset=(IGeoDataset)OpenRasterDataset
           ("d:\\","elevation.aux");
    IGeoDataset pafterGeoDataset=(IGeoDataset)OpenRasterDataset("d:\\","hillshade.aux");
   IGeoDataset pOutputRaster=pSurfaceOp.CutFill(pbeforeGeoDataset,pafterGeoDataset,ref zFactor) ;
    return pOutputRaster;  
  } </P>


<P>public IRasterDataset OpenRasterDataset(string directoryName, string fileName)
{
//Open the raster dataset with the given name.
//directoryName is the directory where the file resides
//fileName is the filename to be opened
//Open the workspace
IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();</P>
<P>// define the directory as a raster workspace
IRasterWorkspace rasterWorkspace = workspaceFactory.OpenFromFile(directoryName, 0) as IRasterWorkspace;</P>
<P>//Open the raster dataset
 IRasterDataset rasterDataset = null;
 rasterDataset = rasterWorkspace.OpenRasterDataset(fileName);</P>
<P>// Return raster dataset
 return rasterDataset;
  }</P>
<P>private void button2_Click(object sender, System.EventArgs e)
{
       CutFill();</P>
<P>  }</P>
喜欢0 评分0
我很笨,但我很勤快!!!! QQ:35152929
星期天
论坛版主
论坛版主
  • 注册日期2004-03-16
  • 发帖数1327
  • QQ16940978
  • 铜币655枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-04-27 10:00
<img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
天天很自由!我想我能……
举报 回复(0) 喜欢(0)     评分
星期天
论坛版主
论坛版主
  • 注册日期2004-03-16
  • 发帖数1327
  • QQ16940978
  • 铜币655枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-04-27 10:00
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" />
天天很自由!我想我能……
举报 回复(0) 喜欢(0)     评分
星期天
论坛版主
论坛版主
  • 注册日期2004-03-16
  • 发帖数1327
  • QQ16940978
  • 铜币655枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-04-27 10:01
<img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" />
天天很自由!我想我能……
举报 回复(0) 喜欢(0)     评分
lanqiuping
路人甲
路人甲
  • 注册日期2004-12-22
  • 发帖数21
  • QQ
  • 铜币5枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-04-27 20:07
今天又做了一些完善,就是把pOutputRaster转成RasterLayer在MAP里显示,然后调用Attribuate Table显示最后填挖的体积。不过在使用.ToRasterDataset()把IGeoDataset转成IRasterDataset的时候出了点故障,编译没有错误,调试出错。不知道哪位知道怎么样把GeoDataset转成RasterDataset?
我很笨,但我很勤快!!!! QQ:35152929
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
5楼#
发布于:2005-04-27 20:43
<P>最好是把调试的错误写出来,那样大家好看些</P><P>数据的转换在arctoolbox里有工具,函数在帮助里也可以找到的</P><P>现在电脑上没有软件,帮不上忙,改天上来看</P>
举报 回复(0) 喜欢(0)     评分
lanqiuping
路人甲
路人甲
  • 注册日期2004-12-22
  • 发帖数21
  • QQ
  • 铜币5枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2005-04-28 11:37
<P>在启动的时候出现这样的错误:</P><P>未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 WindowsApplication1.exe 中。</P><P>其他信息: 未指定的错误</P><P>是在pOutput=pConversionOp.ToRasterDataset( pOutputRaster,"GRID", pWorkspace,"pOutput1");这个语句上。与此相关的语句是</P><P>   IWorkspaceFactory pWksF=new RasterWorkspaceFactoryClass();
   IWorkspace pWorkspace=pWksF.OpenFromFile(pathToWorkspace,0);
   IConversionOp pConversionOp=new RasterConversionOpClass();
   IRasterDataset pOutput=new RasterDatasetClass();
   pOutput=pConversionOp.ToRasterDataset( pOutputRaster,"GRID", pWorkspace,"pOutput1");
   从昨天到现在一直调都是这个错误,用逐语句调也就调到这里出错,我实在查不出来了。希望大家能帮我看看</P>
我很笨,但我很勤快!!!! QQ:35152929
举报 回复(0) 喜欢(0)     评分
游客

返回顶部