全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
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 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 请求。
其步骤:
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地图请求更为简单,如下图
其步骤:
1、利用JavaScript拼接请求的url串,传给html
2、页面请求url
3、ArcGIS server REST 接受这个URL 生成地图图片以流的方式传给页面
4、页面展示地图图片给用户
二
以上的Javascript代码没有用到任何API,其主要目的就是向大家说明,在有强大的服务端支持(ArcIMS/ArcGIS server REST)下利用JavaScript开发WebGIS 应用是一件多么惬意的事情。而且 不要忘了,我们还有封装大量要素的Javascript API !
好,ArcIMS 和 ArcGIS server 的对比介绍就到此为止,从下一章开始 我们就到真正的编码工作,使用ArcGIS server Javascript API开发。