博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Geoprocessing 消息机制
阅读量:6226 次
发布时间:2019-06-21

本文共 1275 字,大约阅读时间需要 4 分钟。

  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();
ExpandedBlockStart.gif
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); 
ExpandedBlockStart.gif
if (pResult.getMessageCount() > 0)   { 
ExpandedSubBlockStart.gif 
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); 
ExpandedBlockStart.gif
if (pResult.getMessageCount() > 0)   { 
ExpandedSubBlockStart.gif 
for(
int i = 0;  i <= pResult.getMessageCount() - 1; i++){
  System.out.println(pResult.getMessageCount());
 }
}

本文转自Flyingis博客园博客,原文链接:http://www.cnblogs.com/flyingis/archive/2007/04/12/710309.html,如需转载请自行联系原作者

你可能感兴趣的文章
模拟键盘按键
查看>>
angularJS内置指令一览
查看>>
Redis的管理
查看>>
数字电路建模 - jchdl
查看>>
Tomcat6.x+jndi配置
查看>>
SDWebImage
查看>>
全同态加密算法
查看>>
搭建hexo博客
查看>>
shell编程(一)基础
查看>>
图的着色问题
查看>>
( 转)UVM验证方法学之一验证平台
查看>>
Jdbc&Web
查看>>
MySQL 数据类型
查看>>
对于WEB APP安全问题的一些思考
查看>>
《Unicast QoS Routing Algorithms for SDN Survey 2018》【毕设 - 论文阅读】
查看>>
修改上传文件控件的样式-----html,css
查看>>
Firebug控制台详解[转]
查看>>
使用Flash Builder 4.6出现 新建配置 失败 java.lang.NullPointerException错误
查看>>
Frp基础配置模版
查看>>
JDK源码阅读--Object
查看>>