本发明涉及数据处理技术领域,具体而言,涉及一种空间数据处理方法、装置、计算机设备及存储介质。
背景技术:
空间信息(spatialinformation)是反映地理实体空间分布特征的信息。空间信息借助于空间信息载体(图像和地图)进行传递。空间信息只有和属性信息、时间信息结合起来才能完整地描述地理实体。利用“数字地球”理论,基于遥感、gis、虚拟仿真、网络、数据库及多媒体等关键技术,深度开发和利用空间信息,建设服务于城市规划、建设、管理;服务于政府、企业、公众;服务于人口、资源环境、经济社会的可持续发展的信息基础设施和信息系统。
实际使用场景中,空间信息的空间数据的数据量往往比较大,其中一些位置点的空间数据会由于环境或者工具的限制导致获取难度大,或者获取的空间数据出现异常,对于这类空间数据,通常采用插值法估计其值,对在样点的预设范围内的空间数据未知的未知点,利用插值法得到的该未知点的空间数据较为准确,与实际接近,而对于距离样点预设范围外的未知点的空间数据,利用插值法得到的该未知点的空间数据不准确,与实际相差较大。
技术实现要素:
本发明的目的在于提供了一种空间数据处理方法、装置、计算机设备及存储介质,对于未在预设范围内的空间数据未知的未知点,通过引入信息点poi(pointofinformation,poi),将poi和空间数据已知的已知点的空间数据进行结合以得到较为准确的未知点的空间数据。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种空间数据处理方法,应用于计算机设备,计算机设备预先存储有多个簇,每一簇包括多个空间数据已知的已知点和至少一个空间数据未知的未知点,所述方法包括:获取多个簇中的目标簇及目标簇中的目标未知点;判断目标未知点是否在目标簇中已知点的预设范围内;若目标未知点未在预设范围内,则依据目标簇中每个未知点的预设范围内的预设信息点poi及目标簇中已知点的空间数据,得到目标未知点的空间数据。
第二方面,本发明提供一种空间数据处理装置,应用于计算机设备,计算机设备预先存储有多个簇,每一簇包括多个空间数据已知的已知点和至少一个空间数据未知的未知点,所述装置包括:获取模块,用于获取多个簇中的目标簇及目标簇中的目标未知点;判断模块,用于判断目标未知点是否在目标簇中已知点的预设范围内;处理模块,用于若目标未知点未在预设范围内,则依据目标簇中每个未知点的预设范围内的预设信息点poi及目标簇中已知点的空间数据,得到目标未知点的空间数据。
第三方面,本发明提供一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述的空间数据处理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的空间数据处理方法。
相对于现有技术,对于未在预设范围内的空间数据未知的未知点,本发明通过引入poi,将poi和空间数据已知的已知点的空间数据进行结合以得到较为准确的未知点的空间数据。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种空间数据处理方法的流程图。
图2示出了本发明实施例提供的另一种空间数据处理方法的流程图。
图3示出了本发明实施例提供的目标未知点与已知点的预设范围相对位置的示例图。
图4示出了本发明实施例提供的另一种空间数据处理方法的流程图。
图5示出了本发明实施例提供的空间数据处理装置的方框示意图。
图6示出了本发明实施例提供的计算机设备的方框示意图。
图标:10-计算机设备;11-处理器;12-存储器;13-总线;14-通信接口;100-空间数据处理装置;110-获取模块;120-判断模块;130-处理模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
地理空间中处于某些位置的点的空间数据未知至少包括两种情况:(1)空间数据的缺失,其原因可能是受该点所处的地形、环境的限制、或者受测量工具的限制,导致该点的空间数据无法测量或者无法获取,最终导致空间数据的缺失;(2)空间数据的异常,其原因可能是由于测量工具存在问题,或者测量过程中出现错误、或者对于测量或者获取到的空间数据未加以妥善存储和维护,导致该空间数据出现异常。对于前一种情况,通常采用技术手段得到缺失处的空间数据,然后将该空间数据补充至缺失处,对于后一种情况,通常采用技术手段得到异常处的空间数据,根据得到的空间数据对异常的空间数据进行校正。
上述中的技术手段通常是插值法,插值法是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,计算在其他点处的值。距离加权插值是常用的一种插值方法,也可以称为距离倒数乘方法。是指距离倒数乘方格网化方法是一个加权平均插值法,可以进行确切的或者圆滑的方式插值。方次参数控制着权系数如何随着离开一个格网结点距离的增加而下降。对于一个较大的方次,较近的数据点被给定一个较高的权重份额,对于一个较小的方次,权重比较均匀地分配给各数据点。计算一个格网结点时给予一个特定数据点的权值与指定方次的从结点到观测点的该结点被赋予距离倒数成比例。
由于该插值法是通过距离衰减的方式实现对未知点值的插值,只有距离样点一定范围内的插值结果值才跟实际结果比较符合,其它地方预测点的栅格值在大片区域内都几乎等值,此时的插值结果是不准确的,由此得到的空间数据也是不准确的。
为了解决上述问题,发明人提出一种空间数据处理方法、装置、计算机设备及存储介质,可以得到较为准确的空间数据,下面将对此进行详细描述。
请参考图1,图1示出了本发明实施例提供的一种空间数据处理方法的流程图,该方法包括以下步骤:
步骤s100,获取多个簇中的目标簇及目标簇中的目标未知点。
在本实施例中,将空间数据未知的所有未知点和空间数据已知的所有已知点按照预设的聚类算法将其划分为多个簇,其中,聚类算法可以、但不限于k-means、层次聚类、谱聚类等。可以根据未知点和已知点的不同属性特征对其进行聚类,得到多个簇,同一个簇中的未知点和已知点的属性特征也比较接近,例如,属性特征可以是空间经纬度,此时,同一个簇中的未知点和已知点的空间位置比较接近,当然也可以采用其他的属性特征,例如地形特征、人口密度等。
在本实施例中,空间数据可以是地表温度、高楼风力、人口数量,甚至可以是土地价值等。本发明实施例提供的空间数据处理的方法可以对未知点的此类空间数据进行计算。
在本实施例中,目标未知点为需要计算其空间数据的未知点,目标未知点所属的簇为目标簇。
需要说明的是,为了避免异常的空间数据影响结果的准确性,通常情况下会对获取到的原始空间数据中的离群值进行清洗,即排除掉原始空间数据中的异常空间数据,原始空间数据中除了异常空间数据,剩余的为正常的空间数据,再用这些正常的空间数据对缺失空间数据的点或者空间数据异常的点的空间数据进行计算,最终得到这些点对应的比较准确的空间数据。
步骤s110,判断目标未知点是否在目标簇中已知点的预设范围内。
在本实施例中,预设范围可以是以已知点为中心的预设几何形状覆盖的区域范围,预设几何形状可以是规则的圆形、正方形、也可以是不规则的预设形状。
在本实施例中,目标未知点在目标簇中已知点的预设范围可以是目标未知点在目标簇中任意一个已知点的预设范围,也可以是目标未知点在目标簇中任意两个已知点的预设范围的重叠区域。
步骤s120,若目标未知点未在预设范围内,则依据目标簇中每个未知点的预设范围内的预设信息点poi及目标簇中已知点的空间数据,得到目标未知点的空间数据。
在本实施例中,poi是指在地图上任何非地理意义的有意义的点,比如楼宇、店铺、公交站、绿地、公园、商店,酒吧,加油站,医院,车站等。
在本实施例中,可以对每个未知点的预设范围内的poi进行统计,得到poi的个数,利用每一个数及目标簇中已知点的空间数据,计算目标未知点的空间数据,也可以首先计算每一未知点的预设范围内的poi的密度,poi的密度可以是单位区域内的poi的个数,利用每一密度及目标簇中已知点的空间数据,计算目标未知点的空间数据。
本发明实施例提供的上述空间数据处理方法,对于未在预设范围内的空间数据未知的未知点,通过引入poi,将poi和空间数据已知的已知点的空间数据进行结合以得到较为准确的未知点的空间数据。
在图1的基础上,本发明实施例给出了一种判断目标未知点是否在目标簇中已知点的预设范围内的具体实施方式,请参照图2,图2示出了本发明实施例提供的另一种空间数据处理方法的流程图,步骤s110包括以下子步骤:
子步骤s110-10,计算目标簇中所有已知点的两两之间的初始距离。
在本实施例中,需要对目标簇中所有已知点两两结对,计算所有结对中两个已知点之间的距离,例如,目标簇中包括a、b、c、d四个已知点,对其进行两两结对可以得到:ab、ac、ad、bc、bd、cd供六对,分别计算这六对中每一对中的两个已知点之间的距离,例如ab之间的距离、ac之间的距离、ad之间的距离等,得到6个初始距离,此处的距离可以是欧式距离,也可以是马氏距离。
子步骤s110-11,将所有初始距离的平均值作为目标簇的平均距离。
子步骤s110-12,依据平均距离确定目标簇中每一已知点的预设范围。
在本实施例中,根据确定预设范围采用的几何形状的不同,确定出的预设范围也可以不一样,例如,几何形状为圆形,每一已知点的预设范围可以是以该已知点为圆心,半径为平均距离的圆形覆盖的区域,几何形状也可以为正方形,此时预设范围以该已知点为中心,距离每个顶点均为平均距离的正方形覆盖的区域。
子步骤s110-13,若目标未知点在目标簇中任意一个已知点的预设范围内,则判定目标未知点在目标簇中已知点的预设范围内。
子步骤s110-14,若目标未知点未在目标簇中所有已知点的预设范围内,则判定目标未知点未在目标簇的已知点的预设范围内。
请参照图3,图3示出了本发明实施例提供的目标未知点与已知点的预设范围相对位置的示例图。图3中的目标簇中,3个黑色实心点代表已知点:已知点a、已知点b和已知点c,两个空心点代表未知点:未知点1和未知点2,每个已知点周围的虚线圆形内的区域代表该已知点的预设范围。由于未知点1在已知点a的预设范围内,则判定未知点1在目标簇的已知点的预设范围内,由于未知点2未在目标簇中已知点a、b、c中任何一个的预设范围内,则判定未知点2未在目标簇的已知点的预设范围内。
本发明实施例提供的上述空间数据处理方法,通过目标簇中已知点的两两之间的距离,得到目标簇的平均距离,依据平均距离确定目标簇的已知点的预设范围,从而保证目标未知点在预设范围内和不在预设范围内两种情况下进行不同处理,最终保证两种情况下都可以得到较为准确的目标未知点的空间数据。
在图1的基础上,本发明实施例给出了一种得到目标未知点的空间数据的具体实施方式,请参照图4,图4示出了本发明实施例提供的另一种空间数据处理方法的流程图,步骤s120包括以下子步骤:
子步骤s120-10,计算目标簇中所有已知点的空间数据的平均值。
子步骤s120-11,获取目标簇中每个未知点的预设范围内的poi的总数。
在本实施例中,未知点的预设范围与已知点的预设范围类似,此处不再赘述。
子步骤s120-12,获取目标簇中未知点的个数和已知点的个数。
子步骤s120-13,依据目标簇中未知点的个数、目标簇中已知点的个数、平均值及每个总数计算目标未知点的空间数据。
在本实施例中,作为一种具体实现方式,可以采用公式
本发明实施例提供的上述空间数据处理方法,依据目标簇中未知点的个数、目标簇中已知点的个数、平均值及每个未知点的预设范围内的poi的总数,计算出目标未知点的空间数据,不但考虑了已知点的空间数据,还考虑了未知点的预设范围内的poi的总数,最终使得目标未知点的空间数据更准确。
在本实施例中,若目标未知点在目标簇中已知点的预设范围内,为了保证该情况下也可以得到较为准确的空间数据,在图1的基础上,本发明实施例还提供目标未知点在目标簇中已知点的预设范围内时空间数据处理的具体实现方式,请继续参照图1,该方法还包括以下步骤:
步骤s130,若目标未知点在目标簇中已知点的预设范围内,则依据目标簇中每个已知点的空间数据及目标未知点与目标簇中每个已知点之间的距离,得到目标未知点的空间数据。
在本实施例中,作为一种具体实现方式,可以采用公式:
需要说明的是,若满足avg(di)∈(0,davg]这个条件,则利用公式
本发明实施例提供的上述空间数据处理方法,若目标未知点在目标簇中已知点的预设范围内,依据目标簇中每个已知点的空间数据及目标未知点与目标簇中每个已知点之间的距离,保证了该情况下也可以得到较为准确的空间数据。
需要说明的是,在本实施例中,也可以通过网格划分得到多个网格,将每一个网格或者预设个数的网格作为一个簇,采用上述空间数据处理方法计算目标未知点的空间数据。
作为一种具体的应用场景,当空间数据为地表温度时,通常情况下,地表温度是基于遥感反演的方法得到的,但对于城市楼宇的“山体效应”会对采集结果产生影响,同时类似雾、霾等气象也会受到“山体效应”的影响,最终导致基于遥感反演的方法得到的地表温度并不能反映出“山体效应”对其带来的影响,采用上述空间数据处理方法可以对基于遥感反演得到的空间数据进行校正,以得到与真实应用场景较为接近的正确的空间数据。
作为另一种具体的应用场景,当空间数据为高楼风力时,通过建筑群风力检测采集信息,采用上述空间数据处理方法可以对采集数据中的异常数据进行校正或者对缺失的数据进行补充,以得到比较准确的高楼风力数据,由于高楼风存在于楼宇密集区,会造成楼宇事务吹落或楼宇共振等危害,通过对高楼风力数据的分析,可以准确评估楼宇区域密度的危害度。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种空间数据处理装置100的实现方式。请参照图5,图5示出了本发明实施例提供的空间数据处理装置100的方框示意图。需要说明的是,本实施例所提供的空间数据处理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
空间数据处理装置100包括获取模块110、判断模块120及处理模块130。
获取模块110,用于获取多个簇中的目标簇及目标簇中的目标未知点。
判断模块120,用于判断目标未知点是否在目标簇中已知点的预设范围内。
作为一种具体实施方式,判断模块120具体用于:计算目标簇中所有已知点的两两之间的初始距离;将所有初始距离的平均值作为目标簇的平均距离;依据平均距离确定目标簇中每一已知点的预设范围;若目标未知点在目标簇中任意一个已知点的预设范围内,则判定目标未知点在目标簇中已知点的预设范围内;若目标未知点未在目标簇中所有已知点的预设范围内,则判定目标未知点未在目标簇的已知点的预设范围内。
处理模块130,用于若目标未知点未在预设范围内,则依据目标簇中每个未知点的预设范围内的预设信息点poi及目标簇中已知点的空间数据,得到目标未知点的空间数据。
作为一种具体实施方式,处理模块130具体用于:计算目标簇中所有已知点的空间数据的平均值;获取目标簇中每个未知点的预设范围内的poi的总数;获取目标簇中未知点的个数和已知点的个数;依据目标簇中未知点的个数、目标簇中已知点的个数、平均值及每个总数计算目标未知点的空间数据。
作为一种具体实施方式,处理模块130在执行依据目标簇中未知点的个数、目标簇中已知点的个数、平均值及每个总数计算目标未知点的空间数据的步骤时具体用于:依据目标簇中未知点的个数、目标簇中已知点的个数、平均值及每个总数,利用公式
作为一种具体实施方式,处理模块130还用于:若目标未知点在目标簇中已知点的预设范围内,则依据目标簇中每个已知点的空间数据及目标未知点与目标簇中每个已知点之间的距离,得到目标未知点的空间数据。
作为一种具体实施方式,处理模块130在执行依据目标簇中每个已知点的空间数据及目标未知点与目标簇中每个已知点之间的距离,得到目标未知点的空间数据的步骤时具体用于:依据目标簇中每个已知点的空间数据及目标未知点与目标簇中每个已知点之间的距离,利用公式:
基于上文描述的空间数据处理方法,本发明实施例还提供一种用于实现上述图1、图2、图4空间数据处理方法的计算机设备10的方框示意图,请参照图6,图6示出了本发明实施例提供的计算机设备10的方框示意图,计算机设备10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与外部设备通信连接。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如图5中的空间数据处理装置100,空间数据处理装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现上述的空间数据处理方法。
存储器12可能包括高速随机存取存储器(ram:randomaccessmemory),也可能还包括非易失存储器(non-volatilememory),例如至少一个磁盘存储器。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是isa总线、pci总线或eisa总线等。图6仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的空间数据处理方法。
综上所述,本发明实施例提供了一种空间数据处理方法,应用于计算机设备,计算机设备预先存储有多个簇,每一簇包括多个空间数据已知的已知点和至少一个空间数据未知的未知点,所述方法包括:获取多个簇中的目标簇及目标簇中的目标未知点;判断目标未知点是否在目标簇中已知点的预设范围内;若目标未知点未在预设范围内,则依据目标簇中每个未知点的预设范围内的预设信息点poi及目标簇中已知点的空间数据,得到目标未知点的空间数据。相对于现有技术,对于未在预设范围内的空间数据未知的未知点,本发明通过引入poi,将poi和空间数据已知的已知点的空间数据进行结合以得到较为准确的未知点的空间数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。