一种基础网格数据自动生成方法及装置
技术领域
本发明涉及城市网格化管理领域,更具体地说,涉及一种基础网格数据自动生成方法及装置。
背景技术
城市网格化管理是一种革命和创新,将过去传统、被动、定性和分散的管理,转变为今天现代、主动、定量和系统的管理,由网格员对辖区范围(网格)内的人、地、事、物、组织五大要素进行全面管理。基础网格数据作为城市社区服务管理的基本单元,显得尤其重要。
基础网格数据应遵守无缝拼接、边界可识别原则,即划分应尽可能以道路、围墙等明显特征地物作为分界;人文片区完整性原则,即如遇小区、商业片区等,尽可能完整;尊重现有基础网格原则,即已实行网格化管理存在原有基础网格数据的,需在此基础上微调;动态调整原则,即根据城市发展情况和实际工作需要,适时进行动态调整基础网格。
目前基础网格数据的生成及调整均是借助于GIS平台(比如GeoGlobe或ArcGIS等),并参考一定的基础数据(比如楼栋、道路、围墙等),进行传统的手动勾绘。这里还需要考虑两种情况:一种是第一次实行网格化管理,从0开始,需一一勾绘出区域内的所有基础网格数据;另一种是已实行过网格化管理,有一定的基础网格数据,需根据城市发展情况及实际工作情况,进行动态调整(部分勾绘)。
其具体方法步骤为:
(1)用户根据实际情况,如果没有原始基础网格数据则需创建对应的数据图层,并加载到地图(GIS平台)中;如果有原始基础网格数据则直接加载到地图中;
(2)加载最新的楼栋数据、道路数据、围墙数据等到地图中,作为参考数据;
(3)用户借助于参考数据,遵循以上提到的原则,手动勾绘基础网格的边界范围;
(4)完成基础网格数据的生成或调整。
传统手动勾绘进行基础网格数据的生成或调整的这种技术方法,效率低下,尤其是没有原始的基础网格数据,则需要从0开始,一个个勾绘,耗时耗力。
例如,以深圳市的某个区为例,该区有1450个基础网格,34275个楼栋,1803个路段。假设没有原始的基础网格数据,平均勾绘一个基础网格的时间为5分钟(经过实际测试),连续操作,仅勾绘完该区所有的基础网格数据就需120多个小时(人力连续投入);假设有原始的基础网格数据,以“深圳速度”,日常的手动维护调整累计起来也是非常大的投入成本。
从以上提到的“深圳”为例,可以看出现有技术的基础网格数据生成及调整方法,需要的成本高,而且由于作业人员对于GIS平台编辑功能的熟练程度不一样,往往导致最终形成的基础网格数据质量欠佳,数据准确度不高,整体不协调。
发明内容
本发明要解决的技术问题在于,针对现有技术中所存在的基础网格数据生成及调整效率低下、耗时耗力的问题,提供了一种基础网格数据自动生成方法及装置。
根据本发明的其中一方面,本发明解决其技术问题,所采用的基础网格数据自动生成方法包含如下步骤:
S1、基于楼栋、道路数据、围墙数据,采用膨胀及碰撞的思想,实现基础网格数据的初步批量自动生成:
首先,设置容差,确定最小栅格块的大小;
然后,将楼栋数据、道路路段数据、围墙数据进行栅格化,每个楼栋均是由紧挨着的连续的最小栅格块组成,然后设置同类型的楼栋的栅格块为同一种颜色值,不同类型的楼栋的栅格块颜色值不同;楼栋的类型根据所属网格员或楼栋网格名称进行确定;
其次,将所有楼栋的栅格块均以容差为步长,其他楼栋栅格块、道路路段栅格块、围墙栅格块作为膨胀阻塞块,往外不断的膨胀,直至和其他楼栋栅格块发生了碰撞或者和道路路段栅格块、围墙栅格块发生了碰撞,则发生碰撞的最小栅格块停止膨胀,每个碰撞形成的栅格块即为一个网格;
最后,将同颜色的栅格块进行矢量化,即为自动生成的初步的基础网格数据;
S2、基于已生成的初步的基础网格数据,进行自动优化,包括利用已有基础网格数据自动微调、平滑、抽稀,以提升基础网格数据的质量:
(1)利用已有基础网格数据自动微调
考虑到尊重现有基础网格原则,如果已有基础网格数据,则自动生成的基础网格数据必须在原有基础上进行微调,保证网格化管理的稳定性和延续性,具体原则如下:两个相邻的基础网格A、B,若A中的楼栋F的网格化管理职责需要调整到基础网格B中,则此时,基础网格A、B的边界范围需进行微调,微调包括如下步骤:
首先,将A、B网格的外接矩形进行合并,形成大的范围面C;
然后,根据S1中提到的膨胀碰撞,将范围面C作为碰撞阻塞的参考数据,系统自动生成网格A′和B′并不断膨胀,直至新生成的网格全部覆盖范围面C,此时碰撞完成,A′+B′=C;
最后,矢量化A′和B′,并分别和原有基础网格数据A、B进行求交运算,得出交集A″=A′∩A和B″=B′∩B,A″和B″即为遵循已有基础网格的原则下,进行自动微调形成的基础网格数据;
(2)数据平滑及抽稀处理:
由于基于栅格方式并矢量化后生成的初步基础网格数据拐角多不平滑且节点过多,整体较为复杂,不美观,所以,仍需在自动生成的初步基础网格数据的基础上,自动的进行平滑及抽稀;
自动平滑的方式包括:五点三次平滑、三点线性平滑、五点线性平滑和七点线性平滑;
抽稀是为了减少节点的数量,让基础网格数据看起来更简单,同时为了保证基础网格和已有参考数据的拓扑关系,具体采用的是类似穷举方式,将生成的基础网格数据节点逐一删除,删除时实时判断其拓扑关系,若拓扑关系不影响,则删除,否则保留;最后,所有保留的节点组成的多边形即为最终的基础网格数据。
进一步地,在本发明的基础网格数据自动生成方法中,步骤S1中所述楼栋的类型根据所属网格员或楼栋网格名称进行确定,而这些所属网格员或楼栋网格名称的初始来源是网格办或街道办内部进行网格化管理的相关数据收集而来。
进一步地,在本发明的基础网格数据自动生成方法中,在步骤S1中,在任意一个待进行基础网格数据自动生成的处理区域内,若楼栋间的最小间距为K米,则容差设置为w*K米,w∈(0.3,0.8)。
进一步地,在本发明的基础网格数据自动生成方法中,在所述基础网格数据自动生成方法所对应的程序启动后,在步骤S1之前还包括步骤:
S0、用户选择带进行基础网格数据自动生成的楼栋、道路、围墙数据以及已有基础网格数据;提供设置界面,用于提供给用户输入容差,以及选择楼栋聚类字段。
进一步地,在本发明的基础网格数据自动生成方法中,自动平滑具体采用的是五点三次平滑。
根据本发明的另一方面,本发明为解决其技术问题,还提供了一种基础网格数据自动生成装置,包含如下模块:
基础网格数据生成模块,用于基于楼栋、道路数据、围墙数据,采用膨胀及碰撞的思想,实现基础网格数据的初步批量自动生成,具体包含如下单元:
参数设置单元,用于设置容差,确定最小栅格块的大小;
栅格化处理单元,用于将楼栋数据、道路路段数据、围墙数据进行栅格化,每个楼栋均是由紧挨着的连续的最小栅格块组成,然后设置同类型的楼栋的栅格块为同一种颜色值,不同类型的楼栋的栅格块颜色值不同;楼栋的类型根据所属网格员或楼栋网格名称进行确定;
第一膨胀阻塞单元,用于将所有楼栋的栅格块均以容差为步长,其他楼栋栅格块、道路路段栅格块、围墙栅格块作为膨胀阻塞块,往外不断的膨胀,直至和其他楼栋栅格块发生了碰撞或者和道路路段栅格块、围墙栅格块发生了碰撞,则发生碰撞的最小栅格块停止膨胀,每个碰撞形成的栅格块即为一个网格;
初步生成单元,用于将同颜色的栅格块进行矢量化,即为自动生成的初步的基础网格数据;
优化处理模块,用于基于已生成的初步的基础网格数据,进行自动优化,包括利用已有基础网格数据自动微调、平滑、抽稀,以提升基础网格数据的质量:
(1)利用已有基础网格数据自动微调
考虑到尊重现有基础网格原则,如果已有基础网格数据,则自动生成的基础网格数据必须在原有基础上进行微调,保证网格化管理的稳定性和延续性,具体原则如下:两个相邻的基础网格A、B,若A中的楼栋F的网格化管理职责需要调整到基础网格B中,则此时,基础网格A、B的边界范围需进行微调,微调包括如下单元:
合并单元,用于将A、B网格的外接矩形进行合并,形成大的范围面C;
第二膨胀阻塞单元,用于根据基础网格数据生成模块中提到的膨胀碰撞,将范围面C作为碰撞阻塞的参考数据,系统自动生成网格A′和B′并不断膨胀,直至新生成的网格全部覆盖范围面C,此时碰撞完成,A′+B′=C;
微调完成单元,用于矢量化A′和B′,并分别和原有基础网格数据A、B进行求交运算,得出交集A″=A′∩A和B″=B′∩B,A″和B″即为遵循已有基础网格的原则下,进行自动微调形成的基础网格数据;
(2)数据平滑及抽稀处理:
由于基于栅格方式并矢量化后生成的初步基础网格数据拐角多不平滑且节点过多,整体较为复杂,不美观,所以,仍需在自动生成的初步基础网格数据的基础上,自动的进行平滑及抽稀;
自动平滑的方式包括:五点三次平滑、三点线性平滑、五点线性平滑和七点线性平滑;
抽稀是为了减少节点的数量,让基础网格数据看起来更简单,同时为了保证基础网格和已有参考数据的拓扑关系,具体采用的是类似穷举方式,将生成的基础网格数据节点逐一删除,删除时实时判断其拓扑关系,若拓扑关系不影响,则删除,否则保留;最后,所有保留的节点组成的多边形即为最终的基础网格数据。
进一步地,在本发明的基础网格数据自动生成装置中,基础网格数据生成模块中所述楼栋的类型根据所属网格员或楼栋网格名称进行确定,而这些所属网格员或楼栋网格名称的初始来源是网格办或街道办内部进行网格化管理的相关数据收集而来。
进一步地,在本发明的基础网格数据自动生成装置中,在基础网格数据生成模块中,在任意一个待进行基础网格数据自动生成的处理区域内,若楼栋间的最小间距为K米,则容差设置为w*K米,w∈(0.3,0.8)。
进一步地,在本发明的基础网格数据自动生成装置中,在所述基础网格数据自动生成方法所对应的程序启动后,在基础网格数据生成模块之前还包括模块:
数据录入模块,用于用户选择带进行基础网格数据自动生成的楼栋、道路、围墙数据以及已有基础网格数据;提供设置界面,用于提供给用户输入容差,以及选择楼栋聚类字段。
进一步地,在本发明的基础网格数据自动生成装置中,自动平滑具体采用的是五点三次平滑。
本发明提供了一种基础网格数据自动生成方法及装置,该方法及装置能够在遵循基础网格数据原则的前提下,根据参考数据(楼栋、道路路段、围墙),基于一定的规则及多种算法,软件自动生成基础网格边界,并维护其整体一致性,进而大幅度提升了基础网格数据的生成及调整,并解放了人力。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的基础网格数据自动生成方法一实施例的流程图;
图2是基础网格示意图;
图3是膨胀碰撞的原理图;
图4是已有基础网格及楼栋数据的示意图;
图5表示微调后的基础网格及楼栋数据的示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的基础网格数据自动生成方法与基础网格数据自动生成系统的技术方案的原理相同,下述仅仅针对基础网格数据自动生成方法进行说明,基础网格数据自动生成系统的原理可参考基础网格数据自动生成方法的具体实施例。
参考图1,其为本发明的基础网格数据自动生成方法一实施例的流程图。本实施例中,所采用的基础网格数据自动生成方法包含如下步骤:
S0、用户选择用于基础网格数据自动生成的楼栋、道路、围墙数据以及已有基础网格数据(可有可无);提供设置界面,用于提供给用户输入容差,以及选择楼栋聚类字段(一般是所属网格员或楼栋网格名称)。选择楼栋聚类字段的作用是为了将同类型的归为一个基础网格,其原理是属性聚类(即属性一样的为一类)。
S1、基于楼栋、道路数据、围墙数据,采用膨胀及碰撞的思想,实现基础网格数据的初步批量自动生成:
首先,设置容差,确定最小栅格块的大小;本子步骤以及之前的步骤的参数设置、选择后,由用户确认是否正确选择或者设置,以及用户是否取消,若是,则退出程序,若否,则继续后续步骤。容差越小越精确,但最终生成的性能也会随之降低。可依据实际数据情况进行合理的容差参数设置,在任意一个待进行基础网格数据自动生成的处理区域内,若楼栋间的最小间距为K米,则容差设置为w*K米,w∈(0.3,0.8),例如w=0.5。比如:楼栋间最小间距为8米,容差可设置为4米;
然后,将楼栋数据、道路路段数据、围墙数据进行栅格化,每个楼栋均是由紧挨着的连续的最小栅格块组成,然后设置同类型的楼栋的栅格块为同一种颜色值,不同类型的楼栋的栅格块颜色值不同;楼栋的类型根据所属网格员或楼栋网格名称进行确定,而这些所属网格员或楼栋网格名称的初始来源是网格办或街道办内部进行网格化管理的相关数据收集而来。
其次,将所有楼栋的栅格块均以容差为步长,其他楼栋栅格块、道路路段栅格块、围墙栅格块作为膨胀阻塞块,往外不断的膨胀,直至和其他楼栋栅格块发生了碰撞或者和道路路段栅格块、围墙栅格块发生了碰撞(遵循无缝拼接、边界可识别原则),则发生碰撞的最小栅格块停止膨胀,每个碰撞形成的栅格块即为一个网格。同类型的楼栋为同一个基础网格(遵循人文片区完整性原则),为了整体协调性,相邻的不同基础网格边界距离其内部最近楼栋的间距差距尽量不易过大,较为理想的基础网格数据如图2。
最后,将同颜色的栅格块进行矢量化,即为自动生成的初步的基础网格数据。
若存在原始的基础网格数据,则膨胀碰撞前,需将已有基础网格数据外接矩形合并后的范围作为膨胀阻塞块。
S2、基于已生成的初步的基础网格数据,进行自动优化,包括利用已有基础网格数据自动微调、平滑、抽稀,以提升基础网格数据的质量:
(1)利用已有基础网格数据自动微调
考虑到尊重现有基础网格原则,如果已有基础网格数据,则自动生成的基础网格数据必须在原有基础上进行微调,保证网格化管理的稳定性和延续性,具体原则如下:两个相邻的基础网格A、B,若A中的楼栋F的网格化管理职责需要调整到基础网格B中,则此时,基础网格A、B的边界范围需进行微调,微调包括如下步骤:
首先,将A、B网格的外接矩形进行合并(Union),形成大的范围面C;
然后,根据S1中提到的膨胀碰撞,将范围面C作为碰撞阻塞的参考数据(类似道路路段),系统自动生成网格A′和B′并不断膨胀,直至新生成的网格全部覆盖范围面C,此时碰撞完成,A′+B′=C;其中膨胀碰撞的原理图如图3所示;
最后,矢量化A′和B′,并分别和原有基础网格数据A、B进行求交(Intersect)运算,得出交集A″=A′∩A和B″=B′∩B,A″和B″即为遵循已有基础网格的原则下,进行自动微调形成的基础网格数据。
为了方便进一步理解基于已有基础网格数据自动微调,以本发明实际操作结果多对应的图4所示,其表示已有基础网格及楼栋数据。其中:红色框表示已有的基础网格数据,红色框内代表不同的楼栋数据,每个楼栋的GRIDCODE表示其聚类规则,即该值一样的楼栋需在一个基础网格内。此时,若根据城市发展需要,将其中一个(如图,选中的楼栋)楼栋,GRIDCODE更改为其他的,比如由440306011005001变更为440306011005007,此时基础网格数据应需同步调整,本发明会自动调整。
如图5所示,其表示自动调整后的基础网格及楼栋数据。可以看到,当选中的楼栋其GRIDCODE由440306011005001变更为440306011005007时,本发明已实现了自动的微调,且微调后的基础网格数据其他边界范围基本上直接延用之前的(即满足遵循已有基础网格的原则,并在此基础上自动微调)
(2)数据平滑及抽稀处理:
由于基于栅格方式并矢量化后生成的初步基础网格数据拐角多不平滑且节点过多,整体较为复杂,不美观,所以,仍需在自动生成的初步基础网格数据的基础上,自动的进行平滑及抽稀。
自动平滑的方式包括:五点三次平滑、三点线性平滑、五点线性平滑和七点线性平滑;本实施例采用的是五点三次平滑算法。
抽稀是为了减少节点的数量,让基础网格数据看起来更简单,同时为了保证基础网格和已有参考数据的拓扑关系,具体采用的是类似穷举方式,将生成的基础网格数据节点逐一删除,删除时实时判断其拓扑关系,若拓扑关系不影响,则删除,否则保留;最后,所有保留的节点组成的多边形即为最终的基础网格数据。
以上提到的步骤S1、步骤S2,所有的细节过程均可由软件自动实现,以达到最终自动生成所需基础网格数据的目的。
基于上述本发明提到的方法及装置,同样,以上述提到的深圳市的某个区为例,该区有34275个楼栋,1803个路段。本发明的方法及装置经过实际测试,自动生成该区的1450个基础网格数据所需时间为1.8小时(人工需120多个小时),效率提升66.7倍,而且装置自动处理过程中,不需要人工进行任何处理,可大幅度解放劳动力。
本发明基于基础网格数据原则,结合参考数据,实现了基础网格数据的自动生成及调整。本质上改变了原有的数据生产方式,大幅度减少了人工的投入,提升了基础网格数据形成的效率。因此本发明是一种高效的生产基础网格数据的方法及装置。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。