WebGIS入门—-OpenLayers基本概念

WebGIS 天涯孤鸟 523℃ 0评论

一、OpenLayers概述

OpenLayers是一个专门为WebGIS客户端开发提供的JavaScript类库包,用于实现地图数据的网络访问。它访问地理空间数据的方法都符合行业标准,支持各种公开的和私有的数据标准和资源。OpenLayers支持OGC制定的WMS,WFS等网络服务规范,可以通过远程服务的方式,将以OGC服务形式发布的地图数据加载到OpenLayers客户端显示。OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。OpenLayers是一个开源的项目,是为互联网客户端提供强大的地图展示功能,包括地图数据显示与相关操作,具有灵活的扩展机制。

二、OpenLayers体系结构

OpenLayers将抽象事务具体化为类,其核心类是Map、Layer、Source、View,几乎所有的操作都是围绕这几个核心展开,以实现地图加载和相关操作。OpenLayers的体系结构如下:

从上图可见:把整个地图看作是一个容器(Map),核心为地图图层(Layer)、对应图层的数据源(Source)与矢量图层样式(Style)、地图表现相关的地图视图(View),除此之外,容器还包含了一下特殊的控件(Controls):比如缩放控件,鹰眼控件,全屏控件,也包含了一下交互(Interactions),比如:选中删除(Select),绘制图形(Draw)。以及绑定在Map和Layer上的一系列待请求的事件。底层是OpenLayers的数据源,即Image、KML、Json、OGC服务资源等。

三、OpenLayers投影与坐标系

大家都知道地球是一个不规则的椭圆球体,所以如果我们把它展开在桌面上,发现地图都会和实际有出入。所以人们发明各种各样的方式来缩小失真的程度,也就是投影。在OpenLayers中支持两种投影:一种是EPSG:4326,等同于WGS84坐标系,一种是是EPSG:3857,等同于900913,由墨卡托投影而来。OpenLayers默认使用EPSG:3857投影。EPSG:4326是最常用的投影,它是在地图上直接将经纬度当作X/Y轴来对待,而EPSG:3857则是将经纬度转为米作为单位来当作X/Y单位。
常见的地理坐标系有:地球坐标系(WGS84)、火星坐标系(GCJ-02)、百度坐标系(BD-09)

  • (一)、地球坐标系(WGS84):GPS全球定位系统使用而建立的坐标系统,最原始的坐标系,国外地图都是WGS84坐标系,由于WGS84坐标系不符合国家政策,所以国内互联网公司大多都采用GCJ-02坐标系。
  • (二)、火星坐标系(GCJ-02):GCJ-02坐标系是在WGS84坐标基础上,采用国家安全保密插件,通过人为操作对真实坐标进行加偏而得到的坐标。由于这个加偏并不是线性的加偏,所以各地的偏移情况都会有所不同。而加密后的坐标也常被人称为火星坐标系统。国内互联网公司大多使用的坐标系。比如腾讯地图,高德地图等等。
  • (三)、百度坐标系(BD-09):百度坐标系是在GCJ-02基础上,采用百度自身的加密算法,对GCJ-02坐标进行加密后得到的另外一种坐标系。目前使有百度坐标系的地图商有百度地图。
    由于存在着这些坐标系和投影,所有仅仅知道经纬度坐标是没有意义的。

三、OGC服务规范

OGC全称是开放地理空间信息联盟(Open Geospatial Consortium)。OGC为实现地理信息共享与互操作,定义了一系列的WebGIS的抽象接口与规范,包括:WMS、WFS、WMTS、WCS等。OpenLayer提供了对OGC服务规范很好的支持:

  • 一)、WMS:Web地图服务,利用具有地理空间位置的数据制作地图,返回的是图层级的地图影像,返回指定范围内的地图图片,可以用图片图层方式加载,也可以用瓦片图层方式加载。即:ol.layer.Image+ol.source.ImageWMS或ol.layer.Tile+ol.source.TileWMS加载。
  • 二)、WFS:Web要素服务,返回的是要素级的GML编码,并提供对要素的增加、修改、删除等操作,返回矢量数据,可以使用ol.layer.Vector+ol.source.Vertor加载
  • 三)、WCS:Web影像服务,面向空间影像数据,将这些数据在网上进行发布
  • 四)、WMTS:瓦片地图Web服务,改标准定义了一些操作,这些操作允许用户访问瓦片地图,返回的是单张瓦片使用ol.layer.Tile+ol.source.WMTS加载显示

转载请注明:猫头鹰工作室 » WebGIS入门—-OpenLayers基本概念

喜欢 (1)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址