一种倾斜测量场景的地物提取方法与流程

文档序号:11433401阅读:459来源:国知局
一种倾斜测量场景的地物提取方法与流程

本发明属于电力线路设计的技术领域,具体地涉及一种倾斜测量场景的地物提取方法,其在保证数据精度和地物轮廓准确度前提下,能够从倾斜测量场景自动提取房屋树木等地物。



背景技术:

倾斜摄影三维建模技术及应用是近年来测绘领域关注的热点,由于其数据精度高、地表覆盖全面等突出优点广泛应用于智慧城市、智慧水利、智慧旅游等各方面。本发明主要涉及其在电力线路设计方面的应用。

电力线路设计中要求获取线路走廊范围内的房屋、树木、道路等交叉跨越地物信息,测量这些地物到电力线、杆塔等的距离,根据量测结果合理选择杆塔位置、杆塔型号、架线参数等以保证满足电力线路设计规范的校核要求。然而倾斜测量的原始数据一般采用自动化方式生成三维场景成果,由于其生成机理,得到的模型是一个连续的tin(不规则三角网)加贴图,即地物、地形等是作为一个整体提供的,并没有将地物划分为可以单独操作的对象,这种情况下是无法进行距离校核计算的。因此,在电力线路设计中使用倾斜测量场景时,首先需要对场景中的房屋、树木等电力线路关心的地物进行单体化处理。

目前市面上倾斜测量场景三维应用中的地物单体化方式主要有三种:一种是在地物上叠加配套的矢量面,表面上看起来是单体效果,实际上只是简单地查询了建筑轮廓点矢量面,而非真正意义上的单体分离;二是简单的三角面分组,将场景中原有的三角面直接区分为地物或地形,但这样的处理会导致地物边界呈现锯齿状,且不同精度等级的地物边界不一致,极不美观,并且当需要将地物替换为人工制作的高精度模型时无法与地形场景实现无缝拼接;三是人工设定地物边界进行三角面切割分离地物,此种方法地物边界比较整齐美观,不同精度等级边界一致,且不损伤原有数据精度。但该方法操作比较繁琐,既费人力,又很难达到地物轮廓精确匹配。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种倾斜测量场景的地物提取方法,其具有较高的自动化程度,仅需简单操作即可获取地物精确轮廓,具有房屋、树木等地物真正与倾斜测量场景相分离的功能,保证了地物具有原始数据的精确度,可以方便将地物替换为人工精细建模的模型,将边缘准确拼接,可以在保留数据高精度的情况下实现快速加载显示。

本发明的技术解决方案是:这种倾斜测量场景的地物提取方法,原始倾斜测量场景采用树状存储结构数据,整个场景为根节点,由多个场景块子节点构成,每个子节点除了拥有自身的三角面图元集,还包含若干个更高精度等级场景块子节点,该倾斜测量场景的地物提取方法包括以下步骤:

(1)设定地物提取区域,地物提取区域为要提取地物的范围,该区域由若干边界轮廓线和若干空洞轮廓线组成,边界轮廓线定义提取区域的外部范围界线,空洞轮廓线定义提取区域的内部范围界线,用于排除区域内不需要提取的部分,边界以内空洞以外的为地物提取区域;

(2)设定高度过滤面,高度过滤面是这样一个曲面,其水平范围由地物提取区域限制,高程随范围内的地势高低变化起伏(或者为常量),该过滤面高于背景地形且低于要提取地物主体部分的最低高度,地物高于过滤面的部分形成了一个个孤岛三角面集合,将所有的孤岛三角面取出并投影到水平面,其投影外轮廓为地物的边界线;

(3)提取地物三角面图元,根据步骤(2)取得的所有地物三角面计算地物边界轮廓线,这里采用复合区域并集运算的方式进行处理;

