云栖大会全空间数据库Session

简介: Ganos三维引擎针对三维数据管理提出创新解决方案,旨在解决传统技术栈中的数据分散与冗余问题。该引擎提供表面网格模型、体网格模型及实景模型三种存储结构,支持高效三维空间计算与大规模模型渲染。其ST_SnapToPolygon和ST_Loft函数可实现地形与路网无缝贴合,显著提升三维建模效率与精度。通过SQL操作,Ganos可在数秒内完成复杂三维模型生成与处理,适用于交通仿真等多种应用场景,推动数字孪生技术的“视算一体”发展。

关于Ganos三维引擎
三维数据管理是当前时空领域的热点,以数字孪生为代表的一系列三维空间系统应运而生,推动各类管理业务逐步走向精细。这种背景下,三维数据采集类别越发多样,采集精度越发提升,业务背后的三维空间计算效率与大规模三维模型渲染效率也逐步成为空间信息系统的痛点。
为了解决传统空间技术栈中“文件管、瓦片看、客户端算”所带来的数据资产分散、数据冗余及技术架构复杂问题,Ganos提出了基于大规模元胞网格构建视算一体能力的方案。存储方面,Ganos三维引擎提供了表面网格模型(SFMesh)、体网格模型(VOMesh)与实景模型(Scene)三种存储结构,其中表面网格模型用于存储带有语义的类BIM的精细化三维模型,体网格模型用于存储地质体等匀质/非匀质“场”类三维模型,3D实景模型用于存储倾斜摄影、精白模等用于渲染的三维模型;计算方面,Ganos提供了多种三维空间计算函数,并且将PolarDB弹性并行查询能力(ePQ)拓展到三维计算中,在多个数字孪生应用中实测全空间复杂分析计算效率相较于传统方案有50倍以上的提升;渲染方面,作为数据库产品,Ganos并不直接提供渲染引擎,但依托矢量快显的构建经验,Ganos将快显能力延伸至了三维数据,除了库内提供模型简化、纹理材质处理外,还提供了三维存储结构统一动态构建三维瓦片的方式直接对接渲染引擎提供可视化服务。
关于三种三维存储结构的差异,可以参考系列文章的第一篇:《Ganos三维引擎系列(一):倾斜摄影数据管理与可视化功能解析》
基于Ganos三维引擎的路网地形处理能力
业务需求
在交通领域需要构建车流相关的仿真应用,往往需要先采集高精路网数据,之后形成高速公路的孪生底板做为支撑。但我们会发现,高精路网与可以公开获取到的地形数据(DEM)往往有较大的精度差距,这样会造成路网悬浮在地形上空或者穿插在地形下方,造成使用不便。一般情况下,需要将这两份数据导入三维建模软件,之后会手动编辑三角网的方式,让它们可以贴合,这个过程往往需要大量的时间与人力成本。
随着数字孪生在各领域的应用纵深,如何快速的融合各类数据达到业务要求成为普遍研究的问题,高速孪生中地形与路网快速贴合能力的建设正是其中之一。
功能介绍
地形与路网贴合能力主要依赖ST_SnapToPolygon和ST_Loft两个函数实现,其中:
• ST_SnapToPolygon函数主要用于Polygon3D对象与SFMesh对象的贴合
• ST_Loft函数主要用于通过三维截面与方向生成隧道
1、ST_SnapToPolygon
对于给定的地形(SFMesh)和道路面(Polygon3D),处理道路两侧的地形顶点,使其平滑衔接到道路表面。
语法
sfmesh ST_SnapToPolygon(sfmesh sfmesh, geometry geom, f8 zlowd, f8 zupd, f8 buffer, i4 times);
参数
参数名称
描述
sfmesh
地形mesh对象
geom
道路面对象(Polygon3D)
zlowd
道路面沿 Z 方向处理时,路面下方的最大距离,取值范围(0, +\infin)
地形部分到路面距离大于 zlowd 的不处理,对应现实中的桥梁地形
zupd
道路面沿 Z 方向处理时,路面上方的最大距离,取值范围(0, +\infin)
地形部分到路面距离大于 zupd 的不处理,对应现实中的隧道地形
buffer
平滑贴合处理的缓冲区距离,取值范围(0, +\infin)
buffer 取值越大,对路侧地形的处理影响范围越大,建议 buffer 值小于道路宽度的 5 倍,生成效果比较理想
times
平滑处理的次数,次数越多效果越好。
默认值:20,建议取值范围在[5, 20]之间。
示意图
示例
SELECT BOX3D(ST_SnapToPolygon(
ST_3DIntersection(ST_3DMakeSphere(1.0, 4), 'BOX3D(-1 -1 0, 1 1 1)'::box3d),
'POLYGON((-5 -0.1 0.5, 5 -0.1 0.5, 5 0.1 0.5, -5 0.1 0.5, -5 -0.1 0.5))',

0.5, 0.5, 0.5, 10));

