Match Control Points (Data Management)

Summary

Creates matching tie points for a given ground control point and initial tie point in one of the overlapping images.

The ortho mapping block adjustment workflow often involves adding ground control points for a more accurate adjustment. One ground control point is typically associated with a tie point in each overlapping image. When there are many overlapping images for one ground control point, manually creating tie points for each image is labor intensive.

Usage

  • If the input control point set doesn't have a ground control point, the tool will fail.

  • If the input control point set has ground control points but no initial tie point, the tool will fail.

  • If no associated tie points are found, the input control point set remains unchanged, and a warning message appears that states no new tie points were found.

  • An input control point set can be a JSON string object that is a list of points as shown below.

    Input control point sets

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

Syntax

arcpy.management.MatchControlPoints(in_mosaic_dataset, in_control_points, out_control_points, {similarity})
ParameterExplanationData Type
in_mosaic_dataset

The mosaic dataset that contains the source imagery from which the tie points will be created.

Mosaic Dataset; Mosaic Layer
in_control_points

The input control point set that contains a list of ground control point features and at least one initial tie point for each ground control point.

File; Feature Class; Feature Layer; String
out_control_points

The output control point features that contain ground control points.

Feature Class
similarity
(Optional)

Specifies the similarity level for matching tie points.

  • LOWThe similarity criteria for the two matching points will be low. This option will produce the most matching points, but some of the matches may have a higher level of error.
  • MEDIUMThe similarity criteria for the matching points will be medium.
  • HIGHThe similarity criteria for the matching points will be high. This option will produce the least number of matching points, but each matching will have a lower level of error.
String

Code sample

MatchControlPoints example 1 (Python window)

This is a Python sample for the MatchControlPoints tool.

import arcpy
mdpath = "c:/omproject/dronecollection.gdb/droneimgs"
initpointset = "c:/omproject/initialgcpset.json"
arcpy.MatchControlPoints_management(mdpath, initpointset, out_control_points="c:/omproject/matchedpointsets.shp", similarity="HIGH")
MatchControlPoints example 2 (stand-alone script)

This is a Python sample for the MatchControlPoints tool.

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_management(
        mdpath, in_control_points=json.dumps(initpointset), out_control_points="c:/omproject/matchedpointsets.shp", similarity="HIGH")

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics