# How Create Fishnet works

Create Fishnet creates a feature class containing a net of rectangular cells. Creating a fishnet requires three basic pieces of information: the spatial extent of the fishnet, the number of rows and columns, and the angle of rotation. There are a variety of ways to specify this basic information. For example, you might not know the exact number of rows and columns, but you do know that each rectangular cell must be exactly 110 meters by 63 meters and must cover the spatial extent of another feature class.

The tool has 11 parameters, and you should think of these in four distinct groups:

- The spatial extent of fishnet
- The number of rows and columns and height and width of each cell in the fishnet
- The angle of rotation for the fishnet
- Parameters that define the output feature class name and type (polygons or lines) and an optional point dataset containing centroids of each cell

The order of the parameters in the tool dialog box is different than the order of the parameters in the scripting syntax.

## Methods for setting spatial extent

You can set the extent of the fishnet using any of the following methods:

- Enter an existing dataset in the Template Extent parameter. The extent of this dataset will be used as the extent of the fishnet.
- Instead of entering an existing dataset in the Template Extent parameter, supply both the minimum and maximum x- and y-coordinates.
- Enter an origin and opposite corner of the fishnet using the Fishnet Origin Coordinate and Opposite corner of Fishnet parameters.
- Enter an origin, cell size, and number of rows and columns in the Fishnet Origin Coordinate, Cell Size Width, Cell Size Height, Number of Rows, and Number of Columns parameters, respectively.

## Setting number of rows and columns

If you have set the extent of the fishnet using one of the first three methods described above, you will need to set the number of rows and columns. There are four methods to specify the number of rows and columns:

- Define the cell width and height with the Cell Size Width and Cell Size Height parameters and set the Number of Rows and Number of Columns parameters to 0. When the tool executes, it calculates the number of rows and columns needed to cover the extent of the fishnet.
- Define the cell width and height as above, but additionally enter the number of rows and columns.
- Define the number of rows and columns by setting the Number of Rows and Number of Columns parameters, and set the Cell Size Width and Cell Size Height parameters to 0. When the tool executes, it calculates the cell size width and height based on the number of rows and columns and the value of the Opposite corner of Fishnet parameter.
- Define the number of rows and columns as above, but additionally enter a cell size and width. When using this method, the Opposite corner of Fishnet parameter is ignored (in the tool dialog box, the parameter is unavailable). The opposite corner is calculated when the tool runs.

## Angle of rotation

To create a rotated fishnet, you define the angle of rotation not by specifying an angle but by specifying two endpoints of a line that will be used to calculate the angle. The angle of rotation is the angle between vertical and the line you define. The two endpoints are the fishnet origin coordinate and the y-axis coordinate, as illustrated below.

If you do not need to rotate the fishnet, set Y-Axis Coordinate to the minimum x-coordinate and a positive value on the vertical axis.

The following example shows a rotated fishnet constructed with the following parameter values:

- Fishnet Origin Coordinate = (0,0)
- Opposite corner of Fishnet = (8,- 6)
- Number of Rows = 3
- Number of Columns = 4
- Y-Axis Coordinate = (6.9,4)

When Create Fishnet is executed, it first constructs a nonrotated fishnet as illustrated below.

The next step is to compute the angle of rotation using values specified for Fishnet Origin Coordinate and Y-Axis Coordinate. In this example, the angle computes to 60 degrees.

The next step is to rotate the fishnet 60 degrees clockwise around the origin to obtain the final fishnet.

### Calculating a value for the y-axis coordinate

If you know the angle of rotation, you can compute a value for the Y-Axis Coordinate parameter as follows:

Assume the fishnet is to be rotated 60 degrees clockwise. From the origin of fishnet, draw a line such that it makes an angle of 60 degrees clockwise from the vertical axis (as shown in the diagram below). Any point on this line can be used as the value for the Y-Axis Coordinate parameter. Use a convenient value for the y-coordinate and calculate the x-coordinate from the relation (assuming the origin is at 0,0):

Tangent of angle = x-coordinate / y-coordinate

For example, the angle is 60 degrees. Assuming the y-coordinate to be 10, then

x-coordinate = tan(60) * 10 = 1.732 * 10 = 17.32

The y-axis coordinate point is (17.32,10).

## Output feature class

You can choose to create a line or polygon feature class. If you intend to overlay the fishnet with an existing dataset using tools in the Overlay toolset, choose POLYGON for the Geometry Type parameter. If you want a fishnet for display purposes, choose POLYLINE for the Geometry Type parameter. If you have a large number of cells, creating a fishnet with polygon geometry will be much slower than creating it with line geometry.

You can also create a point feature class by checking the Create Label Points parameter. The points will be located at the center of each cell. If you just want point output and nothing else, choose POLYLINE for the Geometry Type parameter (because it is the fastest way to construct a fishnet) and check the Create Label Points parameter. After the tool has finished, delete the output line feature class.