Interpolation of Data on Different Grids

5 vues (au cours des 30 derniers jours)
David C
David C le 18 Nov 2014
Commenté : Samuel diabate le 24 Sep 2020
I have a 2-D data (ocean depth) on a latitude-longitude grid. (That is, the ocean depth is specified at each latitude and longitude. The latitude coordinates and longitude coordinates are separated by 1 deg each.) Question: How do I interpolate this data onto a fixed-distance grid (with an interval of, say, 100 m by 100 m)?
Thanks.

Réponse acceptée

Chad Greene
Chad Greene le 20 Nov 2014
The best way is to project the elevation data using an appropriate projection. Then interpolation should be no problem with interp2. Choosing a projection will depend on where the data lie on the globe (near the equator?, near the poles?) and how large an area the data spans. If your bathymetry data spans only a few hundred kilometers, perhaps a UTM projection is appropriate. There's a pretty good explanation of projections here. If you have the mapping toolbox, you can project and unproject with projfwd and projinv.
Another option, for a small area of the globe, could be to use interpm2 in the lat dimension to get an array of lats, use it again for the lon dimension, and call that your new grid. But again, this would only be appropriate for a small area of the globe where spacing between meridians does not change very much over the north-south extents of the data.
  3 commentaires
Chad Greene
Chad Greene le 20 Nov 2014
And if you don't have the mapping toolbox, m_map has several helpful functions.
Samuel diabate
Samuel diabate le 24 Sep 2020
Hello Chad.
Is it completely impossible to interpolate on the surface of a sphere without projecting?
What if your data spans the whole world for example - not my case but just asking - ?
Cheers,
Sam

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by