首页> 中国专利> 基于最短路径的土地资源评价因子作用域划分方法

基于最短路径的土地资源评价因子作用域划分方法

摘要

一种基于最短路径的土地资源评价因子作用域划分方法,包括对土地资源的评价空间范围进行离散,基于评价空间范围的道路网络构建道路网络数据集,道路网络数据集包括网络结点和网络边,将评价空间范围划分成若干个评价子区,查找网格集合G中每个网格所在的评价子区,查询获得各评价子区包含的网络结点和评价因子,查找网络结点集中每个网络结点最近的评价因子,然后查找网格集合G中每个网格最近的评价因子,将最近的评价因子相同的网格进行合并,得到相应的评价因子作用域。

著录项

  • 公开/公告号CN102637227A

    专利类型发明专利

  • 公开/公告日2012-08-15

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN201210087604.5

  • 申请日2012-03-29

  • 分类号

  • 代理机构武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人薛玲

  • 地址 430072 湖北省武汉市武昌珞珈山武汉大学

  • 入库时间 2023-12-18 06:16:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-20

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20131023 终止日期:20190329 申请日:20120329

    专利权的终止

  • 2013-10-23

    授权

    授权

  • 2012-10-03

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20120329

    实质审查的生效

  • 2012-08-15

    公开

    公开

说明书

技术领域

本发明属于土地资源评价因子作用域划分技术领域,特别是涉及一种基于最短路径的土地资源评价因子作用域划分方法。

背景技术

(1)土地资源评价技术

我国作为人口大国,土地资源相对稀缺,如何合理利用土地,实现土地资源的可持续利用是当前迫切需要解决的问题。采用科学的技术手段和方法对土地资源的质量进行评价,是促进土地资源合理利用、提高土地利用产出的必要途径。

根据联合国粮农组织FAO的定义,土地资源评价是指对土地针对特定的利用方式所表现出来的效果进行评估的过程,包括对土地的形态、土壤、植被、气候等方面属性进行质量综合鉴定,从而区分并比较不同土地利用方式对评价目标所表现出的适宜性程度。有关文献:[1]FAO.Land Evaluation.Towards a revised framework.2007.。在借鉴国外先进技术的基础上,我国已形成了包括针对农用地与建设用地的土地分等、定级、估价、土地适宜性评价等在内的符合当前国情需求的土地评价体系。

在进行评价土地资源质量时,对土地资源质量有着显著影响的各种因素实体如商服中心、集贸市场、灌溉水源、道路网络等对象,被定义为“土地资源评价因子”(简称为“评价因子”)。根据评价因子的空间影响特征不同,主要可分为“点状因子”、“线状因子”和“面状因子”。其中,“面状因子”(土壤条件、地质条件等)对土地资源质量影响的空间范围仅限于该评价因子的覆盖范围,其作用域就是该评价因子在土地资源评价范围内的空间区域;“点状因子”、“线状因子”对土地资源质量的影响则和空间距离存在较强关系,主要表现为评价因子对土地资源质量的影响随着空间距离的增加而不断减弱。因此,对于评价范围内的多个评价因子,某一土地总是受到距离其最近的评价因子的影响。这一规律在空间上表现为不同评价因子具有不同的空间作用域(作用范围)。对于“线状因子”(主要包括城镇土地评价中的道路交通网络、农用土地评价中的沟渠等)的影响可通过空间缓冲区分析得到其作用域。在其缓冲区范围内的土地资源质量受其影响,否则则不受其影响。而对土地资源质量评价中的“点状因子”(城镇土地评价中的学校、商服中心,农用土地评价中的水源、集贸市场等)的作用域的划分则相对复杂,其主要原因在于:点状因子对土地资源质量的影响往往依赖于某种特定的网络结构(道路交通网络、沟渠网络等),其作用强度不是沿着空间直线距离衰减,而是沿着网络路径距离进行衰减。因此,在划分其作用域时,通常需要采用基于路径距离的划分方式。本发明涉及的是针对土地资源质量评价中的“点状因子”作用域划分方法进行设计,下文提到的“评价因子”主要指“点状因子”。

(2)土地资源评价因子作用域划分技术

目前国内外关于“点状因子”作用域划分的方法主要可以分为如下3类:

