ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz#/MiscKit/Documentation/MiscGISKit/MiscUTMConstants.rtf

This is MiscUTMConstants.rtf in view mode; [Download] [Up]

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

    const char* gridName;
    double a;
    double b;
    double F0;

@public 
    double phi0;
    double lambda0; 
    double E0;
    double N0;
    double convergence;
    double aF0;
    double bF0;
    double eSqrd;
    double  M1;
    double  M2;
    double  M3;
    double  M4;


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:



These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.