1.一种动态K值聚类构建主题R树方法,其特征在于,包含如下步骤:
1)利用地图开放的api获取城市中路网数据Citydata
2)获取指定的最小外接矩形MBR,将其看作一个大类,此时初始聚类数k=1,通过经纬度得到MBR初始类数据均值点C1;
3)选取距离初始类数据均值点C1最远的空间数据C2、距离C2最远的空间数据C3作为新的数据均值点,计算C1、C2的经纬度之差,得到第二个MBR,计算C2,C3的经纬度之差,得到第三个MBR;
4)此时k值相应增加,计算当前k值对应的聚类测度函数值Jk;
5)将Jk与前一次聚类测度函数值Jk-1进行比较,若此时函数收敛,则取当前k值为聚类数;若此时函数发散,则对新的MBR重复步骤2)到步骤5),k值继续递增至M;
6)通过距离指标R得到当前数据均值点Ck邻近空间数据集poiList;
7)通过文本主题分类对poiList中的poi数据进行分类,找出出现次数最多的地理数据作为聚类中心,再递归找出各个MBR的聚类中心Pk;
8)以k个聚类中心Pk作为根节点的子节点,进行聚类构建R树;并以每个子节点作为子树的根节点重复步骤3)-步骤7),进行聚类构建R树;
9)自底向上对每个节点构建主题倒排索引,父级存储着聚类中心的主题索引,形成主题R树。
2.如权利要求1所述的一种动态K值聚类构建主题R树方法,其特征在于,所述步骤2)中MBR初始类数据均值点C1的获取方法如下:
2.1)通过地图开放的api在地图上指定四个地理坐标loca1、loca2、loca3、loca4;
2.2)计算这四个点的经纬度之差,得到初始类数据均值点C1的经纬度信息。
3.如权利要求1所述的一种动态K值聚类构建主题R树方法,其特征在于,所述步骤4)中,计算当前k值对应的聚类测度函数值Jk的方法如下: 其中,Sj为MBR划分区域内的路网数据集,p指Sj中的单个路网数据,k为聚类数,r为Sj的数据均值点。
4.如权利要求1所述的一种动态K值聚类构建主题R树方法,其特征在于,所述步骤6)中,通过距离指标R得到邻近空间数据集poiList的方法如下:
6.1)定义距离指标 其中,n表示MBR下路网数据的数量,D表示给定的MBR区域面积,用di表示一个MBR下的路网数据到数据均值点Ci的距离,若di<=R,则将第i个数据记为该数据的邻近空间数据;
6.2)得到聚类数据均值点Ck领近空间数据集poiList
5.如权利要求1所述的一种动态K值聚类构建R树方法,其特征在于,所述步骤8)中,进行聚类构建R树的方法如下:
8.1)k值递增,当聚类测度函数收敛时,取这k个聚类中心Pk作为根节点的子树,构建R树的第二层;
8.2)假设父节点有n个空间数据,检查每个聚类后的空间数据个数Nj,若则此时停止分配;若 则通过距离分配到最近的且未填满
的Pi;
8.3)以每个子节点作为子树的根节点重复步骤3)-步骤7),进行聚类构建R树。
6.如权利要求1所述的一种动态K值聚类构建主题R树方法,其特征在于,所述步骤9)中,进行自底向上对每个节点构建主题倒排索引的方法如下:
9.1)对邻近空间数据集poiList的每个空间文本信息进行主题分类,对其建立主题倒排索引;
9.2)将聚类中心Pk作为父级的主题索引,再自底向上构建主题倒排索引。