Skip to content

数据源系统

数据源系统为 OpenLayers 提供数据管道,定义了地图数据如何获取、处理和传递到图层。该系统包括瓦片源、图像源、矢量源以及各种协议(XYZ、WMS、WMTS、WFS 等),为渲染管线提供数据。

关于数据源如何与图层集成的信息,请参阅 图层架构。关于数据格式和解析的详细信息,请参阅 数据格式和解析

源类层次结构

源系统建立在良好定义的继承层次结构之上,该结构分离了不同数据交付模式之间的关注点。

核心源架构

SVG
100%

源状态管理

所有源都从 Source 基类继承核心功能,包括状态管理、归属处理和投影支持。

SVG
100%

瓦片源

瓦片源以基于网格的瓦片系统传递数据,每个瓦片代表特定缩放级别的特定地理区域。

瓦片源架构

|| 源类 | 协议 | 用例 | 关键特性 | || --- | --- | --- | --- | || XYZ | HTTP/HTTPS | 标准瓦片服务器 | 模板 URL、瓦片网格 |OSM | HTTP/HTTPS | OpenStreetMap | 预配置的 XYZ 源 |WMTS | OGC WMTS | 标准兼容 | 基于 Capabilities 的设置 |TileWMS | OGC WMS | WMS 作为瓦片 | 参数处理、GetFeatureInfo |BingMaps | Bing API | Bing Maps | 四叉键寻址、元数据 |VectorTile | 多种 | 矢量数据 | MVT、PBF 格式 |

瓦片 URL 生成

瓦片源使用 URL 函数为特定瓦片坐标生成请求:

SVG
100%

矢量瓦片实现

矢量瓦片需要对要素数据和格式解析进行特殊处理:

SVG
100%

图像源

图像源提供覆盖较大地理区域的单张连续图像,通常用于非瓦片服务或静态图像。

图像源类型

SVG
100%

图像加载管线

SVG
100%

协议支持

源系统通过专门的源实现支持多种地理空间协议和标准。

WMS (Web Map Service) 支持

SVG
100%

WMTS (Web Map Tile Service) 支持

WMTS 实现处理 capabilities 文档和矩阵集:

|| 组件 | 目的 | 实现 | || --- | --- | --- | || optionsFromCapabilities | 解析 WMTS capabilities | 从 XML 自动配置 |createFromWMTSTemplate | URL 模板生成 | 矩阵 ID、瓦片坐标 |Matrix Sets | 瓦片网格定义 | 特定于投影的网格 |Dimensions | 附加参数 | 时间、高程、自定义 |

数据流和集成

源通过标准化接口和事件与更广泛的 OpenLayers 架构集成。

源到图层集成

SVG
100%

事件系统和缓存

源发出状态更改和数据加载事件,在整个系统中实现响应式更新:

SVG
100%

专用源

栅格处理源

Raster 源支持跨多个输入源的像素级操作:

SVG
100%