
Нередко съемка городского пейзажа происходит не только с уровня земли, но и с крыш, общих балконов, смотровых площадок, а иногда даже из окон арендованных на сутки квартир.
При работе с широкоугольной или нормальной оптикой расчет точной высоты съемки не играет такой большой роли, как при съемке на длиннофокусную оптику, особенно если перед нами стоит задача выстроить определённым образом на композиции городские доминанты и небесные тела. В таком случае разница в 5-10 метров уже существенно может сказаться на финальном результате.
Для расчета высоты зданий нам понадобятся следующие программы и ресурсы:
- Google Earth Pro (на ПК, Web-версия не подойдёт);
- Web-приложение Photo Companion;
- 2GIS Карты;
- Яндекс панорамы или Google панорамы.
А также мы можем воспользоваться программой GPS Test, чтобы узнать высоту, на которой мы находимся в данный момент. Это актуально при физическом поиске и посещении точек съемки.
Перед началом давайте немного углубимся в теорию. Как нам всем известно, любое здание в солнечный день отбрасывает тень. Длина тени меняется в течении дня: самая короткая тень, когда Солнце находится в зените, а самая длинная, во время заката или рассвета. Зная длину тени от здания и высоту Солнца (а точнее угол над горизонтом) в определенный момент времени, можно с помощью нехитрой формулы уровня 9ого класса вычислить высоту этого самого здания. Давайте рассмотрим несколько случаев, которые ещё до начала вычислений помогут понять будущую логику действий.
Первый самый простой случай, когда объект и тень находятся на одном уровне и нет никаких преград или других объектов.

Чуть позже я расскажу как в несколько кликов находится угол Солнца над горизонтом (A) для конкретного спутникового снимка, но сейчас давайте считать, что он нам известен, также как и длина тени (L). Теперь с помощью элементарных знаний геометрии 8-9ого класса можно вычислить высоту здания (H) по формуле: H=L*tg(A). Элементарно! Дальше чуть сложнее.

