interp

Географическая интерполяция данных

Описание

interpvalue = interp(pd,lat,lon) возвращает интерполированные значения из данных о распространении для каждой точки запроса, заданной в векторах широты и долготы. Интерполяция выполняется с помощью метода интерполяции данных, имеющий разброс. Значения, соответствующие точкам запроса за пределами области данных, присвоены NaN.

пример

interpvalue = interp(pd,Name,Value) возвращает интерполированные значения с дополнительными опциями, заданными аргументами пары "имя-значение".

Примеры

свернуть все

Задайте названия и местоположение сайтов вокруг Бостона.

names = ["Fenway Park","Faneuil Hall","Bunker Hill Monument"];
lats = [42.3467,42.3598,42.3763];
lons = [-71.0972,-71.0545,-71.0611];

Создайте массив ретрансляторов.

txs = txsite("Name", names,...
       "Latitude",lats,...
       "Longitude",lons, ...
       "TransmitterFrequency",2.5e9);

Вычислите данные о мощности приемника для каждого ретранслятора.

maxr = 20000;
pd1 = coverage(txs(1),"MaxRange",maxr);
pd2 = coverage(txs(2),"MaxRange",maxr);
pd3 = coverage(txs(3),"MaxRange",maxr);

Вычислите прямоугольник, содержащий местоположения всех данных.

locs = [location(pd1); location(pd2); location(pd3)];
[minlatlon, maxlatlon] = bounds(locs);

Создайте сетку местоположений по прямоугольнику.

gridlength = 300;
latv = linspace(minlatlon(1),maxlatlon(1),gridlength);
lonv = linspace(minlatlon(2),maxlatlon(2),gridlength);
[lons,lats] = meshgrid(lonv,latv);
lats = lats(:);
lons = lons(:);

Получите данные для каждого передатчика в местоположениях сетки с помощью интерполяции.

v1 = interp(pd1,lats,lons);
v2 = interp(pd2,lats,lons);
v3 = interp(pd3,lats,lons);

Создайте данные о распространении, содержащие минимальные значения мощности приемника.

minReceivedPower = min([v1 v2 v3],[],2,"includenan");
pd = propagationData(lats,lons,"MinReceivedPower",minReceivedPower);

Постройте минимальную мощность приемника, которая показывает самый слабый сигнал, полученный от любого ретранслятора. Показанная область может соответствовать зоне обслуживания триангуляции с помощью этих трех ретрансляторов.

sensitivity = -110;
contour(pd,"Levels",sensitivity:-5,"Type","power")

Входные параметры

свернуть все

Данные о распространении в виде propagationData объект.

Значения координаты широты в виде вектора в десятичных градусах со ссылкой на эллипсоид Земли. модель WGS-84. Координаты широты должны быть в области значений [-90 90].

Значения координаты долготы в виде вектора в десятичных градусах со ссылкой на эллипсоид Земли. модель WGS-84.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Method','linear'

Переменная данных, чтобы интерполировать в виде разделенной запятой пары, состоящей из 'DataVariableName' и вектор символов или строковый скаляр, соответствующий имени переменной в таблице данных раньше, создавали propagationData контейнерный объект. Значением по умолчанию является DataVariableName свойство в propagationData.

Типы данных: char | string

Метод раньше интерполировал данные в виде запятой, разделенной парный состоящий 'Method' и одно из следующего:

  • 'natural' - Естественная соседняя интерполяция

  • 'linear' - Линейная интерполяция

  • 'nearest' Интерполяция по ближайшему соседу

Типы данных: char | string

Выходные аргументы

свернуть все

Интерполированные значения из данных о распространении для каждой точки запроса, заданной в векторах широты и долготы, возвращенных как числовой вектор.

Введенный в R2020a