Cartopy是一个为地理空间数据处理设计的Python包,目的是生成地图和其他地理空间数据分析。
Cartopy利用了功能强大的PROJ、NumPy和Shapely库,并包括一个构建在Matplotlib之上的编程接口,用于创建发布质量地图。
cartopy的主要特征是其面向对象的投影定义,以及在这些投影之间转换点、线、向量、多边形和图像的能力。
总的来说,cartopy是一个强大的绘图工具。
1.安装后遇到可能会遇到的错误ImportError: DLL load failed while importing trace: 找不到指定的模块。
去网上一查是cartopy的依赖出现错误,于是把以下几个包卸载重新安装
pip uninstall Pillow
pip uninstall pyshp
pip uninstall Shapely
pip uninstall pyproj
2 安装新的wheel在https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载win10下二进制安装文件
从上述链接下载所需要的wheel找不到的wheel, pysh ...
资料来源自欧空局的EO教程
*\***表面散射******
当微波撞击“粗糙”的异质表面时,会出现单次反弹或表面散射。部分能量散射回传感器,部分能量远离传感器。哪个表面被认为是“粗糙的”,哪个不是由系统的波长、入射角和空间分辨率决定的。这些变量也称为“传感器参数”。
表面散射的强度取决于地面特性(例如表面粗糙度、介电常数、地形)和传感器参数(例如波长、入射角)。下图显示了表面反向散射和表面粗糙度之间关系的示例。表面散射的最简单形式是前面介绍的镜面反射。正如我们所看到的,随着表面粗糙度的增加,漫散射也会增加。此外,更大的波长会导致传感器表面更光滑。
\镜面反射**
如果雷达脉冲击中光滑、平坦的表面(在波长范围内),大部分能量会沿镜面反射方向散射开。这些区域在雷达图像中会显得非常暗,因为没有能量(或极少量)返回到雷达仪器。镜面反射的典型例子是光滑的水面或柏油路面(例如道路、停车场)。
\双次弹射**
当雷达脉冲击中两个相互垂直的相对光滑的表面时,就会发生双反弹或二面散射。由于能量多次传输回传感器的方向,因此返回的信号特别强。双弹发生的典型例子是建筑物。
\体积散射**
如果雷达脉冲穿 ...
IDL初学者少不了要和文件操作打交道,下面是常用的文件操作函数。
序号
函数
功能说明
语法
01
CD
修改当前的工作空间路径。
点击这里看具体语法
02
FILE_SEARCH
对文件名进行特定的查找。返回字符串数组。
点击这里看具体语法
03
FILE_COPY
复制文件或者文件夹。
点击这里看具体语法
04
FILE_DELETE
删除文件或者文件夹。
点击这里看具体语法
05
FILE_MOVE
移动文件或文件夹。
点击这里看具体语法
06
FILE_MKDIR
新建文件夹。
点击这里看具体语法
07
FILE_TEST
判断文件是否存在,返回布尔值。
点击这里看具体语法
08
FILE_BASENAME
返回文件路径中的文件名称。
点击这里看具体语法
09
FILE_DIRNAME
返回文件路径所在的文件夹路径。
点击这里看具体语法
10
FILE_EXPAND_PATH
返回给定文件/文件夹的完整路径。
点击这里看具体语法
11
FILE_INFO
返回给定文件/文件夹的属性信息。
点击这里看具体语法
12
FI ...
遥感专业怎么提高编程能力?首先明确一个问题是:编程要一步一步一个一个的脚印去学,才能学得会,学得好,用得好。其次用编程去解决一些遥感遇到的问题:比如初步(数据处理,模型的计算,地物的分类,定量、定性的反演),高端的是海量数据与数据库结合(Google earth engine给我们展示了一个好例子),当然做一个GEE也不是一两个人能做出来的。现在且说新手如何提高编程能力,完成相应的工作和目的。
第一步,多在网上搜,用google搜,去github上找相关的问题,看看有无相关的资料。最好的情况就是,一边看着别人写的代码,一边看着书本上的公式,二者对应的学习,这个学习遥感编程的方式是最快的一种(个人看来)。
第二步,学一门编程语言,新手还是比较推荐Python语言,万金油语言而且入门简单。
第三步,学习跟自己需要的相关的功能模块,需要什么就去学什么。
第四步,和第三步差不多,不要局限于python,有机会的话也要去学c\c++\java等后端语言,c++中的gdal是遥感编程的核心,gdal集成很多遥感算法,提供了很多直接可以用的算法推荐李民录老师出版的书:gdal源码剖析与开发指南。欧空 ...
1. PyPi 的用途Python 中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从 Pypi.org 里面下载。
PyPI 是 Python Package Index 的首字母简写,其实表示的是 Python 的 Packag 索引,这个也是 Python 的官方索引。
需要先再本地环境安装 pip,然后如果要安装其他工具包的话就使用指令:
pip install <package name>
2.Python 包发布步骤2.1 创建目录结构创建一个测试项目,例如s22rgb,在该项目下,创建一个待发布的包目录,例如:s22rgb,并在该project_demo目录下,依次创建:setup.py、README.rst几项文件,此时目录结构为:
➜ project_demo tree.
├── README.rst
├── package_mikezhou_talk
│ └── init.py
└── setup.py
2.2 准备文件1、README.rst是关于项目的描述文件,一般包含怎样安装项目,怎样使用项目等。markdown ...
开源地址,如果对你有帮助,欢迎点个Star。
技术路线如下:
1.获取zip文件列表
2.for循环遍历运行,对单个zip解压
3.获取JP2格式的文件列表,jp2文件对应的是其他遥感卫星的tiff文件
4.GDAL读取jp2文件,numpy计算线性变换,这里使用百分之二的线性变换
5.重新组合为三波段矩阵,通过opencv保存为普通的jpg格式
win10 quick install and use:
pip install s22rgb -i https://pypi.python.org/simple
usage:
一个简单的深度学习模型,实现语义分割,将使用“第四届中国模式识别与计算机视觉大会”提供的数据。
对于许多遥感应用,我们使用经过处理的多视合成孔径雷达SAR图像。这些产品代表多个雷达图像的平均强度(或振幅),以减少雷达斑点(多视图)。单视复杂single look complex (SLC)图像,代表来自返回雷达信号的所有信息的原始合成孔径雷达图像。SLC图像由复数形式的像素组成,不仅记录强度(从目标返回的微波信号的能量),还记录信号的相位,相位由目标和雷达天线之间的距离决定。
给定SLC像素的复数:c = a +ib,其中:
i = \sqrt{-1}\\
c = \sqrt{a^2+b^2}表示合成孔径雷达强度图像,而相位角为:
\Psi = arctan(\frac{b}{a}) 干涉合成孔径雷达技术利用合成孔径雷达SLC图像中的相位信息进行地球和行星观测。合成孔径雷达干涉图显示了从近重复轨道拍摄的两幅合成孔径雷达图像中同一物体的相应像素之间的相位差。它将地形表示为干涉条纹。基于这一原理,InSAR技术被开发并成功地用于地形测绘和测量由地震、沉降、火山收缩和冰川流动引起的地形 ...
什么是遥感图像?遥感图像是数字图像的一个分支,主要用于观察和分析地球表面。随着技术的进步,遥感的应用已不再局限于地球,未来可扩展到其他星球,如火星或月球,用于地物识别(如探测矿藏或水资源)。遥感图像通过搭载在卫星、飞机或航天器上的传感器系统获取数据,无需直接接触目标物体或场景。与普通照片相比,遥感图像通常包含可见光谱以外的信息,能够深入分析地表特征、环境变化等。
数字图像的基础数字图像本质上是一个二维(2D)数字数组。数组中的每个单元称为像素(pixel),像素的亮度由数字(Digital Number, DN)表示。作为行和列组成的数据矩阵,数字图像通常被称为栅格数据(raster data)。像素的位置通过其行和列索引来定义。由于数字图像仅仅是数据矩阵,可以方便地对其进行数学运算,这些运算统称为数字图像处理(digital image processing)。
与普通图像(如手机拍摄的照片)相比,遥感图像的一个显著区别在于波段数量。普通彩色照片通常由红、绿、蓝(RGB)三个波段组成,而遥感图像的波段数量不固定。例如,美国的Landsat 8和欧盟的Sentinel-2卫星图像通常包 ...
在本教程中,我们将尝试了解机器学习中最重要的算法之一:随机森林算法。我们将看看是什么让随机森林如此特别,并使用 Python 在真实世界的数据集上实现它。 您可以在此处找到代码以及数据集。
集成学习集成方法是一种将来自多个机器学习算法的预测组合在一起以做出比任何单个模型更准确的预测的技术。由许多模型组成的模型称为集成模型。
集成学习主要分为两类:
Boosting 和 Bootstrap
1.BoostingBoosting 是指一组利用加权平均值将弱学习器变成更强学习器的算法。提升是关于团队合作的。每个运行的模型都决定了下一个模型将关注的功能。
顾名思义,提升意味着一个人正在向另一个人学习,这反过来又促进了学习。
2.BootstrapBootstrap 是指有放回的随机抽样。Bootstrap 使我们能够更好地理解数据集中的偏差和方差。自举涉及对数据集中的一小部分数据进行随机抽样。
Bagging 是一种通用过程,可用于降低那些具有高方差的算法的方差,通常是决策树。Bagging 使每个模型独立运行,然后在最后聚合输出而不优先于任何模型。
决策树的问题决策树对训练它们的特定数 ...








