SuperMap iServer新增支持FlatGeobuf数据

2023-08-24  本文已影响0人  非法小恋

导语

FlatGeobuf是一种地理数据存储格式,采用了二进制编码,相比其他文本或XML格式更高效,可以显著减小文件大小,这使得数据的传输和存储更加快速和高效。
SuperMap iServer 11i(2023) (以下简称SuperMap iServer11.1)新增对FlatGeobuf表述支持,可实现分段传输和按需加载效果,下文将详细介绍如何实现。

一、FlatGeobuf简介

1.1 什么是FlatGeobuf

FlatGeobuf是一种用于存储地理要素的坐标、类型的二进制编码格式,能够存储简单要素规范下的要素数据(如点、线、面等)。

FlatGeobuf 格式与传统的 Shapefile、GeoJSON 等文件格式类似,均支持地理空间矢量数据的存储,但 FlatGeobuf 格式具有更高的存储效率和更快的读写速度,适用于大量静态数据的编码与传输。使用 FlatGeobuf 格式存储和传输数据,可以加快网络传输速度,从而优化用户的使用体验。

1.2 FlatGeobuf优缺点

优点

缺点

关于FlatGeobuf更多信息:https://github.com/flatgeobuf/flatgeobuf

1.3 FlatGeobuf适用场景

二、如何使用FlatGeobuf

2.1 SuperMap iServer

SuperMap iServer 11.1默认支持对地图查询(queryResults)、数据查询(featureResults)等资源返回 FlatGeobuf 格式,文件格式*.fgb。
如下图所示,地图查询结果可以使用fgb表述返回。


SuperMap iServer 11.1支持输出 FlatGeobuf 格式的服务能力如下:


2.2 SuperMap iClient

SuperMap iClient 11.1(Leaflet、Openlayer、MapboxGL)支持直接访问云存储.fgb文件或通过SuperMap iServer 11.1 服务返回的FlatGeoBuf格式文件,并支持流式传输和渲染(关于FlatGeoBuf示范程序请访问https://iclient.supermap.io/站点进行查看)

FlatGeoBuf 数据有全量加载和按需加载两种加载策略,可以通过修改前端代码中FGBLayer的加载策略参数 strategy,选择all(全量加载)和bbox(按需加载)来优化浏览体验。


全量加载FlatGeoBuf 2500万点数据效果:

按需加载FlatGeoBuf 2500万点数据效果:

三、FlatGeobuf与GeoJSON性能对比

测试环境 CPU:Intel(R) Core(TM) i7-10875H
内存 16G
浏览器 Chrome 113
测试数据 5万地类图斑面数据(619万节点,每条记录含26个属性字段)udbx存储
测试版本 supermap-iserver-11.1.0-windows-x64.zip
测试方法 1.地图查询、数据查询返回GeoJSON表述与FlatGeobuf表述文件大小对比;<br /> 2.地图查询、数据集查询从Web端查询到浏览器渲染GeoJSON表述与FlatGeobuf表述性能对比;

3.1 文件大小

1)地图查询

返回记录 GeoJSON FlatGeobuf(全量加载) FlatGeobuf(按需加载)
5千面(145万节点) 57.9 MB 24.4MB 11.2 MB
1万面(198万节点) 80.9 MB 34.7 MB 15.7 MB
5万面(619万节点) 264 MB 116 MB 26.2 MB

2)数据集查询

返回记录 GeoJSON FlatGeobuf(全量加载) FlatGeobuf(按需加载)
5千面(145万节点) 57.9 MB 24.2 MB 11.1 MB
1万面(198万节点) 81.1 MB 34.3 MB 15.5 MB
5万面(619万节点) 264 MB 114 MB 25.7 MB

3.2 Web端动态查询到浏览器渲染性能对比

1)地图查询

返回记录 GeoJSON FlatGeobuf(全量加载) FlatGeobuf(按需加载)
5千面(145万节点) 7.3s 3.1s 1.9s
1万面(198万节点) 10.5s 5s 3.1s
5万面(619万节点) 55s 31s 21s

2)数据集查询

返回记录 GeoJSON FlatGeobuf(全量加载) FlatGeobuf(按需加载)
5千面(145万节点) 9.4s 2.1s 0.96s
1万面(198万节点) 12s 4.1s 1.7s
5万面(619万节点) 43s 23s 12s

3.3 总结

  1. SuperMap iServer 地图查询和数据集查询,返回FlatGeobuf表述相较GeoJSON体积减少42%;
  2. 按需加载FlatGeobuf表述,返回数据量大小视浏览范围内数据量决定,总体较FlatGeobuf全量加载体量更小;
  3. 数据集查询比地图查询性能高,且使用FlatGeobuf 比使用 GeoJSON 效率高;

综上,FlatGeobuf表述在Web端进行地图查询与数据查询较GeoJSON表述,结果数据体量小、加载速度快。建议用户在相似场景中优先选择使用FlatGeobuf表述。

(转发请注明出处:https://www.jianshu.com/u/829cbce64381 如发现有错,请留言,谢谢)

上一篇 下一篇

猜你喜欢

热点阅读