Бывают случаи, когда тень от здания падает на крышу другого здания. В таком случае нам придется вычислять две высоты: это высота здания на которое упала тень, и высота основного здания за вычетом высоты второго здания. После просто их складываем: H=H`+H``.
Без паники, если вам сразу не понятно, почему так. Две высоты мы вычисляем потому что длина тени (а в данном случае вернее сказать, что её проекция на горизонтальную плоскость L1, как на схеме), которая упала на крышу, будет такой, как если бы основное здание было ниже на высоту здания, на крышу которого упала тень.
А теперь давайте рассмотрим аналогичный случай, но в котором будет фигурировать не второе здание, а разная высота рельефа. Это тоже очень важно и встречается гораздо чаще.

Если присмотреться, то случай действительно почти как предыдущий, просто роль крыши второго здания на себя берет рельеф, высота которого нам известна (об этом чуть позже). А вообще, реальные случаи, когда тень падает на крышу другого здания, часто в себя включают ещё и то, что основания зданий находятся на рельефе с разными высотами.
В ситуации разных высот рельефа, чтобы найти высоту здания по длине проекции тени на горизонтальную плоскость надо: найти по формуле вначале высоту H=L*tg(A) и если рельеф, куда упала тень, выше, чем рельеф у основания здания, то прибавить разницу высот этих рельефов, а если рельеф, куда упала тень ниже, то наоборот разницу высот отнять (схему для этого случая уже не буду рисовать, так как тут всё тривиально). На практике мы рассмотрим такие случаи, и там будет всё гораздо проще, так как самим ничего вычислять не придётся, но базовые знания и понимание того, что мы будем делать вам могут пригодиться.
Ещё один важный момент: длину тени надо отсчитывать от проекции точки, от которой тень падает. В случае прямоугольных зданий всё просто — это край крыши, а точнее основание здания на земле. Но если это, например, конус? Взгляните на схему и сразу всё поймете.

Понимание этой простой вещи убережет вас от ошибок при работе со спутниковыми снимками.
Ну и последние важные наставления, перед тем, как переходить к практике. Если получается, что на всех спутниковых снимках длина тени интересующего вас здания падает на другое здание, то вычисления можно производить только если тень упала на крышу (притом плоскую), и ни в коем случае если куда-то на стену (в такой ситуации не будет видно конца тени).
Лучше всего использовать такие спутниковые снимки, где тень будет иметь максимальную длину, так как чем длиннее тень, тем более точным будет результат, так как погрешность измерений примерно одинаковая, но в случае с короткой тенью эта погрешность в процентном отношении будет существеннее. Например, если мы ошибемся в измерении тени от одного и того же здания на 1 м, то в случае длинной тени (пусть она будет 50 м) — это будет несущественно, ошибка всего 2%, но если тень короткая (пусть будет 10 м) — это уже ошибка на 10%, то есть в 5 раз больше. На практике мы всё это закрепим.
Что ж, хватит теории, у вас уже скорее всего и так голова кипит, так что приступим.
Первым делом открываем Google Earth Pro.
Здесь нам потребуются следующие функции:
(1) Включение/выключение таймлайна выбора даты съемки со спутника.
(2) Линейка.
(3) Таймлайн выбора даты съемки спутника.
(4) Точная дата съемки в формате ММ.ДД.ГГГГ.
(5) Координаты выбранной точки.
(6) Высота над уровнем моря (НУМ).

Теперь находим область с интересующим нас зданием и активируем таймлайн выбора даты съемки со спутника, нажав на значок с часами (1), в левом углу рабочей области появится соответствующий ползунок (3).
Когда мы будем перемещаться между датами съемки спутника с помощью ползунка (3), вид зданий будет немного меняться от даты к дате, это связанно с разным положением спутника относительно Земли. Лучше всего пытаться выбирать те снимки, на которых тень будет полностью видна от основания здания до её конца, но это не обязательно, просто так более удобно.
Теперь давайте для начала выберем одну дату, а вообще лучше три, когда тень от здания максимально читаемая, длинная, и не лежит на других зданиях. Что, почему и зачем так, вы уже знаете из теории.
Пример трёх разных спутниковых снимков для одного и того же здания на скриншоте ниже.

Тень от здания на всех снимках достаточно длинная, читаемая, четко видно основание здания и конец тени и все тени лежат на земле.
Открываем инструмент Линейка (2) и измеряем длину тени от её конца к основанию здания. Проще всего это делать от угла тени до угла здания, если последний виден, или если можно приблизительно прикинуть где он. Напомню, что если необходимо измерить высоту какого-либо пика или выступающей части на здании, которые находятся, например, посередине здания (часто это бывают кресты храмов, верхушки маяков, центры куполов), тогда измерение надо производить от конца тени этого пика, до проекции этого пика на плоскость земли.
Также не стоит забывать, что здания на спутниковых картах почти всегда сняты под углом, и проекции вершин крыш или каких-то выступающих вверх частей здания находятся на земле на площади основания здания, то есть точка проекции будет находиться не там же, где Вы видите этот пик на картах сверху.

После измерения длины тени рабочее пространство будет выглядеть вот так:



Обратите внимание, что на двух снимках я измеряю тень с левого края, а на последнем с правого, потому как крыша здания находится на одной и той же высоте, и на последнем снимке из-за такого наклона съемки спутника, основание здания с правой стороны видно, а слева нет. Навскидку можно найти проекцию точки левой вершины крыши на плоскость земли, просто строите одну линию параллельно линиям теней из точки конца тени, а ещё одну линию параллельно верхней линии крыши, которая будет проходить через проекцию точки на основании справа) и находите их пересечение.

Итак, воспользовавшись инструментом «Линейка» (2) и измерив длину тени здания от её конца к основанию, появится вот такое окно:

Здесь нам понадобятся следующие результаты измерений: «Длина по карте» — это измеренная длина нашей тени и «Направление» — это азимут местонахождения Солнца (именно чтобы азимут показывался верно, нужно производить измерение от конца тени к зданию, о чем я не устаю повторять). Если вы хотите, например, понять, какой высоты каждый этаж, то нужно мерить длину тени от крыши, а не от шахты лифта или самой высокой точки.
Также сейчас понадобятся остальные данные для всех трёх выбранных дат съемок со спутника: точная дата съемки в формате ММ.ДД.ГГГГ. (4), координаты выбранной точки (5), высота над уровнем моря (НУМ) (6) для двух точек: проекция вершины на плоскость земли и точка конца тени. Все эти параметры отображаются в самой нижней части рабочей области. Чтобы верно отображалась высота НУМ, необходимо навести курсор на соответствующую точку. А брать за основу координаты первой или второй точки, не имеет значения.

Продемонстрирую данные скриншотом из про- граммы только для одной даты, для остальных все аналогично. Обратим внимание, что в данной ситуации представлен именно тот случай, про который я рассказывал, с разницей в высотах рельефа у основания здания (11 м) и на конце тени (8 м).
Теперь воспользуемся калькулятором расчёта высоты объекта по его тени из веб-приложения Photo Companion от талантливого фотографа, программиста и моего товарища и коллеги по фотоделу — Эрика Александрова. Данное приложение можно установить себе на смартфон прямо из браузера.
Открываем приложение и находим в меню пункт «Калькулятор высоты объекта по его тени». Вводим все полученные ранее данные, не забывая про высоты рельефа у основания здания и у конца тени.

Получаем готовый результат — 66,4 м.
Для остальных 2х спутниковых снимков, которые были представлены ранее для этого же здания, получились следующие значения высоты: 70,3 м и 68,9 м. Видим, что разброс в 2-3м. В целом это нормально, берем среднее значение и получаем 68,4 м.
Бывают случаи, когда разброс значений получаемой высоты более чем на 10-20м, но как правило такое случается только для одного спутникового снимка. Это может быть из-за неверных данных Google Earth, но это не частое явление. В таком случае просто возьмите ещё пару спутниковых снимков и посчитайте высоту для них, а тот результат, который будет сильно отличаться от остальных и среднего значения, не учитывайте.
Теперь давайте посчитаем высоту одного этажа здания. Это надо для того, что точно посчитать высоту нашей будущей съемки, так как съемки с крыши — явление на самом деле не частое, а сами съемки обычно проходят или с последнего или с предпоследнего этажа.
Чтобы измерить высоту каждого этажа, для начала нужно воспользоваться 2GIS Картами или Яндекс панорамами (Google панорамами).
В 2GIS Картах, при нажатии на любое здание будет информация о количестве этажей, чего часто бывает достаточно (если не учитывать наличие технического этажа). Тут же можно посмотреть на фотографии здания, если они есть, и посчитать количество этажей вручную.

2GIS Карты удобны для быстрого определения этажности, но этого всё же бывает недостаточно, так как в новых домах, как правило, всегда есть технический этаж, наличие которого в 2GIS не учитывается, поэтому лучше всего воспользоваться Яндекс панорамами (Google панорамами), найти улицу с интересующим Вас зданием, поставить туда курсор и просто посчитать вручную.
В Яндекс картах надо нажать на значок в верхнем правом углу для включения панорам:

В Google картах надо нажать на значок в нижнем правом углу для включения панорам:

После просто в обоих случая выбираете нужную улицу, находите здание и считаете количество этажей вручную.

В данном здании есть технический этаж, то есть количество этажей 24, в то время как жилых 23 (как и по данным в 2GIS)
При наличии технического этажа, высота каждого этажа рассчитывается по простой формуле H/ (N+1), где H — высота всего здания до крыши, а N — количество жилых этажей. Если же в здании технического этажа нет, то высота каждого этажа рассчитывается как (H/N). При том, чтобы посчитать высоту конкретного этажа, надо воспользоваться следующей формулой (h*(n-1)), где h — рассчитанная высота одного этажа, а n — номер конкретного этажа.
Давайте в качестве примера посчитаем высоту одного этажа для здания, высоту которого мы посчитали ранее.
У нас в здании 23 жилых этажа и один техни- ческий, то есть Высота этажа = (68,4м/(23+1)) = = 2,85 м. Вообще, 2,9 м — 3 м это средняя высота этажей в новостройках и многих других домах. Рекомендую это запомнить, так как иногда очень удобно прикинуть высоту навскидку для сиюминутных быстрых расчётов.
Ну и в качестве ещё одного примера, давайте посчитаем, с какой высоты мы будем снимать, если, допустим, поставим камеру на 17ом этаже без учета высоты штатива: (2,85м*(17-1))=45,6 м.
Но это ещё не всё. Все высоты мы будем считать над уровнем моря (НУМ). Если вернуться немного назад, то можно заметить, что наше здание стоит на рельефе с высотой 11 м. О чем это нам говорит? Что к посчитанным ранее высотам надо прибавлять 11 м, чтобы получить высоту НУМ.
То есть, крыша нашего здания относительно земли располагается на 68,4 м, а НУМ на 79,4 м. А 17ый этаж 45,6 м над землей, но 56,6 м НУМ. И это то, что важно понимать, а главное запомнить. К сожалению, без этого при планировании съемок «прострелов» можно не хило так ошибиться.
Есть ещё один нюанс. Иногда, когда вы будете просматривать в Google Earth высоту рельефа, на котором стоит здание, то сможете заметить, что она меняется на несколько метров. Это нормально, важно понимать, что данные высот не сверхточные. Что делать в таком случае? Тоже самое, что и в любом подобном — брать среднее значение. Это особенно актуально для городов на сильно рельефной местности.
Итак, Я объяснил вам максимально подробно, как правильно искать высоту зданий, почему важно не забывать про то, что отсчет ведется относительно уровня моря, рассказал обо всех нюансах и возможных случаях и исключениях. Такой метод поиска высот не является единственным, но является самым точным и простым.
Однако также высоту точки съемки можно определить и непосредственно физически находясь на ней. Это бывает полезно, например, при съемке «прострелов» на природе. Если под рукой нет Google Earth, то определить высоту, на который вы находитесь в данный момент можно, например, с помощью высотомера (альтиметра) в смарт часах. Конечно смарт часы есть далеко не у всех, да и сам этот метод весьма неточный, с погрешностью около 30 м и больше. Но для съемки на природе очень даже рабочий.
И чуть более точный метод — это опредление высоты с помощь программы GPS Test. Данная программа интуитивна и очень проста. Она использует данные со спутников, тем самым очень точно определяя ваше местоположение, скорость, а вместе и с ними высоту.

Правда в отличии от местоположения, с высотой всё же есть некоторые погрешности. Об этом стоит помнить. И ещё стоит помнить о том, что программа использует данные спутников, то есть, если в городе или на природе работают глушилки GPS или вы находитесь в помещении, без доступа к открытому небу, то получить какие-либо точные значения местоположения и высоты будет нельзя.
Статьи и гайды

Фотошоп или горькая правда?
