HTML5与ArcGIS(二)——HTML5时代下ArcGIS的发展之路默认分类
近几年来,随着SOAP、REST、RIA的等互联网技术的不断突破和迅速发展,GIS的应用模式也由传统的桌面应用转变为网络化的GIS应用,即Web GIS。在这种应用模式下,我们可以实现GIS资源的网上发布、浏览、下载,实现基于Web的GIS查询统计和分析。它有这么几个特点:
1、 系统一体化,涉及多部门、多业务的系统整合;
2、 工作协同化,强调各部门之间协同工作的能力;
3、 操作简单化,用户“傻瓜式”的操作需求,注重强调用户的操作体验;
4、 应用社会化,基于互联网可以应用于整个社会,有网络就有GIS应用。
这都是互联网技术带给GIS的飞跃,而最近Web业界又再一次的风起云涌,这一次的主角是HTML5——是近十年来Web标准最巨大的飞跃。作为Web核心语言HTML的规范,它的核心发生了巨大的变化,并非仅仅用来表示Web内容,它将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象、动画以及同电脑的交互都被标准化,从而可使我们不许要借助任何第三方控件即可实现以往RIA所实现的功能。这正是W3C 在HTML 5 proposal 中为 HTML5 赋予了的使命。可以说,它弥补了上一代 HTML 的不足,改变了我们建立网站和使用互联网的方式。
作为世界GIS技术的领导者,ESRI会如何运用HTML5,能带给ArcGIS平台怎样的飞跃呢?个人认为它至少可以帮助我们完善现在的Web GIS方案,理由可以从下面几个方面来说明:
帮助我们甩掉安装富客户端插件的包袱
基于RIA技术,可以帮助我们搭建界面很酷,具有良好用户体验的RIA GIS应用。首先,它为我们提供了丰富的对数据的展现方式,能够支持媒体元素;其次,它具备很强的客户端处理能力,包括离线存储、多线程处理、GUI加速等等;而且,它本身提供完善的开发机制,包括丰富的组件和事件驱动,能简化用户的操作。这也是我们应用RIA技术的目的所在。然而,这种应用模式下需要将RIA的第三方插件安装到Web浏览器中,对用户而言简直就是“多此一举”的事情,但是你不装又不行,原因很简单:因为当前的HTML标准太滞后,已经不能满足大家的口味了。而HTML5作为Web核心语言HTML的规范,它的新特性中首先就是增加了新的元素对象。如:视频元素<video>、音频元素<audio>、画布元素<canvas>,等。只需要通过引入一个标签就可以实现多媒体的播放或是在浏览器上绘制矢量图的能力,就像img标签一样方便。此外,HTML5还提供了更加强大的Javascript. API,例如Storage、Workers等,能够满足用户离线存储和并行计算的需求,从而大大提高客户端对数据的展示能力。
由此可以看出,在HTML5的时代,我们不需要借助第三方控件就可以满足目前RIA GIS的需求,帮助我们甩掉第三方插件的“包袱”。
轻松实现移动目标动态监测技术
网络技术的发展使得互联网覆盖世界的任意角落,因而GIS应用也就变得无处不在,随便什么地方那个手机就能上网获取和发送GIS资源信息。而HTML5的出现,为我们共享自己的位置信息提供了一个全新的、更加方便的方式——Geolocation API,它定义了一组高级的接口,能够实现地图定位功能,它可以通过用户所使用机器设备的IP等信息来确定用户所在位置的经纬度坐标,从而实现目标定位功能,为我们提供了一个更加容易实现的移动目标监控方案。在这种方案中,我们通过短短的几行代码,不仅可以实现获取用户的当前位置信息,并将位置信息在地图服务上进行标识,而且也可以实现对用户每一时刻位置信息的监控,可以比较不同时刻的位置信息。
比较遗憾的是,目前这种方案还不算成熟,主要原因是:首先,由于这种方式是根据用户的IP实现的定位,而我们获得的 IP 地理位置信息未必非常准确,因为这个IP是 ISP 分配给每个用户的,我们获得的事实上是 ISP 的地理位置。另外,如果你使用 VPN,你实际的得到可能是十万八千里之外的地方了。其次,就是安全和隐私问题,毕竟,并不是每个用户都愿意自己的地理位置信息被别人知道。虽然这种技术方案目前还不算成熟,不过随着网络通信、云计算等各种Web技术的发展,相信用不了多久,基于Geolocation API的应用会越来越多。
更加完美的Web三维解决方案
从上个世纪初期3D显示技术就开始发展了,已经有了几十年的历史,但真正走进人们的视野还是因为去年的3D电影《阿凡达》的上映,人们惊叹于这项技术通过电影带给人们的视觉冲击力,立体的画面让观众仿佛身临其境,更加接近真实世界的感受。而目前Web GIS应用模式下的3D方案还不算很成熟,要不是模型表现能力不足,就是没有有价值的分析功能,属于画在纸上的樱桃,没有解馋的功效。
HTML5的时代下,为我们提供了一线转机的机会,因为它内建了对3D技术的支持,即WebGL标准,它是一种把JavaScript和OpenGL ES 2.0结合起来,为HTML5 Canvas提供硬件3D加速渲染的网页3D绘图标准。该标准的草案中,网页开发者可以利用HTML5的相关技术来支持OpenGL ES 2.0接口,避免了针对不同浏览器开发多种插件的麻烦,同时加快了显卡支持3D网页对象的速度。
由此可见,HTML5为我们提供了更加丰富、更加高效的3D模型展现的技术,这一点,通过Web业界开发商开发的大量实例中得到验证。如果GIS平台能够很好的解决同HTML5融合的瓶颈,一定能够为用户提供更加完美的解。