# Split polygons programatically

I have looked through several other questions and am still having trouble. I have a set of 103 polygons that span my entire map. Each of those polygons is divided into 36 equal sized polygons. Now I need to iterate through each of those 36 squares, and split them into 100 equal squares. I've tried getting in contact with the person that split the first 103, but all efforts have failed. Can anyone point me in the right direction?

Fishnet seems to be out of the question as it spans the entire feature class, not the polygons.

I'm guessing I will be writing a python script. Any pointers would be appreciated!

-
I love the boustrophedonic numbering system! – whuber Jun 29 '12 at 14:54
Not by choice! Section numbers came from the county. They have been that way forever, and changing them on our system would give us unique identifiers. Kinda one of those "too late to change" deals. Like the United States and the Metric System. – Dean Grell Jun 29 '12 at 14:58

arcpy.CreateFishnet_management is the Python function

I'm going to assume, based on the picture, that there are small irregularities where the overall grid diverges from regular, and that you care about topology.

Would it be posssible to simply find the vertex coordinates of each of the 3708 small square polygons, using a loop create a separate 10x10 fishnet at those coordinates, and then merge them together with a Python script?

-
Everyone LOVES 100% accurate data...but we are just finding residents inside the resulting 528'x 528' squares. End result we will have a Township-Section-Grid number corresponding to each location, whereupon we can programatically update our maps. In the past we have been doing it using a printed off 100 square transparency overlay. We would plot the point, then overlay the transparency to see where it fell in the grid. Then number the point accordingly. An arduous task. Thanks Chris! This should get me where I need to be! – Dean Grell Jun 29 '12 at 15:05
OK, I have gotten to this point now. I can't get the fishnet to align properly, and perhaps it's just a coordinate issue. Here is what I am working with A little disclaimer...before today, I had never worked with Python before. Code may be messy! – Dean Grell Jun 29 '12 at 19:40
Try setting yAxisCoordinate = str(row.ET_X2) + " " + str(row.ET_Y2), based on vertex 2 instead of 1, or based on vertex 3 instead of 2, and tell me what you get. – MappingTomorrow Jun 29 '12 at 22:44

i think you can do it with some codes. check out here for splitting polygons with Split (Analysis):

Splitting the Input Features creates a subset of multiple output feature classes.

``````Syntax
Split_analysis (in_features, split_features, split_field, out_workspace, {cluster_tolerance})
``````

Examples:

``````import arcpy
arcpy.env.workspace = "c:/data"
arcpy.Split_analysis("Habitat_Analysis.gdb/vegtype", "climate.shp", "Zone",
"C:/output/Output.gdb", "1 Meters")
``````

i hope it helps you...

-
So what would my split_features look like? Would I just make one 10x10 grid of a random section? Thanks for the direction! – Dean Grell Jun 29 '12 at 14:50

Fishnet will only work if your plots are aligned. Splitting will not be helpful considering that - if I understood correctly - the result you are looking for is precisely the "split feature". You will have to write a script processing each polygon separately (to ensure ploygons id from 1 to 36 in each original plot). Here are some steps:

1. Set a loop for processing 1 polygon at a time (for example using Search Cursors + select be attribute)
2. Read the coordinates of the polygon (4 corners) (for a script example see http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Reading_geometries)
3. Check the orientation of the polygon (oriented northward or rotated)
4. Compute the fishNets, using LL and UL corners for non rotated polygons, Lower Y and Lower X coordinates for rotated ones.
5. Merge the resulting Fishnets for making a unique file

Hope this help.

-