查看原文
其他

【技术】聊聊实景三维中国空间码背后的剖分网格~

测绘之家 2022-07-17

The following article is from GIS小丸子 Author 深度抑郁患者

最近自然资源部国土测绘司发布了四份新型基础测绘与实景三维中国建设技术文件,其中技术文件3-《基础地理实体空间身份编码规则》中提到了关于使用GeoSQT剖分网格进行实体编码方法的介绍,发现目前GIS领域对这种剖分网格的应用已经比较多了,不仅仅限于全球离散网格这种学术领域,包括Cesium Next 、Ganos时空数据库、Uber也都在实际应用中使用了剖分网格,今天凑成一篇文章来聊一聊。

GeoSQT本质上属于全球离散格网(DiscreteGlobalGrid,DGG)的一种,全球离散格网是基于球面 (椭球面)的一种可以无限细分、但又不改变其形状的地球体拟合格网,当细分到一定程度时,可以达到模拟地球表面的目的,目前空间剖分的类型主要有三种:

1、基于理想多面体的球面剖分网格,基本方法是把理想多面体(正四面体、正六面体、正八面体、正十二面 体、正二十面体)的边投影到球面上作为大圆弧段, 形成球面三角形(或四边形、五边形、六边形)的边并 覆盖整个球面,作为全球剖分的基础;然后对球面多 边形进行递归剖分,形成全球连续的、近似均匀的球 面层次格网结构。其中,球面三角形、菱形和六边形是目前最流行的球面剖分单元。

基于理想多面体的剖分可使得各网格单元在全球范围内的形状相似、各向同性,但是如果从邻近距离来看,六边形的各向同性最好,因为相邻都只有一个距离。这种类型的网格性质虽然好,但是计算相对复杂一些,和现有经纬网兼容性不高。

Cesium Next 标准中提到的3DTILES_bounding_volume_S2中使用的就是基于正六面体的四边形剖分网格,同样是四边形网格,这种网格比经纬网能够更好的解决极点收敛的问题,在角点的地方分布相对比较均匀,同时根据文档的介绍Cesium的这种网格是基于一款名为“S2”的开源球面计算框架。

Uber为了精细化的进行需求以及定价的管理使用了基于基于正二十面的六边形网格来对需求、事件以及运力进行数据的组织和计算,因为出租车的数量以及需求的数量比较多,如果需求的计算要精确到每一个个体就会计算的代价比较高以及时效性比较低,但是如果这种计算和分析是以区域为单元则会相对高效很多。

2、基于Voronoi多边形的球面自适应剖分网格,球面自适应格网是以球面上实体要素为基础, 按照实体的某种特征剖分球面单元的方法。Lukatela在其开发的Hipparchus系统中,利用球面Voronoi多边形剖分 ,建 立 了 全 球 地 形 的 TIN模型,并采用Voronoi单元构建系统的索引机制,但是这种无法规则递归。

3、基于经纬网的球面剖分网格,GeoSOT就是这种类型的网格,GeoSOT网格设计的核心思想是:对自地心至地球外围5万km的地球立体空间,进行八叉树剖分,并且将地球经纬度空间进行三次扩展 (将地球及其邻近经纬度空间扩展为512°×512°×512°,将1°扩展为64′,将1′扩展为64″),从而实现整分整度整秒的剖分网格,形成一个大到整个地球空间(0级)、小到厘米级体元(32级)的多尺度八叉树网格树,同时涵盖4˚、2˚、1˚、2′、1′、2″、1″、0.5″八个基本体元或面片。这种网格最大的有点就是和现有的经纬网格兼容性比较好。

4、剖分网格编码的背后是“OneID”的理念

剖分网格这个概念本身是伴随着大数据这样的时代背景产生的,我们平时所说的数据治理很大一部分工作是在梳理数据,恢复数据潜在的关联,当然也有人很形象的把这一个动作的结果总结为“数据一拎,拎一串”,也有人把这个总结为OneID。

现代分工把业务打散了、组织打散了、信息化自然也就打散了,那随着高质量发展和精益管理的需要,管理开始向业务和组织要效率,而数据贯通则成为了关键的抓手。

以空间数据为例,不同的业务条线大多采用不同的数据组织标准,其中网格组织标准的不同是主要制约瓶颈。这些各异的网格标准包括 智慧城市的城市网格、遥感网格(景、瓦片等)、地理网格、测绘网格(图幅网格等)、气象网格、水文网格等,这些网格在各自行业内部的空间数据组织管理上发挥了积极作用,但由于它们划分方式不同,数据间尺度不统一,位置不统一,编码不统一,给数据整合与共享带来了困难(来自程承旗)。

