专利名称:输出三维屋顶结构的导航装置与方法和生成数据库的方法
技术领域:
本发明涉及包括存储了用于生成三维结构的数据的数据库的导航装置,还涉及输出三维结构的方法以及生成数据库的方法。本发明尤其涉及可使用存储在数据库中的数据输出三维屋顶结构的装置和方法。
背景技术:
光学输出装置被广泛用在导航装置中。这种输出装置可用于输出电子地图。由于电子地图可在小型和/或便携式装置的屏幕上显示,它们具有多用途和紧凑的优点。电子地图上显示的数据可很容易地被修改和调整,例如,通过改变所显示的地图部分的比例尺,通过显示可能对于用户有用的额外的对象(诸如指示导航装置的方向改变的方向箭头),或通过将可能与用户相关的对象加亮。 因为三维地图的高识别特性,这种地图对于用户可能是特别有价值的。即,当输出三维地图时,与传统的ニ维表示相比,对周围区域(诸如街道交叉ロ)的识别可变得更容易。建筑物可包括在输出给用户的三维地图或城市模型中。为了获得高识别特性,期望在这样的地图中也显示屋顶结构。由于存在各种各样的屋顶形状,提供存储关于屋顶的三维表示的信息而不需要数量可能高得惊人的存储空间是相当大的挑战。在ー种方法中,将屋顶结构表示为平面型表面的集合,其中每个表面存储在数据库中,作为位于平面型表面上的m重点,其中3。在这种方法中,可能需要大量的数据来表示屋顶结构。此外,由于相邻平面型表面之间的不匹配,在从数据产生3D模型时这种方法容易产生不真实的间隙或其他人为现象。在另ー种方法中,可使用基于屋顶类型库的參数表示。在这种情况下,可存储ー个标识屋顶类型的类型标识符和定义不同维度的ー个或若干个參数值。尽管其中ー个或若干个可能的屋顶类型由标识符定义的这种方法可以在存储空间需求适量的情况下实现,但这种方法会造成灵活性降低的问题。屋顶库将基本上基于屋顶的至少基础表面(basesurface)是正多边形(诸如矩形)的假设。对于更复杂的建筑物轮廓,或为适应诸如天窗这样的ー些屋顶结构(在库中没有定义关于其的屋顶基元),来存储屋顶结构的信息,可能是极富挑战性的或甚至是不可能的。在又另ー种方法中,可将以上列出的两种方法彼此组合起来。可将由屋顶表面的拐角顶点定义的屋顶表面的定义添加到基于屋顶库的描述中。因此,没有与屋顶库中的一个基元相对应的屋顶结构也可以由数据库描述,但处理可能会变得复杂并且存储空间需求可能会再次变得很大。
发明内容
因此,需要在描述多种多祥的屋顶形状方面能提供灵活性的导航装置和方法。还需要允许以简洁的方式定义屋顶结构并且降低了在生成光学输出时产生人为迹象的风险的装置和方法。
该需要通过如独立权利要求中提到的装置和方法来解決。从属权利要求定义了实施例。根据ー个方面,提供了一种导航装置。该导航装置包括光学输出装置、数据库和处理装置。数据库存储了定义三维屋顶结构的数据。处理装置耦合到数据库,并配置成从数据库取出定义三维屋顶结构的数据,基于取出的数据重建三维屋顶结构,和控制光学输出装置显示重建的屋顶结构。取出的数据包括为至少一个闭合多边形的边中的每ー个在数据库中分别存储的关于边的信息和类型标识符。类型标识符中的每ー个分别选自于类型标识符的有限集合。为了重建三维屋顶结构,处理装置配置成确定多个平面型表面。该多个平面型表面被确定成使得平面型表面分别通过多边形 的边并具有基于为边存储的类型标识符确定的取向。导航装置在描述具有不同占地面积(foot print)的屋顶方面提供了高度灵活性。该方法不需要具体说明屋顶结构的表面的所有拐角点并且不需要将其存储在数据库中。关于屋顶结构的信息被存储,使得类型标识符分别分配给多边形的各条边,而不是作为整体分配给屋顶结构。因此,增强了灵活性。在将类型标识符和根据各自的标识符将參数值分配给多边形的边的意义上,在数据库中存储的用于定义屋顶结构的信息是參数性的。不需要存储屋顶结构的表面的所有拐角点的坐标。因此,存储空间需求可保持适中。类型标识符的有限集合可至少包括对于向上倾斜的屋顶表面的第一类型标识符和对于取向为垂直于基底平面的平面型表面的第二类型标识符。在有限集合中不同类型标识符的数量可少于多边形的边的数量。这样的类型标识符可以无需包括确定平面型表面的取向所需的所有信息。例如,可存在指示从相应边向上延伸的屋顶表面的ー个类型标识符。倾斜角可被存储在数据库中,作为单独的參数值。另ー个类型标识符可指示延伸通过垂直于基底平面的墙表面的边。再另ー个类型标识符可指示在定义了多边形的基底平面内从相应边朝多边形内部延伸的平台式屋顶。存储在数据库中和从数据库取出的关于多边形的边的信息可至少包括关于边的取向和关于边的长度的信息。此信息可以多种格式被提供。例如,可在数据库中存储多边形的顶点的坐标。关于多边形的边的信息可包括多边形的拐角点的坐标。可替换地,关于多边形的边的信息可包括多边形的至少ー个点的坐标和关于边向量的信息。处理装置可配置成计算通过多边形的不同边的不同平面之间的交叉线,以重建屋顶结构。由于对屋顶表面的所有拐角点的人工定义可能引起的人为迹象的问题可被减轻。进ー步地,可计算屋顶结构的屋脊线,而不需要将屋脊线上的点的坐标存储在数据库中。处理装置可配置成计算作为重建的房顶结构的平面型表面的边界且位于该平面型表面的低端处的线。为此,处理装置可取出关于建筑物的轮廓的信息。建筑物轮廓可用于在对于多边形生成的所有平面型表面的底端处在x-y平面中(即基底平面内)限制该所有平面型表面。取出的数据可包括对于至少一部分边的參数值。每ー个參数值可分别为多边形的其中一条边存储在数据库中。处理装置可配置成基于该參数值重建屋顶结构。当该边具有一个类型标识符但该边不具有另ー个类型标识符吋,參数值可被选择性地存储,并被处理装置用于重建屋顶结构。例如,对于指示垂直的墙表面从多边形的边向上延伸的类型标识符,可能需要为对应边存储參数值。对于指示倾斜的屋顶表面从对应边向上延伸的类型标识符,可能需要存储傾斜度參数值,用于表示傾斜度的数量。处理装置可配置成基于为边存储的类型标识符选择从对应边延伸的平面型表面的表面纹理。这允许墙表面能具有与倾斜的屋顶表面不同的纹理。处理装置可配置成识别在数据库中为其存储了第一类型标识符的多边形的边,以取出对于识别出的边的至少ー个傾斜度參数值,并生成具有平面型表面的倾斜的房顶表面。该倾斜的屋顶表面可被生成,使得平面型表面通过识别出的边并具有由傾斜度參数值定义的傾斜度。因此,可使用关于多边形的边的信息,尤其是关于边的取向的信息,结合第一类型标识符和指示倾斜角的參数值,来生成倾斜的屋顶表面。处理装置可配置成通过计算经过了具有第一类型标识符的边的平面与经过了多边形的其他边的其他平面之间的交叉线,来计算倾斜的屋顶表面的侧边。处理装置可配置 成通过计算经过了具有第一类型标识符的边的平面与经过了多边形的相邻边的其他平面之间的交叉线,来计算倾斜的屋顶表面的侧边。处理装置可配置成识别在数据库中为其存储了第一类型标识符的多边形的第二边,以取出用于识别出的第二边的第二傾斜度參数值,并计算所述屋顶表面和第二屋顶表面之间的交叉线。第二屋顶表面可包括经过第二边并具有由第二傾斜度參数值定义的倾斜度的第二平面型表面。以这种方式,可计算屋顶结构的屋脊线。而不需要在数据库中存储屋脊线上的点的坐标。处理装置可配置成确定是否为识别出的边存储了另外的傾斜度參数值。如果为识别出的边存储了另外的傾斜度參数值,则可将屋顶表面产生为起伏的屋顶表面,其具有另外的平面型表面。该另外的平面型表面平行于该边,并具有由该另外的傾斜度參数值定义的另外的傾斜度。指定具有不同傾斜度的两个平面型表面之间的边的位置的至少ー个位移參数值可存储在数据库中。通过使用傾斜度參数值和位移參数值,可确定平面型表面之间的边的位置。处理装置可配置成识别为其存储了第一类型标识符并具有零长度的多边形的边。处理装置可然后生成相对于屋顶结构的基底平面倾斜且下端的取向为垂直于多边形的在前的边的屋顶表面。通过以这种方式处理零长度的边,可重建屋顶窗,而不需定义额外的类型标识符。处理装置可配置成识别在数据库中为其存储了第二类型标识符的多边形的边,并重建屋顶结构,使得其包括取向为垂直于基底平面,通过识别出的边并具有相对于基底平面倾斜的向上倾斜的墙缘的平面型表面。因此,可输出支撑倾斜的屋顶结构的墙表面。处理装置可向墙表面施加与施加到倾斜的屋顶表面的表面纹理不同的表面纹理。处理装置可配置成计算平面与另外的平面之间的交叉线,以计算向上倾斜的墙缘。该平面通过被分配给第二类型标识符的识别出的边,且垂直于基底平面。该另外的平面通过与识别出的边相邻的多边形的另一条边,且相对于基底平面傾斜。因此,可确定向上倾斜的墙缘。处理装置可配置成识别在数据库中为其存储了第三类型标识符的多边形的边,并重建屋顶结构,使得其包括由识别出的多边形的边围起的平台式屋顶(flat roof)。因此,可在三维地图中显示平台式屋顶。通过利用多边形定义平台式屋顶,结合分配给多边形的边的第三类型标识符,可考虑多种多样的平台式屋顶形状。处理装置可向平台式屋顶应用与应用到倾斜的屋顶表面或墙表面的表面纹理不同的表面纹理。类型标识符的有限集合可包括三种或更少种不同的类型标识符。例如,对于屋顶结构的基底平面中的多边形的每条边,存储在数据库中的类型标识符可选自于由第一、第ニ和第三类型标识符构成的集合。通过利用两种或三种类型标识符,仍可存储和显示很多种屋顶结构。对于这样的数目有限的类型标识符,可使用通用处理步骤处理数据。多边形可布置在屋顶结构的基底平面,即底部平面中。数据库可以是关系数据库。至少分配给多边形的边的类型标识符可作为属性存储在该关系数据库中。数据库可以是符合导航数据标准(NDS)的地图数据库。导航装置可以是车辆导航装置。该车辆导航装置可以可拆除地或固定地安装在车 摘中。根据另一方面,提供了通过导航装置的光学输出装置输出三维屋顶结构的方法。从数据库中取出表示三维屋顶结构的数据。取出的数据包括关于至少ー个闭合多边形的边的信息和为每一条边在数据库中分别存储的类型标识符。每ー个类型标识符选自于类型标识符的有限集合。基于边的信息和边的类型标识符重建三维屋顶结构。为了重建,确定多个平面型表面,使得平面型表面通过多边形的边并具有基于为该边存储的类型标识符确定的取向。控制光学输出装置显示重建的屋顶结构。该方法在描述具有不同的底部区域的屋顶的方面提供了很高的灵活性。该方法不需要指定表面的所有拐角点和将其存储在数据库中。类型标识符的有限集合可至少包括用于向上倾斜的屋顶表面的第一类型标识符和用于取向为垂直于基底平面的平面型表面的第二类型标识符。在有限集合中包括的不同类型标识符的数量可少于多边形的边的数量。取出的数据可包括对于至少一部分边的參数值。每ー个參数值可与多边形的其中一条边相关联地被分别存储。重建屋顶结构可进一歩基于该參数值执行。当重建屋顶结构时,可识别在数据库中为其存储了第一类型标识符的多边形的边。可取出对于识别出的边的至少ー个傾斜度參数值。可生成具有平面型表面的倾斜的房顶表面,使得平面型表面通过识别出的边并具有由傾斜度參数值定义的傾斜度。可识别在数据库中为其存储了第一类型标识符的多边形的第二边。可取出为识别出的第二边存储的第二傾斜度參数值。可计算所述屋顶表面和第二屋顶表面之间的交叉线。第二屋顶表面可包括经过第二边并具有由第二傾斜度參数值定义的傾斜度的第二平面型表面。重建屋顶结构可包括确定是否为识别出的边存储了另外的傾斜度參数值。如果为识别出的边存储了另外的傾斜度參数值,则可将屋顶表面产生为起伏的屋顶表面,其具有另外的平面型表面。该另外的平面型表面平行于多边形的边,并可具有由至少ー个另外的傾斜度參数值定义的另外的傾斜度。重建屋顶结构可包括识别在数据库中为其存储了第二类型标识符的多边形的边。可重建屋顶结构,使得其包括平面型表面,该平面型表面取向为垂直于基底平面,通过识别出的边,并具有相对于基底平面倾斜的向上倾斜的墙缘。
重建屋顶结构可包括计算平面与另外的平面之间的交叉线,以计算向上倾斜的墙缘。这里,该平面通过该识别出的边,且垂直于基底平面,并且另外的平面通过与识别出的边相邻的多边形的另一条边,且相对于基底平面傾斜。重建屋顶结构可包括识别在数据库中为其存储了第三类型标识符的多边形的边。可重建屋顶结构,使得其包括由识别出的多边形的边围起的平台式屋顶。类型标识符的有限集合可包括三种或更少种不同的类型标识符。多边形可被布置在屋顶结构的基底平面中。
数据库可以是关系数据库。根据任意ー个方面或实施例的输出三维屋顶结构的方法可通过使用根据任意一个方面或实施例的导航装置执行。根据另一方面,提供了生成导航数据库的方法。导航数据库被生成为使得其包括对屋顶结构的參数化描述。取出表示三维屋顶结构的数据。基于该数据,识别在所述屋顶结构的基底平面中的包括多条边的至少ー个闭合多边形。对于多条边中的每条边,基于边相对于屋顶结构的屋顶表面的位置,为该边分配类型标识符,该类型标识符选自于类型标识符的有限集合。基于分配的类型标识符,可根据所述数据选择性地确定对于相应边的參数值。在数据库中存储关于多边形的边的信息和关于分配给所述边中的每ー个的类型标识符的信息。使用这种方法可产生包括用于重建和输出三维屋顶结构的信息的数据库。不需要将屋顶表面的所有拐角点都存储在数据库中。而是,使用屋顶表面的參数化描述。类型标识符被分配给多边形的各条边,而不是分配给屋顶结构整体,这使得能够存储各种各样的屋顶结构。类型标识符的集合可包括第一类型标识符、第二类型标识符和第三类型标识符。如果边沿着倾斜的屋顶表面下端侧延伸,则将第一类型标识符分配给该多边形的边。如果边延伸通过具有向上倾斜的墙缘用干支撑屋顶表面的墙表面,则将第二类型标识符分配给多边形的边。如果边沿着平台式屋顶表面延伸,则将第三类型标识符分配给多边形的边。尽管多个方面和实施例是在导航装置的上下文中描述的,但根据进ー步的方面和实施例,该方法和装置也可用于在其他应用中输出三维屋顶结构。例如,该方法和装置可用于经由任何电子装置的光学输出装置或通过将输出三维城市模型的应用软件重建和输出三维屋顶结构。应理解,以上提到的特征和以下将解释的特征不仅仅能以所说明的各个组合方式使用,还能以其他组合方式使用或者孤立地使用。
当结合符合进行阅读时,根据以下对实施例的具体描述,实施例的上述和其他特征将变得更显而易见。在附图中,相似的附图标记表示相似的元件。图I是导航装置的示意性框图。图2是地图数据库的示意性表示。图3是地图数据库中关于屋顶结构的数据的示意性表示。图4是输出屋顶结构的方法的流程图。
图5是在输出屋顶结构的方法中重建屋顶结构的过程的流程图。图6是用于说明分配给多边形的边的类型标识符的示意性示图。图7是用于说明分配给多边形的边的另一种类型标识符的示意性示图。图8和图9是用于说明广生向上倾斜的屋顶表面的不意性不图。
图10是屋顶结构的平面视图。图11说明了具有对图10的屋顶结构的參数化描述的数据。图12是屋顶结构的平面视图。图13说明了具有对图12的屋顶结构的參数化描述的数据。图14是屋顶结构的平面视图。图15说明了具有对图14的屋顶结构的參数化描述的数据。图16是屋顶结构的平面视图。图17说明了具有对图16的屋顶结构的參数化描述的数据。图18说明了具有对图16的屋顶结构的传统描述的数据。图19是重建的屋顶结构的示意性透视图。图20是图19的屋顶结构的顶部视图。图21是说明具有多个平面型表面的起伏屋顶表面的示意性透视图。图22是图21的起伏屋顶表面的侧视图。图23是重建的包括起伏屋顶表面的屋顶结构的示意性透视图。图24示出了图23的屋顶结构的參数化描述。图25是另ー个重建的具有起伏屋顶表面的屋顶结构的示意性透视图。图26是图25的屋顶结构的平面视图。图27说明了具有对图25和图26的屋顶结构的參数化描述的数据。图28是洋葱形穹顶的屋顶结构的平面视图。图29是沿穿过图28的洋葱形穹顶的屋顶结构的垂直平面截取的截面图。图30说明了具有对图28和图29的屋顶结构的參数化描述的数据。图31是产生导航装置数据库的方法的流程图。
具体实施例方式图I示意性说明了根据实施例的导航装置I。该导航装置I包括处理装置2,处理装置2控制导航装置I的操作。该处理装置2可包括例如ー个或多个微处理器、数字信号处理器或者专用集成电路的形式的中央处理单元。处理装置2还可包括图形处理器。导航装置I进ー步包括被存储在存储装置3中的地图数据库。该存储装置3可包括各种类型的存储器(诸如随机访问存储器、闪存或硬盘)以及可移除存储器(诸如高密度磁盘(CD)、DVD、存储卡或类似存储器)中的任意ー种或任意組合。导航装置I还可包括用于向用户输出信息的输出接ロ 4。该输出接ロ 4包括光学输出装置。导航装置I还可包括输入接ロ 5。导航装置I可包括额外的部件,诸如位置传感器和/或无线接收机和/或车辆接ロ。位置传感器可适用于确定安装了导航装置I的车辆的当前位置。位置传感器可包括GPS(全球定位系统)传感器、伽利略(Galileo)传感器、基于移动电信网络的位置传感器等。无线接收机可被配置成接收用于更新存储在存储器3中的地图数据库的信息。车辆接ロ可允许处理装置2从其它车辆系统获得信息或经由车辆接ロ获得车辆状态信息。车辆接ロ可例如包括CAN(控制器区域网络)或者MOST (媒体定向装置传输)接ロ。存储装置3存储包括地图数据的地图数据库。地图数据库可包括用于执行路线搜索的信息。此外,地图数据库还包括用于输出三维(3D)地图的信息。地图数据库包括关于屋顶结构的信息,其允许屋顶结构能被处理装置2重建。处理装置2控制输出接ロ 4,使得输出三维的屋顶结构。如以下将更详细地描述,地图数据库3存储屋顶结构的參数化描述。对于屋顶结构,一个或多个闭合的(closed)多边形的信息被分别存储在地图数据库3中。多边形包括多条边。多边形可位于屋顶结构的基底平面中或底部平面中。地图数据库3进ー步为每条边存储类型标识符,该类型标识符选自于类型标识符的有限集合。例如,三个不同的类型标识符可用于指示多边形的边沿着向上倾斜的屋顶表面延伸,或多边形的边在具有向上倾斜的墙边的墙表面上延伸,或多边形的边沿着平台式屋顶的ー侧延伸。
根据分配给各条边的类型标识符,地图数据库3还可包括分配给边的ー个或多个參数值。例如,当指示多边形的边沿着向上倾斜的屋顶表面的较低侧延伸的第一类型的标识符被存储时,可在地图数据库中分别为各边存储至少ー个參数。当指示边在具有向上倾斜的屋顶表面的墙表面上延伸的第二类型的标识符被存储时,不必须为各条边存储參数值。处理装置2配置成基于关于多边形的边的信息、分别存储的类型标识符和存储的參数值(如果可用的情况下)重建3D屋顶结构。重建3D屋顶结构可包括适合向3D渲染过程供应数据的任何处理。例如,处理装置2可计算通过闭合多边形的不同边的不同平面之间的交叉线。因此,可计算3D表面的顶点或三维像素点阵(voxel lattice)的坐标,其可被供应给渲染处理。存储在存储器3中的地图数据库可包括不同的逻辑层。此外,地图数据库可被划分成不同的块,这些块与不同更新区域或切图(tiling)的切块(tile)相关联。这样的结构有助于执行更新。尤其期望的是,对地图数据库进行更新,以将地图数据库调整成符合局部变化,例如新的建筑。然后,这样的更新可通过仅更新更新区域或更新受到道路网络中的变化影响的切块来执行。这使得这些更新能够以更加节省时间的方式更容易地被执行,或者作为空中更新来被执行。图2是地图数据库10的示意性表示。具有以下解释的结构的地图数据库10可被存储在导航装置I的存储装置3中。地图数据库10包括多个层11-15。这些层可包括存储了执行路线搜索所需要的信息的路线选择层11和存储了路线导向所需要的数据的导向层12。地图数据库10可包括额外的层13-15。名称层13可包括道路名称、房屋编号或类似的參考信息。兴趣点(POI)层14可包括关于兴趣点的信息。高级驾驶员辅助系统(ADAS)层15可包括用于高级驾驶员辅助的数据。可提供额外的或备选的层,诸如包括用于货车或卡车的信息的货车层、用于语音表示的层,或用于基础地图显示的层。地图数据库10可配置成关系数据库。数据库的至少ー个层,诸如POI层14或导向层12可包括关于屋顶结构的信息。此信息用于输出城市模型,其包括屋顶结构的3D表
/Jn o
图3是用于输出屋顶结构的数据20的示意性表示。数据20可存储在导航装置I的存储装置3中。数据20包括代表屋顶结构的数据21和代表另ー个屋顶结构的数据22。代表屋顶结构的数据21、22可分别包括一个或多个多边形的边的信息、作为边的属性存储的类型标识符,和为其中ー些边根据各自的类型标识符可选地存储的參数值。类型标识符分别选自于类型标识符的有限集合。举例说明,可使用具有三种类型标识符的有限集合。表示屋顶结构的数据21包括与闭合多边形相关联的数据23。与一个或多个附加闭合多边形相关联的数据27可被包括在数据21中。与闭合多边形相关联的数据23包括关于闭合多边形的边的信息。闭合多边形可被定义在屋顶结构的基底平面,即底部平面中。关于边的信息可采取各种形式。在一些实施方式中,多边形的顶点P1, P2,……,Pn的坐标可包括在数据库中。尽管在一些实施例中将说明用于存储关于多边形的边的信息的这样的格式,但还可使用任意其他合适的格式。举 例说明,关于多边形的边的信息可包括拐角点其中之一 P1的坐标,和指定所有边相对于在前拐角点的朝向的信息,即P2-P1, P3-P2等。可替换地,关于多边形的边的信息可包括拐角点其中之一 P1的坐标,和定义所有其他拐角点相对于所述拐角点的位置,即P2-P1, P3-P1等。数据23包括分配给闭合多边形的每一条边的类型标识符。可以任意适当的方式存储类型标识符,这种方式应该能够在类型标识符和多边形的边之间建立起相应关系。举例说明,用于从拐角点Pi延伸到拐角点Pi+1的边的类型标识符TypeIdi可被存储为用于拐角点Pi坐标的属性。针对数据23的第24-26行说明了这一点。类型标识符TypeIdi分别选自于可能的类型标识符的有限集合。该集合可包括三种不同的类型标识符。还可以使用能够在类型标识符和多边形的边之间建立起相应关系的任何其他结构。举例说明,尽管图3中示出了包括多边形的拐角点的坐标和边的类型标识符的数据块23,还可使用分开的表来存储拐角点坐标和边的类型标识符。数据23还可包括关于多边形的边的ー个或多个參数值。不需要为每个类型标识符都存在參数值。可至少为ー些边存储參数值,这些边具有的类型标识符指示该边位于向上倾斜的屋顶表面的低端侧。这样的參数值可表示倾斜度的数量。如将參考图4-30更详细地解释的那样,可使用三种不同的类型标识符。只要仅存在类型标识符的有限集合,就可以使用不同数目的类型标识符。第一类型标识符,也称为“A”,可被分配给位于向上倾斜的倾斜(incline)屋顶表面的低端侧的边。第二类型标识符,也称为“s”,可被分配给沿着墙表面通过的边,该墙表面具有用干支撑屋顶表面的斜的(slanted)墙边。第三类型标识符,也称为“f”,可被分配给围绕平台式屋顶的边。換言之,这三种类型标识符可用于对应倾斜的、垂直的或水平的屋顶表面。通过为各个边分配类型标识符,实现了高度的灵活性。这使得能够描述各种各样的屋顶结构。对不同平面型表面之间的交叉线的计算可在输出屋顶结构时按要求来做出。由于不完全匹配的预定交叉线引起的人为现象可被减轻。图4是输出屋顶结构的方法30的流程图。方法30可由导航装置I的处理装置2执行。处理装置2可控制输出接ロ 4,输出接ロ 4用于光学输出重建的3D屋顶结构。在图4的方法中,根据存储在数据库中的数据重建屋顶结构。该数据包括关于多边形的边的信息、分配给边的类型标识符和至少用于具有给定的一个类型标识符的边的參数值。根据本领域中的普通术语,术语“正在重建”和“重建”用于指代对存储在数据库中的数据进行处理以便生成适合于3D渲染的数据的处理。例如,在一些实施例中,可根据数据库中的数据计算屋顶结构的所有平面型表面的拐角点,以重建屋顶结构。在一些实施例中,可生成三维像素点阵。在任一种情况中,数据可供应给3D渲染过程。在31处,识别与屋顶结构相关联的多边形。可将数据库组织成使得对于任何建筑物或任何屋顶结构,其包括在屋顶结构的基底平面中定义的不同多边形的信息。在32处,取出关于闭合多边形的边的信息和为边存储的类型标识符。该休息可具有不同形式,并可包括多边形的拐角点的坐标、多边形的边向量的坐标、关于基底平面中的边向量的长度和取向的信息,或使边的位置和取向能被确定的这样的数据的任何组合。所存储的类型标识符分别选自于可能的类型标识符的有限集合。即,每ー种类型标识符具有选自于可能的值的有限集合的值。根据各自的类型标识符,可为相应边存储參数值。如果为边存储了參数值,则也可在32处取出參数值。
在33处,可确定定义了屋顶结构的若干平面型表面。平面型表面可包括相对于其中定义了多边形的平面是倾斜的“向上倾斜的”屋顶表面,相对于其中定义了多边形的平面为垂直的墙表面,和在定义了多边形的平面中延伸的“平台”屋顶。可通过不同方式确定平面型表面。可计算各个平面之间的交叉线,其通过多边形的不同边。所述平面可分别具有相对于其中定义了多边形的平面的取向,其通过相应边的类型标识符确定,如果可能,通过相应边的參数值确定。确定平面型表面还包括确定位于屋顶结构内的点的三维像素点阵。在34处,确定代表屋顶结构的数据是否包括与至少ー个其他多边形相关联的数据。如果代表屋顶结构的数据包括与至少ー个其他多边形相关联的数据,则为其他多边形重复动作32和33。否则,方法前进到35。在35处,执行3D渲染。3D渲染可基于在33处确定的平面型表面的拐角点的信息或3D三维像素点阵执行。在36处,对光学输出装置进行控制,使得输出屋顶结构的3D表示。为了根据存储在数据库中的參数化描述来重建3D屋顶结构,其中标识符和(如果可应用)參数值被分配给闭合多边形的边,可计算通过多边形的边的平面的交叉线。图5示出了相应过程。图5是用于重建3D屋顶结构的过程40的流程图。该过程40可由导航装置I的处理装置2执行。可执行过程40,以实施方法30的步骤33。在41处,初始化对边索引i的迭代。在42处,取出关于多边形的第i条边的信息和第i条边的类型标识符TypeIdit5在43处,确定类型标识符TypeIdi是否是第一类型标识符,即是否具有值“A”。如果类型标识符TypeIdi具有值“A”,则在44处,取出为该边存储在数据库中的ー个或多个參数值。在45处,产生向上倾斜的屋顶表面,其通过闭合多边形的边i。屋顶表面被产生为包括至少ー个平面型表面,其相对于屋顶结构的基底平面具有由44处取出的參数值定义的倾斜度。然后,该方法前进到50。如果类型标识符TypeIdi不具有值“A”,在46处,确定类型标识符TypeIdi是否是第二类型标识符,即是否具有值“S”。如果类型标识符TypeIdi具有值“S”,则在47处,生成垂直于基底平面的墙表面。该墙表面可具有向上倾斜的墙缘,该墙缘上支撑了屋顶表面。然后,该方法前进到50。如果类型标识符TypeIdi不具有值“S”,在48处,确定类型标识符TypeIdi是否是第三类型标识符,即是否具有值“f”。如果类型标识符TypeIdi具有值“f”,则在49处,生成在屋顶结构的基底平面中延伸的平台式屋顶。然后,该方法前进到50。在50处,确定对多边形边的迭代是否已经到达多边形的最后一条边。如果该边是多边形的最后一条边,则在51处将i加I。方法返回42。如果对多边形边的迭代已经到达多边形的最后一条边,在52处,可继续进行重建。为此,可确定在45处生成的向上倾斜的屋顶表面的交叉线和在47处生成的墙表面,或者可使用在45处生成的屋顶表面为多边形的不同边确定屋顶结构的一条或多条屋脊线。尽管为了更好的说明在图5中示出了在48处的确定步骤,但该确定步骤也可以被省略。当仅存在类型标识符的有限集合时,可推断边的类型标识符具有其中ー个可能的值,如果之前确定了边的类型标识符,则它不具有任何其他可能的值。尽管在过程40的步骤45、47和49中示出了不同面的“生成”,但在本文中这样的生成被理解为确定表面的位置和取向的处理,而不需要将表面实际输出。进ー步地,还可以确定各个面的表面纹理。尽管过程40是在对闭合多边形的边的迭代的上下文中说明的,但生成不同的面(向上倾斜的屋顶表面、墙表面、平台式屋顶)也可以仅在关于所有边的信息、类型标识符和參数值(如果适用)已经被取出之后才执行。可使用不仅ー个边的取向的信息和类型标识符,还使用其他边的信息、相关联的类型标识符和參数值,生成不同面。举例来说,并且如以下更详细的解释,为了确定向上倾斜的屋顶表面的外边界,可计算多个向上倾斜的屋顶表面的交叉线或向上倾斜的屋顶表面与墙表面的交叉线。图6是说明屋顶结构的重建的示意性透视图。多边形包括四个拐角,即顶点。图6中可看到三个拐角61-63。边64从第一拐角61延伸到第二拐角62。另一条边65从第二拐角62延伸到第三拐角63。多边形还包括在图6中被掩藏了的两条额外的边。在屋顶结构的基底平面中定义了具有边64、65的多边形。为边64存储的类型标识符具有值“A”,表示边64沿向上倾斜的屋顶表面的底侧延伸。为边65存储的类型标识符具有值“S”,表示边65在定向为与其中定义了多边形的平面垂直且具有向上倾斜的墙缘的墙表面上延伸。为从第三拐角点63延伸到第四拐角点(图6中未示出)的边存储的类型标识符具有值“A”,表示该边沿着向上倾斜的屋顶表面的底侧延伸。为从第四拐角点(图6中未示出)延伸到第一拐角点边61的边存储的类型标识符具有值“ s ”,表示该边在墙表面上延伸。描述屋顶结构的数据进一歩包括用于具有类型标识符“A”的每个边的傾斜度參数值。此參数值表示向上倾斜的屋顶表面的傾斜度的数量。利用这种对屋顶结构的描述,可为屋顶结构的重建生成屋顶结构的表面55、56。通过定义,多边形的边64位于向上倾斜的屋顶表面55的底侧。向上倾斜的屋顶表面55的侧边67可被确定为通过边64且依照边64的傾斜度參数值倾斜的平面与通过边65的垂直平面的交叉线。向上倾斜的屋顶表面55的侧边66可被确定为通过边64且依照边64的倾斜度參数值倾斜的平面与通过多边形的从第四拐角点延伸到第一拐角点61的边的垂直平面的交叉线。屋脊线68定义了向上倾斜的屋顶表面55的顶端,可被确定为通过具有类型标识符“A”的边且分别依照存储在数据库中的相关倾斜度參数值而倾斜的两个平面的交叉线。
类似地,为了生成墙表面56,向上倾斜的墙缘67和69可被确定为通过边65的垂直平面与通过多边形的相邻的边的倾斜平面之间的交叉线。例如,向上倾斜的墙缘67可被确定为通过边65的垂直面与通过边64并相对于屋顶结构的基底平面依照为边64存储的傾斜度參数值而倾斜的面之间的交叉线。通过使用屋顶结构的參数化描述,可确定不同面之间的交叉边,包括屋脊线58。图7是说明屋顶结构的重建的示意性透视图。多边形包括四个拐角71-74。第一边75从第一拐角71延伸到第二拐角72。第二边76从第二拐角72延伸到第三拐角73。第三边77从第三拐角73延伸到第四拐角74。第四边78从第四拐角74延伸到第一拐角71。多边形被定义在屋顶结构的基底平面中。为边75-78中的每ー个存储的类型标识符具有值“f”,指示边75-78围起平台式屋顶。可选地,也可在屋顶结构的參数化描述中存储表示相对于基底平面的成零傾斜度的參 数值。这可有助于使用更通用的过程处理具有类型标识符“f”和“A”的边。当重建屋顶结构时,生成代表由闭合多边形围起的平台式屋顶的面57。对于每一个类型标识符,类型标识符可不仅被用于确定屋顶表面相对于多边形所在的面的取向,还可用于确定表面纹理。对于具有指不屋顶表面是向上倾斜的屋顶表面的第一类型标识符“A”的边,可对屋顶表面施加表面纹理,该表面纹理与施加到从具有类型标识符“s”的边延伸的墙表面的表面纹理不同。可将又另ー种表面纹理施加到平台式屋顶表面。图8和图9说明了用于重建屋顶结构的參数化描述的处理。具有顶点Pi和pi+1的闭合多边形被定义在屋顶结构的基底平面80中。多边形的边81从顶点Pi延伸到顶点pi+1。如果边81具有第一类型标识符,则针对边81,指示向上倾斜的屋顶表面82的倾斜度的倾斜度參数值Cii被存储在屋顶结构的參数化描述中。傾斜度參数值Cii可被存储成多种形式中的任ー种。例如,倾斜角Oi自身可被存储在參数化描述中。在另ー种实施方式中,可在參数化描述中存储a i的正切tana卩使用a ,的正切,也可很容易确定向上倾斜的屋顶表面的傾斜度。倾斜角Qi可被定义在从0°到180°的区间中。小于90°的值可指示屋顶表面朝闭合多边形的内部傾斜。大于90°的值可指示屋顶表面朝闭合多边形的外部傾斜。參考图9,多边形包括另外的拐角点pi+2。多边形的另一条边83在基底平面80中从拐角点Pi+1延伸到拐角点Pm。从边83向上延伸的屋顶表面84相对于基底平面80以倾斜角ai+1傾斜。不同的倾斜角a” a i+1可定义向上倾斜的屋顶表面的不同斜度。如果边83具有第一类型标识符“A”,则在屋顶结构的參数值描述中为边83存储指示向上倾斜的屋顶表面84的傾斜度a i+1的傾斜度參数值。为了确定不同屋顶表面之间的屋脊,可计算平面型表面82与平面型表面84之间的交叉线85,其中平面型表面82通过边81且相对于基底平面以角a 4傾斜,平面型表面84通过边83且相对于基底平面以角ai+1傾斜。交叉线85定义3D空间中的屋顶结构的边。类似地,屋顶结构的最高点86可通过确定两个或更多个平面型表面的交叉线来计算。如果为多边形的边存储了傾斜度參数值以表示相应面的傾斜度的数量,倾斜角可具有在给定区间(诸如0°与180°之间)内的任意值。可替换地,可使用离散的容许值的集合,存储在屋顶结构的描述中的每ー个傾斜度參数值选自于该离散集合。參考图10-17,将说明屋顶结构的參数化描述的生成和使用。
图10是屋顶结构的平面视图。该屋顶结构的底部区域不是正多边形。其中类型标识符被分配给边的屋顶结构的參数化描述使屋顶结构的信息能够以简洁的方式表示。屋顶结构包括总共八个向上倾斜的屋顶表面。每个屋顶表面相对于屋顶结构的基底平面倾斜成相同的倾斜角a。不同的倾斜角可很容易的被说明。如图10中示意性示出的,在屋顶结构的底部平面中定义了具有点P1,……P8的多边形。类型标识符“A”被分配给多边形的每条边。由于每个屋顶表面朝多边形的内部倾斜相同的角a,因此为每ー个边存储指示角a的适当的傾斜度參数值。图11说明包括图10的屋顶结构的參数化描述的数据23。数据23包括关于多边形的边的信息,该信息的形式为点P1,……P8的坐标、分配给每一条边的类型标识符“A”,和指示傾斜角a的傾斜度參数值。利用数据23中的參数化描述,可重建图10中的屋顶结构。如參考图9所作的解释,通过计算通过多边形不同边的不同平面的交叉线,将屋顶结构的屋脊线87、88或其他边89计算为3D的线。图12是另ー种屋顶结构的平面视图。屋顶结构的底部区域不是正多边形。其中类型标识符被分配给边的屋顶结构的參数化描述使屋顶结构的信息能够以简洁的方式表示。屋顶结构包括从点P1与P2之间的边、点P2与P9之间的边、点P9与Pltl之间的边、点Pltl与P7之间的边、点P7与P8之间的边和点P8与P1之间的边延伸的向上倾斜的屋顶表面。这些屋顶表面中的每ー个相对于屋顶结构的基底平面倾斜成相同的倾斜角a。不同的倾斜角可很容易解释。屋顶结构进一歩包括邻近向上倾斜的屋顶边设置的两个平台式屋顶。图13说明了包括对图10的屋顶结构的參数化描述的数据23。定义了三个闭合多边形,以描述屋顶结构。其中一个多边形包括向上倾斜的屋顶表面从其延伸起始的所有边。其他两个多边形包括分别围起平台式屋顶的边。数据23包括关于多边形的边的信息,该信息的形式为点Pl、P2> p9、p10> P7、P8的坐标、分配给每一条边的类型标识符“A”,和指示傾斜角a的傾斜度參数值。数据23包括关于另一个多边形的边的信息,该信息的形式为点p2、p3、p4、P9的坐标、分配给每一条边的类型标识符“f”。数据23还包括关于另一个多边形的边的信息,该信息的形式为点p1(1、p5、p6、p7的坐标、分配给每一条边的类型标识符“f”。具有类型标识符“f ”的这两个多边形定义了两个平台式屋顶。图14是另ー种屋顶结构的平面视图。该屋顶结构的底部区域不是正多边形。其中类型标识符被分配给边的屋顶结构的參数化描述使屋顶结构的信息能够以简洁的方式表不。屋顶结构包括多个向上倾斜的屋顶表面和两个墙表面。两个墙表面从多边形的点P9与Pltl之间的边、多边形的点P8与P1之间的边延伸。大多数向上倾斜的屋顶表面相对于屋顶结构的基底平面倾斜成相同的倾斜角a。从点p2与p9之间的边和从点Pltl与P7之间的边延伸的向上倾斜的屋顶表面朝相应基础多边形的外部倾斜,以便与相邻的向上倾斜的屋顶表面无缝邻接。图15说明了包括对图14的屋顶结构的參数化描述的数据23。定义了三个闭合多边形,来描述屋顶结构。、
数据23包括关于闭合多边形的边的信息,该信息的形式为点Pl、p2、p9、p1Q、p7、P8的坐标。数据23包括分配给从P9到Pltl的边和分配给从P8到P1的边的类型标识符“S”。数据23包括对于该多边形的所有其他边的类型标识符“A”和指示傾斜角a的傾斜度參数值。数据23包括关于另一个多边形的边的信息,该信息的形式为点p2、p3、p4、P9的坐标和分配给这些边的每一条边的类型标识符“A”。数据23包括关于从P2延伸到P3的边、关于从P3延伸到P4的边和关于从P4延伸到P9的边的指示傾斜角a的傾斜度參数值,以及关于从P9延伸到P2的边的指示倾斜角180° -a的傾斜度參数值。数据23包括关于另一个多边形的边的信息,该信息的形式为点p1(l、p5、p6、p7的坐标和分配给这些边的每一条边的类型标识符“A”。数据23包括关于从Pltl延伸到P5的边、关于从P5延伸到P6的边和关于从P6延伸到P7的边的指示傾斜角a的傾斜度參数值,以及 关于从P7延伸到Pltl的边的指示倾斜角180° -a的傾斜度參数值。使用数据23的參数化描述,可重建图14的屋顶结构。不需要在数据库中存储位于屋顶结构的顶端屋脊的顶点的信息。3D空间中这样的顶点的位置可在重建屋顶结构时使用屋顶结构的參数化描述来确定。图16是另ー种屋顶结构的平面视图。屋顶结构的底部区域不是正多边形。其中类型标识符被分配给边的屋顶结构的參数化描述使屋顶结构的信息能够以简洁的方式表示。屋顶结构的底部区域由具有拐角(或顶点)Pl、……、P18的多边形定义。屋顶结构包括多个向上倾斜的屋顶表面和两个墙表面。两个墙表面从点P14与P15之间的边、和从多边形的点P18与P1之间的边延伸。所有向上倾斜的屋顶表面相对于屋顶结构的基底平面倾斜成相同的倾斜角a。图17说明了包括对图16的屋顶结构的參数化描述的数据23。定义了一个闭合多边形,来描述屋顶结构。数据23包括关于多边形的边的信息,该信息的形式为点Pl、……、p18的坐标。数据23包括分配给从P14到P15的边和分配给从P18到P1的边的类型标识符“S”。数据23包括关于该多边形的所有其他边的类型标识符“A”和指示傾斜角a的傾斜度參数值。使用这种參数化描述,可重建屋顶结构。不需要在数据库中存储屋顶结构的顶点巧、……、r13的坐标。可通过计算通过屋顶结构基底平面中定义的多边形的不同边的平面之间的交叉线,根据数据23中的參数化描述来计算屋顶结构的房脊和上部顶点。为了比较,图18说明了对图16的屋顶结构的可能的传统描述。在数据91中,屋顶结构的每个平面型表面由该面的顶点的坐标定义。这需要屋顶结构的顶点(诸如顶点巧、……、r13)的坐标也存储在数据91中。对于图16的屋顶结构,传统描述不如根据实施例的參数化描述简洁。屋顶结构的參数化描述和输出3D屋顶结构的方法可进ー步配置成,使得屋顶窗可很容易地被构成。为此,要引入一个约定,即在屋顶结构的參数化描述中,多边形的边的长度还可以是零。即,可允许多边形的两个顶点重合。然后,输出3D屋顶结构的方法可使用该约定,即如果多边形的边具有零长度,则构造出屋顶结构的表面,该表面从与闭合多边形的在前的(preceding)边垂直的虚拟边延伸。因此,屋顶窗的描述可很容易并入到參数化描述中,如将參考图19和图20做出的更详细的解释。
图19是重建的3D屋顶结构的示意性透视图,图20是该屋顶结构的顶部视图。屋顶结构的參数化描述包括在屋顶结构的基底平面中定义的多边形,具有顶点
P1>P2>P3>P4>P5>P6> ......。通过定义P2 = P3并且P4 = P5,多边形的其中一些边被设置为具
有零长度。根据約定,当根据參数化描述重建屋顶结构时,通过使用对于从P2到P3的零长度边的类型标识符和參数值(如果适用) 生成屋顶结构的表面,生成该表面时仿佛多边形的从P2到P3的边垂直于从P1到P2的之前的边一祥。类似地,通过使用对于从P4到P5的零长度边的类型标识符和參数值(如果适用)生成屋顶结构的另ー个表面,生成该表面时仿佛多边形的从P4到P5的边垂直于从P3到P4的之前的边一祥。通过将类型标识符“A”和傾斜度參数值分配给具有零长度的边,可重建具有屋顶窗的屋顶结构。參考图19和20,可将类型标识符“A”和傾斜度參数值分配给从p2到p3的零长度边。可将类型标识符“s”分配给从P3到P4的边。可将类型标识符“A”和傾斜度參数分配给从P4到P5的零长度边。通过使用仿佛多边形的零长度边的取向为垂直于多边形的平面中的在前的边ー样处理该零长度边的約定,重建了屋顶窗的屋顶表面93。屋顶表面93通过了位于多边形的面中的线92,并且垂直于从P3到P4的在前的边。屋顶表面93相对于其中定义了多边形的面依照为从P4到P5的边存储的傾斜度參数值而傾斜。可通过计算基于屋顶结构的參数化描述生成的表面之间的交叉线,确定屋顶结构的屋脊线94和上顶点95。尽管在已经描述的实施例中,根据分配给边的类型标识符,生成相对于其中定义了多边形的基底平面倾斜的平面型表面(类型标识符“A”),或与其中定义了多边形的基底平面垂直的平面型表面(类型标识符“s”),或位于其中定义了多边形的基底平面内的平面型表面(类型标识符“f”),屋顶结构的描述和方法以及使用该方法的装置也可以用于定义具有起伏面(broken face)的更复杂的屋顶结构。在本文中使用时,起伏屋顶表面应理解为具有相对于基底平面以不同傾斜角倾斜的多个向上倾斜的平面型屋顶表面。这些将通过參考图21-30来更详细地解释。图21说明对于这样的起伏屋顶表面102的示例。起伏屋顶表面101包括相对于屋顶结构的基底平面80以不同角度a ia和a i>2倾斜的两个平面型表面103和104。两个平面型表面103和104相交处的边105平行于面103的低端侧延伸。在包括起伏屋顶表面102的屋顶结构的參数化描述中,存储了关于闭合多边形的信息。该信息包括关于闭合多边形的边101的信息。可为边101存储类型标识符“A”,以指示向上倾斜的屋顶表面从边101伸出。可为边101存储多于ー个的參数值。为边101存储的參数值可包括指示傾斜角ay的第一傾斜度參数值、指示倾斜角ai,2的第二傾斜度參数值,和指示两个面103和104之间的边105相对于多边形的边101的位置的位移參数值。位移參数值可采用多种形式中的任ー种。例如,可存储从基底平面80測量的边105的高度。可替换地或额外地,可存储在平行于基底平面80的方向上测量的在与多边形的边101垂直的方向上,边105离开多边形的边101的位移。可替换地或额外地,可存储起伏屋顶表面的平面型表面之间的边105离开多边形的边101的距离。因为已知平面型表面103的倾斜角a ia,这些值中的任一个使得能够相对于边101确定边105的位置。
图22是图21的起伏屋顶表面102的侧视图。所说明的是边105在多边形的底边101以上的高度hi,卩在地图数据库中,该高度可存储为边101的属性。不需要存储规定平面型表面104的上部屋脊107的信息。屋脊107可通过计算起伏屋顶表面102与由屋顶结构的參数化描述定义的其他面之间的交叉线来确定。图23是重建的具有两个起伏屋顶表面和两个墙表面的屋顶结构的示意性透视图。两个起伏的向上倾斜的屋顶表面的下侧平面型表面的倾斜角具有值a 1,两个起伏的墙表面的上侧平面型表面的傾斜度 具有相对于屋顶结构的基底平面的值a 2。两个平面型表面之间的边105布置在屋顶结构的基底平面以上的高度hi处。在屋顶结构的基底平面中定义了具有拐角点Pl、……P4的闭合多边形。在起伏的屋顶表面的下侧处,边101从P1延伸到p2。图24示出了提供图23的屋顶结构的參数化描述的数据23。将第一类型标识符“A”分配给从P1延伸到P2的边,和从P3延伸到P4的边。为这两个边中的每ー个存储三个參数值,其包括指示两个傾斜度的傾斜度參数值和指示边105相对于多边形的边101的位移的位移參数值。将第二类型标识符“s”分配给从P2延伸到P3的边,和从P4延伸到P1的边。使用数据23的參数化描述,可重建图23的屋顶结构。可使用为从P1到P2的边存储的參数值确定边105的位置。屋脊107的位置可计算成两个起伏屋顶表面之间的交叉线。图25是重建的具有两个起伏的向上倾斜的屋顶表面和两个不起伏的向上倾斜的屋顶表面的屋顶结构的示意性透视图。图26是该屋顶结构的平面视图。起伏的屋顶表面中的每ー个包括从边112延伸的第一向上倾斜的平面型表面114和第二向上倾斜的平面型表面115。不起伏的平面型表面113从用于描述屋顶结构的多边形的其他边111延伸。相对于屋顶结构的基底平面,起伏的屋顶表面的下侧平面型表面114的倾斜角具有值a 1,起伏的屋顶表面的上侧平面型表面115的傾斜度具有值a 2。起伏的屋顶表面的两个平面型表面之间的边被布置在屋顶结构的基底平面以上的高度hi处。还假设平面型表面113相对于基底平面具有傾斜度a I。在屋顶结构的基底平面中定义了具有拐角点Pl、……P4的闭合多边形。在不起伏的向上倾斜的屋顶表面的底侧处,多边形的边111从P1延伸到P2。在起伏的向上倾斜的屋顶表面的底侧处,多边形的边112从卩4延伸到P:。图27示出了提供图25和图26的屋顶结构的參数化描述的数据23。将第一类型标识符“A”分配给多边形的每ー个边。分别为从P1延伸到P2的边,和从P3延伸到P4的边存储ー个參数值,该參数值指示不起伏的向上倾斜的屋顶表面的倾斜度。分别为从P2延伸到P3的边并为从P4延伸到P1的边存储三个參数值。这三个參数值包括指示两个傾斜度的傾斜度參数值,和指示起伏表面的两个平面型表面之间的边相对于多边形的边112的位移的位移參数值。使用数据23的參数化描述,可重建图25的屋顶结构。可使用參数化描述确定向上倾斜的屋顶表面之间的所有边的位置。为此,可确定表面之间的交叉线。不需要将例如屋脊线116的位置存储为単独的參数。当重建屋顶结构时,导航装置I的处理装置2可基于多边形的边是否具有类型标识符“A”然后进一歩基于为相应边存储的參数数目,确定向上倾斜的屋顶表面是否是起伏的。
即使更复杂的屋顶结构也可以通过使用屋顶结构的參数化描述来存储,在參数化描述中,类型标识符和參数值被分配给多边形的边。例如,可存储在巴洛克时期建造的教堂塔发现的洋葱头形穹顶结构。图28是洋葱形屋顶结构的平面视图,图29是通过洋葱形穹顶的中心轴119的截面图。根据起伏的屋顶表面,可使用本文解释的參数化描述来描述该屋顶结构。洋葱形屋顶结构在绕中心轴119的30°旋度下是对称的。可定义具有12条边的正多边形。多边形的12条边表示洋葱形屋顶结构的覆盖区。对于多边形的每一条边,可在数据库中存储第一类型标识符“A”和多个參数值。多个參数值可指示例如多个平面型表面相对于基底平面的倾斜角,以及表示平面型表面的上侧边和下侧边的位移的数量的信息。參考图29,从多边形的点P1和p2之间的边向上延伸的最低侧平面型表面相对于基底平面具有倾斜角a I。最低侧平面型表面向上延伸过高度hi。相邻的平面型表面从在
高度hi处的边向上延伸,并且相对于基底平面成倾斜角a 2。此平面型表面向上延伸h2的总高度。可为朝洋葱形屋顶结构的上部点布置的相邻平面型表面的每ー个定义对应參数。
因此,可定义总共七个倾斜角a I、......、a7。类似地,可定义总共六个高度hi、......、h6。
不需要単独存储起伏屋顶表面的最高平面型表面的高度h7,因为这个高度可通过交叉不同的起伏屋顶表面来推断。由于洋葱形穹顶结构的对称性,对于多边形的十二条边中的每ー个,这些倾斜角參数和高度都是相同的。图30说明了提供洋葱形穹顶结构的參数化描述的数据23。将第一类型标识符“A”分配给多边形的每一条边。进ー步的,为多边形的每一条
边存储多个參数值。參数值包括指示七个倾斜角al、......、a7的倾斜度參数值和指示在
边之间的位移的位移參数值hi、……、h6,在这些边处,起伏屋顶表面的不同平面型表面彼此紧邻。使用数据23的參数化描述,可重建洋葱形穹顶结构。不同向上倾斜的屋顶表面之间的所有边的位置可使用參数化描述来确定。当重建屋顶结构时,导航装置I的处理装置2可基于类型标识符“A”和为相应边存储的參数的数量确定所有向上倾斜的屋顶表面都是起伏面。通过參考示例性屋顶结构描述和说明了用于输出3D屋顶结构的方法和装置。所描述的不同原理不仅可在基于屋顶结构的參数化描述生成光学输出时使用,还可在生成包括这样的屋顶结构的參数化描述的数据库时使用。图31示出生成数据库的方法的流程图。生成数据库,其包括屋顶结构的參数化描述,具有分配给闭合多边形的边的类型标识符。在121处,取出代表屋顶结构的数据,并定义至少一个多边形。数据可以是预处理的数据,其已经包括关于屋顶结构的平面型表面的信息。可替换地,数据还可以是原始数据,其在随后被预处理以确定屋顶结构的平面型表面。可基于代表屋顶结构的数据,尤其是基于将屋顶结构分割成平面型表面的分割操作,来定义闭合多边形。如果屋顶结构包括一个或多个平台式屋顶,可分别定义边围起每个平台式屋顶的闭合多边形。在122处,初始化多边形的边的迭代。在123处,确定多边形的第i条边是否位于向上倾斜的屋顶表面的底侧。如果边位于向上倾斜的屋顶表面的底侧,在124处,将边的类型标识符设置成具有值“A”。在125处,确定ー个或多个參数值。參数值包括至少ー个指示多边形的边i延伸所在的屋顶表面的倾斜角的傾斜度參数。该方法然后前进至130。如果,在123处,确定多边形的第i条边不位于向上倾斜的屋顶表面的底侧,则方法前进至126。在126处,确定边是否在墙表面上延伸,该墙表面具有支撑屋顶表面的向上倾斜的墙缘。如果边在墙表面上延伸,则在127处,将边的类型标识符设置成具有值“S”。该方法然后前进至130。如果,在126处,确定多边形的第i条边不在具有向上倾斜的墙缘的墙表面上延イ申,则该方法前进至128。在128处,确定边是否沿平台式屋顶的ー侧延伸。如果边沿着平台式屋顶的ー侧延伸,则在128处,将边的类型标识符设置成具有值“f”。该方法然后前进至 130。在130处,确定是否已经为闭合多边形的所有边执行了类型标识符和參数值(如果适用)的分配。如果第i条边不是最后一条边,则在131处将边索引加一。该方法返回123。如果确定已经为多边形的所有边分配了类型标识符和參数值(如果适用),则在数据库中存储关于边的信息、分配给边的类型标识符和參数值。如果在121处定义了多于ー个多边形,可为每ー个多边形重复过程122-132。使用图31的方法生成的地图数据库可在根据实施例的导航装置中使用。尽管已经详细描述了根据实施例的装置和方法,但在其他实施例中可实施修正。例如,尽管已经描述了使用三个类型标识符的实施例,还可使用其他数目的类型标识符或具有其他含义的类型标识符。例如,可采用約定,即具有类型标识符“A”且倾斜度參数值为0°的屋顶表面对应于平台式屋顶,而不是为平台式屋顶定义单独的类型标识符。在进ー步的实施例中,可使用多于三个的类型标识符。例如,可为起伏的向上倾斜的屋顶表面引入单独的类型标识符。本发明的实施例可用于导航装置。然而,根据进一歩的方面和实施例,其中类型标识符分别被分配给闭合多边形的边的屋顶结构參数化描述,也可以用于要输出3D城市模型的任何其他应用中。权利要求
1.一种导航装置,包括 光学输出装置(4), 数据库(3 ;20),存储定义三维屋顶结构的数据(21、22、23),以及耦合到所述数据库(3 ;20)的处理装置(2),所述处理装置(2)配置成从所数据库(3 ;20)取出定义三维屋顶结构的数据(21、22、23),基于所述取出的数据(21、22、23)重建所述三维屋顶结构,和控制所述光学输出装置(4)显示所重建的屋顶结构, 其中,所述取出的数据(21、22、23)包括关于至少一个闭合多边形的边出4,65 ;75_78 ;81.83;101 ;111,112)的信息和为所述边(64,65 ;75_78 ;81,83 ;101 ;111,112)中的每一条边分别存储在所述数据库(3;20)中的类型标识符,所述类型标识符中的每一个分别选自于类型标识符的有限集合,所述处理装置(2)配置成确定多个平面型表面(55-57 ;82,84 ;93 ;103,104 ;113,114)以重建所述屋顶结构,所述平面型表面(55-57 ;82,84 ;93 ;1 03,104 ;113,114)中的每一个是分别被确定的,使得其通过所述多边形的边(64,65 ;75-78 ;81,83 ; 101 ; 111,112)并具有基于为所述边存储的类型标识符确定的取向。
2.如权利要求I所述的导航装置, 所述类型标识符的有限集合至少包括用于向上倾斜的屋顶表面的第一类型标识符和用于取向为垂直于基底平面的平面型表面的第二类型标识符。
3.如权利要求I或2所述的导航装置, 其中,所述取出的数据(21、22、23)包括用于所述边(64,65 ;75_78 ;81,83 ;101 ;111,112)的至少一部分的参数值,每一个所述参数值被分别存储成与所述多边形的所述边(64,65 ;75-78 ;81,83 ;101 ;111,112)中的一个相关联, 所述处理装置(2)进一步配置成基于所述参数值重建所述屋顶结构。
4.如权利要求3所述的导航装置, 所述处理装置(2)配置成,在重建所述屋顶结构时,识别在所述数据库(3;20)中为其存储第一类型标识符的所述多边形的边(64 ;81,83 ;101 ;111,112),以取出用于所识别出的边(64 ;81,83 ; 101 ; 111,112)的至少一个倾斜度参数值,并生成具有平面型表面(55 ;82.84;93 ;103 ;113,114)的倾斜的屋顶表面,所述平面型表面(55 ;82,84 ;93 ;103 ;113,114)通过所述识别出的边(64 ;81,83 ;101 ;111,112)并具有由所述倾斜度参数值定义的倾斜度。
5.如权利要求4所述的导航装置, 所述处理装置(2)配置成,识别在所述数据库(3 ;20)中为其存储所述第一类型标识符的所述多边形的第二边(83 ;111),以取出用于所述识别出的第二边(83;111)的第二倾斜度参数值,并计算所述屋顶表面与第二屋顶表面之间的交叉线,所述第二屋顶表面包括通过所述第二边(83 ;111)并具有由所述第二倾斜度参数值定义的倾斜度的第二平面型表面(84 ;113) ο
6.如权利要求4所述的导航装置, 所述处理装置(2)配置成确定是否为所述识别出的边(101 ;112)存储另外的倾斜度参数值,如果为所述识别出的边(101 ;112)存储另外的倾斜度参数值,则将所述屋顶表面产生为起伏的屋顶表面(102 ;114,115),其具有另外的平面型表面(104 ;115),其中所述另外的平面型表面(104;115)平行于所述多边形的所述识别出的边(101 ;112)并具有由所述另外的倾斜度参数值定义的另外的倾斜度。
7.如权利要求I或2所述的导航装置, 所述处理装置(2)配置成,识别在所述数据库(3 ;20)中为其存储第二类型标识符的所述多边形的边(65),并重建所述屋顶结构,使得其包括平面型表面(56),该平面型表面(56)取向为垂直于基底平面(80),通过所述识别出的边¢5)且具有相对于所述基底平面倾斜的向上倾斜的墙缘(67,69)。
8.如权利要求7所述的导航装置, 所述处理装置(2)配置成计算平面(56)与另外的平面(55)之间的交叉线,以便计算所述向上倾斜的墙缘出7,69),其中所述平面(56)通过所述识别出的边¢5)并垂直于所述基底平面(80),并且其中所述另外的平面(55)通过与所述识别出的边¢5)相邻的所述多边形的另一条边(64),并且相对所述基底平面(80)倾斜。
9.如权利要求I或2所述的导航装置, 所述处理装置(2)配置成,识别在所述数据库(3 ;20)中为其存储第三类型标识符的所述多边形的边(75-78),并重建所述屋顶结构,使得其包括由所述多边形的所述识别出的边(75-78)围起的平台式屋顶(57)。
10.如权利要求I或2所述的导航装置, 其中所述类型标识符的有限集合包括三个或更少个不同的类型标识符。
11.如权利要求I或2所述的导航装置, 其中所述多边形位于所述屋顶结构的基底平面(80)中。
12.如权利要求I或2所述的导航装置, 其中所述数据库(3 ;20)是关系数据库(3 ;20)。
13.—种经由导航装置(I)的光学输出装置(4)输出三维屋顶结构的方法,所述方法包括 从所述数据库(3 ;20)取出表示三维屋顶结构的数据(21、22、23),其中所取出的数据(21、22、23)包括关于至少一个闭合多边形的边(64,65;75-78 ;81,83 ;101 ;111,112)的信息,和为所述边(64,65 ;75-78 ;81,83 ;101 ;111,112)中的每一条边分别在所述数据库(3 ;20)中存储的类型标识符,所述类型标识符中的每一个选自于类型标识符的有限集合, 基于关于所述边(64,65 ;75-78 ;81,83 ;101 ;111,112)的所述信息和用于所述边(64,65 ;75-78 ;81,83 ;101 ;111,112)的所述类型标识符重建所述三维屋顶结构,其中确定多个平面型表面(55-57 ;82,84 ;93 ;103,104 ;113,114),使得各个平面型表面通过所述多边形的边(64,65 ;75-78 ;81,83 ;101 ;111,112),并具有基于为所述边(64,65 ;75_78 ;81,83 ;101 ;111,112)存储的所述类型标识符确定的取向,以及控制所述光学输出装置(4)显示所述重建的屋顶结构。
14.如权利要求13所述的方法, 其中所述方法由权利要求I或2所述的导航装置(I)执行。
15.一种产生包括屋顶结构的参数化描述的车辆导航数据库(3 ;20)的方法,该方法包括 取出表示三维屋顶结构的数据; 基于所述数据,识别在所述屋顶结构的基底平面(80)中的包括多条边(64,65 ;75-78 ;、81,83;101 ;111,112)的至少一个闭合多边形; 对于所述多条边(64,65 ;75-78 ;81,83 ;101 ;111,112)中的每条边, 基于所述边(64,65 ;75-78 ;81,83 ;101 ;111,112)相对于所述屋顶结构的屋顶表面的位置,为所述边(64,65 ;75-78 ;81,83 ; 101 ; 111,112)分配类型标识符,该类型标识符选自于类型标识符的有限集合,和 基于所分配的类型标识符,根据所述数据为各条边(64,65 ;75-78 ;81,83 ;101 ;111,、112)选择性地确定参数值,以及 在所述数据库(3 ;20)中存储关于所述多边形的所述边出4,65 ;75-78 ;81,83 ;101 ;、111,112)的信息和关于分配给所述边(64,65 ;75_78 ;81,83 ; 101 ; 111,112)中的每一条边的所述类型标识符的信息。
16.如权利要求15所述的方法, 其中,所述类型标识符的所述集合包括第一类型标识符、第二类型标识符,和第三类型标识符, 其中,如果所述边(64 ;81,83 ;101 ;111,112)沿着倾斜的屋顶表面(55 ;82,84 ;93 ;、103 ;113,114)底侧延伸,则将所述第一类型标识符分配给所述多边形的边, 其中,如果所述边出5)延伸通过具有向上倾斜的墙缘¢7,69)的墙表面(57),该向上倾斜的墙缘(67,69)用于支撑向上倾斜的屋顶表面(55),则将所述第二类型标识符分配给所述多边形的边(65),并且 其中,如果所述边(75-78)沿平台式屋顶表面(57)的一侧延伸,则将所述第三类型标识符分配给所述多边形的边(75-78)。全文摘要
本发明提供一种导航装置包括存储用于重建三维屋顶结构的数据的数据库。所述数据包括为至少一个闭合多边形的边(64,65)中的每一个分别在数据库中存储的关于边(64,65)的信息和类型标识符。类型标识符中的每一个分别选自于类型标识符的有限集合。生成多个平面型表面(55-56)以重建屋顶结构。平面型表面(55-56)是分别确定的,使得其通过多边形的边(64,65)并具有基于为边存储的类型标识符确定的取向。
文档编号G01C21/26GK102735241SQ201210097998
公开日2012年10月17日 申请日期2012年4月5日 优先权日2011年4月4日
发明者M.斯特拉森伯格-克莱西亚克 申请人:哈曼贝克自动系统股份有限公司