I am working on a project where I need to find the center points of polygon shapes (or at least points that are close). In the attached image there are three examples where the red points are the ones I fount using .GetShape.GetCenterPoint and the blue points are what I am striving for. These points were found using a GIS software called Atlas. Two of these points line up well. the problem is with the third where the center point is outside of the polygon it represents. Is there a way to force center points to be within their parent shape?
If not, though it is not shown on the image, the labels for these shapes are close enough for my needs. Is there a way to find the points where labels are drawn?