数据源系统
数据源系统为 OpenLayers 提供数据管道,定义了地图数据如何获取、处理和传递到图层。该系统包括瓦片源、图像源、矢量源以及各种协议(XYZ、WMS、WMTS、WFS 等),为渲染管线提供数据。
关于数据源如何与图层集成的信息,请参阅 图层架构。关于数据格式和解析的详细信息,请参阅 数据格式和解析。
源类层次结构
源系统建立在良好定义的继承层次结构之上,该结构分离了不同数据交付模式之间的关注点。
核心源架构
源状态管理
所有源都从 Source 基类继承核心功能,包括状态管理、归属处理和投影支持。
瓦片源
瓦片源以基于网格的瓦片系统传递数据,每个瓦片代表特定缩放级别的特定地理区域。
瓦片源架构
|| 源类 | 协议 | 用例 | 关键特性 | || --- | --- | --- | --- | || 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 函数为特定瓦片坐标生成请求:
矢量瓦片实现
矢量瓦片需要对要素数据和格式解析进行特殊处理:
图像源
图像源提供覆盖较大地理区域的单张连续图像,通常用于非瓦片服务或静态图像。
图像源类型
图像加载管线
协议支持
源系统通过专门的源实现支持多种地理空间协议和标准。
WMS (Web Map Service) 支持
WMTS (Web Map Tile Service) 支持
WMTS 实现处理 capabilities 文档和矩阵集:
|| 组件 | 目的 | 实现 | || --- | --- | --- | || optionsFromCapabilities | 解析 WMTS capabilities | 从 XML 自动配置 |createFromWMTSTemplate | URL 模板生成 | 矩阵 ID、瓦片坐标 |Matrix Sets | 瓦片网格定义 | 特定于投影的网格 |Dimensions | 附加参数 | 时间、高程、自定义 |
数据流和集成
源通过标准化接口和事件与更广泛的 OpenLayers 架构集成。
源到图层集成
事件系统和缓存
源发出状态更改和数据加载事件,在整个系统中实现响应式更新:
专用源
栅格处理源
Raster 源支持跨多个输入源的像素级操作: