实时数据与地理
天气查询、地理编码、距离(Haversine)和 DMS/十进制度语法——附离线行为与隐私说明。
五种严格天气模板和其他严格地理模板会走出 Mac:location of <place>、
latitude/longitude of <place> 以及 distance between <end1> and <end2>。每一个都是
严格模板——如果行不精确匹配,就不会向任何地方发送任何内容。
本页说明天气模板、地理模板(命名地点和显式坐标)、距离、 DMS/十进制度语法,以及适用于每个请求的隐私规则。由外部数据驱动结果处均标注 为动态。
天气
以下五种是确切模板(不区分大小写,空格数量灵活):
weather in <place>
<place> temperature
high in <place>
low in <place>
feels like in <place>
<place> 是最多 100 个字符的自由文本。允许安全标点,以便自然地书写有歧义的地名——
New York、Paris, France、St. Louis、Côte d'Ivoire。
以下情况使该行不成为天气请求(按普通文本处理):
- 地点值为空,
- 控制字符,
- 答案令牌标记,
#、=,- 运算符:
+ - * / × ÷ − ^ % ( )。
前两种形式返回当前气温;high 和 low 返回今天的最高和最低气温;feels like 返回当前体感温度。
所有结果均为摄氏度(C°),且为动态值。
- 提供方: Open-Meteo,无需密钥。
- 缓存: 每个地点的一份最近成功响应供四项天气指标共用,TTL 为 600 秒,之后在后台刷新。
- 离线: 最后一次缓存读数仍可使用;完全没有缓存时显示
Weather unavailable。 - 隐私: 只发送地点名称;绝不使用 GPS。
地理
确切模板是(不区分大小写):
location of <place>
latitude of <place>
longitude of <place>
distance between <end1> and <end2>
distance between 的每个端点可以是:
- 地点名称,由地理编码器解析(动态),或
- 显式坐标,完全离线解析,不发起任何网络请求。
未加引号的名称按行中最后一个独立的 and 拆分。因此支持——并推荐——为包含
and 的名称加引号:
distance between "Rock and Roll Hall" and Vienna
单个或不成对的引号会使该行完全退出地理语法。
坐标端点的写法是 <latitude>, <longitude>。在点小数区域中分隔符是逗号;在逗号小数区域中该对
使用点,并用分号(;)分隔。有效范围:纬度 −90…90,经度 −180…180。
距离语义
distance between 计算的是 Haversine 表面距离——大圆直接距离,而不是驾车或飞行
路线。
- 地球半径:平均地球半径。
- 1000 m 及以上的距离以公里显示。
地理编码细节:
- 提供方: Open-Meteo,仅使用地理编码端点;采用排名最高的结果,不请求预报或 密钥。
- 离线: 已解析的地点会重复使用;否则显示
Location unavailable。 - 隐私: 只发送地点名称。设备的 GPS 位置绝不使用。
DMS / 十进制度
满足以下任一条件时,该行按角度处理:
- 行以
as DMS或as decimal结尾; - 带有分/秒分量(DMS 记法);
- 数字或符号紧挨在
°之前(十进制度形式,包括尾部方位字母)。
温度符号(C°、F°、K°、R°,始终位于字母之后)是温度,而不是角度。
| 形式 | 示例 | 值 |
|---|---|---|
| 十进制度 | 51.5074° | 51.5074 |
| + 方位 | 51.5° N、0.1275° W | 按 N/S/E/W 定符号(S、W 为负) |
| DMS | 156° 44′ 31.2″ | 156 + 44/60 + 31.2/3600 |
| 部分 DMS | 156° 44′ | 度 + 分,无秒 |
… as DMS | 51.25° as DMS | → 51° 15′ 0″ |
… as decimal | 156° 44′ 31.2″ as decimal | → 156.7419… |
限制与规则:
- 分和秒为 0…59。
- 秒在输入中允许最多两位小数(
31.25″),显示时保留一位(31.2″)。 - 符号只能是
° ′ ″(U+00B0、U+2032、U+2033)。ASCII 的'和''不是符号。 - 符号顺序固定——第一个只能是
°,第二个只能是′,第三个只能是″——且分量 为 2–3 个。 - 没有符号的数字串(
156 44 31)不会成为 DMS:该行不按角度处理。(带as decimal尾部时改用整数形式。)as DMS/as decimal左侧要求是十进 数字,或至少含一个符号的记法。 - 方位只在与纯十进制度搭配时接受(
51.5° N);带方位的 DMS 记法(156°44′31″ W)是 错误。 - 显示:
156° 44′ 31.2″(整秒不带.0;逗号小数区域为31,2″;负数带前导−)。
动态结果
天气、地理编码的位置以及依赖它们的距离由外部数据驱动并随时间变化。本页其他内容—— 基于坐标的距离和 DMS 换算——都在本地计算。