一,创建模型
创建GP模型过程:
通过在客户端调用创建好的GP服务,可以方便和容易的实现一些地理处理和分析功能。 GIS分析功能中生成等值线和等值面想必是常见的需求之一。
但是对新手来说,网上相关可参考的文章太少 实现的过程中难免处处碰壁。下面笔者把自己实现的过程步骤记录下来 给有用到的朋友做参考之用。
要点:
gp服务是在轻量级客户端调用的 所以对输入输出参数有要求 不可能像桌面软件那样传个shp文件或者影像图给模型工具。
关于建模的详细过程请参考ArcGIS的帮助文档或者在线帮助文档(http://webhelp.esri.com/arcgisserver/9.3/java/index.htm#geoprocessing/guide_-1963186772.htm),里面叙述得非常详细了。
1.建模过程:
这里的生成等值面用到了空间分析中的插值分析工具 IDW
在modelBuilder中添加该工具
Point是进行该分析运算的输入参数 它头顶上标的P 就表示了它是一个参数。右击Point 选属性 把其数据类型设置为Feature Set 。
双击IDW 或者右键点击打开
Z value filed是我们要进行分析的字段 (降雨等值面--雨量值、人口分布等值面--人口数等等),该字段在输入参数Point中已经定义好。
最后得到的模型图如下
Int工具-----栅格转矢量的时候 需要是数据为int 所以先取整
Raster to Polygon -------栅格转矢量
Clip-----对生成的等值面图层用背景地图进行裁剪 使其和地图重合。
设置outputMap为参数 让它作为参数输出。 保存模型。
2.模型测试
最后在ArcMap中测试上面建好的模型,在ArcToolbox中添加刚才建好的工具。双击打开然后选择输入参数。 最后运行结果如下 模型建立成功。
ArcGIS Server Flex API调用GP服务的一般步骤
1、说明
ArcGIS Geoprocessing提供了大量地理处理和分析工具,可根据需要对这些工具进行组合构造自己的GIS分析模型,然后发布成GP服务,以方便各种Web客户端调用。Flex API中提供了访问GP服务的接口,通过该接口和GP工具,可实现具有高级GIS分析功能的Web应用。
2、模型创建与测试
创建模型可在modelbuilder可视化环境下进行,也可使用Python脚本定义。模型创建完成需要在ArcMap环境下测试是否正常运行。
详细建模过程请参考ArcGIS的帮助文档。
3、GP服务发布
发布GP服务可使用两种资源类型:GP工具;包含结果图层的MXD文档。其中包含结果图层的MXD文档发布成GP服务时又有两种选择:一种只发布为GP服务;另一种发布成MapService和GP服务。第二种方式可预先在MXD文档中对结果图层渲染,这样可简化客户端的可视化工作。实际项目中选择使用哪一种方式,需要根据具体业务需要确定,不能一概而论。
4、GP服务测试
(1)在ArcMap中加载MapService
注意为方便测试,该MapService不能使用发布GP服务时一同发布出来的MapService。
(2)在ArcToolbox中添加GP服务
将发布的GP服务添加到ArcToolbox中,点击运行,生成的结果会自动添加到当前的地图中。
5、ArcGIS Server Flex API调用GP服务示例
上面几小节简单的介绍了GP工具的制作和GP服务的发布,本小节正式进入正题,讲讲如何使用ArcGIS Server Flex API调用GP服务。
GP服务分同步和异步两种执行模式,Flex API也提供了两种处理方式与之对应。Flex API调用GP服务使用的是Geoprocessor类。该类提供了execute(params)和submitJob(params)两个方法调用后台的GP服务进行数据处理,其中execute(params)对应的是同步执行模式,执行完成触发executeComplete事件。submitJob(params)对应的是异步执行模式,执行完成触发jobComplete事件。对GP服务结果的处理我们可以定义在这些complete事件中。如果GP服务处理过程比较简单而且耗费时间少,我们可以选择同步执行模式,但如果比较耗时,为避免客户端长时间等待,常使用异步执行模式。
为保证Flex API正常调用GP服务,在GP模型定义和GP服务发布过程需要,还需要注意以下几项:
(1)在配置MXD文档时,设置临时工作空间
在MXD中添加完GP工具后,如果未设置临时工作空间,则运行GP工具生成的结果将默认保存在C盘下,该路径会导致GP服务无法读取结果图层,可通过设置临时工作空间解决。设置方法:在ArcToolbox上右键选择Environment,设置scratchworkspace的路径即可。
(2)GP工具输出路径的处理
为方便访问输出图层,一般情况下使用环境变量来指定输出路径,即使用scratchworkspace变量,该变量指向ArcGIS Server的arcgisjobs目录。例如:%scratchworkspace%\idwraster。
(3)输出图层中文字符处理
如果GP工具中输出的图层名包含中文,需要更改为英文名称,否则添加到地图上的结果图层无法正常显示。
本示例以生成等值面为例,数据使用ArcGIS自带的World地图,软件环境使用ArcGIS Server9.3.1,ArcGIS for Flex API 1.3版本。示例代码如下:
(1)发布服务
将包含GP工具的MXD文档发布成同名的地图服务和GP服务。
(2)Flex调用GP服务
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import com.esri.ags.events.*;
import com.esri.ags.tasks.*;
import com.esri.ags.layers.*;
private function gpJobCompleteHandler(event:GeoprocessorEvent):void
{
var imageParameters : ImageParameters = new ImageParameters();
var myImageLayer2 :GPResultImageLayer = gp.getResultImageLayer(event.jobInfo.jobId,"dzhm",imageParameters);
//dzhm参数为GP工具中定义的输出文件名
baseLayer.visible = false;
map1.addLayer(myImageLayer2,0);
Alert.show("job:"+event.jobInfo.jobId);
}
]]>
</mx:Script>
<esri:Geoprocessor id="gp" url="http://xinli:8399/arcgis/rest/services/test/world_gdb/GPServer/IDW"
jobComplete="gpJobCompleteHandler(event)">
<esri:fault>
<![CDATA[
Alert.show(event.fault.message);
]]>
</esri:fault>
</esri:Geoprocessor>
<mx:Button x="10" y="10" label="执行">
<mx:click>
<![CDATA[
var params:Object = {};
gp.submitJob(params);
]]>
</mx:click>
</mx:Button>
<esri:Map id="map1" width="100%" height="100%">
<esri:ArcGISDynamicMapServiceLayer id="baseLayer" url="http://xinli:8399/arcgis/rest/services/test/world_gdb/MapServer"/>
</esri:Map>

