0001 function varargout=antzoom(region)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 available_regions=InitializeRegionInfo();
0013
0014
0015 if nargin==0,
0016 help antzoom;
0017 disp(' Available regions include:');
0018 for i=1:length(available_regions),
0019 disp([' ' available_regions(i).name]);
0020 end
0021 return;
0022 end
0023
0024
0025 found=0;
0026 for i=1:length(available_regions),
0027 if strcmp(available_regions(i).name,region),
0028
0029 x0=available_regions(i).x0;
0030 x1=available_regions(i).x1;
0031 y0=available_regions(i).y0;
0032 y1=available_regions(i).y1;
0033 if ~strcmp(region,'antarctica'),
0034 dx=x1-x0;
0035 dy=y1-y0;
0036 if dy>dx,
0037 delta=dy-dx;
0038 x0=x0-delta/2;
0039 x1=x1+delta/2;
0040 elseif dy<dx,
0041 delta=dx-dy;
0042 y0=y0-delta/2;
0043 y1=y1+delta/2;
0044 else
0045
0046 end
0047 end
0048
0049
0050
0051 if nargout==2,
0052 found=1;
0053 varargout{1}=[x0 x1];
0054 varargout{2}=[y0 y1];
0055 else
0056 xlim([x0 x1]);
0057 ylim([y0 y1]);
0058 found=1;
0059 daspect([1;1;1]);
0060 end
0061 else
0062 continue;
0063 end
0064 end
0065
0066 if found==0,
0067 disp(['Unknow region: ',region]);
0068 disp('Available regions include:');
0069 for i=1:length(available_regions),
0070 disp([' ' available_regions(i).name]);
0071 end
0072 end
0073
0074 end
0075
0076 function incrementedregions=AddAvailableRegion(regions,name,x0,x1,y0,y1);
0077
0078 if isempty(regions),
0079 incrementedregions(1).name=name;
0080 else
0081 incrementedregions=regions;
0082 incrementedregions(end+1).name=name;
0083 end
0084 incrementedregions(end).x0=x0;
0085 incrementedregions(end).x1=x1;
0086 incrementedregions(end).y0=y0;
0087 incrementedregions(end).y1=y1;
0088 end
0089
0090 function regions=InitializeRegionInfo()
0091 regions=AddAvailableRegion([],'antarctica',-2507187,2743299,-2143434,2241152);
0092 regions=AddAvailableRegion(regions,'adelieland',2.699*10^4,2.4636*10^6,-2.1848*10^6,-5.2865*10^5);
0093 regions=AddAvailableRegion(regions,'ameryiceshelf',1.5945*10^6,2.2807*10^6,5.1372*10^5,9.0186*10^5);
0094 regions=AddAvailableRegion(regions,'amundsencoast',-2.8*10^5,-1*10^5,-5.8*10^5,-4.6*10^5);
0095 regions=AddAvailableRegion(regions,'amundsensea',-2.1*10^6,-1.45*10^6,-7.5*10^5,-2.5*10^5);
0096 regions=AddAvailableRegion(regions,'banzarecoast',1.6*10^6,2.3*10^6,-1.9*10^6,-1.2*10^6);
0097 regions=AddAvailableRegion(regions,'borchgrevinkcoast',3*10^5,7*10^5,-2.05*10^6,-1.6*10^6);
0098 regions=AddAvailableRegion(regions,'buddcoast',2.1*10^6,2.7*10^6,-1.3*10^6,-.7*10^6);
0099 regions=AddAvailableRegion(regions,'byrdglacier',2.5*10^5,4.5*10^5,-10.8*10^5,-9.2*10^5);
0100 regions=AddAvailableRegion(regions,'dufekcoast',-1.6*10^5,0*10^5,-6.2*10^5,-5.5*10^5);
0101 regions=AddAvailableRegion(regions,'edouardpeninsula',-7.5*10^5,-4*10^5,-1.4*10^6,-1.05*10^6);
0102 regions=AddAvailableRegion(regions,'filchnericeshelf',-9.3781*10^5,-3.6671*10^5,.7389*10^6,1.0360*10^6);
0103 regions=AddAvailableRegion(regions,'fordranges',-8.5*10^5,-5.7*10^5,-1.33*10^6,-1.12*10^6);
0104 regions=AddAvailableRegion(regions,'georgevcoast',.9*10^6,1.7*10^6,-2.4*10^6,-1.7*10^6);
0105 regions=AddAvailableRegion(regions,'getziceshelf',-1.7*10^6,-1.15*10^6,-1.23*10^6,-.5*10^6);
0106 regions=AddAvailableRegion(regions,'hillarycoast',2.6*10^5,4.4*10^5,-1.24*10^6,-1.06*10^6);
0107 regions=AddAvailableRegion(regions,'larseniceshelf',-2.3855*10^6,-1.9649*10^6,0.9498*10^6,1.2996*10^6);
0108 regions=AddAvailableRegion(regions,'nimrodglacier',1*10^5,3.8*10^5,-9*10^5,-7*10^5);
0109 regions=AddAvailableRegion(regions,'oatescoast',5.3*10^5,8.5*10^5,-2.15*10^6,-1.9*10^6);
0110 regions=AddAvailableRegion(regions,'pennelcoast',3*10^5,6*10^5,-2.1*10^6,-1.85*10^6);
0111 regions=AddAvailableRegion(regions,'pineislandglacier',-1.72*10^6,-1.45*10^6,-4.3*10^5,-1.4*10^5);
0112 regions=AddAvailableRegion(regions,'ronneiceshelf',-1.5*10^6,-.7*10^6,1*10^5,9.3*10^5);
0113 regions=AddAvailableRegion(regions,'rossiceshelf',-8*10^5,4.5*10^5,-13.8*10^5,-5*10^5);
0114 regions=AddAvailableRegion(regions,'ruppertcoast',-11*10^5,-8.5*10^5,-1.34*10^6,-1.14*10^6);
0115 regions=AddAvailableRegion(regions,'scottcoast',2.5*10^5,6*10^5,-1.6*10^6,-1.2*10^6);
0116 regions=AddAvailableRegion(regions,'shackletoncoast',2*10^5,3.8*10^5,-9.8*10^5,-8.4*10^5);
0117 regions=AddAvailableRegion(regions,'shackletoniceshelf',2.4*10^6,2.8*10^6,-7*10^5,-1*10^5);
0118 regions=AddAvailableRegion(regions,'shirasecoast',-6*10^5,-4.4*10^5,-10.9*10^5,-8.2*10^5);
0119 regions=AddAvailableRegion(regions,'siplecoast',-4.3*10^5,-1.5*10^5,-9*10^5,-6.5*10^5);
0120 regions=AddAvailableRegion(regions,'westiceshelf',2.2*10^6,2.7*10^6,0,5*10^5);
0121 regions=AddAvailableRegion(regions,'icestreamE',2.2*10^6,2.7*10^6,0,5*10^5);
0122 end