BOX3D(-1 -1 0,1 1 0.782785594463348)
2、ST_Loft
将截面沿三维路径进行放样/挤出,生成闭合的三维体。
语法
• meshgeom ST_Loft(geometry geom2d, geometry line3d, int4 chamfer);
参数
参数名称
描述
geom2d
geometry 对象,仅支持 Polygon2D 类型
line3d
geometry 对象,支持 LineString3D 类型
chamfer
倒角平滑的分段数,取值范围(2, 10)
描述
将二维Polygon沿着三维路径进行放样/挤出, 三维路径的拐角处采用圆弧贝塞尔曲线进行倒角平滑。
chamfer 数值越大越平滑,产生的 meshgeom 顶点也越多。
示意
将一个带洞的二维多边形沿三维路径放样,chamfer 参数为 4 。
示例
SELECT ST_AsText(ST_Loft(
'POLYGON((0 0, 1 0, 1 1, 0 0), (0.5 0.5, 0.6 0.5, 0.6 0.6, 0.5 0.5))',

'LINESTRING(0 0 0, 10 0 0, 10 10 0, 10 10 10)', 5));

MESHGEOM(PATCH(POLYGON Z ((0 -0.333333333333333 0.666666666666667,0 0.666666666666667 -0.333333333333333,0 -0.333333333333333 -0.333333333333333 ...
Ganos 三维数据管理分析的技术优势
相比于传统的技术方案,Ganos提供的方案特点在于:
• 使用SQL即可实现三维数据的处理工作,经实测,数秒即可完成百公里路网与地形的贴合
• 提供了隧道等复杂三维模型的生成能力,可以帮助客户增加场景的丰富程度
• 生成的模型存储在数据库中,可以支撑后续仿真场景中的更多空间查询与计算
功能使用案例

  1. 创建扩展
    create extension ganos_geometry cascade;
    create extension ganos_sfmesh cascade;
    create extension ganos_importer cascade ;
  2. 数据入库
    使用 MeshLab 生成一份随机地形,效果如下
    效果图:

编写SQL入库:
• 编写 import.sql 文件,将OBJOBJOBJ替换成您自己的地形文件内容
-- !!需要自己将 $OBJ$ 替换成 地形文件的文本内容!!
SELECT ST_ImportOBJ('test_obj'::text, '$OBJ$'::bytea, '1');
• 执行 import.sql 文件,并验证是否成功
\i import.sql
-------------- (t表示导入成功,其他表示失败)
t
SELECT ST_3DArea(obj_data) from test_obj;
-------------------- (能够正确计算出面积,表示数据入库成功)
1097.9653735595505
(1 row)

  1. 查看库内数据
    • 方式1:文本方式查看
    select id, st_astext(obj_data::meshgeom) from test_obj;

1 | MESHGEOM(PATCH(INDEXSURFACE Z (VERTEX(0 0 3.519342,1 0 3.48787,2 0 3.488642,3 0 3.541854,4 0 3.65655
3,5 0 3.819599,6 0 3.998203,7 0 4.186495,8 0 4.405378,9 0 4.687479,10 0 5.066125,11 0 5.567331,12 0 5.4357
6,13 0 5.192973,14 0 5.011576,15 0 4.914459,16 0 4 ......
• 方式2:导出成 gltf 查看
-- 保存查询结果为 t.gltf 文本文件
select st_asgltf(obj_data::meshgeom) from test_obj;
• 方式3:使用 PolarAdmin 进行查看 (可以通过访问Ganos官网,扫描页面下方的二维码加群获取技术支持)

  1. 路网地形贴合
    //代码效果参考:http://www.mwgw.cn
    //代码效果参考:https://www.h3cw.com
    //代码效果参考:https://www.weibow.com
    //代码效果参考:https://www.vipwb.com
    //代码效果参考:https://www.uagu.cn
    //代码效果参考:https://www.257342.com
    • 道路数据:POLYGON((10 0 5, 12 0 5, 12 30 5, 10 30 5, 10 0 5))
    • 地形和道路的位置关系如下图所示,可以看出道路部分在地面以下,部分悬空在地面上方
    • 将地形贴合到上述的道路面,生成一条id 为2 的新纪录
    INSERT INTO test_obj
    SELECT 2, '2', ST_SnapToPolygon(obj_data, 'POLYGON((10 0 5, 12 0 5, 12 30 5, 10 30 5, 10 0 5))', 10, 10, 5) from test_obj where obj_id = '1';
    • 导出处理结果为gltf,和道路叠加查看,可以看出地形已经平滑的贴合到路面上了
    select st_asgltf(obj_data::meshgeom) from test_obj where obj_id = '2';

  2. 案例展示
    以下为Ganos贴合的川渝高速某路段数据,业务为:30m分辨率地形贴合双向高速路网
    数据量:
    • 单向道路长度 8012 m
    • 地形顶点数量:60584 个
    • 地形贴合处理耗时:2.15 秒
    处理流程:
    • 使用 ST_SnapToPolygon 将地形贴合到每一条道路的表面,导出gltf加载到 Blender;
    • 在超出ST_SnapToPolygon贴合阈值且地形高于路面的部分,使用 ST_Loft 生成隧道涵洞,导出gltf加载到 Blender;
    • 对于地形低于路面且超出ST_SnapToPolygon贴合阈值部分,可以使用Blender自带的的建模工具生成圆柱型桥墩,也可以使用Ganos的ST_Buffer函数构造一个圆形底面,再使用ST_Loft 挤压出桥墩,在Blender里修正即可;
    • 使用 Blender 修剪出隧道口,检查并修正路侧地形;
    总结
    Ganos作为全球首个库内原生提供多种三维数据存储分析能力的空间数据库,已经将狭义的空间数据拓展至“空天地、室内外、地上下、动静态”等全空间范畴,从数据库系统最底层为物理世界数字化提供时空处理框架。本文介绍的地形与路网贴合能力,证明了Ganos有能力支撑三维空间计算在各领域中的专业应用,未来Ganos还将提供更多高效的库内三维空间分析能力,推动各行业数字孪生应用真正走向“视算一体”

相关文章
|
6月前
|
SQL Oracle 关系型数据库
项目中经常看到数据库Connection连接与Session这个你好不知道吗?
项目中经常看到数据库Connection连接与Session这个你好不知道吗?
65 1
|
6月前
|
数据库连接 调度 数据库
新人问我数据库的connect和session的区别
新人问我数据库的connect和session的区别
|
14天前
|
人工智能 运维 关系型数据库
云栖大会|数据库与AI全面融合,迈入数据智能新纪元
2024年云栖大会「数据库与AI融合」专场,来自NVIDIA、宇视科技、合思信息、杭州光云科技、MiniMax等企业的代表与阿里云瑶池数据库团队,共同分享了Data+AI全面融合的最新技术进展。阿里云发布了DMS的跨云统一开放元数据OneMeta和智能开发OneOps,推出《云数据库运维》技术图书,并介绍了PolarDB、AnalyticDB、Lindorm和Tair等产品的最新能力,展示了AI在数据库领域的广泛应用和创新。
|
14天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
5月前
|
存储 前端开发 小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
|
2月前
|
存储 监控 数据挖掘
飞轮科技携手观测云亮相云栖大会,全方位展示阿里云数据库 SelectDB 版核心优势
飞轮科技技术副总裁姜国强于「数据分析与洞察」专场分享[阿里云数据库 SelectDB 版在日志存储分析、实时报表生成、用户行为分析及 Lakehouse 场景应用方案
飞轮科技携手观测云亮相云栖大会,全方位展示阿里云数据库 SelectDB 版核心优势
|
6月前
|
人工智能 Cloud Native 关系型数据库
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
|
安全 物联网 云栖大会
2023云栖大会 | 云网络技术Session主题资料和视频回放归档(已完结)
2023年10月31日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,共包括1个Keynote,22个Session,包括产品发布、Deep Dive、最佳实践、客户分享、开放生态等多维度全面解读云网络进展。
2234 7
|
5月前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
|
存储 关系型数据库 分布式数据库
云栖大会|云原生数据库PolarDB:向云原生纵深发展
持续推动以PolarDB为代表的云数据库向云原生纵深发展
云栖大会|云原生数据库PolarDB:向云原生纵深发展

热门文章

最新文章