GDAL学习笔记02:GDAL基础知识
你的习惯决定了你会成为什么样的人。
GDAL学习笔记02:GDAL基础知识
- 前言
- 1. 版本
- 2. 摘要
- 3. 说明
- 4. 微信公众号GISRSGeography
- 一、GDAL简介
- 二、导入GDAL
- 三、读取遥感影像的信息
前言
1. 版本
1.1 山东青岛,2022年7月17日,Version 1
2. 摘要
GDAL基础知识
3. 说明
此系列文章是GDAL的学习笔记,主要是对 《Python与开源GIS》 和 《Python地理数据处理》 的摘录和学习,版权归上述书籍作者所有,如有不妥,请告知,必第一时间删除,谢谢。
4. 微信公众号GISRSGeography
- 公众号 GISRSGeography的内容涉及GIS,遥感和作物模型等的内容,会坚持更新,
欢迎大家关注,谢谢!。
一、GDAL简介
GDAL (Geospatial Data Abstraction Library)是一个在X/MIT协议下的开源栅格数据库,可以进行空间数据的读写[1],严格定义可以参考GDAL官网。
二、导入GDAL
1、在Python中导入GDAL通常可以基于以下三种方法
# 1. 导入方法1
import gdal# 2. 导入方法2
from osgeo import gdal# 3. 导入方法3
try:import gdal
except:from osgeo import gdal
2、除gdal包之外,gdalconst包亦建议导入
# 导入gdalconst
from osgeo.gdalconst import *
2、gdal中的栅格数据驱动
- 要先读取某种类型的数据,需要先注册数据驱动,即初始化一个对象,让其知道某种数据结构。可以使用以下语句注册所有数据驱动,但是只能读不能写:
gdal.AllRegister()
- 单独注册某一类型的数据驱动,即可以读,也可以写,甚至可以创建数据集,下面语句注册了TIFF数据类型
# 注册'GTiff'数据驱动
driver = gdal.GetDriverByName('GTiff')
3、查看GDAL支持的数据驱动
# 查看GDAL支持的数据驱动
drv_count = gdal.GetDriverCount()
print(drv_count)
三、读取遥感影像的信息
1、打开GeoTIFF文件
- 对于GIS栅格数据而言,一个数据集通常由若干个文件组成,并且使用额外的信息组织他们之间的关系。
- 对于GDAL而言,栅格数据集是由栅格的波段数据以及所有波段的共同属性构成的。
- 打开GeoTIFF栅格数据集的操作如下:
from osgeo import gdal
# 打开GeoTIFF数据集
rds = gdal.Open('/gdata/geotiff_file.tif')
# 通过dir函数查看当前对象可用操作
dir(rds)
GDAL学习笔记02:GDAL基础知识相关推荐
- 《Java并发编程实践》学习笔记之一:基础知识
<Java并发编程实践>学习笔记之一:基础知识 1.程序与进程 1.1 程序与进程的概念 (1)程序:一组有序的静态指令,是一种静态概念: (2)进程:是一种活动,它是由一个动作序列组成 ...
- JavaScript学习笔记02【基础——对象(Function、Array、Date、Math)】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- 前端学习笔记(js基础知识)
前端学习笔记(js基础知识) JavaScript 输出 JavaScript 数据类型 常见的HTML事件 DOM 冒泡与捕获 流程控制语句 for..in 计时器 let,var,const的区别 ...
- 【学习笔记】网络安全基础知识总结
网络安全基础知识总结 前言 一.网络安全概述 1.1 引言 1.2 密码学的发展 1.3 密码学基础 1.4 对称密码 1.4.1 数据加密标准DES 二.数论知识 2.1 数论基础 2.2 有限域 ...
- JAVA学习笔记(1)【基础知识】
JAVA学习笔记DAY_1 提示:关于java系列的内容只是本人在老师的指导下和自学过程中的一些学习笔记,如果存在错误敬请批评指正! 文章目录 JAVA学习笔记DAY_1 前言 一.Java语言未来的 ...
- JS学习笔记二——JavaScript 基础知识
JavaScript 基础知识 一.JavaScript 变量 二.JavaScript 的输出 三.JavaScript 运算符 四.结语 一.JavaScript 变量 变量是指在程序运行过程中, ...
- php百分比乘加,PHP学习笔记第一篇 基础知识
基础知识 我将php语言学习里面最最基础的部分,需要第一个学的,必须牢牢掌握的,归类到一起. 大纲 1.数据类型 2.变量 3.常量 4.操作符 5.流程控制 6.数组 7.字符串操作 8.正则 基础 ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- 网络通信学习笔记之——计算机网络基础知识
一.计算机网络基础知识 1.什么是计算机网络 把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大.功能强的系统, 从而使众多计算机可以方便地互相传递信息.共享软件.硬件.数据 ...
最新文章
- NUnit在VS2008中的安装使用
- 面试官问:你讲讲分布式事务问题的几种方案?
- ppt倒计时3分钟_PPT做的又慢又丑?花3分钟学会这5个PPT神技巧,快速做出好看PPT...
- android之SharedPreferences
- java 根据圆心计算圆弧上点的经纬度_【控制测量学】-高斯投影正算公式以及java代码
- win10设置默认输入法_个性化设置技巧
- Tools:Android studio 使用
- Java EE企业应用实战
- 微信公众号订阅号与微信服务号区别
- favicon 尺寸问题
- Nebula Graph介绍和SpringBoot环境连接和查询
- 我的个人博客网站是怎么制作的?
- Ubuntu12.10 使用DNW传数据 进行ARM开发板烧写
- Windows官方纯净系统镜像下载及相关介绍
- ChatGPT初体验——开发好帮手
- asp mysql 不用 dsn,另类: asp不用DSN访问数据库
- 其他:Pycharm 常用快捷键
- 计算机最基本的硬件配置,详细的Windows 10计算机硬件配置要求和最低配置
- 利用IDEA工具导入csv表格文件到数据库
- js ios调用ios方法_通过iOS 13的模式演示调用生命周期方法