В этом примере показано, как использовать encodem
функция с точками seed, найденными с помощью getseeds
функционируйте, чтобы заполнить несколько многоугольников после того, как они будут с координатной сеткой. Пример извлекает данные для Индианы и ее окружающих состояний, и затем удаляет нежелательные области этих многоугольников с помощью maptrimp
.
Извлеките данные для Индианы и ее соседей путем передачи их имен в массиве ячеек к shaperead
.
pcs = {'Indiana', 'Michigan', 'Ohio', 'Kentucky', 'Illinois'}; centralUS = shaperead('usastatelo.shp',... 'UseGeoCoords', true,... 'Selector',{@(name)any(strcmpi(name,pcs),2), 'Name'}); meLat = [centralUS.Lat]; meLon = [centralUS.Lon];
Растеризируйте обрезанные многоугольники в разрешении с 1 минутой дуги (60 ячеек на степень), также дав вектор ссылки.
[meGrid, meRefVec] = vec2mtx(meLat, meLon, 60);
Настройте фигуру карты и отобразите бинарную сетку, которую вы только создали.
figure axesm eqdcyl geoshow(meLat, meLon, 'Color', 'black');
Используйте getseeds
функционируйте, чтобы выбрать пять точек seed, один в каждых из основ Индианы, Мичигана, Огайо, Кентукки и Иллинойса. getseeds
функционируйте изменяет курсор в крест нитей. Вы выбираете точки seed путем расположения курсора в государственной границе и щелчка мышью. getseeds
функция возвращает управление в командную строку после того, как вы выберете пять мест в окне рисунка.
[row,col,val] = getseeds(meGrid, meRefVec, 5, [3 4 5 6 7]);
Заполните каждое состояние уникальным значением, произведя новую сетку, с помощью encodem
функция.
meGrid5 = encodem(meGrid, [row col val], 1);
Отобразите meGrid5
видеть результат.
clma meshm(meGrid5, meRefVec)