小秋的家

home

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  1 Posts :: 91 Stories :: 17 Comments :: 0 Trackbacks

1、为什么是ArcGIS server REST

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

  ArcIMS 

 image001.png

  ArcGIS server REST

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

应用向ArcIMS的发送请求   (getFeatures)

image005.png 

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

image007.png 

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

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

image009.png

       不同于向ArcIMS发送的ArcXML 的POST方式,这个请求是通过GET方式发送的字符串,从字符串的参数中我们可以看出,其是向地图服务为USA的第0图层 (cities图层)发送一个请求,查询其 city_NAME=San Diego 的地图要素
       下面是ArcGIS server REST接受到请求后返回的查询结果。

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

为什么是 JavaScript ?

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

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

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

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

3、动态信息的地图展示
         对于marker  pop 就是DIV
         对于Graphic 就是 VML/SVG


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

image013.png 

  其步骤:
       1、客户端JavaScript建立xmlhttprequest 通道,向ArcIMS的servlet connector 发送axl请求(黑色JavaScript代码)
       2、ArcIMS 接受到请求生成图片
       3、通过刚才客户端发起建立的xmlhttprequest 通道,ArcIMS发送AXL给客户端,告知生成的地图图片的url
       4、客户端JavaScript解析收到的AXL,并告知页面html抽换DIV中的图片指向url(紫色代码)
       5、页面通过新的url地址取到ArcIMS刚才生成的地图图片,展示给客户。

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

image015.png
  其步骤:
         1、利用JavaScript拼接请求的url串,传给html
         2、页面请求url
         3、ArcGIS server REST 接受这个URL 生成地图图片以流的方式传给页面
         4、页面展示地图图片给用户

      以上的Javascript代码没有用到任何API,其主要目的就是向大家说明,在有强大的服务端支持(ArcIMS/ArcGIS server REST)下利用JavaScript开发WebGIS 应用是一件多么惬意的事情。而且 不要忘了,我们还有封装大量要素的Javascript API !
本篇文章来源于 GIS空间站 转载请以链接形式注明出处 网址:http://www.gissky.net/Article/1701.htm

posted on 2009-11-25 17:30 棋剑小秋 阅读(629) 评论(0)  编辑  收藏 所属分类: GIS

只有注册用户登录后才能发表评论。


网站导航: