Skip to main content

定向影像表

定向影像表用于定义影像集合的元数据。 它用作将影像添加至定向影像数据集地理处理工具的输入。

在以下情况下,定向影像表可用于添加影像:

  • 影像元数据与影像文件分开存储。

  • 在纳入定向影像数据集前,影像元数据需要进行预处理。

  • 您需要使用由 Matrix 字段,或 OmegaPhiKappa 字段定义的影像定向信息。

注:

如果定向影像表中的任意可选字段在所有影像中值都相同,并且该字段是定向影像数据集的属性,则可以在定向影像数据集属性中为该字段定义一个值以及将其从定向影像表中移除。 例如,如果所有影像使用同一高程源,则该字段可以定义为一个定向影像数据集属性,赋予其公共值,以及将其从定向影像表中移除。 所有影像将共用该高程源值。

定向影像表字段

定向影像表中支持的字段如下所示。 在定向影像表中定义的字段优先于定向影像数据集属性中的定义。 定向影像表中的其他字段可以包含在输出定向影像数据集中,前提是在将影像添加至定向影像数据集工具中选中包含输入表中的所有字段参数。

定向影像表中支持的字段

字段名

字段类型

数据类型

描述

X

必填

数值

地面坐标系中相机位置的 x 坐标。 这些单位与 SRS 字段中定义的坐标系单位一致。

Y

必填

数值

地面坐标系中相机位置的 y 坐标。 这些单位与 SRS 字段中定义的坐标系单位一致。

Z

可选

数值

相机位置在地面坐标系中的 z 坐标。 z 坐标的单位必须与 x 和 y 坐标一致,可以通过垂直坐标系来定义。

z 坐标通常表示为正高(即海平面以上的高度)。 这在输入的数字高程模型 (DEM) 也使用正高时尤为合适。

SRS

可选

字符串

相机位置的坐标系可以是一个熟知 ID (WKID) 或定义字符串(熟知文本 [WKT])。

如果没有明确指定某个 SRS 值,则会使用输入定向影像数据集的空间参考。

ImagePath

必填

字符串

图像文件的路径。 此值可以是本地路径或可通过 Web 访问的 URL。 影像格式可以为 JPEG、JPG、TIF 或 MRF。

Name

可选

字符串

用于识别影像的别名。

AcquisitionDate

可选

日期

影像的采集日期。 还可以包含影像采集时间。

CameraHeading

可选*

数值

围绕相机 z 轴的一次旋转的相机方向。 单位为度。 朝向的测量方向为正顺时针方向,北方为零度。

当影像定向未知时,使用 -999 表示。

CameraPitch

可选*

数值

围绕相机 x 轴的第二次旋转的相机方向。 单位为度。 俯仰角测量方向为正逆时针方向。

当相机正对地面时,CameraPitch 值为零度。 CameraPitch 的有效值范围介于 0 到 180 度之间。 CameraPitch 为 180 度表示相机正对天空,90 度表示水平拍摄时。

CameraRoll

可选*

数值

围绕相机 z 轴的最终旋转的相机方向,沿正顺时针方向。 单位为度。 有效值范围介于 -90 到 90 之间。

如果相机指向地平线并且影像行平行于地平线,则 CameraRoll 值为 0。 如果影像(行)顺时针旋转 90 度,则 CameraRoll 值为 90。

CameraHeight

可选

数值

相机的离地高度。 其用于确定影像的可见范围,值越大,生成的视图范围越大。 单位为米。 分配的值必须大于零。

如果未指定 Z 字段值,则系统将根据此字段确定相机高度。

HorizontalFieldOfView

可选

数值

相机在水平方向上的视野。 单位为度。 有效值介于 0 到 360 之间。

VerticalFieldOfView

可选

数值

相机在垂直方向上的视野。 单位为度。 有效值介于 0 到 180 之间。

NearDistance

可选

数值

影像相对于相机位置的最近可用距离。 该值用于确定 3D 场景中可视平截头体的近平面。 单位为米。

FarDistance

可选

数值

影像相对于相机位置的最远可用距离。 该值用于确定可视平截头体的远平面。 平截头体的远平面与地面的交点决定了影像的覆盖范围,用于判断当单击地图时是否返回影像。 单位为米。 值必须大于零。

