В радиолюбительской практике бывает нужно определить высоты существующих объектов имеющих большую высоту. У меня например, в пределах досягаемости есть труба кочегарки, водонапорная башня, крыша строения, высоты которых хотелось бы определить поточнее чем просто "на глаз", для развешивания антенн.             Если есть доступ и интернету, то часто эта задача решается просто, быстро, не выходя из-за стола и довольно точно. Правда, не всегда, но об ограничениях этого способа я напишу в конце.
            Итак, суть идеи.
            Американцы, из компании Google, подарили миру возможность просмотра реальных изображений земной поверхности с высокой четкостью. Это сервис Google Earth, инсталляцию бесплатной версии которой можно скачать тут http://www.google.ru/intl/ru/earth/       Даже бесплатная версия позволяет не просто смотреть объекты во всем мире, а и:
            - измерять расстояния, с точностью до сантиметра,
            - видеть высоту места над уровнем моря, с точностью до метра,
            - определять координаты,с точностью до тысячной части секунды,
            - углы направлений, до сотой доли градуса.
            Это позволяет измерить длину тени от нужного объекта и ее угол. Ниже привожу картинку из Google Earth куска своей позиции.

труба кочегарки, водонапорка и их тени


            На этой части копии экрана желтой
линией показан замер длины тени от трубы
кочегарки. Для этого использовался
стандартный сервис измерения расстояний.
Вызывается щелчком по знаку линейки
на панели управления. Я его обозначил
красной цифрой "1". После этого,
появляется вкладка измерений и курсор измерений,
которым нужно вначале щелкнуть точку
начала измеряемого отрезка, появится желтая
линия, отмечающая начало измеряемого отрезка.
Затем, нужно щелчком отметить конец
измеряемого отрезка и, на появившейся
панели измерений, будут показаны длина и
азимутальный угол тени. Эти данные обозначены
на рисунке красными цифрами "2","3".
На рисунке это 53,4 метра и 347,5 градуса.
При этом есть нюанс, отсчет углов производится
от точки начала измерения,по часовой и
с нулем на севере. Поэтому будет
разница в 180 градусов если один и тот же
отрезок будет измерен с одного конца на
другой и наоборот.
Далее, на рисунке внизу отмечена дата съемки
и координаты. Обозначены соответственно
красными цифрами "4" и" 5".



            На основе этих данных можно получить угол подъема солнца на момент съемки. Для этого можно использовать программы рассчитывающие положение солнца на конкретное время и дату. Я использовал Satellite Antenna Alignment, Расчет угла поворота спутниковой антенны http://www.al-soft.com/saa/satinfo-ru.shtml Это бесплатная программа для расчета углов на спутники, но имеет сервис по вычислению угла солнца по дате и углу тени.
            Вот ее скриншот:

            В начале на первой вкладке "углы поворота антенны" нужно ввести свои координаты. Эти координаты с нужной точностью можно взять из данных Google Earth. После этого нужно перейти на вкладку "Азимут на солнце", скриншот которой и показан на рисунке. На этой вкладке, вначале нужно установить дату и время съемки. Далее третий столбец таблицы это азимут на солнце. Т.е. азимутальный угол, который дает тень от солнца. Этот угол тень будет занимать только в определенное время дня и по нему можно однозначно определить угол высоты подъема солнца в момент съемки.             Под угол тени , который получен в Google Earth, подбирается наиболее подходящий азимутальный угол из таблицы. Зеленым сектором в таблице выделены часы, при которых солнце находится над горизонтом. При этом, в нашем северном полушарии, для того что бы углы совпадали с теми, что приводятся в таблице, измерение угла тени в Google Earth нужно начинать с конца тени к ее основанию, т.е. к объекту. Если в данные получены из другой программы, то возможно нужно будет скорректировать угол на 180 градусов. В любом случае, имеет смысл вводимый угол оценить на реальность по тому времени, которому он соотвествует. Т.е угол должен быть как минимум в зеленом секторе ну и время съемки тоже примерно можно оценить по фото в Google Earth. Так, в приведенном на первом рисунке примере, данные Google Earth составили 347,5 градуса. В Satellite Antenna Alignment этому углу соответствует уже красная зона, т.е. солнце за горизонтом.Произошло это из-за того, что угол я измерял от объекта к концу тени, т.е. наоборот. Поэтому для приведения угла к тому, что использует Antenna Alignment, нужно вычесть 180 градусов. 347,5-180=167,5. В таблице этому углу максимально соответствует угол 167,6 градуса по азимуту, и этому углу соответствует 30,0 градусов высоты подъема солнца. Это помечено синим на скриншоте.





            Теперь есть длина стороны и противолежащий угол в прямоугольном треугольнике. Далее просто, высота объекта равна длине тени умноженную на тангенс угла падения тени.             В моем случае это 53,4хTG( 30) = 53.4х0.577=30.8 метра. Что, в общем, вполне совпадает с паспортными данными. Там эта труба 30 лет назад имела 30 метров высоты. При этом еще неясно какие данные точнее. За 30 лет мог и уровень грунта подняться и труба возможно была не 30 метров. Ниже вставил таблицу, в которой можно посчитать это тут же. Заносятся данные длины тени и угла в градусах, получается высота в метрах. Только при вводе данных обязательно ставьте точку, а не запятую. Иначе не считает. :)

