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 help@sedris.org. If you are an associate, please use se-coders@sedris.org.
Return to: Top
This version of the SDK contains the Java implementation of the SRM API. In addition to source code, pre-compiled Java bytecode can be downloaded from the SEDRIS web site (www.sedris.org).
The following 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
lib: Compiled binaries for libraries
src: Complete source code for the libraries and applications
Complete Suite Source:
- Libraries
- Applications
- Documentation
X X Complete Suite Binary:
- Libraries and available extensions
- Applications
- Documentation
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.
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.tgz".gunzip -c sdk_file.tgz | tar xf -If you have GNU tar installed, you can use the following command instead:
tar xzf sdk_file.tgz
- Win32
Use WinZip or other decompression utility to extract the contents of the downloaded file.
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 there is only one SRM JAR file and it is compatible with all platforms with the Java 5 Runtime Environment installed.
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 Users' Guide
- SRM Velocity/Acceleration (Orientation) Users' Manual
Return to: Top
This release includes a sample application that demonstrates the use of the SRM SDK.
Applications:
- Sample SRM Access
- This application converts a 3D coordinate from a Celestiodetic SRF to a Celestiocentric SRF.
Return to: Top
The list below summarizes the key features and changes of the SRM SDK in this release.
- Updated to comply with Java 5 and up Runtime Environments. This included changing most classes that previously were subclasses of SRM's Enum.java to be Java enums instead. (The SRM's Enum.java was renamed to SrmEnum.java).
- New orientation representation classes and methods replacing the existing orientation methods:
- Axis-angle
- Euler (ZXZ) angles
- Matrix 3x3
- Quaternion
- Tait-Bryan angles
- New orientation methods replacing the existing pre-4.2 orientation methods, and additional methods for conversion of vector quantities (velocity, acceleration) involving orientations:
- computeSRFOrientation: Sets the values of the orientation object representing the orientation of the source srf (at the source reference location) with respect to the target srf (at the target reference location).
- getLocalTangentFrameSRFParameters: Computes the parameters corresponding to the local tangent frame at the input reference location.
- createLococentricEuclidean3DSRF: Creates a Lococentric Euclidean 3D SRF whose origin is at the input lococentre and the primary and secodary axes are aligned with the input direction axes.
- transformOrientation: Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.
- transformOrientationCommonOrigin: Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF. LTF_S and LTF_T have a common origin.
- transformVectorInBodyFrame: Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.
- transformVectorInBodyFrameCommonOrigin: Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF. LTF_S and LTF_T have a common origin.
- transformVector: Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.
- transformVectorCommonOrigin: Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF. LTF_S and LTF_T have a common origin.
- New Military Grid Reference System (MGRS) support for the Coord3D class.
- Renamed SRM_Japan_RPCS.java to SRM_Japan_Rectangular_Plane_CS.java
- Added experimental ORMs and RTs to support NGA golden data.
- Added a static getImplVerInfo() method in the BaseSRF class to return the SRM Java implementation version number.
- Fixed a problem related to geodesic distance computation when the two input coordinates are on the same parallel.
- Fixed coordinate conversion formulation involving Lambert Conformal Conic (LCC) SRFs. CD - LCC and LCC - CD coordinate conversions have been updated to prevent a loss of accuracy near the poles.
- Fixed coordinate conversion formulation involving Transverse Mercator (TM) SRFs for spherical ORMs (CD - TM and TM - CD conversions).
- The coordinate component ordering for Local Space Polar and for Planetodetic have been changed so that they are explicitly represented as right-handed systems.
- Solar Magnetic Dipole and Solar Magnetic Ecliptic have been reformulated as Euclidean rather than angular coordinate systems, in accordance with SRM edition 2.
Return to: Top
- Conversion involving the Local Tangent Space Azimuthal Spherical SRFT is not fully tested.
- The calculateVerticalSeparationOffset() method does not support the EGM_84 DSS.
- The conversion involving Local Space Rectangular 2D SRF only supports positive forward directions.
- The instanceAbstractSpaceCoordinate() method is not implemented.
- The "get natural region" methods only support the UTM and GTRS SRF sets.
Return to: Top
Questions, comments, and bug reports should be sent to help@sedris.org.
If you are an associate, please send email to se-coders@sedris.org.
Return to: Top
These links require Internet access.
Return to: Top
Copyright © 2010 SEDRIS