Наземное фотограмметрическое картирование объектов с помощью Google StreetView, QGis и модуля go2streetview

Замечание 1. В данной статье не расматриваются юридические вопросы законности использования описанного метода при работе с данными компании Гугл. Мое дело метод показать, а с юристами сами разбирайтесь.
Замечание 2. Собственно, ничто не мешает использовать любые другие данные, вплоть до своих фотографий. Для этого необходимо только переписать модуль. К сожалению, моих познаний в языке для этого недостаточно. Была попытка написать отдельную программу для реализации этого метода (Borland С++ Builder 6) с произвольными фотографиями, но, ввиду отсутствия времени и денег работа была остановлена.

 

Данные проекта Google StreetView вполне успешно можно использовать не только для ориентирования на местности, но и для картографирования объектов. Причем речь идет не просто о нанесении на карту топонимики или примерного уточнения границ объектов. При небольших затратах возможно картирование объектов с точностью до нескольких метров. Особенно это актуально для объектов небольшого размера, которые невозможно отрисовать по спутниковому снимку (инфраструктура, растительность, ограждения, элементы зданий и др.).

Для иллюстрации метода, нанесем на карту столбы освещения на Текстильной улице города Шахты, Ростовской области. Сделать это по спутниковому снимку невозможно. Более того, по спутниковому снимку невозможно даже определить их наличие:

0

 

С помощью меню «Модули» -> «Управление модулями» установим модуль «go2streetview«. После чего откроем в QGis указанный район и запустим модуль. Сделать это можно перетаскиванием желтого человечка на необходимую точку улицы, точно так же как и в Google Maps. В новом окне откроется фотография улицы из указанной точки, а сама точка на карте будет обозначенна синим цветом с двумя лучами, иллюстрирующими рамки окна с фотографией.

1

 

Изменение угла обзора в окне go2streetview, автоматически изменяет положение лучей. Это замечательное свойство модуля, наряду со свойством треугольника, позволяет нам определить местоположение любого объекта, попадающего не менее чем на два снимка StreetView.

В окне панорамы приблизим первый столб и соориентируем вид таким образом, что-бы его пересекала рамка окна. После чего создадим вспомогательный линейный слой, в котором продлим продлим луч go2streetview. В моем случае, таким слоем является слой «водотоки» (по ленному недоразумению). К сожалению, модуль go2streetview не позволяет указать в настройках размеры лучей, поэтому приходится поступать таким методом.

2
Такую же процедуру повторим для столба на противоположной части дороги. Для удобства, можно использовать правую границу окна и правый луч соответственно.

Теперь откроем панораму с этими столбами снятую из другой точки. Сделать это можно кликнув по карте (не забудьте перед этим переключиться из режима редактирования слоя в режим модуля). Еще проще сделать это кликнув по стрелке в окне go2streetview.

В новом окне выполняем те же самые операции, что и ранее. Луч, проведенный из второй точки, в пересечении с первым лучом обозначит местоположение картируемого столба.

3
Находим противоположный столб.

4

 

Нанесем местоположение столбов на точечный слой. Сделать это можно в любой момент времени, но по мере работы вспомогательный слой постепенно загромождается лучами. В моем случае это затрудняет простановку точек после определения местоположения всех столбов.

5

 

В ходе работы необходимо следить за тем, что-бы не ошибиться в выборе рамки окна go2streetview. Когда постоянно «вертишься» в пространстве панорам, такая ошибка, особенно в начале работы, случается часто. Обычно, это сразу заметно по нехарактерному положению искомого объекта на плане.

Для нанесения точки можно использовать более двух лучей. Это повышает точность, но значительно увеличивает трудемкость. В нашем случае это не требуется.

6

 

Таким методом мы движемся вдоль всей улицы, редактируя точечный слой после каждого определения местоположения столба.

7

 

Получая в итоге следующее:

8

 

Теперь нам необходимо только отключить вспомогательный слой, подключить необходимые слои, добавить соль и перец по вкусу. Карта местоположения столбов освещения готова.

9

Добавить комментарий

2 comments

  1. Edwin:

    Hi,

    Thanks for the how-to. Looks great!
    One thing im wondering: How do you construct this lines to be exact like the beam?

    Thanks!