而这正是剖分网格所想要解决的问题,剖分网格希望通过全球规则的递归剖分建立起全球统一的多尺度编码以及集成体系,然后建立起空间的位置、实体与当前统一编码的映射,这样就能够保证通过一套体系进行数据的组织、处理、分析和传递的效率等。

北斗位置码就是作为经纬度点位编码体系的重要补充,目的是在信息链的最前端实现空间位置网格化和一维整形的统一标识和表达,随着实景三维实体编码与GeoSQT剖分体系的统一,这种统一的编码正在逐渐向下游应用体系中传递。

比如,阿里云的Ganos基于GeoSOT全球网格剖分理论,结合PolarDB引入了一种全新的网格数据类型geomgrid,支持空天对象打码和网格对象计算等操作。空天网格码是在GeoSOT地球空间剖分理论基础上发展出的一种离散化、多尺度区域位置标识和度量体系。该体系的核心是用一种新的方法,将地心至地上6万公里的地球空间剖分成数以兆亿个大小不等、多尺度、高精度的网格群,同时为每一个网格赋予全球唯一的整形数标识编码。

空间位置编码除了唯一标识,还有一个重要的作用就是在空间剖分网格的基础上通过自相关曲线编码降低空间维度,以便于在顺序读取的磁盘上存取信息,为了保证磁盘读取的效率的高效,就需要在空间上保证自相关性,也就是空间上邻近的要素在存储上也应该邻近存储。

为此就需要引入空间填充曲线,空间填充曲线(space-filling curve)是一条连续曲线,自身没有任何交叉;通过访问所有单元格来填充包含均匀网格的四边形,常用的空间索引曲线有Z曲线、希尔伯特曲线,GeoSQT使用的Z曲线。

Z曲线

Hilbert曲线

Z曲线和Hilbert曲线共同特点:

  • 填充曲线值临近的网格,其空间位置通常也相对临近;

  • 任何一种空间排列都不能完全保证二维数据空间关系的维护(编号相邻,空间位置可能很远)

Z曲线和Hilbert曲线不同特点:

  • Hilbert曲线的数据聚集特性更优,Z曲线的数据聚集特性较差

  • Hilbert曲线的映射过程较复杂,Z曲线的映射过程较简单

5、为啥选择球面?

平面投影会产生不连续和变形,平面投影无法反映地球的拓扑结构,球面属于非欧空间,在集合上与平面不同胚,即同一空间数据在平面和椭球面所蕴涵的空间关系有时不等价(来自赵学胜),平面投影存在奇点和不连续需要处理,例如著名的墨卡托投影沿180度子午线不连续,在高纬度有大尺度畸变,不能代表南北两极。其他投影做出不同的妥协,但没有平面投影能很好地表示地球的整个表面。

6、为啥选择正球面而不是椭球面?

地球虽然也不是完全的一个椭球体,但它更接近于椭球体而不是球体,根据测算使用球形投影,对整个地球表面的近似表达,最大失真为 0.56%(来自S2文档)。目前的剖分网格大多数还是选择完美的正球面作为基础,这个部分主要是从性能方面考虑,基于椭球的计算仍然比正球上的相应操作慢几个数量级。

7、需要注意的一些特殊的网格

当然也有一种计算网格和上面的网格很“神似”,比如数值计算时候会用到的正交网格,六边形网格,但是这种网格比较关注数学上的严谨性,甚至为了达到比较好的计算效果会对网格的形状进行微调,但是这种网格并不关注严格的递归剖分,而且在变量的摆放上也有一点不相同的地方,在数值计算中个点、边、中心都是数据载体,但是编码网格更多的还是只针对网格单元,所以在地球模式数据集成方面会遇到一点冲突,这二者虽然神似,但是还是有一些轻微的区别的。

在城市大场景中应用剖分网格已经出现了不少的需求,我在实际的工作中也有应用方提出可以适当的集成一些这种统一编码的方案,所以有兴趣的可以适当关注一下这个领域。

-----END-----


社群交流 / 原创投稿 / 商务合作

(请添加下方小助手微信)

来源:GIS小丸子

推荐阅读

【关注】该市印发通知:全面开展工程建设项目“联合测绘”工作,试行注册测绘师签字制度!

【技术】三维实景建模案例全流程,你的建模过程还顺利吗?

【招聘】中国地调局1家京内单位招聘地图学与地理信息系统专业博士研究生

【最新】解读《新型基础测绘与实景三维中国建设技术文件(1-4)》

【行业】又有多地发布“三调”主要数据成果!速看→




推荐关注




温馨提示:近期,微信公众号信息流改版。每个用户可以设置 常读订阅号,这些订阅号将以大卡片的形式展示。因此,如果不想错过“测绘之家”的文章,你一定要进行以下操作:进入“测绘之家”公众号 → 点击右上角的 ··· 菜单 → 选择设为星标


↓↓↓点击下方“阅读原文”查看更多精彩内容...

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存