GISBox支持WMS协议的技术突破

一、概述

GISBox‌是一款全免费、轻量级的GIS服务分发平台,‌全面支持OGC标准协议‌,包括WMS(动态地图渲染)、WMTS(瓦片地图服务)、WFS(矢量要素交互)及WCS(栅格数据服务),适用于快速搭建地理信息共享系统。

二、OGC标准服务

OGC(开放地理空间信息联盟)定义的GIS服务标准旨在实现数据互操作性,主流服务类型包括:

  • WMS‌(Web Map Service):动态生成地图图像,支持PNG/GIF/JPEG等格式,核心操作包括GetCapabilities、GetMap和GetFeatureInfo。
  • WMTS‌(Web Map Tile Service):预切片地图服务,通过分块提升性能,弥补WMS动态渲染的不足。
  • WFS‌(Web Feature Service):支持地理要素的增删改查,返回GML/JSON格式数据,适用于矢量数据交互。
  • WCS‌(Web Coverage Service):专用于栅格数据(如遥感影像),支持GeoTIFF等格式‌。‌‌

三、网络地图服务(WMS)

1、WMS的基础知识

  • GISBox提供对开放地理空间联盟(OGC)Web地图服务(WMS)的支持。 这是在 Web 上生成地图使用最广泛的标准,也是从GISBox请求地图产品的主要接口。使用 WMS使客户端可以无缝地叠加来自多个不同来源的地图。
  • GISBox的WMS实现完全支持该标准,并通过了OGC测试套件的认证。它包括各种渲染和标记选项,是用于栅格和矢量数据的最快的 WMS 服务器之一。
  • GISBox WMS支持重新投影到EPSG数据库中的任何坐标参考系。

2、WMS 版本之间的差异

1.1.1版和1.3.0版之间的主要区别是:

  • 在1.1.1中,使用命名空间指定的地理坐标系,被定义为具有经度/纬度的轴顺序。在1.3.0中,排序是纬度/经度。
  • 在GetMap作中,该参数在1.3.0中被调用。GeoServer支持这两个密钥,无论版本如何。
  • 在GetFeatureInfo作中,和参数是调用在1.3.0中。GeoServer支持这两个密钥,无论版本如何,除非处于CITE合规模式。

3、WMS的优势

WMS提供了一个用于请求地理空间地图图像的标准接口。这样做的好处是WMS客户端可以从多个WMS服务器请求图像,然后将它们组合成用户的单个视图。该标准保证这些图像都可以相互叠加,就像它们在现实中一样。许多服务器和客户端都支持WMS。

4、WMS 请求可以执行以下作:

  • 获取能力:检索有关服务的元数据,包括支持的作和参数,以及可用层的列表。
  • 获取地图:检索指定区域和内容的地图图像。
  • 获取功能信息:检索地图上像素位置的基础数据,包括几何和属性值。
  • 描述层:指示用于检索有关图层的其他信息的 WFS 或 WCS。
  • 获取传奇图形:检索为地图生成的图例。

四、WMS核心输出格式

WMS动态渲染地图时支持多种图像格式,主要通过format参数指定:

1、栅格格式‌

  • image/png:无压缩的透明背景格式,适合精确地图显示。
  • image/jpeg:有损压缩,适合照片类数据,但存在质量损失。
  • image/gif:支持256色,适合简单线条图形。‌
  • image/tiff:支持GeoTIFF,嵌入地理坐标信息。‌
  • image/webp:压缩率优于JPEG/PNG,但需额外插件支持。

2、矢量格式

  • image/svg:基于XML的矢量图形,可无限缩放。‌
  • application/pdf:支持多页地图导出。‌
相关推荐
页面仔Dony9 分钟前
Vue2 与 Vue3 深度对比
vue.js·前端框架
Juchecar1 小时前
Vue3 组件生命周期详解
前端·vue.js
Juchecar2 小时前
Vue3 模板引用 useTemplateRef 详解
前端·vue.js
YuJie2 小时前
vue3 无缝滚动
前端·javascript·vue.js
Juchecar2 小时前
Vue3 表单输入 v-model 指令详解
前端·vue.js
DevUI团队3 小时前
MateChat V1.7.0版本发布,前端智能化项目贡献者已经达到90+,智能化卡片特性持续演进,快来体验吧~
前端·vue.js·人工智能
Juchecar3 小时前
Vue3 事件处理 v-on 指令 (@) 详解
前端·vue.js
Chandler_Song4 小时前
Excel 转化成JSON
python·json
Juchecar4 小时前
Vue3 v-if、v-show、v-for 详解及示例
前端·vue.js