python使用gdal读取tif经纬度

  • 前言
  • 一、tif是什么?
  • 二、使用gdal读取经纬度
    • 1.引入库
    • 2.读取坐标
  • 总结

前言

博主作为一个GIS开发者,开发过程中不免遇到一些处理tif的问题和心得,所以在这里向大家分享一下有关tif文件的经纬度坐标读取

一、tif是什么?

TIFF(Tag Image File Format)图像文件是图形图像处理中常用的格式之一,其图像格式很复杂,但由于它对图像信息的存放灵活多变,可以支持很多色彩系统,而且独立于操作系统,因此得到了广泛应用。在各种地理信息系统、摄影测量与遥感等应用中,要求图像具有地理编码信息,例如图像所在的坐标系、比例尺、图像上点的坐标、经纬度、长度单位及角度单位等等,这些都是tif的应用范围。简单说,tif是一张具有地理编码信息的图像。

二、使用gdal读取经纬度

1.引入库

GDAL是一个用于栅格和矢量地理空间数据格式的转换程序库,在X/MIT风格的开放源代码下发布许可 ,首先我们安装gdal

pip install gdal

2.读取坐标

代码如下:

from osgeo import gdalfilePath = '1.tif'  # tif文件路径
dataset = gdal.Open(filePath)  # 打开tifadfGeoTransform = dataset.GetGeoTransform()  # 读取地理信息# 左上角地理坐标
print(adfGeoTransform[0])
print(adfGeoTransform[3])nXSize = dataset.RasterXSize  # 列数
nYSize = dataset.RasterYSize  # 行数print(nXSize, nYSize)arrSlope = []  # 用于存储每个像素的(X,Y)坐标
for i in range(nYSize):row = []for j in range(nXSize):px = adfGeoTransform[0] + i * adfGeoTransform[1] + j * adfGeoTransform[2]py = adfGeoTransform[3] + i * adfGeoTransform[4] + j * adfGeoTransform[5]col = [px, py]  # 每个像素的经纬度row.append(col)print(col)arrSlope.append(row)

上面的代码其实已经实现获取tif中经纬度,如果大家仔细研究一下会发现,其实我们使用的就是gdal里面的GetGeoTransform方法读取坐标,简单介绍一下该方法,该方法会返回以下六个参数

GT(0) 左上像素左上角的x坐标。
GT(1) w-e像素分辨率/像素宽度。
GT(2) 行旋转(通常为零)。
GT(3) 左上像素左上角的y坐标。
GT(4) 列旋转(通常为零)。
GT(5) n-s像素分辨率/像素高度(北上图像为负值)

总结

如果上述内容存在问题,欢迎大家批评指正

python使用gdal读取tif经纬度相关推荐

  1. python使用gdal读取shp文件

    from __future__ import division import pandas as pd from osgeo import ogr, osr, gdal import osdef re ...

  2. Python遥感图像处理应用篇(十四):GDAL 读取多光谱数据为二维数组并存入csv文件

    1.使用数据 之前写过一遍文章是采用Arcgis读取多光谱数据为csv文件的,相对来说有一些麻烦,本文有个更简单一点的方法,使用python直接读取. 本文使用Landsat05数据,采用GEE下载的 ...

  3. python使用gdal将shp文件转为TIF

    python使用gdal将shp文件转为TIF 方法一 # 缺少获取shp文件坐标系的步骤 def vector2raster(inputfilePath, outputfile, resp):sf ...

  4. python读取tif文件与png文件

    python读取tif文件与png文件 读取tif文件: import tifffile as tiff image = tiff.imread(image) 读取png文件: import nump ...

  5. python读取tif图片时保留其16bit的编码格式

    python读取tif图片时保留其16bit的编码格式 tif图片的编码格式一般是16bit的,在使用python-opencv读取tif文件时,为了保留其编码格式,我们需要用以下的方式: impor ...

  6. python使用opencv将tif裁剪为任意形状

    python使用opencv将tif裁剪为任意形状 前言 一.opencv是什么? 二.使用步骤 1.安装依赖 2.裁剪 总结 前言 博主最近在研究如何将tif裁剪成需要的任意形状,博主考虑过gdal ...

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

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

  8. gdal读取txt文件_GDAL库学习笔记(六): 把dem地形转化成vrml虚拟现实

    1. 一个从DEM生成VRML的例子 现在我们牛刀小试一下,玩一个例子吧,用gdal可以读取那么多格式,不拿出来做点东西玩玩岂不是太浪费了?想当年我玩VR的时候,有过一段痛苦的经历,当时我为我们师大建 ...

  9. GDAL读取Jpeg2000格式图像

    JPEG-2000标准支持无损和有损压缩,并且支持单图像分量(如灰度图像)和多图像分量(如彩色图像).除了基本的图像压缩功能外,还支持其他的功能:1)对图像进行按精度或者按分辨率来渐进显示.2)感兴趣 ...

最新文章

  1. JAVA设计模式(09):结构型-代理模式(Proxy)
  2. vba mysql odbc_使用VBA+ODBC+MySQL实现Excel网络版
  3. java 环境配置 maven 环境配置
  4. 像淘宝一样“网购装修”,“当家”助推家装互联网走向“广域网”
  5. 003Java语言环境搭建
  6. 神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python文件)
  7. 算法(23)-leetcode-剑指offer7
  8. numpy+pandas+matplotlib绘制对数函数图形
  9. python 并发编程 多线程 目录
  10. MySQL的MVCC底层原理
  11. Restlet入门例子 - RESTful web framwork for java
  12. 解决opencv输出视频无法正常播放问题
  13. Uber开源深度概率编程语言Pyro,AI实验室蛰伏一年首现身
  14. android 打开闪光灯,Android 闪光灯的打开和关闭
  15. 如何去maven仓库下载jar包,maven的jar下载教程
  16. java生成zipf分布_用于文本生成的Java中的Zipf定律 – 太慢了
  17. ae合成设置快捷键_AE中常用的快捷键,你了解多少?(五)
  18. 如何显示Word 左侧目录
  19. excel打不开xlsx文件怎么办?
  20. android 9下载地址,狂野飙车9安卓版下载地址 最新版本下载

热门文章

  1. 简易购物车实体类的设计
  2. 前端HTML转PDF生成的PDF上边会有留白,下边截取不全
  3. 向无所不能逼近的算法 逻辑与算法之一
  4. JAVA 之POI导入批量新增、批量检查、日志记录、失败原因、失败条数、数据库映射
  5. 饿了么table排序
  6. SortPool (DGCNN) - An End-to-End Deep Learning Architecture for Graph Classification AAAI 2018
  7. python在匿名函数作和_python内置函数和匿名函数
  8. Ubuntu安装搜狗输入法后修改默认英文输入状态的方法
  9. 数据库的基本操作习题
  10. 高等数学错题集:第133题:连续,偏导数,可微之间的判断关系