For part a) of your task (find center of an ellipse) i got a solution for a circle which should be the same for an ellipse:import arcgisscripting
gp = arcgisscripting.create(9.3)
print 'Geoprocessor initialised'
circle_path = ur'c:/test/circles.shp'
cursor = gp.SearchCursor(circle_path)
center_points = list()
# let's iterate over all rows in the circle shape
for row in iter(cursor.next, None):
# get the circle polygon
circle = row.shape
# get xmin, xmax etc.
x_min = circle.extent.XMin
y_min = circle.extent.YMin
x_max = circle.extent.XMax
y_max = circle.extent.YMax
center_x = x_max - x_min
center_y = y_max - y_min
center_points.append((center_x, center_y))
print center_points
If that works you only need a solution for b)