1)根据克勒斯特勒“中心地理说”的圆结构,按照均衡覆盖的原则,采用公式计算各点状因子的作用域,其中D为因子的影响半径、n为评价因子的个数、S为评价范围的面积。该方法计算简单,是目前被广泛使用的方法,也是当前国内相关土地资源评价规程中推荐的方法。有关文献:[2]国家质量监督检验检疫总局.城镇土地分等定级规程(GB/T 18507-2001)[S].2001;有关文献:[3]国土资源部.农用地定级规程(TD/T1005-2004)[S].2003。然而,该方法并没有考虑评价因子的空间分布状况,也不能反应因子对土地资源质量影响随着路径距离衰减的特征,计算精度低,因子作用域划分不合理。

2)基于Voronoi图的评价因子作用域划分方法。该方法根据评价因子的空间分布状况,将土地评价空间范围划分成若干个Voronoi多边形,各因子生成的Voronoi多边形覆盖的范围就是改因子的作用域。有关文献[4]:胡石元,刘耀林.Voronoi图的扩展及其在土地定级因素影响半径确定中的应用[J].中国土地科学,2004(03).该方法计算相对复杂,但其计算过程考虑了评价因子的空间分布,相对于传统的简单算术方法更为合理,能够完整覆盖整个评价区域。然而,采用该方法进行评价因子作用域划分依然没有考虑路径因素,因而也不能反映因子对土地资源质量影响随着路径距离衰减的特征,具有一定的局限性。

3)基于路径距离的Voronoi图方法。该方法以网络为基础,在进行Voronoi划分时以网络上最短路径距离代替常规的空间直线欧氏距离。相对于前2种方法,该方法能够反映评价因子影响沿路径衰减的特征,也是目前实际应用中准确度最高的方法。有关文献[5]:祝国瑞,唐旭,王平.基于影响特征的点状定级因素分析[J].武汉大学学报(信息科学版)2004(03).有关文献[6]:谢顺平,冯学智,鲁伟.基于道路网络分析的Voronoi面域图构建算法[J].测绘学报.2010.39(01).然而,该方法通常需要采用栅格像元或矢量网格将土地评价范围进行离散,在此基础上划分评价因子的作用域。由于土地资源评价范围通常可达数十平方公里,而为了获得较高的计算精度,在对其进行离散时,栅格像元或矢量网格的大小通常为50-100米。因此计算涉及的像元或网格个数可达数十万,且需要反复进行路径查询,其计算量巨大。对于1个中等城市的单个评价因子作用域划分过程即需要计算3-4小时,而土地资源评价过程通常涉及10-20个评价因子,可见其计算过程非常耗时。因此,必须充分发挥计算机软硬件发展的最新成果,提高计算效率。

(3)并行计算技术

并行计算(也称为高性能计算、超级计算)是在并行计算平台下执行的计算。采用并行计算的主要目的在于提高计算机解决问题的速度和规模。有关文献[7]:龙柏.并行计算平台上的数据索引技术研究[D].中国科学技术大学.2011.随着计算机软硬件技术的快速发展,网格、多核处理器、集群、桌面超级计算机、云计算等先进计算设施先后出现,为提高大规模计算问题的求解速度和效率提供了重要的技术支撑。此外,个人计算机上的CPU也日益朝着多核化的方向发展(从双核、四核、八核向更多核数发展),使得并行计算的硬件成本更加低廉。另一方面,OpenMP、MPICH、OpenMPI、MapReduce等并行编程规范的出现,也大大降低了并行软件开发的门槛。因此,如何充分利用多核CPU的计算能力,提高大规模计算问题的求解速度和效率,是未来程序开发和科学计算中面临的主要问题。

但在土地资源评价因子作用域划分技术领域,尚未有相应技术方案出现。

发明内容

针对现有的基于最短路径的土地资源评价因子作用域划分方法中存在的低效、耗时等问题,本发明对现有划分方法进行改进,并设计符合并行运算要求的空间数据分解策略,实现土地资源评价因子作用域划分的并行化。在此基础上充分挖掘多核计算机的资源潜力,提高土地资源评价因子作用域划分过程的效率,缩短工作时间。

本发明提供的技术方案是一种基于最短路径的土地资源评价因子作用域划分方法,包括以下步骤:

步骤1,对土地资源的评价空间范围进行离散,得到整个评价空间范围的网格集合G;

步骤2,基于评价空间范围的道路网络构建道路网络数据集,道路网络数据集包括网络结点和网络边,道路网络数据集中所有网络结点构成网络结点集;

