8

I'm working on this project and I need a grid with a certain rotation, at about 60 degrees, for example.

Starting from that I need to make a block of 20mx50m, and the last thing is that inside each block there must be a small set of sub-blocks.

The result is this:

enter image description here

Of course it's been done manually, but I was thinking of a way of making it done automatically because I must do 30 blocks like this one, maybe more, and it is consuming a lot of my time.

  • 1
    Please embed images inside the question, vice linking, so that the screenshot is less likely to disappear over time. – Vince Sep 22 '14 at 19:05
  • 2
    Create Fishnet (Data Managment) will create a polygon feature class, but you're on your own for sub-blocks help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… – Vince Sep 22 '14 at 19:06
  • 1
    Look again at the Y_axis_coord parameter. It defines the orientation of the fishnet. – Vince Sep 22 '14 at 19:34
  • 1
    In order to set an angle, you need to do a little math as explained on the How Create Fishnet Works page. The angle is set using the line that connects the origin to the entered y-axis coordinate. Also, rather than working in with your grid you might try working out - create the smallest grid first, then use a Dissolve, Aggregate Polygons, or even copy and merge to create your larger grids. – Chris W Sep 22 '14 at 19:39
  • 2
    @ChrisW I think you should write that up as the answer. I had not seen that part of the documentation and it is quite explicit. – PolyGeo Sep 22 '14 at 22:27
8

As Vince said, the Create Fishnet tool is what you want to use. At the top of that help page in the summary section is a link to the How Create Fishnet Works page. Note that the main help page for most tools has a chart outlining various parameters, but many of them have such a 'how it works' link the same place that explains in more detail, often with graphic examples.

The how it works page explains how to set an angle to your fishnet by setting an origin for the fishnet and then giving the coordinate of a point on a line the y axis will match to which passes through the origin at a desired angle. If you wanted 45 degrees and your origin is 0,0 then your y axis coordinate would be 1,1 (or 2,2 or 33,33 or whatever). Note you may need to give negative values for some coordinates to get it to rotate in the desired direction. For example -1,1 would rotate counter-clockwise, while 1,1 would rotate clockwise.

The example given on the how it works page uses the math formula tan (angle) = x coord / y coord. However, if you don't want to do the math or need to set your origin at a different point than the CRS origin, there's a step to take prior to starting the fishnet tool to get your y-axis coordinate. Create a line feature snapping and clicking once at the desired point for the origin to start the line, then right-click and choose Direction. Enter the angle you want (note how this is entered may vary with how your Editor Options are set regarding Units, specifically angles, and the negative value thing above come into play here as well), drag out to lengthen the line and then click or F2 to finish it. You can then get the x,y of the endpoint or any point on the line and use that x,y as your y axis coordinate in the fishnet tool. You'll also have to note the x,y of the point you want to use as your origin to enter those coordinates, since the tool doesn't allow for click input.

Yet another way to rotate it without doing so within the fishnet tool is as johns mentions. Create the fishnet to be the dimensions you want but don't worry about angle. When finished, select all of the lines or polygons. Holding down on the control key, move the mouse over the little x at the center of everything selected. When the cursor changes, click and drag the x to the origin about which you want to rotate everything (note if you deselect things that control point reverts to the center and you'll have to move it again). Then click the Rotate tool (dot with a circular blue arrow around it) on the Editor toolbar, hit the 'a' key, and enter the desired rotation angle.

As a final note, what I mentioned in my comment. If you're trying to create sub-grids you can either work in (creating the largest cells first), or work outward (creating the smallest cells first). It might be easier to do the latter and then select the grid squares that make up a single, larger grid square and use Aggregate Polygons, Dissolve, or Copy then Merge. The different sizes are probably best kept as separate layers for ease of use. You could also just run the fishnet tool multiple times with the same origin and y axis coordinate, and adjust the cell dimensions and row/column count to get the appropriate number of subdivisions in each grid.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.