- Getting Around
- About FOSS4G
A Vivid Relic Under Rapid Transformation
Dr Thomas Knudsen, National Survey and Cadastre
Dr Simon Kokkendorff
Dr. Karsten Engsager
Dr. Karsten Bormann
KMSTR, the transformation system of the Danish National Survey and Cadastre (KMS), has served as the official tool for transformation between Danish map projections and horizontal and vertical datums for half a century. The system originated as a fairly simple implementation of a few conformal mappings, using one of the first compilers for the Algol-60 language. But it has evolved dramatically since then and survived through a range of three programming languages (Algol, Fortran, C), and a large number of operating systems and machine architectures.
Today, in addition to a large number of map projections, KMSTR supports a range of datum shift operations, implemented using either Molodensky transforms, high order polynomials, or NADCON style grid interpolations. KMSTR also includes support for time varying transformations based on plate tectonic motion models, for deriving the proper transformation between a global datum (e.g. ITRF89) and regional, plate fixed reference systems (such as ETRS89) at different epochs.
Recently the extended transverse mercator implementation of KMSTR was included in proj, the leading open source projection package. This is the first step towards making KMSTR more interoperable with other open source projection and transformation packages. From a KMSTR point of view this is highly desirable, since closer relations to proj and other open source projects will facilitate maintenance and development of KMSTR, and will help keeping it in line with the state of the art in geospatial software.
The main objective of this paper is to briefly outline the historical origins of KMSTR, and to describe the architectural design considerations behind an ongoing effort to make KMSTR ready for today’s requirements, most notably by making it 64-bit clean and thread safe. But since the KMSTR code is used in a large number of commercial GIS products, the design considerations are also influenced by the importance of maintaining a stable, backwards compatible version, while also utilizing this golden opportunity to simplify and improve the application program interface (API).
In order to characterize the user-facing parts of KMSTR, in the final part of the paper, we give an introduction to the metadata system used to represent details of map projections and geodetic reference systems in KMSTR, and compare it to the corresponding metadata system used in proj.
Thomas Knudsen, PhD, is a geodesist and senior adviser at the Danish National Survey and Cadastre, where his primary focus is on geodetic software tools.