步骤3,基于评价空间范围和道路网络,将评价空间范围划分成若干个评价子区,构成的评价子区集合记为Ps;

步骤4,查找网格集合G中每个网格所在的评价子区,包括对网格集合G和评价子区集合Ps进行叠置,获得每个网格所在评价子区的编号PID;

步骤5,对于评价子区集合Ps中每个评价子区分别进行空间查询,获得各评价子区包含的网络结点和评价因子;

步骤6,查找网络结点集中每个网络结点最近的评价因子,然后在网络结点中记录下最近的评价因子的编号FID及与最近的评价因子的路径距离Dis;

步骤7,查找网格集合G中每个网格最近的评价因子,包括遍历网格集合G,对于其中的任一个网格g执行以下子步骤,

步骤7.1,根据步骤4的查找结果,获得网格g所在评价子区的编号PID,将网格g所在评价子区记为评价子区P;

步骤7.2,根据步骤5的查询结果,获得评价子区P所包含的网络结点和评价因子;若评价子区P包含了评价因子,执行步骤7.3,若评价子区P不包含评价因子,执行步骤7.4,

步骤7.3,比较网格g和评价子区P包含的各评价因子的直线距离,并记录下最近的评价因子的编号FID,对网格g处理结束;

步骤7.4,遍历评价子区P包含的所有网络结点,计算网格g和各网络结点中记录的最近的评价因子的距离D,比较并记录下与网格g最近的评价因子的编号FID,对网格g处理结束;遍历时进行计算的方式为,设遍历到的网络结点为J,计算网格g和网络结点J的距离d1,然后根据步骤6的查找结果获得网络结点J最近的评价因子的编号FID及与最近的评价因子的路径距离d2=Dis,计算D=d1+d2;

步骤8,根据步骤7所得网格集合G中每个网格最近的评价因子,将最近的评价因子相同的网格进行合并,得到相应的评价因子作用域。

而且,步骤6中,查找某个网络结点最近的评价因子实现方式为,采用Dijkstra算法计算网络结点与评价空间范围中所有评价因子的路径距离,从中获得距离最近的评价因子。

而且,步骤1的实现方式为,按照评价空间范围所在最小外包矩形进行平均分割,得到若干空间分区,并将各空间分区分配到不同的线程上单独计算生成规则的网格;最后将各空间分区的网格进行合并,得到整个评价空间范围的网格集合G。

而且,步骤4的实现方式为,查找网格集合G中每个网格所在的评价子区,将评价子区集合Ps划分成若干个评价子区子集,从网格集合G中分离每个评价子区子集相应的分区网格子集,将各评价子区子集和相应分区网格子集分配到不同的线程上单独执行叠置,获得分区网格子集中各网格所在评价子区的编号PID;最后将各评价子区子集的叠置结果进行合并,得到网格集合G中每个网格所在评价子区的编号PID。

而且,步骤5的实现方式为,将评价子区集合Ps划分成若干个评价子区子集,将各评价子区子集分配到不同的线程上单独执行空间查询,获得评价子区子集中各评价子区包含的网络结点和评价因子;最后将各评价子区子集的空间查询结果进行合并,得到评价子区集合Ps中每个评价子区包含的网络结点和评价因子。

而且,步骤6的实现方式为,将网络结点集平均划分成若干个网络结点子集,并分配到不同的线程上单独查找网络结点子集中每个网络结点最近的评价因子,然后在网络结点中记录下最近的评价因子的编号FID及与最近的评价因子的路径距离Dis;最后将各网络结点子集的查找结果合并,得到网络结点集中每个网络结点最近的评价因子。

而且,步骤7的实现方式为,将网格集合G平均划分成若干个网格子集,并分配到不同线程上单独对网格子集中的网格执行子步骤7.1~7.4,得到网格子集中每个网格最近的评价因子;最后将各个网格子集的执行结果合并,得到网格集合G中每个网格最近的评价因子。

相对于国内外已有的基于最短路径的评价因子作用域划分方法,本发明根据新的数据结构和计算并行化的基本要求,重新设计了评价因子作用域划分的流程。本发明还提供了利于最短路径查询的数据结构,降低数据之间的依赖和关联程度,使之更适合于并行处理,同时也能提高最短路径查询的效率。本发明还设计了合理的数据分解策略,实现了土地资源评价因子作用域划分方法的并行化,能充分发挥多核个人计算机、小型工作站、共享存储的集群等并行计算机的处理能力,提高工作效率。本发明的技术方案具有简单、快速的特点,能够较好地提高土地资源评价中点状因子作用域划分过程的运行效率。

