柿子树备忘录

vuePress-theme-reco 柿子树    2023
柿子树备忘录

Choose mode

  • dark
  • auto
  • light
首页
个人笔记
  • Web
  • GIS
  • Database
  • DevOps
  • 可视化
地图故事
生活点滴
归档
关于我
author-avatar

柿子树

109

Article

73

Tag

首页
个人笔记
  • Web
  • GIS
  • Database
  • DevOps
  • 可视化
地图故事
生活点滴
归档
关于我
  • GIS理论基础

    • GIS基础知识
    • 地图坐标系统
  • GeoServer笔记

    • 思维导图
    • 一、OGC简述

    • 二、基本使用

    • 三、服务标准

    • 四、图层加载

    • 五、服务端开发

  • Openlayers

    • 思维导图
    • 一、快速起步

    • 二、ol结构体系

      • 结构体系
      • 工作原理
    • 三、数据源加载

    • 四、常用控件

    • 五、几何对象与Style样式

    • 六、事件交互

    • 七、OGC服务

    • 八、常用示例

  • CesiumJS

    • 思维导图
  • WorldWind

    • WorldWindJava 学习笔记
    • OpenGL中的坐标系

结构体系

vuePress-theme-reco 柿子树    2023

结构体系

ac 2021-09-11 OpenLayers

# OpenLayers结构体系

# 1. WebGIS系统架构

WebGIS的系统架构与一般Web项目的架构没有太大区别,只是增加了用于处理地图数据的GIS地图服务器,配合表现层的地图API将地图数据信息展现给用户以及处理与用户的交互操作。

olconstruct

ol是在表现层中用于展示GIS地图服务器的数据服务和分析结果的JS库。

# 2. ol的体系架构

OpenLayers 是MetaCarta公司设计的一个模块化、高性能且功能丰富的WebGIS客户端的JS库,用于显示地图和空间数据以及交互操作。支持OGC指定的WMS、WFS等服务规范,可以通过远程服务的方式,将以OGC服务规范发布的地图数据服务加载到基于浏览器的客户端中显示。它所支持的数据格式有XML、JSON、GeoJSON、MVT、GML、GPX、KML、WFS、WKT等。

MVT(Mapbox -Vector-Tile):Mapbox矢量瓦片是Mapbox公司2013年推出的一个开源的矢量瓦片规范,它提供了一种超快速、高效的格式,强化了地图在交互特性、GeoJSON数据流、移动端渲染等方面的性能。

目前Openlayers的最新版本是6.x,默认情况下,使用经过性能优化的Canvas渲染器,同时也支持WebGL渲染器。

对于比较旧的浏览器,如IE,则需要转换程序包和polyfill绑定使用。

Openlayers 在调用地图服务进行显示的时候,主要通过其几个核心类(Map、Layer、Source、View等)完成。

olcore
Openlayes体系架构

我们可以从上图看出ol把地图Map作为一个容器,包含用来渲染图层的Layer、加载底层数据的Source、控制地图视图(分辨率、设置地图中心、分辨率、和旋转)的View、定义数据坐标参考的Projection、渲染矢量数据的Style、常用的控件Controls、用于在显示地图上显示信息窗口用叠加层Overlayers以及与用户交互相关的Interaction和地图事件MapEvent。