摘要: 一般来说,遥感是一种从远距离感知和捕获数据的方法。例如,NASA 可以使用卫星上的传感器监测地球和其他行星的行为。此外,飞机上的这些传感器捕获发射能量的读数。总体而言,它在从全球感知中获取有关地球的数据方面发挥着重要作用,有助于根据收集到的地球当前、未来状况做...
一般来说,遥感是一种从远距离感知和捕获数据的方法。例如,NASA 可以使用卫星上的传感器监测地球和其他行星的行为。此外,飞机上的这些传感器捕获发射能量的读数。总体而言,它在从全球感知中获取有关地球的数据方面发挥着重要作用,有助于根据收集到的地球当前、未来状况做出数据密集型决策。
利用 Python 项目进行遥感
- Python 是全球公认的开源高级语言;
- 广泛应用于遥感和地理信息系统;
- 利用脚本语言改善软件基础;
- 可以自适应地支持 OOP 概念;
- 广泛用于多个研究领域、行业和其他平台;
- 促进免费的开发和部署;
- 支持导入、安装和运行众多软件配套包;
为了改进地理空间系统,引入了几种工具。这些工具主要具有开发地图应用程序的工作原理,为此,目前正在使用几个更有价值的文本。 Python 使用脚本传递未更改的文本、代码,以在遥感信息中执行所需的过程。
Python 在遥感中的用途是什么?
- 遥感
- 支持航空和卫星摄影传感器;
- 利用数字图像处理软件检查和评估远程捕获的图像。
- GIS
- GIS 是用于构建、修改、分析和存储地理空间数据的软件;
- 将输出生成为地理空间产品,如 Web 服务、地理地图和其他智能移动应用程序。
为了支持以上遥感和 GIS 软件,QGIC 和 ArcGIS 设计了 Python 支持。在这方面,Python 是用于使工作尽可能简单的默认编程。此外,我们还强调了在博士生、研究生和学者的研究方面使用 Python 遥感的优势。
- 编程能力强,能独立工作;
- 通过地理空间问题提高批判性思维能力;
- 通过实地考察增进知识;
- 自动化地图开发、地理处理和 ArcGIS 功能方面的知识;
- 丰富故障排除、批判性思维和解决问题的技能;
- 发展知识以执行特定的地理空间操作;
- 提供一个平台来学习概念和分析方面的地理空间技能;
- 通过故障排除方法增强实现地理空间问题的能力;
- 提高开发自己解决问题的解决方案能力。
Python 如何用于遥感?
如前所述,Python 是 GIS 软件中的内置脚本语言。结合 Python 的主要目标是以自动化方式实现增强的地理空间数据处理。Python 的语法是面向命令的,用于使用语句、数据类型和函数编写脚本。最重要的是,它支持多个用于遥感和 GIS 过程的库。
开发了以下指定的库以支持专门用于 GIS / remote sensing 的 python。这些工具从传感中捕获数据并生成网格化卫星数据文件,作为不同模型的输入。 此外,它能够基于由基于地理的坐标识别的大地测量位置,来捕获地球表面上任何物体的位置。如果使用的是地理空间数据,则将数据组织在一个统一的网格中。由于数据可能具有不同的分辨率并分布在各种网格上。在这里,我们指定了一些在基于 Python 的遥感开发中常用的关键库。
最新的遥感 Python 库
- RITSAR
- 包括用于图像处理的称为合成孔径雷达 (SAR) 的工具箱
- 允许基于相位梯度算法的自动对焦
- 能够基于 omega-k、极坐标和反投影方案对相位历史数据进行建模和处理
- RSGISLib
- 支持 GIS 和遥感数据集
- 利用 XML 接口/Python 绑定导入 RSGISLib 工具
- Geopy
- 支持 Python 的地理编码工具箱
- MMM-Py
- 开源且免费
- 启用实时 Quicklook 图
- 生成可供发布的图形
- Spectral Python (SPy)
- 用于高光谱图像处理
- 使用 Python 命令或 Python 脚本执行
- 包括用于收集、解释、可视化和分类的单独方法
- Pyproj
- 用 python 开发的接口,包含几个函数
- 函数有助于在地理坐标和笛卡尔坐标之间工作
- netCDF4
- 利用 NumPy 包读写文件(HDF 和 netCDF 格式)
- 例如 HDF5、netCDF 3 / 4 文件
- Python 制图库
- PCL 是用于 GSI 数据解释的开源包
- 具体而言,将不同后端转换为制图
- MintPy
- MintPy 在 PYthon (MintPy) 中扩展为 Miami INsar 时间序列软件
- 用于 InSAR 时间序列分析的开源包
- 包括自主工具箱和小型基线方法
- 收集不同格式的干涉图堆并生成 3D 地球表面位移
- 格式–SNAP、ISCE、RANGE、AIR、ROI_PAC、FRINGE
- Shapely
- 带有 BSD 许可的 Python 包
- 基于 JTS 和 GEOS 库
- 能够使用基于几何的行星实体
- RadarsatLib
- 采集 RADARSAT-2 SAR 数据
- 启用过滤、分析、处理和规范化
Python 中的 GIS 库
与遥感类似,这里我们给出了基于 Python 的 GIS 开发中广泛使用的初级库。通常,Python 以其支持性的预定义库而闻名。利用这些库,可以轻松地构建、开发、测试、可视化、分类和存储对象。 下面给出了一些重要的库和软件包。
- RSGISLib
- 用于属性、分析和分割对象
- TuiView
- 用于可视化有关使用丰富的 GUI 进行规则开发的数据
- GDAL
- 用于开发栅格数据模型,得到图像形式的 Input、Output
- 光栅 I/O 简化 (RIOS)
- 用于获取、写入和分类具有属性的对象
上述所有指定的库/软件包都可以在任何类型的平台(如 Windows、Linux 和 OS X)中实现 RGGISLib。就 RGGISLib 而言,它支持面向 UNIX 的平台,如 Solaris、Linux 和 OS X。
RSGISLib
- RSGISLib 表示 Remote Sensing and GIS Library(包括 300 个命令)
- 使用 GDAL 库读写图像
- 支持通过不同算法处理遥感数据
- 启用 python 脚本与模块函数的集成
- 支持代码重用性和系统可扩展性
- 提供一组低级方法来为特定任务开发算法
- 灵活地执行图像分割、图像过滤、区域统计、基于对象的分类和图像到图像配准
TuiView
- PyQt 库开发的遥感数据开源查看器
- 呈现近几十GB的数据集
- 启用 GDAL 和 GUI 元素以查看栅格数据(通过矢量叠加)
- 可通过 Python 插件接口扩展以执行基于自定义的任务
- 支持基于规则的对象属性查询和分类
- 利用预先计算的统计数据和图像概览(通过命令行实用程序)
- 从 GEOBIA 的上下文来看,它为 RAT 提供了广泛的功能(操作和查看)
- 包括专题和数学数据的单独功能(示例 - 分类)
GDAL
- GDAL 表示地理空间数据抽象库
- 图像波段以矩阵格式(RAT、统计和金字塔)表示属性和像素值
- 提供支持完整遥感数据的通用库
- GDAL 模型利用一个独立的数据集,该数据集由一组图像波段组成
RIOS
- RIOS 表示光栅输入和输出简化
- 利用 Scipy 和 Numpy 等软件包进行处理
- 专为启用 Python 的光栅处理代码而设计
- 除了图像处理,还支持 RAT(read, write and store)作为一键功能
- 在 GDAL 库上开发,专注于投影对齐、打开和关闭文件、空间头信息、栅格网格、算法开发等。
用于遥感的 Python 库
- Pandas
- Matplotlib
- Plotly
- SciPy
- NumPy
- PySal
- EarthPy
- SciKit-Learn libs
- RasterIO
用于遥感项目的 Python 软件包
为了在遥感项目开发中取得最佳效果,需要导入几个有用的软件包或库。在这里,我们提供了一些关键包及其安装的系统要求。同时可在命令提示符下使用 “pip” 命令安装这些软件包。
Pyroj
- Mac OSX
- Windows
- Linux – Ubuntu
GDAL
- Mac OSX – 预编译的二进制文件
- Linux – Ubuntu
- Windows – 安装 OSGeo (plus GDAL)
Python 的当前发展
- 雷达处理
- 过滤
- 纹理分析
- 基于地理的校正(脱落、地面/倾斜范围等)
- 合成
- 特征提取
- 卷积
- 天文算法
- 重新采样
- 边缘检测
- 图像镶嵌
- 其他视频/摄像系统