留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种面向三维WebGIS的空间数据加载优化方法

夏小科 贾庆仁 杨泉 金星 李军

夏小科, 贾庆仁, 杨泉, 金星, 李军. 一种面向三维WebGIS的空间数据加载优化方法[J]. 武汉大学学报 ● 信息科学版, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
引用本文: 夏小科, 贾庆仁, 杨泉, 金星, 李军. 一种面向三维WebGIS的空间数据加载优化方法[J]. 武汉大学学报 ● 信息科学版, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
XIA Xiaoke, JIA Qingren, YANG Quan, JIN Xing, LI Jun. An Optimization Method of Spatial Data Loading for 3D WebGIS[J]. Geomatics and Information Science of Wuhan University, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
Citation: XIA Xiaoke, JIA Qingren, YANG Quan, JIN Xing, LI Jun. An Optimization Method of Spatial Data Loading for 3D WebGIS[J]. Geomatics and Information Science of Wuhan University, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184

一种面向三维WebGIS的空间数据加载优化方法

doi: 10.13203/j.whugis20200184
基金项目: 

国家自然科学基金 U19A2058

国家自然科学基金 41871284

详细信息
    作者简介:

    夏小科,硕士生,主要从事地理信息系统空间数据融合的理论与方法研究。xiaxiaoke@cug.edu.cn

  • 中图分类号: P208

An Optimization Method of Spatial Data Loading for 3D WebGIS

Funds: 

The National Natural Science Foundation of China U19A2058

The National Natural Science Foundation of China 41871284

