RasterTransform

Description

abstract class Tinman.Terrain.Georef.RasterTransform

Derived from

SerializableBase abstract
IRasterTransform

Extended by

RasterTransformMatrix sealed

Abstract base class for IRasterTransform implementations.

Public / Constants

Identity


public static readonly attribute Identity → (IRasterTransform)

The identity raster transform.

Public / Constructors

Barycentric


public static method Barycentric → (6)

rasterA in : Vec2D

First tie-point, in raster space.

mapA in : Vec2D

First tie-point, in map space.

rasterB in : Vec2D

Second tie-point, in raster space.

mapB in : Vec2D

Second tie-point, in map space.

rasterC in : Vec2D

Third tie-point, in raster space.

mapC in : Vec2D

Third tie-point, in map space.

returns → IRasterTransform

The created IRasterTransform object.

Creates a new instance of IRasterTransform that ties a triangle in map space to a triangle in rectangular raster space using barycentric coordinates.

Cube


public static method Cube → (2)

size opt : int32 = MappingUtil.MaxSize

[pow2]
The cubemap size (edge length, not sample count), see IRasterTransform.Size.

unit opt : UnitOfMeasure = null

The geographic unit. If null, UnitOfMeasure.Degree will be used.

returns → IRasterTransform

The created IRasterTransform object.

Creates a new instance of RasterTransform that interprets input raster coordinates as cubemap coordinates and converts them to output map coordinates as geographic coordinates in the given unit.

TiepointScale


public static method TiepointScale → (3)

raster in : Vec2D

The raster point coordinates.

map in : Vec2D

The map point coordinates.

scale in : Vec2D

Scale factors per axis, from raster coordinates to map coordinates.

returns → IRasterTransform

The created IRasterTransform object.

Creates a new instance of IRasterTransform that ties the given map point to the specified rectangular raster point.

The following formulas describe the transformation between map coordinates and raster coordinates:

a.X = (b.X - raster.X) * scale.X + map.X
a.Y = (b.Y - raster.Y) * scale.Y + map.Y
b.X = (a.X - map.X) / scale.X + raster.X
b.Y = (a.Y - map.Y) / scale.Y + raster.Y

where a represents the map coordinates of a point and b represents its raster coordinates.

Transform


public static method Transform → (6)

in : float64

Transformation matrix component.

in : float64

Transformation matrix component.

in : float64

Transformation matrix component.

in : float64

Transformation matrix component.

in : float64

Transformation matrix component.

in : float64

Transformation matrix component.

returns → IRasterTransform

The created IRasterTransform object.

Creates a new instance of IRasterTransform that uses an affine transformation from rectangular raster space to map space.

The following matrix will be used to transform raster space to map space:

/   \     /            \  /   \
| E |     | a  b  0  d |  | X |
| N |  =  | e  f  0  h |  | Y |
| 0 |     | 0  0  1  0 |  | 0 |
| 1 |     | 0  0  0  1 |  | 1 |
\   /     \            /  \   /

X := Raster X-coordinate
Y := Raster Y-coordinate
E := Map easting coordinate
N := Map northing coordinate

The given matrix must be invertible, so a*f - e*b must not be zero.

Protected / Constructors

RasterTransform


protected constructor RasterTransform → (1)

serialType in : ISerialTypeInfo

[not-null]
The serial ID.

Creates a new instance of RasterTransform.

Protected / Methods

DoEquals


protected abstract method DoEquals → (1)

other in : IRasterTransform

The other raster transform to compare with. Will never be null and never equal to this.

returns → bool

true if tthis raster transform and the given other in one are equal,
false if they are different.

Compares this raster transform with the given one.

Configuration

Config


public static attribute Config → (get)

value : IConfigurator<IRasterTransform>

[not-null]
The configurator object.

The configurator object for this type.