首页> 中国专利> 三维虚拟城市的自动生成方法

三维虚拟城市的自动生成方法

摘要

本发明提供一种三维虚拟城市的自动生成方法,包括:根据土地利用模型中的城市初始道路网络及土地利用强度生成主干道;根据所述主干道以及所述土地利用强度生成街区道路;根据所述街区道路生成三维建筑物;根据所述主干道、所述街区道路和所述三维建筑物生成三维虚拟城市。本发明提供的三维虚拟城市的自动生成方法中,在土地利用模型提供的城市初始道路网络的基础上,根据土地利用强度生成了主干道,并利用所述主干道以及所述土地利用强度进一步生成街区道路及三维建筑物,进而生成与所述土地利用模型相对应的三维虚拟城市,能够全面、准确、直观地反映出城市中道路、建筑物的分布情况。

著录项

  • 公开/公告号CN104732591A

    专利类型发明专利

  • 公开/公告日2015-06-24

    原文格式PDF

  • 申请/专利权人 中国科学院遥感与数字地球研究所;

    申请/专利号CN201510104415.8

  • 发明设计人 宇林军;刘亚岚;彭玲;池天河;

    申请日2015-03-10

  • 分类号G06T19/00(20110101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人陶敏;黄健

  • 地址 100101 北京市朝阳区安定门外大屯路甲20号北

  • 入库时间 2023-12-18 09:28:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    授权

    授权

  • 2015-07-22

    实质审查的生效 IPC(主分类):G06T19/00 申请日:20150310

    实质审查的生效

  • 2015-06-24

    公开

    公开

说明书

技术领域

本发明涉及虚拟城市技术领域,尤其涉及一种三维虚拟城市的自动生成 方法。

背景技术

城市是一个由多种类型对象构成的复杂系统。城市形态可以表现为不 同的土地利用方式,是城市中人与自然系统交互的结果。城市规划者和决 策者希望通过所制定的规划和政策来塑造所期望的城市形态。

现有技术中,城市的规划者可以根据城市的具体情况设计不同的城市 土地利用模型。城市土地利用模型可以包括城市中每一区域的土地类型如 工业用地、商业用地和民用地等,还可以包括城市中各个区域的土地利用 强度、容积率等。

但是,现有的土地利用模型通常基于二维地图的表现形式,且仅能反 映出土地类型、土地利用强度等抽象的数据,不能全面、直观地反映城市 中街区道路、建筑物的分布情况,具有一定的局限性。

发明内容

本发明提供一种三维虚拟城市的自动生成方法,用以解决现有技术中土 地利用模型不能全面准确地反映城市中街区道路、建筑物的分布情况的技术 问题。

本发明提供一种三维虚拟城市的自动生成方法,包括:

根据土地利用模型中的城市初始道路网络及土地利用强度生成主干道;

根据所述主干道以及所述土地利用强度生成街区道路;

根据所述街区道路生成三维建筑物;

根据所述主干道、所述街区道路和所述三维建筑物生成三维虚拟城市。

本发明提供的三维虚拟城市的自动生成方法中,在土地利用模型提供的 城市初始道路网络的基础上,根据土地利用强度生成了主干道,并利用所述 主干道以及所述土地利用强度进一步生成街区道路及三维建筑物,进而生成 与所述土地利用模型相对应的三维虚拟城市,能够全面、准确、直观地反映 出城市中道路、建筑物的分布情况,方便规划者和公众了解不同规划下的具 体城市形态。

附图说明

图1为本发明实施例一提供的三维虚拟城市的自动生成方法的流程图;

图2为本发明实施例二提供的三维虚拟城市的自动生成方法中生成主干 道的流程图;

图3为本发明实施例三提供的三维虚拟城市的自动生成方法中生成街区 道路的流程图;

图4为本发明实施例四提供的三维虚拟城市的自动生成方法中生成三维 建筑物的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的三维虚拟城市的自动生成方法的流程图。 如图1所示,本实施例中的三维虚拟城市的自动生成方法,可以包括:

步骤1、根据土地利用模型中的城市初始道路网络及土地利用强度生成 主干道。

具体地,当规划者需要模拟一个全新的城市时,城市初始道路网络可以 为空,即直接依据土地利用强度生成多条主干道;当规划者需要在当前已有 城区的基础上模拟城市扩展时,城市初始道路网络可以包括已有城区的主干 道,在已有城区主干道所构成的初始道路网络的基础上,根据土地利用强度 生成新的主干道。

城市道路的设计是为了满足人们对交通的需求,因此,主干道的增长应 当与相应区域的土地利用强度相关联。通常情况下,某一区域的主干道密度 与该区域的土地利用强度成正比:区域的土地利用强度越大,其主干道网络 越密集,区域的土地利用强度越小,其主干道网络越稀疏,即主干道网络在 土地利用强度大的地区由较短的路段构成,在土地利用强度小的地区由较长 的路段构成。

因此,根据所述城市初始道路网络以及所述土地利用模型就可以生成多 条主干道,并确定所述主干道的起点、方向、长度和终点等,所述多条主干 道一起形成了城市的主干道网络。

步骤2、根据所述主干道以及所述土地利用强度生成街区道路。

城市的道路网络具体可以分为主干道和街区道路,主干道构成了城市的 骨架,街区道路是在主干道的基础上,进一步将城市空间划分为多个街区。 在步骤1已经生成主干道的基础上,根据所述土地利用强度可以进一步生成 多条街区道路,并确定所述街区道路的起点、方向、长度和终点等。与主干 道类似,街区道路的路段长度也与该区域的土地利用强度成反比。

步骤3、根据所述街区道路生成三维建筑物。

具体地,根据街区道路可以确定街区,在街区中,可以根据土地类型及 容积率等,确定三维建筑物所在的位置及其具体长度、宽度和高度。

步骤4、根据所述主干道、所述街区道路和所述三维建筑物生成三维虚 拟城市。

在步骤1至步骤3确定主干道、街区道路和三维建筑物之后,可以根据 所述主干道和街区道路的起点、终点,以及所述三维建筑物的位置、长度、 宽度、高度等,生成三维虚拟城市,其生成方法属于现有技术,此处不再赘 述。

本实施例中生成的三维虚拟城市与用户输入的土地利用模型相对应,可 以方便用户查看不同土地利用模型对应的三维虚拟城市,便于用户了解不同 规划情景下的具体城市形态。在实际使用过程中,用户可以根据城市具体情 况,确定土地利用模型,并根据本实施例提供的三维虚拟城市的自动生成方 法生成三维虚拟城市,直观地了解当前规划情景下的城市道路和建筑物的分 布情况。

本实施例提供的三维虚拟城市的自动生成方法中,在土地利用模型提供 的城市初始道路网络的基础上,根据土地利用强度生成了主干道,并利用所 述主干道以及所述土地利用强度进一步生成街区道路及三维建筑物,进而生 成与所述土地利用模型相对应的三维虚拟城市,能够全面、准确、直观地反 映出城市中道路、建筑物的分布情况,方便规划者和公众了解不同规划下的 具体城市形态。

实施例二

图2为本发明实施例二提供的三维虚拟城市的自动生成方法中生成主干 道的流程图。本实施例是在实施例一提供的三维虚拟城市的自动生成方法的 基础上,给出了步骤1的具体实施方式。本实施例中根据土地利用模型中的 城市初始道路网络及土地利用强度生成主干道,可以具体包括:

根据所述城市初始道路网络确定用于延伸主干道的主干道初始点,形成 主干道初始点集合,为每个主干道初始点确定延伸方向,所述延伸方向包括 一个主延伸方向及至少一个次延伸方向,并对所述主干道初始点集合中的每 个主干道初始点依次执行下述步骤:

在所述主干道初始点的每个所述延伸方向上新生成路段,新生成的路段 所覆盖的土地利用强度满足第一预设值;

判断所述新生成路段是否与已有路段相交;

若不相交,则将所述新生成路段终点作为主干道初始点放入所述主干道 初始点集合中,并为主延伸点确定一个主延伸方向及至少一个次延伸方向, 为次延伸点确定一个次延伸方向;

其中,朝主延伸方向延伸的路段的终点为主延伸点,朝次延伸方向延伸 的路段的终点为次延伸点。

下面结合图2,详细说明本实施例中生成主干道的方法。如图2所示, 可以通过如下步骤生成城市中的主干道:

步骤101、确定主干道初始点集合S。

在生成城市主干道时,首先要根据所述城市初始道路网络确定用于延伸 主干道的主干道初始点,形成主干道初始点集合S,并且为集合S中的每个 主干道初始点确定至少一个延伸方向。

具体地,当城市交通模式为网格模式时,每个主干道初始点有四个延伸 方向,其中一个为主延伸方向,另外三个为次延伸方向;当城市交通模式为 发散模式时,每个主干道初始点有三个延伸方向,其中一个为主延伸方向, 另外两个为次延伸方向。主干道初始点的主延伸方向和次延伸方向可以由用 户确定,或者采用默认设置。

步骤102、判断集合S是否为空?

若是,则说明所有的主干道初始点都已经被延伸过,全部主干道已经生 成完毕,可以开始生成街区道路。

若否,则选择集合S的队首点s为新延伸路段的起始点,并将s从集合 S中移除。

步骤103、判断s已在所有方向上延伸过?

其中,每一个主干道初始点s,都有至少一个延伸方向,若所述主干道 初始点s在所有延伸方向上已全部延伸过,则返回步骤102,处理下一个主 干道初始点;若所述主干道初始点s还有未延伸的方向,则执行步骤104。

步骤104、选取下一个延伸方向。

步骤105、确定新生成路段的延伸距离及终点e。

选定延伸方向后,即可以以所述主干道初始点为起点,在所述延伸方向 上形成新生成路段,新生成路段的延伸距离按照如下原则确定:所述新生成 的路段所覆盖的土地利用强度满足第一预设值。其中,用户输入的土地利用 模型中,包含了每一区域的土地利用强度。

具体地,可以从起点开始,以步长Δl为单位、沿着所述延伸方向逐步延 长,直至新生成路段的所覆盖的土地利用强度满足第一预设值。例如,步长 为1,每步长覆盖有100个栅格,每一栅格的土地利用强度为0.1,第一预设 值为2000,则所述新生成路段的长度为2000/(100*0.1)=20。在确定新生 成路段的长度后,可以根据新生成路段的起点s确定新生成路段的终点e。

所述第一预设值可以由用户输入,也可以采用默认设置,采用默认设置 时,所述第一预设值可以根据其它城市的土地利用强度与主干道路段长度的 比例确定。

步骤106、判断所述新生成路段se是否与障碍物相交?

用户输入的土地利用模型中,可以包括山体、水域等障碍物的位置和高 度等,新生成路段se后,根据所述障碍物的位置判断se是否与障碍物相 交。若相交则执行步骤107,若不相交,则执行步骤108。

步骤107、判断所述新生成路段是否能横跨所述障碍物。

具体地,可以根据所述障碍物的类型或者所述障碍物的所占面积或高度 来判断是否能够横跨所述障碍物。判断标准可以由用户设定或者采用默认设 置。

若判断所述新生成路段不能横跨所述障碍物,则以所述新生成路段与所 述障碍物的交点作为所述新生成路段的终点e。

当新生成路段与障碍物相交、且不能横跨障碍物时,以所述新生成路段 与所述障碍物的交点作为所述新生成路段的终点,避免了新生成路段在难以 横跨所述障碍物的情况下还继续向前延伸,能够更加准确地反映出主干道的 分布情况。

步骤108、判断所述新生成路段是否与已有路段相交。

若不相交,则执行步骤112;若相交,则确定所述新生成路段与最近的 被交路段Ln之间的交点c。交点确定后,执行步骤109。

步骤109、判断所述新生成路段是否为主延伸方向路段。

其中,沿着主延伸方向延伸的路段为主延伸方向路段,沿着次延伸方向 延伸的路段为次延伸方向路段。若所述新生成路段与已有路段相交、且所述 新生成路段为主延伸方向路段,则执行步骤110。若所述新生成路段与已有 路段相交、且为次延伸方向路段,则执行步骤111。

步骤110、判断所述被交路段是否为主延伸方向路段。

若所述被交路段为主延伸方向路段,则以所述交点作为所述新生成路段 的终点e,然后执行步骤112,并且,判断所述被交路段的顶点是否只连接 有一个路段:若所述被交路段的顶点只连接有一个路段,则以所述交点作为 所述被交路段的顶点;若所述被交路段的顶点连接有不止一个路段,则不移 动所述被交路段的顶点。

若所述被交路段为次延伸方向路段,则将所述被交路段的顶点从集合S 中剔除、并且以所述交点作为所述被交路段的顶点,然后执行步骤112。

步骤111、确定所述新生成路段与被交路段的交点,并判断所述交点与 所述被交路段的顶点之间的距离是否小于第一预设阈值。

若是,说明所述交点与所述被交路段的顶点临近,可以以所述被交路段 的顶点作为所述新生成路段的终点e,反之则可以以所述交点作为所述新生 成路段的终点e。然后执行步骤112。

其中,所述被交路段的顶点可以为所述被交路段的起点或终点。

步骤112、将所述新生成路段se加入主干道网络中,并执行下一步。

步骤113、判断是否将终点e加入集合S中。

具体地,若所述终点e是某两条道路的交点、且所述新生成路段se为次 延伸方向路段,则终点e不加入集合S,直接返回步骤103;若所述终点e不 是两条道路的交点、或者所述新生成路段se为主延伸方向路段,则将所述 终点e作为主干道初始点加入集合S的队尾并返回步骤103,如果终点e为 主延伸点,则为终点e确定一个主延伸方向及至少一个次延伸方向,如果终 点e为次延伸点,则确定一个次延伸方向。

具体地,终点e的延伸方向可以由下式确定,

θk=θ0+2πkm+r---(1)

其中,θk为终点e的第k个延伸方向,θ0为所述新生成路段的延伸方 向,r为一个服从正态分布N(0,σ2)的随机数,σ由用户指定或者采用默认 值。

若终点e为主延伸点,k=1、2、…m。当k=m时,θk为主延伸方向;k<m 时,θk为次延伸方向。当城市交通模式为网格型时,m=4;当城市交通模式 为发散型时,m=3。城市交通模式的类型可以由用户确定,或者采用默认类 型。

当终点e为次延伸点时,k=m,θk为次延伸方向。

本实施例提供的三维虚拟城市的自动生成方法中,在土地利用模型中城 市初始道路网络的基础上确定主干道初始点,为每个主干道初始点确定至少 一个延伸方向,并根据所述主干道初始点及其延伸方向在所述城市初始道路 网络的基础上进行延伸,能够快速、准确地生成主干道网络,反映出城市中 主干道的分布情况。

在实施例二提供的技术方案中,优选的是,步骤101中所述根据所述城 市初始道路网络确定用于延伸道路的主干道初始点,具体可以分为以下两种 情况:所述城市初始道路网络为空、所述城市初始道路网络包括初始主干 道。

若所述城市初始道路网络为空,即所述城市初始道路网络中不包括初始 主干道,则根据所述土地利用强度确定所述城市的人口聚集中心,或者,由 用户指定所述城市的人口聚集中心,以所述人口聚集中心向多个方向分别延 伸至多个终点(当城市交通模式为网格模式时,向四个方向延伸,当城市交 通模式为发散模式时,向三个方向延伸),以所述多个终点作为所述主干道 初始点,其中,每个方向延伸的长度应该满足所覆盖的土地利用强度达到第 一预设值。

若所述城市初始道路网络包括初始主干道,则以所述初始主干道的顶点 为所述主干道初始点。若所述顶点只连接有一条路段,则以所述路段的延伸 方向作为所述顶点的主延伸方向,若所述顶点连接有多条路段,则从所述多 条路段中随机选取一条路段的延伸方向作为所述顶点的主延伸方向。

根据所述城市初始道路网络是否包括初始主干道来确定生成主干道的生 成策略,当城市初始道路网络为空时,从所述城市的人口聚集中心向周围延 伸主干道,当城市初始道路网络包括初始主干道时,以所述初始主干道的顶 点向外延伸主干道,能够使生成的主干道更容易满足土地利用模型中的土地 利用强度,符合一般城市的建设需求。

实施例三

图3为本发明实施例三提供的三维虚拟城市的自动生成方法中生成街区 道路的流程图。本实施例是在实施例一提供的三维虚拟城市的自动生成方法 的基础上,给出了步骤2的具体实施方式。本实施例中,根据所述主干道以 及所述土地利用强度生成街区道路,具体可以包括:

根据所述主干道确定用于延伸街区道路的街道初始点,形成街道初始点 集合,为每个街道初始点确定延伸方向,并对所述街道初始点集合中的每个 街道初始点依次执行下述步骤:

在所述街道初始点的每个所述延伸方向上新生成街区路段,新生成的街 区路段所覆盖的土地利用强度满足第二预设值;

判断所述新生成的街区路段是否与已有路段相交;

若所述新生成的街区路段与已有路段相交、且交点与所述被交路段的顶 点之间的距离大于第二预设阈值,则以所述交点作为所述新生成路段的终 点;

若所述新生成的街区路段与已有路段相交、且交点与所述被交路段的顶 点之间的距离不大于所述第二预设阈值,则以所述被交路段的顶点作为所述 新生成的街区路段的终点;

若所述新生成的街区路段与已有路段不相交,则将所述新生成的街区路 段的终点作为街道初始点放入所述街道初始点集合中。

下面结合图3,详细说明本实施例中生成街区道路的方法。如图3所 示,可以通过如下步骤生成城市中的街区道路:

步骤201、判断主干道合集是否为空。

具体地,主干道可以由实施例一中的步骤1得到。在确定主干道合集 后,判断所述主干道合集是否为空:若不为空,则执行步骤202;若为空, 则说明已经根据全部主干道生成了街区道路,直接结束,进而可以执行步骤 3生成三维建筑物。

步骤202、选取一条主干道,并从所述主干道集合中移除该主干道。

步骤203、分割主干道,形成街道初始点集合T。

根据所述主干道确定所述街道初始点时,可以将所述主干道分割成若干 段道路,其中每一段道路所覆盖的土地利用强度大于第三预设阈值,以所述 每一段道路的终点作为所述街道初始点。

具体地,设路段AB为一主干道路段,则从A点出发,沿着AB方向,以 步长Δl向前寻找分割点t1,使得路段At1覆盖的土地利用强度大于第三预设 阈值。继续以t1为新的起点,沿着AB方向寻找下一个分割点t2,使得路段 t1t2覆盖的土地利用强度大于第三预设阈值,然后依次沿着AB方向寻找下一 个分割点,并将所有分割点加入到街道初始点集合T中。

确定街道初始点后,可以为每个街道初始点确定至少一个延伸方向。可 以采用如下公式确定街道初始点的延伸方向:

θk=θ0+2πkm+r---(2)

其中,k=1、2、…、m-1,θk为街道初始点的第k个延伸方向,θ0为所述 街道初始点所在的主干道的延伸方向,r为一个服从正态分布N(0,σ2)的随机 数,σ和m的值由用户指定或者采用默认值。

步骤204、判断所述街道初始点集合T是否为空。

若为空,则说明当前主干道上所有分割点都延伸过了,返回步骤201。 若不为空,则选择集合T中队首点t为新生成点,并从T中移除t。

步骤205、判断t是否在所有延伸方向上都延伸过。

若是,则返回步骤204;若否,则执行步骤206。

步骤206、选取下一延伸方向。

步骤207、确定新生成街区路段的延伸距离及终点e,使得所述新生成 的街区路段所覆盖的土地利用强度满足第二预设值。其计算方法与实施例二 中生成主干道时计算新生成路段的方法类似,此处不再赘述。相应的,所述 第二预设值也可以由用户输入,或者采用默认设置。采用默认设置时,所述 第二预设值可以根据其它城市的土地利用强度与街区路段长度的比例确定。

步骤208、判断所述新生成的街区路段te是否与障碍物相交。

若相交则执行步骤209,若不相交则执行步骤210。

步骤209、判断所述新生成的街区路段te是否能横跨所述障碍物。

若判断所述新生成的街区路段te不能横跨所述障碍物,则以所述新生 成的街区路段与所述障碍物的交点作为所述新生成街区路段的终点e。

步骤210、判断所述新生成的街区路段te是否与已有路段相交。

若不相交,则执行步骤212;若相交,则确定所述新生成的街区路段与 最近的被交路段Ln的交点c。交点c确定后,执行步骤211。

步骤211、判断所述交点c与所述被交路段的顶点之间的距离是否小于 第二预设阈值。

若交点c与所述被交路段的顶点之间的距离小于第二预设阈值,则说明 所述交点与所述被交路段的顶点临近,可以以所述被交路段的顶点作为所述 新生成的街区路段的终点e;反之则可以以所述交点c作为所述新生成街区 路段的终点e。然后执行步骤212。

步骤212、将所述新生成的街区路段te加入街区道路网络中,并执行下 一步。

步骤213、判断所述终点e是否是交点。

若终点e不是两条道路的交点,则将所述终点e作为街道初始点加入集 合T的队尾,并返回步骤205;若终点e是交点,则直接返回步骤205。

本实施例提供的三维虚拟城市的自动生成方法中,通过土地利用强度设 置街道初始点,为每个街道初始点确定至少一个延伸方向,并根据所述街道 初始点及其延伸方向在主干道网络的基础上进行延伸,能够快速、准确地生 成街区道路网络,反映出城市中街区道路的分布情况。

实施例四

图4为本发明实施例四提供的三维虚拟城市的自动生成方法中生成三维 建筑物的流程图。本实施例是在实施例一提供的三维虚拟城市的自动生成方 法的基础上,给出了步骤3的具体实施方式。本实施例中,根据所述街区道 路生成三维建筑物,具体可以包括:

步骤301、根据所述主干道与所述街区道路生成街区。

城市街区从几何形状角度来说为由道路网络边界构成的多边形。根据步 骤1和步骤2中生成的主干道和街区道路,利用ArcObjects中的 FeatureToPolygon(线转面)函数,可以将道路网络转换为多边形的街区。

步骤302、根据所述街区的土地利用强度,确定所述街区的建筑物的总 体积。

街区内建筑物的总体积与所述街区内的人口数成正比,而所述街区内的 人口数可以通过土地利用强度确定。具体地,可以计算街区中每个栅格的土 地利用强度之和,所述街区内的人口数与所述土地利用强度之和成正比。

步骤303、根据所述街区对应的容积率,确定所述街区的建筑物的总覆 盖面积。

具体地,用户输入的土地利用模型中可以包括城市中容积率分布情况。 所述街区的建筑物的总覆盖面积等于所述街区的面积乘以所述街区的容积 率。

步骤304、根据所述总体积和总覆盖面积,生成所述三维建筑物的轮 廓,即确定街区中建筑物的长度、宽度和高度,以使所述街区中全部建筑物 的总体积和总覆盖面积满足要求。

具体地,步骤304可以包括:

步骤3041、根据所述街区的土地类型,确定所述建筑物本身的长度和宽 度。

具体地,用户输入的土地利用模型中可以包含有每个区域的土地类型如 居民用地、商业用地或工业用地等,相应地,区域的建筑物可以为居民建 筑、商业建筑或工业建筑等,不同类型的建筑物可以对应不同的长度和宽 度。

本步骤中建筑物本身的长度和宽度是指,建筑物本身在地表的覆盖面 积。

步骤3042、根据所述容积率,确定所述建筑物在所述街区所占的地表面 积的长度和宽度。

具体地,所述建筑物所占的地表面积包括所述建筑物本身在地表覆盖的 面积以及所述建筑物分摊的周围公共绿地的面积等。根据容积率的定义,所 述建筑物在所述街区所占的地表面积的长度和宽度可以通过下式确定:

L=LtB---(3)

W=Wtβ---(4)

其中,L和T分别为所述建筑物所占地表面积的长度和宽度,Lt和Tt分 别为所述建筑物本身的长度和宽度,β为容积率。

步骤3043、根据所述建筑物在所述街区所占的地表面积的长度L和宽度 T,将所述街区划分为多个网格。

其中,所述网格可以为长方形,所述网格的长边与所述街区最长的边平 行。所述网格的长和宽分别与所述建筑物所占地表面积的长度L和宽度T一 致,即每一个网格都可以容纳一个所述建筑物。所述多个网格作为建筑物位 置备选集合。

步骤3044、在所述多个网格中选取若干网格,根据所述建筑物本身的长 度和宽度,在所选取的网格中生成建筑物,并根据所述建筑物的总体积确定 每个网格中建筑物的高度。

具体地,在步骤3044中,可以通过如下方法确定所述建筑物本身的高 度:

根据所述建筑物的类型,确定所述建筑物单层的高度H,并计算建筑物 最大个数:

Cmax=VLt×Wt×H---(5)

其中,V为步骤302中计算出的所述街区的建筑物的总体积。

如果Cmax小于所述建筑物位置备选集合中网格的个数,说明所述街区在 给定容积率下,可完全由单层建筑物构成,因此,可以在所述建筑物位置备 选合集中随机选择Cmax个网格作为最终建筑物分布位置,每个网格中建筑物 的层数均为一层。

如果Cmax大于所述建筑物位置备选集合中网格的个数,说明所述街区在 给定容积率下,不可能完全由单层建筑物构成,则可以在所述建筑物备选合 集中选择若干个网格,形成建筑物位置合集Sg,并通过以下方法确定合集Sg中每个网格的建筑物层数。

步骤(1)、计算所述街区中建筑物的平均层数:

f=Vn×Lt×Wt×H---(6)

其中,n为所述建筑物位置合集Sg中网格的个数。

步骤(2)、从所述建筑物位置合集Sg中选取一个网格,并将选取的网格 从Sg中移除,所选取的网格中建筑物的层数为fb

fb=Math.ceil(f×r(0,σf))---(7)

其中,r(0,σf)为随机数,Math.ceil为返回大于等于的最小整数 的数学函数。

步骤(3)、计算已生成建筑物的总体积,并判断所述已生成建筑物的总 体积是否大于V,其中,V为步骤302中计算出的所述街区的建筑物的总体 积。

若是,则结束;若否,则返回步骤(2),继续生成下一网格中的建筑 物。

若所述建筑物位置合集Sg已空,但已生成的建筑物的总体积小于V,则 在生成的建筑物中,随机选择一个建筑物,使其层数加1,并判断生成建筑 物的体积是否达到V,若没有达到,继续随机选择下一个建筑物,使其层数 加1,直至生成建筑物的体积达到V。

本实施例提供的三维虚拟城市的自动生成方法中,通过主干道和街区道 路确定街区,并根据所述街区的土地利用强度及容积率确定所述街区中建筑 物的总体积和覆盖面积,进而在所述总体积和覆盖面积的基础上确定建筑物 的长度、宽度和高度,能够快速、准确地生成街区中的三维建筑物,反映出 城市中建筑物的分布情况。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修 改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替 换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号