More Information
    Author Bio:

    XIA Xiaoke, postgraduate, specializes in the theory and method research of GIS spatial data fusion. E-mail:xiaxiaoke@cug.edu.cn

  • 摘要:

    随着用户需求的不断提高和空间数据的不断丰富,同一地理空间范围可包含地形、遥感影像、倾斜摄影测量三维模型等不同类型空间数据,三维WebGIS在同一场景中对不同类型空间数据尚不能实现有效加载。提出了一种面向三维WebGIS的空间数据加载优化方法,对多类型空间数据高效加载进行优化。首先,利用3D Tiles具有规则包围体外形和重叠区域的结构特点,提出一种基于二叉树的多边形快速生长算法对三维模型的外边界进行定位和粗提取;然后,针对粗提取的多边形外边界存在锯齿状凸起的问题,提出一种基于邻近两点的多边形简化方法,对多边形外边界进行裁剪优化,实现三维模型外边界的精确提取;最后,通过判断地图瓦片和地形瓦片数据与三维模型外边界的包含关系,实现对瓦片数据的选择加载。实验表明,当视点高度在300 m以下时,地图瓦片数据加载总量可减少约40%,表明在不影响三维WebGIS可视化效果的前提下,该方法较为明显地提高了系统的数据加载效率。

  • 图  1  空间数据加载优化方法流程

    Figure  1.  Flowchart of Optimization Method of Spatial Data Loading

    图  2  三维模型瓦片划分

    Figure  2.  3D Model Tile Division

    图  3  二叉树层级结构示意图

    Figure  3.  Schematic Diagram of Binary Tree Hierarc

    图  4  三维模型外边界粗提取结果

    Figure  4.  Rough Extraction Result of 3D Model Outer Boundary

    图  5  粗提取外边界对地图瓦片选择加载效果

    Figure  5.  Effect of Rough Extraction of Outer Borders on Map Tiles Loading

    图  6  判断点与重心位置

    Figure  6.  Judging the Location of Point and Center of Gravity

    图  7  多边形简化结果

    Figure  7.  Polygon Reduction Result

    图  8  射线法判断多边形与点的关系

    Figure  8.  Relationship Between Polygon and Point Using Ray Method

    图  9  地图瓦片加载总量

    Figure  9.  The Total Amount of Map Tiles Loaded

    图  10  场景可视化帧率监测

    Figure  10.  Scene Visualization Frame Rate Monitoring

    图  11  地图瓦片减少总量百分比

    Figure  11.  TotalPercentage Reduction of Map Tiles

    图  12  加载优化前场景可视化效果

    Figure  12.  Scene Visualization Before Loading Optimization

    图  13  加载优化后场景可视化效果

    Figure  13.  Scene Visualization After Loading Optimization

  • [1] 李德仁, 邵振峰.论物理城市、数字城市和智慧城市[J].地理空间信息, 2018, 16 (9):1-4, 10 http://www.cnki.com.cn/Article/CJFDTotal-DXKJ201809003.htm

    Li Deren, Shao Zhenfeng. Research on Physical City, Digital City and Smart City[J]. Geospatial Information, 2018, 16(9):1-4, 10 http://www.cnki.com.cn/Article/CJFDTotal-DXKJ201809003.htm
    [2] 蔡文文, 冯振华, 周芹, 等.面向数字化城市设计的三维GIS关键技术[J].地理信息世界, 2019, 26 (3):122-127) http://www.zhangqiaokeyan.com/academic-journal-cn_towns_thesis/0201273808082.html

    Cai Wenwen, Feng Zhenhua, Zhou Qin, et al. Key Technologies of the Three Dimensional Geographic Information System (3D GIS) for Digital City Design[J]. Geomatics World, 2019, 26(3):122-127 http://www.zhangqiaokeyan.com/academic-journal-cn_towns_thesis/0201273808082.html
    [3] 朱庆.三维GIS及其在智慧城市中的应用[J].地球信息科学学报, 2014, 16 (2):151-157 http://www.cqvip.com/QK/71899X/201610/epub1000000528459.html

    Zhu Qing. Full Three-Dimensional GIS and Its Key Roles in Smart City[J]. Journal of Geo-Information Science, 2014, 16(2):151-157 http://www.cqvip.com/QK/71899X/201610/epub1000000528459.html
    [4] Zhang Y T, Zhu Q, Liu G, et al. GeoScope: Full 3D Geospatial Information System Case Study[J]. Geo-Spatial Information Science, 2011, 14(2):150-156 http://d.wanfangdata.com.cn/Periodical/dqkjxxkxxb-e201102010
    [5] 王行风, 汪云甲.一种顾及拓扑关系的室内三维模型组织和调度方法[J].武汉大学学报·信息科学版, 2017, 42(1):35-42 doi:  10.13203/j.whugis20140798

    Wang Xingfeng, Wang Yunjia. Organization and Scheduling of Indoor Three-Dimensional Geometric Model Based on Spatial Topological Relation[J]. Geomatics and Information Science of Wuhan University, 2017, 42(1):35-42 doi:  10.13203/j.whugis20140798
    [6] 董江亥, 董丽丽.基于场景图的视锥裁减优化[J].电脑知识与技术, 2010, 6(15):4 090-4 093 http://d.wanfangdata.com.cn/periodical_dnzsyjs-itrzyksb201015100.aspx

    Dong Jianghai, Dong Lili. Optimization of View Frustum Culling Based on Scene Gras[J].Computer Knowledge and Technology, 2010, 6 (15):4 090-4 093 http://d.wanfangdata.com.cn/periodical_dnzsyjs-itrzyksb201015100.aspx
    [7] Zhang H S, Manocha D. Visibility Clipping Using Hierarchical Occlusion Maps[C]. The 24th Annual Conference on Computer Graphics and Interactive Techniques, New York, USA, 1997
    [8] 郭志民, 马建伟, 张小斐, 等.面向三维可视化场景的电力大数据分析模型构建研究[J].电网与清洁能源, 2019, 35(6):46-51 http://www.cnki.com.cn/Article/CJFDTotal-SXFD201906008.htm

    Guo Zhimin, Ma Jianwei, Zhang Xiaofei, et al. Research on the Construction of Power Big Data Analysis Model Oriented to 3D Visualization Scene[J]. Power System and Clean Energy, 2019, 35(6):46-51 http://www.cnki.com.cn/Article/CJFDTotal-SXFD201906008.htm
    [9] 李俊金.基于Cesium的三维实景可视化技术研究[D].郑州: 信息工程大学, 2017

    Li Junjin. Research on Visualization Technology of 3D Real Scene Based on Cesium[D]. Zhengzhou: Information Engineering University, 2017
    [10] Su M, Guo R, Wang H, et al.View Frustum Culling Algorithm Based on Optimized Scene Management Structure[C]. IEEE International Conference on Information & Automation, Marco, China, 2017
    [11] Song Zhuorong, Li Jun. A Dynamic Tiles Loading and Scheduling Strategy for Massive Oblique Photogrammetry Models[C]. The 3rd IEEE International Conference on Image, Vision and Computing, Chongqing, China, 2018
    [12] Cohen M, Yang M, Patel A, et al. Convex Polygon Clipping During Rendering: US Patent 9, 858, 708[P]. 2018-01-02
    [13] 荆倩婧.高速公路路基三维建模及可视化研究[D].济南: 山东大学, 2019

    Jing Qianjing. Research on the Three-Dimensional Modeling and Visualization of Highway Roadbed[D]. Jinan: Shandong University, 2019
    [14] 苏谟.三维可视化服务平台关键技术研究及应用[D].沈阳: 中国科学院大学(中国科学院沈阳计算技术研究所), 2019

    Su Mo. Research and Application on 3D Visualization Service Platform Key Technologies[D]. Shenyang: University of Chinese Academy of Sciences(Shenyang Institute of Computing Technology, Chinese Academy of Sciences), 2019
    [15] 王忠樑.基于Cesium平台的多维地球空间数据可视化[D].上海: 华东师范大学, 2018

    Wang Zhongliang. Visualizing Multi-dimensional Geospatial Data on the Cesium Platform[D]. Shanghai: East China Normal University, 2018
    [16] 吕奕杰, 叶健, 徐清杨, 等.面向大规模滑坡灾害模拟的地形建模与三维可视化[J].武汉大学学报·信息科学版, 2020, 45(3):467-474 doi:  10.13203/j.whugis20180486

    Lü Yijie, Ye Jian, Xu Qingyang, et al. A Large-scale Landslide Hazard Simulation-Oriented 3D Terrain Modeling and Rendering Approach[J]. Geomatics and Information Science of Wuhan University, 2020, 45(3):467-474 doi:  10.13203/j.whugis20180486
    [17] 杨洋, 刘学军, 肖斐.复杂多边形快速融合算法与实现[J].地理空间信息, 2016, 14(3):52-55 http://d.wanfangdata.com.cn/periodical/dlkjxx201603017

    Yang Yang, Liu Xuejun, Xiao Fei. Quickly Fusion Algorithm of Complex Polygons and Its Implementation[J]. Geospatial Information, 2016, 14(3):52-55 http://d.wanfangdata.com.cn/periodical/dlkjxx201603017
    [18] 张蓝, 李佳田, 徐珩, 等.道路网络示意图的多边形生长算法[J].测绘学报, 2015, 44(3):346-352 http://www.cnki.com.cn/Article/CJFDTotal-CHXB201503017.htm

    Zhang Lan, Li Jiatian, Xu Heng, et al. Polygon Growing Algorithm for Network Schematic Maps[J]. Acta Geodaetica et Cartographica Sinica, 2015, 44(3):346-352 http://www.cnki.com.cn/Article/CJFDTotal-CHXB201503017.htm
    [19] 曹浩泽. 3D Tiles定义解析与生产规范设计[D].武汉: 武汉大学, 2018

    Cao Haoze. Analysis for 3D Tiles Definition and Design for Production Standard[D]. Wuhan: Wuhan University, 2018
    [20] Douglas D H, Peucker T K. Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature[J]. Cartographica: The International Journal for Geographic Information and Geovisualization, 1973, 10(2):112-122
    [21] 郭庆胜.以直角方式转折的面状要素图形简化方法[J].武汉测绘科技大学学报, 1999, 24(3):255-258 http://www.cnki.com.cn/Article/CJFDTotal-WHCH199903015.htm

    Guo Qingsheng. The Method of Graphic Simplification of Area Feature Boundary as Right Angle[J]. Journal of Wuhan Technical University of Surveying and Mapping, 1999, 24(3):255-258 http://www.cnki.com.cn/Article/CJFDTotal-WHCH199903015.htm
    [22] 钱海忠, 武芳, 陈波, 等.采用斜拉式弯曲划分的曲线化简方法[J].测绘学报, 2008, 36(4):443-449 http://d.wanfangdata.com.cn/Periodical/chxb200704014

    Qian Haizhong, Wu Fang, Chen Bo, et al. Simplifying Line with Oblique Dividing Curve Method[J]. Acta Geodaetica et Cartographica Sinica, 2008, 36(4):443-449 http://d.wanfangdata.com.cn/Periodical/chxb200704014
    [23] 陈文瀚, 龙毅, 沈婕, 等.利用约束D-TIN进行建筑物多边形凹部结构识别与渐进式化简[J].武汉大学学报·信息科学版, 2011, 36 (5):584-587, 592 http://ch.whu.edu.cn/article/id/546

    Chen Wenhan, Long Yi, Shen Jie, et al. Structure Recognition and Progressive Simplification of the Concaves Building Polygon Based on Constrained D-TIN[J]. Geomatics and Information Science of Wuhan University, 2011, 36(5):584-587, 592 http://ch.whu.edu.cn/article/id/546
  • [1] 郭东美, 何慧优.  应用全张量重力梯度组合识别并提取中国南海断裂 . 武汉大学学报 ● 信息科学版, 2022, 47(5): 738-746. doi: 10.13203/j.whugis20190434
    [2] 熊汉江, 郑先伟, 龚健雅.  面向虚拟地球的海陆地形多尺度TIN建模及可视化方法 . 武汉大学学报 ● 信息科学版, 2017, 42(11): 1597-1603. doi: 10.13203/j.whugis20150678
    [3] 郭明强, 吴亮, 黄颖, 谢忠, 赵林.  WebGIS集群环境下Client主动式负载均衡策略 . 武汉大学学报 ● 信息科学版, 2015, 40(12): 1639-1645. doi: 10.13203/j.whugis20140069
    [4] 叶荣辉, 钱 燕, 孔 俊, 张文明, 金光球.  珠江三角洲洪潮实时预报关键技术 . 武汉大学学报 ● 信息科学版, 2014, 39(7): 782-787.
    [5] 刘金硕, 程力, 王丽娜, 郑勇.  利用CUDA的剪切波数据三维可视化 . 武汉大学学报 ● 信息科学版, 2013, 38(11): 1271-1275.
    [6] 陈建群, 吴勰, 王振兴, 朱建军.  鄱阳湖湿地地理信息系统建设及其关键技术研究 . 武汉大学学报 ● 信息科学版, 2012, 37(8): 888-891.
    [7] 郭俊, 牛铮.  利用遥感数据对单株木和森林场景进行建模 . 武汉大学学报 ● 信息科学版, 2011, 36(2): 181-184.
    [8] 康志忠, 张祖勋, 张剑清.  城市街道景观三维可视化的快速实现 . 武汉大学学报 ● 信息科学版, 2010, 35(2): 205-208.
    [9] 王世海, 岳天祥.  高精度曲面建模的三维地形可视化研究 . 武汉大学学报 ● 信息科学版, 2009, 34(1): 64-67.
    [10] 曾齐红, 毛建华, 李先华, 刘学锋.  建筑物LiDAR点云的屋顶边界提取 . 武汉大学学报 ● 信息科学版, 2009, 34(4): 383-386.
    [11] 石旭, 边馥苓, 江聪世.  Web GIS平台上矢量图形可视化的JVGL方法 . 武汉大学学报 ● 信息科学版, 2006, 31(10): 928-931.
    [12] 熊岚, 王明军, 杜清运, 杨姗姗.  融合VISI的WebGIS人机界面设计研究 . 武汉大学学报 ● 信息科学版, 2006, 31(6): 534-536.
    [13] 王紫生, 边馥苓.  利用数据分解与合成法实现基于XML的空间数据转换 . 武汉大学学报 ● 信息科学版, 2005, 30(3): 226-229.
    [14] 李浩松, 朱欣焰, 李京伟, 陈军.  WebGIS空间数据分布式缓存技术研究 . 武汉大学学报 ● 信息科学版, 2005, 30(12): 1092-1095.
    [15] 程起敏, 杨崇俊, 刘冬林, 高亮.  基于Internet的车辆监控信息服务系统的设计与实现 . 武汉大学学报 ● 信息科学版, 2004, 29(9): 816-821.
    [16] 孟令奎, 邓世军, 赵春宇, 林志勇.  多服务器技术在WebGIS中的应用 . 武汉大学学报 ● 信息科学版, 2004, 29(9): 832-835.
    [17] 陈江平, 傅仲良, 边馥苓, 沙宗尧.  基于特征数据的VRML建模在Web GIS中的应用 . 武汉大学学报 ● 信息科学版, 2002, 27(5): 538-542.
    [18] 李飞鹏, 廖孟扬, 徐振勤, 王思贤.  医学图像三维重建中的快速表面绘制 . 武汉大学学报 ● 信息科学版, 2000, 25(2): 153-157.
    [19] 孙洪君, 杜道生, 李征航, 周勇前.  关于地球形状的三维可视化研究 . 武汉大学学报 ● 信息科学版, 2000, 25(2): 158-162.
    [20] 朱英浩, 张祖勋, 张剑清.  顾及地形的城市三维可视化方法研究 . 武汉大学学报 ● 信息科学版, 1998, 23(3): 199-203.
  • 加载中
