CN116091715A - 一种基于三维gis引擎的poi点聚合方法 - Google Patents

一种基于三维gis引擎的poi点聚合方法 Download PDF

Info

Publication number
CN116091715A
CN116091715A CN202211515944.3A CN202211515944A CN116091715A CN 116091715 A CN116091715 A CN 116091715A CN 202211515944 A CN202211515944 A CN 202211515944A CN 116091715 A CN116091715 A CN 116091715A
Authority
CN
China
Prior art keywords
poi
data
node
point
coordinates
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
Application number
CN202211515944.3A
Other languages
English (en)
Inventor
蒋萌
崔维康
张淏然
郑孝青
谢伟国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Langchao New Infrastructure Technology Co ltd
Original Assignee
Shandong Langchao New Infrastructure Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Langchao New Infrastructure Technology Co ltd filed Critical Shandong Langchao New Infrastructure Technology Co ltd
Priority to CN202211515944.3A priority Critical patent/CN116091715A/zh
Publication of CN116091715A publication Critical patent/CN116091715A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明特别涉及一种基于三维GIS引擎的POI点聚合方法。该基于三维GIS引擎的POI点聚合方法,获取和解析POI数据中的点坐标;将地理坐标转换为三维GIS引擎坐标加载到场景中生成Actor,并标记Tag属性;利用解析得到的POI数据构建四叉树,并将场景中POI数据存储,将四叉树层级与场景相机进行关联,根据场景相机的距离设置四叉树的层级,计算每个层级对应的区域大小,搜索区域中的点集并计算其中心点坐标和数量,实现聚合效果。该基于三维GIS引擎的POI点聚合方法,基于三维GIS引擎实现了矢量类型的POI的读取、加载和聚合,构建了一套能够满足智慧城市业务需求的POI聚合方法,从而拓展了智慧城市业务的应用领域。

Description

