aboutsummaryrefslogtreecommitdiff
path: root/nad/testvarious
blob: 29eac6ed3ab93e747cd265c6ffce2d2e32d2b4e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
:
# Script to do some testing of various transformation.
#
#
EXE=$1

usage()
{
    echo "Usage: ${0} <path to 'cs2cs' program>" 
    echo
    exit 1
}

if test -z "${EXE}"; then
    echo "*** ERROR: Missing path to 'cs2cs' program."
    usage
else
    if test ! -x ${EXE}; then
        echo "*** ERROR: Can not find '${EXE}' program!"
        exit 1
    fi
fi

echo "============================================"
echo "Running ${0} using ${EXE}:"
echo "============================================"

OUT=td_out
#EXE=../src/cs2cs
#
echo "doing tests into file ${OUT}, please wait"
rm -f ${OUT}
#
echo "##############################################################" >> ${OUT}
echo 1st through ntv1, 2nd through conus >> ${OUT}
#
$EXE +proj=latlong +ellps=clrk66 +nadgrids=ntv1_can.dat,conus \
 +to +proj=latlong +datum=NAD83 \
 -E >>${OUT} <<EOF
111d00'00.000"W 44d00'00.000"N 0.0
111d00'00.000"W 39d00'00.000"N 0.0
EOF

echo "##############################################################" >> ${OUT}
echo As above, but without ntv1 everything goes through conus file. >> ${OUT}
#
$EXE +proj=latlong +ellps=clrk66 +nadgrids=conus \
 +to +proj=latlong +datum=NAD83 \
 -E >>${OUT} <<EOF
111d00'00.000"W 44d00'00.000"N 0.0
111d00'00.000"W 39d00'00.000"N 0.0
EOF

echo "##############################################################" >> ${OUT}
echo Test MD used where available >> ${OUT}
#
$EXE +proj=latlong +ellps=clrk66 +nadgrids=MD,conus \
 +to +proj=latlong +datum=NAD83 \
 -E >>${OUT} <<EOF
79d58'00.000"W 37d02'00.000"N 0.0
79d58'00.000"W 36d58'00.000"N 0.0
EOF
#
$EXE +proj=latlong +ellps=clrk66 +nadgrids=conus \
 +to +proj=latlong +datum=NAD83 \
 -E >>${OUT} <<EOF
79d58'00.000"W 37d02'00.000"N 0.0
79d58'00.000"W 36d58'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Test raw ellipse to raw ellipse >> ${OUT}
#
$EXE +proj=latlong +ellps=clrk66 \
 +to +proj=latlong +ellps=bessel \
 -E >>${OUT} <<EOF
79d58'00.000"W 37d02'00.000"N 0.0
79d58'00.000"W 36d58'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Test NAD27 to raw ellipse >> ${OUT}
#
$EXE +proj=latlong +datum=NAD27 \
 +to +proj=latlong +ellps=bessel \
 -E >>${OUT} <<EOF
79d00'00.000"W 35d00'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Between two 3parameter approximations on same ellipsoid >> ${OUT}
#
$EXE +proj=latlong +ellps=bessel +towgs84=5,0,0 \
 +to +proj=latlong +ellps=bessel +towgs84=1,0,0 \
 -E >>${OUT} <<EOF
0d00'00.000"W 0d00'00.000"N 0.0
79d00'00.000"W 45d00'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo 3param to raw ellipsoid on same ellipsoid >> ${OUT}
#
$EXE +proj=latlong +ellps=bessel +towgs84=5,0,0 \
 +to +proj=latlong +ellps=bessel  \
 -E >>${OUT} <<EOF
0d00'00.000"W 0d00'00.000"N 0.0
79d00'00.000"W 45d00'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Test simple prime meridian handling. >> ${OUT}
#
$EXE +proj=latlong +datum=WGS84 +pm=greenwich  \
 +to +proj=latlong +datum=WGS84 +pm=1 \
 -E >>${OUT} <<EOF
0d00'00.000"W 0d00'00.000"N 0.0
79d00'00.000"W 45d00'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Test simple prime meridian handling within a projection. >> ${OUT}
#
$EXE +proj=utm +zone=11 +datum=WGS84 +pm=3 \
 +to +proj=latlong +datum=WGS84 +pm=1w \
 -E >>${OUT} <<EOF
500000 3000000
EOF
echo "##############################################################" >> ${OUT}
echo Test geocentric x/y/z generation. >> ${OUT}
#
$EXE +proj=latlong +datum=WGS84  \
 +to +proj=geocent +datum=WGS84  \
 -E >>${OUT} <<EOF
0d00'00.000"W 0d00'00.000"N 0.0
0d00'00.000"W 0d00'00.000"N 10.0
79d00'00.000"W 45d00'00.000"N 0.0
0d00'00.000"W 90d00'00.000"N 0.0
EOF
#
echo "##############################################################" >> ${OUT}
echo Test geocentric x/y/z consumption. >> ${OUT}
#
$EXE +proj=geocent +datum=WGS84  \
 +to +proj=latlong +datum=WGS84  \
 -E >>${OUT} <<EOF
6378137.00      -0.00 0.00
6378147.00      -0.00 0.00
861996.98       -4434590.01 4487348.41
0.00    -0.00 6356752.31
EOF
#
#echo "#############################################################" >> ${OUT}
#echo Test conversion between geocentric latlong and geodetic latlong >> ${OUT}
#
# The +geoc flag does not currently work with pj_transform() so this is 
# disabled. 
#
#$EXE +proj=latlong +datum=WGS84 +geoc \
# +to +proj=latlong +datum=WGS84  \
# -E >>${OUT} <<EOF
#0d00'00.000"W 0d00'00.000"N 0.0
#79d00'00.000"W 45d00'00.000"N 0.0
#12d00'00.000"W 45d00'00.000"N 0.0
#0d00'00.000"W 90d00'00.000"N 0.0
#EOF
#
##############################################################################
# Done! 
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
diff -b ${OUT} ${OUT}.dist
if [ $? -ne 0 ] ; then
	echo  ""
	echo "PROBLEMS HAVE OCCURED"
	echo "test file ${OUT} saved"
    echo
	exit 100
else
	echo "TEST OK"
	echo "test file ${OUT} removed"
    echo
	/bin/rm -f ${OUT}
	exit 0
fi