DMA Release 0.80 Copyright ©1995 by Genesis Project, Ltd. All Rights Reserved.
MiscGISKit |
Licensing and Warranty |
The MiscGISKit is the property of Genesis Project Ltd. It has been donated to the MiscKit and as such falls under the MiscKit license agreement. |
What is MiscGISKit? |
MiscGISkit is a set of tools for working with coordinate systems, particularly those related to maps and globes. The set
of tools will grow and expand over time and at present consists of classes for supporting and translating between
Universal Transverse Mercator grid coordinates in the International, the UK or the Irish systems and World
Coordinates, the familiar latitude and longitude values. The equations used are accurate to 1 mm going from World
coordinates to UTM and approximately .001 seconds of arc going from UTM to world coordinates. The number of
digits of precision in double floating point numbers is greater than the number required to express this, but do not be
fooled into believing the extra digits are significant!
There are also tools for supporting and translating between the familiar mathematical coordinate systems: cartesian, cylindrical and spherical. |
Using MiscGISKit in your Project |
Use of the MiscGISkit in your app is quite simple.
First, you must add the library search path to your Makefile.preamble. As an example:
Second, start up the Project Manager for your application and then drag /LocalDeveloper/Libraries/libMiscGIS.a from the Workspace Manager to the Libraries folder in your project. If you just created a Makefile.preamble file (in step one), drag it from the Workspace Manager to the Supporting Files folder of your project. Third, add
to each source (.h or .m) file in which you use the kit. Now all you have to do is write some code! |
Getting Started with MiscGISKit |
You will find a great deal of documentation in Documentation/MiscKit/MiscGISKit. Fortuneately, you need only
understand a small fraction of it to simply use the package. For this, it is recommended that you read at least the first
two levels of the following plus the specific Coord types of interest.
Diagram 1 will give you an idea of how the other classes relate to instances of MiscCoord and its subclasses. Dotted lines are used for targets, ie an object hierarchy; dark lines for inheritance in the class hierarchy. Next, examine and understand the code in the example to be found in Examples/MiscKit/MiscGISMapCoord. The remainder of the class documentation is of interest only to developers and midnight hackers. You are on your own if you tread there. |
Diagram 1: Inter-relationship of MiscGISKit Classes
Known problem areas and Future Features |
There is not as yet a means for translating directly between two different UTM systems. This must be carried out in
two steps. First translate the UTM coordinate to World Coordinates; then translate it from World Coordinates to the
target UTM system. Capability to do this directly will probably be added in a future release.
There is no means of translation between the geographical and the mathematical coordinate systems at this time. When I come up with a reasonable definition of how to relate them, it will be added. Constants objects are not yet supported in mathematical coordinate systems. In some future release the constants will contain the matrices necessary to translate between the coordinate point and some base coordinate frame from which it was derived. |