source: issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpFromGeotiff.m@ 23876

Last change on this file since 23876 was 23873, checked in by Mathieu Morlighem, 6 years ago

NEW: added interpolation routines'

File size: 1.1 KB
Line 
1function dataout = interpFromGeotiff(geotiffname,X,Y),
2
3usemap = 0;
4if license('test','map_toolbox')==0,
5 disp('WARNING: map toolbox not installed, trying house code');
6 usemap = 0;
7elseif license('checkout','map_toolbox')==0
8 disp('WARNING: map toolbox not available (checkout failed), trying house code');
9 usemap = 0;
10end
11
12if usemap,
13 [data,R] = geotiffread(geotiffname);
14 data=double(flipud(data));
15 xdata=R.XLimWorld(1):R.DeltaX:R.XLimWorld(2); xdata=xdata(:);
16 xdata =(xdata(1:end-1)+xdata(2:end))/2;
17 ydata=R.YLimWorld(2):R.DeltaY:R.YLimWorld(1); ydata=flipud(ydata(:));
18 ydata =(ydata(1:end-1)+ydata(2:end))/2;
19else
20
21 %Get image info
22 Tinfo = imfinfo(geotiffname);
23 N = Tinfo.Width;
24 M = Tinfo.Height;
25 dx = Tinfo.ModelPixelScaleTag(1);
26 dy = Tinfo.ModelPixelScaleTag(2);
27 minx = Tinfo.ModelTiepointTag(4);
28 maxy = Tinfo.ModelTiepointTag(5);
29
30 %Generate vectors
31 xdata = minx + dx/2 + ((0:N-1).*dx);
32 ydata = maxy - dy/2 - ((M -1:-1:0).*dy);
33
34 %Read image
35 data=double(flipud(imread(geotiffname)));
36 data(find(abs(data)>10^30))=NaN;
37end
38
39dataout = InterpFromGrid(xdata,ydata,data,X,Y);
40dataout(dataout==-9999)=NaN;
Note: See TracBrowser for help on using the repository browser.