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