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 ```