To avoid that problem you will have to use the Dice tool. That tool “Subdivides a feature into smaller features based on a specified vertex limit“*. (Only available to “Arcinfo” , “ArcGIS for Desktop Advanced” or “Arcgis for Server Advanced” users).
For example, if you have some geometries like these:
and apply them the Dice tool, you will get results like these:
The only problem is that the Dice tool could generate some invalid geometries (and the docs don’t tell you about it). Alternatives? Python / Arcpy to the rescue.
The following script does the following:
- Convert you features from multipart to singlepart.
- Dice your geometries
- Teplace the old data with the new generated features
- Check and repair the new invalid features
Easy, isn’t it?. You can tame those ugly godzillas with a little bit of python / arcpy.
If you need to do something similar using open source software, probably the best option is the function “ST_SubDivide” from postgis. The following post from Paul Ramsey gives you more details about it: “Subdivide All the Things“.