图(13)
计量
  • 文章访问数:  962
  • HTML全文浏览量:  327
  • PDF下载量:  166
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-08-17
  • 刊出日期:  2020-12-05

一种面向三维WebGIS的空间数据加载优化方法

doi: 10.13203/j.whugis20200184
    基金项目:

    国家自然科学基金 U19A2058

    国家自然科学基金 41871284

    作者简介:

    夏小科,硕士生,主要从事地理信息系统空间数据融合的理论与方法研究。xiaxiaoke@cug.edu.cn

  • 中图分类号: P208

摘要: 

随着用户需求的不断提高和空间数据的不断丰富,同一地理空间范围可包含地形、遥感影像、倾斜摄影测量三维模型等不同类型空间数据,三维WebGIS在同一场景中对不同类型空间数据尚不能实现有效加载。提出了一种面向三维WebGIS的空间数据加载优化方法,对多类型空间数据高效加载进行优化。首先,利用3D Tiles具有规则包围体外形和重叠区域的结构特点,提出一种基于二叉树的多边形快速生长算法对三维模型的外边界进行定位和粗提取;然后,针对粗提取的多边形外边界存在锯齿状凸起的问题,提出一种基于邻近两点的多边形简化方法,对多边形外边界进行裁剪优化,实现三维模型外边界的精确提取;最后,通过判断地图瓦片和地形瓦片数据与三维模型外边界的包含关系,实现对瓦片数据的选择加载。实验表明,当视点高度在300 m以下时,地图瓦片数据加载总量可减少约40%,表明在不影响三维WebGIS可视化效果的前提下,该方法较为明显地提高了系统的数据加载效率。

