第一,首先要明确自己需要调用arctoolbox里面的什么工具,实现什么样的功能。

第二,按照需求看看在arctoolbox工具中是怎么实现功能的,然后确定需要的数据源。

第三,编写command或tool工具,编写自己要的功能工具。

第四,以自己编写的一个简单的克里金插值为例来说明一下。(自己曾经没有用调用GP的方式实现这个功能写了很长很长的代码,但是试过了调用GP工具的方式,只用了那么几行简单的代码就OK了,还是很方便的,呵呵)。

1)首先创建一个工程。

2)创建一个Icommand类。

3)定义工具的名称等信息

public Kriging()
        {
            base.m_category = "GPTools";
            base.m_caption = "克吕金插值"; 
            base.m_message = "克吕金插值";
            base.m_toolTip = "克吕金插值";
            base.m_name = "Kriging";  
            try
            {
                string bitmapResourceName = GetType().Name + ".bmp";
                base.m_bitmap = new Bitmap(GetType(), bitmapResourceName);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex.Message, "Invalid Bitmap");
            }
        }

4)在单击的方法中填写代码

public override void OnClick()
        {
            Geoprocessor GP = new Geoprocessor();
            ESRI.ArcGIS.Analyst3DTools.Kriging pKriging = new Kriging();
            pKriging.in_point_features = @"E:\海平面气压.shp";
            pKriging.z_field = "pslv";
            pKriging.out_surface_raster = @"E:\\Krigingnew";
            pKriging.semiVariogram_props = "Spherical";
            GP.Execute(pKriging, null);
        }

当然,可以编写个界面的形式,可以自动选择in_point_features 与out_surface_raster 的路径。这样更人性化一点,这里只是简单的写写。

5)运行程序即可,在arcmap中调用试了一下,还是挺成功的。

本来克里金插值插出来grid数据是一个规则边界的(根据插值的范围来定的Extent),上面的图是插值后经过Extraction后的效果,看起来好看多了。

Extraction工具也可以调用GP工具,代码如下:

Geoprocessor GP = new Geoprocessor();
         ESRI.ArcGIS.SpatialAnalystTools.ExtractByMask pExtractByMask = new pExtractByMask();
         pExtractByMask.in_raster = @"C:\map\grid\dqjsl";
         pExtractByMask.in_mask_data = @"C:\map\XZJQ_ShiJi_R";
         pExtractByMask.out_raster = @"C:\map\clipresult";
         CommonClass.RunTool(GP, pExtractByMask, null);

当然还可以设置其他的细节的东西,比如各用到的参数等。

AE调用GP工具的方法(转)的更多相关文章

  1. 利用C#与AE调用GP工具

    转自原文 利用C#与AE调用GP工具 第一,首先要明确自己需要调用arctoolbox里面的什么工具,实现什么样的功能. 第三,编写command或tool工具,编写自己要的功能工具. 1)首先创建一 ...

  2. AE调用GP工具(创建缓冲区和相交为例)

    引用 Geoprocessing是ArcGIS提供的一个非常实用的工具,借由Geoprocessing工具可以方便的调用ArcToolBox中提供的各类工具,本文在ArcEngine9.2平台环境下总 ...

  3. JAVA基于AE调用GP实现泰森多边形

    调用GP实现数据处理是较快捷.较易入手的方法. 使用JAVA语言基于AE调用GP实现泰森多边形的代码例如以下: public void CreatVoronoi(){ try { GeoProcess ...

  4. Silverlight调用GP工具实现缓冲分析

    目的: 在地图上点击一个点生成一个缓冲区. 1.制作GP工具: GP工具制作按照http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.h ...

  5. c# 调用ArcEngine的GP工具

    转自原文c# 调用ArcEngine的GP工具,AE调用GP工具 IAoInitialize m_AoInitialize = new AoInitializeClass(); esriLicense ...

  6. ArcGIS API for javascript开发笔记(六)——REST详解及如何使用REST API调用GP服务

    感谢一路走来默默支持和陪伴的你~~~ -------------------欢迎来访,拒绝转载-------------------- 一.Rest API基础 ArcGIS 平台提供了丰富的REST ...

  7. AE开发实现GP工具IDW

    IDW——空间插值 IDW(Inverse Distance Weighted)是一种常用而简便的空间插值方法,它以插值点与样本点间的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大. 设平 ...

  8. JDBC的增删改写成一个方法,调用一个工具类

    package com.hx.jdbc.connection; import java.sql.Connection; import java.sql.Statement; import com.my ...

  9. ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试

    原文:ArcGIS API for Silverlight 调用GP服务准备---GP模型建立.发布.测试 第一篇.GP降雨量等值线建模.发布及测试 在水利.气象等行业中,要在WebGIS中实现空间分 ...

随机推荐

  1. oracle迁移postgres之-oracle_fdw

    1. 安装oracle_fdw 在编译安装前,需要设置postgres的环境变量,如在.bash_profile中增加: export ORACLE_HOME=/u01/app/oracle expo ...

  2. su- 与su的区别

    su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成root身份了.只有切换了Shell环境才不会出 ...

  3. 今天被PHP短标签给坑了

    <?=$var?><?php echo $var; ?> 上面这两种写法是等价的,但由于某些空间提供商并未开启短标记,所以还是推荐使用标准格式吧,今天被这东西坑了!!

  4. activity的四种加载模式

    在android里,有4种activity的启动模式,分别为: standard, singleTop, singleTask和singleInstance, 其中standard和singleTop ...

  5. angularjs $broadcast 和 $on 的使用及其注意事项

    下面是demo: <div ng-controller="ParentCtrl"> www.111cn.net //父级 <div ng-controller=& ...

  6. PHP Problem with the SSL CA cert (path? access rights?)

    1.php使用curl模块报错问题 开发遇到问题,直接使用系统的curl命令正常,使用php的curl模块报错 错误:PHP Problem with the SSL CA cert (path? a ...

  7. C++多线程の8*2重多线程创建方式

  8. angular源码阅读的起点,setupModuleLoader方法

    angular源码其实结构非常清晰,划分的有条有理的,大概就是这样子: (function(window,document,jquery,undefined){ //一些工具函数 //EXPR 编译器 ...

  9. QT笔记之解决QT5.2.0和VS2012中文乱码 以及在Qt Creator中文报错

    转载:http://bbs.csdn.net/topics/390750169 VS2012 中文乱码 1.方法一: 包含头文件 #include <QTextCodec> ....... ...

  10. 讯时网关IP对接PBX

    先配置呼入 1.在网关的中继线绑定号码 2.在路由表写入到PBX 路由到 pbx  IP     绑定的号码和路由的 fxo后面的数字要一致 3.在PBX 建一个sip中继,host为网关IP 4.创 ...