匹配控制点 (实景映射)

摘要

针对其中一个重叠影像中的给定地面控制点和初始连接点创建匹配的连接点。

为了得到更精确的平差,现实映射区域网平差工作流通常涉及添加地面控制点。 在每个重叠影像中,通常有一个地面控制点与连接点相关联。 如果一个地面控制点对应多个重叠影像,则为每个影像手动创建连接点是一个劳动密集型过程。

使用情况

  • 如果输入控制点集不包含地面控制点,则工具将失败。

  • 如果输入控制点集包含地面控制点,但不包含初始连接点,则工具将失败。

  • 如果未找到关联的连接点,则输入控制点集将保持不变,并将显示一条警告消息,指示未找到新的连接点。

  • 输入控制点集可以为点列表的 JSON 字符串对象,如下所示。

    输入控制点集

    [
    {
    "poinId": <id>,
    "x": 
    "y":
    "z":
    "xyAccuracy":
    "zAccuracy":
    "spatialReference":{<spatialReference>}, // default WGS84
    "imagePointSpatialReference": {}, // default ICS
    "imagePoints": [
    {"imageId": 
     "x":
         "y": 
        },
       …
       ]
    }
    ]

参数

标注说明数据类型
输入镶嵌数据集

镶嵌数据集,其中包含将从中创建连接点的源影像。

Mosaic Dataset; Mosaic Layer
输入控制点

输入控制点集,其中包含地面控制点要素列表,且每个地面控制点至少对应一个初始连接点。

File; Feature Class; Feature Layer; String
输出控制点表

包含地面控制点的输出控制点要素。

Feature Class
相似
(可选)

指定将用于匹配连接点的相似性级别。

  • 低级相似性两个匹配点的相似性条件为低级。 此选项将生成最匹配的连接点对,但是某些匹配连接点对的错误误差等级可能比较高。
  • 中级相似性此匹配点对的相似性等级为中级。
  • 高级相似性此匹配点对的相似性等级为高级。 此选项将生成数目最少的匹配连接点对,但是每个匹配连接点对的误差等级可能比较低。
String

arcpy.rm.MatchControlPoints(in_mosaic_dataset, in_control_points, out_control_points, {similarity})
名称说明数据类型
in_mosaic_dataset

镶嵌数据集,其中包含将从中创建连接点的源影像。

Mosaic Dataset; Mosaic Layer
in_control_points

输入控制点集,其中包含地面控制点要素列表,且每个地面控制点至少对应一个初始连接点。

File; Feature Class; Feature Layer; String
out_control_points

包含地面控制点的输出控制点要素。

Feature Class
similarity
(可选)

指定将用于匹配连接点的相似性级别。

  • LOW两个匹配点的相似性条件为低级。 此选项将生成最匹配的连接点对,但是某些匹配连接点对的错误误差等级可能比较高。
  • MEDIUM此匹配点对的相似性等级为中级。
  • HIGH此匹配点对的相似性等级为高级。 此选项将生成数目最少的匹配连接点对,但是每个匹配连接点对的误差等级可能比较低。
String

代码示例

MatchControlPoints 示例 1(Python 窗口)

这是 MatchControlPoints 工具的 Python 示例。

import arcpy
mdpath = "c:/omproject/dronecollection.gdb/droneimgs"
initpointset = "c:/omproject/initialgcpset.json"
arcpy.MatchControlPoints_rm(mdpath, initpointset, out_control_points="c:/omproject/matchedpointsets.shp", similarity="HIGH")
MatchControlPoints 示例 2(独立脚本)

这是 MatchControlPoints 工具的 Python 示例。

import arcpy
import json
mdpath = "c:/omproject/dronecollection.gdb/droneimgs"
initpointset = [
    {
        "x": -117.21684675264804,
        "y": 34.052400694386705,
        "z": 123,
        "pointId": 1,
        "imagePoints": [
            {
                "imageID": 7,
                "x": -5635883367.549803,
                "y": -26485513430.170017,
                "u": -5635883367.549803,
                "v": -26485513430.170017
            }
        ]
    }
]
arcpy.MatchControlPoints_rm(
        mdpath, in_control_points=json.dumps(initpointset), out_control_points="c:/omproject/matchedpointsets.shp", similarity="HIGH")

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题