CameraOffset

可选

字符串

以分号分隔的一对值 X,Y

这些值代表以下内容之间的偏移:

  • 相机实际位置

  • 要素点

指定 CameraOffset 会减少从相机位置图像的搜索半径,因为它会使要素点更接近图像中心。

CameraOffset 值必须与定向影像数据集位于同一坐标系中。

CameraOrientation

可选

字符串

详细的相机方向参数将存储为以竖线分离的字符串。 字段可支持更准确的影像到地面和地面到影像转换。

OrientedImageryType

可选

字符串

影像类型可以从以下选项中选择:

  • 水平 - 曝光几乎平行于地面并指向地平线的影像。

  • 倾斜 - 曝光与地面成约 45 度角的图像,可看到物体的侧面。

  • 像底点 - 曝光几乎垂直于地面并垂直朝下的影像。 只能看到对象的顶部。

  • 360 - 使用可提供 360 度球面环绕视角的专业相机拍摄的影像。

  • 检查 - 资产的特写影像(与相机相距不到 5 米)。

  • AerialFrameVideo - 由无人机或飞机拍摄的视频,其相机朝下指向地面。

  • TerrestrialFrameVideo - 使用手持设备(如行车记录仪)捕获的视频。

  • Terrestrial360Video - 使用 GoPro 或 Insta360 等设备捕获的 360 度视频。

ImageRotation

可选

数值

采集影像时相机相对于场景的方向,以度为单位。 有效值介于 -360 到 360 之间。 该值用于在定向影像查看器中旋转影像视角,确保影像的顶部朝上。

OrientationAccuracy

可选

字符串

精度定义为由八个分号分隔值组成的字符串,用于按以下顺序定义每个值的标准差:XY 方向上的相机位置;相机 Z;相机前进方向;相机俯仰角;相机转动;近距离;远距离;高程。

所有距离均以米为单位定义。 所有角度以度为单位进行定义。 如果值未知,则可以排除该值。 但是,这可能会导致计算的精度高于实际值。

例如,如果 GPS 的 x,y 坐标的 RMS 误差为 +/- 10 米,高度的 RMS 误差为 +/- 20 米,则方向精度值为 10;20。

车载消费级相机的典型值为 15;10;5;5;5;0;0;1。

具有自动水平校准功能的 360 度相机(例如 GoPro 或 Insta360)的典型值为 15;0.2;0.5;0.5;0.5;0;0;1。

没有实时动态 (RTK) 和标准云台的无人机影像的典型值为 5;10;2;2;2;0;0;1。

经过航空三角测量后,倾斜影像的典型值为 0.01;0.02;0.001;0.001;0.001;0;0;1。

以上提供的值仅供参考,不应视为绝对测量值。 要确保精确的方向精度参数,应直接从已捕获影像的系统中获取这些值。

对于航空影像,如果已完成航空三角测量进程,则通常可在航空三角测量结果中找到这些参数。

对于记录基于 GPS 的位置信息的系统,应提供 GPS 精度详细信息作为数据集的一部分。

Matrix

可选*

字符串

按行排序的旋转矩阵,定义从图像空间到地图空间的变换,由九个浮点数值组成,以分号分隔。

所有值的小数分隔符必须为句号。

Omega

可选*

数值

相机的 x 轴的旋转角。 单位为十进制度。

Phi

可选*

数值

相机的 y 轴的旋转角。 单位为十进制度。

Kappa

可选*

数值

相机的 z 轴的旋转角。 单位为十进制度。

FocalLength

可选*

数值

相机镜头的焦距。 单位可以是微米、毫米或像素。

PrincipalX

可选

数值

自准直仪的主点的 x 坐标。 单位必须与 FocalLength 采用的单位一致。 默认值为零。

PrincipalY

可选

数值

自准直仪的主点的 y 坐标。 单位必须与 FocalLength 采用的单位一致。 默认值为零。

Radial

可选

字符串

径向畸变指定为由分号分隔的三个系数(如 0;0;0 对应 K1;K2;K3)。 耦合单位与指定的 FocalLength 单位一致。

