网络分析与网络数据集—功能调用SOAP API
2010-09-10 17:14
417 查看
ArcGIS Server发布的服务都是标准的Web Service。在ArcGIS的安装目录下(10.0的位置是ArcGIS Install Home/Server10.0/XmlSchema,以前的版本,呃,只能麻烦大家自己找下了),有很多后缀为wsdl的xml文件,它们描述了Web Service的接口。如果在你的机器上安装了ArcGIS Server的SDK,那么你可以使用ArcGIS Server预先生成好的SOAP代理类和值对象调用Server的服务及其提供的功能;如果你的机器上没有安装任何ArcGIS的东西,也没有关系,只要你有.NET或者Java的开发环境,输入ArcGIS Server相应服务的地址,使用这些开发环境提供的工具可以自己生成本地的代理类和值对象,如下图。
我们这里还是用ArcGIS Server预先生成好的代理类和值对象演示下,SOAP API如何实现路径分析的功能。
整个流程和AO是类似的,最后计算结果的处理有点差别,这里我就不贴代码了,可以参考帮助文档关于NAServerRouteResults的部分。
在ArcGIS 10之前SOAP API只支持路径分析、最近设施查询、服务区域分析,10新增支持OD代价矩阵、车辆路径规划、L-A,实现的方式可以参考路径分析。我们在能够使用SOAP API的情况下尽可能使用SOAP API,因为AO API会频繁调用远程的COM对象,影响系统的性能。
我们这里还是用ArcGIS Server预先生成好的代理类和值对象演示下,SOAP API如何实现路径分析的功能。
// Get the NAServer string serverName = "heyb"; string instance = "arcgis/services"; string serviceNameAndType = "ESRISH/NAMapSample/MapServer/NAServer"; NAServerProxy naServer = new NAServerProxy("http://" + serverName + "/" + instance + "/" + serviceNameAndType); if (naServer == null) throw (new System.Exception("Could not find the web service.")); // Get the NAServerSolverParams string[] naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers[0]) as NAServerSolverParams; // Set the NAServerRouteParams NAServerRouteParams routeParams = solverParams as NAServerRouteParams; routeParams.ReturnMap = false; routeParams.ReturnRouteGeometries = true; routeParams.ReturnStops = true; routeParams.ReturnDirections = true; // Geocode two addresses and create the stop network locations PropertySet[] propSets = new PropertySet[2]; propSets[0] = GeocodeAddress(address_x1, address_y1, addressName1); propSets[1] = GeocodeAddress(address_x2, address_y2, addressName2); NAServerPropertySets StopsPropSets = new NAServerPropertySets(); StopsPropSets.PropertySets = propSets; routeParams.Stops = StopsPropSets; // Solve the Route NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams);
整个流程和AO是类似的,最后计算结果的处理有点差别,这里我就不贴代码了,可以参考帮助文档关于NAServerRouteResults的部分。
在ArcGIS 10之前SOAP API只支持路径分析、最近设施查询、服务区域分析,10新增支持OD代价矩阵、车辆路径规划、L-A,实现的方式可以参考路径分析。我们在能够使用SOAP API的情况下尽可能使用SOAP API,因为AO API会频繁调用远程的COM对象,影响系统的性能。
相关文章推荐
- 网络分析与网络数据集—功能调用REST API
- 网络分析与网络数据集—功能调用
- 网络分析与网络数据集—功能调用AO API
- 网络分析与网络数据集—功能调用GP服务
- 腾讯地图api调用示例-功能-画多边形画圆自动复制一个
- 第4节 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用【Linux内核分析】
- php调用支付宝PHP接口API实现在线即时支付功能
- 网络分析与网络数据集—引言
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
- 调用Google的API实现简单的翻译功能
- 关于几个iOS 7 API的功能分析:文本转语音、免费托管IAP以及3D地图等
- RxAndroid和Retrofit结合使用-网络调用和生命周期分析
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- 网络分析与网络数据集—网络分析的实际应用
- 腾讯云cdn自动刷新api调用功能实现-python
- Linux内核分析课程--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- 网络分析与网络数据集—创建网络数据集(三)
- JS通过调用微信API实现微信支付功能的方法示例
- 网络分析与网络数据集—网络分析的实际应用
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数