(4)分离地物,采用步骤(3)计算所得的地物轮廓线从倾斜测量数据中提取地物,首先采用轮廓线对倾斜测量数据三角网进行三角剖分,剖分后处于轮廓线内的所有三角面为地物图元;其次在原场景节点中,将当前地物轮廓内的所有三角面提取出来,存储为单独的地物图元分组,并采用地物的id加以标识;

(5)地物操作,地物操作包括:获取地物图元数据,距离计算,射线碰撞检测地物模型相关操作,以及地物属性信息的添加与检索操作。

由于本发明保留原始场景数据,所以可以很方便地修改或删除地物,只需对原始场景数据按照修改后的所有相关轮廓重新切割即可。由于本发明保存了所有地物轮廓数据,当需要更换更高精度的场景数据时,只需自动读取所有轮廓数据重新切割即可,不必再次手工设定地物轮廓。本发明采用地物轮廓提取方法获取地物边界,操作简单,精确度高,且可以同时提取多个地物,在提高精确度的同时也大大提高了工作效率。由于本发明采用实际分离原始倾斜测量场景图元的方法进行单体化,实现了真正意义上的单体化。单体化后的地物作为独立个体可以对其单独操作,如设置与背景不同的颜色,单独选中,获取顶点数据等,满足了电力线路设计要求。本发明采用地物轮廓线切割三角形图元的方式,将与轮廓线相交的三角形重新构建为多个三角形的组合,再选取轮廓线内的三角形作为地物数据,不仅保证了地物轮廓的边缘整齐美观,而且方便替换为更高精度、更美观的人工模型。本发明切割原有场景的所有精度等级图元数据,切割后的地物图元数据以图元组形式保留在原场景节点内,通过地物id标识。地物图元组的精度等级及精度切换策略与单体化之前没有变化,从而保证了较高的地物显示精度与渲染速度。同时保证了在任意缩放状态下地物边界不变。因此,本发明具有较高的自动化程度,仅需简单操作即可获取地物精确轮廓,具有房屋、树木等地物真正与倾斜测量场景相分离的功能,保证了地物具有原始数据的精确度,可以方便将地物替换为人工精细建模的模型,将边缘准确拼接,可以在保留数据高精度的情况下实现快速加载显示。

附图说明

图1是根据本发明的倾斜测量场景的地物提取方法的主流程图。

图2是本发明的复合区域的示意图。

图3是本发明的地物轮廓提取的流程图。

具体实施方式

如图1所示,这种倾斜测量场景的地物提取方法,原始倾斜测量场景采用树状存储结构数据,整个场景为根节点,由多个场景块子节点构成,每个子节点除了拥有自身的三角面图元集,还包含若干个更高精度等级场景块子节点,该倾斜测量场景的地物提取方法包括以下步骤:

(1)设定地物提取区域,地物提取区域为要提取地物的范围,该区域由若干边界轮廓线和若干空洞轮廓线组成,边界轮廓线定义提取区域的外部范围界线,空洞轮廓线定义提取区域的内部范围界线,用于排除区域内不需要提取的部分,边界以内空洞以外的为地物提取区域;

(2)设定高度过滤面,高度过滤面是这样一个曲面,其水平范围由地物提取区域限制,高程随范围内的地势高低变化起伏(或者为常量),该过滤面高于背景地形且低于要提取地物主体部分的最低高度,地物高于过滤面的部分形成了一个个孤岛三角面集合,将所有的孤岛三角面取出并投影到水平面;

(3)提取地物三角面图元,根据步骤(2)取得的所有地物三角面计算地物边界轮廓线,这里采用复合区域并集运算的方式进行处理;

(4)分离地物,采用步骤(3)计算所得的地物轮廓线从倾斜测量数据中提取地物,首先采用轮廓线对倾斜测量数据三角网进行三角剖分,剖分后处于轮廓线内的所有三角面即为地物图元;其次在原场景节点中,将当前地物轮廓内的所有三角面提取出来,存储为单独的地物图元分组,并采用地物的id加以标识;