English Abstract

夏小科, 贾庆仁, 杨泉, 金星, 李军. 一种面向三维WebGIS的空间数据加载优化方法[J]. 武汉大学学报 ● 信息科学版, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
引用本文: 夏小科, 贾庆仁, 杨泉, 金星, 李军. 一种面向三维WebGIS的空间数据加载优化方法[J]. 武汉大学学报 ● 信息科学版, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
XIA Xiaoke, JIA Qingren, YANG Quan, JIN Xing, LI Jun. An Optimization Method of Spatial Data Loading for 3D WebGIS[J]. Geomatics and Information Science of Wuhan University, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
Citation: XIA Xiaoke, JIA Qingren, YANG Quan, JIN Xing, LI Jun. An Optimization Method of Spatial Data Loading for 3D WebGIS[J]. Geomatics and Information Science of Wuhan University, 2020, 45(12): 1997-2004. doi: 10.13203/j.whugis20200184
  • 随着地理信息系统(geographic information system,GIS)的高速发展和广泛应用,当前面向三维WebGIS可视化的数据类型不断丰富,同一地理空间区域存在多类型的地理空间数据,如倾斜摄影测量三维模型、遥感影像和地形数据等[1]。用户对可视化效果、数据加载效率要求越来越高,三维WebGIS的功能也不断完善,但是三维WebGIS在对三维模型、地图影像和地形数据同时进行可视化时,被三维模型覆盖的地图影像和地形数据依然会被浏览器加载。被三维模型覆盖的地形和地图影像数据在场景中为不可见数据,对可视化效果没有意义,冗余数据反而导致系统资源开销增大,可视化效率降低[2]。特别是在缩放层级较高、视点高度较低时,该问题尤为突出,严重制约空间数据的加载效率,迫切需要对可视场景中加载的数据进行组织管理和精简优化,实现面向三维WebGIS的地理空间数据高效可视化[3-4]

    对具有多类型地理空间数据叠加的场景进行高效可视化,比较常用的方法是在某一视角下判断数据的可见性,对不可见数据裁剪剔除[5-7]。郭志民等[8]提出了一种针对大规模空间场景组织的可见性剔除算法(visibility elimination algorithm,VEA),通过采用八叉树组织场景图结构减少渲染管线数据来提高对模型的快速渲染效率。李俊金[9]提出一种基于点面关系的视场裁剪算法,通过判断地物是否位于视锥体内来限制视锥体外不可见要素,从而减少浏览器的数据加载量。Su等[10]提出一种基于自适应二叉树搜索分割平面算法,采用双层裁剪技术(粗略裁剪算法和精细裁剪算法),提高了可见性判断的计算效率。Song等[11]提出一种基于视点的瓦片调度策略,根据用户的视点位置,利用视锥体剔除和地平线遮挡算法对瓦片数据进行选择加载。Cohen等[12]在像素着色器中应用多边形裁剪的方法实现了对图形数据集的精确可视化。荆倩婧[13]基于Sutherland-Hodgman的多边形裁剪算法,对路基多边形区域内的地形网格进行了剔除。上述方法普遍对计算机硬件要求较高,同时由于复杂的地理空间数据类型,判断检测对象的可见性时计算复杂度也通常较高,无法有效实现空间数据的高效加载[14]

    针对上述问题,本文利用基于二叉树的多边形快速生长算法提取三维模型整体外边界,确定三维模型覆盖区域; 通过判断地图影像和地形数据是否位于三维模型覆盖范围内,对被三维模型覆盖的地图影像和地形数据进行统一剔除,提高了空间数据的加载效率。

    • 本文空间数据加载优化方法通过剔除被三维模型覆盖的数据来实现加载优化。具体流程见图 1

      图  1  空间数据加载优化方法流程

      Figure 1.  Flowchart of Optimization Method of Spatial Data Loading

      加载具有三维模型的场景时,首先提取三维模型的外边界信息,对三维模型覆盖区域进行定位; 然后判断地图瓦片和地形瓦片与三维模型外边界的包含关系,对地图瓦片和地形瓦片进行选择性请求加载。

    • 3D Tiles是Cesium发布的适用于WebGIS加载的三维模型数据规范[15],三维模型按照瓦片金字塔规则被划分为多个子瓦片(图 2)。提取大规模三维模型的整体外边界,需要对每个子瓦片的外边界进行合并。因为每个子瓦片与相邻子瓦片的外边界在空间上有一定的重叠范围,所以本文提出基于二叉树的多边形快速生长算法来实现对三维模型整体外边界的提取。

      图  2  三维模型瓦片划分

      Figure 2.  3D Model Tile Division

      目前主要的多边形生长算法有空间矢量求交算法、Delaunay三角网的并行构建算法、在集群MPI(message passing interface)环境下的多边形叠加生长算法等[16]。并行算法计算复杂,且对计算环境要求较高,不适合在Web端对简单的多边形进行合并运算。直接以“滚雪球”的方式,即从一个瓦片出发,不断合并相邻的瓦片,多边形的节点数量通常会随着瓦片的并入而增加,从而降低多边形的合并效率[17-18]。本文为实现适用于Web端的三维模型外边界的快速提取,提出了一种基于二叉树的多边形快速生长算法。首先根据整个模型覆盖范围的最小外包矩形及模型瓦片数目,对覆盖区域均匀二分建立log2m层二叉树,其中m为瓦片的数目,如图 3所示; 然后将每个瓦片(以瓦片中心点的坐标位置为判定条件)链入二叉树的叶子节点。最后从最底层的叶子节点开始,利用以下多边形合并算法,逐层向上求它们的合并多边形,最终得到全模型覆盖范围。

      图  3  二叉树层级结构示意图

      Figure 3.  Schematic Diagram of Binary Tree Hierarc

      任意两个瓦片合并的具体过程如下:

      首先,获取三维模型子瓦片的外边界。每个子瓦片的空间地理位置和瓦片的大小尺寸是通过Tileset.json中的“boundingVolume”来确定的,“boundingVolume”有3种类型:region、box或sphere[19]。针对3种类型,可将子瓦片外边界的思路确定如下:

      1) 如果瓦片以region的方式定义,那么可以直接以经纬度的4个参数确定一个矩形范围作为瓦片的外边界;

      2) 如果瓦片以box的方式定义,box的长、宽、高分别与三维模型的地方坐标系XYZ轴平行,要确定瓦片的外边界,只需要用到XY轴上的长度和中心点位置,即可确定一个矩形范围作为瓦片的外边界;

      3) 如果瓦片以sphere的方式定义(这种特殊的模型通常很少出现),则以包围球在地面投影圆的最大内接矩形作为瓦片的近似外边界。

      然后,对每个子瓦片的矩形外边界按照顺时针顺序,分别定义一个数组V(p0, p1, p2, p3, p4)来存储矩形的相关信息,其中节点pi为对象,表示矩形的角点,具有XY坐标值属性,p0p4为同一个点(起始点)。

      判断同一父节点中叶子节点的拓扑关系。如果这两个多边形相离,则取第一个被输入的多边形; 如果这两个多边形相包含,则通过判断点是否在多边形内的方法确定两个多边形的内含关系,取其中较大的一个多边形为合并结果。如果这两个多边形相交,则通过多边形合并算法来对两个多边形进行融合。

      多边形合并算法主要流程为:

      1) 将两个多边形分别按照多边形节点的顺时针顺序存入两个队列V1(v1, 0, v1, 1, v1, 2v1, m)、V2(v2, 0, v2, 1, v2, 2v2, n)中,从V1节点中寻找一个不落在V2空间范围内的点V1, i,作为合并多边形的起始点。

      2) 以V1中的(v1, i, v1, i+1)边为起始边,判断它与多边形V2的边(v2, 0, v2, 1)…(v2, j, v2, j+1)是否存在交点,其中j=(0, 1, 2…n-1)。如果交点存在,则终止循环判断; 如果交点不存在,则判断(v1, i+1, v1, i+2)与多边形V2是否有交点,直到寻找到多边形V1与多边形V2的第一个交点为止,并将V1的节点v1, i, v1, i+1, v1, i+2v1, r与第一个交点存入合并后的多边形V3中。

      3) 通过上述步骤找出第一个交点后,采用同样的方法,以多边形V2最靠近第一个交点的边开始,寻找多边形V2与V1的交点,并将V2中寻找过的边与第二个交点存入合并后的多边形V3中。

      4) 交替执行上述步骤,直至运行到V1中的循环起始点v1, i,将最后一个交点与它到v1, i之间的点存入合并后的多边形V3中,这样就完成了两个多边形的合并。

      将每次合并后的多边形赋给其父节点,递归执行上述步骤。直到将L1层合并到L0层,成为一个多边形为止。

      采用以上方法对图 2中的模型进行外边界提取,结果如图 4所示。

      图  4  三维模型外边界粗提取结果

      Figure 4.  Rough Extraction Result of 3D Model Outer Boundary

    • 图 4中可以看出,子瓦片外边界合并后的多边形具有明显的锯齿状凸起,还并不是精确的三维模型外边界。直接用粗略的三维模型外边界对地图瓦片进行选择加载时,会看到图 5所示的黑色三角形空洞(图 5中左侧为三维模型,右侧为地图瓦片),影响可视化效果,因此需要对合并后的多边形进行裁剪优化。

      图  5  粗提取外边界对地图瓦片选择加载效果

      Figure 5.  Effect of Rough Extraction of Outer Borders on Map Tiles Loading

      目前已有大量的多边形简化算法,包括经典的Douglas-Peucker算法[20]、垂距法[21]、曲线法[22]、约束D-TIN算法等[23]。但这些算法都是针对某类几何形状的多边形,面向具体问题考虑的。本文结合多边形锯齿结构的特点,提出一种基于邻近两点的多边形简化算法,将多边形的凸起去除,具体步骤如下。

      1) 计算多边形的重心点G(xg, yg):

      $$\left\{ {\begin{array}{*{20}{l}} {{x_g} = \frac{1}{n}\left( {{x_0} + {x_1} + {x_2} + \ldots + {x_{n - 1}}} \right)}\\ {{y_g} = \frac{1}{n}\left( {{y_0} + {y_1} + {y_2} + \ldots + {y_{n - 1}}} \right)} \end{array}} \right.$$

      2) 从多边形的任意节点出发,依次判断每个点与重心点是否在相邻两点所在直线的同侧,如果位于同侧则保留,如果位于异侧则舍弃。

      记多边形相邻的3个节点坐标分别为:Pi (xi, yi),Pi+1 (xi+1, yi+1),Pi+2 (xi+2, yi+2),令K=(yi+2-yi)/(xi+2-xi),计算J

      $$\begin{array}{*{20}{l}} {J = \left[ { - \frac{1}{K}\left( {{x_{i + 1}} - {x_i}} \right) + {y_i} - {y_{i + 1}}} \right] \cdot }\\ {\left[ { - \frac{1}{K}\left( {{x_g} - {x_i}} \right) + {y_i} - {y_g}} \right]} \end{array}$$

      如果J > 0,则证明在同侧,将该点保留; 否则将其舍弃。如图 6所示,pi+1被舍弃。

      图  6  判断点与重心位置

      Figure 6.  Judging the Location of Point and Center of Gravity

      对存在明显凸起的区域进行优化处理后,不仅可将外边界的锯齿状凸起消除,而且还能将复杂的多边形简化,减少多边形拐节点数量,为接下来数据选择加载的判断减少计算量。对图 4进行优化处理的结果如图 7中浅绿色内多边形所示。

      图  7  多边形简化结果

      Figure 7.  Polygon Reduction Result

    • 为满足数据高效可视化的要求,三维WebGIS应当选择性地加载和显示数据:在较小比例尺条件下,仅加载精度较低、内容粗略的地图影像和地形数据,无需加载三维模型数据; 当缩放比例尺较大时,Web端再向服务器请求三维模型数据,当前区域内有三维模型时,不再加载比上一层精度更高的地图影像和地形数据。由此,本文在具有三维模型的区域内对数据选择性加载步骤如下:

      1) 根据WMTS(web map tile service)协议,获取地图瓦片和地形瓦片的4个角点坐标。

      2) 初判断。判断瓦片4个角点坐标是否位于多边形内部时,为提高计算效率,可首先进行初步判断,将模型外边界多边形的节点集中最大X、最小X、最大Y和最小Y提取出来,根据这4个值确定一个三维模型的最小外接矩形区域,判断瓦片是否位于矩形区域的内部。如果位于外部则直接加载,如果位于内部则进行下一步判断。

      3) 进一步判断瓦片角点是否位于边界多边形的内部时,通过射线法,从瓦片角点引一条射线(图 8),如果该射线与多边形的交点个数为奇数,则在多边形内; 如果交点个数为偶数,则在多边形外部。

      图  8  射线法判断多边形与点的关系

      Figure 8.  Relationship Between Polygon and Point Using Ray Method

      4) 如果瓦片4个角点全部位于多边形的内部则不请求,否则请求加载。

    • 为验证本文方法的地图瓦片加载总量和可视化效率,实验中以天津某厂区小规模(约4.2×105 m2)倾斜摄影测量三维模型数据和长沙市天心区大规模(约6×109 m2)倾斜摄影测量三维模型数据进行了验证。实验设备系统为Windows 7,浏览器环境为Chrome 64,显卡为NVIDIA GeForce GTX 1050 Ti,处理器为Intel(R) Core(TM) i7-7700。

      分别对本文加载优化方法、VEA和原始加载方法3种数据加载方式进行对比分析。首先,选取不同的视点高度统计了三维WebGIS平台在3种情况下地图瓦片的加载数量; 然后,监测并记录了在3种加载方法场景中浏览器打开加载页面前3 s的平均帧率; 最后,分析了本文加载优化方法的地图瓦片减少量占地图瓦片加载总量的百分比。

      从对比实验图 9中可以看出,在一定的视点高度范围内,采用本文加载优化方法与VEA很好地限制了不可见瓦片的加载,相对于加载优化前的地图瓦片数量明显减少,由于地图瓦片数目的减少,加载优化后帧率明显高于加载优化前; 虽然VEA通过实时计算瓦片可见性对冗余瓦片限制加载效果同样很好,但是可见性判断会消耗较大的计算资源,在一定程度上还是会影响系统的加载效率。从图 10中可以明显看出,本文的加载优化方法帧率高于VEA。

      图  9  地图瓦片加载总量

      Figure 9.  The Total Amount of Map Tiles Loaded

      图  10  场景可视化帧率监测

      Figure 10.  Scene Visualization Frame Rate Monitoring

      从地图瓦片的减少总量百分比(图 11)中可以看出,随视点高度的升高,地图瓦片减少量呈下降趋势; 同样,随视点高度的升高,帧率也呈下降趋势,经分析可知,视点升高后,三维瓦片数目增多,加大了显卡负载,导致帧率下降。从小规模倾斜摄影测量三维模型(天津某工厂)实验中可以看出,当视点高度到达一定值以后,当前层级的每个地图瓦片覆盖范围足够大时,加载优化前后数目相等; 从大规模倾斜摄影测量三维模型(长沙天心区)实验中可以看出,当视点达到一定高度后,系统不再加载三维模型,只加载地图时,加载优化前后地图瓦片数目相同。

      图  11  地图瓦片减少总量百分比

      Figure 11.  TotalPercentage Reduction of Map Tiles

      图 11中同时发现,地图瓦片的减少总量百分比下降趋势并不是单调递减的,而是在部分视点高度呈上升趋势(如在长沙天心区实验中,当视点高度位于430 m处)。经分析可知,该现象是因为分辨率的降低导致此处加载的瓦片层级发生了变化,分辨率位于两个瓦片层级之间时瓦片加载数量相对减少,层级刚好发生变化时瓦片加载数量有所增加。

      为验证系统加载优化前后对同一场景中可视化效果是否有影响。通过实验对比加载优化前的效果(图 12)和加载优化后的效果(图 13),可看出本文提出的加载优化方法只对被覆盖的地图瓦片进行限制,并不会影响可视化的效果。

      图  12  加载优化前场景可视化效果

      Figure 12.  Scene Visualization Before Loading Optimization

      图  13  加载优化后场景可视化效果

      Figure 13.  Scene Visualization After Loading Optimization

    • 在三维WebGIS中对地图影像、地形数据与三维模型同时加载时,地图影像和地形数据等被三维模型覆盖的冗余数据加载会降低系统效率。本文针对三维模型空间数据结构特性,提出一种基于二叉树的多边形快速生长算法,实现了对三维模型外边界的粗提取; 在粗提取外边界的基础上,提出一种基于邻近两点的多边形简化方法,实现了对三维模型外边界的精确提取; 利用提取的精确外边界对地图地形瓦片选择加载,实现了三维模型场景的加载优化。实验结果表明,采用本文的加载优化方法对三维模型进行可视化,地图瓦片数量明显减少,有效地控制了数据的冗余,提高了系统的加载效率。

参考文献 (23)

目录

    /

    返回文章
    返回