From b1fe2ad934516bd435a135c92ea4989ff9f48e63 Mon Sep 17 00:00:00 2001 From: Vissarion Fysikopoulos Date: Wed, 1 Nov 2017 20:02:49 +0200 Subject: [PATCH] [formulas] Use new distance function with meridian formula optimization everywhere in point-segment distance formula --- .../boost/geometry/formulas/distance_point_segment.hpp | 9 ++++----- .../strategies/geographic/distance_cross_track.hpp | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/boost/geometry/formulas/distance_point_segment.hpp b/include/boost/geometry/formulas/distance_point_segment.hpp index 8aa93eebc..04e1994c7 100644 --- a/include/boost/geometry/formulas/distance_point_segment.hpp +++ b/include/boost/geometry/formulas/distance_point_segment.hpp @@ -45,7 +45,6 @@ class distance_point_segment{ public: typedef typename FormulaPolicy::template inverse inverse_distance_quantities_type; - typedef typename FormulaPolicy::template inverse inverse_distance_type; typedef typename FormulaPolicy::template inverse inverse_azimuth_type; typedef typename FormulaPolicy::template inverse inverse_azimuth_reverse_type; typedef typename FormulaPolicy::template direct direct_distance_type; @@ -83,7 +82,8 @@ public: CT lon2, CT lat2, //p2 Spheroid const& spheroid) { - CT distance = geometry::strategy::distance::geographic::apply(lon1, lat1, lon2, lat2, spheroid); + CT distance = geometry::strategy::distance::geographic + ::apply(lon1, lat1, lon2, lat2, spheroid); return non_iterative_case(lon1, lat1, distance); } @@ -139,7 +139,6 @@ public: } //segment on equator - //TODO: use the meridian distance when it'll be available if (math::equals(lat1, c0) && math::equals(lat2, c0)) { #ifdef BOOST_GEOMETRY_DISTANCE_POINT_SEGMENT_DEBUG @@ -171,8 +170,8 @@ public: return non_iterative_case(lon1, lat2, d1); } - CT d2 = inverse_distance_type::apply(lon2, lat2, - lon3, lat3, spheroid).distance; + CT d2 = geometry::strategy::distance::geographic + ::apply(lon2, lat2, lon3, lat3, spheroid); // Compute a12 (GEO) geometry::formula::result_inverse res12 = diff --git a/include/boost/geometry/strategies/geographic/distance_cross_track.hpp b/include/boost/geometry/strategies/geographic/distance_cross_track.hpp index 872dad358..7c3e58b19 100644 --- a/include/boost/geometry/strategies/geographic/distance_cross_track.hpp +++ b/include/boost/geometry/strategies/geographic/distance_cross_track.hpp @@ -211,7 +211,7 @@ struct get_comparable::type comparable_type; public : static inline comparable_type - apply(geographic_cross_track const& strategy) + apply(geographic_cross_track const& ) { return comparable_type(); }