描述
计算镶嵌数据集中每个图像的图像空间和胶片空间中的基准坐标。
基准是在航空照片中用作参考的标记,通常为 4 个或 8 个。它们是用于确定从图像到胶片(称为内部方向)的图像变换的重要因素。可以使用该工具根据用户提供的基准模板文件,自动查找镶嵌数据集中每个图像的基准图像坐标。基准模板文件是一个表格,其中包含用于存储基准图片或图片路径的必填字段。有关基准的详细信息,请参阅使用基准优化内部方向。
使用方法
此工具使用输入基准模板文件来自动查找镶嵌数据集中每个图像中各基准点的图像坐标。
基准模板文件是多个字段的表格,这些字段用于存储基准图片或图片的路径。
胶片坐标系是计算基准中的因子,用于描述扫描图像的方向。照相机校准报告可以定义从成像平台曝光胶片的坐标系。在扫描过程中,可能会对图像进行旋转,因此胶片坐标系可用于描述计算正确图像内部方向的扫描方向。例如,如果在左侧方向获取图像,并且扫描了顺时针旋转 90 度的图像,则胶片坐标系将为 X_DOWN_Y_RIGHT。
扫描影像中的基准位置遵循以下图表。
可以将此工具创建的输出表格用作更新内部方向工具的输入。
字段 描述 类型 CameraID
链接到照相机定义(包括基准坐标)的照相机 ID。
字符串,必填项
FiducialPosition
值为 LL(1)、UR(2)、UL(3)、LR(4)、LM(5)、RM(6)、UM(7) 和 BM(8) 的基准标记的位置。有关基准位置,请参阅上图。
字符串,必填项
FiducialPhoto
用于存储基准照片的路径。基准照片可以为 TIFF、PNG 或 JPEG 格式的独立照片,也可以为图像中的一部分,该部分由图像中的尺寸(宽度和高度)以及中心位置(CenterRow 和 CenterColumn)定义。如果图像为镶嵌数据集中的项目,则路径语法为 theMosaicDataPath\objectid=id,其中 id 为该图像的 ObjectID 值,例如,c:\data\fgdb.gdb\md\objectid=1。
字符串,必填项
ScanPixelSize
基准照片中使用的像素大小,通常是扫描像素大小。单位为微米。
数值
宽度
基准模板的宽度,以像素为单位。仅当基准模板由图像的一部分定义时,才需要该值。该值位于图像空间中,并且原点位于左上角。
数值,可选项
高度
基准模板的高度,以像素为单位。仅当基准模板由图像的一部分定义时,才需要该值。该值位于图像空间中,并且原点位于左上角。
数值,可选项
CenterRow
整个图像中基准模板的中心行。仅当基准模板由整个图像的一部分定义时,才需要该值。
数值,可选项
CenterColumn
整个图像中基准模板的中心列。仅当基准模板由整个图像的一部分定义时,才需要该值。
数值,可选项
IsSymmetry
用于指示模板是否对称的布尔值。
数值,可选项
输出表
语法
arcpy.management.ComputeFiducials(in_mosaic_dataset, out_fiducial_table, {where_clause}, {fiducial_templates}, {film_coordinate_system})
参数 | 说明 | 数据类型 |
in_mosaic_dataset | 使用扫描栅格类型或帧照相机栅格类型,根据扫描航空照片创建的镶嵌数据集。 | Mosaic Layer |
out_fiducial_table | 用于存储图像空间和胶片空间中所有基准坐标信息的输出表格。 | Table |
where_clause (可选) | 用于定义计算基准的栅格子集的查询定义字符串。 | SQL Expression |
fiducial_templates (可选) | 包含用于存储基准图片和其他属性的必填字段的基准模板表格。 | Table View; File; String |
film_coordinate_system (可选) | 用于定义扫描航空像片的胶片坐标系的关键字。可用于计算基准信息和仿射变换构造。
| String |
代码示例
这是 ComputeFiducials 工具的 Python 示例。
arcpy.ComputeFiducials_management(r"c:\test\orthomapping.gdb\orthomosaicdataset",
r"c:\test\orthomapping.gdb\out_table", "objectID = 1",
r"c:\test\fiducilatemplate.csv", "X_RIGHT_Y_UP")
这是 ComputeFiducials 工具的独立脚本示例。
import arcpy
in_mosaic_dataset = "c:\\test\\ortho.gdb\\ortho_md"
out_fiducial_table = "c:\\test\\ortho.gdb\\fiducial_table"
where_clause = ""
fiducial_template = "c:\\test\\fiducilatemplate.csv"
film_coordinate_system = "NO_CHANGE"
arcpy.ComputeFiducials_management(in_mosaic_dataset, out_fiducial_table,
where_clause,fiducial_template, film_coordinate_system)
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是