function axis_lim = map(proj,lon_1,lon_2,lat_1,lat_2,style)
% MAP рисует карту береговой линии материков дл? заданного
%     диапазона долготы и широты в меркаторской или пол?рной проекции.
%
% Вызов: V = map([proj,[lon_min,lon_max,lat_min,lat_max,[style]]]);
%            map(proj); или  map;
%
% proj - задание типа проекции карты (текстова?):
%        'm' - меркаторска? (равноградусна? сетка широт и долгот);
%        'pn'- пол?рна? (вид с северного полюса);
%        'ps'- пол?рна? (вид с южного полюса);
% lon_min,lon_max,lat_min,lat_max - пределы по долготе и
%         широте (в град.).
% style - тип линии (по умолчанию - 'c15.')
% V - установленные пределы дл? осей.
%
%Если аргументы не заданы (вызов -> map), то устанавливаютс?
%максимальные значени? (0, 360, -90, +90). Проекци? - 'm'.
%
% Долгота измен?етс? от 0 до 360 град., широта - от -90 до +90 град.
% Рисуютс? только материки и Гренланди?.
% После выхода рисунок сохран?етс? командой HOLD.

% Хомутов С.Ю.,   01.10.96,     Новосибирск

if nargin < 1
   lon_1=0; lon_2=360;
   lat_1=-90; lat_2=90;
   proj = 'm';
   style = '.';
elseif nargin < 5
   lon_1=0; lon_2=360;
   lat_1=-90; lat_2=90;
   style = '.';
elseif nargin < 6
   style = '.';
end

if proj=='m'
   axis_lim=[lon_1 lon_2 lat_1 lat_2];
   axis (axis_lim);  % фиксируем разметку осей
elseif proj=='pn'| proj=='ps'
   axis_lim=[lat_1-90 90-lat_1 lat_1-90 90-lat_1];
   axis (axis_lim);  % фиксируем разметку осей
else
   error ('Не понимаю типа проекции ...')
end

% загружаем файлы с координатами береговой линии (3319 точек)
disp('Загружаю данные о береговой линии ...')
coast = c_list;   % список файлов с данными о береговой линии
for l=1:7,
   s=['load ' coast(l,:)]; eval(s)
   lon = eval([coast(l,:) '(:,1)']);  % вектор долгот
   lat = eval([coast(l,:) '(:,2)']);  % вектор широт
   k=lon>=lon_1 & lon<=lon_2 & lat>=lat_1 & lat<=lat_2; % выбор координат
   if proj=='m'
      plot(lon(k),lat(k),style);
   elseif proj=='pn'
      polar_n(lon(k),lat(k),style);
      if k==1
         title('90E')
      end
   elseif proj=='ps'
      polar_s(lon(k),lat(k),style);
      if k==1
         title('90E')
      end
   else
      error ('Не понимаю типа проекции ...')
   end
%   pause (3)
   hold on
end
disp(setstr(7))
disp('!!! Рекомендую выполнить сжатие пам?ти PACK ...!!!')
