工贸一体化企业建设电子商务网站的误区企业展厅设计公司信息
工贸一体化企业建设电子商务网站的误区,企业展厅设计公司信息,个人音乐网站程序,长沙有什么好玩的水上乐园目录
一、基础参数与数据集初始化
二、湿度参数计算#xff08;核心处理步骤#xff09;
三、年度均值合成
四、导出范围定义与影像导出
五、关键技术要点总结与注意事项
六、运行结果 若觉得代码对您的研究 / 项目有帮助#xff0c;欢迎点击打赏支持#xff01;需要…目录一、基础参数与数据集初始化二、湿度参数计算核心处理步骤三、年度均值合成四、导出范围定义与影像导出五、关键技术要点总结与注意事项六、运行结果若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持本代码基于 Google Earth EngineGEE平台利用 ECMWF/ERA5_LAND/MONTHLY_AGGR 数据集ERA5-Land 月度聚合数据计算 1960-2020 年全球范围内的相对湿度RH和比湿q并按年份生成年度均值影像最终将各年份的相对湿度和比湿影像导出至 Google Drive。一、基础参数与数据集初始化var startYear 1960, endYear 2020; var col ee.ImageCollection(ECMWF/ERA5_LAND/MONTHLY_AGGR) .filterDate(startYear -01-01, (endYear 1) -01-01) .select([temperature_2m, dewpoint_temperature_2m, surface_pressure]);参数定义明确数据时间范围为 1960 年至 2020 年通过startYear和endYear两个变量固定起止年份方便后续代码复用和修改。数据集调用ee.ImageCollection(ECMWF/ERA5_LAND/MONTHLY_AGGR)加载 GEE 内置的 ERA5-Land 月度聚合数据集该数据集包含全球地表及近地面多种气象要素的月度统计数据精度和完整性较高。filterDate(...)对数据集进行时间筛选。由于 GEE 的filterDate为左闭右开区间包含起始日期不包含结束日期因此结束日期设置为endYear 1的 1 月 1 日确保 2020 年 12 月的月度数据被完整包含。select(...)筛选数据集所需的 3 个核心气象变量避免加载冗余数据提升计算效率temperature_2m2 米高度气温单位开尔文 Kdewpoint_temperature_2m2 米高度露点温度单位开尔文 Ksurface_pressure地表气压单位帕斯卡 Pa。二、湿度参数计算核心处理步骤var withHum col.map(function(img) { var T img.select(temperature_2m).subtract(273.15); var Td img.select(dewpoint_temperature_2m).subtract(273.15); var sp img.select(surface_pressure); // 饱和水汽压计算 var es T.expression(611.2 * exp(17.62 * tc / (243.12 tc)), {tc: T}); // 实际水汽压计算 var e Td.expression(611.2 * exp(17.62 * td / (243.12 td)), {td: Td}); // 相对湿度计算 var rh e.divide(es).multiply(100).rename(RH); // 比湿计算 var q e.multiply(0.622).divide(sp.subtract(e.multiply(0.378))).rename(q); return img.select(0).addBands([rh, q]); });该部分通过map函数遍历数据集中的每一幅月度影像逐像元计算相对湿度RH和比湿q是代码的核心逻辑温度单位转换原始气温T和露点温度Td均为开尔文K通过subtract(273.15)转换为摄氏度℃符合后续水汽压计算公式的单位要求。水汽压计算饱和水汽压es基于气温T采用世界气象组织WMO推荐的 Magnus-Tetens 公式计算表征某一温度下空气所能容纳的最大水汽量。公式中611.2为 0℃时的饱和水汽压Pa17.62和243.12为经验常数。实际水汽压e基于露点温度Td采用与饱和水汽压相同的公式计算表征空气实际含有的水汽量露点温度是空气水汽达到饱和时的温度。目标湿度参数计算相对湿度RH定义为实际水汽压与同温度下饱和水汽压的比值百分比形式反映空气接近饱和的程度。通过e.divide(es)计算比值再multiply(100)转换为百分比最后用rename(RH)为新波段命名。比湿q定义为水汽质量与湿空气总质量的比值单位kg/kg是气象和气候研究中常用的湿度指标不受气压影响。计算公式中0.622和0.378为水汽与干空气的分子量相关常数通过该公式将水汽压和地表气压转换为比湿命名为q。影像输出return img.select(0).addBands([rh, q])表示保留原始数据集中的第一个波段此处为 2 米气温并将计算得到的 RH 和 q 作为新波段添加到影像中形成包含原始气温和两个湿度参数的新影像集合withHum。三、年度均值合成var years ee.List.sequence(startYear, endYear); var annual ee.ImageCollection.fromImages( years.map(function(y) { y ee.Number(y); var mean withHum.filter(ee.Filter.calendarRange(y, y, year)) .mean() .set(year, y) .set(system:index, y.format(%d)); return mean; }) );年份序列生成ee.List.sequence(startYear, endYear)生成 1960-2020 年的年份列表整数序列作为后续按年份筛选数据的依据。年度均值计算通过years.map(...)遍历每一个年份对withHum影像集合进行按年筛选和均值计算filter(ee.Filter.calendarRange(y, y, year))筛选出当前年份y的所有月度影像.mean()对该年份的月度影像进行逐像元均值计算得到年度平均影像包含气温、RH、q 三个波段的年度均值.set(year, y)和.set(system:index, y.format(%d))为生成的年度影像添加属性year字段记录年份和索引以年份作为影像索引方便后续按年份筛选和导出。ee.ImageCollection.fromImages(...)将所有年份的年度均值影像整合为新的影像集合annual该集合包含 61 幅影像1960-2020 年每年 1 幅。四、导出范围定义与影像导出var region ee.Geometry.Rectangle([-180, -90, 180, 90], null, false); years.evaluate(function(yearList) { yearList.forEach(function(y) { var img annual.filter(ee.Filter.eq(year, y)).first(); // 相对湿度导出 Export.image.toDrive({ image: img.select(RH), description: ERA5Land_RH_ y, folder: ERA5Land_RH, scale: 11132, region: region, maxPixels: 1e13 }); // 比湿导出 Export.image.toDrive({ image: img.select(q), description: ERA5Land_q_ y, folder: ERA5Land_q, scale: 11132, region: region, maxPixels: 1e13 }); }); });导出范围定义ee.Geometry.Rectangle([-180, -90, 180, 90], null, false)定义导出的空间范围为全球经度-180°~180°纬度-90°~90°。其中null表示使用默认投影false表示不闭合几何图形矩形本身已闭合此处不影响结果。客户端与服务器端数据交互years.evaluate(function(yearList) { ... })GEE 中ee.List是服务器端对象无法直接在客户端如浏览器进行遍历evaluate方法将服务器端的年份列表years转换为客户端可识别的普通数组yearList从而实现逐年份循环导出。影像导出配置对每一年的年度影像分别筛选出RH相对湿度和q比湿波段通过Export.image.toDrive导出至 Google Driveimage: img.select(RH)/img.select(q)指定导出的目标波段description: ERA5Land_RH_ y/ERA5Land_q_ y导出文件的名称包含数据集名称、参数类型和年份如ERA5Land_RH_1960便于区分和管理folder: ERA5Land_RH/ERA5Land_q指定导出文件在 Google Drive 中的存储文件夹会自动创建该文件夹将不同参数的文件分类存储scale: 11132导出影像的空间分辨率单位米约等于 1°×1°赤道处 1° 经度约为 111320 米此处scale11132对应约 0.1° 分辨率该分辨率与 ERA5-Land 数据集的原始分辨率匹配region: region指定导出的空间范围全球maxPixels: 1e13设置导出影像的最大像元数限制1×10¹³远大于全球 0.1° 分辨率影像的像元数避免因像元数超限导致导出失败。五、关键技术要点总结与注意事项关键技术要点总结GEE 数据处理逻辑遵循 “服务器端处理为主、客户端交互为辅” 的原则通过map、filter等方法实现批量数据处理利用evaluate实现服务器端与客户端的数据转换。气象参数计算原理基于经典的 Magnus-Tetens 公式计算水汽压再通过水汽压、地表气压等基础参数推导相对湿度和比湿确保计算结果的科学性和准确性。导出优化配置通过合理设置scale分辨率、maxPixels最大像元数、folder存储文件夹等参数保证导出过程的稳定性和结果的可用性。数据完整性保障时间筛选时采用 “左闭右开” 区间设计确保包含完整的目标年份数据导出参数时分类存储、命名规范便于后续数据管理和分析。注意事项该代码运行依赖 Google Earth Engine 账号和稳定的网络环境且导出大量影像61 年 ×2 个参数 122 幅影像需要一定的时间取决于 GEE 服务器负载需耐心等待导出完成。导出的影像格式默认为 GeoTIFFGEE 导出的默认 raster 格式可直接用于 ArcGIS、QGIS 等 GIS 软件的空间分析。若需调整时间范围如延长至 2023 年或空间范围如仅导出某一区域可修改startYear、endYear和region的定义无需改动核心计算逻辑。六、运行结果点击RUN即可下载数据部分相对湿度Relative HumidityRH数据制图结果部分比湿Specific Humidityq数据制图结果若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持