CN114894198A - 一种基于商场三维导航地图的导航方法和*** - Google Patents
一种基于商场三维导航地图的导航方法和*** Download PDFInfo
- Publication number
- CN114894198A CN114894198A CN202210828736.2A CN202210828736A CN114894198A CN 114894198 A CN114894198 A CN 114894198A CN 202210828736 A CN202210828736 A CN 202210828736A CN 114894198 A CN114894198 A CN 114894198A
- Authority
- CN
- China
- Prior art keywords
- navigation
- navigation point
- user
- dimensional
- plane
- 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/383—Indoor data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种基于商场三维导航地图的导航方法和***,其中方法包括生成网页可视的商场三维导航地图;获取商场三维导航地图中各导航点位的坐标;将各导航点位之间的距离转换为寻路点位中的第一通行代价;连接所有导航点位并与第一通行代价组合,得到初始路网;将功能性建筑物中直梯和扶梯的权重转换为第二通行代价;将初始路网与第二通行代价组合,得到最终路网;获取最终路网中与用户当前位置最近的导航点位和目标导航点位;获取用户导航至目标导航点位的最优路径。本发明导航时优先导航到离车位最近的扶梯或直梯,方便用户快速找到车位;同时考虑到商场内店铺都是有不同的门头标识,导航时选择距离最短的路径,节省用户寻找店铺的时间。
Description
技术领域
本发明属于室内导航技术领域,尤其涉及一种基于商场三维导航地图的导航方法和***。
背景技术
室内导航是目前导航技术领域中的一项重要技术,基于位置的服务(LBS,Location Based Service)在移动互联网时代将拥有广阔的应用前景。智能手机的蓬勃发展和广泛普及也为LBS的实现提供了一个便捷的平台,不仅成本低廉,而且容易形成较大的产业规模。
目前,定位技术主要使用两类技术:全球定位***(GPS,Global PositioningSystem)技术和基于移动运营网基站的定位技术,但是,由于在室内环境下,电磁波信号传播受到干扰和屏蔽,GPS在大多数情况下无法在室内环境下使用,而基于移动运营网基站的定位精度太低,也无法满足用户在室内环境下的精确定位。由于现有的定位技术无法准确地为用户提供室内定位,因此,目前当用户在逛商场,特别是大型商场时很容易因迷失方向而找不到商场内目标建筑物,这时用户只能借助商场中设置的导向牌或者以寻路的方式获得帮助。
发明内容
本发明针对现有技术中的不足,提供一种基于商场三维导航地图的导航方法和***。
第一方面,本发明提供一种基于商场三维导航地图的导航方法,包括:
对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域;
结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物;
构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位;
采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图;
获取商场三维导航地图中各导航点位的坐标;
根据各导航点位的坐标,计算各导航点位之间的距离;
获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价;
连接所有导航点位并与第一通行代价组合,得到初始路网;
初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a;
将功能性建筑物中直梯和扶梯的权重转换为第二通行代价;
将初始路网与第二通行代价组合,得到最终路网;
获取最终路网中与用户当前位置最近的导航点位和目标导航点位;
采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
进一步地,所述对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,包括:
对导入的文件类型进行识别,根据识别结果解析得到对应的点位数据:
如果是数据文件,根据文件格式对文件内容做数据解析,得到二维点位数据;
如果是图形文件,添加锐化边缘滤镜使颜色边界更加清晰,使用图片加载控件导入平面图片作为底图,结合图片颜色对平面区域进行划分,并转换成点位数据;自动识别相邻单位的色差值,将超过预设色差值阈值的点位标记为边线点;
如果是CAD文件,以二进制方式读取CAD文件数据,通过转码后解析文本内的点及线段自动生成平面区域;
根据直线公式和贝塞尔曲线公式剔除多余数据和优化点位数据;
以点位数据为基础添加特定属性生成自定义对象;其中,特定属性包括颜色、拉伸高度、透明度和角度中的一种或多种。
进一步地,所述构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位,包括:
利用WEBGL技术遍历当前对象组,对对象内的区域进行三角面的切割,利用三角面顶点的排列顺序,剔除背面的三角面渲染,同时根据Z坐标给所有三角面做深度排序,完成对象渲染;
利用3D对象的3*3矩阵实现3D模型的缩放、移动效果;
给场景内添加3D灯光,设置包括灯光的位置、亮度、颜色、衰减率和照射区域在内的默认属性;
获取3D对象每个三角面的法线向量{object.x, object.y, object.z},根据3D对象每个三角面的法线向量和相应的灯光向量{light.x, light.y, light.z}计算以下参数:
对象的内积objectProd:
objectProd = object.x * light.x + object.y * light.y + object.z *light.z;
通过对象的3D勾股定理公式和Math.sqrt函数计算得到对象对应的平方根normMag:
normMag = Math.sqrt(object.x * object.x + object.y * object.y +object.z * object.z);
通过灯光的3D勾股定理公式和Math.sqrt函数计算得到灯光对应的平方根lightMag:
lightMag = Math.sqrt(light.x * light.x + light.y * light.y + light.z* light.z);
材质的滤光系数:
通过Math.acos计算反余弦乘以灯光亮度系数brightness,使用程序内置对象Math.PI 计算滤光系数π:
滤光系数π = (Math.acos(objectProd / (normMag * lightMag)) / Math.PI)* light.brightness;
检索CAD文件的文本信息,判断文本的坐标位置是否在区域内,自动绑定识别出的平面区域和文本名称。
进一步地,所述采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸,包括:
对于JPG文件,采用PathJS拆分多边形为多个三角面,再采用WEBGL技术将拆分得到的多个三角面朝Z轴方向拉伸。
进一步地,所述生成各平面区域的导航点位的过程包括:
根据区域特征点位,识别其中包含的车位点位和店铺区的店门点位,将车位点位和店门点位设置成导航点位;
通过对地板区和店铺区取差值得到可行路径区域;
结合导航点位和可行路径区域生成导航数据库。
进一步地,所述导航方法,还包括:
优先渲染当前可视区域的图像数据,采用多进程后台渲染当前不可见的图像数据。
进一步地,所述导航方法,还包括:
在地图编辑过程中,根据用户发送的微调指令对区域线框、二维平面视图或商场三维导航地图进行局部微调,同时只对更新部分的对象数据进行渲染;
所述微调过程包括:
使用直线公式和三次贝塞尔曲线公式遍历当前线上的点;
与当前鼠标坐标对比以实现点的删除、增加效果;
利用对象的2*2矩阵实现点和线的移动、缩放功能;
使用canvas技术实时渲染最新的图形区域实现操作效果的实时预览;
其中,微调指令执行进程和对象数据的渲染进程分离运行。
进一步地,所述将功能性建筑物中直梯和扶梯的权重转换为第二通行代价,包括:
根据以下公式,将功能性建筑物中直梯和扶梯的权重转换为第二通行代价:
D=L×200+Q×100;
其中,D为第二通行代价;L为用户当前位置与目标导航点位的楼层差;Q为直梯或扶梯的权重值。
进一步地,所述采用Dijkstra算法获取用户导航至目标导航点位的最优路径,包括:
用Dijkstra算法获取用户导航至目标导航点位的最优路径;
获取商场三维导航地图的比例尺;
根据比例尺和各导航点位之间的距离所代表的像素,计算用户导航至目标导航点位的最优路径的实际距离;
计算用户当前位置与目标导航点位的距离;
计算用户当前位置与目标导航点位的距离在Y轴上的坐标差;
根据以下公式得到目标导航点位的方向:
θ=acos( dy / s);
其中,dy为当前位置与目标导航点位的距离在Y轴上的坐标差;s为用户当前位置与目标导航点位的距离;
根据用户导航至目标导航点位的最优路径的实际距离和目标导航点位的方向进行商场内导航。
第二方面,本发明提供一种基于商场三维导航地图的导航***,包括:
区域线框生成模块,用于对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域;
平面区域识别模块,用于结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物;
二维平面视图生成模块,用于构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位;
商场三维导航地图生成模块,用于采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图;
导航点位坐标获取模块,用于获取商场三维导航地图中各导航点位的坐标;
导航点位距离计算模块,用于根据各导航点位的坐标,计算各导航点位之间的距离;
第一通行代价转换模块,用于获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价;
导航点位连接模块,用于连接所有导航点位并与第一通行代价组合,得到初始路网;
权重初始化模块,用于初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a;
第二通行代价转换模块,用于将功能性建筑物中直梯和扶梯的权重转换为第二通行代价;
路网组合模块,用于将初始路网与第二通行代价组合,得到最终路网;
导航点位获取模块,用于获取最终路网中与用户当前位置最近的导航点位和目标导航点位;
最优路径获取模块,用于采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
本发明提供一种基于商场三维导航地图的导航方法和***,其中方法考虑到在停车场车位特征不好识别,导航时优先导航到离车位最近的扶梯或直梯,方便用户快速找到车位;同时考虑到商场内店铺都是有不同的门头标识,导航时选择距离最短的路径,节省用户寻找店铺的时间。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于商场三维导航地图的导航方法的流程图;
图2为本发明实施例提供的一种基于商场三维导航地图的导航***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例部分提供一种基于商场三维导航地图的导航方法,包括:
步骤101,对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域。
商场的2D格式图像文件有包括CAD、SVG在内的制图文件和包括JPG、EOJson、PNG、JPEG在内的图片文件中的一种或几种的组合。
商场的2D格式图像文件中包含功能性建筑物和标识性建筑物两种。以商场导航为例,商场的功能性建筑物可以包括店铺区、楼梯区、电梯区、地板区和车位区等等,这是用户经常使用到的几个功能性建筑物。而商场的标识性建筑物可以包括装饰型建筑物、指示型建筑物等等,例如装饰用的圣诞老人雕塑,或者设置在楼梯口的快速通道警示牌等。应当理解,前述例子只提及了经常见到和使用到的一些商场建筑物,在实际例子中,导入的商场2D格式图像文件中可能包含更多的建筑物种类,但均可以根据实际作用将其划分成前述两种,例如卫生间和取水间都属于功能性建筑物,而悬挂的气球等属于标识性建筑物。
在商场的设计过程中,功能性建筑物通常会以CAD等制图文件存在,例如设计图纸等,用户可以直接导入设计图纸来获取这部分建筑物的2D格式图像文件。而标识性建筑物则因为种种原因通常会以照片等图像形式存在。这不是绝对的,例如,用户还可以通过无人机等设备航拍整个商区来获得商场的平面图像。为了便于描述,下面我们仅以CAD格式的功能性建筑物和图像形式的标识性建筑物为例对本发明实施例的技术方案进行详细阐述。
CAD等制图文件由于其具有明确的线条等结构体,可以直接对其进行处理。而JPG、PNG、JEPG等图像文件由于不具备完整清晰的线条,更多的是基于各种色块体现的物体,可以通过对图片颜色进行处理,对其进行初步处理。
基于前述原理,作为其中的一种可选例,对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息的过程包括:
对导入的文件类型进行识别,根据识别结果解析得到对应的点位数据。
(1)如果是数据文件,根据文件格式对文件内容做数据解析,得到二维点位数据。
(2)如果是图形文件,添加锐化边缘滤镜使颜色边界更加清晰,使用图片加载控件导入平面图片作为底图,结合图片颜色对平面区域进行划分,并转换成点位数据;自动识别相邻单位的色差值,将超过预设色差值阈值的点位标记为边线点。
(3)如果是CAD文件,以二进制方式读取CAD文件数据,通过转码后解析文本内的点及线段自动生成平面区域。
根据直线公式和贝塞尔曲线公式剔除多余数据和优化点位数据。
以点位数据为基础添加特定属性生成自定义对象;其中,特定属性包括颜色、拉伸高度、透明度和角度中的一种或多种。
首先,对导入的商场的2D格式图像文件进行预处理,预处理过程包括两步:第一步,删除其中包含的冗余数据和辅助数据,包括但不限于线条样式数据、辅助线条和重复线条等,这部分数据对于最终形成三维地图至多只能提供辅助作用,删除后可以精简整个图像文件,减少后续处理过程复杂度。第二步,将2D图像数据转换为自定义对象,目的在于,使后续的处理过程转换成对对象的处理而不是数据处理,进一步减少处理过程复杂度。以一层CAD楼层图为例,通过一般的数据解析后生成的数据文件大小为500KB左右,转换为自定义对象后生成的数据文件大小为100KB左右。这一特性在微调渲染过程中也发挥了极大的作用,用户在微调后可以非常快速地显现出最终的渲染效果。
在转换成自定义对象后,根据文件类型来解析得到点位和线段信息。具体的,对于CAD文件,以二进制方式读取CAD文件数据,通过转码后解析文本内的点及线段自动生成平面区域。对于JPG文件,使用图片加载控件导入平面图片作为底图,对图片颜色对平面区域进行划分,并转换成点位数据;自动识别相邻单位的色差值,将超过预设色差值阈值的点位标记为边线点。这一过程可以采用图像处理算法快速实现,在此不作赘述。
步骤102,结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物。
商场中的每个建筑物都有其特征信息,例如,根据区域特征点位,识别长宽比在2:1~2.2:1且宽度为2.5±0.5米的建筑物通常为车位,尤其是车位之间还存在相邻设置的特点;而有门标记的区域通常为店铺,通常的,店铺之间也存在相邻设置的位置关系。扶梯具有位于店铺环绕的中心区域且呈两条长而细直的图形特征,而且扶梯数量通常与商场层数相对应。
步骤103,构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位。
作为其中的一种可选例,将其处理成包含XY坐标位置信息的二维平面图包括以下步骤:
采用WEBGL技术对识别出平面区域类型的2D格式图像文件进行渲染处理,根据各平面区域的类型设置每个区域包括高度、颜色和透明度在内的默认属性;此处的默认属性包括高度、颜色和透明度等。具体的,利用WEBGL技术遍历当前对象组,对对象内的区域进行三角面的切割,利用三角面顶点的排列顺序,剔除背面的三角面渲染,同时根据Z坐标给所有三角面做深度排序,完成对象渲染。
利用3D对象的3*3矩阵实现3D模型的缩放、移动效果。
给场景内添加3D灯光,设置包括灯光的位置、亮度、颜色、衰减率和照射区域在内的默认属性。
获取3D对象(object)每个三角面的法线向量,根据法线向量和灯光(light)向量计算以下参数:
(1)对象的内积objectProd:
objectProd = object.x * light.x + object.y * light.y + object.z *light.z。
(2)对象的3D勾股定理normMag:通过Math.sqrt计算平方根
normMag = Math.sqrt(object.x * object.x + object.y * object.y +object.z * object.z);
(3)灯光的3D勾股定理lightMag:通过Math.sqrt计算平方根
lightMag = Math.sqrt(light.x * light.x + light.y * light.y + light.z* light.z)。
(4)材质的滤光系数: 通过Math.acos计算反余弦乘以灯光亮度系数(brightness),使用程序内置对象Math.PI 计算滤光系数π:
滤光系数π= (Math.acos(objectProd / (normMag * lightMag)) / Math.PI) *light.brightness。
WEBGL是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WEBGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助***显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WEBGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。
检索CAD文件的文本信息,判断文本的坐标位置是否在区域内,自动绑定识别出的平面区域和文本名称。文本信息也可以作为步骤102中识别平面区域类型的辅助信息。
为了加快渲染速度,本发明申请例提出,优先渲染当前可视区域的图像数据,采用多进程后台渲染当前不可见的图像数据,使得最终呈现的页面效果最好。
作为其中的另一种可选例,生成各平面区域的导航点位的过程包括以下步骤:
根据区域特征点位,识别其中包含的车位点位和店铺区的店门点位,将车位点位和店门点位设置成导航点位;通过对地板区和店铺区取差值得到可行路径区域;结合导航点位和可行路径区域生成导航数据库。
在商场这一环境中,用户最关心的是店铺的位置信息和车位的位置信息,为了加快导航线路生成速度,本发明申请例在地图生成过程中设置对应的导航点位,如此,用户在输入导航指令后,编辑器可以通过连接导航点位的方式快速生成导航线路。
步骤104,采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图。
二维平面是XY两个坐标,增加一个Z坐标默认值***可设置。依赖WEBGL技术,将平面图形朝Z轴方向拉伸,并增加材质、光照、相机属性后,生成网页可视的3D图像。其中,对于JPG文件,采用PathJS拆分多边形为多个三角面,再采用WEBGL技术将拆分得到的多个三角面朝Z轴方向拉伸。
每个建筑物的高度其实都可以根据建筑物的类型和位置关系确定得到,尤其是常见的功能性建筑物,店铺的高度、扶梯的高度和扶手的高度等等。而对于标识性建筑物的高度,可以根据模型自动拉伸高度,根据整体地图比例,根据整体地图比例设置模型的初始高度;如模型高度为地图宽度的2%。即地图越大模型越高。根据模型所处的位置,优先计算周边空白区域的面积,然后按比例设置模型的占地面积,再根据模型自身比例初始化模型的高度。比如广场和中庭面积大则模型的初始高度就高。
即使如此,在整个地图的生成过程中,其中的部分步骤仍有可能出现些微的偏差,为此,本发明实施例在每个生成结果页面上均留有微调接口,包括但不限于区域线框、二维平面视图或商场三维导航地图,调整属性包括点位、线段、颜色、高度、透明度和材质等属性值。
由于微调是由用户手动操作,调整频次较高,因此,针对微调的地图渲染过程的高效性显得尤其重要。为此,本发明实施例进一步提出,在地图编辑过程中,根据用户发送的微调指令对区域线框、二维平面视图或商场三维导航地图进行局部微调,同时只对更新部分的对象数据进行渲染。具体的,微调过程如下:以点、线的修改为例,本实施例使用直线公式和三次贝塞尔曲线公式遍历当前线上的点;与当前鼠标坐标对比;实现点的删除、增加效果。利用对象的2*2矩阵实现点和线的移动、缩放功能。使用canvas技术实时渲染最新的图形区域实现操作效果的实时预览。
其中,微调指令执行进程和对象数据的渲染进程分离运行。例如,通过编辑模式分离达到场景的无缝切换;在微调状态下使用2D渲染模式,此时只渲染平面区域,没有材质、灯光等属性,在此模式下专注于指令响应的实时渲染。在预览效果状态下使用3D渲染模式,此时场景中增加材质、灯光的属性渲染,达到真实场景效果;在此模式下专注于3D内容的真实校验。
另外在3D模式渲染中进行以下优化:
(1)渲染过程优化:按对象进行分步渲染,减少渲染等待时间;
(2)渲染材质优化:一类对象使用同一个材质,使用缓存材质,减少GPU消耗;
(3)模型优化:优化模型顶点数量,减少渲染三角面,提高性能。
步骤105,获取商场三维导航地图中各导航点位的坐标。
步骤106,根据各导航点位的坐标,计算各导航点位之间的距离。
步骤107,获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价。
步骤108,连接所有导航点位并与第一通行代价组合,得到初始路网。
步骤109,初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a。
例如,初始默认所有直梯和扶梯的权重值均为5。
如果导航到店铺则优先选择扶梯通行且选择距离最近的扶梯,此时距离最近的扶梯的权重值为1。
如果导航到停车位则优先选择直梯通行且选择离车位最近的电梯,此时距离车位最近的电梯权重值为1。
步骤1010,将功能性建筑物中直梯和扶梯的权重转换为第二通行代价。
根据以下公式,将功能性建筑物中直梯和扶梯的权重转换为第二通行代价:
D=L×200+Q×100;
其中,D为第二通行代价;L为用户当前位置与目标导航点位的楼层差;Q为直梯或扶梯的权重值。权重值越小对应的代价越小。寻路时依据最小代价到达目的地的规则下,就会优先选择代价小的通行设施。
步骤1011,将初始路网与第二通行代价组合,得到最终路网。
步骤1012,获取最终路网中与用户当前位置最近的导航点位和目标导航点位。
步骤1013,采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
用Dijkstra算法获取用户导航至目标导航点位的最优路径;
获取商场三维导航地图的比例尺;
根据比例尺和各导航点位之间的距离所代表的像素,计算用户导航至目标导航点位的最优路径的实际距离;
计算用户当前位置与目标导航点位的距离;
计算用户当前位置与目标导航点位的距离在Y轴上的坐标差;
根据以下公式得到目标导航点位的方向:
θ=acos( dy / s);
其中,dy为当前位置与目标导航点位的距离在Y轴上的坐标差;s为用户当前位置与目标导航点位的距离;
根据用户导航至目标导航点位的最优路径的实际距离和目标导航点位的方向进行商场内导航。
例如商场三维导航地图的比例尺是1米:6像素,由于代价和像素是1:1转换的,则实际米数为:(最优路径的总代价-通行设施的代价)/ 6 = 实际米数
从第三方统计中获取到成年人的步行平均速度是1.5m/s。则可计算出预计消耗时长为:实际米数 / 1.5 = 预计消耗时间。
本发明实施例提供的基于商场三维导航地图的导航方法,考虑到在停车场车位不好识别,导航时优先导航到离车位最近的扶梯或直梯,方便用户快速找到车位;同时考虑到商场内店铺都是有不同的门头标识,导航时选择距离最短的路径,节省用户寻找店铺的时间。
基于同一发明构思,本发明实施例还提供了一种基于商场三维导航地图的导航***,由于该***解决问题的原理与前述一种基于商场三维导航地图的导航方法相似,因此该***的实施可以参见基于商场三维导航地图的导航方法的实施,重复之处不再赘述。
本发明一个实施例提供的基于商场三维导航地图的导航***,如图2所示,包括:
区域线框生成模块10,用于对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域。
平面区域识别模块20,用于结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物。
二维平面视图生成模块30,用于构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位。
商场三维导航地图生成模块40,用于采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图。
导航点位坐标获取模块50,用于获取商场三维导航地图中各导航点位的坐标。
导航点位距离计算模块60,用于根据各导航点位的坐标,计算各导航点位之间的距离。
第一通行代价转换模块70,用于获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价。
导航点位连接模块80,用于连接所有导航点位并与第一通行代价组合,得到初始路网。
权重初始化模块90,用于初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a。
第二通行代价转换模块100,用于将功能性建筑物中直梯和扶梯的权重转换为第二通行代价。
路网组合模块110,用于将初始路网与第二通行代价组合,得到最终路网。
导航点位获取模块120,用于获取最终路网中与用户当前位置最近的导航点位和目标导航点位。
最优路径获取模块130,用于采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
相应的,本发明实施例还提供了一种计算机设备,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现前述实施例公开的基于商场三维导航地图的导航方法。
关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
进一步的,本发明实施例还提供一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的基于商场三维导航地图的导航方法。
关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上结合具体实施方式和范例性实例对本发明进行了详细说明,不过这些说明并不能理解为对本发明的限制。本领域技术人员理解,在不偏离本发明精神和范围的情况下,可以对本发明技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本发明的范围内。本发明的保护范围以所附权利要求为准。
Claims (10)
1.一种基于商场三维导航地图的导航方法,其特征在于,包括:
对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域;
结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物;
构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位;
采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图;
获取商场三维导航地图中各导航点位的坐标;
根据各导航点位的坐标,计算各导航点位之间的距离;
获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价;
连接所有导航点位并与第一通行代价组合,得到初始路网;
初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a;
将功能性建筑物中直梯和扶梯的权重转换为第二通行代价;
将初始路网与第二通行代价组合,得到最终路网;
获取最终路网中与用户当前位置最近的导航点位和目标导航点位;
采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
2.根据权利要求1所述的基于商场三维导航地图的导航方法,其特征在于,所述对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,包括:
对导入的文件类型进行识别,根据识别结果解析得到对应的点位数据:
如果是数据文件,根据文件格式对文件内容做数据解析,得到二维点位数据;
如果是图形文件,添加锐化边缘滤镜使颜色边界更加清晰,使用图片加载控件导入平面图片作为底图,结合图片颜色对平面区域进行划分,并转换成点位数据;自动识别相邻单位的色差值,将超过预设色差值阈值的点位标记为边线点;
如果是CAD文件,以二进制方式读取CAD文件数据,通过转码后解析文本内的点及线段自动生成平面区域;
根据直线公式和贝塞尔曲线公式剔除多余数据和优化点位数据;
以点位数据为基础添加特定属性生成自定义对象;其中,特定属性包括颜色、拉伸高度、透明度和角度中的一种或多种。
3.根据权利要求2所述的基于商场三维导航地图的导航方法,其特征在于,所述构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位,包括:
利用WEBGL技术遍历当前对象组,对对象内的区域进行三角面的切割,利用三角面顶点的排列顺序,剔除背面的三角面渲染,同时根据Z坐标给所有三角面做深度排序,完成对象渲染;
利用3D对象的3*3矩阵实现3D模型的缩放、移动效果;
给场景内添加3D灯光,设置包括灯光的位置、亮度、颜色、衰减率和照射区域在内的默认属性;
获取3D对象每个三角面的法线向量{object.x, object.y, object.z},根据3D对象每个三角面的法线向量和相应的灯光向量{light.x, light.y, light.z}计算以下参数:
对象的内积objectProd:
objectProd = object.x * light.x + object.y * light.y + object.z *light.z;
通过对象的3D勾股定理公式和Math.sqrt函数计算得到对象对应的平方根normMag:
normMag = Math.sqrt(object.x * object.x + object.y * object.y + object.z* object.z);
通过灯光的3D勾股定理公式和Math.sqrt函数计算得到灯光对应的平方根lightMag:
lightMag = Math.sqrt(light.x * light.x + light.y * light.y + light.z *light.z);
材质的滤光系数:
通过Math.acos计算反余弦乘以灯光亮度系数brightness,使用程序内置对象Math.PI计算滤光系数π:
滤光系数π = (Math.acos(objectProd / (normMag * lightMag)) / Math.PI) *light.brightness;
检索CAD文件的文本信息,判断文本的坐标位置是否在区域内,自动绑定识别出的平面区域和文本名称。
4.根据权利要求3所述的基于商场三维导航地图的导航方法,其特征在于,所述采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸,包括:
对于JPG文件,采用PathJS拆分多边形为多个三角面,再采用WEBGL技术将拆分得到的多个三角面朝Z轴方向拉伸。
5.根据权利要求2所述的基于商场三维导航地图的导航方法,其特征在于,所述生成各平面区域的导航点位的过程包括:
根据区域特征点位,识别其中包含的车位点位和店铺区的店门点位,将车位点位和店门点位设置成导航点位;
通过对地板区和店铺区取差值得到可行路径区域;
结合导航点位和可行路径区域生成导航数据库。
6.根据权利要求1所述的基于商场三维导航地图的导航方法,其特征在于,还包括:
优先渲染当前可视区域的图像数据,采用多进程后台渲染当前不可见的图像数据。
7.根据权利要求1所述的基于商场三维导航地图的导航方法,其特征在于,还包括:
在地图编辑过程中,根据用户发送的微调指令对区域线框、二维平面视图或商场三维导航地图进行局部微调,同时只对更新部分的对象数据进行渲染;
所述微调过程包括:
使用直线公式和三次贝塞尔曲线公式遍历当前线上的点;
与当前鼠标坐标对比以实现点的删除、增加效果;
利用对象的2*2矩阵实现点和线的移动、缩放功能;
使用canvas技术实时渲染最新的图形区域实现操作效果的实时预览;
其中,微调指令执行进程和对象数据的渲染进程分离运行。
8.根据权利要求1所述的基于商场三维导航地图的导航方法,其特征在于,所述将功能性建筑物中直梯和扶梯的权重转换为第二通行代价,包括:
根据以下公式,将功能性建筑物中直梯和扶梯的权重转换为第二通行代价:
D=L×200+Q×100;
其中,D为第二通行代价;L为用户当前位置与目标导航点位的楼层差;Q为直梯或扶梯的权重值。
9.根据权利要求1所述的基于商场三维导航地图的导航方法,其特征在于,所述采用Dijkstra算法获取用户导航至目标导航点位的最优路径,包括:
用Dijkstra算法获取用户导航至目标导航点位的最优路径;
获取商场三维导航地图的比例尺;
根据比例尺和各导航点位之间的距离所代表的像素,计算用户导航至目标导航点位的最优路径的实际距离;
计算用户当前位置与目标导航点位的距离;
计算用户当前位置与目标导航点位的距离在Y轴上的坐标差;
根据以下公式得到目标导航点位的方向:
θ=acos( dy / s);
其中,dy为当前位置与目标导航点位的距离在Y轴上的坐标差;s为用户当前位置与目标导航点位的距离;
根据用户导航至目标导航点位的最优路径的实际距离和目标导航点位的方向进行商场内导航。
10.一种基于商场三维导航地图的导航***,其特征在于,包括:
区域线框生成模块,用于对导入的商场的2D格式图像文件进行处理,删除其中包含的冗余数据和辅助数据,将2D图像数据转换为自定义对象,解析得到其中的点位信息和线段信息,顺序连接后生成多个区域线框,在导入的2D格式图像上划分得到多个平面区域;
平面区域识别模块,用于结合每个平面区域的特征信息,以及平面区域在原始2D格式图像文件中的位置关系,识别得到每个平面区域的类型;平面区域类型包括商场的功能性建筑物和标识性建筑物;
二维平面视图生成模块,用于构建三轴直角坐标系,采用WEBGL技术对带有区域线框的2D格式图像文件进行渲染,将其处理成包含XY坐标位置信息和区域默认属性的二维平面视图,同时生成各平面区域的导航点位;
商场三维导航地图生成模块,用于采用WEBGL技术将二维平面视图中的各平面区域图形朝Z轴方向拉伸;结合各平面区域的类型和位置关系确定拉伸量、材质、光照和相机属性,生成网页可视的商场三维导航地图;
导航点位坐标获取模块,用于获取商场三维导航地图中各导航点位的坐标;
导航点位距离计算模块,用于根据各导航点位的坐标,计算各导航点位之间的距离;
第一通行代价转换模块,用于获取各导航点位之间的距离所代表的像素,定义1像素为1代价,将各导航点位之间的距离转换为寻路点位中的第一通行代价;
导航点位连接模块,用于连接所有导航点位并与第一通行代价组合,得到初始路网;
权重初始化模块,用于初始化功能性建筑物中直梯和扶梯的权重,且初始化后直梯和扶梯的权重值为a;如果导航至店铺,则选择扶梯通行,当前扶梯权重值为b,b<a;如果导航至停车位,则选择直梯通行,当前直梯的权重值为b,b<a;
第二通行代价转换模块,用于将功能性建筑物中直梯和扶梯的权重转换为第二通行代价;
路网组合模块,用于将初始路网与第二通行代价组合,得到最终路网;
导航点位获取模块,用于获取最终路网中与用户当前位置最近的导航点位和目标导航点位;
最优路径获取模块,用于采用Dijkstra算法获取用户导航至目标导航点位的最优路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828736.2A CN114894198A (zh) | 2022-07-15 | 2022-07-15 | 一种基于商场三维导航地图的导航方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828736.2A CN114894198A (zh) | 2022-07-15 | 2022-07-15 | 一种基于商场三维导航地图的导航方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114894198A true CN114894198A (zh) | 2022-08-12 |
Family
ID=82730210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210828736.2A Pending CN114894198A (zh) | 2022-07-15 | 2022-07-15 | 一种基于商场三维导航地图的导航方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114894198A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116518980A (zh) * | 2023-06-29 | 2023-08-01 | 亚信科技(南京)有限公司 | 导航方法、装置、电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103234539A (zh) * | 2013-04-22 | 2013-08-07 | 南京师范大学 | 面向大型购物中心的三维可视化室内导航方法 |
CN111323010A (zh) * | 2020-04-21 | 2020-06-23 | 桂林电子科技大学 | 一种室内外智能导航*** |
CN111366147A (zh) * | 2018-12-26 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 地图生成方法、室内导航方法、装置及设备 |
CN112817313A (zh) * | 2020-12-31 | 2021-05-18 | 吉林大学 | 商场用智能购物车的定位和导航***及定位和导航方法 |
CN112991558A (zh) * | 2021-05-10 | 2021-06-18 | 南京千目信息科技有限公司 | 一种地图编辑方法和地图编辑器 |
US20210358206A1 (en) * | 2020-05-14 | 2021-11-18 | Star Institute Of Intelligent Systems | Unmanned aerial vehicle navigation map construction system and method based on three-dimensional image reconstruction technology |
-
2022
- 2022-07-15 CN CN202210828736.2A patent/CN114894198A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103234539A (zh) * | 2013-04-22 | 2013-08-07 | 南京师范大学 | 面向大型购物中心的三维可视化室内导航方法 |
CN111366147A (zh) * | 2018-12-26 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 地图生成方法、室内导航方法、装置及设备 |
CN111323010A (zh) * | 2020-04-21 | 2020-06-23 | 桂林电子科技大学 | 一种室内外智能导航*** |
US20210358206A1 (en) * | 2020-05-14 | 2021-11-18 | Star Institute Of Intelligent Systems | Unmanned aerial vehicle navigation map construction system and method based on three-dimensional image reconstruction technology |
CN112817313A (zh) * | 2020-12-31 | 2021-05-18 | 吉林大学 | 商场用智能购物车的定位和导航***及定位和导航方法 |
CN112991558A (zh) * | 2021-05-10 | 2021-06-18 | 南京千目信息科技有限公司 | 一种地图编辑方法和地图编辑器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116518980A (zh) * | 2023-06-29 | 2023-08-01 | 亚信科技(南京)有限公司 | 导航方法、装置、电子设备及计算机可读存储介质 |
CN116518980B (zh) * | 2023-06-29 | 2023-09-12 | 亚信科技(南京)有限公司 | 导航方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10573069B2 (en) | Systems and methods for rapid three-dimensional modeling with real facade texture | |
CN112991558B (zh) | 一种地图编辑方法和地图编辑器 | |
Haala et al. | 3D urban GIS from laser altimeter and 2D map data | |
CN109360262B (zh) | 基于cad图生成三维模型的室内定位***及方法 | |
Heo et al. | Productive high-complexity 3D city modeling with point clouds collected from terrestrial LiDAR | |
US20130101175A1 (en) | Reimaging Based on Depthmap Information | |
US20110248995A1 (en) | System and methods for creating interactive virtual content based on machine analysis of freeform physical markup | |
JP5797419B2 (ja) | 地図情報処理装置、ナビゲーション装置、地図情報処理方法、およびプログラム | |
CN113706713A (zh) | 一种实景三维模型裁剪方法、装置及计算机设备 | |
Delikostidis et al. | Increasing the usability of pedestrian navigation interfaces by means of landmark visibility analysis | |
CN115937461B (zh) | 多源融合模型构建及纹理生成方法、装置、介质及设备 | |
CN114894198A (zh) | 一种基于商场三维导航地图的导航方法和*** | |
CN115546422A (zh) | 一种建筑物的三维模型构建方法、***和电子设备 | |
JP4781685B2 (ja) | 略地図生成装置 | |
CN116958478B (zh) | 城市建筑模型程序化生成方法、装置、设备及存储介质 | |
Fukuda et al. | Integration of a structure from motion into virtual and augmented reality for architectural and urban simulation: demonstrated in real architectural and urban projects | |
Komadina et al. | Automated 3D urban landscapes visualization using open data sources on the example of the city of Zagreb | |
Shen et al. | Automatic virtual 3d city generation for synthetic data collection | |
Neuville et al. | Towards a normalised 3D Geovisualisation: The viewpoint management | |
CN114416764A (zh) | 地图更新方法、装置、设备及存储介质 | |
Habib et al. | Integration of lidar and airborne imagery for realistic visualization of 3d urban environments | |
Sugihara et al. | Automatic generation of 3D building models from building polygons on digital maps | |
Gruber et al. | Urban data management—A modern approach | |
JP7290601B2 (ja) | 点群構築装置、位置推定装置、点群構築方法、位置推定方法及びプログラム | |
CN114494616B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220812 |
|
RJ01 | Rejection of invention patent application after publication |