从地理空间数据云(http://www.gscloud.cn/)上下载了GDEMV2—30米分辨率的数据,检索按照行政区来的。

下载完的数据解压缩以后,如下:

1.首先把所有的文件夹下的dem数据路径读入到TXT文件中,代码:

此部分参考:https://blog.csdn.net/weixin_42236288/article/details/81810761

import os# 查询符合条件的文件
f = open(r'D:\ProfessionalProfile\DEMdata\StatisticsDEMfile.txt','w')
j,k=0,0
def file(root, ext):for i in os.listdir(root):  # os.listdir(root) 读取root目录下的文件和目录# os.path.splitext()将文件名和扩展名分开ext = os.path.splitext(root + '\\' + i)  # os.path.splitext()读取文件扩展名if ext[1]:  # 有扩展名时 为文件global jif i.count(ex) > 0:  # 包含特定字符pathDEM = root +'\\'+ if.write(pathDEM + '\n')f.flush()# print(pathDEM)  # 输出j += 1else:global kif i.count(ex) > 0:  # 包含特定字符pathDEM2 = root + r'\\' + i# print( pathDEM2)  # 输出k += 1root1 = root + '\\' + i  # 拼接目录file(root1, ext)  # 递归调用print('文件数量为:', j)# print('文件夹数量为:', k)
# f.close()# root = os.getcwd()  # 生成目录 root
# 包含的特定字符
ex = 'dem'
# 调用函数
file('D:\ProfessionalProfile\DEMdata\GDEMV2_30m_shandong','.tif')

运行后得到文件:

2.对该TXT文件里的影像进行拼接

参考:https://blog.csdn.net/qq_43177210/article/details/108402353?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=2a4eb29a-3fae-44ad-8384-ce28a6a41f0a&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

# 如果图片大于4G,需要在输入图片路径前加入 -co BIGTIFF=YES
# subprocess 模块首先推荐使用的是它的 run 方法,更高级的用法可以直接使用 Popen 接口。
import subprocess# 路径
create_slope = r'''E:\r_python\python.exe E:\r_python\Scripts/gdal_merge.py -of GTiff -o '''
list = []
# 打开TXT文件路径
f = open(r'D:\ProfessionalProfile\DEMdata\StatisticsDEMfile.txt', 'r')
# 获取TXT文件中所有DEMTIF文件路径
# readlines()函数:1、一次性读取整个文件。2、自动将文件内容分析成一个行的列表。
lines = f.readlines()
# strip()函数:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。# 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
fileDir = [x.strip() for x in lines]
# 遍历所有TIF文件
list = fileDir
# print(list)# 生成文件路径
tarDir = r'D:\ProfessionalProfile\DEMdata'
#这句没懂
filename = ' '.join(list)
# l3 = len(filename)
# print(filename)
# subprocess.call执行指定的命令,返回命令执行状态,其功能类似于os.system(cmd)。详见:https://www.cnblogs.com/zhou2019/p/10582716.html
# subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False, timeout=None)
subprocess.call(create_slope + r'D:\ProfessionalProfile\DEMdata\demMosaic1224.tif' + ' ' + '-co COMPRESS=LZW ' + filename)

运行结果如下(ENVI中打开):

此外,还学习到了很多,如:

subprocess模块的信息可参考:https://www.cnblogs.com/zhou2019/p/10582716.html

https://blog.csdn.net/m0_38051293/article/details/103218755?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-7&spm=1001.2101.3001.4242

https://blog.csdn.net/weixin_40450867/article/details/104191939

https://blog.csdn.net/qq_36178899/article/details/83989031?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase

3.裁剪

https://blog.csdn.net/weixin_40501429/article/details/114140680

Python实现栅格数据拼接、裁剪等操作相关推荐

  1. Python使用GDAL矢量裁剪栅格,设置背景值为空白(已解决)

    一.使用gdal.Warp gdalwarp 实用程序是一种图像拼接.重投影和扭曲实用程序.该程序可以重新投影到任何支持的投影.如果图像是带有控制信息的"原始"图像,也可以存储原始 ...

  2. python播放视频代码_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

  3. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件

    基本知识 灰度图像的存储方式: image 多通道图像存储方式 image OpenCV 中的通道存储为 BGR 像素值的存储方式 RGB 模式,显示设备采用这种模式 HSV.HLS 将颜色分解成色调 ...

  4. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

    浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...

  5. 利用python进行png图像的读写操作

    利用python进行png图像的读写操作 最近遇到了对png灰度图像进行读取,并统计图像中众数的需求,现将代码记录如下.ps:适用于单波段图,形如(X,Y). 1.导入需要的包 import matp ...

  6. python查询银行汇款_基于Python实现一个简单的银行转账操作

    前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层.核心的技术.而且在实际开发中,数据库的操作也就是说数据访问层都是嵌套在 ...

  7. python字符串高效拼接

    众所周知,为了使字符串的使用如整形等基本类型一样安全,无副作用,字符被限定为不可变对象,也就是说绝大部分对字符串的修改操作将会创建新的字符串对象,而不是返回原字符串,这就容易造成不断创建对象,申请内存 ...

  8. python字符串的拼接名字的组成_Python拼接字符串的7种方法

    python拼接字符串一样平常有以下几种方式: 1,通过(%)操作符拼接 print('%s %s' % ('Hello', 'world')) >>> Hello world 2, ...

  9. Python中的文件及目录操作

    Python中的文件及目录操作 在变量.序列和对象中存储的数据是暂时的,程序结束后就会丢失.为了能够长时间地保存程序中的数据,需要将程序中的数据保存到磁盘文件中.Python提供了内置的文件对象和对文 ...

  10. python 列表加入变量_python-变量操作-列表

    Python3 列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见 ...

最新文章

  1. 乐观准则和最小后悔值怎么算_婚姻危机:结婚后想离婚,你该怎么办?
  2. Java应用中使用ShutdownHook友好地清理现场(转)
  3. 共享童车,怎么还没火就凉了
  4. 默认轮播,鼠标移入停止,移出继续
  5. java监听机制_详解java的事件监听机制和观察者设计模式
  6. 为什么我使用Java
  7. 船员英语老师是面试还是计算机答题,面试时的英语介绍
  8. 来到ThoughtWorks
  9. 歌声合成:mid与xml 乐谱文件解析(3)
  10. 并(zhao)查(die)集详解以及其优化版本
  11. wap建站程序源码_织梦程序搭建网站实例教程,想尝试搭建网站的朋友赶紧保存了...
  12. android studio 4.0 开启offline
  13. Fabric 1.0 ubuntu1704安装过程
  14. 抖音直播新号怎么起号?抖音直播间不进人怎么办?
  15. 【Elasticsearch】elasticsearch–ik安装
  16. oracle数据库表数据误删除恢复
  17. Dell optiPlex麦克风显示未插入问题解决
  18. gdb 查看内存 及 变量类型
  19. linux驱动 设备驱动模型
  20. 【JVM进阶之路】垃圾回收机制和GC算法之三色标记(三)

热门文章

  1. 在 HTML 语言中,试题15
  2. 切片 go 去除第一个_Go语言入门指南,带你轻松学Go
  3. redis数据类型-字符串
  4. springmvc配置拦截器
  5. Java雨水计量_雨水24小时的降雨量怎么计算?
  6. python元类_Python中元类
  7. python按钮代码_Python QPalette.Button方法代码示例
  8. python 运行时 变量_在运行时在python中检索变量的名称?
  9. arraylist 线性不安全_Java面试系列(一)--集合类ArrayList
  10. C#:JObject、JArray、JProperty、JValue作用