一种基于三维GIS引擎的POI点聚合方法
技术领域
本发明涉及智慧城市技术领域,特别涉及一种基于三维GIS引擎的POI点聚合方法。
背景技术
POI(PointofInformation,兴趣点)作为计算机电子地图制图的重要数据源,其定位精度和属性的丰富程度影响着地图的质量和可用性。由于POI数据量很大,而且多集中分布于道路两侧,当用户查询、检索时,移动地图中POI叠置、压盖现象严重。
点聚合是解决POI符号冲突的一个可行方案,但是传统地图综合中的综合条件如尺度变化、区域范围、地图类型等是确定的,综合模型是静态的,而移动环境中用户对POI的需求是动态变化的。
随着智慧城市领域的不断深入,在三维场景中接入的数据量越来越大。,当场景上需要展示的兴趣点(POI)过多时,一般会出于图面效果和渲染性能的考虑,选择在大比例尺展示完整的POI数据,在小比例尺展示聚合态数据。
目前,在web端如Openlayers,cesium等开源的地图API(ApplicationProgramInterface,应用程序接口)中已经提供了前端实现聚合的方法接口,但在桌面端三维GIS(Geographic InformationSystem或Geo-Informationsystem,地理信息系统)引擎中暂无相关实现方式。
为了解决现有三维GIS引擎不能针对POI点数据进行聚合的问题,提高POI数据在三维GIS引擎中的展示效果,本发明提出了一种基于三维GIS引擎的POI点聚合方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于三维GIS引擎的POI点聚合方法。
本发明是通过如下技术方案实现的:
一种基于三维GIS引擎的POI点聚合方法,其特征在于:包括以下步骤:
步骤S1、获取和解析POI数据中的点坐标;
步骤S2、将地理坐标转换为三维GIS引擎坐标加载到场景中生成Actor(角色),并标记Tag(标签)属性;
步骤S3、利用解析得到的POI数据构建四叉树,并将场景中POI数据存储,将四叉树层级与场景相机进行关联,根据场景相机的距离设置四叉树的层级,计算每个层级对应的区域大小,搜索区域中的点集并计算其中心点坐标和数量,实现聚合效果。
所述步骤S1中,首先获取POI地图数据,设定数据源时数据类型,将POI数据转化为三维GIS引擎所支持的数据格式;然后,解析对应类型的POI点数据,获取对应的点坐标信息,以便坐标转换和聚合算法的构建;
所述数据类型包括但不限于基于场景构建POI的文本数据和矢量数据;
所述文件数据包括但不限于坐标参考系、地理坐标和属性表信息;
所述矢量数据包括但不限于Shp数据和Geojson数据;
从POI数据中解析得到POI点的地理坐标值、坐标参考系和属性表信息。
所述步骤S1中,通过融合GDALC++库实现对矢量数据的读取;
首先判断矢量数据的要素类型,如果矢量数据为wkbPoint类型,则通过OGRPoint类的getX(),getY(),getZ()方法读取XYZ坐标值,并将其赋值给三维GIS引擎识别的FVector类,存储坐标信息。
所述步骤S1中,包括以下步骤:
步骤S2.1、首先明确POI数据与三维GIS引擎之间的空间参考转换关系;
判断POI数据投影是地理坐标还是投影坐标,确定上述两种投影与引擎坐标的转换关系;
步骤S2.2、基于三维GIS引擎场景坐标的特性,将POI数据的地理坐标转换为引擎坐标;
通过EnginetoProjectedC++方法实现三维GIS引擎世界坐标向投影坐标的转换,通过ProjectedtoGeographicC++方法实现投影坐标向地理坐标的转化,将虚幻世界坐标数据转换为投影坐标或地理坐标数据;
步骤S2.3、将目标点坐标生成Actor,得到场景中的POI数据,对其Tag属性设置聚合标注;
设置一个蓝图类BP_POI来接收POI的参数,具体参数为:
X:接收POI引擎坐标的X;
Y:接收POI引擎坐标的Y;
Z:接收POI引擎坐标的Z;
Name:接收POI数据的Name属性;
Type:设置Tag值,用于标注聚合与非聚合;
获取到POI数据在三维GIS引擎中的坐标后,传给SpawnActor方法,在场景中生成POIActor。
所述步骤S3中,包括以下步骤:
步骤S3.1、根据生成的POIActor构建四叉树,利用四叉树结构组织存储POI数据;
步骤S3.2、预设分级数量,根据相机高度计算分级间距,并根据分级数量计算计算搜索框大小;
步骤S3.3、将每个区域的点集取中心点存储为聚合点根据搜索框进行四叉树搜索与搜索框点集质心计算。
所述步骤S3.1中,四叉树的构建过程如下:
步骤S3.1.1、四叉树节点插入元素
从根节点开始,如果当前节点无子节点,则将元素插入到当前节点;如果存在子节点K,并且元素能够完全被子节K点所“包围”,则将元素插入到子节点K,对子节点K进行上述递归操作(即查看K节点是否有子节点,如没有子节点,则将数据存储在K节点上,如果有子节点,则下沉继续查找匹配);如果元素跨越多个子节点,则将元素存储在当前节点(即将跨越多个节点的数据存储在其跨越的多个节点上)。
步骤S3.1.2、四叉树节点分裂
如果某一节点元素超过自定义阈值,且深度小于四叉树允许的最大深度,则分裂当前节点。
所述步骤S3.2中,相机与地面的距离和层级分级时计算过程如下:
步骤S3.2.1、在三维GIS引擎中设置pawn类型为相机初始点,根据该相机在场景中与地面的高度H,预先设置的分级数量N,将层级之间的间距平均分为M,M=H/N,根据M设置相机在每个层级的高度值;
步骤S3.2.2、根据层级的大小设置矩形搜索区域的划分,如附图3所示,根据分级数量N,设置每个矩形区域的大小为(length,height),其中length=Bound.Length/N,height=Bound.Height/N。
所述步骤S3.3中,四叉树搜索与聚合效果的实现过程如下:
将源数据按空间维度聚合成以四叉树形式表示的聚合表数据,其中,四叉树的级别代表聚合的空间层次,四叉树节点的内容包括节点所对应地理范围以及从数据属性中选择的聚合维度进行聚合得到的轻量聚合数据;
步骤S3.3.1、从四叉树根节点开始遍历各节点,根据节点的地理坐标信息判断各节点与层级对应的矩形框范围之间的关系:
若节点处于矩形框范围之内,则将节点放入待判断节点集合;若节点处于矩形框范围之外则将该节点丢弃;若节点与矩形框范围相交,则继续遍历该节点的子节点并判断其子节点与矩形框范围的关系;
步骤S3.3.2、获取该节点所属地理范围的中心点,判断中心点与矩形框范围的关系:
若中心点处于矩形框范围内,则继续遍历并判断该节点的四个子节点的下一级节点与矩形框范围的关系;若中心点处于矩形框范围外,则将该节点的坐与与其中心节点各顶点的坐标进行组合得到四个子节点的各顶点坐标,判断子节点各顶点坐标是否落入到矩形框范围内,若是,则继续遍历并判断该子节点的下一级节点与矩形框范围的关系,若否,则将该子节点丢弃;
步骤S3.3.3、根据缩放层级与四叉树的层级进行联动,将层级传入四叉树算法预留的层级参数,通过计算每个层级四叉树中每个区块对应点集的中心点坐标,并统计该网格中存在的POIActor数据的数目,得到该层级的聚合结果。
一种基于三维GIS引擎的POI点聚合设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述的方法步骤。
一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明的有益效果是:该基于三维GIS引擎的POI点聚合方法,基于三维GIS引擎实现了矢量类型的POI的读取、加载和聚合,构建了一套能够满足智慧城市业务需求的POI聚合方法,从而拓展了智慧城市业务的应用领域。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明基于三维GIS引擎的POI点聚合方法示意图。
附图2为本发明中POI数据类型示意图。
附图3为本发明四叉树算法示意图。
附图4为本发明POI聚合效果示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该基于三维GIS引擎的POI点聚合方法,包括以下步骤:
步骤S1、获取和解析POI数据中的点坐标;
步骤S2、将地理坐标转换为三维GIS引擎坐标加载到场景中生成Actor(角色),并标记Tag(标签)属性;
步骤S3、利用解析得到的POI数据构建四叉树,并将场景中POI数据存储,将四叉树层级与场景相机进行关联,根据场景相机的距离设置四叉树的层级,计算每个层级对应的区域大小,搜索区域中的点集并计算其中心点坐标和数量,实现聚合效果。
所述步骤S1中,首先获取POI地图数据,设定数据源时数据类型,将POI数据转化为三维GIS引擎所支持的数据格式;然后,解析对应类型的POI点数据,获取对应的点坐标信息,以便坐标转换和聚合算法的构建;
获取POI数据,明确数据源数据类型。如附图2所示,所述数据类型包括但不限于基于场景构建POI的文本数据和矢量数据;
POI数据源可以来自高德百度等平台的POI数据,也可以来自手工加工的文本数据。本实施例获取的POI数据类型为矢量数据,数据源基于公开数据。
所述文件数据包括但不限于坐标参考系、地理坐标和属性表信息;
所述矢量数据包括但不限于Shp数据和Geojson数据;
从POI数据中解析得到POI点的地理坐标值、坐标参考系和属性表信息。
三维GIS引擎不具备对shp数据的解析能力,所述步骤S1中,通过融合GDALC++库实现对矢量数据的读取;
首先判断矢量数据的要素类型,如果矢量数据为wkbPoint类型,则通过OGRPoint类的getX(),getY(),getZ()方法读取XYZ坐标值,并将其赋值给三维GIS引擎识别的FVector类,存储坐标信息。
所述步骤S2中,首先明确POI数据与三维GIS引擎之间的空间参考转换关系;
然后,基于三维GIS引擎场景坐标的特性,将POI数据的地理坐标转换为引擎坐标;
最后,将目标点坐标生成Actor,得到场景中的POI数据,对其Tag属性设置聚合标注。
在进行POI数据组织时,需要进行坐标系统的转换。将地理坐标系或投影坐标系转换成三维GIS引擎中的三维引擎坐标系,具体包含两个转换过程,一是地理坐标系和投影坐标系之间的转换过程,二是投影坐标系和引擎坐标系之间的转换过程。
地理坐标系是以参考椭球面为基准面建立的球面坐标系统,坐标为经纬度。投影坐标系为平面坐标系,地理坐标系向投影坐标系的转换也叫地图投影,转换关系取决于投影方式。按照投影的变形性质分,有等角投影、等积投影等;按照投影面类型分为,有圆锥投影、方位投影等;不同的坐标系之间存在着严密的数学转换关系。
所述步骤S2中,包括以下步骤:
步骤S2.1、首先明确POI数据与三维GIS引擎之间的空间参考转换关系;
判断POI数据投影是地理坐标还是投影坐标,确定上述两种投影与引擎坐标的转换关系;
步骤S2.2、基于三维GIS引擎场景坐标的特性,将POI数据的地理坐标转换为引擎坐标;
通过EnginetoProjectedC++方法实现三维GIS引擎世界坐标向投影坐标的转换,通过ProjectedtoGeographicC++方法实现投影坐标向地理坐标的转化,将虚幻世界坐标数据转换为投影坐标或地理坐标数据;
步骤S2.3、将目标点坐标生成Actor,得到场景中的POI数据,对其Tag属性设置聚合标注;
设置一个蓝图类BP_POI来接收POI的参数,具体参数为:
X:接收POI引擎坐标的X;
Y:接收POI引擎坐标的Y;
Z:接收POI引擎坐标的Z;
Name:接收POI数据的Name属性;
Type:设置Tag值,用于标注聚合与非聚合;
获取到POI数据在三维GIS引擎中的坐标后,传给SpawnActor方法,在场景中生成POIActor。
为提高聚合算法的搜索效率,所述步骤S3中,包括以下步骤:
步骤S3.1、根据生成的POIActor构建四叉树,利用四叉树结构组织存储POI数据;
步骤S3.2、预设分级数量,根据相机高度计算分级间距,并根据分级数量计算计算搜索框大小;
步骤S3.3、将每个区域的点集取中心点存储为聚合点根据搜索框进行四叉树搜索与搜索框点集质心计算。
所述步骤S3.1中,四叉树的构建过程如下:
步骤S3.1.1、四叉树节点插入元素
从根节点开始,如果当前节点无子节点,则将元素插入到当前节点;如果存在子节点K,并且元素能够完全被子节K点所“包围”,则将元素插入到子节点K,对子节点K进行上述递归操作(即查看K节点是否有子节点,如没有子节点,则将数据存储在K节点上,如果有子节点,则下沉继续查找匹配);如果元素跨越多个子节点,则将元素存储在当前节点(即将跨越多个节点的数据存储在其跨越的多个节点上)。
步骤S3.1.2、四叉树节点分裂
如果某一节点元素超过自定义阈值,且深度小于四叉树允许的最大深度,则分裂当前节点。
所述步骤S3.2中,相机与地面的距离和层级分级时计算过程如下:
步骤S3.2.1、在三维GIS引擎中设置pawn类型为相机初始点,根据该相机在场景中与地面的高度H,预先设置的分级数量N,将层级之间的间距平均分为M,M=H/N,根据M设置相机在每个层级的高度值;
步骤S3.2.2、根据层级的大小设置矩形搜索区域的划分,如附图3所示,根据分级数量N,设置每个矩形区域的大小为(length,height),其中length=Bound.Length/N,height=Bound.Height/N。
所述步骤S3.3中,四叉树搜索与聚合效果的实现过程如下:
将源数据按空间维度聚合成以四叉树形式表示的聚合表数据,其中,四叉树的级别代表聚合的空间层次,四叉树节点的内容包括节点所对应地理范围以及从数据属性中选择的聚合维度进行聚合得到的轻量聚合数据;
步骤S3.3.1、从四叉树根节点开始遍历各节点,根据节点的地理坐标信息判断各节点与层级对应的矩形框范围之间的关系:
若节点处于矩形框范围之内,则将节点放入待判断节点集合;若节点处于矩形框范围之外则将该节点丢弃;若节点与矩形框范围相交,则继续遍历该节点的子节点并判断其子节点与矩形框范围的关系;
步骤S3.3.2、获取该节点所属地理范围的中心点,判断中心点与矩形框范围的关系:
若中心点处于矩形框范围内,则继续遍历并判断该节点的四个子节点的下一级节点与矩形框范围的关系;若中心点处于矩形框范围外,则将该节点的坐与与其中心节点各顶点的坐标进行组合得到四个子节点的各顶点坐标,判断子节点各顶点坐标是否落入到矩形框范围内,若是,则继续遍历并判断该子节点的下一级节点与矩形框范围的关系,若否,则将该子节点丢弃;
步骤S3.3.3、根据缩放层级与四叉树的层级进行联动,将层级传入四叉树算法预留的层级参数,通过计算每个层级四叉树中每个区块对应点集的中心点坐标,并统计该网格中存在的POIActor数据的数目,得到该层级的聚合结果。
将World场景绑定到聚合算法中,遍历获取World中带有聚合Tag(标签)的POIActor,获取其ActorLocation(角色位置),将其坐标引入到聚合算法中,获取相机的高度值,通过高度变化实聚合效果,如附图4所示。
该基于三维GIS引擎的POI点聚合设备,包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述的方法步骤。
该可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (10)