(5)地物操作,地物操作包括:获取地物图元数据,距离计算,射线碰撞检测地物模型相关操作,以及地物属性信息的添加与检索操作。

由于本发明保留原始场景数据,所以可以很方便地修改或删除地物,只需对原始场景数据按照修改后的所有相关轮廓重新切割即可。由于本发明保存了所有地物轮廓数据,当需要更换更高精度的场景数据时,只需自动读取所有轮廓数据重新切割即可,不必再次手工设定地物轮廓。本发明采用地物轮廓提取方法获取地物边界,操作简单,精确度高,且可以同时提取多个地物,在提高精确度的同时也大大提高了工作效率。由于本发明采用实际分离原始倾斜测量场景图元的方法进行单体化,实现了真正意义上的单体化。单体化后的地物作为独立个体可以对其单独操作,如设置与背景不同的颜色,单独选中,获取顶点数据等,满足了电力线路设计要求。本发明采用地物轮廓线切割三角形图元的方式,将与轮廓线相交的三角形重新构建为多个三角形的组合,再选取轮廓线内的三角形作为地物数据,不仅保证了地物轮廓的边缘整齐美观,而且方便替换为更高精度、更美观的人工模型。本发明切割原有场景的所有精度等级图元数据,切割后的地物图元数据以图元组形式保留在原场景节点内,通过地物id标识。地物图元组的精度等级及精度切换策略与单体化之前没有变化,从而保证了较高的地物显示精度与渲染速度。同时保证了在任意缩放状态下地物边界不变。因此,本发明具有较高的自动化程度,仅需简单操作即可获取地物精确轮廓,具有房屋、树木等地物真正与倾斜测量场景相分离的功能,保证了地物具有原始数据的精确度,可以方便将地物替换为人工精细建模的模型,将边缘准确拼接,可以在保留数据高精度的情况下实现快速加载显示。

另外,所述步骤(1)中,设定地物提取区域包括:手工选取边界轮廓线及空洞轮廓线,初次提取地物时通过在三维场景中逐个选取转角点,定义若干封闭多线段,封闭多线段为轮廓线,每个轮廓线代表区域的一个边界或空洞,一个边界及其内部若干空洞定义一个连续区域,所有的轮廓线为简单多边形,同一个多边形的任意两条线段之间不存在相交情况,任意两个轮廓线不相交;二是从文件加载预存的区域数据,手工定义的提取区域数据保存到文件中,需要再次使用时从文件加载并直接作用于倾斜测量场景。

另外,所述步骤(2)中,高度过滤面分为平地高度过滤面和山地高度过滤面两种;若地物所处地形为平地或地物主体部分远高于地面及地面上的微小起伏,采用水平面作为过滤面,根据区域边界轮廓线和空洞轮廓线构造三角网,且三角网上的所有顶点都设为同一个高度,该平面为提取区域的平地高度过滤面;若地物所处地形不够平整,或者地物主体高度较低,不容易与地面突起相区分,采用由用户定义的山地高度过滤面,该过滤面随地势起伏变化,首先将上一步定义提取区域的边界轮廓线和空洞轮廓线按一定的水平间隔进行插值处理,再查询倾斜测量数据获取每一个点的高程,由操作人员通过鼠标点选的方式添加若干地面点,地面点在提取区域内应分布均匀且尽可能覆盖所有地面,对于想要滤除的微小突起,也采集其顶点,将上述所有轮廓线插值点和离散地面点合并到一起构造不规则三角网,此三角网为山地高度过滤面。

另外,对于平地高度过滤面,直接比较顶点高程与水平面高程;对于山地高度过滤面,采用倾斜测量数据的顶点水平座标在此过滤面上查询高度,若顶点高度大于过滤面高度值,则此点为地物顶点,否则认为是地面点,将其忽略;若一个三角面的所有顶点都高于过滤面,则将此三角面标记为地物三角面。

另外,所述步骤(3)中,采用复合区域并集运算的方式为:

(a)将复合区域a与b分别作规范化处理,将边界轮廓线处理为顶点按逆时针排列的封闭多线段,将空洞轮廓线处理为顶点按顺时针排列的封闭多线段;

(b)计算区域a中的每一条轮廓线与区域b中的每一条轮廓线的交点,并将每个交点分别记录在两个轮廓线结构内,每个交点采用全局唯一交点号标识;

(c)按照交点将每条轮廓线拆分为若干多线段,每条多线段记录其起止交点号,所有多线段按其原先所属区域分别归入a、b两个多线段组;

(d)过滤多线段,采用区域b过滤a组多线段,剔除处于区域b中的多线段,保留处于b外部的多线段;同理采用区域a过滤b组多线段;

(e)根据起止交点号从ab两组中交替取出多线段进行拼接,形成新的轮廓线;

(f)构造并集复合区域c,将步骤(e)取得的轮廓线加入此区域,逆时针排列的轮廓线标记为边界,顺时针排列的轮廓线标记为空洞;

(g)获取复合区域c中的所有最外层边界轮廓线,作为地物边界线。

另外,所述步骤(4)中,对于一个待拆分的三角面,首先计算三角形与当前轮廓线的交点,若无交点则忽略此三角形;根据交点将轮廓线拆分为若干多线段,保留三角形范围内的多线段,删除其他多线段;将原三角形的3个顶点与步骤(3)获取的若干多线段的顶点重新构造三角网,保证各个多线段作为三角形的边出现在新构造的三角网中,这些折线段可以被分割为若干段,但不能有缺失;三角形剖分完成后,将原三角形从场景三角网中删除,代之以三角剖分生成的所有新三角形。

另外,所述步骤(4)中,对于场景图元分组中的每个三角形,首先计算三角形水平中心点,将三角形三个顶点的平面坐标(xy)分别相加再除以3,得三角形中心点坐标;其次判定三角形中心点是否在地物轮廓内;最后分离地物图元,如果当前三角形在轮廓多边形内,则将其从场景分块的地形分组中移除,并加入到当前地物分组中,如果不在轮廓多边形内,则忽略。

另外,所述步骤(5)中,地物的图元信息,从三维场景中获取地物图元信息需要指定地物id以及模型的精度等级,从根节点开始逐级查询,直到到达指定等级的节点,若节点图元数据未加载,则从相应的数据文件加载,根据id获取指定的图元组,打包为需要的格式,逐级返回到根节点。

另外,所述步骤(5)中,射线碰撞检测为:首先将三维图形窗口中的鼠标点击位置转换为三维空间中的射线,再将射线与倾斜测量场景中每个可视节点中的地物分组进行碰撞检测,若碰撞距离小于当前最小碰撞距离,则记录当前点以及命中的三角面所属的地物id,处理完所有的可视节点就得到命中的倾斜测量地物。

另外,所述步骤(5)中,距离计算为:计算电力线等带电体与地物之间的距离,采用地物的最高精度图元计算,对于每个地物,获取其最高精度等级三角网数据,依次计算这些三角面与电线的距离并取最小值。

下面结合实施例对本发明进行详细的描述。

原始倾斜测量场景采用树状存储结构数据。整个场景为根节点,由多个场景块子节点构成。每个子节点除了拥有自身的三角面图元集,还包含若干个更高精度等级场景块子节点。如此逐层细分下去,直到最高等级子节点。场景节点精度等级越高,其细节越丰富,而面积范围越小。渲染场景时根据节点到摄像机(代表三维场景中的观察者)的距离决定是渲染当前节点图元集还是渲染子节点。

本发明提供的倾斜测量场景房屋树木提取方法,针对以上树状存储结构的倾斜测量场景数据进行地物切割分离操作,参见图1,包括以下步骤:

1)设定地物提取区域

