О тегах пространственной привязки видео в файле AGV
Изображение слоя видео располагается на глобусе с использованием информации о пространственной привязке, заданной в файле AGV. Для слоев видео, которые используют файл или папку с кадрами, эта информация задает окружение, в котором воспроизводится видео. Для слоев видео на основе пользовательской DLL, эта информация обеспечивает переход к указанному местоположению при приближении к экстенту слоя.
Имеются три опции задания информации о пространственной привязке слоев видео:
- Поворачивающаяся рамка – для задания прямоугольного экстента на поверхности земли
- Две 3D точки – для задания положений точек камеры и цели, на которую она направлена
- Одна 3D точка и углы – для задания положения камеры и 3D вектора ее направления
Поворачивающаяся рамка
Эта опция пространственной привязки используется для видео прямоугольной формы, поскольку такое видео располагается непосредственно на поверхности глобуса. Такое видео часто получается при экспорте результатов анализа ГИС. В файле AGV этот источник видео идентифицируется информацией о подключении, содержащейся в тегах XML <VideoGeoReferencing ProjectionType="Ortho"> и </VideoGeoReferencing>, как показано в примере текста XML ниже.
Информация о пространственной привязке будет содержаться в тегах <OrthoGraphicLocation> and <\OrthoGraphicLocation>.
Необходимо также определить следующее:
- Для рамки задаются теги <North>, <South>, <East> и <West> – Эти теги определяют прямоугольник на поверхности глобуса, используя значения широты и долготы.
- Дополнительно задается поворот рамки, с помощью тега <Rotation> – это значение в градусах (0–360), где 0 означает направление на север, а 90 – на восток.
Пример:
Ниже показан пример проекции видео с повернутой рамкой границы:
<VideoGeoReferencing ProjectionType="Ortho">
<OrthoGraphicLocation>
<North>38.0</North>
<East>-120.0</East>
<West>-123.0</West>
<South>37.0</South>
<Rotation>45.0</Rotation>
</OrthoGraphicLocation>
</VideoGeoReferencing>
Две 3D точки
Данная опция создана для видео, в котором известны положение камеры и точка, на которую она направлена. Эта информация часто известна для камер дорожного наблюдения и служб безопасности. Файл AGV будет содержать данный тип геопространственной информации, содержащейся в этих тегах XML: <VideoGeoReferencing ProjectionType="Camera"> и </VideoGeoReferencing>, как показано в примере текста XML ниже.
При использовании этого способа пространственной привязки видео, данные задаются в четырех разделах:
- <CameraFOVAngle>: угол поля зрения (FOV) камеры
- Это значение указано в градусах и представляет ширину обзора линзы камеры.
- Значение по умолчанию равно 55 градусам.
- <CameraPosition>: точечное 3D расположение камеры
- Используются теги пространственной привязки <Longitude>, <Latitude> и <Elevation>.
- Единицами измерения 3D точки являются координаты x,y (в десятичных градусах) и z (в метрах).
- <FrameCenterPosition>: 3D точка, на которую направлена камера
- Используются теги пространственной привязки <Longitude>, <Latitude> и <Elevation>.
- Единицами измерения 3D точки являются координаты x,y (в десятичных градусах) и z (в метрах).
На рисунке показана точка положения камеры CameraPosition (зеленый кружок) и точка FrameCenterPosition (красный кружок).
- <Roll>:Можно дополнительно задать угол наклона камеры, используя тег <Roll>.
- По умолчанию используется значение 0 градусов, т.е. прямо.
- Положительные значения используются для поворота камеры направо, отрицательные – налево.
Пример:
Ниже приведен пример проекции с двумя 3D точками:
<VideoGeoReferencing ProjectionType="Camera">
<CameraFOVAngle>55</CameraFOVAngle>
<CameraPosition>
<Longitude>-75.16949951808976</Longitude>
<Latitude>39.958137211454</Latitude>
<Elevation>42.0</Elevation>
</CameraPosition>
<FrameCenterPosition>
<Longitude>-75.16949951808976</Longitude>
<Latitude>39.958137211454</Latitude>
<Elevation>3.85</Elevation>
</FrameCenterPosition>
<Roll>10</Roll>
</VideoGeoReferencing>
Одна 3D точка и углы
Эта опция пространственной привязки используется для видео с известными положением камеры, азимутом (направлением по компасу) и углом поворота камеры. Эта информация часто известна для камер дорожного наблюдения и служб безопасности. Эта опция также удобна для видео, которое имеет минимальный объем данных о пространственной привязке, которые иногда приходится определять методом проб и ошибок. Файл AGV будет содержать данный тип геопространственной информации, содержащейся в этих тегах XML: <VideoGeoReferencing ProjectionType="Camera"> и </VideoGeoReferencing>, как показано в примере тегов XML ниже.
Информация для данного способа пространственной привязки находится в трех разделах, включая шесть типов значений тегов:
- <CameraFOVAngle>: поле зрения (FOV) камеры
- Это значение указано в градусах и представляет ширину обзора линзы камеры.
- Значение по умолчанию равно 55 градусам.
- <CameraPosition>: точечное 3D расположение камеры
- Используются теги пространственной привязки <Longitude>, <Latitude> и <Elevation>.
- Единицами измерения 3D точки являются координаты x,y (в десятичных градусах) и z (в метрах).
- Набор значений, задающих направление камеры в 3D
- <Heading>: значение в градусах, обозначающее направление камеры по компасу.
- Например, 90 градусов означает восток, а 180 – юг.
- Значение Heading должно быть в пределах от 0 до 360.
- <Tilt>: значение угла отклонения от вертикали в градусах.
- Например, 85 градусов означает почти горизонтальное направление, а 0 – прямо вниз.
- Значение Tilt должно быть менее 90 градусов.
- <Range>: Приблизительное расстояние от камеры до поверхности глобуса вдоль вектора направления, в метрах.
- Это значение может быть не точным – оно используется как фактор ограничения дальнего края видео, положение которого близко к горизонтали, и которое растягивается вдаль.
На этом примере, красным цветом показан угол наклона, а линией синего цвета – диапазон.
- <Roll>:Можно дополнительно задать угол наклона камеры, используя тег <Roll>.
- По умолчанию используется значение 0 градусов, т.е. прямо.
- Положительные значения используются для поворота камеры направо, отрицательные – налево.
- <Heading>: значение в градусах, обозначающее направление камеры по компасу.
Пример:
<VideoProjectionType="Camera">
<Camera>
<FOVAngle>55.0</FOVAngle>
<CameraPosition>
<Longitude>-117.194374</Longitude>
<Latitude>34.056886</Latitude>
<Elevation>405.0</Elevation>
</CameraPosition>
<Heading>45.0</Heading>
<Tilt>45.0</Tilt>
<Range>30.0</Range>
<Roll>0.0</Roll>
</Camera>