附图说明

图1本发明实施例的流程图;

图2本发明的土地资源评价空间范围的离散网格化示意图;

图3本发明实施例的土地资源评价空间范围的并行化离散示意图;

图4本发明实施例的道路网络构建示意图;

图5本发明实施例的评价空间区域分割示意图;

图6本发明实施例的网格拓扑关系构建示意图;

图7本发明实施例的评价子区域拓扑构建示意图;

图8本发明实施例的网络结点的最近评价因子查询示意图;

图9本发明实施例的网格的最近评价因子查询方法流程图;

图10本发明实施例的执行最近因子查询后的网格状态效果图;

图11本发明实施例的图例基本数据情况示意图;

图12本发明实施例的图例评价范围离散化结果示意图;

图13本发明实施例的图例道路网络构建结果示意图;

图14本发明实施例的图例评价范围分割与评价子区构建结果示意图;

图15本发明实施例的图例评价因子作用域划分结果对比图。

具体实施方式

本发明设计的基于最短路径的土地资源评价点状因子作用域的划分方法流程见附图1,可由本领域技术人员采用计算机软件技术实现流程自动运行。其中步骤(1)-(3)为整个流程的基础数据预处理阶段。实施例具体实现过程如下:

步骤1,对土地资源的评价空间范围进行离散,得到整个评价空间范围的网格集合G。

网格采用矢量矩形进行存储。网格越小,则计算精度越高,计算量越大;反之,计算精度越低,计算量越小。通常在进行土地资源评价时采用50*50或100*100米的网格对评价空间区域进行离散。如图2,对土地资源的评价空间范围进行离散,得到整个评价空间范围的网格集合G。

由于此步骤中网格数量可达数十万个,计算量较大,通常是土地资源评价过程中比较耗时的计算步骤,因此可将评价空间范围按坐标分割成若干个空间分区,再将其分配到不同的线程(进程)上单独的执行离散操作,这种数据分解并行处理提高了效率,最终将各线程(进程)的离散化结果进行合并,就得到整个评价空间范围的网格集合G,如图3:按照评价空间范围所在最小外包矩形进行平均分割,得到若干空间分区,并将各空间分区分配到不同的线程上单独计算生成规则的网格;最后将各空间分区的网格进行合并,得到整个评价空间范围的网格集合G。实施例是按最小外包矩形的水平方向等距分割,具体实施时也可以采用其他方案,例如按垂直方向等距分割。

步骤2,基于评价空间范围的道路网络构建道路网络数据集,道路网络数据集包括网络结点和网络边,道路网络数据集中所有网络结点构成网络结点集。

实施例在此步骤根据土地资源的评价空间范围内的道路网络,构建道路网络数据集。道路网络数据集可用于计算评价空间范围内任意一点到评价因子的之间的最短路径距离,主要由网络结点和网络边组成,网络边上存储了与之相邻的结点信息、边的长度、网络的方向等信息。网络结点存储了与之相邻的网络边信息。网络构建的效率较高,对于一个大型城市的道路网络构建通常也不超过1分钟即可完成。故此步骤作为评价因子作用域划分的基础数据准备工作,主要借助现有软件(如ArcGIS)提供的接口实现,不作为本发明的关注重点。如图4,从网络边E1、E2、E3、E4、E5构成的道路网络中,构建的道路网络数据集还包括了网络结点N1、N2、N3、N4、N5、N6。

步骤3,基于评价空间范围和道路网络,将评价空间范围划分成若干个评价子区,构成的评价子区集合记为Ps。

实施例根据道路网络和评价空间范围的多边形,将土地资源的评价空间范围划分成若干个独立的子区域,为后续步骤的数据分解并行做好基础数据准备。由于此步骤作为评价因子作用域划分的基础数据准备工作,且计算过程较短,主要借助现有的软件(如ArcGIS)提供的接口实现,不作为本发明的关注重点。其基本原理见图5:根据道路,对评价空间范围进行了分割。

步骤4,查找网格集合G中每个网格所在的评价子区,包括对网格集合G和评价子区集合Ps进行叠置,获得每个网格所在评价子区的编号PID。

