FVC与地表温度的相关性分析研究

植被覆盖度计算
植被覆盖度通常是指绿色植被群体经阳光照射后在地面上形成的垂直投影面积与整个研究区域面积之比,获取植被覆盖度信息主要有植被指数法和混合像元法。本文采用混合像元法进行计算,混合像元法是基于地物光谱的混合模型,在缺乏地面实测资料的情况下,该技术可以直接确定植被覆盖度。
NDVI的计算公式: NDVI= (NIR-R) / (NIR+R)
对于landsat8影像数据,NIR (近红波段)为波段5,R (红波段)
为波段4

NDVI与植被覆盖度转换公式:
FVC =(NDVI - NDV Imin)/(NDV Imax- NDV Imin)

地表温度计算
获取城市地表温度主要有以下三种方法:单通道算法、分裂窗算法和大气校正法。研究经验表明,大气校正法由于适用于任何热红外波段而被广泛使用。因此本文采取大气校正法,即辐射传导方程( Radiation Transfer Equation,RTE ),将获得的地表温.在这里插入图片描述
度转化为摄氏度。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为了验证植被覆盖度和地表温度分布情况得出的初步结论,需要在研究区范围内选取了样本点,进行植被覆盖度和地表温度的相关性分析,由于城区内的绿色植被、水体会受周围环境因素的影响,这些区域的地表温度会偏高。为消除误差值对结果的影响,本文在研究区范围选择性选取了部分样本点生成散点图,建立线性回归方程,并将相关性和协方差在回归方程图中显示。最后求得咸安区植被覆盖度和地表温度的相关系数为-0.5262,在0.01的置信水平上负相关。可以看出,咸安区植被覆盖度和地表温度存在明显的负相关性,即植被覆盖度越高,地表温度就越低。

### 关于 HNU 数据结构课程中的凸包算法 在 HNU 的数据结构算法分析课程中,虽然未直接提及凸包算法的具体讲义名称或章节编号[^1],但从相关实验和作业的内容来看,可以推测凸包算法可能作为几何算法的一部分被讨论。通常情况下,凸包算法会涉及到计算平面上一组点的最小凸多边形,使得所有的点都在这个多边形内部或者边界上。 #### 凸包算法的基础概念 凸包是一种经典的几何算法问题,常见的解决方法有 Graham 扫描法、Jarvis 步进法以及分治法等。这些算法的核心在于通过特定策略逐步构建包围给定点集的凸多边形。以下是几种常见算法及其复杂度: - **Graham 扫描法**:时间复杂度为 \(O(n \log n)\),适用于大多数情况下的二维平面点集。 - **Jarvis 步进法(Gift Wrapping Algorithm)**:最坏情况下时间复杂度为 \(O(nh)\),其中 \(h\) 是最终凸包上的顶点数。 - **分治法**:时间复杂度同样为 \(O(n \log n)\),适合用于理解递归思想的应用场景。 #### 可能的教学资源位置 根据已知引用内容,HNU 的数据结构课程注重理论联系实际,提供了丰富的实验材料来帮助学生掌握核心知识点。尽管当前提供的引用并未明确提到凸包算法相关内容,但可以从以下几个方面寻找线索: - 如果存在针对几何问题的专题实验,则极有可能包含凸包算法的学习任务。 - 在某些综合性的算法设计题目中,可能会隐含对凸包求解的需求。 #### 示例代码展示 (Python 实现 Graham Scan 方法) 下面是一个简单的 Python 版本实现 Graham 扫描法的例子: ```python import sys from math import atan2 def polar_angle(p0, p1=None): if p1 is None: p1 = anchor y_span = p0[1]-p1[1] x_span = p0[0]-p1[0] return atan2(y_span,x_span) def distance(p0,p1=None): if p1==None: p1=anchor y_span=p0[1]-p1[1] x_span=p0[0]-p1[0] return y_span**2+x_span**2 def quicksort(a): if len(a)<=1: return a smaller,equal,larger=[],[],[] pivot_ang=polar_angle(a[randint(0,len(a)-1)]) for pt in a: ang=polar_angle(pt) if ang<pivot_ang: smaller.append(pt) elif ang==pivot_ang: equal.append(pt) else: larger.append(pt) return quicksort(smaller)+sorted(equal,key=distance)+quicksort(larger) points=[(random.randint(-50,50), random.randint(-50,50))for _ in range(random.randint(8,16))] anchor=min(points, key=lambda p:(p[1],p[0])) sorted_pts=quicksort(points) prev_point=anchor hull=[anchor] for s in sorted_pts: while len(hull)>=2 and cross_product_2D(hull[-2], hull[-1],s)<0: del hull[-1] hull.append(s) print("Convex Hull:", hull) ``` 此段代码展示了如何利用角度排序配合栈操作筛选出构成凸壳的关键节点集合。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值