Высота объекта
Длина тени Значение угла солнца в градусах
X tan() неизвестно
            Но все это можно и не делать.На сайте http://coil32.narod.ru , автор создал калькулятор, реализующий эту идею Причем на сайте автора находится даже два калькулятора, один для расчета, по вышеприведенному алгоритму, вычисления времени по азимуту угла тени, другой, для случая, когда длина тени измеряется непосредственно. В калькулятор заносятся сразу все данные и получается результать в виде высоты объекта.             Я протестировал данный калькулятор, путем вычисления высоты передающей антенны элистинской средневолновой вещатальной станции. Ошибкак составила всего один метр при высоте объекта около 115 метров.
            Теперь об ограничениях метода.
            Они определяются во первых точностью измерения длины тени и горизонтальностью поверхности, на которую падает тень.             Точность измерения больших длин тени, на мой взгляд, вполне достаточна в Google Earth. Т.е. десятки метров можно измерять с погрешностью менее полуметра, т.е. единиц процентов. Если требуется точность больше, то нужно брать более точные средства измерения. Хотя рулеткой можно намерить еще большую погрешность при таках длинах. При малых длинах тени, на мой взгляд до 10=15м., лучше конечно рулеткой. Поскольку погрешность в полметра уже может быть существенна.
            Отсюда способ уменьшения погрешности связанной с измерением длины тени. Допустим вам не повезло и фото вашего объекта сделано в полдень и длина тени существенно меньше длины объекта, хотя почти для всей территории РФ это не так, ну допустим что вы затеяли измерение находясь на экваторе :). или просто объект мал, а возможности измерить его просто рулеткой нет. В этих случаях, лучше будет измерить тень во время, когда солнце находится низко над горизонтом и длина тени больше. При этом желательно, что бы тень была направлена на легко узнаваемый в Google Earth ориентир для того, что бы можно было определить угол азимута тени. Компасом тут лучше не пользоваться, если вы не разбираетесь в разных системах географических координат и магнитном склонении в степени достаточный что бы вычислить истинный азимутальный угол. Иначе азимут, который определили вы и азимут, по которому программа определяет высоту солнца над горизонтом могут существенно различаться, соотвестсвенно будут различаться и высоты солнца над горизонтом.
            Следующая причина ухудшения точности полученного результата, это отклонение места, на которое падает тень от строго горизонтального. Так отклонение на 5 градусов, может дать до 20 процентов ошибки, в зависимости от основного угла. Можно оценить эту погрешность для конкретной ситуации путем вариации возможной погрешности отклонения угла от 90 градусов в вычислениях.
            Помочь тут может то, что человек обычно хорошо чувствует не горизонтальность поверхности и может ее оценить. Для того что бы мы могли ходить на двух ногах, природа дала нам не плохой вестибулярныйаппарат. :) Поэтому можно попытаться каким либо образом оценить угол негоризонтальности и скомпенсировать его в расчете. Без этого будут ошибки, приемлемость которых зависит от приложения.
            И еще одна причина, могущая быть существенной. Это падение конца тени на предметы имеющие собственую высоту. В этом случае длина тени укорачивается, соотвественно и результат будет иметь тем большую погрешность, чем больше высота мешающего объекта над землей. Эту погрешность можно скомпенсировать отдельным расчетом по высоте мешающего объекта, если его высоту, в точке падения конца тени, можно измерить.
            В приведенном выше фото видно два излома тени от водонапорной трубы, это левее конца желтой линии измерения длины тени от трубы кочегарки. Оба излома дают кроны высоких деревьев. В этом случае, точность будет очень низкая, поскольку высота дерева составляет примерно половину высоты водонапорки.
            Вроде все. Если есть вопросы или нужна помощь в определении высоты по предложенному методу, можно обращаться письмом из раздела "Связь с автором".