Transform (Coverage)
Summary
Moves all features in a coverage based on a set of from and to control points.
Illustration
Usage
-
The Output Coverage must already exist with a tic file containing x,y coordinates for at least two in the desired location and units. Except for the tics, any existing features in the Output Coverage will be replaced by features from the Input Coverage.
-
This tool scales, skews, rotates, and shifts all coordinates in a coverage, but it does not perform "rubber sheeting".
-
The input coverage tic file and the output coverage tic file must contain at least two that have the same Tic-IDs and represent corresponding locations in both coverages. The two coverages do not have to have identical tics; only those tics whose IDs are common to both coverages will be used in the transformation.
-
The tolerances of the input coverage will be transformed and retained in the output coverage.
-
At least one more than the required minimum is needed to generate an RMS error with coordinate transformation.
-
Since the default $ANGLE value is 0, label points that have not been rotated will remain unrotated in the output. However, if the $ANGLE value of some labels are set, the transform angle will be added to the label angles.
-
All annotation subclasses present in the input coverage will be transformed to the output coverage. The position and size of input coverage annotation are transformed in the output coverage.
-
Existing section tables will be copied to the output coverage. The relation between the sections and the arcs will be maintained by the transform process.
-
Region information will be maintained.
-
The coordinate precision of the output coverage may not be the same as the precision of the input coverage. Precision is determined by the value of the applicable precision environment at the time the coverage was created. This can be done with the Create Coverage tool.
-
Feature attributes (that is, LENGTH, AREA, and PERIMETER) from the input coverage are updated after they are transformed.
-
The AFFINE transformation scales, skews, rotates, and translates all coordinates in the coverage using the same equation. Based on a minimum of three control points, this transformation can scale the x coordinates differently than the y coordinates. An AFFINE transformation can perform plane reflections as well.
-
The SIMILARITY transformation scales, rotates, and translates the coverage coordinates using an equation whose parameters are generated from the coordinates. If you use the SIMILARITY option, you can use two or more tics to calculate the equation parameters. This transformation cannot apply differential scaling or skewing to the x and y coordinates, but may be useful to edgematch scanner output where a scanned map has been cut into several sections to fit on the scanner.
-
Use the PROJECTIVE transformation option only if your Input Coverage was digitized directly off aerial photographs. The accuracy of the transformation will depend on the surface terrain being photographed, the angle between the camera and the ground, and the elevation from which the photograph was taken. The best results are obtained when photographing from higher elevations and located directly above a portion of the surface that is relatively flat. PROJECTIVE needs at least four control points to calculate the transformation.
-
The least squares solution is used to determine the transformation. To detect errors in the tic locations or Tic-IDs that could produce an incorrect transformation, it is recommended that you provide at least one more than the minimum number of tics required.
Syntax
Parameter | Explanation | Data Type |
in_cover |
The coverage whose coordinates are to be transformed. | Coverage |
out_cover |
The name of an existing coverage containing destination tics. The features from the input coverage will be transformed into this coverage. | Coverage |
transform_type (Optional) |
The type of coordinate transformation to be performed:
| String |
Code Sample
The following stand-alone script demonstrates how to use the Transform tool on a digitized coverage. First it creates an empy output coverage based on a template coverage. The template has tics and a defined projection. The empty output coverage is named roads. Then it transforms the digitized road features into the empty roads coverage.
# Name: Transform_Example.py
# Description: Transforms digitized road features into a new output coverage
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inCover = "roads_dig"
outCover = "C:/output/roads"
transformType = "AFFINE"
# Create the empty output coverage
arcpy.Create_arc(outCover, "citylim")
# Execute Transform
arcpy.Transform_arc(inCover, outCover, transformType)
# Print the RMS error
print arcpy.GetMessage(4)