本发明涉及计算机图形处理技术领域,尤其涉及一种对不连接多边形紧凑程度的度量方法及系统。
背景技术:
多边形的空间分布形态是一个由不同性质的多边形各种排列组合所组成的复杂系统;多边形之间的相互作用推动了分布形态的动态发展,使不同的布局得以成形。多边形的空间分布形态在地理学中有着重要而广泛的应用,能够应用在地理要素选取、地理要素的评估、分区等方面,具体包括土地征用、景观生态、自然保护区选址和设计、城市规划和空间聚合等。例如,土地地块(一个地块在计算机里用一个多边形表达)就是一种典型的地理要素。由于自然的作用、人类的利用的影响,完整相连的土地逐渐细分为在几何上更为复杂的、分布更为分散的不连接地块。而在地理要素选取时往往要避开这些分散地块或者选择不那么分散的地块,为此,需要一种方法可以衡量这些不连地块的紧凑程度。
从广义上看,紧凑程度表示一种空间分布中各个多边形之间相互邻近的程度。从狭义上看,一种空间分布如果呈现为圆形或者正方形,则被认为是紧凑的。在地理学上,紧凑程度高的地方通常呈现出高效益、低利用成本的集聚效应;所以,紧凑程度有助于发挥土地在社会、经济和生态等方面的功能。
现有计算多边形紧凑程度的方法主要有两类,一类是基于几何参数的方法,如周长、周长面积比等;另一类是直接或间接描述紧凑程度的方法,包括分形维数、近圆指数、邻近度、核心面积、多边形数量、共边长度、连接度、聚集指数、聚合度、蔓延度等。由于现实中,道路、河流、行政边界等界线普遍存在于地理环境中,这些界线会对原本相互连接的地块进行分割,从而形成互不连接的多边形;现有的方法主要用于衡量单一多边形或相互相连接的多边形,缺点在于无法计算互不连接多边形的紧凑程度,无法比较不连接多边形不同空间分布的紧凑程度差异。
技术实现要素:
本发明的目的在于克服现有技术的不足,本发明提供了一种对不连接多边形紧凑程度的度量方法,可以准确的计算到多边形中互不连接多边形之间的紧凑程度。该方法适用于地理数据常用的矢量数据,具有结构紧凑、冗余度低、显示质量好的特点。
为了解决上述技术问题,本发明实施例提供了一种对不连接多边形紧凑程度的度量方法,所述方法包括:
获取预设区域内的不连接多边形集合;
对所述多边形集合内的所有多边形进行聚合处理,获取聚合后的单一多边形;
基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值;
基于所述加权聚合度和邻近度指数值获取多边形集合的紧凑程度。
可选的,所述对所述多边形集合内的所有多边形进行聚合处理,包括:
对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理。
可选的,所述对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理,包括:
判断多边形集合内的所有多边形数量是否大于1,若否,则完成聚合,获取聚合后的单一多边形;
若是,获取所有多边形集合内的各个多边形与其他多边形之间各个距离,并取各个距离中的最小距离形成最小距离集合;
取所述最小距离集合中的最大值最为初步聚合距离;
判断当前聚合是否为第一次聚合;
若是,则判断初步聚合距离是否等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将初步聚合距离之间的两个多边形的聚合距离设置为初步聚合距离;
根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集合并返回判断多边形集合内的所有多边形数量是否大于1步骤。
可选的,所述度量方法还包括:
判断当前聚合不是第一次聚合时,则判断初步聚合距离和上一次发生聚合的上次聚合距离否都等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将上次聚合距离提升30%获得聚合距离;
根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集合并返回判断多边形集合内的所有多边形数量是否大于1步骤。
可选的,所述基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:
基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集合总面积;
基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积;
根据各个多边形中心与其他多边形中心的距离最大值、多边形集合总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
可选的,所述基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集合总面积,包括:
根据所述多边形集合获取各个多边形中心与其他多边形中心的距离集合;
基于所述距离集合对各个多边形的面积进行计算,并进行累加处理,获得多边形集合总面积。
可选的,所述基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积,包括:
基于所述聚合后的单一多边形进行周长计算,获取聚合后的单一多边形的周长;
基于所述聚合后的单一多边形进行面积计算,获取聚合后的单一多边形的面积。
可选的,所述根据各个多边形中心与其他多边形中心的距离最大值、多边形集合总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:
基于所述聚合后的单一多边形的周长及聚合后的单一多边形的面积进行标准化的周长面积比计算,获取聚合后的单一多边形的标准化周长面积比;
基于所述聚合后的单一多边形的标准化周长面积比和所述多边形集合总面积进行多边形的权重计算,获取多边形的权重;
基于所述各个多边形中心与其他多边形中心的距离最大值进行多边形的邻近程度计算,获得多边形的邻近程度;
基于所述聚合后的单一多边形的标准化周长面积比、多边形的权重和多边形的邻近程度进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
在本发明实施例中,提供适用于矢量数据的方法,便于对实际地物(多边形)紧凑程度的计算;以准确的计算到空间分布中互不连接多边形之间的紧凑程度,符合目视的结果;紧凑程度为从0到1的无量纲量;适用于矢量数据,使得采用该度量方法所使用到的矢量数据结构紧凑、冗余度低;后期的通过矢量数据所表示的图形显示质量好、精度高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的对不连接多边形紧凑程度的度量方法的流程示意图;
图2是本发明实施例中的聚合后的单一多边形的示意图。
图3是本发明实施例中的多边形空间分布中互不连接多边形的聚合过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1是本发明实施例中的对不连接多边形紧凑程度的度量方法的流程示意图。
如图1所示,一种对不连接多边形紧凑程度的度量方法,所述方法包括:
s11:获取预设区域内的不连接多边形集合;
在本发明具体实施过程中,首先需要确定需要进行需要度量紧凑程度的区域,然后在该区域内,获得所有的多边形形成相应的多边形集合。
s12:对所述多边形集合内的所有多边形进行聚合处理,获取聚合后的单一多边形;
在本发明具体实施过程中,所述对所述多边形集合内的所有多边形进行聚合处理,包括:对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理。
进一步的,所述对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理,包括:
判断多边形集合内的所有多边形数量是否大于1,若否,则完成聚合,获取聚合后的单一多边形;若是,获取所有多边形集合内的各个多边形与其他多边形之间各个距离,并取各个距离中的最小距离形成最小距离集合;取所述最小距离集合中的最大值最为初步聚合距离;判断当前聚合是否为第一次聚合;若是,则判断初步聚合距离是否等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将初步聚合距离之间的两个多边形的聚合距离设置为初步聚合距离;根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集合并返回判断多边形集合内的所有多边形数量是否大于1步骤。
进一步的,所述度量方法还包括:判断当前聚合不是第一次聚合时,则判断初步聚合距离和上一次发生聚合的上次聚合距离否都等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将上次聚合距离提升30%获得聚合距离;根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集合并返回判断多边形集合内的所有多边形数量是否大于1步骤。
具体的,为了计算多边形中互不连接多边形的紧凑程度,本发明首先对空间分布中的不连接的多边形进行聚合,使之变成一个互相连接的完整的多边形,如图2所示,然后综合考虑聚合后和聚合前的空间分布,对不连接多边形组成的空间分布进行计算,聚合的方法不能够对原始空间分布产生过多的额外面积,以便维持原来空间分布的总体形状;连通的互相连接的完整多边形,可以通过比较原有形状和新聚合形状来计算紧凑程度。
聚合多边形集合中互不连接的多边形通过地图综合完成。利用聚合距离,并且满足特定距离值的多边形对之间才发生聚合;距离值从小开始逐渐有规律地递增,直至所有多边形都完成聚合,有利于确保聚合后生成的多边形维持原来的形状,如图2所示。
首先,输入多边形集合,判断多边形集合中的多边形数量是否大于1;若是,进行下一步;若否,则代表已聚合完成可以进行输出,然后结束;若多边形数量大于1,则需要根据其各个多边形与其他多边形边对边距离,取各个多边形之间形成的最小距离形成一个集合,取集合中的最大值,作为初步聚合距离(dmax)。
初次聚合时,聚合中若多边形间相接但未互相连通(则dmax=0),则将1赋予其聚合距离(dagg);其余情况下,将初步的聚合距离赋予聚合距离(dagg=dmax);非初次聚合时,多边形间相邻且距离上次发生聚合后未进行过聚合(dagg=dmax=0),则将1赋予其聚合距离(dagg);其余情况下,将上次的聚合距离提升30%(dagg=dagg*1.3)。
求解聚合距离后,根据聚合距离(dagg)对多边形进行聚合,直至判断多边形数量不再大于1,即可输出结果,结束。
上述聚合距离求解的算法思路如下:
①如果多边形数量n大于1,则:
②针对每个多边形,求其与其他多边形的边对边距离d1-2,d1-3,…,d1-n,取当中的最小值d1;比较各个多边形的最小值d1,d2,…,dn,取当中的最大值记为dmax;
③如果聚合次数为0,则:
④如果dmax=0(多边形间出现点相接但未互相连接),则:
⑤dmax=1;
⑥dagg=dmax;
⑦否则:
⑧如果dmax=0(多边形间相邻),则:
⑨如果dagg=0(多边形间相邻,距离上次发生聚合后未进行过聚合),则:
⑩dagg=1;
聚合的完整过程以实例形式展示如图3所示,空间分布(a)为原始多边形的分布情况,空间分布(b)中以斜线表示的为即将发生聚合的多边形,空间分布(c)、(d)分别为第一次、第二次聚合的结果,因聚合而产生的额外面积以深色表示;空间分布(a)至(b)的过程中,所求的聚合距离为0.309,涉及步骤①~③和⑥;空间分布(b)至(c)的过程就是第一次聚合的过程,即步骤
步骤④~⑤所指的多边形间出现点相接但未互相连接,指多边形集合中存在不连接多边形,但各个多边形之间有着相邻的关系,或是点相邻,又或是边相邻;这种情况下,直接赋予其聚合距离为1,有助于其顺利产生聚合;步骤⑧~⑩所指多边形间相邻且距离上次发生聚合后未进行过聚合的情况,赋予其聚合距离为1,同样有助于其顺利产生聚合。
步骤
步骤
s13:基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值;
在本发明具体实施过程中,所述基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集合总面积;基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积;根据各个多边形中心与其他多边形中心的距离最大值、多边形集合总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
进一步的,所述基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集合总面积,包括:根据所述多边形集合获取各个多边形中心与其他多边形中心的距离集合;基于所述距离集合对各个多边形的面积进行计算,并进行累加处理,获得多边形集合总面积。
进一步的,所述基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积,包括:基于所述聚合后的单一多边形进行周长计算,获取聚合后的单一多边形的周长;基于所述聚合后的单一多边形进行面积计算,获取聚合后的单一多边形的面积。
进一步的,所述根据各个多边形中心与其他多边形中心的距离最大值、多边形集合总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:基于所述聚合后的单一多边形的周长及聚合后的单一多边形的面积进行标准化的周长面积比计算,获取聚合后的单一多边形的标准化周长面积比;基于所述聚合后的单一多边形的标准化周长面积比和所述多边形集合总面积进行多边形的权重计算,获取多边形的权重;基于所述各个多边形中心与其他多边形中心的距离最大值进行多边形的邻近程度计算,获得多边形的邻近程度;基于所述聚合后的单一多边形的标准化周长面积比、多边形的权重和多边形的邻近程度进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
进一步的,所述基于所述聚合后的单一多边形的标准化周长面积比、多边形的权重和多边形的邻近程度进行加权聚合度和邻近度指数计算的计算公式如下:
wac=1/2(w×a c);
其中,wac表示加权聚合度和邻近度指数值,取值范围为0-1的无量纲量;w表示多边形的权重;a表示聚合后的单一多边形的标准化周长面积比;c表示观多边形的邻近程度。高wac值代表形状接近圆形、显得紧凑而且内部破碎化程度低;低wac值代表不规则的形状、显得不紧凑而且内部有破碎、相距较远的多边形组成。
具体的,在得到聚合后互相连接多边形后,可以开始wac(加权聚合度和邻近度指数值)的计算;在计算当中,wac考虑到了考虑到了整体和局部的特征,以及聚合前和聚合后的单一特征;wac是由三个部分组成的,分别是聚合后的单一多边形的标准化周长面积比、多边形的权重、观多边形的邻近程度;它对于这三者的结合,使得紧凑程度的计算更加可靠;为便于描述测量的方法,定义以下变量:a0=多边形集合总面积;a1=聚合后的单一多边形的面积;p1=聚合后的单一多边形的周长。
聚合后的单一多边形的标准化周长面积比的计算如下:
紧凑程度的第一个参数是聚合后的单一多边形的标准化周长面积比,基于以下假定:圆形是一个完美的紧凑图形;所以,本发明将聚合后的单一完整多边形与相同大小的圆形进行比较对于一个半径为r的圆形,其面积周长比是r/2;在这种情况下,这个圆形面积为a1,其面积为
在给定面积的前提下,圆形表示了面积与周长比的上界,用它来标准化比值;对于一个完美的圆形,a值为1;当形状变得不规则时,a值将下降;形状变得高度不规则时,a值不断趋于0。
多边形的权重的计算如下:
紧凑程度的第二个参数是多边形的权重;根据原始多边形占聚合后多边形面积的多少,对多边形的a值进行加权;利用多边形集合总面积(a0)和聚合后的单一多边形的面积(a1)的比值,能够进行简单的计算,公式如下:
w的值域是0至1;当多边形之间相隔远时,将生成一个相当大的新区域以形成聚合后的单一多边形,结果即w值变小;在另一方面,当多边形之间相隔近时,聚合的过程会增加一个较小的区域以聚合多边形,结果即w值变大。
观多边形的邻近程度的计算如下:
紧凑程度的第三个参数是观多边形的邻近程度;为此,假设一个理想状态:多边形的总面积分布在直径边上无限接近但不相接触的两个半圆中;设r为圆的半径,每个半圆在此圆上导出;半圆的几何中心和圆心的距离是4r/3π;因此,两个无限接近的半圆的几何中心的距离是8r/3π;采用各个多边形中心与其他多边形中心的距离最大值(d)的比值作为紧凑程度的第三个参数,公式如下:
c表示观多边形的邻近程度;以下有一些在实验中必须考虑到的特殊例子;例如,两个多边形当中,第一个较大而且里面有一个洞,第二个较小而且完全位于第一个中间的洞中;当两个多边形的质心都在同一个点上,d为0;因此,当d小于8r/3π时,令c为1;通过这样的处理,c值值域为0至1。
wac公式参数的计算步骤:
①输入多边形集合的多边形要素集和最终聚合后的单一多边形的要素;
②将多边形中各要素转化为点,求各点对点的距离,得到点对点距离的最大值;
③为要素集添加面积字段,并进行面积计算;
④为聚合后的单一多边形要素添加周长、面积两个字段,并分别进行计算,得到聚合后多边形的周长、面积;
⑤在上述四个变量计算完毕的前提下,进行wac的计算;
⑥为多边形要素集添加wac字段,并赋值wac;
⑦输出这个要素集。
s14:基于所述加权聚合度和邻近度指数值获取多边形集合的紧凑程度。
在本发明具体实施过程中,在获得加权聚合度和邻近度指数值之后,将该加权聚合度和邻近度指数值作为多边形集合的紧凑程度。
在本发明实施例中,提供适用于矢量数据的方法,便于对实际地物(矢量数据)紧凑程度的计算;以准确的计算到多边形中互不连接多边形之间的紧凑程度,符合目视的结果;紧凑程度为从0到1的无量纲量;适用于矢量数据,使得采用该度量方法所使用到的矢量数据结构紧凑、冗余度低;后期的通过矢量数据所表示的图形显示质量好、精度高。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种对不连接多边形紧凑程度的度量方法进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种对不连接多边形紧凑程度的度量方法,其特征在于,所述方法包括:
获取预设区域内的不连接多边形集合;
对所述多边形集合内的所有多边形进行聚合处理,获取聚合后的单一多边形;
基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值;
基于所述加权聚合度和邻近度指数值获取不连接多边形的紧凑程度。
2.根据权利要求1所述的度量方法,其特征在于,所述对所述多边形集合内的所有多边形进行聚合处理,包括:
对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理。
3.根据权利要求2所述的度量方法,其特征在于,所述对所述多边形集合内的所有多边形基于所有多边形之间的空间关系进行聚合处理,包括:
判断多边形集合内的所有多边形数量是否大于1,若否,则完成聚合,获取聚合后的单一多边形;
若是,获取所有多边形集合内的各个多边形与其他多边形之间的距离,并取各个距离中的最小距离形成最小距离集合;
取所述最小距离集合中的最大值最为初步聚合距离;
判断当前聚合是否为第一次聚合;
若是,则判断初步聚合距离是否等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将初步聚合距离之间的两个多边形的聚合距离设置为初步聚合距离;
根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集并返回判断多边形集合内的所有多边形数量是否大于1步骤。
4.根据权利要求3所述的度量方法,其特征在于,所述度量方法还包括:
判断当前聚合不是第一次聚合时,则判断初步聚合距离和上一次发生聚合的上次聚合距离否都等于0,若否,则将初步聚合距离之间的两个多边形的聚合距离赋值为1,否则将上次聚合距离提升30%获得聚合距离;
根据所述聚合距离进行对多边形进行聚合,获取聚合多边形集合并返回判断多边形集合内的所有多边形数量是否大于1步骤。
5.根据权利要求1所述的度量方法,其特征在于,所述基于所述多边形集合和所述聚合后的单一多边形进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:
基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集总面积;
基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积;
根据各个多边形中心与其他多边形中心的距离最大值、多边形集总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
6.根据权利要求5所述的度量方法,其特征在于,所述基于所述多边形集合获取各个多边形中心与其他多边形中心的距离最大值及多边形集总面积,包括:
根据所述多边形集合获取各个多边形中心与其他多边形中心的距离集合;
基于所述距离集合对各个多边形的面积进行计算,并进行累加处理,获得多边形集合总面积。
7.根据权利要求5所述的度量方法,其特征在于,所述基于所述聚合后的单一多边形获取聚合后的单一多边形的周长及聚合后的单一多边形的面积,包括:
基于所述聚合后的单一多边形进行周长计算,获取聚合后的单一多边形的周长;
基于所述聚合后的单一多边形进行面积计算,获取聚合后的单一多边形的面积。
8.根据权利要求5所述的度量方法,其特征在于,所述根据各个多边形中心与其他多边形中心的距离最大值、多边形集合总面积、聚合后的单一多边形的周长及聚合后的单一多边形的面积进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值,包括:
基于所述聚合后的单一多边形的周长及聚合后的单一多边形的面积进行标准化的周长面积比计算,获取聚合后的单一多边形的标准化周长面积比;
基于所述聚合后的单一多边形的标准化周长面积比和所述多边形集合总面积进行多边形的权重计算,获取多边形的权重;
基于所述各个多边形中心与其他多边形中心的距离最大值进行多边形的邻近程度计算,获得多边形的邻近程度;
基于所述聚合后的单一多边形的标准化周长面积比、多边形的权重和多边形的邻近程度进行加权聚合度和邻近度指数计算,获取加权聚合度和邻近度指数值。
技术总结