欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap 谈天说地
   您现在位于: 首页技术专栏ArcGIS应用与开发AO开发 → 正文
Geoprocessing 消息机制
07-11-15 09:14:52 作者:Flyingis 出处:Flyingis
 ArcToolbox每个工具执行之后,都会向Geoprocessor返回消息,包括操作何时开始,使用哪些参数,操作的进度,以及可能出现的问题和错误。消息的种类包括常规消息、警告、错误,GPMessage类可以包含消息的文本及严重等级。

    首先,Geoprocessor.getMessage()方法可以捕获最后一个工具执行后返回的错误消息

String messages  =  gp.getMessages( 2 );
System.out.println(messages);

    如何使用GPMessage

// if there was an error then you want to loop the messages
// returned by the geoprocessor to look for the error
GPMessages gpMessages  =  (GPMessages)gp.getReturnMessages();
for ( int  i  =   0 ;  i gpMessages.getCount(); i ++ {
 System.out.println(gpMessages.getMessage(i).getDescription());
}

    可以看出,上面都是通过GeoProcessor的方法来获取消息,除此之外还可以使用IGeoProcessorResult接口,从功能上来说它们没有多少区别。

//  Execute Union
IGeoProcessorResult pResult  =  gp.execute(uniontool,  null ); 
if  (pResult.getMessageCount()  >   0 )  
 
for ( int  i  =   0 ;  i  <=  pResult.getMessageCount()  -   1 ; i ++ ) {
  System.out.println(pResult.getMessageCount());
 }

}

    另外我们还可以自定义输出的方法,根据程序执行的过程,可以添加的方法有AddMessage、AddWarning、AddError。下面的示例将feature class从一个工作区复制到另外一个工作区,并跟踪显示每个文件复制的情况。

//  Execute Union
IGeoProcessorResult pResult  =  gp.execute(uniontool,  null ); 
if  (pResult.getMessageCount()  >   0 )  
 
for ( int  i  =   0 ;  i  <=  pResult.getMessageCount()  -   1 ; i ++ ) {
  System.out.println(pResult.getMessageCount());
 }

}

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    Geoprocessing 数据批处理
    Geoprocessing 数据批处理

    关于我们 友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.

                   滇ICP备05006901号