实施例在本步骤进行网格拓扑构建。将步骤1中离散得到的网格和步骤3中得到的评价子区进行空间叠置,获得各网格中心所在评价子区的编号。如图6:基于道路网格划分的子区域编号为1、2、3、4、5、6、7、8、9、10、11、12,按子区域分解且并行执行与步骤1所得原始网格(即网格集合G)的叠置,最后合并得到叠置后的网格。

具体实施时,可在网格信息中设置“PID”字段,将该编号存储于网格的“PID”字段中。

由于步骤3已将评价空间范围分割成了多个评价子区。因此本步骤也可以通过数据分解的方式以评价子区为单位,分别分配到不同的线程(进程)上单独执行。实施例查找网格集合G中每个网格所在的评价子区,将评价子区集合Ps划分成若干个评价子区子集,从网格集合G中分离每个评价子区子集相应的分区网格子集,将各评价子区子集和相应分区网格子集分配到不同的线程上单独执行叠置,获得分区网格子集中各网格所在评价子区的编号PID;最后将各评价子区子集的叠置结果进行合并,得到网格集合G中每个网格所在评价子区的编号PID。

步骤5,对于评价子区集合Ps中每个评价子区分别进行空间查询,获得各评价子区包含的网络结点和评价因子。

实施例在本步骤进行评价子区拓扑构建。将步骤3得到的评价子区分别和步骤2中的网络结点以及评价因子进行空间叠置,查询评价子区包含的网络结点和评价因子。如图7,设评价子区5、评价子区8在并行的执行查询计算后,评价子区5上有网络结点1、2、3、4;评价子区8上有网络结点3、4、5、6、7、8,并含有评价因子1。

具体实施时,可在存储评价子区信息的数据结构中设置“NIDs”字段和“FIDs”字段,将网络结点存储于“NIDs”字段中,评价因子存储于“FIDs”字段中。若某评价子区中的网络结点包含多个,则各网络结点的编号NID之间采用“,”分割的方式组成字符串进行存储。若评价因子也包含多个,可采用同样的方式进行存储。

本步骤可采用和步骤4相同的并行策略,将评价子区集合Ps划分成若干个子集,每个数据集中包含一个或者若干个评价子区。为一个子集分配一个线程,对子集中的评价子区逐个在线程(进程)上执行空间查询。例如,将200个评价子区分解到10个线程执行时,就一共有10个子集,每个子集包含20个多边形。实施例将评价子区集合Ps划分成若干个评价子区子集,将各评价子区子集分配到不同的线程上单独执行空间查询,获得评价子区子集中各评价子区包含的网络结点和评价因子;最后将各评价子区子集的空间查询结果进行合并,得到评价子区集合Ps中每个评价子区包含的网络结点和评价因子。

步骤6,查找网络结点集中每个网络结点最近的评价因子,然后在网络结点中记录下最近的评价因子的编号FID及与最近的评价因子的路径距离Dis。

实施例查询距离每个网络结点的最近的评价因子,并将在该结点处记录最近评价因子的编号FID。具体实施时,可以遍历每个网络结点,遍历过程中采用现有的Dijkstra算法(迪杰斯特拉算法)计算当前遍历到的网络结点与所有评价因子的路径距离,从中获得距离该网络结点最近的评价因子。如图8,对一个简化了的道路网络上的某一网络结点的最近因子查询过程为,网络结点1周围有评价因子1、2、3,通过Dijkstra算法,查询得到其中最近的是评价因子1,且距离为31.8。

具体实施时,可在存储网络结点信息的数据结构中设置字段“FID”和“Dis”,在网络结点的属性字段“FID”中记录下距离其最近的评价因子的编号(FID)、在“Dis”字段中存储网络结点与评价因子的路径距离(Dis)。

对于一个中等城市,其道路网络结点规模通常在1000个左右,且各网络结点的最近评价因子查询的过程是一个相对独立的过程,非常适合并行处理。因此可采用数据分解并行的方法,将网络结点集分解成若干子集,并分配到不同线程(进程)上并行执行。本步骤不必按照评价子区进行划分。实施例查找时将网络结点集平均划分成若干个网络结点子集,并分配到不同的线程上单独查找网络结点子集中每个网络结点最近的评价因子,然后在网络结点中记录下最近的评价因子的编号FID及与最近的评价因子的路径距离Dis;最后将各网络结点子集的查找结果合并,得到网络结点集中每个网络结点最近的评价因子。

步骤7,查找网格集合G中每个网格最近的评价因子。

实施例遍历网格集合G。设遍历到的任一网格记为g,执行以下子步骤:

