一种目标点位置的确定及数据检查方法、装置与流程

文档序号:11774537阅读:220来源:国知局
一种目标点位置的确定及数据检查方法、装置与流程
本发明涉及数据处理
技术领域
,特别涉及一种目标点位置的确定及数据检查方法、装置。
背景技术
:目前,对移动通信系统内的业务位置数据的质量检查方案如下:1、手工提供业务位置数据的数据模板如下表1所示,表1中包含信息点名称、地址、经度、维度;表1:信息点名称经度维度地址2、自行定义检查位置;如重新设定检查规则,需进行二次开发;3、遇到位置偏移的情况,需要进行多方论证与核验,甚至实地考察。现有技术至少存在以下不足:1.完全需要手工进行数据的比对与核查,耗时耗力,且无法精确定位到具体的地理位置信息;2.对于信息点偏移的情况,需要进行多方反复检查,甚至实地考察;3.对于多种类型的位置情况,例如是否在某范围内数据,是否超过临界点数据等,无法准确判断。技术实现要素:本发明提供了一种目标点位置的确定及数据检查方法、装置,用以提供一种快速处理地理位置信息的方案。本发明实施例中提供了一种目标点位置的确定方法,包括:确定检查精度;确定与所述检查精度匹配的矢量数据;从矢量数据中选择面数据;根据目标点位置的数据,以及各面数据,确定目标点位置位于的面,该面是目标点位置位于的各个面中最小的面。本发明实施例中提供了一种目标点数据检查方法,在确定目标点位置位于的面后,包括:确定所述面中的各坐标点;将目标点位置的坐标与各坐标点进行比对检查;确定不能与各坐标点匹配的目标点数据为错误数据。本发明实施例中提供了一种目标点位置的确定装置,包括:精度确定模块,用于确定检查精度;矢量数据确定模块,用于确定与所述检查精度匹配的矢量数据;面数据确定模块,用于从矢量数据中选择面数据;面确定模块,用于根据目标点位置的数据,以及各面数据,确定目标点位置位于的面,该面是目标点位置位于的各个面中最小的面。本发明实施例中提供了一种目标点数据检查装置,在确定目标点位置位于的面后,包括:坐标点确定模块,用于确定所述面中的各坐标点;目标点确定模块,用于将目标点位置的坐标与各坐标点进行比对检查;检查模块,用于确定不能与各坐标点匹配的目标点数据为错误数据。本发明有益效果如下:由于在本发明实施例提供的技术方案中,从矢量数据中选择出面数据,然后确定出目标点所归属的最小的面;进而在目标点数据检查中,只需与面中的各坐标点进行比对检查,即可利用点面包含关系,用最小的面与点进行比较, 便可验证出该点是否包含在面内,由于目标点仅需要与一个面进行比较,所以可以大大节省检查时间。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明实施例中目标点位置的确定方法实施流程示意图;图2为本发明实施例中目标点数据检查方法实施流程示意图;图3为本发明实施例中最小面判断位置的算法形成的位置数据质量检测模型结构示意图;图4为本发明实施例中基于gis的位置数据检查实施流程示意图;图5为本发明实施例中目标点位置的确定装置结构示意图;图6为本发明实施例中目标点数据检查装置结构示意图。具体实施方式由于现有技术需要手工进行数据的比对与核查,耗时耗力,且无法精确定位到具体的地理位置信息;对于信息点偏移的情况,需要进行多方反复检查,甚至实地考察;对于多种类型的位置情况,例如是否在某范围内数据,是否超过临界点数据等,无法准确判断。基于此,本发明实施例中将构建位置数据质量检查的核心算法(即支持各种检查规则的算法);进而基于位置数据质量核心算法,形成可用于每次数据质量检查工作的定制化数据质量模型,生成具体的检查规则;最后,利用位置数据质量检查装置的技术原理,可执行数据检查,并可对检查不通过的数据进行校验,使得校准后的数据能够成为可靠的业务位置数据。下面结合附图对本发明的具体实施方式进行说明。实施中,采用的各种数据将以gis(geographicinformationsystem,地理信息系统)的数据为例 进行说明,但是容易理解,所有的地理信息系统都是由数据组成的,不同在于数据的组成方式以及信息的构成方式不同,但这些不同并不影响对本发明实施例中提供的技术方案的实施,因此,将主要以gis为例来进行说明以使本领域技术人员了解如何实施本发明实施例中提供的技术方案。图1为目标点位置的确定方法实施流程示意图,如图所示,可以包括:步骤101、确定检查精度;步骤102、确定与所述检查精度匹配的矢量数据;步骤103、从矢量数据中选择面数据;步骤104、根据目标点位置的数据,以及各面数据,确定目标点位置位于的面,该面是目标点位置位于的各个面中最小的面。为了提高定位的精度,本发明实施例中首先提出了一种目标点位置的确定方案,该方案用最小面判断位置算法,该算法利用点面包含关系,用最小的面与点进行比较,查看该点是否包含在面内,进而确定目标点位置,为便于描述及理解,实施中将该方案称为“最小面判断位置算法”,实施中具体可以为:在实施步骤101确定检查精度时,所述检查精度是预先设置的,或,所述检查精度是根据目标点位置的数据精度确定的。具体的,检查精度可以预先设置,也可以先识别待检查的位置数据的精度,将识别出的精度确定为检查精度。在实施步骤102获取与检查精度匹配的矢量数据时,与检查精度匹配的矢量数据可以是数据精度小于或等于所述检查精度的矢量数据。具体的,可以将精度不高于检查精度的矢量数据均确定为匹配的矢量数据,也可以将精度与检查精度相同的矢量数据确定为匹配的矢量数据。其中,优选矢量数据为面数据。在实施步骤103从矢量数据中选择面数据时,在确定矢量数据后,根据待检查的位置数据的地理坐标,从确定的矢量数据中挑选用于检查的面。例1:若待检查的位置数据的地理坐标位于某一面中,则选择该面,若待检查的位置数据的地理坐标位于多个面间,则选择该多个面。或者,将待检查 的位置数据的地理坐标扩大预设距离,选择扩大后范围内涉及的所有面。例2:根据移动业务点数据质量检查规则,所有进入参考的面应该从大到小为包含关系。根据此方法,可先检查所有进入参考的面的包含关系,并根据包含关系将进入参考的面按由小到大排序;当被检查数据在最小进入参考的面中时,认为检查通过,否则依次取出较大的面进行匹配来获取被检查数据的错误描述。在步骤104的实施中,根据面的大小,从最小面开始判断待检查的位置数据是否位于面内。在实施中,至少可以将步骤103中确定的面和待检查的位置数据输入如下公式中,即可获得待检查的位置数据是否被面包含,以及被哪个面包含。算法公式:{min(s(polygon(i=0,n))}∩point。其中polygon(i=0,n)为输入的n个面,s为面的面积,min为获取最小的面,point为待检查的位置数据。通过该算法,先检查待检查的位置数据是否在最小面内,若在最小面内,则输出xx点在最小面内,结束检查流程;若不在最小面内,则选择次小面,检查待检查的位置数据是否在次小面内,若在次小面内,则输出xx点在次小面内,结束检查流程;若不在次小面内,则重复执行读次次小的面,检查待检查的位置数据是否在次次小面内的过程;最终数据结构可能有如下两种:xx点在某面内;xx点不在任何输入的面内。其中,由于gis特性,点若在最小面内,则该点一定在其他的面内。该方案的优势在于,如果检查结果为“通过”,目标点仅需要与一个面进行比较,在保证匹配准确性和精度的同时大大节省时间。下面用实例说明以便于理解。对于所提供的数据要求精度不高的情况下,例如可能提供的xx区,那就从某某区开始判断,只要在某某区了,输出就是成功。利用该规则节省判断时间,提高判断效率。具体结果如表2所示。表2:业务数据类型数据名称经度维度最小面最大面集团xx集团xxx.xxxxx.xx位于位于下面对基于最小面判断位置算法进行目标点数据检查的实施进行说明。图2为目标点数据检查方法实施流程示意图,如图所示,在按图1所述的方法确定目标点位置位于的面后,可以包括:步骤201、确定目标点位置位于的面;步骤202、确定所述面中的各坐标点;步骤203、将目标点位置的坐标与各坐标点进行比对检查;步骤204、确定不能与各坐标点匹配的目标点数据为错误数据。实施中,基于最小面判断位置的算法可以形成位置数据质量检测模型,例如在具体实践中,图3为最小面判断位置的算法形成的位置数据质量检测模型结构示意图,如图所示,在模型输入部分输入目标点的数据名称、经纬度、业务类型等描述信息,经过基于最小面判断位置的算法以及下面还会说明的算法排除算法、自定义算法、基本匹配算法等进行质量检测后,就可以实现接收用户输入、匹配标准对象输入,将用户匹配标准对象转换成标准空间数据,根据业务类型,使用算法,通过组装成进行具体检查所使用的质量检查模型进行数据检查。在具体实施中,分析用户输入获得目标点位置的坐标,设置匹配对象,也即面中的各坐标点,可以如下:接收用户待检查位置数据,包含经纬度和名称信息,并转换成空间数据进行存储。接收匹配标准对象输入,若基本匹配标准算法不能满足质量检测需求,用户可自定义输入匹配标准对象,把用户输入匹配标准对象转换成匹配标准空间数据。根据模型输入,匹配算法。使用“最小面判断位置”算法,进行点的算法匹配:依据业务类型,检查被匹配标准对象例如a,参照匹配的标准对象例如b,使用geometry.rings[0],获取a点经纬度数据集合l[n]。从集合l[n]中依次获取l[1]、l[2]、......、l[n],与b中各个面对象进行st_within运算,从b中找出包含l[n]中任意一个点的面的集合s[m]。从集合s[m]中依次取出s[1]、s[2]、......、s[m],比较其与a1的面积,若a1的面积最大,则a为大范围面,否则b为大范围面。实施例中用以说明的st_within是arcgis自带的操作函数,geometry是arcgis中的图形对象,rings[0]是geometry的经纬度数组属性。需要说明的是,本申请中使用的这些命令语句的使用或者含义可以参见具体的操作手册,它们的含义或者使用、或者表达会因版本、软件出版商而有不同,实施例中使用这些命令具体的表达是为了更好的是本领域技术人员了解如何实施,但并不意味着只有如此使用这些命令才能实现本发明实施例提供的技术方案,本领域技术人员在进行实践时应该通过相应的技术手册、产品说明书等做出相应的改进。为了更加准确的判断位置,在使用“最小面判断位置”算法后,还可以再应用其他算法进行校正,下面进行说明。1、在目标点位置的坐标与某坐标点匹配后,根据该坐标点的描述信息修正目标点的描述信息。具体的,设定参照点,判断该点位于参照点的哪个方向:先确定两个点的经纬度,如果b点在a点的东北方:夹角α的正切值:tanα=[111×经度差×cos(b的纬度)]/[110×纬度差],arctanα就是所求夹角;如果b在a的东南方,也按照上式求出α,然后用180°减去α就是要求的夹角;如果b在a的西南方,把求出的α加上180°就是要求的夹角;如果b在a的西北方,就用360°减去求出的α。具体结果如表3所示。表3:点名称参照点α东面西面南面背面ab90°否是否否2、确定目标点位置不可能出现的坐标点,当目标点位置的坐标出现在所述不可能出现的坐标点上时,确定该目标点数据为错误数据。具体的,可以设定参照面,例如:湖泊、道路,应用排除法判断位置是否准确:参照点与湖泊、道路:使用st_within函数判断点、线、面判断与湖泊、道路的关系,包含三种关系:相交、相离、包含。如果st_within函数判断结果为1,则该点、线、面与湖泊/道路的关系为“包含”;如果st_within函数判断结果为0,则则该点、线、面判断与湖泊、道路的关系为有两种:相交、相离;此时,计算相交对象的面积,如果等于0是相离,大于0则是相交。3、自定义算法设置匹配标准对象和匹配算法进行自定义算法的应用,即允许用户自定义匹配标准对象,自动生成匹配算法,再由用户选择运算规则,最终生成检查算法,运算规则是“位于/不位于”。即第一步需由用户选择基本图层或者自定义图层,第二步选择运算类型(位于、不位于),即可生成一个检查算法。4、确定目标点位置的坐标对应的坐标点的描述信息,以及目标点的描述 信息,当目标点的描述信息与对应的坐标点的描述信息不一致时,确定该目标点数据为错误数据。例如:基本匹配算法:基本匹配算法包含有省份匹配算法、地市匹配算法、区县匹配算法、小区匹配算法、道路匹配算法、河流匹配算法;其所使用的核心算法为:点面匹配算法、点线匹配算法与点点匹配算法;根据基本匹配算法,在匹配中使用地理对象,与运算规则(位于/不位于)结合,可生成检查算法。实施中,将目标点位置的坐标与各坐标点进行比对检查,具体可以如下:1)点面匹配算法(包含省份匹配、地市匹配、区县匹配、小区/网格匹配等算法):点面匹配,选择st_within函数进行匹配,首先根据要素生成参数,x和y表示经纬度;其中,g1为被匹配对象,g2为匹配的标准对象;g1表现形式为sde.st_geometry('point(g1.x,g1.y)',srid),g2表现形式为sde.st_geometry('polygon(g2.x1,g2.y1g2.x2,g2.y2g2.x3,g2,y3)',srid),点面匹配表达式为:sde.st_within(g1,g2)。2)点线匹配算法(包含道路匹配、河流匹配等算法):g1表现形式为sde.st_geometry('point(g1.x,g1.y)',srid),g2表现形式为sde.st_geometry('linestring(g2.x1,g2.y1g2.x2,g2.y2)',srid),点线匹配表达式为:sde.st_within(g1,g2)。3)点点匹配算法(点)g1表现方式为sde.st_geometry('point(g1.x,g1.y)',srid),对于参数g2的处理:首先将点对点的匹配升级到点和面的匹配,根据业务特点,因不可能存在匹配两个完全相同点的情况,故需根据g2点的经纬度坐标生成一个缓冲区sde.st_buffer(sde.st_geometry('point(g2.x,g2.y)',srid),distance),其中distance为生成缓冲区的半径距离;点点匹配表达式为:sde.st_within (g1,sde.st_buffer(sde.st_geometry('point(g2.x,g2.y)',srid),distance))。利用上述算法即可生成质量检查规则,选择一个或多个匹配标准对象,为每个匹配标准对象设定检查规则,即检查算法=匹配标准对象+检查规则+检查参数。关于匹配对象:只有省份图层、地市图层、区县图层、小区图层、道路图层、河流图层等gis地图基础poi匹配标准对象可设置检查参数,若不设置默认查找整个匹配标准对象。检查规则包括两种:位于(1)/不位于(0),使用st_within函数根据检查规则生成检查算法。若检查规则设置成位于(1),则sde.st_within(位置数据,匹配标准对象)返回1算通过;否则返回0算不通过。下面用实例对基于上述位置数据质量检查模型的位置数据检查的实施进行说明。图4为基于gis的位置数据检查实施流程示意图,如图所示,具体流程可以如下:第一步:获取业务位置数据;第二步:将业务位置数据放入位置数据检查模型中,生成应用于本次模型检查所对应的质量检查规则第三步:应用质量检查规则,执行数据检查,返回结果为通过或者第几步不通过。第四步:执行数据匹配,根据“最小面判断位置是否准确的算法”,精准匹配执行顺序,点-》线-》-小范围面》,进行位置匹配,返回精确地理位置(xx省xx市xx区xx小区)。应用举例:应用基于gis的位置数据质量检查方案检查移动渠道的数据质量:输入一批移动渠道位置数据,设置每步检查参数:省份检查算法参数:河南省地市检查算法参数:郑州市区县检查算法参数:市区执行检查模型,具体结果如表4所示。表4:在检查过程中可以利用最小面判断位置算法形成数据质量检查模型的核心验证数据质量是否通过及第几步不通过,并精确匹配出具体的地理位置信息。基于同一发明构思,本发明实施例中还提供了一种目标点位置的确定装置、一种目标点数据检查装置,由于这些装置解决问题的原理与一种目标点位置的确定方法、一种目标点数据检查方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。图5为目标点位置的确定装置结构示意图,如图所示,包括:精度确定模块501,用于确定检查精度;矢量数据确定模块502,用于确定与所述检查精度匹配的矢量数据;面数据确定模块503,用于从矢量数据中选择面数据;面确定模块504,用于根据目标点位置的数据,以及各面数据,确定目标点位置位于的面,该面是目标点位置位于的各个面中最小的面。实施中,精度确定模块进一步用于采用预先设置的检查精度,或,采用根 据目标点位置的数据精度确定的检查精度。实施中,矢量数据确定模块进一步用于采用数据精度小于或等于所述检查精度的与所述检查精度匹配的矢量数据。图6为目标点数据检查装置结构示意图,如图所示,在确定目标点位置位于的面后,可以包括:坐标点确定模块601,用于确定所述面中的各坐标点;目标点确定模块602,用于将目标点位置的坐标与各坐标点进行比对检查;检查模块603,用于确定不能与各坐标点匹配的目标点数据为错误数据。实施中,,检查模块进一步用于确定目标点位置不可能出现的坐标点,当目标点位置的坐标出现在所述不可能出现的坐标点上时,确定该目标点数据为错误数据;确定目标点位置的坐标对应的坐标点的描述信息,以及目标点的描述信息,当目标点的描述信息与对应的坐标点的描述信息不一致时,确定该目标点数据为错误数据。实施中,,检查模块进一步用于在目标点位置的坐标与某坐标点匹配后,根据该坐标点的描述信息修正目标点的描述信息。为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。综上所述,在本发明实施例提供的技术方案中提供了:最小面判断位置算法,可精确判断用户输入的数据质量是否通过,并匹配出具体的地理位置信息;支持对算法进行自定义,即通过设置匹配目标对象和运算规则,自动生成检查算法,不需要进行二次开发;利用位置数据质量检查算法,可根据用户的输入,组装成用于本次检查所使用的质量检查模型,生成检查规则(检查算法+检查参数+执行顺序);支持对已生成的检查模型进行算法增删和顺序调整;应用检查模型所生成的质量检查规则,对位置数据的质量进行检测,可得出是否质量是否通过、不通过的具体过程。根据数据质量结果,按照匹配规则及质量检查规则中的设定参数,可精确匹配出具体的地理位置信息。在方案中,利用位置数据质量检查核心算法:利用最小面判断位置是否准确的算法,利用点面包含关系,用最小的面与点进行比较,可验证该点是否包含在面内;如果验证通过,点仅需要与一个面进行比较,大大节省时间。位置数据质量检查核心算法-范围排除算法,利用特殊面进行排除,及重合度等因素进行判定,可作为数据质量检查的有效手段之一。位置数据质量检查核心算法-基本匹配算法,分别提供了点面匹配、点线匹配、点点匹配的算法,为gis行业的位置数据质量检查提供了规范化的检查标准。围绕位置数据质量检查核心算法,所组装的位置数据质量检查模型,可针对不同的用户输入,提供个性化的质量检查规则。按照数据质量检查结果,及质量检查规则中所设定的参数,根据执行匹配所使用的规则,可精确匹配出具体的地理位置信息。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一 个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1