Re: interpolation/gridding [message #59366 is a reply to message #4672] |
Thu, 20 March 2008 08:54   |
Spon
Messages: 178 Registered: September 2007
|
Senior Member |
|
|
On Mar 20, 12:20 pm, kishore1...@gmail.com wrote:
> On Mar 20, 5:45 am, wfz...@bjmb.gov.cn wrote:
>
>
>
>> On 3月20日, 上午4时36分, kishore1...@gmail.com wrote:
>
>>> Hi,
>
>>> I need some help about the IDL interpolation or gridding function.
>>> I have two data sets, both data sets are longitude x latitude wise in
>>> this one is regular and another is irregular wise. I will give example
>>> then you will get clear idea about my problem.
>
>>> Data1: irregular data1 set
>>> longitude1=[10.5,21.4,0.51,170.45,.......]= 600 points
>>> latitude1=[12.5,0.2,12.2,-10.2,-5.5,.......]= 600 points
>>> date1 =[21.32.12.45.13.45.2.34.1.23.]= 600 points
>
>>> Data2: regular grid model data sets (97 x 48)
>>> longitude2=[0.0,3.75,7.5,11.25......] = 97
>>> latitude2= [-87.15,-83.47,-79.77...] = 48
>>> data2= [97 x 48]
>
>>> I want to interpolate/grid the model(Data2) values to the nearest
>>> longitude1 x latitude1 (data1) sets.
>>> How to interpolate the model (data2) values to the data1 values.
>
>>> I am awaiting for your reply,
>
>>> Thanking you,
>
>>> Kishore
>
>> Hi,
>> I have some experience in griddata and interpolation.
>> I think you can griddata on data2 to make it become a new grid at
>> 600*600 points,and to have a look at the new grid data, which will be
>> a array of 600 *600, its value is near data1 or not.
>> just my person idea.
>
> Hi,
> Thanks for your idea, if a made a grid points 600 x 600 then how to
> get the nearest point to data1, because data1 is irregular grid.
>
> Kishore
Hi,
you should be able to grid to an irregular grid by calling GRIDDATA
with the /GRID, XOUT & YOUT keywords:
e.g.
grid = griddata(longitude2, latitude2, data2, /sphere, /degree, $
missing = !values.f_nan, $
/grid, xout = longitude1, yout = latitude1)
Hope this helps,
Chris
|
|
|