Het Fortranprogramma GENER: PROGRAM GENERTAPE8f TAPE2»TAPE4fTAPE5fOUTPUT DIMENSION XX<10> fYY(IO)»HOOGTE(10)fXD<10)»YD<10> VARIABELEN DATA AFSINP /O.l/ DATA SCHAF /l./ DATA GENFAC /5./ INITIALISEREN NNR=NRN=1 H0GMAX=AFSEX=H0EKA=X0=Y0=0 JEND=NNN=JHALT=M=NN=L=0 IFGENFACLT4GENFAC-4 INLEES=GENFAC MM=INLEES+1 PI=22./7. ISCHAF=IFIXSCHAF+0.5) N=2 N1=N2=N3=N4=0 READ8 20 NR rJSTOP f XA f YA WRITE 420 NR f JSTOP f XA f YA FORMAT <I5f2XfI1f2Xf2F10.3) BEGIN HET INTERPOLEREN GOTO 60 NNR=NNR+1 WRITE4 f 20NNR f JSTOP f XB f YB READ8 f 20NR f JSTOP f XA f YA READ8 f 20NR f JSTOP f XB f YB IF(JSTOP.EG.1GOTO 50 IFEOF8NE0GOTO 10 AFST=SQRTXB-XA**2+YB-YA**2 IF AFSTLTAFSINF"GOTO 30 ITOT=AFST/AFSINP1 XAS=XB-XA/ITOT YAS= <YB-YA)/ITOT DO 40 JI=1fIT0T NNR=NNR+1 XN=XA+XAS*JI YN=YA+YAS*JI WRITE4 f 20NNR f JSTOP f XN f YN GOTO 70 NNR=NNR+1 WR I TE 4 f 20NNR f JSTOP f XB f YB XA=XB YA=YB GOTO 60 CONTINUE EINDE INTERPOLATIE BEREKEN DE RICHTINGSCOEFFICIENTEN VAN HOOGTE- EN BASISL AFSXAS=XXM-XX1 AFSYAS=(YY(M)-YY(l)) IF AFSXASEQ0)AFSXAS=0.000001 IFAFSYASEQ0>AFSYAS=0000001 RCA=YYM-YY1/AFSXAS RCB=-XXM-XX 1/AFSYAS BEPAAL SNIJPUNT HOOGTE- MET BASISLIJN LA=MM-2 DO 120 L=2 f LA RCSUB=RCA-RCB IF RCSUBEQ0RCSUB=00000001 XN= RCA*XX(1)-YY(1)+YY<L)-RCB*XX <L/RCSUB YN=YY1+RCA*XN-XX1 BEPAAL DE GROOTSTE HOOGTE XHOOG= XN-XXL YHOOG=(YN-YY(L) IFXHOOGEQ0XHO0G=00000001 IFYHOOGEQ0YH00G=00000001 HOOGTEL=SQRTXH00G**2+ YH00G**2 IFHOOGTELGTHOGMAXH0GMAX=H00GTEL BEPAAL DE GENERALISERINGSKLASSE IF<HOGMAX.GT.DIST31G0T0 190 IFHOGMAX.LE.DIST3.AND.HOGMAX.GT.DIST2)GOTO 130 IFHOGMAX.LE.DIST2.AND.HOGMAX.GT.DIST1GOTO 140 IFHOGMAX.LE.DIST1GOTO 150 BNT=<3./4.>*MM NT IFIX BNT+05 N2=N2+1 BASISL=2*AFM/2*PI)+05*AFM GOTO 160 BNT 2/4)*MM NT IFIX(BNT+0.5) N3=N3+1 BASISL=2*AFM/3*PI2/3)*AFM BEPAAL DE THEORETISCHE GRENSHOEK A BOOGL=SQRT< BASISL*05**2+H0GMAX**2 S0M=05*BOOGL+BASISL*05+HOGMAX R1=2./(BASISL*0.5*B00GL) R2=SQRTSOM*SOM-BOOGLSOM-BASISL*05SOM-HOGMAX SINB=R1*R2 RADB=ASIN(SINB BETA=RADB*180/PI CIRH=BETA*<INLEES-1 H0EKA=CIRH/<2*<INLEES-1 BEGIN EXTERPOLATIE READ4 f 20)NR f JSTOPf EXX f EXY IF(E0F(4).NE0GOTO 100 NRN=NRN+1 WRITE5 f 20NRN f JSTOP fEXX tEXY IF(JSTOP.EQ.l)GOTO 90 IFSCHAFEQ.1GOTO 90 DO 80 ISKIP=2fISCHAF READ4 f 20 NR f JSTOP fEXX f EXY IF(JSTOP.EQ.1GOTO 95 IFEOF4NE0GOTO 100 CONTINUE GOTO 90 NRN=NRN+1 WRITE 5 f 20NRN f JSTOP f EXX f EXY GOTO 90 CONTINUE EINDE EXTERPOLATIE BEPALING THEORETISCH MAXIMALE HOOGTE T.O.V. BASISLIJN AFM=<SCHAF*AFSINP*<INLEES-1 DIST1=AFM/<3.*PI DIST2=AFM/(2.*PI) DIST3=AFM/(1.*PI) LEES N COORDINATEN IN M=M+1 READ(5f20)NRfJSTOPfXXIfYYI IF(JSTOP.EQ.1GOTO 240 IFEOF 5NE0GOTO 110 XX(1)=XX1 YY1=YY1 XCC=XX(1 YCC=YY 1 M=M+1 READ5 f 20NR f JSTOP f X1f Y1 IF(E0F(5>.NE0GOTO 110 IFJSTOPNE1)GOTO 220 JHALT=1 JST0P=0 M=M-1 MM=M IF(MLE2GOTO 240 IFMLT4GOTO 190 GOTO 230 JEND=1 M=M-1 IFtM.LE.2GOTO 155 GOTO 150 XX(M)=X1 YYM=Y1 IFMNEMMGOTO 290 M=M-1 NN=NN+1 XN1=XX< D/SCHAF YN1=YY(1/SCHAF WRITE2 f 20NN f JSTOP f XN1f YN1 XXC=XX<1) YYC=YY 1 210 240 250 190 BEGIN HET GENERALISEREN NNN=0 N=2 N=N-1 )fl=XX(N) Y1=YY(N) N=N+1 X2=XXN Y2=YY(N) N=N+1 X3=XX(N) Y3=YY(N) BEPAAL DE GRENSHOEK A DISTA=SQRT X3-X2**2+Y3-Y2)**2 DISTB=SQRTX3-X1#*2+Y3-Y1**2 DISTC=SQRT((X2-X1**2+Y2-Y1**2 S=05* DISTA+DISTB+DISTC P1=2./(DISTB*DISTC) DIA=S-DISTA DIB=S-DISTB DIC=S-DISTC IF DIALE0.OR.DIB.LE.O..OR.DIC.LE.O.)GOTO 170 P2=SQRT(S*DIA*DIB*DIC) SINA=P1*P2 RADIAL=ASIN(SINA ALPHA-RADIAL*180./PI IF<ALPHA.LT.HOEKA)GOTO 170 NNN=NNN+1 XDNNN=X2 YD(NNN)=Y2 IF(N.NE.MM)GOTO 180 IFNNNEQ0GOTO 150 DO 210 LLL=1fNNN IFXDLLLEQXXCANDYDLLLEQYYCGOTO 210 NN=NN+1 XE=XD(LLL)/SCHAF YE=YD(LLL)/SCHAF WRITE2 f 20NN f JSTOP f XE f YE IF JHALTNE1GOTO 250 NN=NN+1 XEN=XCC/SCHAF YEN=YCC/SCHAF WRITE(2f20)NNfJSTOPfXENfYEN NN=NN+1 WRITE(2f20)NNfJHALTfXOfYO M=NNN=L JHALT=0 N=2 MM=INLEES+1 H0GMAX=H0EKA=0 GOTO 200 IF(JEND.NE1)GOTO 270 GOTO 150 N1=N1+1 DO 260 NG=2 f MM NN=NN+1 XE=XX(NG)/SCHAF YE=YY(NG)/SCHAF WRITE2 f 20NN f JSTOP f XE f YE CONTINUE KT 1980. VI. 3 13

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Kartografisch Tijdschrift | 1980 | | pagina 15