function coordsys=m_coord(coordsys); % M_COORD Initializes the coordinate system for varous conversions. % % M_COORD('set') tells you the current coordinate system % M_COORD('get') gives you the current possibilities % M_COORD(SYSTEM) sets the coordinate system to SYSTEM. % % Currently the available coordinate systems are: % 'geographic' (usual lat/long) % 'geomagnetic' (referenced to magnetic poles) % Rich Pawlowicz (rich@ocgy.ubc.ca) nOV/2001 % % This software is provided "as is" without warranty of any kind. But % it's mine, so you can't sell it. global MAP_COORDS if nargin==0, coordsys='usage'; end; coordsys=lower(coordsys); coords=mc_coords('name'); switch coordsys, case 'get', disp(' '); disp('Available coordinate systems are:'); for k=1:length(coords.name), disp([' ' coords.name{k}]); end; case 'set', if isempty(MAP_COORDS), disp('No coordinate system initialized'); m_coord('usage'); else if nargout==0, disp(MAP_COORDS.name); else coordsys=MAP_COORDS; end; end; case 'usage', disp(' '); disp('Possible calling options are:'); disp(' ''usage'' - this list'); disp(' ''set'' - list of coordinate systems'); disp(' ''get'' - get current coordinate (if defined)'); disp(' ''system'' - initialize coordinate system\n'); otherwise k=strmatch(coordsys,lower(coords.name)); MAP_COORDS=mc_coords('parameters',coords.name{k}); end; % Check to see if a non-lat/long coordinate system is being used.