Numlex Документация
Справочник
Сообщить о проблеме

Живые данные и география

Погода, геокодирование, расстояние (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 (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 м отображаются в километрах.

Детали геокодирования:

  • Провайдер: Open-Meteo, только эндпоинт геокодирования; используется результат с наивысшим рангом, прогноз и ключ не запрашиваются.
  • Офлайн: найденное место используется повторно; иначе Location unavailable.
  • Приватность: отправляется только название места. GPS-позиция устройства никогда не используется.

DMS / десятичные градусы

Строка считается градусным выражением, когда выполняется любое из условий:

  • строка оканчивается as DMS или as decimal;
  • она несёт компоненты prime/double-prime (запись DMS);
  • цифра или знак стоит непосредственно перед ° (форма десятичного градуса, включая хвостовой кардинал).

Температурные глифы (C°, F°, K°, R°, всегда после буквы) — это температуры, а не градусы.

ФормаПримерЗначение
Десятичный градус51.5074°51.5074
+ кардинал51.5° N, 0.1275° Wзнак по N/S/E/W (S, W — отрицательные)
DMS156° 44′ 31.2″156 + 44/60 + 31.2/3600
Частичная DMS156° 44′градусы + минуты, без секунд
… as DMS51.25° as DMS→ 51° 15′ 0″
… as decimal156° 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 — вычисляется локально.

Связанные разделы

Нашли ошибку в документации? Сообщите о ней на GitHub