1*-----------------------------------------------------------------------
2*     Copyright (C) 2000-2007 GFD Dennou Club. All rights reserved.
3*-----------------------------------------------------------------------
4      SUBROUTINE SGTRQF(NTX,LTR)
5
6      LOGICAL   LTR
7      CHARACTER CTS*(*),CTL*(*)
8
9      PARAMETER (NMAX=29)
10
11      INTEGER   NTR(NMAX)
12      LOGICAL   LCHREQ
13      CHARACTER CTR1(NMAX)*3,CTR2(NMAX)*20,CMSG*80
14
15      EXTERNAL  LCHREQ,LENC
16
17      SAVE
18
19      DATA CTR1( 1)/'U-U'/, CTR2( 1)/'UNI-UNI           '/, NTR( 1)/ 1/
20      DATA CTR1( 2)/'U-L'/, CTR2( 2)/'UNI-LOG           '/, NTR( 2)/ 2/
21      DATA CTR1( 3)/'L-U'/, CTR2( 3)/'LOG-UNI           '/, NTR( 3)/ 3/
22      DATA CTR1( 4)/'L-L'/, CTR2( 4)/'LOG-LOG           '/, NTR( 4)/ 4/
23      DATA CTR1( 5)/'POL'/, CTR2( 5)/'POLAR             '/, NTR( 5)/ 5/
24      DATA CTR1( 6)/'BPL'/, CTR2( 6)/'BIPOLAR           '/, NTR( 6)/ 6/
25      DATA CTR1( 7)/'ELP'/, CTR2( 7)/'ELLIPTIC          '/, NTR( 7)/ 7/
26      DATA CTR1( 8)/'CYL'/, CTR2( 8)/'EQDST. CYLINDRICAL'/, NTR( 8)/10/
27      DATA CTR1( 9)/'MER'/, CTR2( 9)/'MERCATOR          '/, NTR( 9)/11/
28      DATA CTR1(10)/'MWD'/, CTR2(10)/'MOLLWEIDE         '/, NTR(10)/12/
29      DATA CTR1(11)/'HMR'/, CTR2(11)/'HAMMER            '/, NTR(11)/13/
30      DATA CTR1(12)/'EK6'/, CTR2(12)/'ECKERT 6          '/, NTR(12)/14/
31      DATA CTR1(13)/'KTD'/, CTR2(13)/'KITADA            '/, NTR(13)/15/
32      DATA CTR1(14)/'CON'/, CTR2(14)/'PTOLEMAIC CONICAL '/, NTR(14)/20/
33      DATA CTR1(15)/'COA'/, CTR2(15)/'EQ.-AREA CONICAL  '/, NTR(15)/21/
34      DATA CTR1(16)/'COC'/, CTR2(16)/'CONFORMAL CONICAL '/, NTR(16)/22/
35      DATA CTR1(17)/'BON'/, CTR2(17)/'BONNE             '/, NTR(17)/23/
36      DATA CTR1(18)/'OTG'/, CTR2(18)/'ORTHOGRAPHIC      '/, NTR(18)/30/
37      DATA CTR1(19)/'PST'/, CTR2(19)/'STEREOGRAPHIC     '/, NTR(19)/31/
38      DATA CTR1(20)/'AZM'/, CTR2(20)/'EQUIDST. AZIMUTHAL'/, NTR(20)/32/
39      DATA CTR1(21)/'AZA'/, CTR2(21)/'AZIMUTHAL EQ. AREA'/, NTR(21)/33/
40      DATA CTR1(22)/'GTR'/, CTR2(22)/'GRIDBASE TRANSFORM'/, NTR(22)/51/
41      DATA CTR1(23)/'USR'/, CTR2(23)/'USER              '/, NTR(23)/99/
42      DATA CTR1(24)/'MIL'/, CTR2(24)/'MILLER            '/, NTR(24)/16/
43      DATA CTR1(25)/'RBS'/, CTR2(25)/'ROBINSON          '/, NTR(25)/17/
44      DATA CTR1(26)/'SIN'/, CTR2(26)/'SANSON/SINUSOIDAL '/, NTR(26)/18/
45      DATA CTR1(27)/'VDG'/, CTR2(27)/'VAN DER GRINTEN   '/, NTR(27)/19/
46      DATA CTR1(28)/'PLC'/, CTR2(28)/'POLYCONIC         '/, NTR(28)/24/
47      DATA CTR1(29)/'GNO'/, CTR2(29)/'GNOMONIC          '/, NTR(29)/34/
48
49      LTR=INDXIF(NTR,NMAX,1,NTX).NE.0
50
51      RETURN
52*-----------------------------------------------------------------------
53      ENTRY SGTRSL(CTS,CTL)
54
55      DO 10 N=1,NMAX
56        IF (LCHREQ(CTS,CTR1(N))) THEN
57          CTL=CTR2(N)
58          RETURN
59        END IF
60   10 CONTINUE
61
62      NCP=LENC(CTS)
63      CMSG='TRANSFORMATION NAME <'//CTS(1:NCP)//'> IS NOT DEFINED.'
64      CALL MSGDMP('E','SGTRSL',CMSG)
65
66      RETURN
67*-----------------------------------------------------------------------
68      ENTRY SGTRSN(CTS,NTX)
69
70      DO 20 N=1,NMAX
71        IF (LCHREQ(CTS,CTR1(N))) THEN
72          NTX=NTR(N)
73          RETURN
74        END IF
75   20 CONTINUE
76
77      NCP=LENC(CTS)
78      CMSG='TRANSFORMATION NAME <'//CTS(1:NCP)//'> IS NOT DEFINED.'
79      CALL MSGDMP('E','SGTRSN',CMSG)
80
81      RETURN
82*-----------------------------------------------------------------------
83      ENTRY SGTRLS(CTL,CTS)
84
85      DO 30 N=1,NMAX
86        IF (LCHREQ(CTL,CTR2(N))) THEN
87          CTS=CTR1(N)
88          RETURN
89        END IF
90   30 CONTINUE
91
92      NCP=LENC(CTL)
93      CMSG='TRANSFORMATION NAME <'//CTL(1:NCP)//'> IS NOT DEFINED.'
94      CALL MSGDMP('E','SGTRLS',CMSG)
95
96      RETURN
97*-----------------------------------------------------------------------
98      ENTRY SGTRLN(CTL,NTX)
99
100      DO 40 N=1,NMAX
101        IF (LCHREQ(CTL,CTR2(N))) THEN
102          NTX=NTR(N)
103          RETURN
104        END IF
105   40 CONTINUE
106
107      NCP=LENC(CTL)
108      CMSG='TRANSFORMATION NAME <'//CTL(1:NCP)//'> IS NOT DEFINED.'
109      CALL MSGDMP('E','SGTRLN',CMSG)
110
111      RETURN
112*-----------------------------------------------------------------------
113      ENTRY SGTRNS(NTX,CTS)
114
115      DO 50 N=1,NMAX
116        IF (NTX.EQ.NTR(N)) THEN
117          CTS=CTR1(N)
118          RETURN
119        END IF
120   50 CONTINUE
121
122      CMSG='TRANSFORMATION NUMBER <##> IS NOT DEFINED.'
123      CALL CHNGI(CMSG,'##',NTX,'(I2)')
124      CALL MSGDMP('E','SGTRNS',CMSG)
125
126      RETURN
127*-----------------------------------------------------------------------
128      ENTRY SGTRNL(NTX,CTL)
129
130      DO 60 N=1,NMAX
131        IF (NTX.EQ.NTR(N)) THEN
132          CTL=CTR2(N)
133          RETURN
134        END IF
135   60 CONTINUE
136
137      CMSG='TRANSFORMATION NUMBER <##> IS NOT DEFINED.'
138      CALL CHNGI(CMSG,'##',NTX,'(I2)')
139      CALL MSGDMP('E','SGTRNL',CMSG)
140
141      RETURN
142      END
143