Home > matutils > angles > ast2fracdeg.m

ast2fracdeg

PURPOSE ^

[ra,dec]=ast2fracdeg([ra],[dec])

SYNOPSIS ^

function [rao,deco]=ast2fracdeg(ra,dec)

DESCRIPTION ^

 [ra,dec]=ast2fracdeg([ra],[dec])

 Translate the ra=hh:mm:ss.ss dec=+dd:mm:ss.ss
 format which astronomers often use to simple
 fractional degrees.

 +/- zero degrees dec causes major problems. Solve
 for now by using fixed format string input.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [rao,deco]=ast2fracdeg(ra,dec)
0002 % [ra,dec]=ast2fracdeg([ra],[dec])
0003 %
0004 % Translate the ra=hh:mm:ss.ss dec=+dd:mm:ss.ss
0005 % format which astronomers often use to simple
0006 % fractional degrees.
0007 %
0008 % +/- zero degrees dec causes major problems. Solve
0009 % for now by using fixed format string input.
0010 
0011 if(~iscell(ra))
0012   rac{1}=ra;
0013   decc{1}=dec;
0014 else
0015   rac=ra; decc=dec;
0016 end
0017 
0018 for i=1:length(rac)
0019   ra=rac{i}; dec=decc{i};
0020   
0021   if(~ischar(ra)|~ischar(dec))
0022     error('Input must be strings of form ra=h:m:s dec=+/-d:m:s')
0023   end
0024 
0025   ra=sscanf(ra,'%d:%d:%f');
0026   dec_sign=sscanf(dec,'%1c',1);
0027   dec=sscanf(dec,'%*c%d:%d:%f');
0028 
0029   if(ra(1)<0)
0030     error('ra hours must be >0');
0031   end
0032 
0033   if(dec_sign~='+'&dec_sign~='-')
0034     error('dec degrees must be preceded by a + or - sign');
0035   end
0036 
0037   if(any(any([ra(2:3)>60,dec(2:3)>60])))
0038     error('Minutes and seconds must be <60');
0039   end
0040 
0041   rao(i)=15*(ra(1)+ra(2)/60+ra(3)/60^2);
0042 
0043   if(dec_sign=='-')
0044     deco(i)=-dec(1)-dec(2)/60-dec(3)/60^2;
0045   else
0046     deco(i)=+dec(1)+dec(2)/60+dec(3)/60^2;
0047   end
0048 end
0049 
0050 rao=reshape(rao,size(rac));
0051 deco=reshape(deco,size(rac));

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005