Hi,
Sorry for the obscure question but I have not found it as easy as you might imagine. I have some points in Lat & Long and these are accurate to 5 decimal places. An example location is 53.47500 and 0.22083 and i want to 'draw' a circle around this point with a radius of 5,000 metres which is simple enough using either the 'Trade Area' or 'Buffer' tools from the Spatial palette.
However, this is where I think the problems start as the circumference of the circle is not exactly 5,000 metres from the origin but appears to be accurate to +- 1.5 metres with half the circle being greater and the other half being smaller. This can be measured by splitting the object using the Poly-Split tool and then measuring the distance between the points using the 'Distance' tool. Is this the case or am I doing something wrong?
Also, I am limited to a circle drawn using 100 straight line segments and there is no way to change this within either of the actual 'circle drawing' tools. I can then use the 'Smooth' tools to increase the number of points used by up to a factor of 8 by selecting "Super Smooth" but this only works on the circle previously produced by the 'Trade Area' or 'Buffer' tools. It doesn't redraw the circle with more points and as such is forced to work within the limits of the circle provided to it.... If you "Super Smooth" the circle produced using the position above, and then split and assess the new distances between the centre and those now 800 points, it would appear that the error is now significantly increased and all the points are now inside the circumference. How can this be?
Does this mean that smoothing only affects the segment joins and not the straight lines between the points? I am sure that it doesn't improve the precision of the circle rendering.
So, how do I draw a circle that has a 5,000 metre radius?
How do I increase the number of points to a useful number like 360 - one point per degree?
Apologies for the long story but this is melting my mind....
Any and all help gratefully received.
Kind regards,
Peter
@PVousden121 I think this article may be helpful for you. You could take a similar approach but use a Generate Rows tool to yield the desired number of points (angles). Once you have the points generated, you could use the Poly-Build tool to create the trade area polygon.
https://community.alteryx.com/t5/Engine-Works/Dispersing-Spatial-Points/ba-p/381489
Hi @PVousden121,
The attached examples allow you to build a 360 point circle using bearing in 1 degree increments at a set distance. I can't take credit for the original bearing macro which was in miles, but I converted the macro to a KM version as well.
The workflows I built around the macro generate degrees 1-360 on the fly and find the 360 points at your desired distance in a circle around your original point. The final step creates a sequence circle polygon from the 360 points. Attached are workflows for KM and Miles.
Hi,
Many thanks for the great response as I really like your solution.
My problem was not the drawing of a circle as much as where the circle was drawn. I had the issue that the final point that were supposed to be on the circumference of a circle with radius of 5000 metres were 'only' 4991 metres from the centre of the circle. Having looked at and run your workflow with an additional 'Distance' tool added, I note that all your points are also 4991 from the centre.
I suppose the crux of my issue is why is this? Why aren't points that are 5000 metres away 'drawn' in the right location?
Many thanks again,
Peter
Hi @PVousden121,
After running some test cases on increasing radius distances (starting with 1-5 and then increasing scale to 10, 50, 100, 200, 500, 1000) I'm seeing an increasing difference in the results as the distance increases. It's possible that an underlying calculation is losing some precision at some point, which only shows a minimal impact across a short distance, but is more apparent as distance increases.
I don't have insight into the underlying code, so I suggest opening a Support ticket to report your findings.
Thanks,
Phil