exponenta event banner

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