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

从ArcIMS 到 ArcGIS Server Javascript API 开发

从ArcIMS 到 ArcGIS Server Javascript API 开发
不同之处在于ArcIMS 应用发送的是ArcXML 接收的是 ArcXML ,而ArcGIS server REST 应用发送的是GET (POST)请求 接收的是 JSON。在之前 我们就说过 ArcIMS之所以广受用户的好评,就是因为其架构优秀,逻辑清晰,开发方便,而ArcGIS server REST 也秉承了这个优点,其架构也是这种发送请求 接受结果的模式,不但结构清晰也利于开发者的开发调试。通过对其发送接受请求的分析能使我们更清楚地认识这点。

       1、为什么是ArcGIS server REST

       下面的两幅图分别描述了ArcIMS ArcGIS server REST的是请求机制

       ArcIMS


       ArcGIS server REST


       从图中的我们可以清晰地看出,如果把黄色虚线内看成是黑箱的话,其两种服务采用完全一样的结构(Webservice) 不同之处在于ArcIMS 应用发送的是ArcXML 接收的是 ArcXML ,ArcGIS server REST 应用发送的是GET (POST)请求 接收的是 JSON。在之前 我们就说过 ArcIMS之所以广受用户的好评,就是因为其架构优秀,逻辑清晰,开发方便,而ArcGIS server REST 也秉承了这个优点,其架构也是这种发送请求 接受结果的模式,不但结构清晰也利于开发者的开发调试。通过对其发送接受请求的分析能使我们更清楚地认识这点。

       应用向ArcIMS的发送请求   getFeatures)


       上面一个就是在ArcIMS里发送的查询请求,请求是在cities图层中查询名称是San diego的地图要素。而下面的Axl就是ArcIMS接受到请求返回的查询结果。 


       从中我们可以看出San Diego地图要素的一些信息

       下面这个请求是应用向ArcGIS server REST的发送请求 getFeatures)


       不同于向ArcIMS发送的ArcXML POST方式,这个请求是通过GET方式发送的字符串,从字符串的参数中我们可以看出,其是向地图服务为USA的第0图层 cities图层)发送一个请求,查询其 city_NAME=San Diego 的地图要素

       下面是ArcGIS server REST接受到请求后返回的查询结果。


       从上面可以看出,ArcGIS server REST ArcIMS 是如此的相似,都是请求应答模式,而相对于ArcIMS AXL而言ArcGIS server RESTJSON更适于脚本语言的解析(xml在不同浏览器下解析方法有很大区别),而且相同内容JSONAXL更小,这个在大数据结果返回中是很重要的,不仅仅如此 ArcGIS server REST对于ArcIMS开发人员 而言还具有不需要额外学习AO知识 ,入门迅速,等诸多方面优势。

       为什么是 JavaScript

       在ArcIMS中使用最多的就是JavaScript开发(其次是java connector~),在很多项目中都是JavaScriptGIS 应用,DotNetjavaJ2EE 作业务逻辑,我相信大多数ArcIMS开发人员对JavaScript开发并不陌生。

       JavaScript WebGIS 开发大致分为以下的三类:

       1、地图的展示, DIV IMG的抽换

       2、信息的查询 发送AJAX请求

       3、动态信息的地图展示

       对于marker  pop 就是DIV

       对于Graphic 就是 VML/SVG

       下面这个是利用JavaScriptArcIMS 请求地图的全过程,其中 urlArcIMS服务器servlet connector的地址,axl 为发送的getmap 请求。


       其步骤:

       1、客户端JavaScript建立xmlhttprequest 通道,向ArcIMSservlet connector 发送axl请求(黑色JavaScript代码)

       2ArcIMS 接受到请求生成图片

       3、通过刚才客户端发起建立的xmlhttprequest 通道,ArcIMS发送AXL给客户端,告知生成的地图图片的url

       4、客户端JavaScript解析收到的AXL,并告知页面html抽换DIV中的图片指向url(紫色代码)

       5、页面通过新的url地址取到ArcIMS刚才生成的地图图片,展示给客户。     

       相对于ArcIMS而言 ArcGIS server REST地图请求更为简单,如下图


       其步骤:

       1、利用JavaScript拼接请求的url串,传给html

       2、页面请求url

       3ArcGIS server REST 接受这个URL 生成地图图片以流的方式传给页面

       4、页面展示地图图片给用户

       二

       以上的Javascript代码没有用到任何API,其主要目的就是向大家说明,在有强大的服务端支持(ArcIMS/ArcGIS server REST)下利用JavaScript开发WebGIS 应用是一件多么惬意的事情。而且 不要忘了,我们还有封装大量要素的Javascript API !

       好,ArcIMS ArcGIS server 的对比介绍就到此为止,从下一章开始 我们就到真正的编码工作,使用ArcGIS server Javascript API开发。

      京ICP备2025132830号-1 京公网安备 号