Projection
 

| HOME | BACK |

Overview

Projection is a class used for calculating coordinate transformation in map projection.  Map projection is a cartographic technique to project a 3D earth surface, which is represented by an ellipsoid, onto a 2D surface.  Projection object is used as a part of "Image" objects' information, so that they are spatially located in a 2D coordinate system, and this makes possible GIS operations.

Most major standard map projections are supported, and transformation between map projections is easy and straight forward.  It is also possible to convert map coordinate from a map projection in one datum to another map projection in another datum.  All of these operations are just only one statement away.  The following are list of currently supported map projection, and their code names used by Noobeed.

UTM       - Universal Transverse Mercator
TM        - Transverse Mercator
LCC       - Lambert Conformal Conic (two parallels)

LCC1      - Lambert Conformal Conic (one parallel + scale factor)
STRGPH    - Stereographic
POLSTRGPH - Polar Stereographic
ALBERS    - Albers Equal Area Conic
ORTHGPH   - Orthographic
GNOMONIC  - Gnomonic
MERCATOR  - Mercator

OM        - Oblique Mercator
LAEA      - Lambert Azimuthal Equal Area
TOPOCTRC  - Topocentric (Local Coordinate System)
UNPROJ    - Unprojected Longitude and Latitude

 

 

Member data

Name Data type Meaning
name String map projection name
Ellipsoid String an ellipsoid object
phe0 double latitude origin
ramda0 double longitude origin
stdlat1 double 1st standard parallel
stdlat2 double 2nd standard parallel
sk0 double scale factor at origin
x0 double false easting
y0 double false northing

Since different map projections require different parameters, it is not possible to define a type of map projection in the construction function.  Defining a map projection to a Projection object is done by using class functions, for example setUTM, set TM, etc, each of which will require a certain number of arguments.  By this reason, not all member data in a class object are relevant to it.  However, Noobeed realizes and will take care of this, for example when printing a Projection object, Noobeed will print only member data that are relevant to the object, and discard all others.

 

Operator

no operator provided.

 

Construction function

{Projection} ret  =  PROJECTION([{Ellipsoid} argm1])

argm1 = ellipsoid         (default = default of Ellipsoid())

Example:

->P1 = Projection()

 

Lfunction

object.ELLIPSOID()  =  {Ellipsoid} left-value

Example:

->P1.ellipsoid() = Ellipsoid(6377276.34518,1/300.8014)

 

Class function

 ELLIPSOID  GEO2XY INIT IS_SAME LIST
 LOAD  NAME PHE0 RAMDA0 SAVE
 SETALBERS  SETGNOMONIC SETLAEA SETLCC SETMERCATOR
 SETORTHGPH  SETPOLSTRGPH SETSTRGPH SETTM SETTOPOCTRC
 SETUNPROJ  SETUTM SF SK0 STDLAT1
 STDLAT2  TRANGEO2GEO TRANGEO2XY TRANXY2GEO TRANXY2XY
 VECGEO2XY  VECXY2GEO VIDGEO2XY VIDXY2GEO X0
 XY2GEO Y0  SETOM SETLCC1 VECSF

 


| HOME | BACK |