- 博客(55)
- 收藏
- 关注
原创 地理探测器数据准备及驱动因素分析
用GEE平台可以将得到的tif文件保持相同的分辨率,这样得到的tif文件像元数一致,方便后续运行软件,否则还需对tif文件重采样。目标变量NDVI的像元数据不需要进一步处理,土地利用数据本身就是离散型类别数据也不需要处理,降雨、温度等数据是连续性变量,需要对数据进行重分类为离散变量。在这里我的目标变量是NDVI指数,驱动因子我选择了降雨量、温度、潜在蒸散量、土地利用、距河流距离这五个因子。由于我的数据有24万多条,用Excel版本的地理探测器报了溢出错误,于是选择用python来解决。
2025-02-18 17:29:07
1757
原创 python计算时间序列栅格数据Hurst指数
classify_trend函数根据不同的H值、Slope值和Z值划分类别。main函数首先是匹配所有的tif文件并按照年份排序,然后构建像元数据序列并进行并行处理,最后将结果输入到新的tif文件,这个tif文件包含四个波段,分别是编码波段(即1-10)、Theil-Sen斜率波段、Hurst指数波段、MK显著性波段。这里计算Hurst指数的实现思路相同,所以我在之前的代码基础上进行了修改,使得可以同时分析Hurst指数(持续性判断)、Sen趋势(趋势方向判断)、MK显著性(显著性判断)。
2025-02-15 22:11:32
1103
原创 Invest模型获取区域生境质量
INVEST模型,全称Integrated Valuation of Ecosystem Services and Tradeoffs(生态系统服务与权衡的综合评估),是由The Natural Capital Project开发的一套用于评估和量化自然资本及其提供的生态系统服务价值的工具。它旨在帮助决策者理解不同土地和海洋使用变化对人类福祉的影响,并为保护、管理和恢复自然资本提供科学依据。栖息地质量评估:评估栖息地的质量以及其对物种多样性的支持能力。
2024-12-14 16:54:32
2488
原创 D3.js绘制土地利用变化和弦图
D3.js与和弦图D3.jsD3.js(Data-Driven Documents)是一个开源的JavaScript库,用于使用Web标准来生成丰富的交互式数据可视化的工具。D3.js结合了强大的可视化组件和数据驱动的DOM操作方法,让开发者能够自由地将数据绑定到文档对象模型(DOM),然后通过数据来驱动DOM的变换和动画。D3.js文档地址:D3.js和弦图和弦图(Chord Diagram)是一种用于展示数据矩阵中各元素之间关系的可视化图形。它以圆形布局呈现,其中每个实体(或类别)表示为圆周上
2024-12-08 21:54:26
722
原创 python进行Theil-Sen Median斜率估计和Mann-Kendall趋势分析
这样就得到了像元矩阵,矩阵中的行代表某一年的所有像元值。这样获取某一列数据就代表某个像元的时间序列数据,或者可以对矩阵进行转置,这样每一行就代表某个像元的时间序列,这里直接采用列数据。4、利用Theil-Sen Median斜率估计和Mann-Kendall趋势分析计算每个像元序列的β和Z值,并根据分类函数进行分类。虽然匹配到了所有的tif文件,但不是按照年份顺序排列的,所有接下来需要对文件列表重新排序。2、获取tif文件所有像元的值,并将这些tif文件像元的值组合起来形成像元矩阵。
2024-11-27 19:31:40
2047
原创 python变化点分析(Change Point Analysis,CPA)
变化点分析(Change Point Analysis, CPA)是一种用于检测时间序列数据中统计属性发生显著变化的点的方法。变化点分析的目标是识别时间序列数据的一个或多个位置,在这些位置数据的均值、方差、分布或趋势等属性发生显著改变。这些变化可能是由于外部条件的改变(如气候变化、政策干预)或系统内部的变化(如生态水文循环状态的转变)引起的。(Pruned Exact Linear Time):这是一种高效的多变化点检测算法。:这是一个专门用于变化点检测的Python库,提供了多种算法。
2024-11-25 16:27:41
698
原创 python绘制置信椭圆
置信椭圆(Confidence Ellipse)是一种用来表示二维数据的置信区域的统计工具。它是多元统计分析中常用的图形,通过它可以表示两个变量之间的协方差关系以及同时包含两个变量的可能取值范围。(注:当需要分析两个变量之间的关系时,置信椭圆可以帮助识别变量之间的相关性。现在我想绘制1σ、2σ和3σ的置信椭圆,可以在图中调用confidence_ellipse函数三次,分别传入不同的 n_std 值。置信椭圆的大小和形状是根据给定的置信水平(如95%、99%)来计算的,置信水平越高,椭圆的范围越大。
2024-11-01 21:59:57
1370
原创 python偏相关分析
比如,若研究两个变量 X 和 Y 的关系,同时想排除第三个变量 Z 的影响,偏相关分析可以揭示在控制 Z 后 X 和 Y 之间的相关程度。这意味着,你会计算水分和植被生长之间的偏相关系数,同时控制盐分和温度,以排除它们的影响,从而得出在不受这两个因素干扰的情况下水分与植被生长之间的“净”关系。如果希望了解水分和盐分对植物生长的直接影响,就可以使用偏相关分析来控制温度的干扰,从而更加准确地分析水分和盐分对植物生长的贡献。反之,绝对值越接近0,说明两个变量之间的关系越弱。
2024-11-01 16:40:07
828
原创 代码开发常用标记
在代码开发过程中,为了便于团队协作和自我管理,开发者常常会在代码中使用特定的标记(tags)或注释(comments),以提醒自己或他人需要注意的地方或待完成的任务。导航定位到TODO,在终端会显示相应所有标记。
2024-09-11 10:30:59
330
原创 python绘制带有显著性差异的柱状图
有的时候看文献会发现柱状图上标记有不同的字母,这其实是使用字母表示法来代表不同组之间的差异,不同的字母表示具有显著性的差异,相同的字母表示没有显著性差异。2、进行多重比较:如果ANOVA结果表明组间存在显著性差异,接下来进行多重比较测试,以确定哪些具体的组之间存在差异。字母标记法直观、清晰,可以有效地在图表或表格中展示复杂的比较结果,使得读者能够快速理解哪些组之间存在显著性差异。1、进行统计测试:首先,对数据进行适当的统计测试(如ANOVA),以确定组间是否存在显著性差异。
2024-07-21 10:42:56
4267
原创 NDVI数据集提取植被覆盖度FVC
植被覆盖度(Foliage Vegetation Cover,FVC)是指植被冠层覆盖地表的面积比例,通常用来描述一个区域内植被的茂密程度或生长状况。由于冰覆盖的数值较多,我不想让该数值影响到NDVImin和NDVImax值的计算,故写了一个python脚本将-0.3的值变成nodata。可以看到取值不在0-1之间,所以需要将小于0的值都赋值为0,大于1的部分赋值为1,其余部分为其本身的值。利用ENVI软件的快速统计功能同样也可以获取累计百分数为5%和95%的值,结果和python运算的结果差不多。
2024-07-06 22:41:22
3215
原创 HDF4文件转TIF格式
取值范围为0-250,比例系数为0.004,实际FVC取值需要乘以0.004,所以波段的每个值需要乘以0.004得到实际的FVC值。如果想排除海洋部分,可能需要做一个陆地掩膜的tif,陆地部分为1,海洋部分为nodata,然后两个tif做光栅运算,这样就可以只关心陆地部分。然后准备用python转换,发现需要使用pyhdf包,安装有点麻烦,解决老版本的HDF文件转换问题也有点麻烦。打开ENVI软件,选择文件,选择打开为,选择通用格式,选择HDF4可以直接导入HDF4文件。我使用的ENVI版本是5.3。
2024-07-06 18:37:49
941
原创 VOSviewer分析知网文献
VOSviewer 是一款用于构建和可视化科学文献计量网络的软件工具。它能够帮助用户分析和可视化期刊、研究人员或单个出版物之间的关系,这些关系可以基于引用、共引、共著或术语共现关系来构建。VOSviewer 还提供了文本挖掘功能,可以用来构建和可视化从科学文献中提取的重要术语的共现网络VOSviewer 的核心功能之一是“共现聚类”,即两个事物同时出现代表它们之间是相关的。这种分析单元和聚类可视化效果,使得 VOSviewer 支持多种数据格式的导入和分析,例如文献数据库、通用网络数据及文本数据。
2024-06-25 11:32:12
2142
原创 echarts绘制三维柱状图
echartsECharts 是一个使用 JavaScript 实现的开源可视化库,主要用于数据的可视化展示。ECharts 支持丰富的图表类型,如折线图、柱状图、饼图、地图、K线图等,可以满足不同类型数据的展示需求。文档地址:echarts本次所绘制三维柱状图主要使用的是示例源代码,在此基础上做了些修改。引入CDN使用echarts需要导入echarts和echarts-gl。免费的CDN服务可访问网址:Staticfile CDN<!-- 引入 ECharts 文件 -->&
2024-06-02 12:02:03
2237
原创 python绘制piper三线图
利用常用的文件格式,如Microsoft Excel,逗号分隔值(CSV)和一般分隔文本作为输入数据格式,WQChartPy可以生成十二个地球化学图,不仅包括传统的Piper三线性,Durov,Chadha,Stiff,Chernoff面,Schoeller,Gibbs和Gaillardet图,还可以生成最近提出的图表,如矩形Piper, 颜色编码的 Piper、轮廓填充的 Piper 和 HFE-D 图。Piper三线图是一种常用于水化学分析的图表,它能够帮助我们理解和比较水样的化学成分。
2024-05-31 11:50:17
2669
原创 python对一组数据进行描述性统计
10、变异系数(Coefficient of Variation,简称 CV):是一个统计学上的度量,用于描述数据的相对离散程度,即标准差与均值的比值,通常以百分比形式表示。6、四分位数(Quartiles):将数据集分为四等份的数值,包括Q1(第一四分位数)、Q2(第二四分位数,即中位数)和Q3(第三四分位数)。16、箱线图(Box Plot):显示数据的五个数值总结(最小值、第一四分位数、中位数、第三四分位数、最大值)及可能的异常值。1、均值(Mean):所有数据点的总和除以数据点的数量。
2024-05-28 22:55:34
913
1
原创 DataGrip连接Docker中的MySQL容器
我们知道dockerfile用于编写镜像,dockercompose用于编排容器,所以这里我用dockercompose来创建一个MySQL容器。在dockercompose中可以指定容器的名称、挂载主机目录、容器端口映射到主机端口等等。因为前面进行了端口映射,所以连接容器时的host填入localhost就可以了。这样就成功的用DataGrip连接上了docker中的MySQL容器。此时在docker desktop中可以看到容器创建好了。执行下面的命令,可以看到正在运行中的容器。
2024-04-14 15:00:05
1198
5
原创 WPS制作表格热图
参考文献原文:Miller, O.L., Helman, D., Tal Svoray, Morin, E., Bonfil, D.J., 2019. Explicit wheat production model adjusted for semi-arid environments. Field Crops Research 231, 93–104. https://doi.org/10.1016/j.fcr.2018.11.011。选择上色部分——>选择条件格式——>选择管理规则。
2024-04-12 17:29:29
2616
原创 surfer绘制等值线图
Surfer软件,是美国Golden Software公司编制的一款以画三维图的软件。该软件具有强大的插值功能和绘制图件能力,可用来处理XYZ数据,是地质工作者常用的专业成图软件(来源于百度百科)。surfer可以用来绘制等值线图、基底图、散点图、影像图等等。
2024-04-01 22:06:41
3572
2
原创 利用GSOD数据集计算参考作物蒸散量ET0
以2008年为例,点进去全是一串串的数字,我无法识别哪个是库尔勒气象站的文件。但我了解到数字的前六位是气象站的USAF编号,后面的99999是wban编号,所以现在的问题就是要找到库尔勒气象站的USAF编号。readme截图,注意每列参数的单位,与我们常用的单位有些不同,如温度都是华氏温度,风速是节konts,1konts = 0.5144m/s,后面计算时需要单位转换。现在我想计算出库尔勒地区2008年和2009年的ET0值,找到2008和2009年的数据。接下来找到对应的CSV文件就可以下载了。
2024-03-21 17:08:21
782
原创 python线性插值
假设有一个一维数组,但是此数组中只有部分位置上有值,其它位置数据缺失,现在想用线性插值的方法将其填充。从图片可以看出,线性插值即是将两点连成直线,插值的数据即是直线上的数据。
2024-03-19 22:04:27
514
原创 python绘制趋势线
趋势线是用来显示数据趋势或者预测未来发展方向的一种图形表示方法。在统计学和数据分析中,趋势线通常是通过拟合数据点来找到一条最符合数据整体趋势的直线、曲线或者其他形状。常见的趋势线拟合方法包括线性回归、多项式回归、指数平滑等。趋势线在金融分析、市场预测、销售趋势分析、科学研究等领域都有广泛的应用。通过趋势线,人们可以更清晰地了解数据的走势,从而做出更加准确的决策。在图表中,趋势线通常以一条穿过数据点的曲线或直线的形式呈现,使得观察者可以更容易地识别出数据的趋势方向。
2024-03-01 11:27:23
2363
原创 python绘制1:1 goodness-fit-line(1:1对角线)
1:1对角线:这是一条简单的直线,其斜率为1,通常用于评估模型的预测准确性。1:1对角线用于评估模型的预测准确性,而可靠性曲线则用于评估模型的分类能力和预测概率的可靠性。在这种情况下,如果你的数据点几乎全部落在对角线附近,那么这表明两个变量之间存在良好的线性关系,即你的数据很好地拟合了理想的 1:1 对角线。1:1对角线可以帮助我们了解预测的准确性,如果数据点大部分分布在1:1对角线附近,则表示模型的预测比较可靠。通过绘制每个模型的观察值与预测值,并添加1:1对角线,可以直观地比较它们的拟合质量。
2024-02-27 18:18:41
1504
原创 常用模型评估指标
分类模型混淆矩阵混淆矩阵(Confusion Matrix)是一种用于评估分类模型性能的表格,它可以显示模型预测结果与真实标签之间的关系。混淆矩阵的行表示实际类别,列表示预测类别。一个典型的二分类混淆矩阵包含四个单元格,分别代表了真阳性(True Positive,TP)、假阳性(False Positive,FP)、真阴性(True Negative,TN)和假阴性(False Negative,FN):Predicted PositivePredicted Negative
2024-02-08 20:28:16
896
1
原创 python线程池
1、减少线程创建开销: 线程的创建和销毁会带来一定的开销,而线程池可以在程序启动时创建一组线程,并在需要时重复使用这些线程,避免不断地创建和销毁线程。6、提高程序性能: 通过降低线程的创建和销毁开销,线程池可以提高程序的性能,特别是在处理大量短暂任务的情况下,例如大规模并发的I/O操作。4、避免线程泄漏: 在手动管理线程时,如果不小心忘记释放线程资源,可能导致线程泄漏。3、简化线程管理: 线程池通过提供高级的接口,简化了线程的管理和调度。你只需将任务提交给线程池,线程池会自动安排线程执行这些任务。
2024-02-01 10:18:45
271
原创 python匿名函数
结合匿名函数,你可以在DataFrame上执行一些简单的操作,而不需要显式的for循环。匿名函数(lambda函数)通常用于函数式编程中的一些操作,例如map()、filter()和reduce()等,来替代一些简单的循环操作。匿名函数是一种简单的、一行的函数,适合用于一些简单的操作。其中,lambda是关键字,arguments是函数的参数,expression是函数的返回值。虽然匿名函数能简化代码和提升效率,但面对更加复杂的逻辑和处理时还是需要使用具名函数def。
2024-01-23 11:20:44
410
原创 python方差分析
组间变异是指不同组之间的差异,而组内变异是指同一组内观察值之间的差异。多因素方差分析(Multifactorial ANOVA):用于比较两个以上因素对因变量的影响,可以同时考虑多个因素之间的交互效应。单因素方差分析(One-Way ANOVA):用于比较一个因素(独立变量)对一个因变量的影响,通常用于比较三个或更多水平的情况。两因素方差分析(Two-Way ANOVA):用于比较两个因素对因变量的影响,可以同时考虑这两个因素的主效应和交互效应。方差分析的假设包括对数据的正态性、方差齐性和独立性的假设。
2024-01-22 11:20:14
793
原创 常用土壤水文模型
h1表示饱和土壤中的厌氧点水势(水势一般为0),h2是氧气胁迫的临界水势,h3是水分胁迫的临界水势,h4表示植物萎蔫点的水势。该模型的关键在于确定h2和h3的大小,这两个数值随着植物的类型和土壤质地的不同将发生变化,h2的取值一般接近于0,而h3的取值与植物的蒸腾速率有关,h3high和h3low分别代表植物蒸腾速率高和低时的h3取值。α[h(z)]是指无量纲的水分胁迫指数(也称土壤水势响应函数),代表深度z处的水分胁迫指数,和根区土壤的水势有关,0≤α[h(z)]≤1。z为垂向空间坐标,向上为正;
2024-01-20 21:12:01
3552
原创 phydrus实例练习
Hydrus是基于Windows系统界面开发的环境土壤物理模拟软件,是模拟一维和多维变饱和多孔介质的水流、溶质(污染物等)运移、根系吸水和溶质吸收、热量传输等方面的强有力工具。该模型具有灵活方便的图形操作界面,深受各国学者推崇,广泛应用于环境、水文地质、农业、水利等领域。phydrus包括创建模型、进行模拟、生成模拟输出文件和土壤模型剖面信息、阅读输出文件、绘制模拟结果图件等功能。Phydrus:HYDRUS-1D的Python实现。执行模拟后自动生成相关文件夹和文件。设置的5个观测节点水头随时间的变化。
2024-01-16 11:25:38
872
2
原创 python绘制土壤质地三角形
通过连接这些角,形成的三角形区域表示不同混合比例下的土壤质地。例如,如果一个土壤样品在三角形的中心,那么它包含相等比例的沙、粉土和黏土。通过了解土壤中各种颗粒的相对含量,可以更好地了解土壤的排水性、通气性、保水性等特性,从而指导相应的土壤管理和土壤改良措施。土壤质地三角形是用于描述土壤中不同粒径颗粒的相对含量的图形工具。土壤质地三角形的三边分别代表这三种颗粒的百分比含量,形成一个三角形。现在我想随机生成一些土壤组成数据投影到土壤质地三角形中,你也可以使用自己的土壤组成数据进行替换。
2024-01-12 15:13:02
1323
2
原创 CAD绘制岩性柱状图
不同的cad版本界面可能不一样,我这个是cad2024版,但都是h命令进行图案填充。h命令不仅可以填充岩性花纹,也可以填充背景颜色。通过dr命令可以设置绘制图案的层级,例如让岩性花纹覆盖在背景颜色上。
2024-01-10 15:42:37
2123
30
原创 python枚举
在上述示例中,perform_operation_with_if_else使用了传统的if-else结构来根据用户角色执行不同的操作,而perform_operation_with_enum使用了枚举和字典的结合,使得代码更加清晰和易读。你可以根据需要轻松添加或删除角色,并且不需要修改大量的条件语句。在Python中,你可以使用enum模块来实现枚举。枚举是一种将名称绑定到值的方法,使得代码更加清晰和可读。使用枚举可以帮助替代一些复杂的if-else语句,提高代码的可读性和可维护性。
2023-12-25 10:02:49
376
原创 PCA-kmeans分析
可以看到右边的4号点、中间的17号点、左边的32点相差较大,所以它们的特征也就会相差较大。而4、5、6号点这种比较接近的点特征就比较相似。由于特征数比较少,我发现一个特征的可解释性方差就达到了99%,为了后续可视化,我采取了降维到2个特征。符合之前pca降维后的情况。pca主要用于数据的降维及可视化,kmeans可以对相似的特征进行聚类。pca处理的二维矩阵数据,行数代表样本的个数,列数代表特征的个数,特征的个数等于维数。我将4、17、32号点的年土壤体积含水量绘制出来,进而看看它们之间特征有些什么不同。
2023-12-11 22:53:37
423
原创 python绘制雷达图
雷达图(Radar Chart),也被称为蛛网图(Spider Chart)或极坐标图,是一种用于展示多个维度的数据分布的图表。它的主要特点是在一个圆形的坐标系上,通过多个半径相连的数据点来表示不同的数据维度,形成一种类似蜘蛛网的图形。每个维度对应一个角度,而半径的长度表示该维度的数值。应用场景:1、比较多个维度: 雷达图适用于比较多个维度的数据,特别是在各个维度上的数据差异较大时,可以直观地看出各维度之间的差异。2、综合评价: 用于综合评价多个因素对一个目标的影响,例如产品的各个性能指标综合评估。
2023-12-05 22:38:10
3979
原创 Python绘制Tree Map
树状图(Treemap),是用于展现有群组、层次关系的比例数据的一种分析工具,它通过矩形的面积、排列和颜色来显示复杂的数据关系,并具有群组、层级关系展现功能,能够直观体现同级之间的比较。
2023-11-20 22:02:54
679
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人