mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-09 23:24:02 +00:00
test: Add tests for equal points on antimeridian
This commit is contained in:
parent
c08dcd4a53
commit
3097cef828
@ -1,7 +1,8 @@
|
|||||||
// Boost.Geometry (aka GGL, Generic Geometry Library)
|
// Boost.Geometry (aka GGL, Generic Geometry Library)
|
||||||
// Unit test
|
// Unit test
|
||||||
|
|
||||||
// Copyright (c) 2015, Oracle and/or its affiliates.
|
// Copyright (c) 2015-2025, Oracle and/or its affiliates.
|
||||||
|
// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
|
||||||
|
|
||||||
// Licensed under the Boost Software License version 1.0.
|
// Licensed under the Boost Software License version 1.0.
|
||||||
// http://www.boost.org/users/license.html
|
// http://www.boost.org/users/license.html
|
||||||
@ -176,6 +177,33 @@ BOOST_AUTO_TEST_CASE( equals_point_point_se )
|
|||||||
>::apply("se");
|
>::apply("se");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
std::string to_string_with_precision(const T value, const int precision = 15)
|
||||||
|
{
|
||||||
|
std::ostringstream out;
|
||||||
|
out << std::fixed << std::setprecision(precision) << value;
|
||||||
|
return out.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_pp_rad(double half_pi)
|
||||||
|
{
|
||||||
|
using cs_radian = bg::cs::spherical_equatorial<bg::radian>;
|
||||||
|
using P = bgm::point<double, 2, cs_radian>;
|
||||||
|
|
||||||
|
test_geometry<P, P>("ser_pp_half_pi",
|
||||||
|
"POINT(" + to_string_with_precision(-half_pi) + " 0)",
|
||||||
|
"POINT(" + to_string_with_precision(half_pi) + " 0)", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE( equals_point_point_radian )
|
||||||
|
{
|
||||||
|
test_pp_rad(bg::math::d2r<float>() * 180);
|
||||||
|
// half pi value with less accuracy
|
||||||
|
test_pp_rad(-3.14159265358979);
|
||||||
|
// convert from degrees to radians with constant from epsg 4326 (WGS84)
|
||||||
|
test_pp_rad(0.017453292519943278 * 180);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE( equals_point_point_with_height_se )
|
BOOST_AUTO_TEST_CASE( equals_point_point_with_height_se )
|
||||||
{
|
{
|
||||||
typedef bg::cs::spherical_equatorial<bg::degree> cs_type;
|
typedef bg::cs::spherical_equatorial<bg::degree> cs_type;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user