步骤7.1,根据步骤4的查找结果,获得网格g所在评价子区的编号PID,将网格g所在评价子区记为评价子区P;

步骤7.2,根据步骤5的查询结果,获得评价子区P所包含的网络结点和评价因子;若评价子区P包含了评价因子,执行步骤7.3,若评价子区P不包含评价因子,执行步骤7.4,

步骤7.3,比较网格g和评价子区P包含的各评价因子的直线距离,并记录下最近的评价因子的编号FID,对网格g处理结束;

步骤7.4,遍历评价子区P包含的所有网络结点,计算网格g和各网络结点中记录的最近的评价因子的距离D,比较并记录下与网格g最近的评价因子的编号FID,对网格g处理结束;遍历时进行计算的方式为,设遍历到的网络结点为J,计算网格g和网络结点J的距离d1,然后根据步骤6的查找结果获得网络结点J最近的评价因子的编号FID及与最近的评价因子的路径距离d2=Dis,计算D=d1+d2。

具体实施时,可在存储网格的数据结构中设置字段“FID”和“Dis”,将最近评价因子的编号FID存储在该网格的属性字段“FID”中,并将网格与最近评价因子之间的距离存储于“Dis’字段中。查找网格集合G中每个网格最近的评价因子时,也可以利用之前存储在数据结构中的信息,相应流程如图9:

对当前遍历到的网格g开始处理,包括提供该网格给定的网格编号GID;

根据网格g的“PID”属性值获得网格g所在的评价子区P;

根据评价子区P的”NIDs”和“FIDs”属性值,获得评价子区P所包含的网络结点集N和评价因子集F;

判断评价因子集F是否为空;是则执行②,否则执行①。

①为计算网格g与评价因子集F中各评价因子的直线距离,取出与网格g最近的评价因子,记为f。最后将网格g与评价因子f的直线距离存入网格的”Dis”字段,将评价因子f的FID属性值存储进网格的g”FID”字段。如图9中举例,评价子区有网络结点3、4、5、7...,其中有评价因子1,网格1与评价因子1的直线距离最近,存入网格1的”Dis”字段。

②分别计算网格g与网络结点集N中各网络结点之间的直线距离d1、获得各网络结点与其最近评价因子的距离d2、计算网格g距离评价因子的距离D=d1+d2。从中找出最短路径上的网络结点n,以网络结点n的”FID”属性中存储的最近评价因子的编号FID作为网格g最近的评价因子f。最后将网格g与评价因子f的距离存入网格g的”Dis”字段,将评价因子f的编号FID存储进网格g的”FID”字段。如图9中举例,评价子区有网络结点1、2、3、4,其中没有评价因子,网格到网络结点1、2、3、4的距离分别记为d1(1)、d1(2)、d1(3)、d1(4),网络结点1到与其距离最近的评价因子的距离记为d2(1)、网络结点2到与其距离最近的评价因子的距离记为d2(2)、网络结点3到与其距离最近的评价因子的距离记为d2(3)、网络结点4到与其距离最近的评价因子的距离记为d2(4),找出d1(1)+d2(1)、d1(2)+d2(2)、d1(3)+d2(3)、d1(4)+d2(4)中的最小者并存入网格的”Dis”字段,相应网络结点的”FID”属性中存储的因子编号作为当前最近的对象f。

计算效果见图10:设初始状态下道路网络中有评价因子1、2,经过以上查询处理后,计算得到的网格状态中,最近的评价因子为评价因子1的网格都存储编号1,最近的评价因子为评价因子2的网格都存储编号2。

由于网格数量通常可达数十万,按照传统的方法串行逐个计算最短路径并进行路径距离比较,效率十分低下,此计算过程在土地资源评价因子作用域划分过程中所消耗的时间通常可占整个计算过程的80%以上。由于各个网格查找最近评价因子的过程也是相对独立的,因此同样可对将网格集合G划分成若干个子集,并分配到不同线程上单独执行以上子步骤进行分解,以提高计算效率,缩短计算时间。本步骤不必按照评价子区进行划分。实施例将网格集合G平均划分成若干个网格子集,并分配到不同线程上单独对网格子集中的网格执行子步骤7.1~7.4,得到网格子集中每个网格最近的评价因子;最后将各个网格子集的执行结果合并,得到网格集合G中每个网格最近的评价因子。

