一种基于矢量地图数据模型的城市层次化区域划分方法_3

文档序号:9469720阅读:来源:国知局
步骤309-步骤313所作操作与步骤304-步骤308对应,将属于多边形区域内或者边界上的点,添加到新的图结构2中。
[0073]步骤314将得到的(新的图结构1,多边形区域I)与(新的图结构2,多边形区域
2)作为结果返回。
[0074]在进行一次区域划分之后,可得到一级区域,此时区域粒度较大,仍需要进行二级区域划分。图5是对城市进行二级划分的流程图,首先根据一级道路数据将城市划分为一级区域,然后遍历所有的一级区域,提取出该区域下的二级道路数据,应用区域划分算法,便可划分出该区域下的二级区域,从而构成城市区域的层次结构,具体过程如下:
[0075]程序经过初始化步骤401之后,
[0076]步骤402输入任意一个多边形区域,并定义道路类型为一级道路,输入到图2所示的流程和图3所示的流程进行处理,得到城市的一级区域,从而完成对城市的一级划分,步骤403继续对城市进行二级划分,遍历所有的一级区域,此时定义道路类型为二级道路,输入到图2所示的流程和图3所示的流程进行处理,从而得到所有该区域下的二级区域,步骤405保存结果并结束程序。
[0077]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于矢量地图数据模型的城市层次化区域划分方法,其特征在于,所述方法包括如下步骤: (1)对需要进行划分的区域,构建对应的路网图结构与多边形边界数据:首先输入需要进行划分的城市区域,然后从城市路网数据中提取出该区域下对应道路等级的路网数据,并计算出道路的交点,然后合并距离小于阈值的道路以便将一条路的两条不同方向的车道合并,并提取中间点以便简化计算,最后输出简化后的图结构数据与多边形边界数据; (2)根据路网图结构与多边形边界数据构建对应的图结构与边界多边形,寻找一条路径并应用图分割算法,将原来的多边形一分为二,并且在新生成的多边形中继续寻找路径进行图分割,直到所有多边形都不可分割时,从而找到所有的封闭区域; (3)根据一级道路数据将城市划分为一级区域,然后遍历所有的一级区域,提取出该区域下的二级道路数据,应用区域划分算法,划分出该区域下的二级区域,从而构成城市区域的层次结构。2.如权利要求1所述的方法,其特征在于,所述步骤(I)具体包括: 步骤101、获得欲进行划分的城市区域与用来进行区域划分的道路类型,其中城市区域表示为地图上任意GPS点序列组成的简单多边形,道路类型根据等级从大到小分别有:主干线trunk、高速公路motorway、公路primary、城市道路secondary、林区道路track ; 步骤102、使用PostGIS函数ST_intersect1n从数据库中提取出该区域下的对应道路类型的路网数据; 步骤103遍历道路中的任意两条道路,使用ST_intersect1n计算出其交点,并分别添加到两条道路对应的位置中; 步骤104对步骤103得出的道路数据构造图结构进行存储,图结构使用邻接链表表示法,在每条道路的点序列中,任意相邻两点组成图中的一条边,遍历所有道路的点序列,即构造成了原始的图结构; 步骤105对图结构中距离较近的结点进行合并,其方法为遍历图中所有的结点对,将距离较近的结点进行合并,取其中点; 步骤106提取出道路的中间点,只保留道路与道路之间的交点,方法为遍历图中的所有结点,提取出所有度为2的结点,从而简化道路从交点到交点之间的点序列,即只保留道路交点作为图结构的结点,交点与交点与间的中间点序列作为交点的附加属性; 步骤107将得到的简化的图结构和其所属的多边形区域即区域边界作为结果返回。3.如权利要求1或2所述的方法,其特征在于,所述步骤(2)具体包括: 步骤202将步骤I得到的图结构数据与多边形边界数据作为步骤203的输入; 步骤203使用自定义Dijkstra单源点最短路径搜索算法,在原始Dijkstra算法的基础上,增加边界点序列作为输入,搜索路径时不经过所有在边界上的边,遍历边界上的点作为源点,寻找一条由该源点到边界上另外一点的路径,此路径不包含在边界上的边; 步骤204,判断是否找到一条路径,如果没有找到路径则进入步骤205,如果找到一条路径,则进入步骤206 ; 步骤205判定该边界为一不可再分的封闭多边形区域,将其添加到结果集中,并结束图分割; 步骤206沿着找到的路径将图结构分割为两部分,分别为图结构I与多边形区域1,和图结构2与多边形区域2,然后分别输入到步骤202进行迭代运算。4.如权利要求3所述的方法,其特征在于,所述步骤206中将图结构分割为两部分,具体为:在一个带有区域边界的图结构中,首先将原来的区域边界沿着该路径分割为两个新多边形边界,然后遍历图结构中所有的点和边,判断点和边属于哪个多边形,并添加到对应的多边形图结构中,从而将图结构也一分为二。5.如权利要求4所述的方法,其特征在于,所述步骤206具体包括: 步骤301以步骤I得到的图结构数据与多边形边界数据,以及步骤206找到的路径作为数据输入; 步骤302将边界沿着路径,生成两个新的边界,即多边形边界I和多边界形边界2 ;步骤303将图结构进行分割,属于多边形区域I内以及边界上的点,将组成新的图结构1,属于多边形区域2以及边界上的点,将组成新的图结构2。6.如权利要求5所述的方法,其特征在于,所述步骤303具体包括如下子步骤: 步骤3031遍历图结构中的所有结点; 步骤304判断该点是否在多边形区域中或者其边界上,如果是则进入步骤305 ; 步骤305将该点添加到新的图结构I中; 步骤306遍历该结点的所有邻接边; 步骤307判断该邻接边的中点是否在多边形区域I中或者其边界上,如果是则转步骤308 ; 步骤308将该边添加到新的图结构I中; 步骤309-步骤313所作操作与步骤304-步骤308对应,将属于多边形区域内或者边界上的点,添加到新的图结构2中。7.如权利要求1或2所述的方法,其特征在于,所述步骤3具体包括如下子步骤: 输入任意一个多边形区域,并定义道路类型为一级道路,根据步骤(I)和步骤(2)进行进行处理,得到城市的一级区域,从而完成对城市的一级划分;继续对城市进行二级划分,遍历所有的一级区域,此时定义道路类型为二级道路,根据步骤(I)和步骤(2)进行进行处理,从而得到所有该区域下的二级区域。
【专利摘要】本发明公开了一种基于矢量地图数据模型的城市层次化区域划分方法,包括:对需要进行划分的区域,构建对应的路网图结构与多边形边界数据;根据路网图结构与多边形边界数据构建对应的图结构与边界多边形,寻找一条路径并将原来的多边形一分为二,并且在新生成的多边形中继续寻找路径进行图分割,直到所有多边形都不可分割;根据一级道路数据将城市划分为一级区域,然后遍历所有的一级区域,提取出该区域下的二级道路数据,应用区域划分算法,划分出该区域下的二级区域,从而构成城市区域的层次结构。本发明方法使用图结构对矢量地图数据进行存储,所有运算均基于矢量数据,可完整地保留地图的原始数据,且可以无失真地对数据进行处理。
【IPC分类】G01C21/32
【公开号】CN105222793
【申请号】CN201510699987
【发明人】吴宏伟, 涂来, 周婷, 赵思
【申请人】华中科技大学
【公开日】2016年1月6日
【申请日】2015年10月23日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1