function pickrd
% function pickrd
%
% Pick and display of rectascension and declination as well as
% other information about stars, planets, the Sun and the Moon
%
% 05.05.04 M.Penzkofer
% globale variables:
global anz_fk5 anz_ppm num recall decall mag rec dec az h
global T recP decP recM decM azP hP azM hM
% constants
rho = pi/180;
% Pick coordinates
[xG(1) yG(1)] = ginput(1);
% check for Sun, Moon and Planets
xI = ones(size([azP azM]))*xG;
yI = ones(size([hP hM]))*yG;
dsG = sqrt((xI(:,1)-[azP azM]).^2+(yI(:,1)-[hP hM]).^2);
smin = min(dsG);
if (smin < 2.0)
indK = find(dsG==smin);
indK = indK(1);
% Sun, Moon and Planets
if (indK ~= 10)
planetenStr = str2mat('Merkury','Venus','SUN','Mars','Jove','Saturn','Uranus','Neptune','Pluto');
NameStr = planetenStr(indK,:);
RecStr = num2str(alt2gms(recP(indK)/15.0));
DecStr = num2str(alt2gms(decP(indK)));
else
NameStr = 'MOON';
RecStr = num2str(alt2gms(recM/15.0));
DecStr = num2str(alt2gms(decM));
end
if (indK ~= 10)
% physical ephemeris
[Mag,WD,Phi,PosAX,PosSUN] = physsub(indK,T);
if (indK ~= 3)
% Planets
MagStr = num2str(Mag,'%3.1f');
WDStr = num2str(WD,'%4.2f');
k = (1+cos(Phi*rho))/2;
kStr = num2str(k,'%4.2f');
else
% Sun
MagStr = '-26.0';
WDStr = num2str(alt2gms(WD));
kStr = ' --- ';
end
else
% Moon
[WD,Phi,k,stadium,mag]=physmoon(T);
if (stadium == +1)
signElStr = 'waxing';
elseif (stadium == -1)
signElStr = 'waning';
else
signElStr = '';
end
MagStr = num2str(mag,'%4.1f');
WDStr = num2str(alt2gms(WD));
kStr = [num2str(k,'%4.2f') ' ' signElStr];
end
% display window
figure('NumberTitle','off','Name','Pick Planet', ...
'Units','normalized','Position',[0.25 0.60 0.50 0.30]);
uicontrol('Style','Text','String',' Name ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.85 0.55 0.10])
uicontrol('Style','Text','String',' Rectascension (hms): curr ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.69 0.55 0.10])
uicontrol('Style','Text','String',' Declination (dms): curr ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.53 0.55 0.10])
uicontrol('Style','Text','String',' Magnitude ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.37 0.55 0.10])
uicontrol('Style','Text','String',' Diameter (")/(dms) | Phase (%)', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.21 0.55 0.10])
uicontrol('Style','Text','String',NameStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.85 0.35 0.10])
uicontrol('Style','Text','String',RecStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.69 0.35 0.10])
uicontrol('Style','Text','String',DecStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.53 0.35 0.10])
uicontrol('Style','Text','String',MagStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.37 0.35 0.10])
uicontrol('Style','Text','String',[WDStr ' | ' kStr], ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.21 0.35 0.10])
uicontrol('Style','Pushbutton','String','OK', ...
'Callback','close',...
'Units','normalized','Position',[0.75 0.05 0.20 0.10])
else
% Stars
xI = ones(size(az))*xG;
yI = ones(size(h))*yG;
dsG = sqrt((xI(:,1)-az).^2+(yI(:,1)-h).^2);
smin = min(dsG);
indK = find(dsG==smin);
indK = indK(1);
if (indK <= anz_fk5)
katalog = 'FK5';
else
katalog = 'PPM';
end
numStr = [katalog ': ' num2str(num(indK))];
recStr = [num2str(recall(indK,1)) ':' num2str(recall(indK,2)) ':' num2str(recall(indK,3))];
decStr = [num2str(decall(indK,1)) ':' num2str(decall(indK,2)) ':' num2str(decall(indK,3))];
rcuStr = num2str(alt2gms(rec(indK)/15.0));
dcuStr = num2str(alt2gms(dec(indK)));
magStr = num2str(mag(indK));
pmrStr = num2str(recall(indK,4));
pmdStr = num2str(decall(indK,4));
% display window
figure('NumberTitle','off','Name','Pick Star', ...
'Units','normalized','Position',[0.25 0.60 0.50 0.30]);
uicontrol('Style','Text','String',' Katalogue / Number ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.85 0.55 0.10])
uicontrol('Style','Text','String',' Rectascension (hms): J2000 / curr ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.69 0.55 0.10])
uicontrol('Style','Text','String',' Declination (dms): J2000 / curr ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.53 0.55 0.10])
uicontrol('Style','Text','String',' Magnitude ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.37 0.55 0.10])
uicontrol('Style','Text','String',' Proper Motion: Rec. (sec/cy) | Dec. ("/cy) ', ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.05 0.21 0.55 0.10])
uicontrol('Style','Text','String',numStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.85 0.35 0.10])
uicontrol('Style','Text','String',recStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.69 0.15 0.10])
uicontrol('Style','Text','String',rcuStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.75 0.69 0.20 0.10])
uicontrol('Style','Text','String',decStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.53 0.15 0.10])
uicontrol('Style','Text','String',dcuStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.75 0.53 0.20 0.10])
uicontrol('Style','Text','String',magStr, ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.37 0.35 0.10])
uicontrol('Style','Text','String',[pmrStr ' | ' pmdStr], ...
'HorizontalAlignment','left',...
'Units','normalized','Position',[0.60 0.21 0.35 0.10])
uicontrol('Style','Pushbutton','String','OK', ...
'Callback','close',...
'Units','normalized','Position',[0.75 0.05 0.20 0.10])
end