CN107423373A - 一种城市级三维建筑模型索引方法 - Google Patents
一种城市级三维建筑模型索引方法 Download PDFInfo
- Publication number
- CN107423373A CN107423373A CN201710536522.7A CN201710536522A CN107423373A CN 107423373 A CN107423373 A CN 107423373A CN 201710536522 A CN201710536522 A CN 201710536522A CN 107423373 A CN107423373 A CN 107423373A
- Authority
- CN
- China
- Prior art keywords
- grid
- dimensional building
- building model
- level
- city
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种城市级三维建筑模型索引方法,包括如下步骤:1、将城市地理范围以固定大小的单元网格进行网格划分,建立第一级网格索引;2、获取每一个网格中每个三维建筑模型在水平面的坐标点;3、在每个网格中构建一个KD树,建立第二级KD树索引;所述KD树的节点为所述网格中三维建筑模型在水平面的坐标点。该方法通过建立第一级网格索引和第二级KD树索引,在城市级数据库中,通过粗略定位和精确定位快速检索到需要的建筑物模型,达到良好的用户体验。
Description
技术领域
本发明属于三维地理信息技术领域,具体涉及一种三维建筑模型的索引方法。
背景技术
随着移动通信技术、三维图形渲染技术和地理信息技术共同快速发展,GIS研究向着移动三维方向发展,并成为了GIS研究中的热点。城市生活中,人们的许多活动都离不开移动设备的位置信息,并获取所需要的其他空间地理信息,包括城市中建筑物的数据。
在城市级地理信息数据库中,不仅单个建筑物模型的数据量比较大,而且三维建筑物模型的个数也比较多,通常可以达到数百万个。想要从众多建筑物模型中查找到当前需要的模型,需要消耗大量的时间。那就需要选择合适的空间索引方法,以保证又快、又准确地获取到相关模型。
一般地,空间索引方法包括四叉树索引、R树、A树、网格索引和KD树。其中四叉树一般用于对点数据、面积、曲线、表面及体的表示,不一定是平衡树,数据呈一致分布式,性能好,但没有考虑二级存储。R树允许结点相互重叠,这使得R树保持较高的空间利用率和保持树的平衡;但过多的重叠又可能会造成查询效率的降低。A树结合栅格文件与R树索引的特点,通过小栅格快速粗略地进行查询,再使用近似R树索引的想法;网格索引面向对象的空间位置和分布,属于栅格索引,具有思路简单、高效简洁、易于实现的优点;但是数据量比较大时,索引效率太低。KD树是最突出的多维数据结构之一,也是一棵存储k维空间点的二叉搜索树,KD树的查找和插入简单;但二级存储效果差,在删除时可能造成删除点以下子树的重新组织。
因此,采用现有的空间索引方法,无法满足对城市级数据库目标建筑物模型高效检索的要求。
发明内容
发明目的:针对现有技术中存在的问题,本发明公开了一种城市级三维建筑模型索引方法,该方法通过建立第一级网格索引和第二级KD树索引,在城市级数据库中,通过粗略定位和精确定位快速检索到需要的建筑物模型,达到良好的用户体验。
技术方案:本发明采用如下技术方案:一种城市级三维建筑模型索引方法,包括如下步骤:
(1)将城市地理范围以固定大小的单元网格进行网格划分,建立第一级网格索引;
(2)获取每一个网格中每个三维建筑模型在水平面的坐标点;
(3)在每个网格中构建一个KD树,建立第二级KD树索引;所述KD树的节点为所述网格中三维建筑模型在水平面的坐标点。
步骤(1)中按城市的经纬度范围进行划分,以经度方向和纬度方向均为1′的单位网格将城市地理范围网格化。
每个三维建筑模型在水平面的坐标点,是所述三维建筑模型在水平面投影区域的中心点坐标或所述三维建筑模型在水平面投影区域的最小外接矩形的几何中心点坐标。
构建第二级KD树索引的步骤包括:
(3.1)设网格Φ的地理范围中有M个建筑物,每个建筑物在水平面的坐标点为(xi,yi),i=1..M;即初始待划分区域即网格Φ的地理范围;初始待划分节点为(xi,yi),i=1..M;
(3.2)确定split域:计算中所有待划分节点在第一维度和第二维度上的方差,选择方差较大的维度作为split域;
(3.3)确定Node-data:按split域上的值对待划分节点进行排序,选取中值对应的节点作为Node-data;该节点的分割超平面就是通过Node-data并垂直于split域的直线;
(3.4)确定左子空间和右子空间:步骤(3.3)得到的分割超平面将待划分区域分为两部分,其中split域的值小于所述分割超平面值的部分为左子空间,另一部分为右子空间;
(3.5)分别以步骤(3.4)得到的左子空间和右子空间作为待划分区域其中包含的建筑物坐标点为待划分节点,循环执行步骤(3.2)至(3.4),直到网格Φ的地理范围中所有建筑物坐标均被划分完毕,得到网格Φ的KD树。
有益效果:与现有技术相比,本发明通过建立第一级网格索引和第二级KD树索引,构建了粗略定位和精确定位两层索引;在对目标建筑物模型进行检索时,首先通过第一级网格索引进行“粗略定位”,快速检索到目标网格;然后通过第二级KD树索引,快速检索到目标模型,有效地实现了城市级三维模型的快速索引,减少了索引的复杂度,降低了检索无关数据的影响。
附图说明
图1为本发明公开的城市级三维建筑物模型索引方法的流程图;
图2为本发明实施例提供的南京市网格划分规则图;
图3为本发明实施例提供的网格单元图示;
图4为本发明实施例提供的KD树构建流程图;
图5为本发明实施例提供的KD树索引流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
图1给出了本发明公开的城市级三维建筑模型索引方法的流程图,所述方法主要包括下列步骤:
(1)将城市地理范围以固定大小的单元网格进行网格划分,建立第一级网格索引;
(2)获取每一个网格中每个三维建筑模型在水平面的坐标点;
(3)在每个网格中构建一个KD树,建立第二级KD树索引;所述KD树的节点为所述网格中三维建筑模型在水平面的坐标点。
每个三维建筑模型在水平面的坐标点,可以是三维建筑模型在水平面投影区域的中心点坐标,也可以是三维建筑模型在水平面投影区域的最小外接矩形的几何中心点坐标。本实施例中采用三维建筑模型在水平面投影区域的最小外接矩形的几何中心点坐标。
图2给出了本发明实施例提供的南京市网格划分规则图,南京市地理坐标为北纬31°14″至32°37″,东经118°22″至119°14″,为简化计算,采用概略范围:北纬31°至32°,东经118°至119°。将南京市按照纬度、经度每隔1分的原则划分成60×60的网格,每个网格大小为1’×1’,0行0列网格位于南京市西南角,向北向东依次行号列号递增。北纬1分大约1.85km,经度1分大约1.42km,这样划分可以保证,每个网格内的数据量不会太大,减小存储压力,提高检索效率。
图3给出了本发明实施例提供的网格单元图示,每个网格的编号就是其左下角点的行列号,其中行列最大编号分别为59和59,并且每个网格都有一个固定的范围。这样任意指定一点的坐标就可以找到所在网格的行列号。
图4给出了本发明实施例提供的KD树构建流程图,从图中可以看出,KD树的构建是一个递归过程,网格Φ对应的KD树构建过程包括下列具体步骤为:
(3.1)设网格Φ的地理范围中有M个建筑物,每个建筑物在水平面的坐标点为(xi,yi),i=1..M;即初始待划分区域即网格Φ的地理范围;初始待划分节点为(xi,yi),i=1..M;
(3.2)确定split域:计算中所有待划分节点在第一维度和第二维度上的方差,选择方差较大的维度作为split域;
(3.3)确定Node-data:按split域上的值对待划分节点进行排序,选取中值对应的节点作为Node-data;该节点的分割超平面就是通过Node-data并垂直于split域的直线;
(3.4)确定左子空间和右子空间:步骤(3.3)得到的分割超平面将待划分区域分为两部分,其中split域的值小于所述分割超平面值的部分为左子空间,另一部分为右子空间;
(3.5)分别以步骤(3.4)得到的左子空间和右子空间作为待划分区域其中包含的建筑物坐标点为待划分节点,循环执行步骤(3.2)至(3.4),直到网格Φ的地理范围中所有建筑物坐标均被划分完毕,得到网格Φ的KD树。
当要查找坐标为(x0,y0)的建筑物模型时,先根据各个网格的坐标范围粗略定位出点(x0,y0)属于哪个网格,设定位结果为(x0,y0)属于网格Φ0,接下来对Φ0对应的KD树进行检索,进行精确定位。图5给出了本发明的KD树查找流程图,包括下列步骤:
S1、获取待查询点(x0,y0)最邻近的近似叶子节点;
通过二叉树搜索,从Φ0对应的KD树根节点开始,比较待查询点和分裂节点的split域的值,小于等于就进入左子树分支,大于就进入右子树分支,直到叶子节点,此叶子节点即为最邻近的近似叶子节点,并将搜索路径保存在栈中;
S2、判断最邻近的近似叶子节点的父节点另一子树是否在索引范围内;如果在,保存该父节点,进行回溯操作;如果不在,直接进行回溯操作;所述索引范围为以查询点为圆心,以查询点到最邻近的近似叶子节点之间距离为半径的圆;
S3、回溯:根据搜索路径,从最后一个点开始回溯搜索路径;判断索引范围是否与栈顶节点的分割超平面相交,如果相交,则进入栈顶节点的另一子树,递归搜索出另一子树在外接圆内的点,并将其设为最邻近的近似叶子节点;
S4、回溯直到栈为空,索引结束;最后得到的最邻近的近似叶子节点即为查找结果。
Claims (5)
1.一种城市级三维建筑模型索引方法,其特征在于,包括如下步骤:
(1)将城市地理范围以固定大小的单元网格进行网格划分,建立第一级网格索引;
(2)获取每一个网格中每个三维建筑模型在水平面的坐标点;
(3)在每个网格中构建一个KD树,建立第二级KD树索引;所述KD树的节点为所述网格中三维建筑模型在水平面的坐标点。
2.根据权利要求1所述的城市级三维建筑模型索引方法,其特征在于,步骤(1)中按城市的经纬度范围进行划分,以经度方向和纬度方向均为1′的单位网格将城市地理范围网格化。
3.根据权利要求1所述的城市级三维建筑模型索引方法,其特征在于,每个三维建筑模型在水平面的坐标点,是所述三维建筑模型在水平面投影区域的中心点坐标。
4.根据权利要求1所述的城市级三维建筑模型索引方法,其特征在于,每个三维建筑模型在水平面的坐标点,是所述三维建筑模型在水平面投影区域的最小外接矩形的几何中心点坐标。
5.根据权利要求1所述的城市级三维建筑模型索引方法,其特征在于,构建第二级KD树索引的步骤包括:
(3.1)设网格Φ的地理范围中有M个建筑物,每个建筑物在水平面的坐标点为(xi,yi),i=1..M;即初始待划分区域即网格Φ的地理范围;初始待划分节点为(xi,yi),i=1..M;
(3.2)确定split域:计算中所有待划分节点在第一维度和第二维度上的方差,选择方差较大的维度作为split域;
(3.3)确定Node-data:按split域上的值对待划分节点进行排序,选取中值对应的节点作为Node-data;该节点的分割超平面就是通过Node-data并垂直于split域的直线;
(3.4)确定左子空间和右子空间:步骤(3.3)得到的分割超平面将待划分区域分为两部分,其中split域的值小于所述分割超平面值的部分为左子空间,另一部分为右子空间;
(3.5)分别以步骤(3.4)得到的左子空间和右子空间作为待划分区域其中包含的建筑物坐标点为待划分节点,循环执行步骤(3.2)至(3.4),直到网格Φ的地理范围中所有建筑物坐标均被划分完毕,得到网格Φ的KD树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536522.7A CN107423373A (zh) | 2017-07-04 | 2017-07-04 | 一种城市级三维建筑模型索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536522.7A CN107423373A (zh) | 2017-07-04 | 2017-07-04 | 一种城市级三维建筑模型索引方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107423373A true CN107423373A (zh) | 2017-12-01 |
Family
ID=60426389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710536522.7A Pending CN107423373A (zh) | 2017-07-04 | 2017-07-04 | 一种城市级三维建筑模型索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423373A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657022A (zh) * | 2018-12-08 | 2019-04-19 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
CN109885605A (zh) * | 2019-01-25 | 2019-06-14 | 杭州易明远科技有限公司 | 一种城市体征指标模型数据预处理方法 |
CN111046005A (zh) * | 2019-11-01 | 2020-04-21 | 宝略科技(浙江)有限公司 | 一种城市三维实景数据的网格化编码方法 |
CN111552694A (zh) * | 2020-05-12 | 2020-08-18 | 苏州清研捷运信息科技有限公司 | 一种自适应地理空间网格索引方法 |
CN112667605A (zh) * | 2021-01-15 | 2021-04-16 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 面向行业应用的城市信息多级网格的构建方法和装置 |
CN112667856A (zh) * | 2020-10-21 | 2021-04-16 | 中测新图(北京)遥感技术有限责任公司 | 一种基于智能眼镜和三维模型的建筑信息查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996242A (zh) * | 2010-11-02 | 2011-03-30 | 江西师范大学 | 基于三维r树索引扩展结构的三维城市模型自适应方法 |
EP2348432A2 (en) * | 2010-01-05 | 2011-07-27 | Bentley Systems, Inc. | Multi-dimensional artifact assemblage for infrastructure and other assets with interface node mediators |
CN103544249A (zh) * | 2013-10-11 | 2014-01-29 | 北京建筑大学 | 一种古建筑散乱点云空间索引的方法 |
-
2017
- 2017-07-04 CN CN201710536522.7A patent/CN107423373A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2348432A2 (en) * | 2010-01-05 | 2011-07-27 | Bentley Systems, Inc. | Multi-dimensional artifact assemblage for infrastructure and other assets with interface node mediators |
CN101996242A (zh) * | 2010-11-02 | 2011-03-30 | 江西师范大学 | 基于三维r树索引扩展结构的三维城市模型自适应方法 |
CN103544249A (zh) * | 2013-10-11 | 2014-01-29 | 北京建筑大学 | 一种古建筑散乱点云空间索引的方法 |
Non-Patent Citations (1)
Title |
---|
王涛: "城市建筑物三维模型管理及可视化关键技术研究", 《万方数据库》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657022A (zh) * | 2018-12-08 | 2019-04-19 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
CN109657022B (zh) * | 2018-12-08 | 2020-06-30 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
CN109885605A (zh) * | 2019-01-25 | 2019-06-14 | 杭州易明远科技有限公司 | 一种城市体征指标模型数据预处理方法 |
CN111046005A (zh) * | 2019-11-01 | 2020-04-21 | 宝略科技(浙江)有限公司 | 一种城市三维实景数据的网格化编码方法 |
CN111046005B (zh) * | 2019-11-01 | 2023-09-01 | 宝略科技(浙江)有限公司 | 一种城市三维实景数据的网格化编码方法 |
CN111552694A (zh) * | 2020-05-12 | 2020-08-18 | 苏州清研捷运信息科技有限公司 | 一种自适应地理空间网格索引方法 |
CN111552694B (zh) * | 2020-05-12 | 2023-08-29 | 苏州清研捷运信息科技有限公司 | 一种自适应地理空间网格索引方法 |
CN112667856A (zh) * | 2020-10-21 | 2021-04-16 | 中测新图(北京)遥感技术有限责任公司 | 一种基于智能眼镜和三维模型的建筑信息查询方法及装置 |
CN112667605A (zh) * | 2021-01-15 | 2021-04-16 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 面向行业应用的城市信息多级网格的构建方法和装置 |
CN112667605B (zh) * | 2021-01-15 | 2023-07-28 | 航天科工智能运筹与信息安全研究院(武汉)有限公司 | 面向行业应用的城市信息多级网格的构建方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423373A (zh) | 一种城市级三维建筑模型索引方法 | |
CN104167021B (zh) | 一种基于地球空间立体剖分的空间目标索引方法 | |
CN103383682B (zh) | 一种地理编码方法、位置查询系统及方法 | |
CN107153711A (zh) | 地理信息数据处理方法及装置 | |
CN106528773B (zh) | 一种基于Spark平台支持空间数据管理的图计算系统及方法 | |
CN109992636A (zh) | 时空编码方法、时空索引及查询方法及装置 | |
CN105630968A (zh) | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 | |
CN108241712A (zh) | 一种地图数据处理方法和装置 | |
CN104252489A (zh) | 一种根据经纬度数据快速获得位置文字描述信息的方法 | |
CN102663028B (zh) | 一种适用于全球数字高程模型和遥感影像数据快速空间索引的方法 | |
CN103927933A (zh) | 一种海量移动目标渲染的方法及装置 | |
CN113269870B (zh) | 一种基于三维剖分网格的多分辨率数字地形集成方法 | |
CN105067004B (zh) | 一种基于地形的路径搜索方法 | |
CN110765331A (zh) | 一种时空数据的检索方法及系统 | |
CN103295080A (zh) | 基于高程图和蚁群寻食的三维路径规划方法 | |
CN107391745A (zh) | 大规模空间数据分级快速索引方法和装置 | |
CN111552694A (zh) | 一种自适应地理空间网格索引方法 | |
CN104182472A (zh) | 一种基于内存数据库Redis的土地利用矢量数据存储方法 | |
CN109741209A (zh) | 台风灾害下配电网多源数据融合方法、系统及存储介质 | |
CN109885638B (zh) | 一种三维立体空间索引方法及系统 | |
CN113032404B (zh) | 一种面向地表覆盖数据的图斑变化轨迹提取方法与系统 | |
CN111859187A (zh) | 基于分布式图数据库的poi查询方法、装置、设备及介质 | |
US20220027427A1 (en) | Business searching methods and apparatuses, electronic devices and storage media | |
CN107993242A (zh) | 基于机载LiDAR点云数据缺失区域边界提取方法 | |
CN105096589A (zh) | 一种选取交通道路中代表性节点的方法、系统及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171201 |
|
RJ01 | Rejection of invention patent application after publication |