Hello,
There are "Georeferencing" Tools in the Georeferencing toolbar that might help.
View / Toolbars / Georeferencing
In the drop down list you have options to flip horizontally or vertically. I don't know if this will work if you have multiple polygons, but I imagine it would work with a single polygon.
I hope this helps!
# ------------------------------------------------------------------------- #Tool Name: Polygon_Mirror #Source Name: Polygon_mirror.py # ESRI SW Version: ArcGIS 10.0 # Application Version 1.0 #Author: Steven R. Lambert, ESRI, Inc. # #Revision(s): Version 1.0 Date: August 03, 2010 # # Input: Polygon feature class whise X,Y coordinates are to be reversed # (Supports multipart polygon features) # Output: Polygon featureclass with X,Y coordinates reversed # # ------------------------------------------------------------------------- # Import system modules import arcpy import sys import os import traceback import string def Reverse_XY(infc, outfc): # Reverses the X,Y coordianates of a polygon feature class (mirrors) # Test to see in infc & outfc exist if not arcpy.Exists(infc): AddMsgAndPrint("Input feature class not found") return if not arcpy.Exists(outfc): AddMsgAndPrint("Output feature class does not exists") return # Define cursors for input & output mrows = arcpy.SearchCursor(infc) mrow = mrows.next() fcrows = arcpy.InsertCursor(outfc) fcrow = fcrows.next() AddMsgAndPrint("Cursors Created...") # Update progress info in dialog box arcpy.SetProgressor("default") result = arcpy.GetCount_management(infc) count = int(result.getOutput(0)) fcount = 0 AddMsgAndPrint("Progressor Created...") # Create temporary geometry objects aPoly_Array = arcpy.Array() aPt = arcpy.Point() rPt = arcpy.Point() # For each discrete feature in the source feature set shapefieldname = arcpy.gp.Describe(infc).ShapeFieldName while mrow: fcount += 1 partnum = 0 aPoly = mrow.getValue(shapefieldname) partcount = aPoly.partCount # Update progressor message progressMessage = "Processing source feature: " + str(fcount) + " of " + str(count) arcpy.SetProgressorLabel(progressMessage) while partnum < partcount: part = aPoly.getPart(partnum) aPt = part.next() while aPt: rPt.X, rPt.Y = aPt.Y, aPt.X aPoly_Array.append(rPt) aPt = part.next() rPoly = fcrows.newRow() rPoly.Shape = aPoly_Array fcrows.insertRow(rPoly) partnum += 1 aPoly_Array.removeAll() mrow = mrows.next() return def AddMsgAndPrint(message): arcpy.AddMessage(message) print message return 0 # #+-------------------------------------------------------------------------------------+ # Main Process Loop #+-------------------------------------------------------------------------------------+ # Create the Geoprocessor object and set the overwrite setting arcpy.OverWriteOutput = True try: # # Input Parameters # # infc - input polygon feature class # outfc - output feature class infc = arcpy.GetParameterAsText(0) outfc = arcpy.GetParameterAsText(1) Reverse_XY(infc, outfc) AddMsgAndPrint("Polygon mirroring completed...") # Done except arcpy.ExecuteError: # Get the geoprocessing error messages msgs = arcpy.GetMessage(0) msgs += arcpy.GetMessages(2) # Return gp error messages for use with a script tool arcpy.AddError(msgs) # Print gp error messages for use in Python/PythonWin print msgs except: # Get the traceback object # tb = sys.exc_info()[2] tbinfo = traceback.format_tb(tb)[0] # Concatenate information together concerning the error into a # message string # pymsg = tbinfo + "\n" + str(sys.exc_type)+ ": " + str(sys.exc_value) # Return python error messages for use with a script tool # arcpy.AddError(pymsg) # Print Python error messages for use in Python/PythonWin # print pymsg