[空间分析] 低分辨率转高分辨率-DEM与栅格图像配准-空间内插

如果是遥感图像,要用几何配准的方法,不适合此方法
此方法适用于类似于DEM、温度栅格图这样的单DN值图像。这种图像往往很不好进行配准(对应点好不选)

【问题背景】两幅不同的分辨率的DEM(DEM1,DEM2),将分辨率统一
【思路】低分辨率的DEM1 -->转成点要素 --> 插值(按照DEM2的范围、DEM2的分辨率)–> 得到产品raster
【原理】一幅栅格图=矩阵+栅格大小(分辨率)+栅格的范围(左下角的经纬度) --> 栅格大小、栅格范围一定,栅格的框框位置也一定,也对的上
【判断分辨率是否转成一样】

  1. 肉眼看,一个像元的位置和大小是否一样(可以通过卷帘功能)
  2. 进行简单的栅格运算,如果能运算成功即分辨率相同了(计算:raster+DEM2)

【异常处理】如果上一步处理之后,框框的位置还是对不到
这里提供一个Python代码,利用的是Arcpy里的模块,强行将框框的位置对齐

# -*- coding:utf-8 -*-
# Author: PasserQi
# Time:20181009
# Desc:
#   问题背景:两幅不同分辨率的DEM,将DEM分辨率统一
#   第一步:[DEM1]-->转成点-->插值(按照DEM2的范围、DEM2的分辨率)-->得到产品[DEM11]
#       问题:得到的产品[DEM11] 和 DEM2 分辨率相同,但是栅格的位置不同
#   第二步:使用Arcpy强行对齐,有精度问题
import arcpy

import arcpy,sys
from arcpy.sa import *

arcpy.CheckOutExtension("sptial") #权限检查

# 得到初始参数
# DEM11 = sys.argv[1]
# DEM2 = sys.argv[2]
# outPath = sys.argv[3]


DEM11 = r'' # DEM11的全路径
DEM2 = r'' # DEM2的全路径
outPath = r'' # 输出路径

if __name__ == '__main__':
    dem11 = Raster(DEM11) #打开栅格
    r1 = arcpy.RasterToNumPyArray(dem11) #转成Numpy方便对每个像元进行处理

    # dem2栅格基础的信息
    dem2 = Raster(DEM2)
    noDataValue = dem2.noDataValue
    lowerLeft = arcpy.Point(dem2.extent.XMin, dem2.extent.YMin)
    cellWidth = dem2.meanCellWidth
    cellHeight = dem2.meanCellHeight

    newRaster = arcpy.NumPyArrayToRaster(r1, lowerLeft, cellWidth, cellHeight, noDataValue)  # 转换成栅格
    newRaster.save(outPath)  # 保存
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

geodoer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值