1.一种基于三维GIS引擎的POI点聚合方法,其特征在于:包括以下步骤:
步骤S1、获取和解析POI数据中的点坐标;
步骤S2、将地理坐标转换为三维GIS引擎坐标加载到场景中生成Actor,并标记Tag属性;
步骤S3、利用解析得到的POI数据构建四叉树,并将场景中POI数据存储,将四叉树层级与场景相机进行关联,根据场景相机的距离设置四叉树的层级,计算每个层级对应的区域大小,搜索区域中的点集并计算其中心点坐标和数量,实现聚合效果。
2.根据权利要求1所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S1中,首先获取POI地图数据,设定数据源时数据类型,将POI数据转化为三维GIS引擎所支持的数据格式;然后,解析对应类型的POI点数据,获取对应的点坐标信息,
以便坐标转换和聚合算法的构建;
所述数据类型包括但不限于基于场景构建POI的文本数据和矢量数据;
所述文件数据包括但不限于坐标参考系、地理坐标和属性表信息;
所述矢量数据包括但不限于Shp数据和Geojson数据;
从POI数据中解析得到POI点的地理坐标值、坐标参考系和属性表信息。
3.根据权利要求2所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S1中,通过融合GDAL C++库实现对矢量数据的读取;
首先判断矢量数据的要素类型,如果矢量数据为wkbPoint类型,则通过OGRPoint类的getX(),getY(),getZ()方法读取XYZ坐标值,并将其赋值给三维GIS引擎识别的FVector类,存储坐标信息。
4.根据权利要求3所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S2中,包括以下步骤:
步骤S2.1、首先明确POI数据与三维GIS引擎之间的空间参考转换关系;
判断POI数据投影是地理坐标还是投影坐标,确定上述两种投影与引擎坐标的转换关系;
步骤S2.2、基于三维GIS引擎场景坐标的特性,将POI数据的地理坐标转换为引擎坐标;
通过Engine to Projected C++方法实现三维GIS引擎世界坐标向投影坐标的转换,通过Projected to Geographic C++方法实现投影坐标向地理坐标的转化,将虚幻世界坐标数据转换为投影坐标或地理坐标数据;
步骤S2.3、将目标点坐标生成Actor,得到场景中的POI数据,对其Tag属性设置聚合标注;
设置一个蓝图类BP_POI来接收POI的参数,具体参数为:
X:接收POI引擎坐标的X;
Y:接收POI引擎坐标的Y;
Z:接收POI引擎坐标的Z;
Name:接收POI数据的Name属性;
Type:设置Tag值,用于标注聚合与非聚合;
获取到POI数据在三维GIS引擎中的坐标后,传给SpawnActor方法,在场景中生成POIActor。
5.根据权利要求1所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S3中,包括以下步骤:
步骤S3.1、根据生成的POIActor构建四叉树,利用四叉树结构组织存储POI数据;
步骤S3.2、预设分级数量,根据相机高度计算分级间距,并根据分级数量计算计算搜索框大小;
步骤S3.3、将每个区域的点集取中心点存储为聚合点根据搜索框进行四叉树搜索与搜索框点集质心计算。
6.根据权利要求5所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S3.1中,四叉树的构建过程如下:
步骤S3.1.1、四叉树节点插入元素
从根节点开始,如果当前节点无子节点,则将元素插入到当前节点;如果存在子节点K,并且元素能够完全被子节K点所“包围”,则将元素插入到子节点K,对子节点K进行上述递归操作;如果元素跨越多个子节点,则将元素存储在当前节点。
步骤S3.1.2、四叉树节点分裂
如果某一节点元素超过自定义阈值,且深度小于四叉树允许的最大深度,则分裂当前节点。
7.根据权利要求5所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S3.2中,相机与地面的距离和层级分级时计算过程如下:
步骤S3.2.1、在三维GIS引擎中设置pawn类型为相机初始点,根据该相机在场景中与地面的高度H,预先设置的分级数量N,将层级之间的间距平均分为M,M=H/N,根据M设置相机在每个层级的高度值;
步骤S3.2.2、根据层级的大小设置矩形搜索区域的划分,如附图3所示,根据分级数量N,设置每个矩形区域的大小为(length,height),其中length=Bound.Length/N,height=Bound.Height/N。
8.根据权利要求5所述的基于三维GIS引擎的POI点聚合方法,其特征在于:所述步骤S3.3中,四叉树搜索与聚合效果的实现过程如下:
将源数据按空间维度聚合成以四叉树形式表示的聚合表数据,其中,四叉树的级别代表聚合的空间层次,四叉树节点的内容包括节点所对应地理范围以及从数据属性中选择的聚合维度进行聚合得到的轻量聚合数据;
步骤S3.3.1、从四叉树根节点开始遍历各节点,根据节点的地理坐标信息判断各节点与层级对应的矩形框范围之间的关系:
若节点处于矩形框范围之内,则将节点放入待判断节点集合;若节点处于矩形框范围之外则将该节点丢弃;若节点与矩形框范围相交,则继续遍历该节点的子节点并判断其子节点与矩形框范围的关系;
步骤S3.3.2、获取该节点所属地理范围的中心点,判断中心点与矩形框范围的关系:
若中心点处于矩形框范围内,则继续遍历并判断该节点的四个子节点的下一级节点与矩形框范围的关系;若中心点处于矩形框范围外,则将该节点的坐与与其中心节点各顶点的坐标进行组合得到四个子节点的各顶点坐标,判断子节点各顶点坐标是否落入到矩形框范围内,若是,则继续遍历并判断该子节点的下一级节点与矩形框范围的关系,若否,则将该子节点丢弃;
步骤S3.3.3、根据缩放层级与四叉树的层级进行联动,将层级传入四叉树算法预留的层级参数,通过计算每个层级四叉树中每个区块对应点集的中心点坐标,并统计该网格中存在的POIActor数据的数目,得到该层级的聚合结果。
9.一种基于三维GIS引擎的POI点聚合设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至8任意一项所述的方法步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的方法步骤。
CN202211515944.3A 2022-11-30 2022-11-30 一种基于三维gis引擎的poi点聚合方法 Pending CN116091715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211515944.3A CN116091715A (zh) 2022-11-30 2022-11-30 一种基于三维gis引擎的poi点聚合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211515944.3A CN116091715A (zh) 2022-11-30 2022-11-30 一种基于三维gis引擎的poi点聚合方法

