github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/javascript/geo.md (about)

     1  ---
     2  title: "Geography"
     3  linkTitle: "geography"
     4  date: 2023-10-05 
     5  description: >
     6  
     7  ---
     8  
     9  Эти методы могут быть полезными при разработке автоматизированных сценариев или приложений в системе "Smart Home", где необходимо учитывать географические аспекты, такие как местоположение устройств, зоны безопасности или другие аспекты, связанные с географической информацией.
    10  
    11  1. `GeoDistanceToArea(areaId, point)`: Этот метод позволяет определить расстояние между заданной точкой (`point`) и географической областью, заданной идентификатором (`areaId`). Обычно это используется для определения, насколько близко находится точка к определенной области.
    12  
    13  2. `GeoPointInsideArea(areaId, point)`: Этот метод используется для проверки, находится ли заданная точка (`point`) внутри географической области, определенной идентификатором (`areaId`). Он возвращает булево значение (true/false), указывающее, принадлежит ли точка данной области.
    14  
    15  3. `GeoDistanceBetweenPoints(point1, point2)`: Этот метод позволяет вычислить расстояние между двумя заданными точками (`point1` и `point2`). Обычно используется для измерения расстояния между двумя географическими координатами, например, для определения расстояния между двумя устройствами или местоположениями.
    16  
    17  
    18  1. Пример использования `GeoDistanceToArea`:
    19  
    20  ```coffeescript
    21  # Определение расстояния от точки (55.7558, 37.6176) до географической области с идентификатором "my_area".
    22  distance = GeoDistanceToArea("my_area", { lat: 55.7558, lon: 37.6176 })
    23  
    24  if distance < 1000
    25    console.log("Точка близко к географической области.")
    26  else
    27    console.log("Точка находится далеко от географической области.")
    28  ```
    29  
    30  2. Пример использования `GeoPointInsideArea`:
    31  
    32  ```coffeescript
    33  # Проверка, находится ли точка (40.7128, -74.0060) внутри географической области с идентификатором "nyc".
    34  isInside = GeoPointInsideArea("nyc", { lat: 40.7128, lon: -74.0060 })
    35  
    36  if isInside
    37    console.log("Точка находится внутри Нью-Йорка.")
    38  else
    39    console.log("Точка находится за пределами Нью-Йорка.")
    40  ```
    41  
    42  3. Пример использования `GeoDistanceBetweenPoints`:
    43  
    44  ```coffeescript
    45  # Вычисление расстояния между двумя точками.
    46  point1 = { lat: 34.0522, lon: -118.2437 }
    47  point2 = { lat: 37.7749, lon: -122.4194 }
    48  
    49  distance = GeoDistanceBetweenPoints(point1, point2)
    50  
    51  console.log("Расстояние между точками:", distance, "км")
    52  ```