土地资源优化

遗传算法 粒子群 人工蜂群 案例合集

案例1:栅格土地优化,考虑土地连续性(2022.GA23)link
案例2:



1、概述

土地优化关键处理技术
1、土地连续性:优化前后,土地栅格不能太离散,否则不符合实际情况
2、土地类型转换限制:不同土地栅格可转化的类型不一样,例如:草地不能转为矿场等
3、土地栅格固定不变:有些土地栅格不能变化,如道路、河流栅格


2、关键技术

由于上述限制,只能自定义算子,主要涉及2类:
1)考虑栅格连续性的进化算子
2)考虑土地类型转换限制的纠错算子

3、代码

下面展示一些 内联代码片

def writeTiff(im_data, im_geotrans, im_proj, path):
    if 'int8' in im_data.dtype.name:
        datatype = gdal.GDT_Byte
    elif 'int16' in im_data.dtype.name:
        datatype = gdal.GDT_UInt16
    else:
        datatype = gdal.GDT_Float32

    im_bands, (im_height, im_width) = 1, im_data.shape
    # 创建文件
    driver = gdal.GetDriverByName("GTiff")
    dataset = driver.Create(path, im_width, im_height, im_bands, datatype)
    if (dataset != None):
        dataset.SetGeoTransform(im_geotrans)  # 写入仿射变换参数
        dataset.SetProjection(im_proj)  # 写入投影
    im_data = im_data.astype(np.int8)

    dataset.GetRasterBand(1).WriteArray(im_data)
    dataset.FlushCache()
    dataset.GetRasterBand(1).ComputeStatistics(False)
    del dataset


def trans2Array(tifData):
    im_width = tifData.RasterXSize  # 栅格矩阵的列数
    im_height = tifData.RasterYSize  # 栅格矩阵的行数
    band = tifData.GetRasterBand(1)
    im_geotrans = tifData.GetGeoTransform()
    im_proj = tifData.GetProjection()  # 地图投影信息

    data = band.ReadAsArray(0, 0, im_width, im_height)
    return data
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值