+1 to the blog Sent from my iPhone
> On Sep 21, 2017, at 1:56 PM, Chris Mattmann <[email protected]> wrote: > > Awesome benchmarking Martin. > > Would you like to write an ASF blog post about this, CC’ing Sally… > > > > On 9/21/17, 4:13 AM, "Martin Desruisseaux" <[email protected]> > wrote: > > A comparison of Apache SIS and Proj.4 has been posted in two blob posts: > one on performance aspects [1] and one on accuracy aspects [2]. We have > not been able to perform an extensive comparison yet, but more tests may > happen in 2018. In the meantime, below is a summary of some points: > > * Proj.4 is generally faster than Apache SIS on Java 8, apparently > because trigonometric functions are slower in Java 8. > * Some (but not all) trigonometric functions are much faster in Java > 9, but we have not yet benchmarked SIS on Java 9. > * Despite above handicap, Apache SIS is sometime faster than Proj.4 > (400 times faster in an extreme case). This can be explained by more > extensive use of mathematical equivalences and runtime detection of > simplifications in Apache SIS. > * Apache SIS and Proj.4 are in close agreement for all tested > coordinate conversions (this category include map projections) on > Earth. > * Apache SIS and Proj.4 are sometime in disagreement by 1 or 2 meters > for coordinate transformations (this category include datum shifts). > o In the two cases were a disagreement is observed, Apache SIS is > conform to the parameters specified by the EPSG geodetic dataset. > o In one case, Proj.4 results are wrong by 0.9 ± 0.4 meter. This > is not a bug that could be easily fixed, but a Proj.4 > architectural issue ("early-binding" versus "late-binding" > approaches). More details are given in the blog post. > o In the other case, one can argue that Proj.4 is not wrong > provided that the difference between Apache SIS and Proj.4 > results are smaller than the stochastic errors associated to the > tested transformations. Apache SIS provides this information, > but not Proj.4. This lack of information makes difficult to > determine if the difference is acceptable or not. > * For Cylindrical Equal Area ("cea") projection on Jupiter (tested > because it is a more flattened planet than Earth): > o If Jupiter had the size of Earth (for easier distance > comparison), average Proj.4 error would be 90 meters. > o Apache SIS does not have this error; it keeps centimetric > precision. > > Those errors are not significant to everyone. But we need a way to tell > user if the library is delivering the accuracy that (s)he need, or if > (s)he got the operation for the right geographic area. Apache SIS > provides this information, notably through ISO 19162 (WKT 2) formatting. > This support is not yet widespread in other open source libraries. > > Martin > > [1] > https://www.geomatys.com/wordpress/index.php/2017/08/28/english-proj-4-versus-apache-sis-a-performance-comparison/?lang=en > [2] > https://www.geomatys.com/wordpress/index.php/2017/09/20/proj-4-versus-apache-sis-an-accuracy-comparison/?lang=en > > > >
