一种城市建设用地时间维度扩增方法转让专利

申请号 : CN202110057306.0

文献号 : CN112766717B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毕泗国李涛

申请人 : 上海复见网络科技有限公司

摘要 :

本发明涉及城市建设用地扩增技术领域,尤其涉及一种城市建设用地时间维度扩增方法。本发明提供了一种基于知识约束规则下的城市建设用地时间维度扩增方法,能够有效解决城市建设用地演化过程中数据量有限的问题,并能根据实际研究需要,设置时间断面间隔。

权利要求 :

1.一种城市建设用地时间维度扩增方法,其特征在于,包括以下步骤:(1)对需要扩增的断面的个数及各模型初始化参数进行设定,所述步骤(1)具体包括以下步骤:

(1.1)打开python编程IDE,分别设定城市建设用地变化数据需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数;

(1.2)对需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数进行初始化赋值;

(2)从已有数据中依次取出两两相邻待预测城市的时间断面的图像数据,对两个断面的数据进行灰度化、二值化处理,对两个时间断面的图像数据进行图像差分,得到差值图像作为该时间跨度内的城市建设用地地块的全部变化量;

(3)针对步骤(2)中差值图像差分,设定合适的簇个数,通过聚类算法,对聚类后的地块按照面积大小进行排序,同时按照一定的约束规则界定若干个地块为主城区地块,同时剩余的为非主城区地块;

(4)根据时间断面个数,对主城区簇进行二次聚类,其中聚类的个数设定为时间断面个数,进一步确定主城区扩增模块,记录下各聚类簇的中心点的坐标,将各中心点坐标值求取的平均值作为相应主城区的中心点;非主城区扩增采用两种方式进行扩增,方式一与主城区扩增模块完全一致,即把全部非主城区作为一个整体进行重新按扩增个数进行聚类;方式二将各非主城区簇的按照扩增个数算出每次扩增需要的步幅,这种情形下每次的扩增都是多个非主城区簇一起同步扩增;

(5)将主城区扩增模块和非主城区扩增模块进行合并,并将各主城区扩增模块生成的数据按照与各主城区中心的距离进行升序排序,也即距离最小的在最前面,距离最大的在最后面,确定各个主城区的扩增模块属性,同时加入非主城区扩增模块,可以采用步骤(4)中的两种方式,所述步骤(5)的具体步骤包括:(5.1)获取在步骤(4)中得到的时间断面个数的城区和非城区的聚类簇的中心点的坐标;

(5.2)获取在步骤(4)中通过各城区聚类后各簇的中心坐标平均得到的主城区与非主城区的中心坐标;

(5.3)调用Python第三方库,对步骤(5.1)获取的各类聚类簇的中心坐标按照与步骤(5.2)获取的主城区与非主城区的中心坐标的距离进行计算;

(5.4)调用Python第三方库,对步骤(5.3)中的各聚类簇中心点坐标到主城区与非主城区的中心点坐标的距离计算后的结果进行排序,排序方式为升序,即距离从小到大;

(5.5)按照步骤(5.4)得到聚类簇个数作为遍历的长度;

(5.6)按照步骤(5.5)得到聚类簇个数作为遍历的长度进行遍历;

(5.7)按照步骤(5.6)遍历的过程中,构建关于聚类簇中心点的字典;

(5.8)构建关于聚类簇中心点的字典的基础上,以遍历索引为key;

(5.9)根据步骤(5.6)中构建关于聚类簇中心点的字典的基础上,以遍历索引为key,相应的key对应的值为对应聚类簇下的全部坐标;

(5.10)构建列表,用于存储生成的各字典;

(5.11)在步骤(5.7)中遍历过程中,依次加入步骤(5.10)构建的列表中,按照顺序进行存储;

(6)将步骤(2)中获取的前一个时间断面的初始图像作为基础图像,按照步骤(5)确定的主城区扩增模块和非主城区扩增模块的属性进行扩增,每一次扩增都通过图像生成模块将图像数据进行生成并保存,每次扩增都是在前一次扩增的基础上进行扩增。

2.根据权利要求1所述的城市建设用地时间维度扩增方法,其特征在于,步骤(2)中,所述图像差分的具体步骤包括:

(2.1)根据步骤(1.1)和(1.2)的中待扩增时间断面的图片地址变量的初始化结果,通过Python的第三方模块读入图片地址,其中读入的方式为灰度模式,得到关于图片数据的灰度矩阵表示形式;

(2.2)根据步骤(2.1)得到关于图片数据的灰度矩阵表示形式,针对原始图片在处理过程往往存在灰度值不统一的情况,通过进一步灰度化、二值化处理;对经过灰度化、二值化处理后的两个时间断面的矩阵图像数据进行图像差分,得到二值化差值图像。

3.根据权利要求2所述的城市建设用地时间维度扩增方法,其特征在于,步骤(2.2)中,所述得到关于图片数据的灰度矩阵表达形式的具体步骤包括:(2.2.1)基于步骤(2.1)得到两两时间断面的前一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引;

(2.2.2)通过python第三方库获得前一个时间断面图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩阵;

(2.2.3)在步骤(2.2.2)得到的纯背景矩阵上,针对步骤(2.2.1)得到的矩阵图像索引的相应位置设置灰度值为0;

(2.2.4)得到关于时间断面矩阵图像数据前一个时间断面的二值化图像数据,其中背景为255,前景地块为0;

(2.2.5)基于步骤(2.1)得到两两时间断面的后一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引;

(2.2.6)通过python第三方库获得后一个时间图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩阵;

(2.2.7)在步骤(2.2.6)得到的纯背景矩阵上,针对步骤(2.2.5)得到的矩阵图像索引的相应位置设置灰度值为0;

(2.2.8)得到关于时间断面矩阵图像数据后一个时间断面的二值化图像数据,其中背景为255,前景地块为0;

(2.2.9)针对步骤(2.2.4)、步骤(2.2.8)得到的二值化图像数据调用第三方进行图像差分;

(2.2.10)针对步骤(2.2.9)得到的二值化图像数据调用第三方进行图像差分结果,对各像素点进行灰度值是否为0的判断;

(2.2.11)针对步骤(2.2.10)判断的结果,对灰度值为0的像素点建立二值化差值图像的灰度矩阵索引;

