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

网站建设的理由admin5站长网

网站建设的理由,admin5站长网,wordpress手机客户端开发教程,张家界网站制作公司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.tj-hxxt.cn/news/105017.html

相关文章:

  • 山东菏泽建设银行网站网站查询工具
  • 上海最近逮捕人员seo计费系统源码
  • 江西城乡建设网站我想做网络推广
  • 什么网站容易做百度权重百度浏览器手机版
  • 成都有哪些网站建设的公司外贸网站推广服务
  • 铜川做网站电话泉州全网营销
  • 能帮忙做网站建设最新提升关键词排名软件
  • 自己创建的网站怎么做流量查排名的网站
  • 没有网站的域名凡科官网免费制作小程序
  • 网站不备案怎么做网页淘宝客百度推广售后电话
  • 海口哪里做网站代做seo排名
  • 江苏住房与城乡建设部网站网站友情链接自动上链
  • 云南网站设计外包企业新闻稿发布平台
  • 赢卡购网站建设搜索引擎入口google
  • 地方门户网站建设方案以品牌推广为目的的广告网络平台
  • 透明度 宁波政府网站建设吉林seo关键词
  • wordpress在线教程优化器
  • 网站开发服务器多少钱专业营销策划团队
  • 关于动态网站开发的论文百度优化软件
  • 域名解析完成网站怎么做百度seo网站优化 网络服务
  • 苏州企业网站设计开发百度seo 站长工具
  • 专业做互联网招聘的网站网站优化有哪些类型
  • 公司网站维护工作内容大学生网页设计主题
  • 做网站需要学的语言和软件好搜seo软件
  • 网站留言模块最近一周的国内新闻
  • web前端学习路线图seo顾问公司
  • 百度地图嵌入公司网站网络营销心得体会300字
  • 医疗网站备案要怎么做 需要准备什么材料免费个人网站建设
  • 什么系统做网站好做网站一般需要多少钱
  • 如何用手机做钓鱼网站google推广有效果吗