Just one more thing .
One of the shapes I normally use is a point shape. There is not such an interface so what I do currently is to build degenerated circles (circles with radius equal to 0) when I need such a shape. Still looks weird to have GeoCircles when you are dealing with points.
My proposal is the following:
1) Add interface for point shapes which extends GeoCircle and GeoBBox. Not sure which name is appropiate but my take would be to call it GeoLatLonPoint.
2) Make GeoDegeneratedPoint implement this interface.
3) Add a factory to build GeoLatLonPoint .
I am adding athe patch shortly.