(2.2.12)根据步骤(2.2.10)判断的结果,得到二值化差值图像的灰度矩阵索引,由于索引为二元组的形式,二元组的第一项为X维度,第二项为Y维度;

(2.2.13)针对步骤(2.2.12)的矩阵索引,得到元祖元素的长度,遍历元祖元素的长度,得到关于索引的长度×2的二维索引矩阵。

4.根据权利要求1所述的城市建设用地时间维度扩增方法,其特征在于,步骤(3)中,所述界定若干个地块为主城区地块的具体步骤包括:(3.1)采用聚类的方式对步骤(2)中得到的二值化差值图像进行分析,首先设定聚类值为奇数,得到主城区和非主城区的各地块部分;

(3.2)对聚类后的各部分的面积进行计算并按照从大到小的顺序进行排序;

(3.3)将排序结果的前两个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,如果大于阈值,说明第一个为主城区,如果不大于,继续比较将排序结果的第二、第三个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,依次类推直到找到满足大于阈值的条件终止;

(3.4)将步骤(3.3)终止之前的遍历的索引序列的长度记为主城区,其余作为非主城区。

5.根据权利要求1所述的城市建设用地时间维度扩增方法,其特征在于,步骤(4)中,所述确定主城区扩面模块,记录下断面的个数的聚类簇的中心点的坐标的具体步骤包括:(4.1)遍历所有主城区,在每个城区遍历所有的地块;

