Thank you for downloading this release of the SRM Software Development Kit (SRM SDK). The SRM SDK is the development environment for creating applications that use the Spatial Reference Model (SRM), a conceptual model that allows a set of spatial reference frames to be defined in such a way that they describe geometric properties uniquely. The SRM supports unambiguous specification of the positions, directions, distances, and times associated with spatial information. It also defines algorithms for precise transformation of positions, directions and distances (for a given time) among different spatial reference frames. Its spatial operation algorithms are designed to achieve high accuracy (typically 1 mm "error ball" accuracy), and are optimized to achieve very high performance measures without compromising that accuracy.
This release has been tested on multiple platforms, such as Linux, Irix, Sun, and Windows 98/Me/NT/2000. For detailed information on platform and compiler versions supported see the Build Kit.
For help, comments, and bug reports please send email to [email protected]. If you are an associate, please use [email protected].
Return to: Top
This version of the SDK is being made available in three API implementations, and distribution formats. The three API implementations are in C, C++ and Java. In addition to source code, pre-compiled binaries for all supported platforms can be downloaded from the SEDRIS web site (www.sedris.org).
The following matrix table shows the contents of the different packages and the directories you will find in them (note that the links on the column headers take you to the directories, so they may not work depending on your distribution and, as in the case of a source distribution, on whether you have compiled the libraries and/or applications):
Package and Contents bin: Compiled binaries for applications
docs: Documentation, including Release Notes and Reference Manual
include: Header files for applications and libraries
lib: Compiled binaries for libraries
src: Source code and headers for libraries and applications
Complete Suite Source:
- Libraries
- Applications
- Documentation
X X Complete Suite Binary:
- Libraries and available extensions
- Applications
- Documentation
X X X X Return to: Top
The SRM SDK is distributed as a GNU-zipped tar file for Unix systems and a Zip file in Win32 systems.
Note: This is a major release and it is not compatible with the earlier versions of SEDRIS releases.
To install, extract the contents of the compressed file:
- Unix
Use the "tar" and "gzip" commands to extract the contents of the SDK:
using the appropriate filename for "sdk_file.tar.gz".gunzip -c sdk_file.tar.gz | tar xf -If you have GNU tar installed, you can use the following command instead:
tar xzf sdk_file.tar.gz
- Win32
Use WinZip or other decompression utility to extract the contents of the downloaded file.
If you are installing the SRM SDK under the SEDRIS SDK, you will need to extract the contents of the file into the "sedris/src/lib" directory of the SEDRIS SDK, so that the extraction process puts all the files in the "sedris/src/lib/srm" directory.
See the Build Kit page for information on how to compile and link the software, and how to link your applications or libraries against this SDK.
Note that the file name for binary releases includes the OS/System architecture type as part of the name. After extracting the software, users should see a top-level "srm" directory. Binary releases associated with different OS/architecture can be installed on a common "srm" directory. This is to allow users who work on several platforms to install all the releases under a common "srm" directory in a shared network drive. In that case, on each installation, the non-OS-specific files are replaced by the new release and the OS specific libraries and executables are stored under their respective sub-directories under the "lib" and "bin" directories discriminated by their platform/version/architecture combination.
Return to: Top
The SDK Documentation is divided into the following areas:
- Release Notes (this document)
- Describes the capabilities of this release, its contents, and supported platforms and compilers.
- Build Kit.
- SRM API Documentation.
- SRM C API
- SRM C++ API
- SRM Users' Guide
- SRM C API Users' Guide
- SRM C++ API Users' Guide
Return to: Top
This release includes a sample application that demonstrate the use of the SRM SDK.
Applications:
- Sample SRM Access
- An application converts a 3D coordinate from a Celestiodetic SRF to a Celestiocentric SRF.
Return to: Top
The table below summarizes the changes to the SRM SDK in this release.
SRM
- The C and C++ API implementations are object based/oriented.
- The SRF coodinate initialization data is now cached internally for efficiency and ease of use.
- The coodinate conversions and validation follow established restrictions on validation boundary to minimize invalid data.
- The API separates the concept of Object Reference Model (the shape of the earth) and its tranformation to a reference ORM (e.g., World Geodetic System 1984).
- The API supports computation of various distances and azimuthal angles.
- The API supports the conversion of Direction vectors and Orientation matrices.
MISC.
- Added support for MSC++ 7.1 (.net).
- The C And C++ API implementations' source code are released together. Users can build either or both libraries using approriate compilation flags.
Return to: Top
None of the items listed below require any interface changes in the API.
- The conversions using the following SRF Template classes are not supported in this release:
- Equidistant Cylindrical and Polar Sterographic
These SRFTs have the conversion formulations defined and in the process of being implemented. They will be provided in the next SRM release. These were also implemented in SRM 3.1.2
- Azimuthal and Polar
These SRFTs have the conversion formulations defined and in the process of being implemented. They will be provided in the next SRM release.
- Equatorial Inertial, Heliospheric Aries Ecliptic, Heliospheric Earth Ecliptic, Heliospheric Earth Equatorial, Solar Ecliptic, Solar Equatorial, Solar Magnetic Ecliptic, and Solar Magnetic Dipole
These SRFTs have the conversion formulations defined and implemented. These need the parameterized h_st support for the conversion methods to be provided in the next SRM release.
- Oblique Mercator
This SRFT has the conversion formulation being defined and tested. It will be provided in the next SRM release.
- The following SRM functions are not implemented in this release:
- calculateVerticalSeparationOffset() and calculateConvergenceOfTheMeredian()
These methods are defined and in the process of being implemented. They will be provided in the next SRM release. These methods were also implemented in SRM 3.1.2
- calculateGeodesicDistance(), calculatePointScale(), and calculateMapAzimuth()
These methods are defined and in the process of being implemented. They will be provided in the next SRM release.
Questions, comments, and bug reports should be sent to [email protected].
If you are an associate, please send email to [email protected].
Return to: Top
These links require Internet access.
Return to: Top
Copyright © 2004 SEDRIS