Интерполяция широты при заданной долготе
newlat = intrplat(long,lat,newlong)
newlat = intrplat(long,lat,newlong,method)
newlat = intrplat(long,lat,newlong,method,units)
newlat = intrplat(long,lat,newlong) возвращает интерполированную широту, newlat, соответствующий долготе newlong. long должен быть монотонным вектором значений долготы. Фактические значения должны быть монотонными; то есть вектор долготы [350 357 3 10] не допускается, даже если географическое направление не изменено (используйте [350 357 363 370] вместо этого). lat является вектором значений широты в паре с каждой записью в long.
newlat = intrplat(long,lat,newlong,method) задает method используемой интерполяции, перечисленной в таблице ниже.
| Метод | Описание |
|---|---|
'linear' | Линейная, или Декартова, интерполяция (по умолчанию) |
'pchip' | Кусочно-кубическая эрмитовая интерполяция |
'rh' | Возвращает интерполированные точки, которые лежат на ветвистых линиях между входными данными |
'gc' | Возвращает интерполированные точки, которые лежат на больших кругах между входными данными |
newlat = intrplat(long,lat,newlong,method,units) определяет используемые модули, где units - любой допустимый строковый скаляр модулей угла или вектор символов. Значение по умолчанию является 'degrees'.
Функция intrplat является географической аналогией данных стандарта MATLAB® функция interp1.
Сравните результаты различных методов:
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Существуют отдельные функции для интерполяции широт и долгот, поскольку, хотя случаи идентичны при использовании тех методов, поддерживаемых interp1, когда широты и долготы обрабатываются как сферические углы, они (использование 'rh' или 'gc'), результаты разные. Сравните пример выше с примером ниже intrplon, который обращает значения широты и долготы назад.