2026/6/1 3:17:41
网站建设
项目流程
上海最好的网站建设公司,舆情系统排名,神马网站可以做兼职,淘宝联盟网站推广位怎么做目录
一、基础设置模块#xff1a;定义核心参数与研究范围
二、数据加载与 QA 预处理模块#xff1a;筛选原始数据并消除无效值
三、日尺度合成模块#xff1a;将多颗粒影像合并为日均值
四、时间序列图表模块#xff1a;可视化 AOD 日均值变化趋势
五、地图可视化模块…目录一、基础设置模块定义核心参数与研究范围二、数据加载与 QA 预处理模块筛选原始数据并消除无效值三、日尺度合成模块将多颗粒影像合并为日均值四、时间序列图表模块可视化 AOD 日均值变化趋势五、地图可视化模块展示 AOD 年均值空间分布六、代码运行流程与依赖条件七、关键注意事项与常见问题八、代码应用场景与扩展方向九、运行结果若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持AOD气溶胶光学厚度是衡量大气中气溶胶对太阳辐射消减能力的核心指标反映悬浮颗粒物的浓度、种类与垂直分布特征。它是全球气候模型、空气质量预警及卫星遥感定标的 key 参数直接影响气溶胶辐射强迫效应评估和跨境污染追踪。MODIS MCD19A2 产品通过 MAIAC 算法提供 1 公里分辨率的 AOD 数据如 0.47μm 和 0.55μm 波段适用于年际变化分析。2000-2024 年中国 AOD 数据集显示该指标在沙尘暴、霾污染等事件中呈现显著峰值且城市区域常年高于农村。本代码基于 Google Earth EngineGEE平台实现了2024 年研究区 MODIS AOD气溶胶光学厚度数据的预处理、日尺度合成、时间序列分析与空间可视化。核心目标是从原始 MODIS 影像集中提取有效 AOD 数据消除噪声和无效值最终以图表和地图形式呈现研究区全年 AOD 的时间变化趋势和空间分布特征。一、基础设置模块定义核心参数与研究范围初始化研究的空间范围、时间周期为后续数据筛选提供基础条件。若使用自有边界数据需确保table变量与导入的资产名称一致且矢量数据的投影与后续影像投影兼容默认 EPSG:4326。备用区域的ADM2_NAME筛选条件需根据实际存在的行政单位名称修改如替换为具体城市、区县名否则会返回空集合。// 研究区边界矢量依赖外部导入资源 var ROI table; // 备用测试区域资源报错时启用 // var ROI ee.FeatureCollection(FAO/GAUL/2015/level2) // .filter(ee.Filter.eq(ADM2_NAME, ROI)); // 设定时间范围2024年全年 var start ee.Date(2024-01-01); var end ee.Date(2024-12-31);研究区ROI定义主方式直接使用外部导入的矢量数据变量名table需用户提前上传自有研究区边界文件如 Shapefile 转换的资产。备用方式调用 GEE 内置的 FAO 全球行政边界数据集2 级行政单位通过筛选行政单位名称ADM2_NAME获取测试区域适用于无自有数据时的调试。时间范围设定通过ee.Date()函数定义 2024 年 1 月 1 日至 2024 年 12 月 31 日的完整时间序列为后续数据的时间筛选划定范围。二、数据加载与 QA 预处理模块筛选原始数据并消除无效值加载 MODIS AOD 原始影像集通过质量控制QA掩膜、数据缩放等操作筛选出高质量的 AOD 有效数据剔除云污染、低质量观测值。MODIS AOD 数据的 QA 波段采用位编码存储质量信息需通过按位运算解析不同数据集的 QA 编码规则不同需参考对应数据集的产品说明文档。缩放系数是遥感数据的常见处理步骤目的是在有限的存储空间内保留数据精度需严格按照数据集说明设置不可随意修改。// 加载MODIS AOD数据MCD19A2_GRANULES V061 var rawCollection ee.ImageCollection(MODIS/061/MCD19A2_GRANULES) .filterBounds(ROI) // 空间筛选研究区范围 .filterDate(start, end); // 时间筛选2024年 // 预处理函数去云 缩放 质量控制 var preprocess function(img) { // 选择AOD波段0.47μm光学厚度 var aod img.select(Optical_Depth_047); // 选择QA波段质量控制 var qa img.select(AOD_QA); // QA掩膜保留Best(0)和Good(1)等级的数据 var qualityMask qa.bitwiseAnd(7).lte(1); // 数据处理缩放系数(0.001) 质量掩膜 保留时间属性 return aod .multiply(0.001) // 缩放至实际值 .updateMask(qualityMask) // 应用质量掩膜 .copyProperties(img, [system:time_start]); // 保留原始时间属性 }; // 应用预处理函数到整个影像集 var processedCol rawCollection.map(preprocess);原始数据加载数据集选择加载 MODIS 传感器的 MCD19A2_GRANULES V061 版本数据集该数据集提供 500m 分辨率的气溶胶光学厚度产品核心波段为Optical_Depth_0470.47μm 波长的 AOD 值对近地面气溶胶敏感。双重筛选通过filterBounds(ROI)筛选研究区范围内的影像剔除研究区外数据减少计算量通过filterDate(start, end)筛选 2024 年的影像匹配设定的时间范围。预处理函数preprocess波段选择分别提取 AOD 核心波段Optical_Depth_047和质量控制波段AOD_QA。质量掩膜QA Maskqa.bitwiseAnd(7)对 QA 波段进行按位与运算7 的二进制为111提取 QA 波段中代表质量等级的低 3 位信息。.lte(1)保留质量等级≤1 的数据即 “最佳”0 级和 “良好”1 级数据剔除 “中等”2 级、“差”3 级及无效等级4-7 级的数据实现去云、去噪声。数据缩放原始 AOD 数据以整数形式存储缩放系数为 0.001通过multiply(0.001)将数据转换为实际的光学厚度值范围通常为 0-5值越大表示气溶胶浓度越高。属性保留通过copyProperties()保留原始影像的时间戳属性system:time_start为后续日合成提供时间依据。函数应用通过map(preprocess)将预处理函数批量应用于原始影像集生成高质量的 AOD 影像集processedCol。三、日尺度合成模块将多颗粒影像合并为日均值由于原始 MODIS 影像为 “颗粒”Granule级数据单天内可能有多个影像覆盖研究区需通过日合成将单天内的所有有效影像合并为 1 个日均值影像最终生成 365 个最多日尺度 AOD 数据。日合成的核心是 “时间窗口筛选 空间统计”通过固定单日时间窗口对窗口内的所有有效影像进行均值统计实现数据的时间尺度聚合。重投影步骤是 GEE 中避免 “投影不匹配” 错误的关键尤其是当原始影像投影与地图显示投影不一致时需统一为常用投影如 EPSG:4326。// 计算总天数 var dayDiff end.difference(start, day); // 生成日期偏移序列0,1,2,...,364 var dayList ee.List.sequence(0, dayDiff.subtract(1)); // 循环每一天计算当日AOD平均值 var dailyCollection ee.ImageCollection.fromImages( dayList.map(function(dayOffset) { // 计算当前日期和次日日期 var currentDay start.advance(dayOffset, day); var nextDay currentDay.advance(1, day); // 筛选当天的所有影像 var dailyImages processedCol.filterDate(currentDay, nextDay); // 计算日均值 重投影 设置属性 return dailyImages .mean() // 计算当日所有有效影像的平均值 .reproject({crs: EPSG:4326, scale: 1000}) // 统一投影和分辨率 .set(system:time_start, currentDay.millis()) // 设置时间戳 .set(date_string, currentDay.format(YYYY-MM-dd)); // 设置日期字符串 }) ); // 过滤掉完全无数据的天数避免空值影像 dailyCollection dailyCollection.filter( ee.Filter.listContains(system:band_names, Optical_Depth_047) ); // 打印结果合并后的有效日数据量 print(合并后的日数据量 (应≤365):, dailyCollection.size());日期序列生成end.difference(start, day)计算时间范围内的总天数2024 年为 366 天实际代码中按差值计算若为平年则 365 天。ee.List.sequence(0, dayDiff.subtract(1))生成 0 到总天数 - 1的整数序列每个数字代表相对于起始日期的偏移天数如 0 代表 2024-01-011 代表 2024-01-02。日合成循环日期计算通过start.advance(dayOffset, day)计算当前偏移天数对应的日期currentDay并定义次日日期nextDay用于筛选单天影像GEE 的filterDate为左闭右开区间。单日影像筛选通过filterDate(currentDay, nextDay)从预处理后的影像集中提取当前天的所有有效影像dailyImages。日均值计算通过mean()对单日所有影像的 AOD 值取平均得到当日的 AOD 日均值若单天无有效影像会生成空影像。重投影与分辨率统一通过reproject()将日均值影像统一投影为 EPSG:4326WGS84 经纬度投影分辨率设置为 1000m高于原始 500m平衡精度与计算效率避免后续可视化和分析时出现投影不匹配错误。属性设置为日均值影像添加时间戳system:time_start以毫秒为单位和日期字符串date_string格式为 YYYY-MM-dd方便后续图表生成和数据筛选。空值过滤通过filter(ee.Filter.listContains(system:band_names, Optical_Depth_047))筛选出包含有效 AOD 波段的影像剔除单天无有效数据的空影像如持续阴雨天气导致无观测数据的日期。结果打印通过print()在 GEE 控制台输出有效日数据量用于验证合成结果正常情况下应≤365/366 天。四、时间序列图表模块可视化 AOD 日均值变化趋势基于日合成后的影像集生成研究区 2024 年 AOD 日均值的时间序列折线图直观展示全年气溶胶浓度的变化趋势如季节波动、峰值时段等。折线的高低对应 AOD 值大小峰值越高表示当日气溶胶浓度越高可能与雾霾、沙尘、秸秆焚烧等事件相关。折线的连续性若出现较长时间的断档可能是该时段研究区持续阴雨云覆盖导致无有效数据或传感器故障。var chart ui.Chart.image.series({ imageCollection: dailyCollection, // 日均值影像集 region: ROI, // 分析区域研究区 reducer: ee.Reducer.mean(), // 区域统计方式平均值 scale: 1000, // 空间分辨率1000m xProperty: system:time_start // X轴时间 }).setOptions({ title: 研究区 2024 年 AOD 日均值趋势 (已去云处理), vAxis: {title: AOD 值 (光学厚度)}, hAxis: {title: 日期, format: MM-dd}, lineWidth: 1.5, pointSize: 3, series: {0: {color: #d63031}}, // 红色折线 legend: {position: none} // 隐藏图例单系列 }); // 打印图表到控制台 print(chart);图表生成函数选择使用ui.Chart.image.series()生成时间序列图表该函数专门用于处理影像集的时间序列数据支持区域统计和可视化配置。核心参数imageCollection输入的日均值影像集dailyCollection。region统计区域研究区ROI函数会自动对该区域内的 AOD 值进行统计。reducer区域统计方法此处使用ee.Reducer.mean()计算研究区内的 AOD 平均值也可选择最大值、最小值、中位数等。scale统计时的空间分辨率需与影像重投影后的分辨率一致避免采样错误。xPropertyX 轴的时间属性对应影像的system:time_start字段。图表样式配置标题与轴标签设置图表标题明确研究区、年份、数据类型、Y 轴标签AOD 值光学厚度、X 轴标签日期格式为月 - 日。视觉样式折线宽度 1.5px、数据点大小 3px折线颜色设置为红色#d63031隐藏图例因仅单系列数据无需图例。图表输出通过print(chart)将图表打印到 GEE 控制台用户可在控制台查看、下载支持 PNG、CSV 格式图表。五、地图可视化模块展示 AOD 年均值空间分布计算 2024 年研究区 AOD 年平均值通过地图可视化展示气溶胶浓度的空间分布特征如高值区、低值区的空间格局。若研究区 AOD 值整体偏低如多为 0-0.5可缩小min/max范围如 0-0.5增强空间差异的辨识度若存在高值区需扩大max值避免高值区被统一显示为红色无法区分差异。边界图层的颜色和透明度可调整建议选择与 AOD 图层颜色对比度高的颜色如黑色、白色避免遮挡 AOD 空间分布信息。// 计算2024年AOD年平均值并裁剪到研究区范围 var aodYearlyMean dailyCollection.mean().clip(ROI); // 可视化参数设置 var vizParams { min: 0, // 最小值 max: 1.0, // 最大值 palette: [ // 颜色渐变蓝→青→黄→红 #0000ff, #00ffff, #ffff00, #ff0000 ] }; // 设置地图显示 Map.centerObject(ROI, 8); // 居中显示研究区缩放级别8 Map.addLayer(aodYearlyMean, vizParams, 2024 年平均 AOD); // 图层名称 Map.addLayer( ROI, {color: black, fillColor: 00000000}, // 黑色边界透明填充 研究区行政边界 );年均值计算与裁剪dailyCollection.mean()对所有日均值影像取平均得到 2024 年 AOD 年平均值影像。.clip(ROI)将年均值影像裁剪到研究区范围剔除研究区外的无效数据使可视化结果更清晰。可视化参数配置vizParamsmin/max数据显示范围0-1.0超出该范围的值会被拉伸到对应极值颜色可根据研究区实际 AOD 范围调整如污染严重区域可设为 0-2.0。palette颜色渐变方案从蓝色低 AOD清洁大气→青色→黄色→红色高 AOD污染严重符合常规遥感影像的可视化逻辑人眼对渐变颜色的辨识度更高。地图显示设置Map.centerObject(ROI, 8)将地图中心定位到研究区缩放级别设为 8可根据研究区大小调整区域越大缩放级别越小区域越小缩放级别越大建议范围 6-12。Map.addLayer()添加两个图层AOD 年均值图层使用上述可视化参数图层名称为 “2024 年平均 AOD”。研究区边界图层黑色边界线color: black透明填充fillColor: 00000000前 6 位为 RGB 颜色后 2 位为透明度00 表示完全透明图层名称为 “研究区行政边界”用于标识分析范围。六、代码运行流程与依赖条件运行流程1.定义研究区和时间范围→2.加载原始 MODIS AOD 数据并筛选时空范围→3.预处理质量控制 缩放 去无效值→4.日尺度合成生成日均值影像集→5.生成时间序列图表→6.计算年均值并可视化到地图。依赖条件平台依赖需在 Google Earth Engine 平台运行需注册 GEE 账号且账号已开通访问权限。数据依赖自有研究区边界数据矢量格式如 Shapefile、GeoJSON或使用 GEE 内置行政边界数据集。MODIS MCD19A2_GRANULES V061 数据集GEE 内置无需额外上传但需确保网络可访问 GEE 数据目录。环境依赖需保证网络稳定数据加载和计算需联网浏览器支持 GEE 的前端交互推荐 Chrome、Firefox。七、关键注意事项与常见问题关键注意事项数据路径与变量名一致性自有研究区数据的导入名称需与table变量一致否则会报 “变量未定义” 错误。质量控制参数不可随意修改QA 波段的按位运算逻辑bitwiseAnd(7).lte(1)是基于 MCD19A2 数据集的质量编码规则修改后会导致无效数据筛选错误。分辨率与投影匹配重投影的scale参数需与后续图表统计、地图可视化的scale一致避免因分辨率不匹配导致的统计偏差。常见问题日数据量远小于 365可能是研究区全年云覆盖较多如热带雨林、多雨地区或 QA 筛选条件过严可适当放宽至lte(2)即包含 “中等” 质量数据但需注明数据质量。地图无显示检查研究区边界是否有效可通过print(ROI)验证是否为空集合或 AOD 年均值影像是否全为无数据可通过print(aodYearlyMean)查看影像信息。图表报错多为时间属性缺失需确保预处理步骤中copyProperties(img, [system:time_start])未遗漏且日合成时正确设置了system:time_start属性。八、代码应用场景与扩展方向应用场景区域气溶胶污染长期监测如城市全年雾霾天数统计、沙尘天气影响范围分析。生态环境评估如气溶胶对植被光合作用的影响、大气能见度关联分析。气候与大气科学研究如气溶胶季节变化规律、与降水 / 风速的相关性分析。扩展方向时间尺度扩展将日合成改为月合成、季合成修改ee.List.sequence的时间步长如按月偏移分析更长周期的变化趋势。空间统计扩展增加分区统计如按研究区内的行政单元、土地利用类型统计 AOD 均值使用ee.FeatureCollection.map()实现。多数据源融合结合其他卫星 AOD 数据如哨兵 - 5P、VIIRS对比不同传感器的观测结果。异常值分析通过统计方法如标准差、箱线图识别 AOD 高值异常天数结合气象数据、人为活动数据如秸秆焚烧火点、工业排放数据分析异常原因。九、运行结果研究区2024年MODIS AOD气溶胶光学厚度数据可视化结果控制台输出的相关信息研究区2024年MODIS AOD气溶胶光学厚度长时间序列数据若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持