Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11928: surveyor area method is inaccurate
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-01-25 22:40:34
#11928: surveyor area method is inaccurate
-----------------------------------------+---------------------------
Reporter: Charles Karney <charles@â¦> | Owner: barendgehrels
Type: Bugs | Status: new
Milestone: To Be Determined | Component: geometry
Version: Boost 1.58.0 | Severity: Problem
Resolution: | Keywords: area
-----------------------------------------+---------------------------
Comment (by awulkiew):
The name of the formula seems to be older than Wikipedia [1][2].
I haven't measured it but I'd rather guess that nowadays the most
expensive part in both cases is data access.
Furthermore I guess that in the case of the trapezium rule the result is
also not precise in general when coordinates are big. So I'd rather fight
with this issue by moving all of the coordinates closer to the origin of
the coordinate system before passing them into the strategy, so doing it
on the fly while calculating the area with any strategy. Similar technique
was used before to improve the precision of `centroid()`. This solution
should improve the precision of a function no matter what strategy was
used.
With that said I'm not against changing the formula. But should trapezium
rule be better in all cases or is there a reason why the old one could be
left as it was?
[1] Flint, Abel. "A System of Geometry and Trigonometry: together with a
treatise on surveying: teaching various ways of taking the survey of a
field; also to protract the same and find the area. Likewise, Rectangular
Surveying; Or, an accurate method of calculating the area of any field
arithmetically, without the necessity of plotting it.", 1808
[2] Braden, Bart. "The surveyorâs area formula.", 1986
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11928#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC