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 multiple distribution formats. 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: If you have an earlier version of the SDK and you haven't changed its default installation directory, you may want to do it now because this version of the SDK may overwrite it.
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
- Details the build options and procedures for compiling and linking the software.
- SRM Reference Manual
- Provides links to detailed documents for the SRM.
- Migration Guide
- Provides information to migrate applications from previous versions of the SRM SDK.
Return to: Top
This release includes a sample application that demonstrate the use of the SRM SDK.
Applications:
- Sample SRM Access
- An application that takes a latitude and longitude as parameters in GD and converts them to AUTM.
Return to: Top
The table below summarizes the changes to the SRM SDK in this release.
SRM
- Added UTM validation via SRM_ValidateCoordinate.
- Added support for GCS validations and conversions.
- Added support for Several Horizontal and Vertical Datum Transformation (see limitations below).
- Added support for on-demand loading of the Geoidal Separation Table for WGS84.
MISC.
- Added support for Sun compiler 5.2 (Forte).
- Added support for GCC 3.0.1 compiler.
Return to: Top
- The following SRM functions are not implemented:
- SRM_ChangeCoordinateSRFUnvalidated()
- SRM_ChangeCoordinateArraySRFUnvalidated()
- SRM_ConvertMatrix3x3()
- SRM_LocalTransformation()
- SRM Horizontal Datum Shift Operations are not possible on GC coordinates due to the lack of a horizontal datum specifier in the API for GC coordinates. This will be adressed by API changes taking place in next major SRM release.
- SRM Conversions between GC as source SRF and an SRF with a horizontal datum as target will use the horizontal datum specified in the target . Conversions between an SRF with a horizontal datum as source and GC as target will assume the destination horizontal datum. This may cause paradoxical results when horizontal datums other than SRM_HDATUM_WGS_1984 are used with GC in conversions.
- SRM Vertical Datum is ignored for LTP SRF's. All LTP coordinates are treated as being based on the ellipsoid specified by the horizontal datum. This interpretation matches the definition of LTP to be used in future releases. Paradoxical results may ensue for LTP operations in which both SRF's involved do not use SRM_VDATUM_WGS84E and SRM_HDATUM_WGS_1984.
- SRM LSR_3D Reflexive conversions are not possible for all axis orientations.
- The following SRM vertical datum and horizontal datum pairings are the only legal pairings in this release:
- SRM_VDATUM_MSL SRM_VDATUM_WGS84G are legal with any non-spherical horizontal datum.
- SRM_VDATUM_WGS84E is legal with SRM_HDATUM_WGS_1984.
- SRM_VDATUM_SPHERICAL_ACM is legal with SRM_HDATUM_SPHERICAL_ACM.
- SRM_VDATUM_SPHERICAL_COA is legal with SRM_HDATUM_SPHERICAL_COA
- SRM_VDATUM_SPHERICAL_NOG is legal with SRM_HDATUM_SPHERICAL_NOG
- SRM_VDATUM_SPHERICAL_MFE is legal with SRM_HDATUM_SPHERICAL_MFE
- SRM_VDATUM_SPHERICAL_MOD_M is legal with SRM_HDATUM_SPHERICAL_MOD_M
- SRM_VDATUM_SPHERICAL_MOD_S is legal with SRM_HDATUM_SPHERICAL_MOD_S
- SRM_VDATUM_SPHERICAL_MOD_T is legal with SRM_HDATUM_SPHERICAL_MOD_T
- SRM_VDATUM_SPHERICAL_MM5 is legal with SRM_HDATUM_SPHERICAL_MM5
- The following SRM vertical datums are unimplemented and thus not presently valid with any horizontal datum.
- SRM_VDATUM_EGM96
- SRM_VDATUM_NAVD88
- SRM_VDATUM_NGVD29
- The equivalence of the SRM vertical datums SRM_VDATUM_MSL and SRM_VDATUM_WGS84G is assumed by the software. In actuality they are not quite equivalent. A Rough Order of Magnitude estimate of the variation is +-2m in North America. Most other areas have limited data available for reliable comparison to the WGS84 Geoid.
- The GC to LTP vector conversion doesn't work properly.
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 © 2003 SEDRIS