orther
Jun 30
ArcGIS Server Flex API调用GP服务的一般步骤

1、说明

ArcGIS Geoprocessing提供了大量地理处理和分析工具,可根据需要对这些工具进行组合构造自己的GIS分析模型,然后发布成GP服务,以方便各种Web客户端调用。Flex API中提供了访问GP服务的接口,通过该接口和GP工具,可实现具有高级GIS分析功能的Web应用。

2、模型创建与测试

创建模型可在modelbuilder可视化环境下进行,也可使用Python脚本定义。模型创建完成需要在ArcMap环境下测试是否正常运行。

详细建模过程请参考ArcGIS的帮助文档。

3GP服务发布

发布GP服务可使用两种资源类型:GP工具;包含结果图层的MXD文档。其中包含结果图层的MXD文档发布成GP服务时又有两种选择:一种只发布为GP服务;另一种发布成MapServiceGP服务。第二种方式可预先在MXD文档中对结果图层渲染,这样可简化客户端的可视化工作。实际项目中选择使用哪一种方式,需要根据具体业务需要确定,不能一概而论。

4GP服务测试

1)在ArcMap中加载MapService

注意为方便测试,该MapService不能使用发布GP服务时一同发布出来的MapService

2)在ArcToolbox中添加GP服务

将发布的GP服务添加到ArcToolbox中,点击运行,生成的结果会自动添加到当前的地图中。

5ArcGIS 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的路径即可。

2GP工具输出路径的处理

为方便访问输出图层,一般情况下使用环境变量来指定输出路径,即使用scratchworkspace变量,该变量指向ArcGIS Serverarcgisjobs目录。例如:%scratchworkspace%\idwraster

3)输出图层中文字符处理

如果GP工具中输出的图层名包含中文,需要更改为英文名称,否则添加到地图上的结果图层无法正常显示。

本示例以生成等值面为例,数据使用ArcGIS自带的World地图,软件环境使用ArcGIS Server9.3.1ArcGIS for Flex API 1.3版本。示例代码如下:

1)发布服务

将包含GP工具的MXD文档发布成同名的地图服务和GP服务。

2Flex调用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>
Jan 22
1. 打开SQL Server 配置管理器,启用TCP/IP

image

缺省情况下使用的是动态端口,不必修改。

如果客户端要求必须使用固定TCP端口,在IPAll的TCP端口中设置(例如设成1433),同时TCP动态端口保持空。

image

2. 重启SQL Server(SQLEXPRESS)服务,不必重启SQL Server Browser服务

Aug 13

新换了机器,操作系统是windows2003的发现官方最新下载的MSN8.5也无法安装.结果发现这是一个普遍问题,通过MSI类型文件就可以安装。原文还提供了其他程序的安装。

下载单组件: 用迅雷下载
Windows Live Mail 12.0.1606 下载
Windows Live Messenger 8.5.1302.1018 下载
Windows Live 照片库 12.0.1308.1023 下载
Windows Live Writer 12.0.1366.1026 下载
Windows Live Writer 更新包 12.0.1367.1128 下载
Windows Live Toolbar 03.01.000.0146 下载
Windows Live OneCare Family Safety 2.0.5817.2 下载
Windows Live OneCare Family Safety 更新包2.0.6010.0 下载
Windows Live Login 下载
在 Windows 2003 下就可以安装了。有问题请继续跟贴。

原文:http://forum.livesino.net/viewthread.php?tid=397

Apr 7
数据恢复软件作为一种应急装备一般情况下大家可能不会涉及,但人无完人,人总有犯错误的时候,误删除在电脑操作中并不少见,这时数据恢复软件就如救命稻草能解燃眉之急。数据恢复软件很多,要在浩瀚的软件堆中找到适合自己的部分并不是一件容易的事情。前不久,本人因误删了数码相机存储卡上的一些影像文件,就经历了一次寻找适用数据恢复软件的过程。   因本人的存储卡容量并不大,而且不想占用过多时间和硬盘空间,所以对于数据恢复软件有几个基本要求:1、容量小;2、速度快;3、不用注册;4、当然是恢复效果好。在百度搜索了几次之后,依次下载了几个软件。  首先是Recover4all Professional 2.26 汉化版,因为据介绍该软件是“Windows 系统下短小精悍、功能强大、人手必备的文件反删除工具,只用几秒钟就可以将误删除的文件恢复”。正是因为它“小”,容量才355KB,并且无需安装,我才首选下载了它。

Dec 11
adobe cs3 系列windows下只支持 xp sp2 和vista ,如果不符就不能安装。
但事实上在windows2003上运行没问题。

只是需要对安装程序进行一个小修改。

方法如下:找到安装包里面的WinBootstrapper1.cab 文件,将只读属性取消。

然后用解压工具winrar 将cab解开,找到_11_1c3517d600d57b2021fc5e7402e13a8e文件,

用编辑软件打开(记事本就可以)

改变一下2个地方:

if (1 == windowsType)
{
validOSServer2003 = false;
validOSXP = true;
}
else
{
validOSXP = false;
validOSServer2003 = true;
}

改为

if (1 == windowsType)
{
validOSServer2003 = true;
validOSXP = true;
}
else
{
validOSXP = false;
validOSServer2003 = false;
}



分页: 1/4 第一页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]