WebGIS

WebGIS(网络地理信息系统)是指工作在 Web 网上的 GIS,是传统的 GIS 在网络上的延伸和发展,具有传统 GIS 的特点,可以实现空间数据的检索、查询、制图输出、编辑等 GIS 基本功能,同时也是 Internet 上地理信息发布、共享和交流协作的基础。

简单说就是 Web 技术加 GIS 技术,通过 Web 进行构建应用,通过 GIS 手段实现各类空间信息相关的功能。

GIS

GIS 理论

在开发中常见的地图坐标系,如大地坐标系统 WGS-84、火星坐标系统 GCJ-02、百度坐标系统 BD-09 等,常见的地图投影方法如墨卡托投影、高斯-克吕格投影等,以及常用的空间分析功能及其作用,如缓冲区分析、可达性分析、最短路径分析等。

OGC 标准

OGC 全称是开放地理空间信息联盟(Open Geospatial Consortium),是一个非盈利的国际标准组织,它制定了数据和服务的一系列标准,GIS 厂商按照这个标准进行开发可保证空间数据的互操作。常见的服务有地图服务(WMS)、矢量服务(WFS)、栅格服务(WCS)等。

地图可视化

在 GIS 开发及应用中,地图可视化是地理数据展示的一种途径,应用地图来分析和展示与位置相关的数据,可以比数据表、数字等形式更为明确直观,让人一目了然。因此,应具有一定的地图可视化能力,如数据展示的方式、地图颜色搭配等。

地图切片原理

目前越来越多的地图服务用到瓦片技术,例如我国实行发布的天地图服务就运用了地图瓦片技术。瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。在 WebGIS 开发中,该方式可节省地图的绘制时间,减轻服务器压力,但切片之后的地图瓦片是栅格图像,并不具备定位信息,不过切片运用了相关切片算法之后,可以计算出具体定位的位置。例如采用 WGS84 大地坐标系为空间参考,对地图进行切片,采用一定的切片算法,例如用经纬度步长等比例分割形成地图瓦片,当需要对一个具体地方进行定位时,可以根据经纬度步长来计算具体位置,以此来达到定位的功能。

gis 解决方案

对于 leaflet、mapBox、cesium 从数据管理的方式做一下简单类比:

  • leaflet 以图层的方式管理数据,一切的数据(点、线、面)都可以看做成独立的图层,开发者只需要对相应的图层执行挂载、卸载即可;
  • mapbox 以资源的方式管理数据,mapbox 最常见的数据管理可以通过加载标准的 geoJson 数据,然后在后续的地图操作中可以指定相对应的资源 id;
  • 对于普通的前端开发,cesium 推荐使用实体的方案管理地图中的数据,一切皆为实体。

在 gis 代码编写过程中需要注意代码的优化,及时的卸载各种事件的监听、数据的销毁、否则极容易造成地图的卡顿,cesium 要尤为注意。

Cesium

Cesium 是一款面向三维地球和地图的,世界级的 JavaScript 开源产品,它提供了基于 JavaScript 语言的开发包,方便用户快速搭建一款零插件的虚拟地球 Web 应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

Cesium 是基于 Apache2.0 许可的开源程序,它可以免费的用于商业和非商业用途,它隶属于 AGI(Analytical Graphics Incorporation)公司。

经过多年来在时空数据的积累,AGI 公司逐渐掌握了大量 3D 可视化技术,也感受到各行各业对海量 3D 数据的强烈需求,因此于2011 年创建了 CesiumJS 开源项目,围绕 Cesium 生态圈打造了一套安全可靠易扩展且平台独立的企业级解决方案。

而 Chrome 也是在2011年2月份推出了支持 WebGL 的第一个版本,在这点上,Cesium算是第一个敢吃螃蟹的人,Cesium 原意是化学元素铯,铯是制造原子钟的关键元素,通过命名强调了 Cesium 产品专注于基于时空数据的实时可视化应用。

Cesium 可以做什么

  • 支持全球级别的高精度的地形和影像服务
  • 支持 2D、2.5D、3D 形式的地图展示,真正的二三维一体化
  • 支持矢量、海量模型数据(倾斜,BIM,点云等)
  • 支持基于时间轴的动态数据可视化展示

Cesium 的浏览器兼容性

你可以在浏览器中访问 WebGL Reportopen in new window 来查看你的浏览器支持情况。

参考资料

http://cesium.xin/ http://cesium.xin/cesium/cn/

Last Updated:
Contributors: Rain9