(4.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;

(4.3)调用基于第三方库进行二次聚类,得到数量为待扩增断面的个数的聚类簇;

(4.4)基于第三方库得到各个聚类簇的中心点的坐标;

(4.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应主城区的中心坐标;

(4.6)将各个主城区分别编号;

(4.7)将步骤(4.6)各个主城区的编号作为关键字,构建字典;

(4.8)将各个城区(主城区)的关键字对应的字典值输入为步骤(4.5)中得到的相应各个主城区的中心坐标;

(4.9)根据非主城区生成方式进行参数选择;

(4.10)如果选择方式一,则扩增的方式参照主城区扩面模块包括多个扩增步骤;

(4.11)如果选择方式二,则扩增的方式包括多个扩增步骤。

6.根据权利要求5所述的城市建设用地时间维度扩增方法,其特征在于,步骤(4.10)中,所述非主城区扩展的方式参照主城区扩面模块,具体步骤包括:(4.10.1)遍历所有非主城区,在非主城区遍历所有的地块;

(4.10.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;

(4.10.3)调用基于第三方库进行二次聚类,得到待扩增的断面的个数的聚类簇;

(4.10.4)基于第三方库得到各个聚类簇的中心点的坐标;

(4.10.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应非主城区的中心坐标;

(4.10.6)将各个非主城区分别编号;

(4.10.7)将步骤(4.10.6)各个非主城区的编号作为关键字,构建字典;

(4.10.8)将步骤(4.10.7)得到的各个非主城区的关键字对应的字典值输入为步骤(4.10.5)中得到的相应各个非主城区的中心坐标。

7.根据权利要求5所述的城市建设用地时间维度扩增方法,其特征在于,步骤(4.11)中,所述方式二的具体步骤包括:

(4.11.1)确定生成方式,平均方式,进行扩增;

(4.11.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;

(4.11.3)根据步骤(4.11.2)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;

(4.11.4)根据步骤(4.11.2)、步骤(4.11.3)所述的变量作为待扩增个数,准备步骤(2)中获得非主城区字典;

(4.11.5)根据步骤(4.11.4)所得到的变量作为扩增个数,将步骤(2)中获得非主城区字典的各个簇去除以待扩增的断面的个数从而得到每次扩增的步长;

(4.11.6)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像;

(4.11.7)确定生成方式,随机方式,进行扩增;

(4.11.8)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;

(4.11.9)根据步骤(4.11.8)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;

(4.11.10)根据步骤(4.11.9)所得到的变量作为待扩增个数,准备步骤(2)中获得非主城区字典;

(4.11.11)根据步骤(4.11.10)所得到的变量作为待扩增个数,将步骤(2)中获得非主城区字典的各个簇,按照一个区间范围进行高斯随机生成步长生成;

(4.11.12)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像。

8.根据权利要求1所述的城市建设用地时间维度扩增方法,其特征在于,步骤(6)中,所述将图像数据进行生成并保存的具体步骤包括:(6.1)从步骤(2)中获得的数据中依次取出两两相邻待预测城市的时间断面的图像数据的前一个作为初始图像;

(6.2)对步骤(6.1)中获得的初始图像,基于步骤(2)待扩增图片个数参数,对待扩增图片个数进行遍历;

(6.4)在遍历的过程中,基于将步骤(3)、步骤(4)、步骤(5)中得到各个主城区的子簇,各个非主城区的步长结合步骤(6.1)中获得的初始图像进行遍历同步扩增;

(6.5)在步骤(6.4)遍历同步扩增的过程中,调用Python的图像生成模块;

(6.6)在步骤(6.5)的基础上,调用Python的图像生成模块,进一步设定生成图像图片质量的参数;

(6.7)在步骤(6.6)的基础上,调用Python的图像生成模块,进一步设定生成图像图片存放地址的参数;

(6.8)在步骤(6.6)遍历同步扩增的过程中,调用Python的图像生成模块,进一步对图像进行生成。

说明书 :

一种城市建设用地时间维度扩增方法

技术领域

[0001] 本发明涉及城市建设用地扩增技术领域,尤其涉及一种城市建设用地时间维度扩增方法。

背景技术

[0002] 针对城市建设用地的演化过程研究是城乡规划研究的重要手段。既有的演化研究技术,主要依靠遥感卫星获取遥感影像,经过人工解译等手段后,得到相关城市建设用地的
变化信息,但这种方法对遥感数据的质量要求较高,很难设置时间断面间隔,同时针对单一
城市的建设用地演化过程数据量有限。
[0003] 本发明提供了一种基于知识约束规则下的城市建设用地时间维度扩增技术,能够有效解决城市建设用地演化过程中数据量有限的问题,并能根据实际研究需要,设置时间
断面间隔。

发明内容

[0004] 为了解决上述技术问题,本发明提供了一种城市建设用地时间维度扩增方法,包括以下步骤:
[0005] (1)对需要扩增的断面的个数及各模型初始化参数进行设定;
[0006] (2)从已有数据中依次取出两两相邻待预测城市的时间断面的图像数据,对两个断面的数据进行灰度化、二值化处理,对两个时间断面的图像数据进行图像差分,得到差值
图像作为该时间跨度内的城市建设用地地块的全部变化量;
[0007] (3)针对步骤(2)中差值图像差分,设定合适的簇个数,通过聚类算法,对聚类后的地块按照面积大小进行排序,同时按照一定的约束规则界定若干个地块为主城区地块,同
时剩余的为非主城区地块;
[0008] (4)根据时间断面个数,对主城区簇进行二次聚类,其中聚类的个数设定为时间断面个数,进一步确定主城区扩增模块,记录下各聚类簇的中心点的坐标,将各中心点坐标值
求取的平均值作为相应主城区的中心点;非主城区扩增采用两种方式进行扩增,方式一与
主城区扩增模块完全一致,即把全部非主城区作为一个整体进行重新按扩增个数进行聚
类;方式二将各非主城区簇的按照扩增个数算出每次扩增需要的步幅,这种情形下每次的
扩增都是多个非主城区簇一起同步扩增;
[0009] (5)将主城区扩增模块和非主城区扩增模块进行合并,并将各主城区扩增模块生成的数据按照与各主城区中心的距离进行升序排序,也即距离最小的在最前面,距离最大
的在最后面,确定各个主城区的扩增模块属性,同时加入非主城区扩增模块,可以采用步骤
(4)中的两种方式;
[0010] (6)将步骤(2)中获取的前一个时间断面的初始图像作为基础图像,按照步骤(5)确定的主城区扩增模块和非主城区扩增模块的属性进行扩增,每一次扩增都通过图像生成
模块将图像数据进行生成并保存,每次扩增都是在前一次扩增的基础上进行扩增。
[0011] 作为本发明一种优选的技术方案,所述步骤(1)具体包括以下步骤:
[0012] (1.1)打开python编程IDE,分别设定城市建设用地变化数据需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数;
[0013] (1.2)对需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数进行初始化赋值;
[0014] 作为本发明一种优选的技术方案,步骤(2)中,所述图像差分的具体步骤包括:
[0015] (2.1)根据步骤(1.1)和(1.2)的中待扩增时间断面的图片地址变量的初始化结果,通过Python的第三方模块读入图片地址,其中读入的方式为灰度模式,得到关于图片数
据的灰度矩阵表示形式;
[0016] (2.2)根据步骤(2.1)得到关于图片数据的灰度矩阵表示形式,针对原始图片在处理过程往往存在灰度值不统一的情况,通过进一步灰度化、二值化处理;对经过灰度化、二
值化处理后的两个时间断面的矩阵图像数据进行图像差分,得到二值化差值图像;
[0017] 作为本发明一种优选的技术方案,步骤(2.2)中,所述得到关于图片数据的灰度矩阵表达形式的具体步骤包括:
[0018] (2.2.1)基于步骤(2.1)得到两两时间断面的前一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引;
[0019] (2.2.2)通过python第三方库获得前一个时间断面图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩
阵;
[0020] (2.2.3)在步骤(2.2.2)得到的纯背景矩阵上,针对步骤(2.2.1)得到的矩阵图像索引的相应位置设置灰度值为0;
[0021] (2.2.4)得到关于时间断面矩阵图像数据前一个时间断面的二值化图像数据,其中背景为255,前景地块为0;
[0022] (2.2.5)基于步骤(2.1)得到两两时间断面的后一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引;
[0023] (2.2.6)通过python第三方库获得后一个时间图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩阵;
[0024] (2.2.7)在步骤(2.2.6)得到的纯背景矩阵上,针对步骤(2.2.5)得到的矩阵图像索引的相应位置设置灰度值为0;
[0025] (2.2.8)得到关于时间断面矩阵图像数据后一个时间断面的二值化图像数据,其中背景为255,前景地块为0;
[0026] (2.2.9)针对步骤(2.2.4)、步骤(2.2.8)得到的二值化图像数据调用第三方进行图像差分;
[0027] (2.2.10)针对步骤(2.2.9)得到的二值化图像数据调用第三方进行图像差分结果,对各像素点进行灰度值是否为0的判断;
[0028] (2.2.11)针对步骤(2.2.10)判断的结果,对灰度值为0的像素点建立二值化差值图像的灰度矩阵索引;
[0029] (2.2.12)根据步骤(2.2.10)判断的结果,得到二值化差值图像的灰度矩阵索引,由于索引为二元组的形式,二元组的第一项为X维度,第二项为Y维度;
[0030] (2.2.13)针对步骤(2.2.12)的矩阵索引,得到元祖元素的长度,遍历元祖元素的长度,得到关于索引的长度×2的二维索引矩阵。
[0031] 作为本发明一种优选的技术方案,步骤(3)中,所述界定若干个地块为主城区地块的具体步骤包括:
[0032] (3.1)采用聚类的方式对步骤(2)中得到的二值化差值图像进行分析,首先设定聚类值为奇数,得到主城区和非主城区的各地块部分;
[0033] (3.2)对聚类后的各部分的面积进行计算并按照从大到小的顺序进行排序;
[0034] (3.3)将排序结果的前两个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,如果大于阈值,说明第一个为主城区,如果不大于,继续比较将排序结果
的第二、第三个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,依
次类推直到找到满足大于阈值的条件终止;
[0035] (3.4)将步骤(3.3)终止之前的遍历的索引序列的长度记为主城区,其余作为非主城区。
[0036] 作为本发明一种优选的技术方案,步骤(4)中,所述确定主城区扩面模块,记录下断面的个数的聚类簇的中心点的坐标的具体步骤包括:
[0037] (4.1)遍历所有主城区,在每个城区遍历所有的地块;
[0038] (4.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;
[0039] (4.3)调用基于第三方库进行二次聚类,得到数量为待扩增断面的个数的聚类簇;
[0040] (4.4)基于第三方库得到各个聚类簇的中心点的坐标;
[0041] (4.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应主城区的中心坐标;
[0042] (4.6)将各个主城区分别编号;
[0043] (4.7)将步骤(4.6)各个主城区的编号作为关键字,构建字典;
[0044] (4.8)将各个主城区的关键字对应的字典值输入为步骤(4.5)中得到的相应各个主城区的中心坐标;
[0045] (4.9)根据非主城区生成方式进行参数选择;
[0046] (4.10)如果选择方式一,则扩增的方式参照主城区扩面模块包括多个扩增步骤;
[0047] (4.11)如果选择方式二,则扩增的方式包括多个扩增步骤。
[0048] 作为本发明一种优选的技术方案,步骤(4.10)中,所述非主城区扩展的方式参照主城区扩面模块,具体步骤包括:
[0049] (4.10.1)遍历所有非主城区,在非主城区遍历所有的地块;
[0050] (4.10.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;
[0051] (4.10.3)调用基于第三方库进行二次聚类,得到待扩增的断面的个数的聚类簇;
[0052] (4.10.4)基于第三方库得到各个聚类簇的中心点的坐标;
[0053] (4.10.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应非主城区的中心坐标;
[0054] (4.10.6)将各个非主城区分别编号;
[0055] (4.10.7)将步骤(4.10.6)各个非主城区的编号作为关键字,构建字典;
[0056] (4.10.8)将步骤(4.10.7)得到的各个非主城区的关键字对应的字典值输入为步骤(4.10.5)中得到的相应各个非主城区的中心坐标;
[0057] 作为本发明一种优选的技术方案,步骤(4.11)中,所述方式二的具体步骤包括:
[0058] (4.11.1)确定生成方式,平均方式,进行扩增;
[0059] (4.11.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;
[0060] (4.11.3)根据步骤(4.11.2)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;
[0061] (4.11.4)根据步骤(4.11.2)、步骤(4.11.3)所述的变量作为待扩增个数,准备步骤(2)中获得非主城区字典;
[0062] (4.11.5)根据步骤(4.11.4)所得到的变量作为待扩增个数,将步骤(2)中获得非主城区字典的各个簇去除以待扩增的断面的个数从而得到每次扩增的步长;
[0063] (4.11.6)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像;
[0064] (4.11.7)确定生成方式,随机方式,进行扩增;
[0065] (4.11.8)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;
[0066] (4.11.9)根据步骤(4.11.8)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;
[0067] (4.11.10)根据步骤(4.11.9)所得到的变量作为待扩增个数,准备步骤(2)中获得非主城区字典;
[0068] (4.11.11)根据步骤(4.11.10)所得到的变量作为待扩增个数,将步骤(2)中获得非主城区字典的各个簇,按照一个区间范围进行高斯随机生成步长生成;
[0069] (4.11.12)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像。
[0070] 作为本发明一种优选的技术方案,所述步骤(5)的具体步骤包括:
[0071] (5.1)获取在步骤(4)中得到的时间断面个数的城区和非城区的聚类簇的中心点的坐标;
[0072] (5.2)获取在步骤(4)中通过各城区聚类后各簇的中心坐标平均得到的各个主城区与非主城区的中心坐标;
[0073] (5.3)调用Python第三方库,对步骤(5.1)获取的各类聚类簇的中心坐标按照与步骤(5.2)获取的各个主城区与非主城区的中心坐标的距离进行计算;
[0074] (5.4)调用Python第三方库,对步骤(5.3)中的各聚类簇中心点坐标到相应主城区与非主城区的中心点坐标的距离计算后的结果进行排序,排序方式为升序,即距离从小到
大;
[0075] (5.5)按照步骤(5.4)得到聚类簇个数作为遍历的长度;
[0076] (5.6)按照步骤(5.5)得到聚类簇个数作为遍历的长度进行遍历;
[0077] (5.7)按照步骤(5.6)遍历的过程中,构建关于聚类簇中心点的字典;
[0078] (5.8)构建关于聚类簇中心点的字典的基础上,以遍历索引为key;
[0079] (5.9)根据步骤(5.6)中构建关于聚类簇中心点的字典的基础上,以遍历索引为key,相应的key对应的值为对应聚类簇下的全部坐标;
[0080] (5.10)构建列表,用于存储生成的各字典;
[0081] (5.11)在步骤(5.7)中遍历过程中,依次加入步骤(5.10)构建的列表中,按照顺序进行存储。
[0082] 作为本发明一种优选的技术方案,步骤(6)中,所述将图像数据进行生成并保存的具体步骤包括:
[0083] (6.1)从步骤(2)中获得的数据中依次取出两两相邻待预测城市的时间断面的图像数据的前一个作为初始图像;
[0084] (6.2)对步骤(6.1)中获得的初始图像,基于步骤(2)待扩增图片个数参数,对待扩增图片个数进行遍历;
[0085] (6.4)在遍历的过程中,基于将步骤(3)、步骤(4)、步骤(5)中得到各个主城区的子簇,各个非主城区的步长结合步骤(6.1)中获得的初始图像进行遍历同步扩增;
[0086] (6.5)在步骤(6.4)遍历同步扩增的过程中,调用Python的图像生成模块;
[0087] (6.6)在步骤(6.5)的基础上,调用Python的图像生成模块,进一步设定生成图像图片质量的参数;
[0088] (6.7)在步骤(6.6)的基础上,调用Python的图像生成模块,进一步设定生成图像图片存放地址的参数;
[0089] (6.8)在步骤(6.6)遍历同步扩增的过程中,调用Python的图像生成模块,进一步对图像进行生成。
[0090] 有益效果
[0091] 本发明提供了一种基于知识约束规则下的城市建设用地时间维度扩增方法,能够有效解决城市建设用地演化过程中数据量有限的问题,并能根据实际研究需要,设置时间
断面间隔。

附图说明

[0092] 图1为本发明的流程图;
[0093] 图2为本发明实施案例的待扩增数据的前时间断面图像数据;
[0094] 图3为本发明实施案例的待扩增数据的后时间断面图像数据;
[0095] 图4为本发明实施案例城市建设用地1990年‑2005年某次扩增的过程图。

具体实施方式

[0096] 参选以下本发明的优选实施方法的详述以及包括的实施例可更容易地理解本发明的内容。除非另有限定,本文使用的所有技术以及科学术语具有与本发明所属领域普通
技术人员通常理解的相同的含义。当存在矛盾时,以本说明书中的定义为准。
[0097] 本文中所用的术语“包含”、“包括”、“具有”、“含有”或其任何其它变形,意在覆盖非排它性的包括。例如,包含所列要素的组合物、步骤、方法、制品或装置不必仅限于那些要
素,而是可以包括未明确列出的其它要素或此种组合物、步骤、方法、制品或装置所固有的
要素。
[0098] 说明书和权利要求书中的近似用语用来修饰数量,表示本发明并不限定于该具体数量,还包括与该数量接近的可接受的而不会导致相关基本功能的改变的修正的部分。相
应的,用“大约”、“约”等修饰一个数值,意为本发明不限于该精确数值。在某些例子中,近似
用语可能对应于测量数值的仪器的精度。在本申请说明书和权利要求书中,范围限定可以
组合和/或互换,如果没有另外说明这些范围包括其间所含有的所有子范围。
[0099] 本发明提供了一种城市建设用地时间维度扩增方法,包括以下步骤:
[0100] (1)对需要扩增的断面的个数及各模型初始化参数进行设定;
[0101] (2)从已有数据中依次取出两两相邻待预测城市的时间断面的图像数据,对两个断面的数据进行灰度化、二值化处理,对两个时间断面的图像数据进行图像差分,得到差值
图像作为该时间跨度内的城市建设用地地块的全部变化量;
[0102] (3)针对步骤(2)中差值图像差分,设定合适的簇个数,通过聚类算法,对聚类后的地块按照面积大小进行排序,同时按照一定的约束规则界定若干个地块为主城区地块,同
时剩余的为非主城区地块;
[0103] (4)根据时间断面个数,对主城区簇进行二次聚类,其中聚类的个数设定为时间断面个数,进一步确定主城区扩增模块,记录下各聚类簇的中心点的坐标,将各中心点坐标值
求取的平均值作为相应主城区的中心点;非主城区扩增采用两种方式进行扩增,方式一与
主城区扩增模块完全一致,即把全部非主城区作为一个整体进行重新按扩增个数进行聚
类;方式二将各非主城区簇的按照扩增个数算出每次扩增需要的步幅,这种情形下每次的
扩增都是多个非主城区簇一起同步扩增;
[0104] (5)将主城区扩增模块和非主城区扩增模块进行合并,并将各主城区扩增模块生成的数据按照与各主城区中心的距离进行升序排序,也即距离最小的在最前面,距离最大
的在最后面,确定各个主城区的扩增模块属性,同时加入非主城区扩增模块,可以采用步骤
(4)中的两种方式;
[0105] (6)将步骤(2)中获取的前一个时间断面的初始图像作为基础图像,按照步骤(5)确定的主城区扩增模块和非主城区扩增模块的属性进行扩增,每一次扩增都通过图像生成
模块将图像数据进行生成并保存,每次扩增都是在前一次扩增的基础上进行扩增。
[0106] 在一种优选的实施方式中,所述步骤(1)具体包括以下步骤:
[0107] (1.1)打开python编程IDE,分别设定城市建设用地变化数据需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数;
[0108] (1.2)对需要扩增的时间断面的个数,待扩增时间断面的图片地址,主城区与非主城区面积区分阈值参数进行初始化赋值。
[0109] 在一种优选的实施方式中,步骤(2)中,所述图像差分的具体步骤包括:
[0110] (2.1)根据步骤(1.1)和(1.2)的中待扩增时间断面的图片地址变量的初始化结果,通过Python的第三方模块读入图片地址,其中读入的方式为灰度模式,得到关于图片数
据的灰度矩阵表示形式;
[0111] (2.2)根据步骤(2.1)得到关于图片数据的灰度矩阵表示形式,针对原始图片在处理过程往往存在灰度值不统一的情况,通过进一步灰度化、二值化处理;对经过灰度化、二
值化处理后的两个时间断面的矩阵图像数据进行图像差分,得到二值化差值图像。
[0112] 在一种优选的实施方式中,步骤(2.2)中,所述得到关于图片数据的灰度矩阵表达形式的具体步骤包括:
[0113] (2.2.1)基于步骤(2.1)得到两两时间断面的前一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引;
[0114] (2.2.2)通过python第三方库获得前一个时间断面图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩
阵;
[0115] (2.2.3)在步骤(2.2.2)得到的纯背景矩阵上,针对步骤(2.2.1)得到的矩阵图像索引的相应位置设置灰度值为0;
[0116] (2.2.4)得到关于时间断面矩阵图像数据前一个时间断面的二值化图像数据,其中背景为255,前景(地块)为0。
[0117] (2.2.5)基于步骤(2.1)得到两两时间断面的后一个时间断面矩阵图像数据,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩阵图像索引。
[0118] (2.2.6)通过python第三方库获得后一个时间图像数据的维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值全为255的纯背景矩阵;
[0119] (2.2.7)在步骤(2.2.6)得到的纯背景矩阵上,针对步骤(2.2.5)得到的矩阵图像索引的相应位置设置灰度值为0;
[0120] (2.2.8)得到关于时间断面矩阵图像数据后一个时间断面的二值化图像数据,其中背景为255,前景(地块)为0。
[0121] (2.2.9)针对步骤(2.2.4)、步骤(2.2.8)得到的二值化图像数据调用第三方进行图像差分;
[0122] (2.2.10)针对步骤(2.2.9)得到的二值化图像数据调用第三方进行图像差分结果,对各像素点进行灰度值是否为0的判断;
[0123] (2.2.11)针对步骤(2.2.10)判断的结果,对灰度值为0的像素点建立二值化差值图像的灰度矩阵索引;
[0124] (2.2.12)根据步骤(2.2.10)判断的结果,得到二值化差值图像的灰度矩阵索引,由于索引为二元组的形式,二元组的第一项为X维度,第二项为Y维度;
[0125] (2.2.13)针对步骤(2.2.12)的矩阵索引,得到元祖元素的长度,遍历元祖元素的长度,得到关于索引的长度×2的二维索引矩阵。
[0126] 在一种优选的实施方式中,步骤(3)中,所述界定若干个地块为主城区地块的具体步骤包括:
[0127] (3.1)采用聚类的方式对步骤(2)中得到的二值化差值图像进行分析,首先设定聚类值为奇数,得到主城区和非主城区的各地块部分;
[0128] (3.2)对聚类后的各部分的面积进行计算并按照从大到小的顺序进行排序;
[0129] (3.3)将排序结果的前两个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,如果大于阈值,说明第一个为主城区,如果不大于,继续比较将排序结果
的第二、第三个面积大小的比值与步骤(1.1)和步骤(1.2)得到的主城区阈值进行比较,依
次类推直到找到满足大于阈值的条件终止;
[0130] (3.4)将步骤(3.3)终止之前的遍历的索引序列的长度记为主城区,其余作为非主城区。
[0131] 在一种优选的实施方式中,步骤(4)中,所述确定主城区扩面模块,记录下断面的个数的聚类簇的中心点的坐标的具体步骤包括:
[0132] (4.1)遍历所有主城区,在每个城区遍历所有的地块;
[0133] (4.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;
[0134] (4.3)调用基于第三方库进行二次聚类,得到数量为待扩增的断面的个数的聚类簇;
[0135] (4.4)基于第三方库得到各个聚类簇的中心点的坐标;
[0136] (4.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应主城区的中心坐标;
[0137] (4.6)将各个主城区分别编号;
[0138] (4.7)将步骤(4.6)各个主城区的编号作为关键字,构建字典;
[0139] (4.8)将各个主城区的关键字对应的字典值输入为步骤(4.5)中得到的相应各个主城区的中心坐标。
[0140] (4.9)根据非主城区生成方式进行参数选择;
[0141] (4.10)如果选择方式一,则扩增的方式参照主城区扩面模块包括多个扩增步骤;
[0142] (4.11)如果选择方式二,则扩增的方式包括多个扩增步骤。
[0143] 作为本发明一种优选的技术方案,步骤(4.10)中,所述非主城区扩展的方式参照主城区扩面模块,具体步骤包括:
[0144] (4.10.1)遍历所有非主城区,在非主城区遍历所有的地块;
[0145] (4.10.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;
[0146] (4.10.3)调用基于第三方库进行二次聚类,得到待扩增断面的个数的聚类簇;
[0147] (4.10.4)基于第三方库得到各个聚类簇的中心点的坐标;
[0148] (4.10.5)将全部聚类簇的中心点坐标进行求和,然后取平均作为相应非主城区的中心坐标;
[0149] (4.10.6)将各个非主城区分别编号;
[0150] (4.10.7)将步骤(4.10.6)各个非主城区的编号作为关键字,构建字典;
[0151] (4.10.8)将步骤(4.10.7)得到的各个非主城区的关键字对应的字典值输入为步骤(4.10.5)中得到的相应各个非主城区的中心坐标。
[0152] 作为本发明一种优选的技术方案,步骤(4.11)中,所述方式二的具体步骤包括:
[0153] (4.11.1)确定生成方式,平均方式,进行扩增;
[0154] (4.11.2)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;
[0155] (4.11.3)根据步骤(4.11.2)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;
[0156] (4.11.4)根据步骤(4.11.2)、步骤(4.11.3)所述的变量作为扩增个数,准备步骤(2)中获得非主城区字典;
[0157] (4.11.5)根据步骤(4.11.4)所得到的变量作为待扩增个数,将步骤(2)中获得非主城区字典的各个簇去除以扩增的断面的个数从而得到每次扩增的步长;
[0158] (4.11.6)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像。
[0159] (4.11.7)确定生成方式,随机方式,进行扩增;
[0160] (4.11.8)根据步骤(1)所述的参数设定,对需要扩增的断面的个数进行变量定义;
[0161] (4.11.9)根据步骤(4.11.8)所得到的参数设定,对需要扩增的断面的个数进行变量赋值;
[0162] (4.11.10)根据步骤(4.11.9)所得到的变量作为待扩增个数,准备步骤(2)中获得非主城区字典;
[0163] (4.11.11)根据步骤(4.11.10)所得到的变量作为待扩增个数,将步骤(2)中获得非主城区字典的各个簇,按照一个区间范围进行高斯随机生成步长生成;
[0164] (4.11.12)扩增过程中,遍历非主城区字典,每次扩增步长长度的图像。
[0165] 在一种优选的实施方式中,所述步骤(5)的具体步骤包括:
[0166] (5.1)获取在步骤(4)中得到的时间断面个数的城区和非城区的聚类簇的中心点的坐标;
[0167] (5.2)获取在步骤(4)中得到的各个主城区与非主城区的中心坐标各城区聚类后各簇的中心坐标平均得到;
[0168] (5.3)调用Python第三方库,对步骤(5.1)获取的各类聚类簇的中心坐标按照与步骤(5.2)获取的各个主城区与非主城区的中心坐标的距离进行计算;
[0169] (5.4)调用Python第三方库,对步骤(5.3)中的各聚类簇中心点坐标到相应主城区与非主城区的中心点坐标的距离计算后的结果进行排序,排序方式为升序,即距离从小到
大;
[0170] (5.5)按照步骤(5.4)得到聚类簇个数作为遍历的长度;
[0171] (5.6)按照步骤(5.5)得到聚类簇个数作为遍历的长度进行遍历;
[0172] (5.7)按照步骤(5.6)遍历的过程中,构建关于聚类簇中心点的字典;
[0173] (5.8)构建关于聚类簇中心点的字典的基础上,以遍历索引为key;
[0174] (5.9)根据步骤(5.6)中构建关于聚类簇中心点的字典的基础上,以遍历索引为key,相应的key对应的值为对应聚类簇下的全部坐标;
[0175] (5.10)构建列表,用于存储生成的各字典;
[0176] (5.11)在步骤(5.7)中遍历过程中,依次加入步骤(5.10)构建的列表中,按照顺序进行存储。
[0177] 在一种优选的实施方式中,步骤(6)中,所述将图像数据进行生成并保存的具体步骤包括:
[0178] (6.1)从步骤(2)中获得的数据中依次取出两两相邻待预测城市的时间断面的图像数据的前一个作为初始图像;
[0179] (6.2)对步骤(6.1)中获得的初始图像,基于步骤(2)待扩增图片个数参数,对待扩增图片个数进行遍历;
[0180] (6.4)在遍历的过程中,基于将步骤(3)、步骤(4)、步骤(5)中得到各个主城区的子簇,各个非主城区的步长结合步骤(6.1)中获得的初始图像进行遍历同步扩增;
[0181] (6.5)在步骤(6.4)遍历同步扩增的过程中,调用Python的图像生成模块;
[0182] (6.6)在步骤(6.5)的基础上,调用Python的图像生成模块,进一步设定生成图像的参数如图片质量;
[0183] (6.7)在步骤(6.6)的基础上,调用Python的图像生成模块,设定生成图像的参数如图片存放地址;
[0184] (6.8)在步骤(6.6)遍历同步扩增的过程中,调用Python的图像生成模块,进一步对图像进行生成。
[0185] 下面通过实施例对本发明进行具体描述。有必要在此指出的是,以下实施例只用于对本发明作进一步说明,不能理解为对本发明保护范围的限制,该领域的专业技术人员
根据上述本发明的内容做出的一些非本质的改进和调整,仍属于本发明的保护范围。
[0186] 实施例
[0187] 本实施例以宣城市为例,提供了一种基于领域知识约束规则下的城市建设用地时间维度扩增技术方法。根据宣城市的1990年的城市建设用地断面图像数据和宣城市的2005
年的城市建设用地断面图像数据分别作为待扩增数据的前时间断面图像数据和后时间断
面图像数据。如图1所示,具体包括下述步骤:
[0188] (1)参数设定:对需要扩增的断面的个数及各模型初始化参数进行设定。涉及的参数:
[0189] (1‑1)命令调出python编程IDE;
[0190] (1‑2)图片读取模式为灰度读取参数;
[0191] (1‑3)宣城市的1990年的城市建设用地断面图像数据地址;
[0192] (1‑4)宣城市的2005年的城市建设用地断面图像数据地址;
[0193] (1‑5)第一次聚类簇个数为7;
[0194] (1‑6)第二次聚类簇个数为30;
[0195] (1‑7)待扩增图像数据个数为30;
[0196] (1‑8)主城区与非主城区区分阈值参数为2;
[0197] (1‑9)生成图像数据文件存放地址参数。
[0198] (2)获取宣城市图像差分的数据
[0199] 从已有数据中依次取出1990年和2005年宣城市时间断面的图像数据,分别见图2,图3,对两个断面的数据进行灰度化二值处理,对两个时间断面的图像数据进行图像差分,
得到差值图像作为1990年‑2005年跨度内的城市建设用地地块的全部变化量;
[0200] (2‑1)根据(1)的中各参数的初始化结果,通过Python的第三方模块读入图片,其中读入的方式为灰度模式,得到关于宣城市城市建设用地图片数据的灰度矩阵表示形式;
[0201] (2‑2)针对宣城市城市建设用地图片数据存在灰度值不统一的情况,通过编写程序灰度化、二值化处理;编写程序,对二值化的1990年和2005年宣城市时间断面的矩阵图像
数据进行图像差分,得到二值化差值图像;
[0202] 上述具体步骤为:
[0203] (2‑2‑1)基于读入得到两两时间断面的前一个时间断面1990年宣城市矩阵图像数据,编写程序,对调用库函数对每个像素点进行判断是否为灰度值255,建立像素点灰度值
不为255的矩阵图像索引;
[0204] (2‑2‑2)通过python第三方库编写程序,调用其函数,获得1990年宣城市图像数据的时间断面维度,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰
度值全为255的纯背景矩阵;
[0205] (2‑2‑3)在得到的纯背景矩阵上,编写程序,针对(2‑2‑2)得到的矩阵图像索引的相应位置设置灰度值为0;
[0206] (2‑2‑4)得到关于宣城市1990年时间断面的二值化图像数据,其中背景为255,前景地块为0;
[0207] (2‑2‑5)基于读入得到两两时间断面的后一个时间断面2005年宣城市矩阵图像数据,编写程序,对齐每个像素点进行判断是否为灰度值255,建立像素点灰度值不为255的矩
阵图像索引;
[0208] (2‑2‑6)通过python第三方库获得后一个时间图像数据的维度,编写程序定义背景矩阵变量,根据通过python第三方库获得图像数据的维度初始化一个同样维度的灰度值
全为255的纯背景矩阵;
[0209] (2‑2‑7)在得到的纯背景矩阵上,得到的矩阵图像索引的相应位置设置灰度值为0;
[0210] (2‑2‑8)得到关于宣城市2005年时间断面的二值化图像数据,其中背景为255,前景(地块)为0;
[0211] (2‑2‑9)编写程序,对前述得到的宣城市二值化图像数据调用第三方差分函数,进行图像差分;
[0212] (2‑2‑10)编写程序,针对得到的宣城市二值化图像数据调用第三方进行图像差分结果,对各像素点进行灰度值是否为0的判断;
[0213] (2‑2‑11)编写程序,针对判断的结果,对灰度值为0的像素点建立二值化差值图像的灰度矩阵索引;
[0214] (2‑2‑12)编写程序,定义矩阵索引变量,根据判断的结果,得到二值化差值图像的灰度矩阵索引,由于索引为二元组的形式,二元组的第一项为X维度,第二项为Y维度;
[0215] (2‑2‑13)编写程序,针对得到的矩阵索引,调用第三方库函数,得到元祖元素的长度,遍历元祖元素的长度,得到关于索引的长度×2的二维索引矩阵。
[0216] (3)界定宣城市主城区的地块和非主城区的地块;
[0217] (3‑1)编写程序,采用聚类的方式对(2)中得到的宣城市二值化差值图像进行分析,首先将聚类值变量赋值为奇数7,调用第三方聚类函数,得到宣城市主城区和非主城区
的各地块部分;
[0218] (3‑2)编写程序,调用Python原生排序函数,对聚类后的宣城市各地块部分的面积进行计算并按照从大到小的顺序进行排序;
[0219] (3‑3)编写程序,计算排序结果的前两个面积大小的比值,与主城区阈值2进行比较,如果大于阈值,说明第一个为主城区,如果不大于,继续比较将排序结果的第二、第三个
面积大小的比值与得到主城区阈值进行比较,依次类推直到找到满足大于阈值的条件终
止;
[0220] (3‑4)编写程序,定义宣城市主城区变量,将主城区根据(3‑3)进行赋值,其余作为非主城区。
[0221] (4)确定宣城市主城区扩面模块,并获取每个主城区簇的中心坐标
[0222] (4‑1)编写程序,遍历所有宣城市主城区,在每个城区遍历所有的地块;
[0223] (4‑2)根据(1)参数设定,编写程序,调用第三方聚类函数,对需要扩增的断面的个数进行二次聚类;
[0224] (4‑3)编写程序,得到30个聚类簇;
[0225] (4‑4)编写程序,基于第三方库调用函数得到宣城市各个聚类簇的中心点的坐标;
[0226] (4‑5)编写程序,将全部聚类簇的中心点坐标进行求和,然后取平均作为相应主城区的中心坐标;
[0227] (4‑6)编写程序,对宣城市各个主城区分别定义变量并编号;
[0228] (4‑7)编写程序,将宣城市各个主城区的编号作为关键字,定义字典并赋值;
[0229] (4‑8)编写程序,将宣城市各个主城区的关键字对应的字典值赋值为中得到的相应各个主城区的中心坐标。
[0230] (4‑9)确定宣城市非主城区的扩增模块
[0231] (4‑10)编写程序,根据宣城市非主城区生成方式进行参数赋值并进入相应选择;
[0232] (4‑11)编写程序,首先选择方式一,扩增的方式为包括多个扩增步骤;
[0233] 上述具体步骤为
[0234] (4‑11‑1)编写程序,遍历所有宣城市非主城区,在非主城区遍历所有的地块;
[0235] (4‑11‑2)编写程序,根据(1)所述的参数设定,对需要扩增的断面的个数进行二次聚类;
[0236] (4‑11‑3)编写程序,调用基于第三方库进行二次聚类,得到30个聚类簇;
[0237] (4‑11‑4)编写程序,基于第三方库得到各个聚类簇的中心点的坐标;
[0238] (4‑11‑5)编写程序,将全部聚类簇的中心点坐标进行求和,然后取平均作为相应宣城市非主城区的中心坐标;
[0239] (4‑11‑6)编写程序,将宣城市各个非主城区分别编号;
[0240] (4‑11‑7)编写程序,将宣城市各个非主城区的编号作为关键字,构建字典;
[0241] (4‑11‑8)编写程序,将得到的宣城市各个非主城区的关键字对应的字典值输入为中得到的相应各个非主城区的中心坐标;
[0242] (4‑12)编写程序,选择方式二,扩增的方式包括多个扩增步骤;
[0243] 上述具体步骤为:
[0244] (4‑12‑1)编写程序,确定为平均方式进行扩增;
[0245] (4‑12‑1‑1)编写程序,对需要扩增的断面的个数进行变量定义;
[0246] (4‑12‑1‑2)编写程序,对需要扩增的断面的个数进行变量赋值;
[0247] (4‑12‑1‑3)编写程序,将赋值变量作为待扩增个数,获得宣城市非主城区字典;
[0248] (4‑12‑1‑4)编写程序,宣城市非主城区字典的各个簇的变量赋值后,去除以30进行变量从而得到每次扩增的步长;
[0249] (4‑12‑1‑5)编写程序,遍历宣城市非主城区字典,每次扩增步长长度的图像。
[0250] (5)确定宣城市城市建设用地扩增顺序
[0251] (5‑1)编写程序,获取得到的30个时间断面的宣城市城区和非城区的聚类簇的中心点的坐标变量;
[0252] (5‑2)编写程序,获取得到的宣城市各个主城区与非主城区的中心坐标变量(各城区聚类后各簇的中心坐标平均得到);
[0253] (5‑3)编写程序,调用Python第三方库,对获取的各类聚类簇的中心坐标按照与获取的宣城市各个主城区与非主城区的中心坐标的距离进行计算;
[0254] (5‑4)编写程序,调用Python第三方库,对计算后的结果进行排序,排序方式为升序,即距离从小到大;
[0255] (5‑5)编写程序,按照聚类簇个数作为待遍历的长度;
[0256] (5‑6)编写程序,按照聚类簇个数作为需要遍历的长度进行遍历;
[0257] (5‑7)编写程序,定义并构建关于聚类簇中心点的字典;
[0258] (5‑8)编写程序,构建关于聚类簇中心点的字典的基础上,以遍历索引为key;
[0259] (5‑9)编写程序,根据构建关于聚类簇中心点的字典的基础上,以遍历索引为key,相应的key对应的值为对应聚类簇下的全部坐标;
[0260] (5‑10)编写程序,构建列表,用于存储生成的各字典;
[0261] (5‑11)编写程序,依次加入构建的列表中,按照顺序进行存储;
[0262] (6)将宣城市每一次的城市建设用地的扩增进行生成并保存;
[0263] (6‑1)编写程序,从获得的数据中取出宣城市1990年的时间断面的图像数据作为初始图像;
[0264] (6‑2)编写程序,基于待扩增图片个数参数30,对待扩增图片个数进行遍历;
[0265] (6‑3)编写程序,在遍历的过程中,得到宣城市各个主城区的子簇,各个非主城区的步长,结合获得的初始图像进行遍历同步扩增;
[0266] (6‑4)编写程序,调用Python的图像生成模块,进一步设定生成图像的参数如图片质量等关键参数;
[0267] (6‑5)编写程序,调用Python的图像生成模块,设定生成图像的参数如图片存放地址;
[0268] (6‑6)编写程序,调用Python的图像生成模块,进一步对图像进行生成;
[0269] (6‑7)得到并确认扩增的图像数据,图像4为宣城市城市建设用地1990年‑2005年某次扩增的过程图。
[0270] 前述的实例仅是说明性的,用于解释本发明所述方法的一些特征。所附的权利要求旨在要求可以设想的尽可能广的范围,且本文所呈现的实施例仅是根据所有可能的实施
例的组合的选择的实施方式的说明。因此,申请人的用意是所附的权利要求不被说明本发
明的特征的示例的选择限制。在权利要求中所用的一些数值范围也包括了在其之内的子范
围,这些范围中的变化也应在可能的情况下解释为被所附的权利要求覆盖。