From 74ae4b09bbc80edb44a123a8272014d15b7d4b8d Mon Sep 17 00:00:00 2001 From: Thomas Knudsen Date: Sun, 17 Dec 2017 18:04:13 +0100 Subject: Free format everywhere (#693) * Free format now in cmd lines, in gie, and in init files * Corrected handling of defaults * Add demo of integrated definition and validation * Repair stack-smashing memmove in get_init * repair paralist corruption, clean up debug output * Install test files for nmake builds * Add many improvements following suggestions by @schwehr * Be consistent in requiring lower case everywhere in gie.c Also, this Fixes #703 and Fixes #697 --- nad/val_def.demo | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 nad/val_def.demo (limited to 'nad') diff --git a/nad/val_def.demo b/nad/val_def.demo new file mode 100644 index 00000000..87777b9d --- /dev/null +++ b/nad/val_def.demo @@ -0,0 +1,83 @@ + +----------------------------------------------------------------------- + + INTEGRATING DEFINITION AND VALIDATION OF GEODETIC SYSTEMS + +----------------------------------------------------------------------- + Thomas Knudsen, thokn@sdfe.dk, 2017-12-06 +----------------------------------------------------------------------- + +This demo shows how to use the free format definition strings, +introduced in PROJ version 5.0.0, to integrate system definition +information with system validation data. + +The system definition parts are used when doing actual transformations, +e.g. using the cct 4D transformation program: + + echo 9 55 0 0 | cct +init=val_def.demo:DKTM1 + +The system validation parts are used when validating the systems +defined in the file. This is done using the gie test program: + + gie val_def.demo + +Which will respond with a report detailing how many tests succeeded, +resp. failed. + +The syntax of proj init files is orthogonal to the syntax of gie +integrity evaluation files. This makes it possible to interleave +init and gie blocks in the same file. + +#----------------------------------------------------------------------- + + + +#----------------------------------------------------------------------- +# Danish Transverse Mercator, zone 1 +#----------------------------------------------------------------------- + proj = etmerc + lat_0 = 0 lon_0 = 9 + x_0 = 200000 y_0 = -5000000 + + k = 0.99998 + + ellps = GRS80 + units = m + + no_defs +#----------------------------------------------------------------------- + +operation init = val_def.demo:DKTM1 +tolerance 100 um +accept 9 55 +expect 200000.0000 1097108.3684 +roundtrip 1000 1 nm + +#----------------------------------------------------------------------- + + + +#----------------------------------------------------------------------- +# Danish Transverse Mercator, zone 2 +#----------------------------------------------------------------------- + proj = etmerc + lat_0 = 0 lon_0 = 10 + x_0 = 400000 y_0 = -5000000 + + k = 0.99998 + + ellps = GRS80 + units = m + + no_defs +#----------------------------------------------------------------------- + +operation init = val_def.demo:DKTM2 +tolerance 100 um +accept 10 55 +expect 400000.0000 1097108.3684 +accept 10.5 55.5 +expect 431597.1668 1152884.9398 +roundtrip 1000 100 um + +#----------------------------------------------------------------------- -- cgit v1.2.3