- 大小: 5.6 KB

- 大小: 12.2 KB

- 大小: 13.3 KB
分享到:
相关推荐
【ArcGIS SERVER + FLEX + arcgis api for flex 入门及实例教程】 本文将详细介绍如何使用 ArcGIS Server 9.3 和 ArcGIS API for Flex 开发基于RIA(Rich Internet Applications)的Web GIS应用,适合初学者入门。...
在IT领域的GIS(地理信息系统)应用中,ArcGIS Server与Flex的结合为军事地图的定制化展示提供了强大的技术支持。本文将深入探讨如何在ArcGIS Server与Flex环境下绘制军标,这是一个涉及几何计算、图形渲染及空间...
开发Flex GIS应用通常涉及以下几个步骤:配置ArcGIS Server、创建地图服务、编写Flex应用、连接到服务并展示地图。Flex API提供了MapService、FeatureService等类,用于与ArcGIS Server通信。通过实例化这些类,...
假设以生成等值面为例,使用的数据为 ArcGIS 自带的 World 地图,软件环境为 ArcGIS Server 9.3.1 和 ArcGIS for Flex API 1.3 版本。 ```as3 <![CDATA[ import mx.controls.Alert; import ...
ESRI+Flex+Viewer框架的ArcGIS+Server开发ESRI+Flex+Viewer框架的ArcGIS+Server开发 ESRI+Flex+Viewer框架的ArcGIS+Server开发ESRI+Flex+Viewer框架的ArcGIS+Server开发 ESRI+Flex+Viewer框架的ArcGIS+Server开发...
ArcGIS Server是由Esri公司开发的一款高性能的地理信息系统服务器软件,它能够提供强大的地理数据处理、分析和展示能力,支持多种地图服务、地理处理服务以及数据访问服务。结合Java这一广泛使用的编程语言,可以...
根据文件标题“10 ArcGIS Server FLEX API(GP服务应用).pdf”和描述,本文件集中讨论了如何在ArcGIS for Flex环境中应用地理处理(Geoprocessing,简称GP)服务。地理处理是ArcGIS平台用于执行地理数据分析和转换...
arcgis server10.6.1相关全部安装包。全部都在里面,注意只有安装包哈! ArcGIS_Data_Interop_for_Desktop_1061_163752.exe ArcGIS_Data_Interop_for_Server_1061_164013.exe ArcGIS_Data_Reviewer_for_Desktop_1061...
标题中的“创建flex+arcgisserver+shp-arcmap安装.doc”暗示了这是一个关于集成Adobe Flex、ArcGIS Server和Shapefile(SHP)文件在ArcMap中的安装和配置教程。这个过程通常涉及到地理信息系统(GIS)开发,特别是...
为了深入理解和掌握ArcGIS+Server+Java开发,你可以参考Esri的官方文档,如《ArcGIS Server Java Developer Guide》。同时,通过阅读和实践压缩包中的"Arcgis+server+java开发实例"文件,可以进一步提升技能,了解...
标题中的"arcgis +Flex 开发框架"指的是一个集成开发环境,它允许开发者使用ArcGIS API for Flex构建GIS应用程序。ArcGIS API for Flex是Esri提供的一个JavaScript库,它提供了与ArcGIS Server进行交互的接口,使得...
ArcGIS Server + ArcGIS Desktop 9.3破解及安装
ArcGIS+Flex+API的地图应用
在GIS(地理信息系统)开发中,ArcGIS Server是一款强大的服务器端产品,用于托管、管理和发布地理空间数据和服务。结合.NET框架,开发者可以构建基于Web的应用程序,实现对地图和地理数据的各种操作,其中包括属性...
ArcGIS+ Liferay +Flex 安装部署
ArcGIS+API+for+Flex+教程,描述相关知识,方便初学者学习和使用。
要将Google Maps与ArcGIS Server结合,你需要在Flex应用中创建一个地图容器,既可以显示ArcGIS服务,也可以显示Google地图。 以下是一些关键步骤: 1. **配置环境**:确保已经正确安装了Flex Builder或相关IDE,并...
**ArcGIS Server 10.2.2 是 Esri 公司推出的强大的地理信息系统(GIS)服务器软件,它允许用户发布、管理和共享地理空间服务。这个版本提供了许多增强的功能和性能改进,使得地理数据的处理和分发更加高效。本文将...
【Flex for ArcGIS Server 开发笔记】 Flex for ArcGIS Server 是一种用于构建富互联网应用程序(RIA)的开发框架,特别适用于开发与地理信息系统相关的Web应用。由ESRI公司推出,它为ArcGIS Server 9.3提供了一种...
- **ArcGIS API for Flex** 为 ArcGIS Server 9.3 提供了一个全新的客户端开发方式,特别适合于构建 RIA(Rich Internet Applications)应用。 - **特点**:运行速度快、用户体验优秀。 - **应用场景**:地图数据...