一种基于GIS的城市通风廊道计算方法及系统
技术领域
本申请涉及图像处理领域,尤其是一种基于GIS的城市通风廊道计算方法及系统。
背景技术
地理信息系统(Geographic Information System, 简称 GIS )是一种采集、存储、管理、分析、显示与应用地理信息的计算机技术系统,是分析和处理海量地理数据的通用技术。主要包括数据输入与编辑、数据管理、数据操作以及数据显示和输出等。作为获取、处理、管理和分析地理空间数据的重要工具、技术和学科,得到了广泛关注。
随着城市规模的急剧扩大,城市内部的环境建设越来越被重视,城市通风廊道即是其中之一。城市通风廊道,就是在城市建设生态绿色走廊,在城市局部区域打开一个通风口,让郊区的风吹向主城区,增加城市的空气流动性,以提升城市的空气质量。现有技术中,传统的通风廊道一般是基于流体力学软件进行风速的大致模拟,计算出的通风廊道不够精确。
发明内容
本申请提供一种基于GIS的城市通风廊道计算方法及系统,解决现有技术计算通风廊道不够准确的问题。
根据本申请的第一方面,本申请提供一种基于GIS的城市通风廊道计算方法,包括以下步骤:
获取预设的城市建筑模型图;将城市建筑模型图与预设的矢量格网图层相叠加,生成网格模型图;计算单个网格内建筑在预设风向下的风影面积;将网格模型图转换为成本栅格图,栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积;以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,该路径即为通风廊道。
根据本申请的第二方面,本申请提供一种基于GIS的城市通风廊道计算系统,包括:
获取模型模块,用于获取预设的城市建筑模型图;叠加网格模块,用于将城市建筑模型图与预设的矢量格网图层相叠加,生成网格模型图;风影计算模块,用于计算单个网格内建筑在预设风向下的风影面积;栅格处理模块,用于将网格模型图转换为成本栅格图,栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积;风道计算模块,用于以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,该路径即为通风廊道。
本申请的有益效果是,本申请通过将城市建筑模型图与预设的矢量格网图层相叠加,生成网格模型图;计算单个网格内建筑在预设风向下的风影面积;将网格模型图转换为成本栅格图,栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积;以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,该路径即为通风廊道。这种采用精确的三维建筑模型去计算城区风廊的方法,使得本申请计算的通风廊道更加准确。
附图说明
图1为实施例1的流程图;
图2为实施例2中设定源数据和目标数据的效果图;
图3为实施例2中成本距离数据的效果图;
图4为实施例2中回溯链接栅格的示意图;
图5为实施例2中通风廊道的示意图;
图6为实施例3中的成本栅格图的示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例1:
一种基于GIS的城市通风廊道计算方法,如图1所示,包括以下步骤:
S101:获取预设的城市建筑模型图;
S102:将城市建筑模型图与预设的矢量格网图层相叠加,生成网格模型图;
S103:计算单个网格内建筑在预设风向下的风影面积;
S104:将网格模型图转换为成本栅格图,栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积;
S105:以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,该路径即为通风廊道。
城市建筑模型图是依据城市的建筑物所制作的模型图,可以是dwg格式图形、gis格式图形或矢量化的图形文件,在获取预设的城市建筑模型图之后,GIS软件中的数据转换工具将获取的城市建筑模型图进行转换,输出数据类型为面状的shapefile格式文件。格网是预置的,是由闭合的多段线组成,其大小可以进行调整,在本实施例中,选用网孔大小为50m*50m的格网。将城市建筑模型图与预设的矢量格网图层相叠加,使格网覆盖在城市建筑模型图的地表平面上,生成网格模型图,并将城市建筑模型图分割到若干单个网格内,对于跨越多个网格的建筑物,也会被分割到多个网格。再计算单个网格内建筑在预设风向下的风影面积。
对网格模型图进行栅格化处理,将网格模型图转换为成本栅格图,并保证栅格化后的栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积,这便于后续的计算。
以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,就是在计算经过成本栅格图所形成的风影面积累计最小的路径时,以此方向为主导,每经过一个栅格像元就累计叠加其风影面积。风影面积的大小反映出该栅格像元内建筑对风的阻力,因此,经过栅格像元所形成的风影面积累计最小的路径是风阻力最小的路径,该路径也就是该城市的通风廊道。
实施例2:
作为实施例1的改进,本实施例中,步骤S104以所述预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径的步骤具体为:
将进风部分的边缘栅格像元的中心点组成的矢量点集设定为源数据,将出风部分的边缘栅格像元的中心点组成的矢量点集设定为目标数据。
以预设风向为导向,计算从源数据到目标数据所经过成本栅格图所形成的风影面积累计最小的路径。
由于成本栅格图就是由栅格像元构成,因而成本栅格图的边界,即位于成本栅格图最外围的栅格像元即为边缘栅格像元,进风部分的边缘栅格像元是指风吹来时,最先接触到风的那部分栅格像元。出风部分的边缘栅格像元,是指与进风部分的边缘栅格像元相对的,风吹出的那部分栅格像元。
如图2所示,本实施例中,预设风向为南风,图2中最下边的一行即为进风部分的的边缘栅格像元,将最下边的一行的边缘栅格像元的中心点组成的矢量点集设定为源数据。对应的,图2中最上边的一行即为出风部分的边缘栅格像元,将最上边的一行的边缘栅格像元的中心点组成的矢量点集设定为目标数据。
如图3所示,基于GIS成本距离工具,输入成本栅格图和目标数据,计算各个栅格像元到目标数据的最小成本距离,即从该像元到目标数据所经过的风影面积累加最小的成本距离,从而获得图3所示的成本距离数据。图3中,处在建筑区边缘的栅格像元经过的风影面积阻力较小,使用较浅的颜色显示。而处在建筑区中心部分的栅格像元,其无法回避地要经过外围的阻力大的栅格像元,因而其成本距离也相对较大,显示出来的颜色较深。
如图4所示,基于GIS成本距离工具,输入成本栅格图和目标数据,目标数据会根据输入成本栅格的像元分辨率自动转化为与成本栅格图相同分辨率的栅格数据,从而输出相对于目标数据的回溯链接栅格。
如图5所示,根据GIS成本路径工具,输入源数据、成本距离栅格图、回溯链接栅格,输出从源数据指向目标数据的最小成本路径,即通风廊道。从源数据的每一个点移向目标数据的每一个点,会形成多条路径,而每经过一个栅格像元就累计叠加其风影面积,从而将所经过的风影面积累计最小的路径确定为其风道。当然,本实施例所指的累计风影面积最小,并非是指所有路径中的最小值,而是所有路径中根据阈值确定的最小的几条路径,从而在图3中计算出了多条通风廊道。
实施例3:
作为实施例2的改进,在将进风部分的边缘栅格像元的中心点组成的矢量点集设定为源数据,将出风部分的边缘栅格像元的中心点组成的矢量点集设定为目标数据的步骤之前,还包括:调整成本栅格图的边界范围,使成本栅格图调整为包含城市建筑区的矩形,并使成本栅格图的一边与预设风向垂直。
如图6所示,本实施例中,预设风向是西南风,将成本栅格图的形状设定为矩形,调整成本栅格图的边界范围,而栅格像元的网格方向不变,并要保证城市建筑区是位于成本栅格图之内的。再使得成本栅格图矩形的一边,即边缘栅格像元排列而成的一边与西南风垂直,该边缘栅格像元即为进风部分的边缘栅格像元,其对边即为出风部分的边缘栅格像元。这样,在以预设风向为导向,计算从源数据到目标数据所经过的风影面积累计最小的路径的步骤中,就以西南风为主导,栅格像元相对于西南风是规则的顺序排列,从源数据到目标数据也就是从成本栅格图矩形的一边到对应的另一边。
在其他实施例中,通过调整成本栅格图的边界范围,可以计算东北风、东南风、西北风等其他方向上的通风廊道。
实施例4;
本实施例中,计算单个网格内建筑在预设风向下的风影面积的步骤具体包括以下步骤:
在预设风向的法向面上对单个网格内的每栋建筑物分别做投影,形成投影面;将所有投影面沿预设风向平移至同一平面,形成风影面;计算风影面的面积,风影面的面积即为单个网格内建筑在预设风向下的风影面积。。
在风向的法向面上对单个网格内的每栋建筑物做投影,得到建筑物轮廓在风向法向面上的投影线,投影线围合而成的就是投影面,将同一个网格内的所有投影面沿预设风向平移至同一平面,各投影面之间会出现重叠或分离的情况,从而形成该网格内建筑物的风影面,利用GIS软件中多边形融合的功能,计算该风影面的面积,从而得到该网格内建筑物在该预设风向上的风影面积。
考虑到城市建筑的高度差异大,会存在高度远大于平均高度的建筑。这些建筑会形成较大的风影面积,如果直接采用其风影面积,最小路径就不会考虑此栅格像元,但实际情况是,该栅格像元属于实际上通风效果比较好的栅格像元。因此,可以采用数学统计的方法,研究区域的建筑物高度分布,根据高度分布的平均值确定风影面积计算高度的上限值。对于高度大于该上限值的建筑,将其高度值设定为此上限值。这样可以避免因建筑高度过高而导致该栅格像元的风影面积过大,进而不被最小路径选择的问题。
实施例5:
本实施例中,在以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径的步骤之前,还包括:将栅格像元值中的零值替换为特定标记值。
由于在后续的风道计算阶段会涉及到乘法运算,针对风影面积为零值的网格,如果不对零值进行修正,将会导致计算出错。因此,需先剔除栅像元值中的零值,即将风影面积的零值替换为特定标记值,这一特定标记值可以是较小的数值,如0.01-0.001之间的数值,即该数值本身不是零值,而其对结果产生的影响在本领域技术人员看来,是可以忽略的,本领域技术人员应该理解此表述。
进一步的,本实施例中,预设风向包括东风、西风、南风、北风、东北风、东南风、西北风和西南风中的一种。
实施例6:
一种基于GIS的城市通风廊道计算系统,包括:
获取模型模块,用于获取预设的城市建筑模型图;叠加网格模块,用于将城市建筑模型图与预设的矢量格网图层相叠加,生成网格模型图;风影计算模块,用于计算单个网格内建筑在预设风向下的风影面积;栅格处理模块,用于将网格模型图转换为成本栅格图,栅格像元的大小与单个网格的大小相同,栅格像元值为其对应的单个网格的风影面积;风道计算模块,用于以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径,该路径即为通风廊道。
实施例7:
作为实施例6的改进,本实施例中,风道计算模块包括:
数据设定单元,用于将进风部分的边缘栅格像元的中心点组成的矢量点集设定为源数据,将出风部分的边缘栅格像元的中心点组成的矢量点集设定为目标数据;路径计算单元,用于以预设风向为导向,计算从源数据到目标数据经过所述成本栅格图所形成的风影面积累计最小的路径。
实施例8:
作为实施例7的改进,本实施例还包括位置调整模块,位置调整模块在数据设定单元将进风部分的边缘栅格像元的中心点组成的矢量点集设定为源数据,将出风部分的边缘栅格像元的中心点组成的矢量点集设定为目标数据之前,用于调整成本栅格图的边界范围,使成本栅格图调整为包含城市建筑区的矩形,并使成本栅格图的一边与预设风向垂直。
进一步的,风影计算模块包括:投影映射单元,用于在预设风向的法向面上对单个网格内的每栋建筑物分别做投影,形成投影面;风影平移单元,用于将所有投影面沿预设风向平移至同一平面,形成风影面;风影计算单元,用于计算风影面的面积,风影面的面积即为单个网格内建筑在预设风向下的风影面积。
进一步的,风道计算模块在以预设风向为导向,计算经过成本栅格图所形成的风影面积累计最小的路径之前,还用于将栅格像元值中的零值替换为特定标记值。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换。