About the AGV file video georeferencing tags
A video layer's display is positioned on the globe using the georeferencing information defined inside the AGV file. For video layers that access a file or folder of frames, this will define the surrounds inside which the video will play. For custom DLL video layers, it will provide an initial location to zoom to if you choose to zoom to the layer's extent.
There are three options for defining a video layer's georeferencing details:
- A rotated bounding box—For a rectangular extent on the ground
- Two 3D points—For the location of the camera and the target point it is looking at
- One 3D point and angles—For the location of the camera and its 3D view vector
A rotated bounding box
This georeferencing option is designed for videos that are rectangular because they point directly down at the surface of the globe. This is often the case for GIS analysis results that have been exported to a video. The AGV file will identify this video source by containing the connection information inside these XML tags: <VideoGeoReferencing ProjectionType="Ortho"> and </VideoGeoReferencing>, as shown in the example XML text below.
The georeferencing details will be contained by the tags: <OrthoGraphicLocation> and <\OrthoGraphicLocation>.
You will also need to define the following:
- The bounding box using the <North>, <South>, <East>, and <West> tags—These values will define a rectangle on the surface of the globe using latitude and longitude values.
- An optional rotation to the bounding box using the <Rotation> tag—This value is in degrees (0–360), with 0 representing north and 90 representing east.
Example
The following is an example rotated bounding box video projection:
<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>
Two 3D points
This georeferencing option is designed for videos where the camera's location and the centerpoint of where it is aimed are known. This information is often defined for traffic cameras or security videos. The AGV file will contain this kind of georeferencing information inside these XML tags: <VideoGeoReferencing ProjectionType="Camera"> and </VideoGeoReferencing>, as shown in the example XML text below.
The information for this method of video georeferencing is defined in four sections:
- <CameraFOVAngle>: The field of view (FOV) angle for the camera
- This value is in degrees and represents the view width of the camera lens.
- The default value is 55 degrees.
- <CameraPosition>: The 3D point location of the camera
- The georeferencing tags used for this option are <Longitude>, <Latitude>, and <Elevation>.
- The 3D point units are x,y (in decimal degrees) and z (in meters).
- <FrameCenterPosition>: The 3D point location where the camera is aimed
- The georeferencing tags used for this option are <Longitude>, <Latitude>, and <Elevation>.
- The 3D point units are x,y (in decimal degrees) and z (in meters).
This image shows the CameraPosition point with the top green circle and the FrameCenterPosition point as the bottom red circle.
- <Roll>:You can optionally define a roll angle for the camera using the <Roll> tag.
- The default for this setting is 0 degrees, which means upright.
- Positive values will roll the camera to the right, and negative values will roll the camera to the left.
Example
The following is an example of two 3D points video projection:
<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>
One 3D point and angles
This georeferencing option is designed for videos where the camera's location, and the azimuth (compass bearing) and tilt of the camera, is known. This information is often defined for traffic cameras or security videos. This option is also useful for videos that have very minimal georeferencing details because these values can often be deduced through trial and error. The AGV file will contain this kind of georeferencing information inside these XML tags: <VideoGeoReferencing ProjectionType="Camera"> and </VideoGeoReferencing>, as shown in the example XML tags below.
The information for this method of video georeferencing is defined in three sections, including six types of tag values:
- <CameraFOVAngle>: The field of view (FOV) for the camera
- This value is in degrees and represents the view width of the camera lens.
- The default value is 55 degrees.
- <CameraPosition>: The 3D point location of the camera
- The georeferencing tags used for this option are <Longitude>, <Latitude>, and <Elevation>.
- The 3D point units are x,y (in decimal degrees) and z (in meters).
- A set of values defining the 3D direction in which the camera is aimed
- <Heading>: This value is in degrees and refers to the camera's compass bearing.
- For example, 90 degrees means east and 180 degrees means south.
- The Heading value should be between 0 and 360.
- <Tilt>: This value is in degrees and refers to the deflection angle from vertical.
- For example, 85 is looking close to horizontal and 0 is looking directly down.
- The Tilt value must be less than 90 degrees.
- <Range>: This value is in meters and is the approximate distance from the camera to the surface of the globe along the view vector.
- This value does not need to be precise—it is used as a factor for trimming the far edge of near-horizontal videos that stretch off into the far distance.
In this illustration, the curved, red deflection angle defines the tilt, and the bold blue line defines the range.
- <Roll>:You can optionally define a roll angle for the camera using the <Roll> tag.
- The default for this setting is 0 degrees, which means upright.
- Positive values will roll the camera to the right, and negative values will roll the camera to the left.
- <Heading>: This value is in degrees and refers to the camera's compass bearing.
Example
<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>