Отфильтруйте векторные данные, чтобы удалить нежелательные точки

Часто набор данных содержит нежелательные данные, смешанные в с требуемыми значениями. Например, ваши данные могут включать векторы, покрывающие целые Соединенные Штаты, но вы только хотите работать с теми, которые падают в Алабаме. Иногда набор данных содержит шум — возможно, три или четыре точки из нескольких тысяч являются очевидными ошибками (например, одна из ваших городских точек посреди океана). В таких случаях, определяя местоположение выбросов и ошибок в массивах данных может быть довольно утомительным.

Команда filterm использует сетку данных, чтобы отфильтровать векторный набор данных. Его вызывающая последовательность следующие:

[flats,flons] = filterm(lats,lons,grid,refvector,allowed)

Каждое местоположение, заданное lats и lons, сопоставлено с ячейкой в grid, и значение той ячейки сетки получено. Если то значение найдено в allowed, та точка выводится к flats и flons. В противном случае точка отфильтрована.

Сетка может закодировать политические модули, и позволенные значения могут быть кодом или кодами, индексирующими определенные состояния или страны (например, Алабама). Сетка может также быть с действительным знаком (например, повышения ландшафта), несмотря на то, что это могло быть неудобно задать все позволенные значения. Чаще, логические операторы или операторы отношения дают лучшие результаты для таких сеток, позволяя позволенному значению быть 1 (для true). Например, вы могли использовать это преобразование сетки topo:

[flats,flons] = filterm(lats,lons,double(topo>0),topolegend,1)

Вывод был бы теми точками в lats и lons, которые занимают сушу (в основном, потому что некоторые водные тела над уровнем моря).

Для получения дополнительной информации смотрите страницу с описанием filterm. Также смотрите Сетки Данных как Логические переменные и Векторы Для обрезки, чтобы Сохранить Многоугольные Закрашенные фигуры.