ThinkGeo.com    |     Documentation    |     Premium Support

Draw a circle based on compass degrees

Using some examples and an existing algorithm, I was able to implement a feature where the user clicks on a spot inside an existing polygon and then draw a circle inside it, without the circle going outside the parents boundaries.  What I need now is allow the user to edit said circle based on three values.  The radius (which I should be able to figure out), start angle, and end angle.  I referenced the pie shape sample and that works if I was entering circle degrees.  However in our case the start and end angle’s are compass degrees.  So, for example, the user should be able to enter in 90 as the start angle, 360 as the end angle, and have it come out as the attached image.  And then if the user modifies the values again, it should correctly redraw the circle based on the re-entered values.  







Could someone help me with this?

Hi Scott,



I got a solution but not sure if I misunderstand what you want.

In fact, the circle is a polygon which consists of a lot of points. So, if we figure out all the points what we need, then we can get the circle polygon feature and draw it with InMemoryFeatureLayer. Based on the three parameters(radius, start angle, end angle and of course the center point), I don’t think that would be difficult to calculate those points which are fit for the condition. For example, we just need to find out the below points and then we should can draw it.



The more points we figure out on the arc, the more accurate the circle would be.



Hope it helps.

Thanks,

Johnny


I got what i needed.  thanks.

Hi Scott, 



Good to hear it helps. 



Johnny