Class SimilarTransformBuilder
Object
MathTransformBuilder
ProjectiveTransformBuilder
SimilarTransformBuilder
Builds MathTransform setup as Similar
transformation from a list of MappedPosition.
The The calculation uses least square method. The similar transform equation:
[ x'] [ a -b Tx ] [ x ] [ a*x - b*y + Tx ] [ y'] = [ b a Ty ] [ y ] = [ b*x + a*y + Ty ]In the case that we have more identical points we can write it like this (in Matrix):
[ x'1 ] [ x1 -y1 1 0 ] [ a ] [ x'2 ] [ x2 -y2 1 0 ] [ b ] [ . ] [ . ] [ Tx ] [ . ] [ . ] * [ Ty ] [ x'n ] = [ xn yn 1 0 ] [ y'1 ] [ y1 x1 0 1 ] [ y'2 ] [ y2 x2 0 1 ] [ . ] [ . ] [ . ] [ . ] [ y'n ] [ yn xn 0 1 ] x' = A*mUsing the least square method we get this result:
m = (ATA)-1 ATx'
- Since:
- 2.4
- Author:
- Jan Jezek
-
Field Summary
Fields inherited from class ProjectiveTransformBuilder
A, P, X
Fields inherited from class MathTransformBuilder
mtFactory
-
Constructor Summary
ConstructorsConstructorDescriptionSimilarTransformBuilder
(List<MappedPosition> vectors) Creates SimilarTransformBuilder for the set of properties. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Fills A matrix for m = (ATPA)-1 ATPx' equationint
Returns the minimum number of points required by this builder, which is 2.protected GeneralMatrix
Returns the matrix for Projective transformation setup as Affine.Methods inherited from class ProjectiveTransformBuilder
calculateLSM, computeMathTransform, fillPMatrix, fillXMatrix, getCoordinateSystemType, includeWeights
Methods inherited from class MathTransformBuilder
getDimension, getErrorStatistics, getMappedPositions, getMathTransform, getName, getSourceCRS, getSourcePoints, getTargetCRS, getTargetPoints, getTransformation, printPoints, setMappedPositions, setSourcePoints, setTargetPoints, toString
-
Constructor Details
-
SimilarTransformBuilder
public SimilarTransformBuilder(List<MappedPosition> vectors) throws IllegalArgumentException, MismatchedDimensionException, MismatchedReferenceSystemException Creates SimilarTransformBuilder for the set of properties. The List of MappedPosition is expected.- Parameters:
vectors
- list of MappedPosition- Throws:
IllegalArgumentException
MismatchedDimensionException
MismatchedReferenceSystemException
-
-
Method Details
-
fillAMatrix
protected void fillAMatrix()Description copied from class:ProjectiveTransformBuilder
Fills A matrix for m = (ATPA)-1 ATPx' equation- Overrides:
fillAMatrix
in classProjectiveTransformBuilder
-
getMinimumPointCount
public int getMinimumPointCount()Returns the minimum number of points required by this builder, which is 2.- Overrides:
getMinimumPointCount
in classProjectiveTransformBuilder
- Returns:
- Returns the minimum number of points required by this builder, which is 2.
-
getProjectiveMatrix
Returns the matrix for Projective transformation setup as Affine. The M matrix looks like this:[ a -b Tx ] [ b a Ty ] [ 0 0 1 ]
- Overrides:
getProjectiveMatrix
in classProjectiveTransformBuilder
- Returns:
- Matrix M.
-