С наступлением летних каникул, для многих жителей крупных городов, жизнь постепенно переезжает за город. Одним из IT-атрибутов загородной жизни является наличие спутникового телевидения. Кто-то пытается самостоятельно установить и настроить антенну по аналогии с соседскими, кто-то прибегает к услугам установщиков, кто-то рассчитывает параметры установки линейкой на гуглокартах.
Для тех, кто пытается самостоятельно установить и настроить спутниковое ТВ я хочу представить сервис Geonames.ru, помогающий определить, в какую сторону направлять спутниковую тарелку.
Логика работы такая — пользователь выбирает спутникового оператора или конкретный спутник, затем на карте определяет точку установки антенны, на основе этих данных сервис рассчитывает направление и другие параметры установки.
В процессе разработки выяснилось, что аналогичные сервисы уже существуют за рубежом, самым популярным из которых является Dishpointer.com, которым пользуются, в том числе, и установщики. Я постарался сделать свой сервис ориентированным на русскоязычных и менее технически подготовленных пользователей, фактически — для домохозяек.
Далее я расскажу каким образом в сервисе рассчитываются необходимые параметры и с какими трудностями пришлось столкнуться в процессе разработки.
Для того, чтобы самостоятельно установить тарелку необходимо определить несколько параметров:
- Направление в горизонтальной плоскости (азимут)
- Направление в вертикальной плоскости (угол места)
- Угол поворота конвертера
Истинный и магнитный азимуты
Истинный азимут служит для откладывания направления на карте, в котором ось X проходит параллельно экватору (параллель), а ось Y — меридиан, проходящий от южного полюса к северному.
Истинный азимут рассчитывается по формуле
k = PI/180;
a = широта места * k;
b = долгота места * k;
c = долгота спутника * k;
Азимут = (PI+arctan(tan(b-c)/sin(a)))/k;
Магнитный азимут же ориентируется на магнитные полюса Земли, которые не совпадают с географическими и необходим для определения направления по магнитному компасу. Кроме того, магнитные полюса со временем меняются, а также на стрелки компаса могут влиять, так называемые, магнитные аномалии.
В связи с этим геодезистами на каждый год рассчитываются таблицы магнитных склонений (отклонений магнитного азимута от истинного) для каждой «целоградусной» географической координаты (180*360=6480 возможных значений). Таким образом, для получения магнитного азимута надо к истинному азимуту прибавить или вычесть значение магнитного склонения для заданных координат.
В качестве источника таблицы магнитных склонений в сервисе Geonames.ru используется файл magdec.bgl на 2012 год — это таблица склонений в бинарном виде для авиа-симулятора Microsoft Flight Simulator 2004.
Для того, чтобы визуально отобразить направление на спутник на карте необходимо иметь ввиду, что карта плоская, а Земля — круглая. Поэтому линия направления будет представлять собой дугу. Сервис Geonames.ru использует Яндекс.Карты, в которых можно задать параметр geodesic=true для отображения линии в виде геодезической кривой.
Угол места и угол наклона тарелки
Угол места — это угол возвышения спутника над линией горизонта. Если угол места меньше нуля, то спутника над горизонтом не видно и прием сигнала с него невозможен.
Угол места рассчитывается по формуле
k = PI/180;
a = широта места * k;
b = долгота места * k;
c = долгота спутника * k;
Угол места = arctan((cos(b-c)*cos(a)-0.15126)/sqrt(1-cos(b-c)*cos(b-c)*cos(a)*cos(a)))/k;
Казалось бы, достаточно наклонить плоскость антенны в соответствии с углом места и мы поймаем ТВ-сигнал со спутника. Но не все так просто. Это утверждение будет верным, если используется прямофокусная антенна, у которой угол отражения сигнала перпендикулярен плоскости антенны. В частном секторе распространены офсетные антенны, угол отражения сигнала которых, в зависимости от конструкции, составляет 110-116 градусов. У нас чаще попадаются антенны с углом отражения 116 градусов.
Схематически разницу в конструкциях антенн и направлениях отражаемого сигнала можно посмотреть в комментарии к соседнему топику.
Таким образом, угол наклона антенны будет примерно равен углу места минус 26 градусов. Для таких операторов как Телекарта, Континент ТВ, спутников Ямал, при установке в Московском регионе, антенну придется наклонять к земле.
Угол поворота конвертера
Счастливые абоненты Триколора и НТВ+ могут вздохнуть с облегчением — с их спутника вещание ведется в круговой поляризации и поворачивать конвертер для приема такого сигнала не надо. В остальных случаях требуется поворот конвертера.
Угол поворота рассчитывается по формуле
k = PI/180;
a = широта места * k;
b = долгота места * k;
c = долгота спутника * k;
Угол поворота конвертера = arctan(sin(b-c)/tan(a))/k;
Если посмотреть на конвертер так, как смотрит на него тарелка, то поворачивать его надо при положительном значении — по часовой стрелке, при отрицательном — против.
Google.Maps vs Яндекс.Карты vs Яндекс.Карты 2.0
Поиск места установки антенны и визуализация направления на спутник является основным функционалом сервиса, поэтому выбор картографического сервиса не стал тривиальной задачей.
Субъективные оценки с учетом ориентации сервиса на Россию:
Google.Maps
Плюсы
- Высокая скорость работы
- Очень хорошая детализация спутниковых снимков
Минусы
- Не очень хорошая работа геокодера по России
- Низкая детализация в режиме схемы многих крупных российских городов
Яндекс.Карты 1.х
Плюсы
- Очень хорошая детализация в режиме схемы
- Отличный геокодер
Минусы
- Низкая детализация спутниковых снимков вне крупных городов
- Работает медленнее Google.Maps
Яндекс.Карты 2.х
Плюсы
- Очень быстрая работа, плавный рендеринг
- Маленький размер библиотеки
- Все плюсы первой версии
Минусы
- Невозможность отобразить линии в виде геодезической кривой.
- Получаемые карты не принтабельны. Статический API не позволяет отобразить линии в виде геодезической кривой.
В итоге выбор пал на Яндекс.Карты первой версии. Возможно, во второй версии со временем будут решены проблемы с печатью карт и тогда сервис можно будет перевести на нее. В крайнем случае есть Google.
Автор: vkachalov