地物提取区域定义要提取地物的范围,该区域由若干边界轮廓线和若干空洞轮廓线组成。边界轮廓线定义提取区域的外部范围界线,空洞轮廓线定义提取区域的内部范围界线,用于排除区域内不需要提取的部分(排除不需要处理的部分可以提高后续处理速度),即边界以内空洞以外的为地物提取区域。可采用两种方式设定地物提取区域,一是手工选取边界轮廓线及空洞轮廓线,二是从文件加载预存的区域数据。

(1)手工定义地物提取区域

初次提取地物时可通过在三维场景中逐个选取转角点定义若干封闭多线段,即轮廓线。每个轮廓线代表区域的一个边界或空洞,一个边界及其内部若干空洞定义一个连续区域。所有的轮廓线应为简单多边形,即同一个多边形的任意两条线段之间不存在相交情况。任意两个轮廓线不应相交。每个轮廓线应附加属性,以区别是边界还是空洞。

一般情况下,定义的提取区域应包围地物水平投影的所有点且面积尽量小,以保证获取完整且边界正确的地物,但为了缩短人工处理时间,也可以定义比较粗糙的提取区域,而由后续的自动处理环节进行精细处理。另外,在电力线路设计中为减小地物与电线之间距离的计算量,提高校核速度,也可以仅选取地物中距离线路较近的一部分,这是符合电力线路设计实际情况的。

(2)使用已有地物提取区域数据

手工定义的提取区域数据可以保存到文件中,需要再次使用时从文件加载并直接作用于倾斜测量场景。特别适用于将原有场景数据更换为更高精度场景数据的情况,省去了重新逐个手工定义地物提取区域的繁琐操作。文件中的区域数据保存了地物id,创建时间等信息,重新选取地物时应以上次创建时相同的顺序进行。

2)设定高度过滤面

高度过滤面是这样一个曲面,其水平范围由地物提取区域限制,高程随范围内的地势高低变化起伏(或者为常量)。该过虑面高于背景地形(包括地面以及附着在地面上的低矮植被、车辆等),且低于要提取地物主体部分的最低高度,于是地物高于过滤面的部分就形成了一个个“孤岛”,将所有的孤岛三角面取出并投影到水平面,其投影外轮廓即为地物的边界线。此种算法对于具有垂直外墙面的建筑物以及下部向内凹陷的树木等地物准确度尤为高。

为兼顾地物提取的效率与准确度,将高度过滤面分为平地和山地两种。若地物所处地形为平地或地物主体部分远高于地面及地面上的微小起伏(植被、车辆等),可采用水平面作为过滤面。水平面的好处是判别三角面的顶点处于过滤面上方还是下方及其简单快速,只要将三角面顶点的高度值与过虑面高度值直接作大小比较即可。具体做法是根据上一步定义的区域边界轮廓线和空洞轮廓线构造三角网,且三角网上的所有顶点都设为同一个高度,即该平面为提取区域的水平投影面。

若地物所处地形不够平整,如山坡河堤等,或者地物主体高度较低,不容易与地面突起相区分,则应采用由用户定义的山地高度过滤面,该过滤面随地势起伏变化。此种方法速度较慢,但准确度高,可以省去后期对错误数据的调整修正时间,总体上效率较高。具体做法为,首先将上一步定义提取区域的边界轮廓线和空洞轮廓线按一定的水平间隔进行插值处理,再查询倾斜测量数据获取每一个点的高程,此步骤自动完成,无需操作人员干预;由操作人员通过鼠标点选的方式添加若干地面点,地面点在提取区域内应分布均匀且尽可能覆盖所有地面,对于想要滤除的微小突起,也应采集其顶点。将上述所有轮廓线插值点和离散地面点合并到一起构造不规则三角网,此三角网即为山地高度过滤面。

过滤面构造完成后,操作人员手工调整此过滤面高度,直至满足如下要求:(1)所要提取的地物主体部分位于过滤面之上;(2)地面及地面突起都位于过滤面之下。若无法达到此要求,则修改提取区域使之避开无法滤除的部分,或者添加地面点重新构造过滤面,直至满足要求为止。

