当前位置: 首页 > news >正文

扬中网站建设机构上海市招工网

扬中网站建设机构,上海市招工网,鞍山天乙网络推广有限公司,创建网站能赚钱吗python读取tif的包很多,但大都只能读出图像像素值,不能读取到经纬度信息。原因:TIFF 简单理解就是一种图像格式,类似于 jpg、png 等。GeoTIFF 就是在普通 TIFF 文件上增加了地理位置、投影信息、坐标信息等,常用于遥感…

python读取tif的包很多,但大都只能读出图像像素值,不能读取到经纬度信息。原因:TIFF 简单理解就是一种图像格式,类似于 jpg、png 等。GeoTIFF 就是在普通 TIFF 文件上增加了地理位置、投影信息、坐标信息等,常用于遥感数据,所以要使用读取GeoTIFF的库进行信息读取。

1、GeoTIFF读取

GeoTIFF使用gdal进行读取,GDAL 是一个开源的操作栅格数据和矢量数据的库,可用于读写、获取坐标系、获取指定位置像元值等。

2、安装 GDAL 库

使用:pip install gdal,安装。windows上安装有时会报错,采用whl 进行安装。下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal,我用的python3.9所以下下面那个库。

下载后,按绝对路径执行安装:pip install D:\DownLoad\GDAL-3.4.3-cp39-cp39-win_amd64.whl

引用包:

import numpy as np
from osgeo import gdal, osr

3、值读取

所以只有一个波段,因此 Band 数默认就是 1 了,如果是需要多波段,就是GetRasterBand(band) 的参数需要改一下。

tif_file = r"C:\Users\i\Desktop\dsm.tif"
dataset = gdal.Open(tif_file)
img = dataset.GetRasterBand(1).ReadAsArray() # 1个波段
print(type(img), img.shape, img[1000,1000])
=>
<class 'numpy.ndarray'> (9783, 8617) 15.39856

其它函数细节:

1、读取某一像素点的值

(1)读取一个波段,其参数为波段的索引号,波段索引号从1开始(我打开的这幅图像只有一个波段)

band=dataset.GetRasterBand(1)

(2)用ReadAsArray(, , ,),读出从(xoff,yoff)开始,大小为(xsize,ysize)的矩阵。以下为读取整幅图像

im_datas=band.ReadAsArray(0,0,im_width,im_height)

(3)获取某一或某几个像素的值(查看10~14 行和 20~25 列的数据)

data=im_datas[10:15,20:26]

(4)释放内存。如果不释放,在arcgis或envi中打开该图像时显示文件已被占用

del dataset

4、计算对应的GPS

使用的就是gdal里面的GetGeoTransform方法读取坐标,该方法会返回仿射矩阵,形式为以下六个参数:

0:左上角横坐标(投影坐标,经度);

1:像元宽度,影像东西/水平方向分辨率;

2:行旋转,如果图像北方朝上,该值为0;

3:左上角纵坐标(投影坐标,纬度);

4:列旋转,如果图像北方朝上,该值为0;

5:像元高度,影像南北/垂直方向分辨率(北上图为负值)。

则,左上角的地理坐标为:(GT(0) , GT(3) ),如果图像不含地理坐标信息,默认返回值是:(0,1,0,0,0,1);如果影像是指北的,padfGeoTransform[2]和padfGeoTransform[4]这两个参数的值为0。

tif_file = r"C:\Users\xxx\Desktop\dsm.tif"
dataset = gdal.Open(tif_file)
extend = dataset.GetGeoTransform()  # 读取地理信息
print("左上角地理坐标为:", extend[0], extend[3])
n_xsize = dataset.RasterXSize  # 列数
n_ysize = dataset.RasterYSize  # 行数
im_bands = dataset.RasterCount # 波段数
im_proj = dataset.GetProjection() # 地图投影信息def get_locate_xy(extend, i, j):""" 计算某个坐标(i,j)位置下的地理坐标(x,y) - WGS84:param extend: GetGeoTransform() 读取地理信息:param i: 行号:param j: 列号:return: (px, py)"""px = extend[0] + i * extend[1] + j * extend[2]py = extend[3] + i * extend[4] + j * extend[5]return (px, py)

参考文章:

1、GDAL 操作 TIFF 文件 Python 代码整理:读写、获取坐标系、获取指定位置像元值等教程

https://laowangblog.com/gdal-read-and-write-tiff-with-python.html

2、【基础知识】tiff格式图片介绍及读取

https://betheme.net/xiaochengxu/27055.html?action=onClick

3、基于python和GDAL实现遥感影像重采样(改变分辨率)-修改tif参数及数据

https://blog.csdn.net/gisuuser/article/details/106304155

4、01-利用Python实现多波段影像合成

https://zhuanlan.zhihu.com/p/126130709

http://www.laogonggong.com/news/79598.html

相关文章:

  • 镇赉县做网站的公司网站百度地图
  • 网站域名301是什么意思什么网站是solr做的
  • 中卫市住房和城乡建设局网站好的网站或网页
  • 北京 网站设计飞沐网站cms在线识别
  • 企业网站是企业在互联网上进行网络营销爱站网官网
  • 建设银行网站电脑版淘宝便宜的团购网站建设
  • 中国六冶的网站谁做的小米发布会ppt模板
  • 北京网站建设 都选万维科技vue大型网站怎么做路由
  • 做网站后有人抢注关键词湛江企业建站程序
  • 西宁市建设网站公司电话广告设计与制作专业就业方向有哪些
  • 国外什么推广网站好手机版网站嵌入代码
  • 好看网电影网站模板深圳提供网站建设制作
  • 你愿意做我女朋友吗表白网站网络营销师资格证有什么用
  • 建筑案例网站有哪些深圳做网站做app
  • 住房与城乡建设网上办事大厅扬州seo博客
  • 大连网站开发建站大兴网站建设制作
  • 申请个网站要多少钱宿迁网站建设
  • 济南网站建设 找小七公司免费建网站
  • 南昌网站建设冲浪者免费视频素材下载的网站
  • 有后台支撑的网站建设合同南京电子商务网站建设
  • 做漫画网站的素材合作制作网站
  • 苏州企业网站建设开发企业网站的设计怎么做
  • 免费psd素材网站wordpress主题移植
  • 大型网站建设公司php网站开发视频
  • 关于网站建设的外文翻译东莞人才市场招聘信息2023
  • 怎么自己做音乐网站室内设计培训学费多少
  • 平台网站建设协议北京网站备案地址
  • 手机网站seo怎么做网站建设qq群
  • 微信小程序公司网站怎么制作网站介绍模版
  • 长治网站制作招聘信息最珠海app下载安卓版