Rasterize Polygons Interactively

This example shows how to use the `encodem` function with seed points found using the `getseeds` function to fill multiple polygons after they are gridded. The example extracts data for Indiana and its surrounding states, and then deletes unwanted areas of these polygons using `maptrimp` .

Extract data for Indiana and its neighbors by passing their names in a cell array to `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];```

Rasterize the trimmed polygons at a 1-arc-minute resolution (60 cells per degree), also producing a referencing vector.

`[meGrid, meRefVec] = vec2mtx(meLat, meLon, 60);`

Set up a map figure and display the binary grid you just created.

```figure axesm eqdcyl geoshow(meLat, meLon, 'Color', 'black'); ```

Use the `getseeds` function to select five seed points, one in each of the outlines of Indiana, Michigan, Ohio, Kentucky, and Illinois. The `getseeds` function changes the cursor to a cross-hairs. You pick seed points by positioning the cursor within a state boundary and clicking the mouse. The `getseeds` function returns control to the command prompt after you pick five locations in the figure window.

`[row,col,val] = getseeds(meGrid, meRefVec, 5, [3 4 5 6 7]);`

Fill each state with a unique value, producing a new grid, using the `encodem` function.

`meGrid5 = encodem(meGrid, [row col val], 1);`

Display `meGrid5` to see the result.

```clma meshm(meGrid5, meRefVec)```

Get trial now