ThinkGeo.com    |     Documentation    |     Premium Support

Unable to get EllipseShape or Circle when TrackMode set to Circle

Hi ThinkGeo folks,


Even though TrackOverlay has been set with Circle trackmode, the shapes being created as returned as Polygon instead of Ellipse.
Please see attached source code.
 
Regards,
Anil 

CircleTrackOverlay.zip (26.2 KB)

Anil, 
  
   The reason that we return a polygon is that circles and ellipses are not part of the simple well know specification.  We use that specification as the core for our features.  We include a EllipseShape as to facilitate easy creation of ellipses and circles but in the background it is still a polygon.  If you wanted to add this shape to a layer of some sort it would need to get converted to a polygon.  If you really need an ElipseShape you can do the following code below.  Just to let you know as soon as it gets converted to a feature it will revert to a polygon. 
  
             PolygonShape polygon = new PolygonShape(); //Get the polygon from somewhere else… 
             RectangleShape rectangle = polygon.GetBoundingBox(); 
             EllipseShape ellipse = new EllipseShape(rectangle.GetCenterPoint(), rectangle.Width, rectangle.Height); 
  
 David

Hi David, 
  
 Thanks for the explaination.  
  
 Is there a plan in the future to support true EllipseShape/Circle rather having the above exceptional behavior for EllipseShape features? 
  
 Regards, 
 Anil

Anil, 
  
   I was slightly incorrect.  When you create an EllipseShape then the shape itself is an ellipse stored in memory as a point / width/ height however when we go to convert it to a feature it is converted to a polygon.  All features follow the simple SQL feature specification. 
  
 The Short Answer: We will not in the near term support ellipses as features.   
  
 Alternate Solution:  One thing you could do if you really wanted to store ellipses is to store the ellipse as a rectangle and create an ellipse style to draw it.  In this way you can store the feature and when it draws it would always look like a perfect ellipse no matter how far you zoomed in or out.  The GoeCanvas does support drawing ellipses.  If you want we could create a demo of this to show you.  Can you describe why you need to store and display ellipses?  I am curious as usually with GIS application people use ellipses to doe spatial queries but rarely store them or use them as geographic features.  
  
 The Long Answer:  The problem with keeping it as an ellipse is that we use WKB and that standard has no representation of an ellipse.  It cannot be store as well in MS SQL, Oracle, PostGre, Shapefile, Tab, etc.  The ellipse is not a true geographic shape.  There have been extensions to support arcs and things like this but we have not implemented that.  It is part of the Feature Specification part 3 which deals with multimedia. 
  
 David