DMA Release 0.8 Copyright ©1995 by Genesis Project, Ltd. All Rights Reserved.
MiscUTMConstants |
Inherits From: | Object | |
Declared In: | misckit/miscgiskit/MiscUTMConstants.h |
Class Description |
A MiscUTMConstants object is a container for the constants that define a particular Universal Transverse Mercator projection, and a number of fixed constants that are derived from the basic set of parameters. The basic UTM parameters are: |
World coordinate of True Origin: | Latitude (in radians), Longitude (in radians) | |
True origin offset from grid origin: | Meters East , Meters North | |
Spheroid: | a= major semi-axis meters, b= minor semi-axis meters | |
Scaling at Central Meridian: | scale factor |
In most cases there is only need of a single instance of a particular set of constants. In such cases a MiscUTMCoord
subclass will create a single instance of a MiscUTMConstants object for use by all its members and then protect that
instance against deletion by sending it the setProtected method. Once this is done it should not be undone: it is
assumed that a MiscUTMConstants object will only be protected if there are many pointers to it laying around, ie the
object could not be deleted with finding and nullifying each and every one of the outstanding pointers.
Most of the instance variables are public for fast access by MiscUTMCoordConverter instances. In use a MiscUTMConstants is little more than an object flavored cover for a struct that is passed to converters. It should ONLY be accessed directly by converters. A MiscUTMConstants object can be generated for any possible UTM coordinate system. |
Instance Variables |
![]() ![]() ![]() ![]() @public |
gridName | Name of the UTM system, for example, "UK National Grid" | |
a | Ellipsoid major semi-axis in meters. | |
b | Ellipsoid minor semi-axis in meters. | |
F0 | Scale factor at central Meridian. | |
phi0 | Latitude of True Origin in radians. | |
lambda0 | Longitude of True Origin in radians | |
E0 | True Origin east offset from Grid Origin in meters. | |
N0 | True Origin north offset from Grid Origin in meters. | |
convergence | Default of .1mm. Used in calculations from Grid back to World coordinates. | |
aF0 | Ellipsoid major semi-axis in meters, corrected by scale factor. | |
bF0 | Ellipsoid minor semi-axis in meters, corrected by scale factor. | |
eSqrd | Eccentricity squared. Set by UTMCoordConverter. | |
M1 | First constant for calculation of "Developed Arc of a Meridian from phi to the True Origin". | |
M2 | Second constant. | |
M3 | Third constant. | |
M4 | Fourth constant. |
Method Types |
Initialization | - initGridName:trueOrigin::inGrid::onSphere::centralMeridianScaling: - override_eSqrd:n: - setProtected - setUnprotected - free | |
Information | - gridName - isEqual: | |
Archiving | - read: |
- write: |
Instance Methods |
free - free Free the object unless it has been protected. Protected objects can never be freed. See also: - setProtected
gridName |
- gridName |
Returns a pointer to text name of the UTM grid represented by self.
initGridName:trueOrigin::inGrid::onSphere::centralMeridianScaling: |
- initGridName: (const char *) name trueOrigin: (double) deg_latitude : (double) deg_longitude inGrid: (double) e0 : (double) n0 onSphere: (double) a0 : (double) b0 centralMeridianScaling: (double) f0 |
Designated initializer for the MiscUTMConstants class. The True Origin is specified in decimal degrees for
convenience, although it is stored internally as radians. e0 and n0 are the offset of the True Origin from the False Origin
in meters. a0 and b0 are the major and minor semi-axis of the spheroid in meters. aUTMConstant is the id of a user
initialized MiscUTMConstants object. f0 is the scaling factor used on the central meridian, ie the meridian through the
True Origin.
See also: - free, - override_eSqrd:n:
isEqual: |
- isEqual:anObject |
Returns YES if anObject is either the same object as self or if a, b , F0, phi0, lambda0, E0 and N0 are equal.
Equivalence means that the two objects have the same effect when used in a conversion.
override_eSqrd:n: |
- override_eSqrd: (double)new_eSqrd n: (double)n |
Override the calculated values of eSqrd and n. This is made available because some old references on UTM grids
give truncated or even incorrectly calculated values. In order to reproduce the original value requires using the book
values rather than calculated values. M1-M4 are recalculated using the new constants. Returns self.
See also: - initGridName:trueOrigin:inGrid:onSphere:centralMeridianScaling:
read: |
- read:(NXTypedStream *)stream |
Reads the object from the typed stream stream. Returns self.
See also: - write:
setProtected |
- setProtected |
Protect the object from ever being deleted. Once done it should not be undone. Returns self.
See also: - free
setUnprotected |
- setUnprotected |
Unprotect the object so it can be deleted. This exists so that unarchive methods in MiscCoords can substitute a local,
previously allocated and protected object for the unarchived one. Returns self.
write: |
- write:(NXTypedStream *)stream |
Writes the object to the typed stream stream. Returns self.
See also: - read: |