『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS Engine 10 开发手册(6-6)ArcGIS Engine 开发利器GP

ArcGIS Engine 10 开发手册(6-6)ArcGIS Engine 开发利器GP
Geoprocessing 是 ArcGIS 的一个基础组成部分,它提供了数据分析、数据管理和数据转换等大多数 GIS 用户常用的工具。

    Geoprocessing ArcGIS 的一个基础组成部分,它提供了数据分析、数据管理和数据转换等大多数 GIS 用户常用的工具。 GIS 程序通常需要操作和分析地理数据,如将数据集从一种投影转换为另一种投影, 要素添加缓冲区。ArcGIS 10 包括了超过七百个 Geoprocessing 工具来执行这些任务。


    在开发一个 ArcGIS Engine 的应用程序的时候,这些 Geoprocessing 工具也经常被用到,为了降低开 发难度和提高开发效率,Esri ArcGIS Engine 9.2 中添加了 GeoProcessor 类,更为可贵的是我们知道 ArcMap 中我们可以自定义一些用来解决相关问题的工具,而 Engine 提供的这个类也可以调用我们自定义的工具。

 

    在使用 GeoProcessor 时,一般需先定义一个 GeoProcessor 对象,Geoprocessor.Geoprocessor 简化调用 Geoprocessing 工具任务的主要对象。这个对象是执行 ArcGIS 中任何 Geoprocessing 工具的唯 一访问点,它是一个粗粒度对象,包含了许多属性和方法,在设置完操作类的参数后,则通过 GeoProcess or Excute 函数来执行,Excute 方法中需要一个操作对象作为参数,如:IntersectClip 等,具体包 含哪些操作类,可通过 ArcToolBox ESRI 的帮助文档查找。Geoprocessor 对象可以使用任何语言,包括. NET Java 等来进行访问。

 

     示例:利用GP实现Intersect分析

     在 ArcMap 中要实现 Intersect,我们只需要找到 Intersect 工具,打开,然后设置相关的参数,如下:

 

 

 

     在 ArcGIS Engine 中,我们也可以利用寥寥数句,完成和这个一样的功能,代码如下:

 

 

 

     从这简短的代码可以看出,几乎是零代码就完成了一个 Intersect 操作,但是我还是要强调下,在 Ar cGIS Engine 中,由于许可的原因,并不是所有的工具都可以通过这样的操作实现,但是 ArcGIS Desktop Editor 级别的工具在 ArcGIS Engine Geodatabaseupdate 许可中是可以完全实现的,如果要实现 ArcGI S Desktop Info 中的所有功能,那么就要有 ArcGIS Desktop Info 的许可,这一点还请牢记。

      京ICP备08100627号-22 京公网安备 11010802030428号