LCZ4r 的本地功能是专门用于分析大型数据集(例如每小时气温读数)的专用工具。本教程重点介绍使用来自柏林的 23 个气象站收集的数据,作为 城市气候观测站(UCO).
概述
本地函数
LCZ4r,提供强大的工具来处理和分析城市气候数据。它们可以进行时间序列分析、热异常绘图、空间插值等。下面是这些函数的总结:
| 功能 | 描述 | 所需数据 | 需要互联网接入 |
|---|---|---|---|
lcz_ts() |
分析 LCZ 时间序列 | 是的 | 不需要 |
lcz_anomaly() |
计算 LCZ 热异常 | 是的 | 不需要 |
lcz_anomaly_map() |
绘制 LCZ 热异常地图 | 是的 | 不需要 |
lcz_interp_map() |
执行 LCZ 插值 | 是的 | 不需要 |
lcz_plot_interp() |
可视化 LCZ 插值 | 是的 | 不需要 |
lcz_interp_eval() |
评估 LCZ 插值 | 是的 | 不需要 |
lcz_uhi_intensity() |
评估 LCZ 的城市热岛强度 | 是的 | 不需要 |
💡提示:
利用
help(lcz_*)函数来访问每个 LCZ4r 函数的详细文档。例如,要了解lcz_ts功能、类型help("lcz_ts")在控制台中。每个 LCZ4r 函数都支持用于处理数据帧内缺失值的插补。有关插补方法的更多信息,请参阅每个函数文档中的“impute”参数。
数据输入要求
为了确保本地功能的顺利运行,输入数据应构造为具有以下列的数据框:
日期:此列应包含日期时间信息。此列必须标记为 “日期”、“时间”、“时间戳”或“日期时间”。确保日期时间格式符合 R 的约定(例如,YYYY-MM-DD HH:MM:SS)。可接受的格式包括“1999-02-01”。有关详细信息,请参阅格式日期和时间 露天包装R.
气象站标识符:用于识别气象站的栏。
气温或其他变量:至少有一列代表气温或任何其他目标变量。
纬度和经度:两列表示每个站点的地理坐标。确保该列名为 “lat”或“latitude” 和 “lon”、“long”或“longitude”。
为了简化此设置,LCZ4r 提供了一个示例数据帧,您可以使用以下命令加载该数据帧:

显示日期、站点、温度和坐标列的 LCZ 示例数据集的结构
导入您的数据
if(!require(data.table)) install.packages("data.table")
# 将路径替换为您的 CSV 文件的实际路径
my_data <- data.table::fread("PC/path/file_name.csv")
head(my_data)自定义 LCZ4r 中的本地函数
您可以进一步自定义局部函数以满足特定的分析需求:
1、灵活时间选择
局部函数有一个参数 ...
它提供了按特定年、月、日和小时过滤数据的选项,以缩小分析范围。如何使用这些参数的示例包括:
年份:指定要选择的年份的数值。例如,
year = 1998:2004选择 1998 年至 2004 年(含)之间的所有年份,而year = c(1998, 2004)仅选择 1998 年和 2004 年。月份:指定要选择的月份的数字或字符值。数值示例:
month = 1:6(一月至六月),或人物示例:month = c("January", "December").天:指定要选择的天数的数值。例如,
day = 1:30选择 1 到 30 之间的天数,或者day = 15仅选择该月的 15 天。小时:指定要选择的小时数的数值。例如,
hour = 0:23选择一天中的所有时间,同时hour = 9仅选择第 9 个小时。开始日期:指定开始日期的字符串
start = "DD/MM/YYYY"(例如“1/2/1999”)或“YYYY-mm-dd”格式(例如“1999-02-01”)。结束日期:指定结束日期的字符串
end = "DD/MM/YYYY"(例如“1/2/1999”)或“YYYY-mm-dd”格式(例如“1999-02-01”)。
示例
# 选择年份范围 (e.g., 1998:2004) or specific years (e.g., c(1998, 2004))
lcz_ts(
lcz_map,
year = 1998:2004
)
# 按月份筛选,或按数值筛选(e.g., 1:6 for January to June) or by names
lcz_anomaly(
lcz_map,
year = 2012, month = 9
)
# 确定一个具体日期,例如 2019 年 9 月 1 日。
lcz_interp_map(
lcz_map,
year = 2012, month = 9, day = 1
)
# 在特定时间内
lcz_anomaly_map(
lcz_map,
year = 2012, month = 9, day = 1, hour = 5
)
# 使用开始日期和结束日期确定特定时期。
lcz_uhi_intensity(
lcz_map,
var = "airT",
station_id = "station",
start = "1/9/2019", end = "30/10/2019"
)欲了解更多信息,请参阅 openair 包中的实用函数.
2. 按时间窗口或站点分割 LCZ 时间序列
您可以使用以下方法对 LCZ 时间序列数据进行分段 by
参数,允许跨不同时间窗口或站点进行分析。可用的拆分选项包括:
时间段:“年”、“季节”、“季节年”、“月”、“月年”、“工作日”、“周末”。
日光分割:“日光”,将数据分为白天和夜间时段。请注意,日光选项可能会导致白天和夜间时间均以 UTC 表示。看 美国国家海洋和大气管理局 和论证
type在 露天套餐.组合:您还可以使用类似的组合
c("daylight", "month")或者c("daylight", "season").
# 按月划分
lcz_ts(lcz_map, by = "month")
# 按季节划分
lcz_ts(lcz_map, by = "season")
# 按日照时间划分
lcz_anomaly(lcz_map, by = "daylight")
# 合并多个分割点
lcz_anomaly(lcz_map, by = c("daylight", "season"))有关更多详细信息,请参阅 输入露天包装.
工作流程示例
以下是如何使用本地函数的一些实际示例:
时间序列分析
# 特定年份的基本时间序列
lcz_ts(
lcz_map,
var = "airT",
station_id = "station",
year = 2020
)
LCZ 时间序列分析显示不同 LCZ 类别的温度变化
热异常测绘
# 绘制夏季月份的热异常图
lcz_anomaly_map(
lcz_map,
var = "airT",
station_id = "station",
month = 6:8,
year = 2020
)
显示城市区域温差的热异常图
空间插值
# 推算特定日期的温度
lcz_interp_map(
lcz_map,
var = "airT",
station_id = "station",
year = 2020, month = 7, day = 15, hour = 12
)
研究区域气温的空间插值