在计算机视觉应用程序中,通常提供不指定耦合单位的系数。 在此类情况下,使用下列等式转换系数:fFocalLength 值,K1_cvK2_cvK3_cv 为计算机视觉参数:

\(K1 \space = \space K1_cv/(f \space * \space f)\)

\(K2 \space = \space K2_cv/(f \space * \space f \space * \space f * \space f)\)

\(K3 \space = \space K3_cv/(f \space * \space f \space * \space f \space * \space f \space * \space f \space * \space f)\)

Tangential

可选

字符串

切向畸变以两个分号分隔的系数表示,如 0;0 对应 P1;P2。 耦合单位与 FocalLength 使用的单位一致。

在计算机视觉应用程序中,通常提供不指定耦合单位的系数。 在这些情况下,可使用下列方程转换系数: fFocalLength 值,P1_cvP2_cv 是计算机视觉参数。

\(P1 \space = \space P2_cv/f\)

\(P2 \space = \space -P1_cv/f\)

A0,A1,A2

B0,B1,B2

可选*

数值

可在传感器空间与影像空间之间建立关系的仿射变换的系数。 方向为从地面到影像。

A0A1A2 表示 x 方向的平移量。

B0B1B2 表示 y 方向的平移量。

如果未提供值,可使用下列方程计算值:

\(A0 \space = \space (Width \space of \space the \space Image/2)-0.5\)

\(A1 \space = \space 1\)

\(A2 \space = \space 0\)

\(B0 \space = \space (Height \space of \space the \space Image/2)-0.5\)

\(B1 \space = \space 0\)

\(B2 \space = \space -1\)

SequenceOrder

可选

字符串/数值

字段存储驱动顺序导航的唯一数字或字符串序列。

OffsetFromStart

可选

双精度

该字段定义了首尾帧之间的时间偏移,单位为秒。

注:

可选* - 在定向影像数据集中,相机的外部定向由 CameraHeadingCameraPitchCameraRoll 值确定。

如果未显式定义 CameraHeadingCameraPitchCameraRoll,但定义了 Matrix 的值,则缺失字段值将通过 Matrix 值计算。

如果定义了 OmegaPhiKappa 的值,则将计算 MatrixCameraHeadingCameraPitchCameraRoll 的值。 指定这些值时,必须遵循 OmegaPhiKappa 的顺序。

旋转矩阵计算逻辑

注:

可选* - 仅当仿射值(A0,A1,A2B0,B1,B2)已定义时,才会使用定义的 FocalLength 值。 否则,将根据影像大小和相机视野从像素中计算 FocalLength

建议

定向影像支持近似和高精度相机方向。 虽然许多元数据字段为可选项,但当需要更高的精度时,某些字段将变得必不可少。 具体描述如下。

  • 最少必需字段 - 要将图像加载到查看器中,定向影像数据集中唯一必需的字段为相机 XY 位置和 ImagePath。 将按照定向影像数据集中的定义为所有其他必填字段分配默认值。

    将根据针对添加至定向影像的第一组图像所选择的影像类别来定义这些字段的默认值。 影像类别包括水平影像、倾斜影像、像底点影像、检查影像和 360 影像。 这些默认值为近似值,支持常规可视化,但可能无法提供合适的世界坐标到图像坐标的变换。 例如,对于水平图像,默认 CameraPitch 字段设置为 90,但该值只是一个近似值。 如果 CameraPitch 值已知,则应对其进行定义。

    “定向影像数据集属性”窗格

  • 提高精度 - 要定义每幅图像的截头锥体和覆盖区,需要使用以下字段: 应以合适的精度进行定义。

      • CameraHeadingCameraPitchCameraRoll 用于定义相机视角。

      • HorizontalFieldOfViewVerticalFieldOfView 用于定义相机视域。

      • CameraHeightNearDistanceFarDistance 用于定义相对高度和合适的景深。

  • 为提高空间精度,请包含以下字段:

      • Matrix - 可以更精确地定义相机方向,或者使用 OmegaPhiKappa 角度来确定相机方向。

      • FocalLength

      • 仿射值 - A0,A1,A2B0,B1,B2

      • RadialTangential 畸变系数

      • PrincipalXPrincipalY 坐标