In Arcgis 10.
Use a arcpy.da.SearchCursor(...) to iterate over you point geometry. At this time you retrieve you x an y. After, use an Insert cursor to populate the geometry (polygon)... with your calculated offset.
import arcpy
gdb_path = "path_to_gdb.GDB"
name_fc_pts= "point"
name_fc_poly = "poly"
fc_pt = "{0}/{1}".format(gdb_path,name_fc_pts)
fc_poly="{0}/{1}".format(gdb_path,name_fc_poly)
if not arcpy.Exists(fc_poly):
arcpy.CreateFeatureclass_management(gdb_path,name_fc_poly,"POLYGON",fc_pt,None,None,arcpy.SpatialReference(32198)) # you must set you projection EPSG
else:
arcpy.TruncateTable_management(fc_poly) # to clear your previous result (optional)
cursor_poly = arcpy.da.InsertCursor(fc_poly, ["SHAPE@"])
with arcpy.da.SearchCursor(fc_pt, ["SHAPE@XY"]) as cursor_pt:
for row_pt in cursor_pt:
pt_x = float(row_pt[0][0])
pt_y = float(row_pt[0][1])
print pt_x,pt_y
array = arcpy.Array([arcpy.Point(pt_x, pt_y),
arcpy.Point(pt_x + 500, pt_y),
arcpy.Point(pt_x + 500, pt_y + 200)] )
cursor_poly.insertRow([arcpy.Polygon(array)])
del row_pt
del cursor_poly