步骤8,根据步骤7所得网格集合G中每个网格最近的评价因子,将最近的评价因子相同的网格进行合并,得到相应的评价因子作用域。

实施例根据步骤7所得网格集合G中每个网格最近的评价因子的编号FID进行查询,将FID属性值相同的网格进行合并,即可得到各评价因子作用域多边形,整个计算过程结束。由于具体实施时,本步骤中的查询可以完全基于关系数据库进行查询,因而效率较高,故无需进行并行化操作即可完成。

本发明中涉及的主要数据对象有道路网络数据集(包括网络结点和网络边)、网格、评价子区。为便于实施参考起见,本发明建议的数据结构为:1)道路网络数据集以ESRI(美国环境系统研究所公司)的Network Dataset(网络数据集)数据模型为基础,在此基础上对网络结点的数据结构进行扩展;2)网格对象,是按照固定的距离对土地资源评价空间范围离散得到的矩形网格;3)土地资源评价子区,依据土地资源评价范围和道路网络构建封闭的多边形,从而将整个评价区域在空间上划分为若干个独立的子区,从而为算法的并行做好数据分解准备。

实施例为可以并行执行的步骤选择了分别相应的最简分解方案,具体实施时也可采用其他分解方案。具体分解子集的数目、运行线程并行的数目与实际运算能力等有关,用户也可以根据具体情况设置。

为了提高流程执行效率、降低数据之间的依赖关系,本发明实施例对3类对象(网络结点、网格、评价子区)的数据结构进行扩展后,如下表所示:

为便于说明发明效果起见,本发明以某个城镇土地资源评价中的点状因子“集贸市场”的作用域划分过程作为图例,通过编写计算机程序并在一个4核CPU的个人计算机上完成并行计算。其基础数据有:土地资源评价范围、评价区的交通道路网络、集贸市场位置。如图11所示。按照本发明所提供的流程步骤依次执行:

(1)根据土地资源评价范围,按照100*100米的大小生成网格,并生成相应的属性字段结构,结果见图12:属性字段结构包括GID、Shape、PID、FID、Dis,GID字段用于存储网格的编号,Shape字段用于存储了网格的几何对象的X,Y坐标。几何对象是ESRI的Polygon(多边形)模型。

(2)采用ESRI的Network dataset网络数据集模型构建道路网络数据集,并按照本发明的设计,对网络结点的数据结构进行扩展,添加“FID”,“Dis”字段;结果见图13:属性字段结构包括NID、SHAPE、PID、FID、Dis,NID字段存储当前网络结点的编号ID,Shape字段用于存储网络结点的X,Y坐标,点采用ESRI的点(Point)模型。

(3)依据道路网络和评价范围进行空间区域分割,并按照本发明的设计,添加“FIDs”,“NIDs”字段;结果见图14:属性字段结构包括PID、SHAPE、FID、NIDs、FIDs,PID字段存储评价子区编号,SHAPE存储评价子区所有网络结点的X,Y坐标。

(4)将评价子区集合Ps划分成若干个评价子区子集,将网格根据其所在的评价子区进行数据分解,并分配到不同的线程上单独执行,将评价子区的PID编号赋给其包含的网格对象。

(5)将评价子区集合Ps划分成若干个评价子区子集,并分配到不同的线程上单独执行,分别计算各评价子区内所包含的网络结点和评价因子。

(6)将网络结点集分解,并分配到不同的线程上单独执行,计算距离各网络结点最近的评价因子。其中最短路径的搜索采用Dijkstra算法实现。

(7)对网格集合进行分解,分配到不同的线程上单独执行。根据网格与评价子区、网络结点、评价因子之间的拓扑关系,查找与其路径距离最短的评价因子,并记录其FID。

(8)根据网格对象的“FID”进行查询,将具有相同FID属性值的网格对象进行合并,最终得到基于最短路径距离的评价因子作用域。结果见图15中(a)部分所示。

其中(4)、(5)都是按照评价子区进行分解。但计算的对象不同,分解的数据集对象不一样,分解的依据都是根据对象所在的评价子区:(4)操作的是网格对象,(5)操作的是评价子区。

采用现有技术基于直线距离的评价因子划分结果如图15中(b)部分所示。相对于基于直线距离的评价因子划分结果,由本发明方法得到的结果显然更加符合现实规律。且经过并行效率测试,本发明设计的方法相对于传统的串行处理方法,并行效率可达70-80%,在多核环境下能幅度缩短计算时间,提高工作效率。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号