Provides access to members that control a polynomial transform.
Members
Name | Description | |
---|---|---|
ApplyRotation | Applies a rotation to the polynomial. | |
ApplyScale | Applies a scale to the polynomial. | |
ApplyShift | Applies a shift to the polynomial. | |
CheckResidualRMS | Gets the residuals and RMS using checking points. | |
DefineFromCoefficients | Defines a polynomial XForm from polynomial (order: 0-3) coefficients . | |
DefineFromControlPoints | Defines a polynomial (order: 0-3) XForm from control points. | |
Domains | The domains in output space. | |
GetCoefficients | Gets the coefficients of the polynomial. | |
GetControlPoints | Gets control points used in defining the polynomial. | |
GetSystemResidual | Gets the system residuals. | |
GetSystemRMS | Gets the system RMS. | |
IsIdentity | Indicates if this geodata transform is an identity transform. | |
Order | The polynomial order (0-3). | |
SpatialReference | The output spatial reference after applying this transform. | |
Transform | Transforms a set of points in a given direction. | |
TransformCellsize | Transforms a cellsize in a given direction. | |
TransformExtent | Transforms an extent in a given direction. | |
TransformPoints | Transforms a point collection in a given direction |
IPolynomialXform.ApplyRotation Method
Applies a rotation to the polynomial.
Public Sub ApplyRotation ( _
ByVal direction As esriTransformDirection, _
ByVal pPivotPoint As IPoint, _
ByVal degree As Double _
)
public void ApplyRotation (
esriTransformDirection direction,
IPoint pPivotPoint,
double degree
);
Remarks
ApplyRotation method append an xform to the existing PolynomialXform. To define a rotation transformation for work with raster data using this method, you must define both forward and inverse transformation.
For example, to define a rotation of 45 degree unclockwise, you need to call
pPolynomialXform.ApplyRotate TransformationForward, 45
pPolynomialXform.ApplyRotate TransformationReverse, -45
IPolynomialXform.ApplyScale Method
Applies a scale to the polynomial.
Public Sub ApplyScale ( _
ByVal direction As esriTransformDirection, _
ByVal scaleX As Double, _
ByVal scaleY As Double _
)
public void ApplyScale (
esriTransformDirection direction,
double scaleX,
double scaleY
);
Remarks
ApplyScale method appends an xform to the existing PolynomialXform. To define an scale transformation to work with raster data using this method, you must define both forward and inverse transformations.
For example, to define a scale transformation, you need to call
pPolynomialXform.ApplyScale TransformationForward, 10
pPolynomialXform.ApplyScale TransformationReverse, 1/10
IPolynomialXform.ApplyShift Method
Applies a shift to the polynomial.
Public Sub ApplyShift ( _
ByVal direction As esriTransformDirection, _
ByVal shiftX As Double, _
ByVal shiftY As Double _
)
public void ApplyShift (
esriTransformDirection direction,
double shiftX,
double shiftY
);
Remarks
ApplyShift method append an xform to the existing PolynomialXform. To define a shift transformation to work with raster data using this method, you must define both forward and inverse transformations.
For example, to define a shift transformation, you need to call
pPolynomialXform.ApplyShift TransformationForward, 10
pPolynomialXform.ApplyShift TransformationReverse, -10
IPolynomialXform.CheckResidualRMS Method
Gets the residuals and RMS using checking points.
Public Sub CheckResidualRMS ( _
ByVal CheckingsSurcePoints As IPointCollection, _
ByVal CheckingsTargetPoints As IPointCollection, _
ByVal direction As esriTransformDirection, _
ByRef pResidual As Object, _
ByRef rms As Double _
)
public void CheckResidualRMS (
IPointCollection CheckingsSurcePoints,
IPointCollection CheckingsTargetPoints,
esriTransformDirection direction,
ref object pResidual,
ref double rms
);
Remarks
Get residual on a set of user specified check points. The residual returned is a variant array of double type.
IPolynomialXform.DefineFromCoefficients Method
Defines a polynomial XForm from polynomial (order: 0-3) coefficients .
Public Sub DefineFromCoefficients ( _
ByRef pForwardPolyCoef As Object, _
ByRef pReversePolyCoef As Object, _
ByVal Order As Integer _
)
public void DefineFromCoefficients (
ref object pForwardPolyCoef,
ref object pReversePolyCoef,
ref int Order
);
Remarks
The polynomial coefficients are a variant array of nx2 elements of double type, where n=3 for the first order, 6 for the second order and 10 for the third order.
To define a PolynomialXform to work with raster dataset, coefficients for both forward case and reverse case must be set.
You can define a PolynomialXform that performs one direction transformation, for transforming other type of data, such as forward transformation, pass Null to reverse coefficient argument.
IPolynomialXform.DefineFromControlPoints Method
Defines a polynomial (order: 0-3) XForm from control points.
Public Sub DefineFromControlPoints ( _
ByVal pSrcPoints As IPointCollection, _
ByVal pTarPoints As IPointCollection, _
ByVal Order As Integer _
)
public void DefineFromControlPoints (
IPointCollection pSrcPoints,
IPointCollection pTarPoints,
int Order
);
Remarks
The polynomial order can be 1,2,3 and the number of the non-correlated control points required must be at least 3, 6, and 10 respectively.
IPolynomialXform.GetCoefficients Method
Gets the coefficients of the polynomial.
Public Function GetCoefficients ( _
ByVal direction As esriTransformDirection _
) As Object
public object GetCoefficients (
esriTransformDirection direction
);
Remarks
The polynomial coefficients are in a variant array of nx2 elements of double type, where n=3 for the first order, 6 for the second order and 10 for the third order.
IPolynomialXform.GetControlPoints Method
Gets control points used in defining the polynomial.
Public Sub GetControlPoints ( _
ByRef ppSrcPoints As IPointCollection, _
ByRef ppTarPoints As IPointCollection _
)
public void GetControlPoints (
ref IPointCollection ppSrcPoints,
ref IPointCollection ppTarPoints
);
IPolynomialXform.GetSystemResidual Method
Gets the system residuals.
Public Function GetSystemResidual ( _
ByVal direction As esriTransformDirection _
) As Object
public object GetSystemResidual (
esriTransformDirection direction
);
Remarks
The residual returned is variant array of double type, the size of the array is the number of control points used in creating the PolynomialXform.
IPolynomialXform.GetSystemRMS Method
Gets the system RMS.
Public Function GetSystemRMS ( _
ByVal direction As esriTransformDirection _
) As Double
public double GetSystemRMS (
esriTransformDirection direction
);
IPolynomialXform.Order Property
The polynomial order (0-3).
Public ReadOnly Property Order As Integer
public int Order {get;}
Inherited Interfaces
Interfaces | Description |
---|---|
IGeodataXform | Provides access to members that control geodata transformation. |
Classes that implement IPolynomialXform
Classes | Description |
---|---|
PolynomialXform | A polynomial transform class. |
Remarks
The IPolynomialXform interface provides methods and properties used to create the PolynomialXform object and perform error analysis of the polynomial transformation.
You can create a PolynomialXform in two ways: One is to use DefineFromControlPoints with two sets of control points, one being source and one being target, to construct a polynomial. The other way is to set the polynomial coefficients directly using DefineFromCoefficients if the polynomial coefficients are known.
A polynomial transformation is an approximate transformation and the IPolynomialXform interface provides two ways to calculate the system residuals and RMS. One is based on the control points using GetSystemResidual and GetSystemRMS methods; and the other is based on a set of check points using CheckResidualRMS method.