Select to view content in your preferred language

# Split square polygon into triangles by orientation

3383
6
06-16-2016 09:08 AM
New Contributor

Hi guys. In ArcMap I´ve dataset counting quantities of square polygons created as buffer for points. Now, I need split this squares into same triangles for four quadrants by angles (North 315-45°, East 45-135°, South 135-225°, West 225-315°). Then I´ll calculate surface statistic for each orientation triangle. Please help, thank you.

Tags (4)
6 Replies
MVP Honored Contributor

This can be done using Python to create new polygons using the square centroid and the square vertices. If you want to go that route, please post your started script and we can go from there.

New Contributor

Darren, thank you for your quick reply. Problem is that i´m beginner with Arcmap and i never used Python. Isn´t there another way how to solve this step using simple tools?  If answer is no, best time to start study Python

MVP Emeritus

I think it would be easier, for whom ever wants to code this, is to modify the existing square buffer scripts (there are several), then you could simply rebuffer your input points and get the information.  It would be a bit more of a pain to split what exists in the orientations that you want...because someone else is likely to come along and say... I want the same thing but rather than the triangles, I want the 4 quadrants (or 8 triangles... etc etc).  It might also be interesting to buffer with hexagons since it would give your greater options and combinations of the directional sampling that can be employed since hexagons come in two forms (pointy head and flat head) and therefore would cover 15 degree increments if both were used to buffer.

There are a number of posts and blogs on square buffers and hexagons sampling frameworks that you might want to look at first before you settle on the X-sliced square.

New Contributor

Thanks. One more question. If i split diagonal one square polygon with "cut polygon tool" into four triangles, can i copy this for all polygons?

MVP Emeritus

if you are doing this in an edit session, manually, you can copy and paste ... but I guess it was assumed that you had many to do, hence, the code suggestion.  If the requirement is small in number, and the frequency of repetition is limited, then a manual solution will obviously be quicker.

MVP Regular Contributor

Slightly different approach: consider creating 2 rotated fishnet grids to use for clipping your original cell grid.  The first fishnet grid is rotated 45° and the second -45°.  The cell sizes of the rotated fishent grids must be the same as the longest side of a right triangle (Pyhtagoras: a² + b² = c²)  i.e. if your original cell size is 100x100, then your fishnet cell size is  141.42135623...  Then just do a spatial adjustment on both fishnets to fit on the original cell grid and run an Intersect.