对于水平过滤面,直接比较顶点高程与水平面高程;对于山地过滤面,采用倾斜测量数据的顶点水平座标在此过滤面上查询高度。若顶点高度大于过滤面高度值,则此点为地物顶点,否则认为是地面点,将其忽略。若一个三角面的所有顶点都高于过滤面,则将此三角面标记为地物三角面。

3)计算地物边界

根据上一步取得的所有地物三角面自动计算地物边界轮廓线。这里采用复合区域并集运算的方式进行处理。复合区域是指这样的一种区域(见图2):

(1)复合区域由至少一个独立子区域组成;

(2)独立子区域是指由一个连续的最外层边界轮廓线包围的区域;

(3)最外层边界是指不被其他任意轮廓线包围的边界轮廓线;

(4)每个边界轮廓线(不局限于最外层边界轮廓线)可以包围若干空洞轮廓线,空洞轮廓线必须处于边界轮廓线内;

(5)每个空洞轮廓线内可以包围若干边界轮廓线;

(6)边界轮廓线之间不可以直接嵌套;

(7)空洞轮廓线之间不可以直接嵌套;

(8)所有轮廓线应为简单多边形,所有轮廓线不得相交。

两个复合区域(设分别为a与b)并集运算规则如下(参见图3):

(1)将复合区域a与b分别作规范化处理,将边界轮廓线处理为顶点按逆时针排列的封闭多线段,将空洞轮廓线处理为顶点按顺时针排列的封闭多线段;

(2)计算区域a中的每一条轮廓线与区域b中的每一条轮廓线的交点,并将每个交点分别记录在两个轮廓线结构内。每个交点采用全局唯一交点号标识,此外还需点坐标,在当前轮廓线交点中的顺序号等;

(3)按照交点将每条轮廓线拆分为若干多线段,每条多线段记录其起止交点号。所有多线段按其原先所属区域分别归入a、b两个多线段组;

(4)过滤多线段。采用区域b过滤a组多线段,剔除处于区域b内部的多线段,保留处于b外部的多线段;同理采用区域a过滤b组多线段;

(5)拼接多线段,形成新的轮廓线。具体做法为,从a组多线段中取出一条多线段a1,在区域b中查找以多线段a1终止点号作为起始点号的多线段b1,将其拼接在当前多线段之后,并修改终止点点号为b1的终止点点号,形成新的多线段a1b1;再从区域a中查找以a1b1终止点号为起始点号的多线段a2并拼接于其后,形成多线段a1b1a2。如此循环交替进行,直到形成一条闭合多线段,即为一条合并后的轮廓线。每条使用过的多线段都要从原组中删除。重复上述操作,直到处理完所有的多线段;

(6)构造并集复合区域c,将步骤(5)取得的轮廓线加入此区域,逆时针排列的轮廓线标记为边界,顺时针排列的轮廓线标记为空洞;

(7)获取复合区域c中的所有最外层边界轮廓线,即为地物边界线。

具体在本专利中,先初始化一个空的复合区域a,然后将每一个三角面作为复合区域b与a进行并集运算,得到并集区域c。再将区域c作为新的区域a,与下一个三角面区域b做并集运算,如此循环,直到处理完所有的三角面。提取最终运算结果区域c中的所有最外边界轮廓线,即为地物包络线。

4)地物提取

采用步骤3)计算所得的地物轮廓线从倾斜测量数据中提取地物。首先采用轮廓线对倾斜测量数据三角网进行三角剖分,剖分后处于轮廓线内的所有三角面即为地物图元。

(1)三角剖分

对于一个待拆分的三角面,首先计算三角形与当前轮廓线的交点,若无交点则忽略此三角形。根据交点将轮廓线拆分为若干多线段。保留三角形范围内的多线段,删除其他多线段。

