全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
我只想快速开发简单的Web GIS应用,有没有比ADF控件再简洁一些的方式?我不想记那些复杂的AO接口,可是又喜欢ArcGIS Server漂亮的地图和强大的功能,怎么办?好吧,在9.2时代,面对这些问题,我们很头疼,但是ArcGIS Server 9.3已经插上了REST的翅膀!ArcGIS的fans们兴奋吧!期待吧!
虽然有些枯燥,但是技术细节总是绕不开的,ArcGIS Server 9.3以全新的REST方式实现了一些ArcGIS Server通用功能和服务,便于ArcGIS Server客户端开发,如javascript api。安装了ArcGIS Server 9.3之后,可以通过"http://<host>/<instance>/services/<folder>"方式来访问服务的根目录。其中"instance"默认为"arcgis/rest",里面列举了当前服务器上所有已启动的server服务,并且可以将这些服务列表导入Google Earth,格式为kmz。REST访问地址中,folder和service name是对大小写敏感的,folder前面的部分则没有影响。
点击根目录列举的一个服务,页面会展示该服务的所有基本信息,包括地图图层、图层编号、空间参考、部分cache信息、初始化地图显示范围、地图全图显示范围、地图单位、MXD文档基本信息。
发现其中的妙处了吗?现在只需要通过Http的URI就可以轻松的访问到ArcGIS Server的地图和服务了,我们要介绍的Javascript API就是基于这种方式实现的。REST本身其实是一个完美的技术理想,并没有这么简单,不过我们并没有必要搞清楚REST的所有细节才能享受到它带来的好处。还是让我们来看看基于REST构架的Javascript API吧,这才是更值得我们关注的!
第一章 基本框架
首先来看看JavaScript API是什么。JavaScript API是ArcGIS Server 9.3新增的一套API框架,为创建WebGIS应用提供了轻量级的解决方案,在客户端可以轻松地利用JavaScript API来调用ArcGIS Server所提供的服务,实现地图应用和地理处理功能。最让人兴奋的是这一切操作都是在客户端仅仅用脚本调用服务器端的接口完成的,不需要写任何的服务器端代码。
熟悉ArcIMS的人一定还记得曾经风靡一时的ArcIMS Blueviewer示例框架。里面的所有操作都是基于客户端实现,放大缩小平移都是在javascript脚本中完成的,将结果返回服务器得到我们所需的图片。当时这个Demo让很多人耳目一新。熟悉Blueviewer的程序员能够更好的把握WebGIS开发中的基础流程,并在其基础上写出漂亮的WebGIS+Ajax应用。类似的,JavaScript API也是纯粹的客户端操作,但是它基于更新更炫的Dojo库,并用面向对象的方式重新封装了功能。
理论上我们可以对JavaScript API无限扩展,以实现ArcGIS Server所有服务器端功能,目前已经封装好的基础功能有:
1.以用户数据和服务器端服务结合显示交互性的地图
2.执行一个GIS空间分析模型并显示结果
3.在ArcGIS在线基础地图上显示我们自己的数据
4.对属性或几何图形进行搜索并显示结果
5.搜索地址并显示结果
JavaScript API包含的资源组件有:
Maps--支持ArcGIS Server上cache和非cache地图的显示,还可以在客户端按需要指定投影参考系,这样就可以轻松实现跟各种标准地图服务的叠加
Graphics--绘图,和通过鼠标、键盘等操作实现属性信息的展示或地理操作
Tasks--和ADF Tasks类似,提供Querying、Finding addresses、Finding attributes、Identifying features、Geoprocessing等丰富的GIS功能
基于Dojo和其他库进行扩展--比如利用Dojo widgets,google maps api,virtual earth api等等。
ESRI选择Dojo作为JavaScript API基础库有如下几点好处:
1.Dojo宽松的使用许可,基于标准的开放式应用
2.Dojo功能全面,事件设计模式、矢量图形支持、显示效果、widgets、Ajax、JSON等都是ArcGIS Server客户端开发所需要的,并且Dojo利于扩展,方便Mashup应用,并且有大量的参考资料
3.IBM、Sun、AOL等公司的支持,可轻松跟各种大型系统集成