MapProjectionFactory

Description

abstract class Tinman.Terrain.Mapping.MapProjectionFactory

Derived from

IMapProjectionFactory

Abstract base class for IMapProjectionFactory implementations.

Public / Constructors

Mercator


[Pure]
public static method Mercator → ()

returns → IMapProjectionFactory

The created IMapProjectionFactory object.

Creates a new pseudo Mercator map projection factory.

The following figure shows the mapping between latitude/longitude values and map coordinates (by default the map is assumed to have a pixel coverage of PixelCoverage.PixelIsArea):

90°N 180°W     90°N 180°E
(0|0)               (w|0)    <- sample coordinates (pixel-is-point)
   \  0   1  ... w-1 /       <- sample coordinates (pixel-is-area)
   (#)--+---+---+--(#)
  0 | * | * | * | * |
    +---+---+---+---+        * := map sample (pixel-is-area)
  1 | * | * | * | * |        + := map sample (pixel-is-point)
    +---+---+---+---+
 ...| * | * | * | * |        w := raster width  (here: 4)
    +---+---+---+---+        h := raster height (here: 4)
 h-1| * | * | * | * |
   (#)--+---+---+--(#)
   /                 \
(0|h)               (w|h)    <- map coordinates (pixel-is-point)
90°S 180°W     90°S 180°E

Chapter 1.3.3.2 Popular Visualisation Pseudo Mercator,
OGP Publication 373-7-2 - Geomatics Guidance Note number 7, part 2 - July 2012,
available for download at: https://www.epsg.org.

Plate​Caree


[Pure]
public static method PlateCaree → (3)

longitudeLeft opt : float64 = -180

Longitude at raster space X-coordinate 0, in degrees.

latitudeTop opt : float64 = 90

Latitude at raster space Y-coordinate 0, in degrees.

latitudeBottom opt : float64 = -90

Latitude at raster space Y-coordinate h (see figure), in degrees.

returns → IMapProjectionFactory

The created IMapProjectionFactory object.

Creates a new pseudo Plate Caree map projection factory.

The following figure shows the mapping between latitude/longitude values and map coordinates:

90°N 180°W                     90°N 180°E
(0|0)                               (w|0)    <- sample coordinates (pixel-is-point)
   \  0   1   2   3   4   5  ... w-1 /       <- sample coordinates (pixel-is-area)
   (#)--+---+---+---+---+---+---+--(#)
  0 | * | * | * | * | * | * | * | * |
    +---+---+---+---+---+---+---+---+        * := map sample (pixel-is-area)
  1 | * | * | * | * | * | * | * | * |        + := map sample (pixel-is-point)
    +---+---+---+---+---+---+---+---+
 ...| * | * | * | * | * | * | * | * |        w := raster width  (here: 8)
    +---+---+---+---+---+---+---+---+        h := raster height (here: 4)
 h-1| * | * | * | * | * | * | * | * |
   (#)--+---+---+---+---+---+---+--(#)
   /                                 \
(0|h)                              (w|h)     <- map coordinates (pixel-is-point)
90°S 180°W                    90°S 180°E

Chapter 1.3.14.2 Pseudo Plate Caree,
OGP Publication 373-7-2 - Geomatics Guidance Note number 7, part 2 - July 2012,
available for download at: https://www.epsg.org.

Protected / Methods

Create​Map​Projection_​Cube​To​Cube


[EmptyBody]
protected virtual method CreateMapProjection_CubeToCube → (3)

source in : MapInfo

The source raster (of type MapType.Cube).

target in : MapInfo

The target raster (of type MapType.Cube).

reverse in : bool

Need to perform a reverse map projection computations from source in to target in?

returns → IMapProjection

The map projection or null if the combination of source/target raster types is not applicable to this factory (see CreateMapProjection_Supported).

Creates a new instance of IMapProjection that projects MapType.Cube to MapType.Cube.

Create​Map​Projection_​Cube​To​Rect


[EmptyBody]
protected virtual method CreateMapProjection_CubeToRect → (3)

source in : MapInfo

The source raster (of type MapType.Cube).

target in : MapInfo

The target raster (of type MapType.Rect).

clip in : bool

Clip bad geographic coordinates (see ICoordinateTransform.GeographicClip)?

returns → IMapProjection

The map projection or null if the combination of source/target raster types is not applicable to this factory (see CreateMapProjection_Supported).

Creates a new instance of IMapProjection that projects MapType.Cube to MapType.Rect.

Create​Map​Projection_​Rect​To​Cube


[EmptyBody]
protected virtual method CreateMapProjection_RectToCube → (3)

source in : MapInfo

The source raster (of type MapType.Rect).

target in : MapInfo

The target raster (of type MapType.Cube).

clip in : bool

Clip bad geographic coordinates (see ICoordinateTransform.GeographicClip)?

returns → IMapProjection

The map projection or null if the combination of source/target raster types is not applicable to this factory (see CreateMapProjection_Supported).

Creates a new instance of IMapProjection that projects MapType.Rect to MapType.Cube.

Create​Map​Projection_​Rect​To​Rect


[EmptyBody]
protected virtual method CreateMapProjection_RectToRect → (4)

source in : MapInfo

The source raster (of type MapType.Rect).

target in : MapInfo

The target raster (of type MapType.Rect).

reverse in : bool

Need to perform a reverse map projection computations from source in to target in?

clip in : bool

Clip bad geographic coordinates (see ICoordinateTransform.GeographicClip)?

returns → IMapProjection

The map projection or null if the combination of source/target raster types is not applicable to this factory (see CreateMapProjection_Supported).

Creates a new instance of IMapProjection that projects MapType.Rect to MapType.Rect.

Protected / Attributes

Create​Map​Projection_​Supported


protected abstract attribute CreateMapProjection_Supported → (get)

value : int32

Bitmask of the following flags:
1 : RECT <=> RECT
2 : RECT <=> CUBE | CUBE <=> RECT
4 : CUBE <=> CUBE

Returns the supported map projections.

The value returned here is only used for error reporting and should correlate with the return values of the CreateMapProjection_* methods.

Configuration

Config


public static attribute Config → (get)

value : IConfigurator<IMapProjectionFactory>

[not-null]
The configurator object.

The configurator object for this type.