Publications (1)

Publication Number Publication Date
CN116091715A true CN116091715A (zh) 2023-05-09

Family

ID=86203382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211515944.3A Pending CN116091715A (zh) 2022-11-30 2022-11-30 一种基于三维gis引擎的poi点聚合方法

Country Status (1)

Country Link
CN (1) CN116091715A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116258822A (zh) * 2023-05-16 2023-06-13 山东捷瑞数字科技股份有限公司 基于元宇宙的三维引擎边界限定方法、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116258822A (zh) * 2023-05-16 2023-06-13 山东捷瑞数字科技股份有限公司 基于元宇宙的三维引擎边界限定方法、设备及存储介质
CN116258822B (zh) * 2023-05-16 2023-08-11 山东捷瑞数字科技股份有限公司 基于元宇宙的三维引擎边界限定方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN105701103B (zh) 一种基于地理信息的三维应用系统
KR101546703B1 (ko) 대용량 건물 bim데이터의 시각화 시스템
CN105516311A (zh) 一种电子地图全景图获取方法及系统
CN110321443B (zh) 三维实景模型数据库构建方法、装置及数据服务系统
CN107479871B (zh) 一种海量的矢量数据的访问和渲染方法、电子设备及存储介质
CN108229740B (zh) 一种商圈边界的确定方法、装置、服务器及存储介质
CN107451150B (zh) 地理数据呈现方法及装置
CN107092623B (zh) 一种兴趣点查询方法及装置
CN112559667A (zh) 地图编辑器、地图引擎、地图编辑系统、方法及存储介质
CN103927934A (zh) 一种闭合围栏绘制的方法及系统
CN105260466A (zh) 推送图片的方法和装置
CN116091715A (zh) 一种基于三维gis引擎的poi点聚合方法
CN113178004A (zh) 一种基于超核八叉树海量点云显示方法
CN112700531A (zh) 一种融合矢量户型图的建筑物倾斜模型分层分户显示方法
Uznir et al. Improving 3D spatial queries search: Newfangled technique of space filling curves in 3D city modeling
CN111859187A (zh) 基于分布式图数据库的poi查询方法、装置、设备及介质
She et al. 3D building model simplification method considering both model mesh and building structure
Lu et al. Online spatial data analysis and visualization system
CN111830595A (zh) 气象要素的预测方法及设备
CN111737196B (zh) 基于电力交易系统气象资源网格文本转矢量图方法及装置
CN111177812A (zh) 一种含有封闭空间的web地图构建方法和装置
CN116342724A (zh) 热力图对象生成方法、装置以及计算机可读存储介质
CN116737852A (zh) 一种基于矢量瓦片数据的矢量绘图方法、装置和电子设备
CN113074735B (zh) 一种地图数据结构的处理方法
CN110119458B (zh) 一种网格检索方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination