1 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
2 <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
3 <compounddef id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine" kind="class" prot="public">
4 <compoundname>boost::geometry::strategy::distance::haversine</compoundname>
5 <includes local="no">distance_haversine.hpp</includes>
6 <innerclass refid="structboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1_1calculation__type" prot="public">boost::geometry::strategy::distance::haversine::calculation_type</innerclass>
10 <declname>RadiusType</declname>
11 <defname>RadiusType</defname>
15 <declname>CalculationType</declname>
16 <defname>CalculationType</defname>
20 <sectiondef kind="private-type">
21 <memberdef kind="typedef" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a5e6cca09efcc7bd61337581360fd3236" prot="private" static="no">
22 <type><ref refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1comparable_1_1haversine" kindref="compound">comparable::haversine</ref>< RadiusType, CalculationType ></type>
23 <definition>typedef comparable::haversine<RadiusType, CalculationType> boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::comparable_type</definition>
24 <argsstring></argsstring>
25 <name>comparable_type</name>
29 </detaileddescription>
32 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="130" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="130" bodyend="-1"/>
35 <sectiondef kind="public-type">
36 <memberdef kind="typedef" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a8ac07dd35e737f53156eec8234f36f3a" prot="public" static="no">
37 <type>RadiusType</type>
38 <definition>typedef RadiusType boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::radius_type</definition>
39 <argsstring></argsstring>
40 <name>radius_type</name>
44 </detaileddescription>
47 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="138" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="138" bodyend="-1"/>
50 <sectiondef kind="private-attrib">
51 <memberdef kind="variable" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a81e80f52bd9afc522551f884b8397714" prot="private" static="no" mutable="no">
52 <type>RadiusType</type>
53 <definition>RadiusType boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::m_radius</definition>
54 <argsstring></argsstring>
59 </detaileddescription>
62 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="174" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="174" bodyend="-1"/>
65 <sectiondef kind="public-func">
66 <memberdef kind="function" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1aad71e6eac82c6fd2a1ee308c4bb3e33a" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
69 <type>typename Point1</type>
72 <type>typename Point2</type>
75 <type><ref refid="structboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1_1calculation__type" kindref="compound">calculation_type</ref>< Point1, Point2 >::type</type>
76 <definition>calculation_type<Point1, Point2>::type boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::apply</definition>
77 <argsstring>(Point1 const &p1, Point2 const &p2) const </argsstring>
80 <type>Point1 const &</type>
81 <declname>p1</declname>
84 <type>Point2 const &</type>
85 <declname>p2</declname>
88 <para>applies the distance calculation </para> </briefdescription>
90 <para><simplesect kind="return"><para>the calculated distance (including multiplying with radius) </para></simplesect>
91 <parameterlist kind="param"><parameteritem>
93 <parametername>p1</parametername>
95 <parameterdescription>
96 <para>first point </para></parameterdescription>
100 <parametername>p2</parametername>
102 <parameterdescription>
103 <para>second point </para></parameterdescription>
106 </para> </detaileddescription>
109 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="156" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="156" bodyend="162"/>
111 <memberdef kind="function" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a9fb4f56a1a94e4432c06cc91a3f996ef" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
113 <definition>boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::haversine</definition>
114 <argsstring>(RadiusType const &radius=1.0)</argsstring>
115 <name>haversine</name>
117 <type>RadiusType const &</type>
118 <declname>radius</declname>
122 <para>Constructor. </para> </briefdescription>
123 <detaileddescription>
124 <para><parameterlist kind="param"><parameteritem>
126 <parametername>radius</parametername>
128 <parameterdescription>
129 <para>radius of the sphere, defaults to 1.0 for the unit sphere </para></parameterdescription>
132 </para> </detaileddescription>
135 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="144" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="144" bodyend="146"/>
137 <memberdef kind="function" id="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a13e805220265954d343963abb3cdaf7b" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
138 <type>RadiusType</type>
139 <definition>RadiusType boost::geometry::strategy::distance::haversine< RadiusType, CalculationType >::radius</definition>
140 <argsstring>() const </argsstring>
143 <para>access to radius value </para> </briefdescription>
144 <detaileddescription>
145 <para><simplesect kind="return"><para>the radius </para></simplesect>
146 </para> </detaileddescription>
149 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="168" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="168" bodyend="171"/>
153 <para>Distance calculation for spherical coordinates on a perfect sphere using haversine. </para> </briefdescription>
154 <detaileddescription>
155 <para><parameterlist kind="templateparam"><parameteritem>
157 <parametername>RadiusType</parametername>
159 <parameterdescription>
160 <para>numeric type for radius (of sphere, earth) </para></parameterdescription>
164 <parametername>CalculationType</parametername>
166 <parameterdescription>
167 <para>numeric type for calculation (e.g. high precision); if [*void] then it is extracted automatically from the coordinate type and (if necessary) promoted to floating point </para></parameterdescription>
170 <simplesect kind="author"><para>Adapted from: <ulink url="http://williams.best.vwh.net/avform.htm">http://williams.best.vwh.net/avform.htm</ulink> </para></simplesect>
171 <simplesect kind="see"><para><ulink url="http://en.wikipedia.org/wiki/Great-circle_distance">http://en.wikipedia.org/wiki/Great-circle_distance</ulink> </para></simplesect>
172 <simplesect kind="note"><para>(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<itemizedlist>
173 <listitem><para>cos(lat1)*cos(lat2)*(sin((lon1-lon2) / 2))^2))</para></listitem></itemizedlist>
177 [link geometry.reference.algorithms.distance.distance_3_with_strategy distance (with strategy)]
178 </qbk> </para> </detaileddescription>
179 <location file="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" line="129" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/strategies/spherical/distance_haversine.hpp" bodystart="128" bodyend="175"/>
181 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1aad71e6eac82c6fd2a1ee308c4bb3e33a" prot="public" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>apply</name></member>
182 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a5e6cca09efcc7bd61337581360fd3236" prot="private" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>comparable_type</name></member>
183 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a9fb4f56a1a94e4432c06cc91a3f996ef" prot="public" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>haversine</name></member>
184 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a81e80f52bd9afc522551f884b8397714" prot="private" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>m_radius</name></member>
185 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a13e805220265954d343963abb3cdaf7b" prot="public" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>radius</name></member>
186 <member refid="classboost_1_1geometry_1_1strategy_1_1distance_1_1haversine_1a8ac07dd35e737f53156eec8234f36f3a" prot="public" virt="non-virtual"><scope>boost::geometry::strategy::distance::haversine</scope><name>radius_type</name></member>