将原三角形的3个顶点与上一步获取的若干多线段的顶点重新构造三角网。构造三角网可采用比较流行的德洛奈三角剖分法(delaunaytriangulation)。需要注意的是,要保证各个多线段作为三角形的边出现在新构造的三角网中,这些折线段可以被分割为若干段,但不能有缺失。

三角形剖分完成后,将原三角形从场景三角网中删除,代之以三角剖分生成的所有新三角形。

以上仅为处理一个三角形的情况,需要依次处理当前场景分块的其他所有三角形。再依次扩大到当前精度等级的其他场景分块,其他精度等级的倾斜测量场景数据。

剖分时可采用轮廓包围框与场景分块包围框不相交作为快速剔除手段,而不必每个三角形都详细计算。

(2)分离地物

在原场景节点中,将当前地物轮廓内的所有三角面提取出来,存储为单独的地物图元分组,并采用地物的id加以标识。此图元分组即为地物在当前场景节点中的图元分组。

对于场景图元分组中的每个三角形,执行如下操作:

首先计算三角形水平中心点。将三角形三个顶点的平面坐标(xy)分别相加再除以3,即可得三角形中心点坐标。

其次判定三角形中心点是否在地物轮廓内。基本算法为:构造一条原点为三角形中心点,且方向为(1,0)的射线。计算射线与地物轮廓多边形相交的情况,每当射线与多边形的一条边相交时,就进行一次从内到外的转换或者相反的转换。记录跟踪穿过多边形次数的奇偶性,穿过奇数次说明三角形中心点位于多边形内,偶数次说明位于多边形外。

最后分离地物图元。如果当前三角形在轮廓多边形内,则将其从场景分块的地形分组中移除,并加入到当前地物分组中。如果不在轮廓多边形内,则忽略。

依次处理当前场景分块的所有其他三角形。处理完成后原先场景节点中的图元被分为一个地形分组和多个地物分组(分别属于多个地物)。地物图元分组用地物id标记,并可以可通过地物id进行图元提取或设置颜色等操作。

将上述操作扩大到当前等级的其他场景节点,以确保地物完整性;再扩大到其他等级数据,从而保证地物与地形数据的精度一致性。

5)地物操作

地物操作主要包括获取地物图元数据、距离计算、射线碰撞检测地物模型相关操作,以及地物属性信息的添加与检索操作。

①获取图元信息

某些情况下需要使用地物的图元信息,如将地物模型导出为指定格式的文件供别的程序使用等。从三维场景中获取地物图元信息需要指定地物id以及模型的精度等级。从根节点开始逐级查询,直到到达指定等级的节点。若节点图元数据未加载,则从相应的数据文件加载。根据id获取指定的图元组,打包为需要的格式,逐级返回到根节点。

②射线碰撞检测

三维线路设计中经常需要用鼠标选中地物以执行其他操作。首先将三维图形窗口中的鼠标点击位置转换为三维空间中的射线,再将射线与倾斜测量场景中每个可视节点中的地物分组进行碰撞检测,若碰撞距离小于当前最小碰撞距离,则记录当前点以及命中的三角面所属的地物id,处理完所有的可视节点即可得到命中的倾斜测量地物(也可能命中地形或没有点中任何物体)。

③距离计算

电力线路设计中导入地物的主要目的是计算电力线等带电体与地物之间的距离,并与设计规范中的安全距离作比较以判别当前设计是否合理。由于电气校核要求精度高,因此应该采用地物的最高精度图元计算,即对于每个地物,获取其最高精度等级三角网数据,依次计算这些三角面与电线的距离并取最小值。

④附加属性信息

对于每个地物创建一个属性数据结构,采用地物id标识。地物属性可分为共有属性和私有属性两类,共有属性适用于每一种地物,包含地物类别、地物名称、地物颜色、是否显示等;私有属性适用于某一种或几种地物,如房屋高度、所有者、树木高度等。地物属性可与地物轮廓合并保存到数据文件中,以便下次读取。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1