Re: [Boost-bugs] [Boost C++ Libraries] #11928: surveyor area method is inaccurate

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

 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: <>
Boost C++ Libraries <>
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