Release Notes

SRM SDK Release 4.1.4

July 1, 2011



  1. Introduction
  2. Distribution Packages
  3. Installation
  4. SDK Documentation
  5. Applications
  6. Included Upgrades
  7. Included Upgrades Since 4.0
  8. Migration from 4.0 to 4.1
  9. Known Defects and Limitations
  10. Bug Reports and Feedback
  11. Web Pages

Introduction

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

Distribution Packages

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 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

Installation

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 minor release. It is compatible with earlier 4.1.x 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:

gunzip -c sdk_file.tar.gz | tar xf -
using the appropriate filename for "sdk_file.tar.gz".

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

SDK Documentation

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

Applications

This release includes a sample application that demonstrates the use of the SRM SDK.

Applications:

Sample SRM Access
An application that converts a 3D coordinate from a Celestiodetic SRF to a Celestiocentric SRF.

Return to: Top

Included Upgrades

The table below summarizes the changes in this release.

Features
  • Added support for builds on Mac OS X.
Fixes
  • Resolved build issue for gcc 4.1.1.
  • Resolved build issue on Apple systems.
  • The parameters of the following SRM RTs have been updated to correspond to the draft 3rd edition of the SRM ISO specification:
    • SRM_RTCOD_GEOMAGNETIC_1945_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1950_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1955_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1960_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1965_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1970_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1975_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1980_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1985_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1990_DGRF
    • SRM_RTCOD_GEOMAGNETIC_1995_IGRF
    • SRM_RTCOD_GEOMAGNETIC_2000_IGRF
    • SRM_RTCOD_JUPITER_MAGNETIC_1993_VOYAGER
    • SRM_RTCOD_NEPTUNE_MAGNETIC_1993_VOYAGER
    • SRM_RTCOD_RGF_1993_IDENTITY_BY_MEASUREMENT
    • SRM_RTCOD_URANUS_MAGNETIC_1993_VOYAGER

Return to: Top

Included Upgrades Since 4.0

The table below summarizes the changes since 4.0.

Features
  • The C++ API is mostly implemented and compatible with SRM ISO / IEC 18026 edition 1. The C API is compliant with the SRM ISO / IEC 18026 C LB edition 1. See Limitations.
  • Added new functionality:
    • Added the following methods to BaseSRF: setCoordinateValidationOn(), setCoordinateValidationOff(), coordinateValidationIsOn()
    • New methods in the BaseSRF class to retrieve ORM parameter values associated with the SRF:
      • getA() - method to retrieve the semi-major axis (A) value.
      • getF() - method to retrieve the flattening (F) value.
    • Added caching of constants calculated during the initialization of common SRF coordinate conversion operations. This is turned on by default.
    • Added internal srm_sin, srm_cos, srm_sincos functions to ensure specified accuracy. Note that these can be turned off at compile time in favor of the system's implementation of these functions (see srm_sincos.h).
    • Faster changeCoordinate3DSRF method implementation for some of the more commonly used SRFs (CC, CD, M, TM, PS, LTSE and LCE_3D).
    • Conversion of coordinate arrays.
    • Get CS Code function.
    • Support for the British OSGRS80 Grid standard SRF.
  • Changes between 4.0 and 4.1 due to SRM International Standard (IS):
    • The C API is object-based and compliant with the SRM IS C LB.
    • The M, PS, and EC SRF have their latitude parameter removed. It was previously overspecified.
    • The RT (previously known as HSR) codes are now numbered in sequence.
    • Support for the Europe 1950 and Geocentric Datum Australia 1994 standard SRFs was removed.
    • Several ORMs and their corresponding RTs were removed. Most of those are not commonly used.
Fixes
  • Fixed the lower bound value of the Scale Factor parameter associated with map projection SRFs from 0.75 to 0.5.
  • Fixed planetodetic coordinate conversion so that it is correctly treated as a right-handed system.
  • The valid coordinate range of celestiodetic SRFs previously did not include the poles. This has been addressed.
  • The valid coordinate range of azimuthal spherical SRFs previously did not include the origin. This has been addressed.
  • CD - LCC and LCC - CD coordinate conversions have been updated to prevent a loss of accuracy near the poles.
  • CD - TM and TM - CD coordinate conversions - spherical cases have been updated.
  • For the following ORM / RT pairs, parameter values have been updated to improve accuracy for datum transformations:

    ORMRT
    SRM_ORMCOD_MIDWAY_1961 SRM_RTCOD_MIDWAY_1961_MIDWAY_ISLANDS
    SRM_ORMCOD_DJAKARTA_1987_PM_DJAKARTA SRM_RTCOD_DJAKARTA_1987_PM_DJAKARTA_SUMATRA
    SRM_ORMCOD_ROME_1940_PM_ROME SRM_RTCOD_ROME_1940_PM_ROME_SARDINIA
  • Fixed the computation of geodesic distance when the two coordinates are on the same parallel.
  • Fixed coordinate conversion formulation involving Lambert Conformal Conic (LCC) SRFs.
  • Fixed the handling of Easting/Northing offsets and Ellipsoidal Height values in a coordinate conversion involving LTSAS SRF.
  • Fixed coordinate conversion formulation involving Transverse Mercator (TM) SRFs for spherical ORMs.
  • Updated SRM_ValidRTCode() for all RTs defined as prime meridians, so that they are validated against the correct ORMs.
  • In the SRM API, updated validation of input coordinates and input SRF parameters for conversion operations to handle boundary cases (such as polar points in celestiodetic) in accordance with SRM edition 2, which updated the range of valid input for various SRFs' coordinates.
  • Updating caching mechanism used by SRF conversion mechanism to avoid potential hash collisions after an SRF has been released.

Return to: Top

Migration from 4.0 to 4.1

For users who have developed applications using the SRM C API version 4.0 the SRM C API 4.0 to 4.1 Migration Guide describes the main differences between the two versions.

Known Defects and Limitations


Bug Reports and Feedback

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

Web Pages

These links require Internet access.

Return to: Top

Copyright © 2011 SEDRIS