C C TVDB File Format Conversion Program (tvdbffcp) C Converts the TVDB Engineering database from a Fixed field format C to a comma separated format all values handled as strings. C (e.g. TVDB.DAT to TVDB.CSV) C C Written by Michael R. Davis C Original Version: May 11, 1998 C Added Comments: May 28, 1998 C C Syntax: C gzcat tvdb.dat.gz | tvdbffcp | gzip > tvdb.csv.gz C C http://www.fcc.gov/Bureaus/Mass_Media/Databases/tvdb.dat.gz C C Compile: C f77 tvdbffcp.for -o tvdbffcp C C MapBasic Create Points: C update tvdb set obj = createpoint(-Sgn(Val(LonDeg)) * C (Abs(Val(LonDeg)) + (Val(LonMin) + Val(LonSec)/60)/60), C Sgn(Val(LatDeg)) * (Abs(Val(LatDeg)) + (Val(LatMin) + C Val(LatSec)/60)/60)) C CHARACTER*1 Cntry, Border, Offset, Polar CHARACTER*1 DirAnt, BmTilt, Zone, CtyAll, EduCom CHARACTER*2 Ch, SvcCls, State, LatMin, LonMin CHARACTER*3 LatDeg, AntMake CHARACTER*4 LatSec, LonDeg, LonSec, ERPkw CHARACTER*5 HAATm, RCAMSL, RefAzi CHARACTER*6 SeqNum, Prefix, Status, Update, Cutoff CHARACTER*8 Call, ARN, Docket CHARACTER*12 FCCRes CHARACTER*14 AntType CHARACTER*20 City CHARACTER*36 ALName CHARACTER*62 Comment C 1 2 3 4 5 6 7 8 C2345678901234567890123456789012345678901234567890123456789012345678901234567890 50 Format(1X) 60 Format('"Ch","SeqNum","SvcCls","Cntry","State","City",', c'"LatDeg","LatMin","LatSec","LonDeg","LonMin",', c'"LonSec","Border","Call","Prefix","ARN","Status",', c'"Offset","ERPkw","HAATm","Polar","DirAnt","BmTilt",', c'"Zone","CtyAll","EduCom","Update","Cutoff",', c'"Docket","ALName","Comment","RCAMSL","RefAzi",', c'"AntMake","AntType","FCCRes"') 100 Format(A2,A6,A2,6X,A1,A2,A20,A3,A2,A4,A4,A2,A4,A1,A8, c 8X,A6,A8,21X,A6,A1,A4,A5,A1,A1,A1,A1,2X,A1,8X, c A1,A6,A6,A8,A36,A62,24X,A5,A5,A3,A14,1X,A12) 200 Format('"',A2,'","',A6,'","',A2,'","',A1,'","',A2,'","',A20,'","', c A3,'","',A2,'","',A4,'","',A4,'","',A2,'","',A4,'","',A1,'","', c A8,'","',A6,'","',A8,'","',A6,'","',A1,'","',A4,'","',A5,'","', c A1,'","',A1,'","',A1,'","',A1,'","',A1,'","',A1,'","',A6,'","', c A6,'","',A8,'","',A36,'","',A62,'","',A5,'","',A5,'","',A3,'","', c A14,'","',A12,'"') READ(*,50) WRITE(*,60) 300 READ(*,100) Ch, SeqNum, SvcCls, Cntry, State, City, c LatDeg, LatMin, LatSec, LonDeg, LonMin, c LonSec, Border, Call, Prefix, ARN, Status, c Offset, ERPkw, HAATm, Polar, DirAnt, BmTilt, c Zone, CtyAll, EduCom, Update, Cutoff, c Docket, ALName, Comment, RCAMSL, RefAzi, c AntMake, AntType, FCCRes IF (ch .ne. '99') THEN WRITE(*,200) Ch, SeqNum, SvcCls, Cntry, State, City, c LatDeg, LatMin, LatSec, LonDeg, LonMin, c LonSec, Border, Call, Prefix, ARN, Status, c Offset, ERPkw, HAATm, Polar, DirAnt, BmTilt, c Zone, CtyAll, EduCom, Update, Cutoff, c Docket, ALName, Comment, RCAMSL, RefAzi, c AntMake, AntType, FCCRes GOTO 300 ENDIF END