from osgeo import gdal

# 读图像文件

def read_img(filename):

dataset = gdal.Open(filename) # 打开文件

im_width = dataset.RasterXSize # 栅格矩阵的列数

im_height = dataset.RasterYSize # 栅格矩阵的行数

im_geotrans = dataset.GetGeoTransform() # 仿射矩阵

im_proj = dataset.GetProjection() # 地图投影信息

im_data = dataset.ReadAsArray(0, 0, im_width, im_height).astype(np.float) # 将数据写成数组,对应栅格矩阵

del dataset # 关闭对象,文件dataset

return im_proj, im_geotrans, im_data, im_height, im_width

def write_img(filename, im_proj, im_geotrans, im_data):

# gdal数据类型包括

# gdal.GDT_Byte,

# gdal .GDT_UInt16, gdal.GDT_Int16, gdal.GDT_UInt32, gdal.GDT_Int32,

# gdal.GDT_Float32, gdal.GDT_Float64

# 判断栅格数据的数据类型

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

# 判读数组维数

if len(im_data.shape) == 3:

im_bands, im_height, im_width = im_data.shape

else:

im_bands, (im_height, im_width) = 1, im_data.shape

# 创建文件

driver = gdal.GetDriverByName("GTiff") # 数据类型必须有,因为要计算需要多大内存空间

dataset = driver.Create(filename, im_width, im_height, im_bands, datatype)

dataset.SetGeoTransform(im_geotrans) # 写入仿射变换参数

dataset.SetProjection(im_proj) # 写入投影

if im_bands == 1:

dataset.GetRasterBand(1).WriteArray(im_data) # 写入数组数据

else:

for i in range(im_bands):

dataset.GetRasterBand(i + 1).WriteArray(im_data[i])

del dataset

if __name__=='__main__':

proj, geotrans, values, row, column = read_img(输入数据) # 读数据

write_img(r'输出地址', proj, geotrans, 输出影像名称)#写数据

python遥感数据有偿处理_利用python读写tiff遥感影像数据相关推荐

  1. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  2. python处理数据的包_在Python中利用Into包整洁地进行数据迁移的教程

    动机 我们花费大量的时间将数据从普通的交换格式(比如CSV),迁移到像数组.数据库或者二进制存储等高效的计算格式.更糟糕的是,许多人没有将数据迁移到高效的格式,因为他们不知道怎么(或者不能)为他们的工 ...

  3. python爬取百度文库_利用Python语言轻松爬取数据

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  4. python爬取网易云_利用python爬取网易云音乐,并把数据存入mysql

    作者:sergiojune Python爱好者社区--专栏作者 个人公众号:日常学python 专注python爬虫,数据可视化,数据分析,python前端技术 公众号:Python爱好者社区 获取本 ...

  5. python数据逆透视_利用Python实现数据逆透视

    Hello大家好,欢迎来到[统计GO],本公众号定期分享一些好用的数据分析工具,帮助大家花更少的时间学更多的知识. 如果本期内容(使用Python实现逆透视)对您有所帮助,记得及时关注. 背景介绍 今 ...

  6. 如何用python完成评分功能呢_利用python基于电影评分数据进行

    本文以Movielens 1M数据集为例,利用Python,对电影的各项数据进行分析,分析对于不同的性别的电影评分,以及性别差异对评分的差异 加载python库以及数据: import pandas ...

  7. python怎么读取sav格式_利用Python读取外部数据文件

    利用Python读取外部数据文件 [color=rgb(0, 0, 0) !important]刘顺祥 [color=rgb(0, 0, 0) !important]摘要: 不论是数据分析,数据可视化 ...

  8. 钉钉python 自动发消息软件_利用Python自动发送钉钉数据消息,一个简单的上手小项目...

    现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少.所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片.起到一个激励团队的作用 ...

  9. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

最新文章

  1. 中国人工智能AI框架自主研发
  2. 计算机图形学画圆vc代码,计算机图形学实验--完整版-带结果--vc++实现.doc
  3. 升级BIOS解决DELL R730XD虚拟机死机问题
  4. mysql ssh错误_通过SSH隧道连接时,MySQL访问被拒绝错误
  5. ZZUOJ 1199 大小关系(拓扑排序,两种方法_判断入度和dfs回路判断)
  6. Java 中textarea 换行,textarea 中的换行符
  7. 数人云CTO解读Docker 1.12和金融业容器化
  8. 买苹果---动态规划
  9. 穿越火线好友服务器不稳定,穿越火线合区后新危机,玩家:卡顿掉帧没法玩
  10. jquery读写cookie
  11. 【sklearn第二讲】基于sklearn的机器学习
  12. HDUOJ-------1753大明A+B(大数之小数加法)
  13. 调用iframe 中的js[兼容各种浏览器]
  14. 华为交换机基础命令合集
  15. java解压zip压缩文件
  16. Java调用的高德api,通过经纬度查询地址信息 - 记录
  17. 如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。
  18. Python绘图库Matplotlib.pyplot之网格线设置(plt.grid())
  19. weiit商业saas电商解决方案帮助商家增长
  20. 这些面试技巧,必须要掌握!

热门文章

  1. Java连接Mysql数据库(JDBC)
  2. 不使用session,借助redis实现验证码
  3. lintcode最长回文子串(Manacher算法)
  4. 编译原理简单语法分析器(first,follow,分析表)源码下载
  5. java web 应用技术与案例教程_《Java Web应用开发技术与案例教程》怎么样_目录_pdf在线阅读 - 课课家教育...
  6. MIP改造常见问题二十问
  7. java第一 ++--
  8. 介绍一下再Apache下的Tomcat负载均衡的一些使用问题
  9. 关于概率算法的问题,不知道逻辑错在哪里,求debug
  10. centos下安装pip时失败: