Accelerating the pace of engineering and science

# intrplat

Interpolate latitude at given longitude

## Syntax

newlat = intrplat(long,lat,newlong)
newlat = intrplat(long,lat,newlong,method)
newlat = intrplat(long,lat,newlong,method,units)

## Description

newlat = intrplat(long,lat,newlong) returns an interpolated latitude, newlat, corresponding to a longitude newlong. long must be a monotonic vector of longitude values. The actual entries must be monotonic; that is, the longitude vector [350 357 3 10] is not allowed even though the geographic direction is unchanged (use [350 357 363 370] instead). lat is a vector of the latitude values paired with each entry in long.

newlat = intrplat(long,lat,newlong,method) specifies the method of interpolation employed, listed in the table below.

MethodDescription
'linear'Linear, or Cartesian, interpolation (default)
'pchip'Piecewise cubic Hermite interpolation
'rh'Returns interpolated points that lie on rhumb lines between input data
'gc'Returns interpolated points that lie on great circles between input data

newlat = intrplat(long,lat,newlong,method,units) specifies the units used, where units is any valid angle units string. The default is 'degrees'.

The function intrplat is a geographic data analogy of the standard MATLAB® function interp1.

## Examples

Compare the results of the various methods:

```lats = [25 45]; longs = [30 60];
newlat = intrplat(longs,lats,45,'linear')

newlat =
35

newlat = intrplat(longs,lats,45,'rh')

newlat =
35.6213

newlat = intrplat(longs,lats,45,'gc')

newlat =
37.1991```

expand all

### Tips

There are separate functions for interpolating latitudes and longitudes, for although the cases are identical when using those methods supported by interp1, when latitudes and longitudes are treated like the spherical angles they are (using 'rh' or 'gc'), the results are different. Compare the example above to the example under intrplon, which reverses the values of latitude and longitude.