diff --git a/doc/doxy/Doxyfile b/doc/doxy/Doxyfile index 094b31aded..8a835c443e 100644 --- a/doc/doxy/Doxyfile +++ b/doc/doxy/Doxyfile @@ -101,6 +101,7 @@ ALIASES = qbk{1}="\xmlonly \1 \endxmlonly" \ details_calc{1}="The free function \1 calculates the \1 of a geometry" \ details_calc2{2}="The free function \1 calculates the \2 of two geometries" \ details_calc2{1}="The free function \1 calculates the \1 of two geometries" \ + details_free_function{3}="The free function [^\1] calculates the \2 \3 two geometries" \ details_check12{2}="The free function \1 checks if the first geometry \2 the second geometry" \ details_macro{2}="The macro \1 registers a \2 such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type." \ details_macro_const="The const version registers only read access to the fields, the point type is therefore read-only." \ diff --git a/doc/reference/algorithms/discrete_frechet_distance.qbk b/doc/reference/algorithms/discrete_frechet_distance.qbk index 2203dce389..1877aac4e7 100644 --- a/doc/reference/algorithms/discrete_frechet_distance.qbk +++ b/doc/reference/algorithms/discrete_frechet_distance.qbk @@ -11,8 +11,17 @@ [def __this_function__ discrete_frechet_distance] -[heading Behavior] -The algorithm calculate discrete frechet distance between two geometries. +[heading_conformance_no_ogc [^__this_function__]] +[note PostGIS contains an algorithm ST_FrechetDistance with similar functionality. + See the [@https://postgis.net/docs/ST_FrechetDistance.html PostGIS documentation]. +] + +[heading Supported geometries] + +[table +[[Geometries][Status]] +[[Linestring-Linestring][ [$img/ok.png] ]] +] [note The units of the distance depends on strategy. In order to change the default behavior a user has to create a strategy and pass it explicitly into diff --git a/doc/reference/algorithms/discrete_hausdorff_distance.qbk b/doc/reference/algorithms/discrete_hausdorff_distance.qbk index 9b4883017a..38fceb8260 100644 --- a/doc/reference/algorithms/discrete_hausdorff_distance.qbk +++ b/doc/reference/algorithms/discrete_hausdorff_distance.qbk @@ -11,8 +11,20 @@ [def __this_function__ discrete_hausdorff_distance] -[heading Behavior] -The algorithm calculate discrete hausdorff distance between two geometries. +[heading_conformance_no_ogc [^__this_function__]] +[note PostGIS contains an algorithm ST_HausdorffDistance with similar functionality. + See the [@https://postgis.net/docs/ST_HausdorffDistance.html PostGIS documentation]. +] + +[heading Supported geometries] + +[table +[[Geometries][Status]] +[[Linestring-Linestring][ [$img/ok.png] ]] +[[MultiPoint-MultiPoint][ [$img/ok.png] ]] +[[Point-MultiPoint][ [$img/ok.png] ]] +[[MultiLineString-MultiLinestring][ [$img/ok.png] ]] +] [note The units of the distance depends on strategy. In order to change the default behavior a user has to create a strategy and pass it explicitly into diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/boost.vsprops b/doc/src/docutils/tools/doxygen_xml2qbk/boost.vsprops deleted file mode 100644 index 6fcaf2c7a1..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/boost.vsprops +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp index 2a89c8c1da..1af3b4c7f3 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/deployment_path.vsprops b/doc/src/docutils/tools/doxygen_xml2qbk/deployment_path.vsprops deleted file mode 100644 index 02164b367f..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/deployment_path.vsprops +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp index 973f44981f..045fdb63e2 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_elements.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp index d774e2cece..e51a61b9d9 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp @@ -1,6 +1,6 @@ -// doxml2qbk (developed in the context of Boost.Geometry documentation) +// Doxygen XML to Quickbook Converter // -// Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2010-2024 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. // // This file was modified by Oracle on 2020. @@ -22,7 +22,6 @@ // using /xmlonly // currently this is the element which will make a reference // to an example. -// - currently still in draft #include #include diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.sln b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.sln deleted file mode 100644 index 5f1f115ea5..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doxygen_xml2qbk", "doxygen_xml2qbk.vcproj", "{81BDA0FD-D3BC-4693-A389-D3ABFAD19214}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {81BDA0FD-D3BC-4693-A389-D3ABFAD19214}.Debug|Win32.ActiveCfg = Debug|Win32 - {81BDA0FD-D3BC-4693-A389-D3ABFAD19214}.Debug|Win32.Build.0 = Debug|Win32 - {81BDA0FD-D3BC-4693-A389-D3ABFAD19214}.Release|Win32.ActiveCfg = Release|Win32 - {81BDA0FD-D3BC-4693-A389-D3ABFAD19214}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.vcproj b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.vcproj deleted file mode 100644 index 266b8e2f34..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.vcproj +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp index 5642bb2eb9..db2a3bfb01 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml_parser.hpp @@ -1,6 +1,6 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // -// Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2010-2024 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -358,6 +358,7 @@ static void copy_parameters_properties(Parameters const& source, Parameters& tar template static void parse_element(rapidxml::xml_node<>* node, configuration const& config, std::string const& parent, Element& el) { + bool parse_sub_nodes = true; if (node != NULL) { std::string name = node->name(); @@ -390,23 +391,6 @@ static void parse_element(rapidxml::xml_node<>* node, configuration const& confi el.location = loc; el.line = atol(get_attribute(node, "line").c_str()); } - else if (full == ".detaileddescription.para.qbk") - { - el.qbk_markup.push_back(markup(node->value())); - } - else if (full == ".detaileddescription.para.qbk.after.synopsis") - { - el.qbk_markup.push_back(markup(markup_after, markup_synopsis, node->value())); - } - else if (full == ".detaileddescription.para.qbk.before.synopsis") - { - el.qbk_markup.push_back(markup(markup_before, markup_synopsis, node->value())); - } - else if (full == ".detaileddescription.para.qbk.distinguish") - { - el.additional_description = node->value(); - boost::trim(el.additional_description); - } else if (full == ".templateparamlist") { parse_parameter_list(node->first_node(), config, el.template_parameters); @@ -458,9 +442,58 @@ static void parse_element(rapidxml::xml_node<>* node, configuration const& confi parse_parameter(node->first_node(), config, p); el.parameters.push_back(p); } + else if (boost::contains(full, ".qbk.")) + { + if (boost::ends_with(full, ".distinguish")) + { + // To distinguish betweeen function overloads + // Marked in the source code as, for example: + // \qbk{distinguish,with strategy} + // \qbk{distinguish, 2 coordinate values} + el.additional_description = node->value(); + boost::trim(el.additional_description); + parse_sub_nodes = false; + } + else if (boost::ends_with(full, ".synopsis")) + { + // To place the extra quickbook section before or after the synopsis. + // Marked in the source code as, for example: + // \qbk{before.synopsis + if (boost::contains(full, ".before.")) + { + el.qbk_markup.push_back(markup(markup_before, markup_synopsis, node->value())); + parse_sub_nodes = false; + } + else if (boost::contains(full, ".after.")) + { + el.qbk_markup.push_back(markup(markup_after, markup_synopsis, node->value())); + parse_sub_nodes = false; + } + else + { + std::cerr << "WARNING: Skipping: " << full << " with " << node->value() << std::endl; + } + } + else + { + // To make a quickbook section + // Marked in the source code as, for example: + // \qbk{[include reference/algorithms/area.qbk]} + // \qbk{heading Example} + // \qbk{heading See also} + // \qbk{ + // [include reference/algorithms/area.qbk] + // [heading Available Strategies] + // \* [link geometry.reference.strategies.strategy_area_cartesian Cartesian] + // ... + el.qbk_markup.push_back(markup(node->value())); + } + } - - parse_element(node->first_node(), config, full, el); + if (parse_sub_nodes) + { + parse_element(node->first_node(), config, full, el); + } parse_element(node->next_sibling(), config, parent, el); } } diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/file_to_string.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/file_to_string.hpp index 5af013056c..7190532227 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/file_to_string.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/file_to_string.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini b/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini deleted file mode 100644 index 6dbaa70062..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/for_debugger.ini +++ /dev/null @@ -1,13 +0,0 @@ -# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1d2_1_1point__xy.xml -# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1model_1_1polygon.xml -# xml=../../../../doxy/doxygen_output/xml/group__area.xml -# xml=../../../../doxy/doxygen_output/xml/classboost_1_1geometry_1_1strategy_1_1distance_1_1pythagoras.xml -# xml=../../../../doxy/doxygen_output/xml/group__get.xml - -xml=../../../../doxy/doxygen_output/xml/structboost_1_1geometry_1_1closeable__view.xml - -start_include=boost/geometry/ -convenience_header_path=../../../../../../../boost/geometry/ -convenience_headers=geometry.hpp,geometries/geometries.hpp -skip_namespace=boost::geometry:: - diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/parameter_predicates.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/parameter_predicates.hpp index 8d58709fbd..de82da3007 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/parameter_predicates.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/parameter_predicates.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp index 0f296e86f1..b77d7b9bd2 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/quickbook_output.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2015 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2015 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/rapidxml_util.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/rapidxml_util.hpp index eea1f463c1..c73c1c0846 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/rapidxml_util.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/rapidxml_util.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // // Copyright (c) 2010-2013 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2012-2013 Adam Wulkiewicz, Lodz, Poland. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/examples/apple_example.cpp b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/examples/apple_example.cpp index b97b676ed4..14a73f3f82 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/examples/apple_example.cpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/examples/apple_example.cpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // doxygen_xml2qbk Example // Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.cpp b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.cpp index e677cb1b32..df49ae4431 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.cpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.cpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // doxygen_xml2qbk Example // Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp index d67fe65ba8..795fa3f632 100644 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp +++ b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.hpp @@ -1,4 +1,4 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) +// Doxygen XML to Quickbook Converter // doxygen_xml2qbk Example // Copyright (c) 2011-2012 Barend Gehrels, Amsterdam, the Netherlands. diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.sln b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.sln deleted file mode 100644 index 7003de136c..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fruit", "fruit.vcproj", "{CCC26650-0FD5-4DD9-8B76-43DC2B8B0870}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CCC26650-0FD5-4DD9-8B76-43DC2B8B0870}.Debug|Win32.ActiveCfg = Debug|Win32 - {CCC26650-0FD5-4DD9-8B76-43DC2B8B0870}.Debug|Win32.Build.0 = Debug|Win32 - {CCC26650-0FD5-4DD9-8B76-43DC2B8B0870}.Release|Win32.ActiveCfg = Release|Win32 - {CCC26650-0FD5-4DD9-8B76-43DC2B8B0870}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.vcproj b/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.vcproj deleted file mode 100644 index b08192f463..0000000000 --- a/doc/src/docutils/tools/doxygen_xml2qbk/sample/src/fruit.vcproj +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/boost/geometry/algorithms/detail/distance/interface.hpp b/include/boost/geometry/algorithms/detail/distance/interface.hpp index 5fdb66beaf..f903c5cee4 100644 --- a/include/boost/geometry/algorithms/detail/distance/interface.hpp +++ b/include/boost/geometry/algorithms/detail/distance/interface.hpp @@ -297,7 +297,7 @@ struct distance /*! -\brief Calculate discrete Frechet distance between two geometries (currently - works for LineString-LineString) using specified strategy. +\brief \brief_calc2{discrete Frechet distance, between} \brief_strategy +\details \details_free_function{discrete_frechet_distance, discrete Frechet distance, between}. \ingroup discrete_frechet_distance \tparam Geometry1 \tparam_geometry \tparam Geometry2 \tparam_geometry -\tparam Strategy A type fulfilling a DistanceStrategy concept -\param geometry1 Input geometry -\param geometry2 Input geometry -\param strategy Distance strategy to be used to calculate Pt-Pt distance +\tparam Strategy \tparam_strategy{Distance} +\param geometry1 \param_geometry +\param geometry2 \param_geometry +\param strategy \param_strategy{point to point distance} \qbk{distinguish,with strategy} \qbk{[include reference/algorithms/discrete_frechet_distance.qbk]} @@ -242,7 +242,8 @@ struct discrete_frechet_distance [heading Available Strategies] \* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)] \* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)] -[/ \* more (currently extensions): Vincenty\, Andoyer (geographic) ] +\* One of the geographic point to point strategies + [heading Example] [discrete_frechet_distance_strategy] @@ -263,13 +264,13 @@ inline auto discrete_frechet_distance(Geometry1 const& geometry1, // Algorithm overload using default Pt-Pt distance strategy /*! -\brief Calculate discrete Frechet distance between two geometries (currently - work for LineString-LineString). +\brief \brief_calc2{discrete Frechet distance, between} +\details \details_free_function{discrete_frechet_distance, discrete Frechet distance, between}. \ingroup discrete_frechet_distance \tparam Geometry1 \tparam_geometry \tparam Geometry2 \tparam_geometry -\param geometry1 Input geometry -\param geometry2 Input geometry +\param geometry1 \param_geometry +\param geometry2 \param_geometry \qbk{[include reference/algorithms/discrete_frechet_distance.qbk]} diff --git a/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp b/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp index 9e08c761ae..b2f787579c 100644 --- a/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp +++ b/include/boost/geometry/algorithms/discrete_hausdorff_distance.hpp @@ -314,16 +314,15 @@ struct discrete_hausdorff_distance /*! -\brief Calculate discrete Hausdorff distance between two geometries (currently - works for LineString-LineString, MultiPoint-MultiPoint, Point-MultiPoint, - MultiLineString-MultiLineString) using specified strategy. +\brief \brief_calc2{discrete Hausdorff distance, between} \brief_strategy +\details \details_free_function{discrete_hausdorff_distance, discrete Hausdorff distance, between}. \ingroup discrete_hausdorff_distance \tparam Geometry1 \tparam_geometry \tparam Geometry2 \tparam_geometry -\tparam Strategy A type fulfilling a DistanceStrategy concept -\param geometry1 Input geometry -\param geometry2 Input geometry -\param strategy Distance strategy to be used to calculate Pt-Pt distance +\tparam Strategy \tparam_strategy{Distance} +\param geometry1 \param_geometry +\param geometry2 \param_geometry +\param strategy \param_strategy{point to point distance} \qbk{distinguish,with strategy} \qbk{[include reference/algorithms/discrete_hausdorff_distance.qbk]} @@ -332,7 +331,7 @@ struct discrete_hausdorff_distance [heading Available Strategies] \* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)] \* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)] -[/ \* more (currently extensions): Vincenty\, Andoyer (geographic) ] +\* One of the geographic point to point strategies [heading Example] [discrete_hausdorff_distance_strategy] @@ -351,14 +350,13 @@ inline auto discrete_hausdorff_distance(Geometry1 const& geometry1, } /*! -\brief Calculate discrete Hausdorff distance between two geometries (currently - works for LineString-LineString, MultiPoint-MultiPoint, Point-MultiPoint, - MultiLineString-MultiLineString). +\brief \brief_calc2{discrete Hausdorff distance, between} +\details \details_free_function{discrete_hausdorff_distance, discrete Hausdorff distance, between}. \ingroup discrete_hausdorff_distance \tparam Geometry1 \tparam_geometry \tparam Geometry2 \tparam_geometry -\param geometry1 Input geometry -\param geometry2 Input geometry +\param geometry1 \param_geometry +\param geometry2 \param_geometry \qbk{[include reference/algorithms/discrete_hausdorff_distance.qbk]} diff --git a/include/boost/geometry/strategies/spherical/distance_haversine.hpp b/include/boost/geometry/strategies/spherical/distance_haversine.hpp index 389277259c..2b540c167b 100644 --- a/include/boost/geometry/strategies/spherical/distance_haversine.hpp +++ b/include/boost/geometry/strategies/spherical/distance_haversine.hpp @@ -124,13 +124,6 @@ on a perfect sphere using haversine \tparam CalculationType \tparam_calculation \author Adapted from: http://williams.best.vwh.net/avform.htm \see http://en.wikipedia.org/wiki/Great-circle_distance -\note (from Wiki:) The great circle distance d between two -points with coordinates {lat1,lon1} and {lat2,lon2} is given by: - d=acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2)) -A mathematically equivalent formula, which is less subject - to rounding error for short distances is: - d=2*asin(sqrt((sin((lat1-lat2) / 2))^2 - + cos(lat1)*cos(lat2)*(sin((lon1-lon2) / 2))^2)) \qbk{ [heading See also] [link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]