mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-12 05:51:47 +00:00
Added test/algorithms/overlay/ccw_traverse.cpp to test counterclockwise polygon overlays Added test/algorithms/overlay to standards Jamfile.v2 Moved some testcases to overlay_cases.hpp Some warning removals in test cases [SVN r65913]
399 lines
31 KiB
C++
399 lines
31 KiB
C++
#ifndef BOOST_GEOMETRY_TEST_OVERLAY_CASES_HPP
|
|
#define BOOST_GEOMETRY_TEST_OVERLAY_CASES_HPP
|
|
|
|
// Boost.Geometry (aka GGL, Generic Geometry Library) test file
|
|
//
|
|
// Copyright Barend Gehrels 2007-2009, Geodan, Amsterdam, the Netherlands
|
|
// Use, modification and distribution is subject to the Boost Software License,
|
|
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
|
#include <string>
|
|
|
|
// See powerpoint
|
|
|
|
static std::string case_1[2] = {
|
|
"POLYGON((0 1,2 5,5 3,0 1))",
|
|
"POLYGON((3 0,0 3,4 5,3 0))" };
|
|
|
|
static std::string case_2[2] = {
|
|
"POLYGON((0 2,2 5,5 3,3 0,0 2))",
|
|
"POLYGON((0 4,4 5,5 1,1 0,0 4))" };
|
|
|
|
static std::string case_3[2] = {
|
|
"POLYGON((1 2,2 4,4 3,3 1,1 2))",
|
|
"POLYGON((1 1,1 4,4 4,4 1,1 1))" };
|
|
|
|
|
|
static std::string case_4[2] = {
|
|
"POLYGON((0 2,2 5,5 3,3 0,0 2))",
|
|
"POLYGON((0 4,4 5,5 1,1 0,0 4),(1 1,2 1,2 2,1 2,1 1),(3 3,4 3,4 4,3 4,3 3))" };
|
|
|
|
static std::string case_5[2] = {
|
|
"POLYGON((0 4,1 5,2.5 4,3.5 5,5 4,4 3,5 2,4 1,3.5 0,3 1,2.5 0,2 1,1.5 0,1 3.5,0.25 3,1 2.5,0 2,0 4))",
|
|
"POLYGON((0.5 0.5,0.5 4.5,4.5 4.5,4.5 0.5,0.5 0.5))"
|
|
};
|
|
|
|
static std::string case_6[2] = {
|
|
"POLYGON((0 1,2 5,5 2,0 1))",
|
|
"POLYGON((1 3,2 5,5 2,1 3))" };
|
|
|
|
static std::string case_7[2] = {
|
|
"POLYGON((0 1,1 3,5 2,0 1))",
|
|
"POLYGON((1 3,2 5,5 2,1 3))" };
|
|
|
|
static std::string case_8[2] = {
|
|
"POLYGON((0 0,0 4,4 0,0 0))",
|
|
"POLYGON((1 3,4 4,3 1,1 3))" };
|
|
|
|
static std::string case_9[2] = {
|
|
"POLYGON((0 0,0 4,4 0,0 0))",
|
|
"POLYGON((2 2,2 4,5 4,2 2))" };
|
|
|
|
static std::string case_10[2] = {
|
|
"POLYGON((0 0,2 4,4 0,0 0))",
|
|
"POLYGON((1 2,2 5,3 2,2 4,1 2))" };
|
|
|
|
static std::string case_11[2] = {
|
|
"POLYGON((0 0,0 4,4 0,0 0))",
|
|
"POLYGON((1 2,2 2,2 1,1 1))" };
|
|
|
|
static std::string case_12[2] = {
|
|
"POLYGON((0 1,1 4,2 2,3 4,4 1,0 1))",
|
|
"POLYGON((0 3,2 4,4 3,0 3))" };
|
|
|
|
static std::string case_13[2] = {
|
|
"POLYGON((0 1,1 2,3 0,0 1))",
|
|
"POLYGON((0 3,2 3,2 1,0 3))" };
|
|
|
|
static std::string case_14[2] = {
|
|
"POLYGON((0 0,0 4,2 2,4 0,0 0))",
|
|
"POLYGON((1 3,4 4,3 1,1 3))" };
|
|
|
|
static std::string case_15[2] = {
|
|
"POLYGON((0 0,0 4,1.5 2.5,2.5 1.5,4 0,0 0))",
|
|
"POLYGON((1 3,4 4,3 1,1 3))" };
|
|
|
|
static std::string case_16[2] = {
|
|
"POLYGON((1 2,3 4,2 1,1 2))",
|
|
"POLYGON((1 0,1 2,2 1,3 4,2 3,3 5,4 0,1 0))" };
|
|
|
|
static std::string case_17[2] = {
|
|
"POLYGON((0 0,0 4,4 0,0 0))",
|
|
"POLYGON((1 1,1 3,3 1,1 1))" };
|
|
|
|
static std::string case_18[2] = {
|
|
"POLYGON((0 0,0 4,1.5 2.5,2.5 1.5,4 0,0 0))",
|
|
"POLYGON((1 1,1 3,3 1,1 1))" };
|
|
|
|
static std::string case_19[2] = {
|
|
"POLYGON((2 0,1 3,5 2,2 0))",
|
|
"POLYGON((1 3,2 5,5 2,1 3))" };
|
|
|
|
static std::string case_20[2] = {
|
|
"POLYGON((2 0,1 3,5 2,2 0))",
|
|
"POLYGON((2 0,1 3,5 2,2 0))" };
|
|
|
|
static std::string case_21[2] = {
|
|
"POLYGON((1 0,0 5,5 2,1 0),(2 1,3 2,1 3,2 1))",
|
|
"POLYGON((2 1,1 3,3 2,2 1))" };
|
|
|
|
static std::string case_22[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((2 4,5 5,4 2,2 4))" };
|
|
|
|
static std::string case_23[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((3 3,4 2,1 1,3 3))" };
|
|
|
|
static std::string case_24[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((2 2,4 2,1 1,2 2))" };
|
|
|
|
static std::string case_25[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((3 1,4 2,5 0,3 1))" };
|
|
|
|
static std::string case_26[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((3 1,4 2,5 4,4 0,3 1))" };
|
|
|
|
static std::string case_27[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((1 1,4 2,5 0,1 1))" };
|
|
|
|
static std::string case_28[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((1 1,4 2,5 4,5 0,1 1))" };
|
|
|
|
static std::string case_29[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((4 4,5 1,4 2,1 1,4 4))" };
|
|
|
|
static std::string case_30[2] = {
|
|
"POLYGON((1 0,0 3,2 2,3 3,1 0))",
|
|
"POLYGON((1 2,2 2,2 4,4 3,3 1,1 2))" };
|
|
|
|
static std::string case_31[2] = {
|
|
"POLYGON((0 0,0 3,2 2,0 0))",
|
|
"POLYGON((4 1,2 2,3 3,4 1))" };
|
|
|
|
static std::string case_32[2] = {
|
|
"POLYGON((0 0,0 3,2 2,0 0))",
|
|
"POLYGON((4 1,3 0,2 2,4 1))" };
|
|
|
|
static std::string case_33[2] = {
|
|
"POLYGON((0 0,0 3,2 2,0 0))",
|
|
"POLYGON((3 3,3 0,2 2,3 3))" };
|
|
|
|
static std::string case_34[2] = {
|
|
"POLYGON((2 0,0 3,4 2,2 0))",
|
|
"POLYGON((2 1,4 2,5 3,4 1,2 1))" };
|
|
|
|
static std::string case_35[2] = {
|
|
"POLYGON((1 0,0 3,5 3,4 2,5 1,1 0))",
|
|
"POLYGON((2 2,4 2,4 1,2 2))" };
|
|
|
|
static std::string case_36[2] = {
|
|
"POLYGON((1 0,0 3,4 2,1 0))",
|
|
"POLYGON((1 5,5 5,4 2,3 3,2 1,1 2,1 5))" };
|
|
|
|
static std::string case_37[2] = {
|
|
"POLYGON((4 0,2 2,5 5,4 0))",
|
|
"POLYGON((0 2,4 3,2 2,4 1,0 2))" };
|
|
|
|
static std::string case_38[2] = {
|
|
"POLYGON((4 0,3 3,2 2,4 5,5 2,4 0))",
|
|
"POLYGON((1 1,1 3,4 4,3 3,4 2,1 1))" };
|
|
|
|
static std::string case_39[2] = {
|
|
"POLYGON((0 4,4 8,7 7,8 4,5 3,4 0,0 4))",
|
|
"POLYGON((0 4,4 8,5 5,8 4,7 1,4 0,0 4))" };
|
|
|
|
static std::string case_40[2] = {
|
|
"POLYGON((0 1,1 2,2 1,3 2,4 1,5 2,4 0,2 0,0 1))",
|
|
"POLYGON((0 3,2 4,4 4,5 2,4 3,3 2,2 3,1 2,0 3))" };
|
|
|
|
static std::string case_41[2] = {
|
|
"POLYGON((3 1,1 4,3 3.5,5 3,3 1))",
|
|
"POLYGON((3 1,1 4,5 3,4 2,3 1))" };
|
|
|
|
static std::string case_42[2] = {
|
|
"POLYGON((3 1,1 4,3 3.5,5 3,5 3,3 1))",
|
|
"POLYGON((3 1,1 4,1 4,5 3,4 2,3 1))" };
|
|
|
|
// keyholing
|
|
static std::string case_43[2] = {
|
|
"POLYGON((1 2,1 1,2 1,2 2.25,3 2.25,3 0,0 0,0 3,3 3,2.75 2,1 2))",
|
|
"POLYGON((1.5 1.5,1.5 2.5,2.5 2.5,2.5 1.5,1.5 1.5))" };
|
|
// self-tangency
|
|
|
|
static std::string case_44[2] = {
|
|
"POLYGON((0 0,0 3,3 3,3 2,0 1.5,3 1,3 0,0 0))",
|
|
"POLYGON((1 1,1 2,2 2,2 1,1 1))" };
|
|
// self-intersection
|
|
|
|
static std::string case_45[2] = {
|
|
"POLYGON((0.5 0,0.5 3,3 3,3 2,0 1.5,3 1,3 0,0.5 0))",
|
|
"POLYGON((1 1,1 2,2 2,2 1,1 1))" };
|
|
// self-tangent
|
|
|
|
static std::string case_46[2] = {
|
|
"POLYGON((2 0,2 3,5 3,5 2,2 1.5,5 1,5 0,2 0))",
|
|
"POLYGON((1.5 1,1.5 2,2.5 2,2.5 1,1.5 1))" };
|
|
// self-tangent
|
|
|
|
static std::string case_47[2] = {
|
|
"POLYGON((2.5 0,2.5 3,5 3,5 2,2 1.5,5 1,5 0,2.5 0))",
|
|
"POLYGON((2 1,2 2,3 2,3 1,2 1))" };
|
|
|
|
static std::string case_49[2] = {
|
|
"POLYGON((1 0,1 1,2 2,3 3,4 3,4 0,1 0))",
|
|
"POLYGON((0 2,2 5,5 2,5 0,2 0,2 2,0 2))" };
|
|
|
|
|
|
// 50, collinear opposite
|
|
static std::string case_50[2] = {
|
|
"POLYGON((0 0,0 3,2 3,4 3,4 0,0 0))",
|
|
"POLYGON((0 3,0 5,5 5,5 0,4 0,4 3,2 3,0 3))" };
|
|
|
|
// 51, fit
|
|
static std::string case_51[2] = {
|
|
"POLYGON((0 0,0 5,5 5,5 0,0 0),(4 1,3 4,1 2,4 1))",
|
|
"POLYGON((1 2,3 4,4 1,1 2))" };
|
|
|
|
// 52, partially equal, touching each other
|
|
static std::string case_52[2] = {
|
|
"POLYGON((0 0,1 4,3 1,4 4,1 4,5 5,5 0,0 0))",
|
|
"POLYGON((0 0,1 4,3 1,4 4,1 4,5 5,4 1,0 0))" };
|
|
|
|
// 53, wrapping a box, self-touching
|
|
static std::string case_53[3] = {
|
|
"POLYGON((2 2,2 3,3 3,3 2,2 2))",
|
|
// a: self-tangent ext. ring, ST_IsValid=false
|
|
"POLYGON((0 2,0 5,5 5,5 0,2 0,2 2,3 2,3 1,4 1,4 4,1 4,1 3,2 3,2 2,0 2))",
|
|
// b: tangent ext/int ring, ST_IsValid=true
|
|
"POLYGON((0 2,0 5,5 5,5 0,2 0,2 2,0 2),(1 3,2 3,2 2,3 2,3 1,4 1,4 4,1 4,1 3))"
|
|
};
|
|
|
|
static std::string case_54[4] = {
|
|
// a: self-tangent ext. ring
|
|
"POLYGON((2 2,2 3,4 3,4 0,1 0,1 2,2 2,2 1,3 1,3 2,2 2))",
|
|
// b: tangent ext/int ring
|
|
"POLYGON((2 2,2 3,4 3,4 0,1 0,1 2,2 2),(2 1,3 1,3 2,2 2,2 1))",
|
|
case_53[1],
|
|
case_53[2]
|
|
// other like in case53
|
|
};
|
|
|
|
static std::string case_55[2] = {
|
|
//"POLYGON((2 2,3 3,4 3,4 0,1 0,1 1,2 2),(2 1,3 1,3 2,2 2,2 1))",
|
|
//"POLYGON((0 2,0 5,5 5,5 0,2 0,2 2,0 2),(1 3,2 2,3 1,4 1,4 4,1 4,1 3))"
|
|
// B, not a 4-fold intersection
|
|
//"POLYGON((2 2,3 3,4 3,4 0,1 0,1 1,2 2),(2 1,3 1,3 2,2.0 1.9,2 1))",
|
|
//"POLYGON((0 2,0 5,5 5,5 0,2 0,2 2,0 2),(1 3,2.1 2.1,3 1,4 1,4 4,1 4,1 3))"
|
|
// C, not a 4-fold intersection,
|
|
"POLYGON((2 2,3 3,4 3,4 0,1 0,1 1,2 2),(2 1,3 1,3 2,2.0 1.9,2 1))",
|
|
"POLYGON((0 2,0 5,5 5,5 0,2 0,2 2,0 2),(1 3,1.9 1.9,3 1,4 1,4 4,1 4,1 3))"
|
|
};
|
|
|
|
static std::string case_56[2] = {
|
|
"POLYGON((0 0,0 1,2 3,3 0,4 2,5 0,0 0))",
|
|
//"POLYGON((0 -1,0 1,2 3,3 0,4 2,5 -1,0 -1))",
|
|
//"POLYGON((0 1,0 4,5 4,5 0,3 0,4 1,4 3,2 3,2 1,3 0,0 0))"
|
|
"POLYGON((1 0,1 4,5 4,5 0,3 0,4 1,4 3,2 3,2 1,3 0,1 0))"
|
|
};
|
|
|
|
static std::string case_57[2] = {
|
|
case_56[0],
|
|
//"POLYGON((0 2,4 5,5 1,0 2))"
|
|
//"POLYGON((0 -1,0 1,2 3,3 0,4 2,5 -1,0 -1))",
|
|
//"POLYGON((0 0,0 1,2 3,3 0,4 2,6 0,0 0))",
|
|
"POLYGON((0 0,4 5,5 0,0 0))"
|
|
|
|
};
|
|
|
|
|
|
static std::string case_many_situations[2] = {
|
|
"POLYGON((2 6,2 14,10 18,18 14,18 6,16 5,14 4,12 3,10 2,8 3,6 4,4 5,2 6))",
|
|
"POLYGON((2 6,2 7,2 8,2 9,2 10,2 11,2 12,1 14"
|
|
",4 14,4 15,7 15,7 18,8 17,9 20,10 18"
|
|
",10 15.5,11 17.5,12 17,11 15,12 14.5,13 16.5,14 18.5,15 18,14 16,15 15.5,16 17.5,18 14"
|
|
",19 13,17 11,19 9,19 7"
|
|
",17 5,16 5,15 4.5,13 3.5,11 2.5,10 2"
|
|
",8 3,6 4,4 5,2 6))" };
|
|
|
|
static std::string collinear_overlaps[2] = {
|
|
"POLYGON((0 2,0 4,2 4,2 5,0 5,0 7,2 7,2 8,6 8,6 7,8 7,8 5,6 5,6 4,8 4,8 2,6 2,6 1,2 1,2 2,0 2))",
|
|
"POLYGON((3 0,3 2,1 2,1 3,3 3,3 4,1 4,1 5,3 5,3 6,1 6,1 7,3 7,3 9,5 9,5 7,7 7,7 6,5 6,5 5,7 5,7 4,5 4,5 3,7 3,7 2,5 2,5 0,3 0))" };
|
|
|
|
|
|
static std::string line_line1[2] = {
|
|
"LINESTRING(0 1,2 5,5 3)", "LINESTRING(3 0,0 3,4 5)"};
|
|
|
|
|
|
|
|
// Pies
|
|
static std::string pie_23_16_16[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,1309 1812,1171 2144,1125 2499,1171 2855,1309 3187,1527 3472,1812 3690,2500 2500))",
|
|
"POLYGON((2500 2500,1525 1937,1413 2208,1375 2499,1413 2791,1525 3062,1704 3295,1937 3474,2208 3586,2499 3625,2791 3586,3062 3474,3295 3295,3474 3062,3586 2791,3625 2500,3586 2208,2500 2500))"
|
|
};
|
|
|
|
static std::string pie_16_4_12[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,2500 2500))",
|
|
"POLYGON((2500 2500,2500 1375,2208 1413,1937 1525,1704 1704,2500 2500))"
|
|
};
|
|
|
|
static std::string pie_4_13_15[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,2500 2500))",
|
|
"POLYGON((2500 2500,1704 1704,1525 1937,1413 2208,1375 2499,1413 2791,1525 3062,1704 3295,1937 3474,2208 3586,2499 3625,2791 3586,3062 3474,3295 3295,2500 2500))"
|
|
};
|
|
|
|
static std::string pie_16_2_15_0[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,2500 2500))",
|
|
"POLYGON((2500 2500,1704 1704,1525 1937,2500 2500))"
|
|
};
|
|
|
|
|
|
// Shifted pies
|
|
static std::string pie_20_20_7_100[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,1309 1812,1171 2144,1125 2499,1171 2855,2500 2500))",
|
|
"POLYGON((2500 2600,3586 2308,3474 2037,3295 1804,3062 1625,2791 1513,2499 1475,2208 1513,1937 1625,1704 1804,1525 2037,1413 2308,1375 2600,1413 2891,1525 3162,1704 3395,1937 3574,2208 3686,2499 3725,2791 3686,3062 3574,2500 2600))"
|
|
};
|
|
|
|
static std::string pie_23_23_3_2000[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,1309 1812,1171 2144,1125 2499,1171 2855,1309 3187,1527 3472,1812 3690,2500 2500))",
|
|
"POLYGON((2500 3500,3295 4295,3474 4062,3586 3791,3625 3500,3586 3208,3474 2937,3295 2704,3062 2525,2791 2413,2499 2375,2208 2413,1937 2525,1704 2704,1525 2937,1413 3208,1375 3500,1413 3791,1525 4062,1704 4295,1937 4474,2208 4586,2499 4625,2791 4586,2500 3500))"
|
|
};
|
|
|
|
static std::string pie_23_21_12_500[2] = {
|
|
"POLYGON((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,1309 1812,1171 2144,1125 2499,1171 2855,1309 3187,1527 3472,1812 3690,2500 2500))",
|
|
"POLYGON((2500 3000,2500 1875,2208 1913,1937 2025,1704 2204,1525 2437,1413 2708,1375 3000,1413 3291,1525 3562,1704 3795,1937 3974,2208 4086,2499 4125,2791 4086,3062 3974,3295 3795,3474 3562,3586 3291,3625 3000,3586 2708,3474 2437,2500 3000))"
|
|
};
|
|
|
|
// Cases coming from High volume (hv) tests
|
|
static std::string hv_1[2] = {
|
|
"POLYGON((24.995166778564453 50.011310577392578,46.630809783935547 37.494682312011719,46.661380767822266 12.499360084533691,25.003841400146484 0.020658308640122414,3.3419711589813232 12.491842269897461,3.3638687133789062 37.487174987792969,24.995166778564453 50.011310577392578))",
|
|
"POLYGON((25.025228500366211 49.992599487304688,46.6719970703125 37.482185363769531,46.631874084472656 12.480358123779297,24.974153518676758 -0.011088892817497253,3.3419976234436035 12.524576187133789,3.3529467582702637 37.526435852050781,25.025228500366211 49.992599487304688))"
|
|
};
|
|
|
|
static std::string hv_2[2] = {
|
|
"POLYGON((24.988700866699219 49.986705780029297,46.643772125244141 37.5079345703125,46.645118713378906 12.514699935913086,25.010652542114258 0.00024537215358577669,3.3652000427246094 12.495694160461426,3.3445985317230225 37.488922119140625,24.988700866699219 49.986705780029297))",
|
|
"POLYGON((24.993022918701172 49.977996826171875,46.643772125244141 37.503200531005859,46.634654998779297 12.51569938659668,25.005790710449219 0.0029967525042593479,3.3705389499664307 12.504646301269531,3.348651647567749 37.492141723632812,24.993022918701172 49.977996826171875))"
|
|
};
|
|
|
|
static std::string hv_3[2] = {
|
|
"POLYGON((25.007728576660156 49.988899230957031,46.667163848876953 37.501667022705078,46.637229919433594 12.500443458557129,24.993251800537109 -0.01356174610555172,3.3565254211425781 12.512973785400391,3.3410670757293701 37.514209747314453,25.007728576660156 49.988899230957031))",
|
|
"POLYGON((24.998353958129883 49.993511199951172,46.659591674804688 37.507373809814453,46.646518707275391 12.505118370056152,25.002584457397461 -0.0109936548396945,3.3565335273742676 12.501456260681152,3.3392288684844971 37.503707885742188,24.998353958129883 49.993511199951172))"
|
|
};
|
|
|
|
static std::string hv_4[2] = {
|
|
"POLYGON((25.009130477905273 50.022209167480469,46.670387268066406 37.500617980957031,46.666873931884766 12.480625152587891,24.992231369018555 -0.017777863889932632,3.3260366916656494 12.495262145996094,3.3394229412078857 37.515254974365234,25.009130477905273 50.022209167480469))",
|
|
"POLYGON((25.00263786315918 50.019630432128906,46.669231414794922 37.507579803466797,46.666202545166016 12.487733840942383,24.997152328491211 -0.020060751587152481,3.3308455944061279 12.492485046386719,3.3333024978637695 37.5123291015625,25.00263786315918 50.019630432128906))"
|
|
};
|
|
|
|
static std::string hv_5[2] = {
|
|
"POLYGON((24.987522125244141 49.997768402099609,46.643741607666016 37.509471893310547,46.654956817626953 12.510490417480469,25.011669158935547 -0.00019846600480377674,3.3563058376312256 12.489578247070313,3.3433761596679687 37.488559722900391,24.987522125244141 49.997768402099609))",
|
|
"POLYGON((25.005760192871094 50.008182525634766,46.648590087890625 37.491542816162109,46.655918121337891 12.489977836608887,24.994773864746094 0.0050580352544784546,3.3391191959381104 12.499494552612305,3.3574333190917969 37.501052856445312,25.005760192871094 50.008182525634766))"
|
|
};
|
|
|
|
static std::string hv_6[2] = {
|
|
"POLYGON((25.011470794677734 50.017532348632813,42.678981781005859 42.661365509033203,50.017532348632813 24.986530303955078,42.661365509033203 7.3190178871154785,24.986530303955078 -0.019533095881342888,7.3190178871154785 7.336634635925293,-0.019533095881342888 25.011470794677734,7.336634635925293 42.678981781005859,25.011470794677734 50.017532348632813))",
|
|
"POLYGON((25.002880096435547 50.013965606689453,46.671913146972656 37.507381439208984,46.660655975341797 12.488155364990234,24.9951171875 -0.024483053013682365,3.3334629535675049 12.494877815246582,3.3299689292907715 37.514102935791016,25.002880096435547 50.013965606689453))"
|
|
};
|
|
|
|
static std::string hv_7[2] = {
|
|
"POLYGON((24.983684539794922 49.995647430419922,46.643482208251953 37.513137817382813,46.654392242431641 12.51393985748291,25.014318466186523 -0.0027416276279836893,3.3589246273040771 12.487411499023438,3.3391971588134766 37.486602783203125,24.983684539794922 49.995647430419922))",
|
|
"POLYGON((24.990163803100586 49.9993896484375,46.655281066894531 37.512466430664062,46.654388427734375 12.506458282470703,25.007841110229492 -0.012621366418898106,3.3524465560913086 12.491152763366699,3.3338801860809326 37.497154235839844,24.990163803100586 49.9993896484375))"
|
|
};
|
|
|
|
static std::string dz_1[2] = {
|
|
"POLYGON((30.526203155517578 56.781166076660156,38.987510681152344 58.710700988769531,41.042613983154297 50.279010772705078,48.390048980712891 45.660350799560547,43.881126403808594 38.245067596435547,45.810657501220703 29.783760070800781,37.378971099853516 27.728654861450195,32.760307312011719 20.381219863891602,25.345026016235352 24.890144348144531,16.883718490600586 22.960611343383789,14.828612327575684 31.392299652099609,7.481177806854248 36.010959625244141,11.990103721618652 43.426242828369141,10.060568809509277 51.887550354003906,18.492258071899414 53.942657470703125,23.110919952392578 61.290092468261719,30.526203155517578 56.781166076660156))",
|
|
"POLYGON((12.580197334289551 33.274467468261719,14.852641105651855 24.577714920043945,21.524574279785156 30.601236343383789,18.734457015991211 22.056488037109375,27.603805541992188 23.51667594909668,20.636968612670898 17.836828231811523,28.887777328491211 14.270085334777832,19.956142425537109 13.258448600769043,24.968837738037109 5.7971897125244141,16.908138275146484 9.7749528884887695,17.091224670410156 0.78807485103607178,12.460672378540039 8.4923257827758789,7.7560214996337891 0.83309894800186157,8.0257854461669922 9.8177928924560547,-0.072908863425254822 5.9179673194885254,5.0115232467651367 13.330527305603027,-3.9099369049072266 14.42827033996582,4.3748917579650879 17.915260314941406,-2.5368332862854004 23.662046432495117,6.3180174827575684 22.116373062133789,3.6104514598846436 30.687637329101563,10.223971366882324 24.600040435791016,12.580197334289551 33.274467468261719))"
|
|
};
|
|
|
|
static std::string dz_2[2] = {
|
|
"POLYGON((24.587966918945313 61.027225494384766,32.1783447265625 62.988296508789063,34.655326843261719 55.550270080566406,41.730445861816406 52.173538208007812,38.846851348876953 44.883510589599609,42.096187591552734 37.748981475830078,35.201282501220703 34.018035888671875,33.104434967041016 26.46403694152832,25.42442512512207 28.037921905517578,18.962528228759766 23.599054336547852,14.090974807739258 29.741334915161133,6.2876262664794922 30.494592666625977,6.5039811134338379 38.331226348876953,1.0104535818099976 43.924152374267578,6.2134823799133301 49.788291931152344,5.6002583503723145 57.603889465332031,13.355405807495117 58.751640319824219,17.909420013427734 65.132911682128906,24.587966918945313 61.027225494384766))",
|
|
"POLYGON((43.551433563232422 47.905071258544922,46.384872436523438 39.57366943359375,53.589195251464844 44.627212524414063,50.984420776367188 36.221515655517578,59.783241271972656 36.075325012207031,52.735191345214844 30.806018829345703,59.767654418945313 25.51593017578125,50.968441009521484 25.395713806152344,53.548389434814453 16.982362747192383,46.359016418457031 22.057153701782227,43.500991821289063 13.734155654907227,40.667552947998047 22.065553665161133,33.463230133056641 17.012012481689453,36.068000793457031 25.417709350585938,27.269184112548828 25.563901901245117,34.317234039306641 30.833206176757812,27.284770965576172 36.123294830322266,36.083980560302734 36.243511199951172,33.504035949707031 44.6568603515625,40.693408966064453 39.582073211669922,43.551433563232422 47.905071258544922))"
|
|
};
|
|
|
|
static std::string dz_3[2] = {
|
|
"POLYGON((20.813335418701172 73.060707092285156,22.815366744995117 61.968788146972656,31.383756637573242 69.291458129882813,28.001794815063477 58.539661407470703,38.991741180419922 61.041633605957031,31.000555038452148 53.093067169189453,41.894393920898437 50.201171875,31.124666213989258 46.876754760742188,39.426750183105469 39.253490447998047,28.345697402954102 41.314804077148438,32.154121398925781 30.706569671630859,23.300275802612305 37.681396484375,21.742572784423828 26.518407821655273,17.144247055053711 36.808895111083984,10.5772705078125 27.648460388183594,11.287883758544922 38.897186279296875,1.2160475254058838 33.837848663330078,7.0728073120117187 43.467861175537109,-4.1965517997741699 43.668655395507812,5.4646410942077637 49.473834991455078,-4.4205660820007324 54.888763427734375,6.8317971229553223 55.539215087890625,0.59532338380813599 64.927780151367187,10.861076354980469 60.274494171142578,9.7020368576049805 71.485885620117188,16.629419326782227 62.594875335693359,20.813335418701172 73.060707092285156))",
|
|
"POLYGON((1.6459450721740723 46.720386505126953,10.693820953369141 61.892372131347656,7.2385158538818359 44.568569183349609,23.921955108642578 50.3751220703125,10.139513969421387 39.325347900390625,26.652151107788086 33.049518585205078,8.9915294647216797 33.444084167480469,17.606916427612305 18.02239990234375,4.3317174911499023 29.676681518554687,1.0186206102371216 12.32512378692627,-1.6595441102981567 29.785955429077148,-15.35089111328125 18.623508453369141,-6.1788778305053711 33.720771789550781,-23.842140197753906 33.970470428466797,-7.1116366386413574 39.639987945556641,-20.481979370117188 51.184993743896484,-4.0213727951049805 44.773937225341797,-6.8426628112792969 62.212215423583984,1.6459450721740723 46.720386505126953))"
|
|
};
|
|
|
|
static std::string ticket_17[2] = {
|
|
"POLYGON ((-122.28139163 37.37319149,-122.28100699 37.37273669,-122.28002186 37.37303123,-122.27979681 37.37290072,-122.28007349 37.37240493,-122.27977334 37.37220360,-122.27819720 37.37288580,-122.27714184 37.37275161,-122.27678628 37.37253167,-122.27766437 37.37180973,-122.27804382 37.37121453,-122.27687664 37.37101354,-122.27645829 37.37203386,-122.27604423 37.37249110,-122.27632234 37.37343339,-122.27760980 37.37391082,-122.27812478 37.37800320,-122.26117222 37.39121007,-122.25572289 37.39566631,-122.25547269 37.39564971,-122.25366304 37.39552993,-122.24919976 37.39580268,-122.24417933 37.39366907,-122.24051443 37.39094143,-122.23246277 37.38100418,-122.23606766 37.38141338,-122.24001587 37.37738940,-122.23666848 37.37609347,-122.23057450 37.37882170,-122.22679803 37.37807143,-122.22525727 37.37448817,-122.22523229 37.37443000,-122.23083199 37.37609347,-122.23033486 37.37777891,-122.23169030 37.37732117,-122.23229178 37.37709687,-122.23237761 37.37631249,-122.23297776 37.37438834,-122.23872850 37.37165986,-122.24044511 37.36934068,-122.24671067 37.36865847,-122.24825570 37.36981819,-122.25151719 37.36947713,-122.25357721 37.36756706,-122.26001451 37.36579354,-122.25615213 37.36545239,-122.25486458 37.36245083,-122.25357721 37.36108651,-122.25194642 37.36013139,-122.24885652 37.35958557,-122.24911401 37.35849399,-122.25357721 37.35808470,-122.25675286 37.35897159,-122.25855539 37.35753887,-122.26181687 37.35828939,-122.26713837 37.35897159,-122.26782510 37.36108651,-122.26662339 37.36456559,-122.27288911 37.36722601,-122.27366159 37.36531602,-122.27168740 37.36470213,-122.27391900 37.36374701,-122.27074326 37.36245083,-122.27134408 37.35951742,-122.27426240 37.36135926,-122.27709482 37.36115474,-122.27966974 37.36231438,-122.27958391 37.36463382,-122.27572152 37.36463382,-122.27563569 37.36524779,-122.27700899 37.36593000,-122.27709482 37.36763529,-122.27554978 37.36838573,-122.27667254 37.36931478,-122.27677932 37.36932073,-122.27769362 37.36853987,-122.27942490 37.36830803,-122.28178776 37.36677917,-122.28509559 37.36443500,-122.28845129 37.36413744,-122.29194403 37.36695946,-122.29382577 37.36726817,-122.29600414 37.36898512,-122.29733083 37.36995398,-122.29593239 37.37141436,-122.29416649 37.37075898,-122.29325026 37.37108436,-122.29652910 37.37311697,-122.29584237 37.37374461,-122.29537583 37.37573372,-122.29487677 37.37752502,-122.30923212 37.37593011,-122.31122484 37.38230086,-122.31467994 37.38092472,-122.31715663 37.38252181,-122.32307970 37.38166978,-122.31985618 37.37667694,-122.32210304 37.37580220,-122.32581446 37.37589532,-122.32401730 37.37331839,-122.32960417 37.37189020,-122.33465527 37.37331906,-122.33425328 37.37623680,-122.33620676 37.37726132,-122.33397986 37.37822382,-122.33358918 37.38036590,-122.33202637 37.37986918,-122.33147954 37.38101784,-122.33394080 37.38198017,-122.33545239 37.38587943,-122.33478058 37.38785697,-122.33386050 37.38723721,-122.33350041 37.38571137,-122.33122003 37.38548891,-122.33140008 37.38650606,-122.33366042 37.38817490,-122.33244019 37.39157602,-122.33298157 37.39419201,-122.33164013 37.39477028,-122.33202017 37.39518351,-122.33358038 37.39499282,-122.33376050 37.39597811,-122.33550067 37.39734478,-122.33556069 37.39481797,-122.33344040 37.39292676,-122.33638094 37.38892189,-122.34240644 37.38852719,-122.34906293 37.38726898,-122.35072321 37.39338769,-122.34910291 37.39445252,-122.34796272 37.39410291,-122.34449043 37.39640534,-122.34500223 37.39729709,-122.34936291 37.39670910,-122.35098322 37.39531066,-122.35364623 37.39554510,-122.35434369 37.39612111,-122.35798429 37.39600988,-122.35768430 37.39478621,-122.36334519 37.39206871,-122.36604726 37.39203267,-122.36778592 37.39335592,-122.36518870 37.40022011,-122.36554552 37.40247752,-122.36370519 37.40331974,-122.36270506 37.40530591,-122.36320512 37.40670418,-122.36149849 37.40851392,-122.36730580 37.41054938,-122.37263720 37.41378932,-122.37161871 37.42076600,-122.36566153 37.42006292,-122.36520547 37.42742106,-122.37165953 37.43661157,-122.35943972 37.44459022,-122.35356359 37.44600810,-122.33792254 37.45796329,-122.35228518 37.47478091,-122.35127080 37.48181199,-122.34867342 37.48487322,-122.34359717 37.48801082,-122.33388431 37.48677650,-122.33142321 37.48429747,-122.32929580 37.48473149,-122.32609609 37.48291144,-122.32344850 37.48228229,-122.31924364 37.48410234,-122.31677299 37.48114051,-122.31431751 37.47848973,-122.31259201 37.47682190,-122.31515972 37.47568196,-122.31691389 37.47360309,-122.31292494 37.46960081,-122.31130153 37.46937743,-122.30889894 37.47124987,-122.30612839 37.47011613,-122.30149630 37.46568378,-122.30064277 37.46363784,-122.29283821 37.45922376,-122.28630141 37.45415497,-122.28883099 37.44629920,-122.28316717 37.44197138,-122.27554148 37.42297597,-122.25597410 37.40553692,-122.25196579 37.40129593,-122.25012043 37.40049143,-122.24823207 37.39897758,-122.24754551 37.39740941,-122.24778582 37.39621607,-122.24934787 37.39599102,-122.25005170 37.39871849,-122.25222328 37.39863668,-122.25342491 37.39737529,-122.25520162 37.39667289,-122.25528737 37.39522726,-122.27747460 37.37809616,-122.27977493 37.37858717,-122.28157729 37.37920106,-122.28322534 37.37952846,-122.28416939 37.38092656,-122.28621223 37.37984219,-122.28638389 37.37613857,-122.28382607 37.37843722,-122.27930278 37.37718220,-122.28196361 37.37652740,-122.28295058 37.37568167,-122.28216101 37.37523148,-122.28114822 37.37543608,-122.27934569 37.37528613,-122.27996369 37.37448121,-122.28104521 37.37454944,-122.28185197 37.37422883,-122.28290767 37.37474038,-122.28376597 37.37467224,-122.28428104 37.37399012,-122.28402346 37.37338989,-122.28610922 37.37364914,-122.28651264 37.37327388,-122.28672722 37.37207343,-122.28628398 37.37205448,-122.28574460 37.37166682,-122.28479711 37.37200981,-122.28327731 37.37137228,-122.28285511 37.37100700,-122.28279409 37.37125669,-122.28315527 37.37173756,-122.28321872 37.37220569,-122.28187007 37.37231918,-122.28193109 37.37294908,-122.28139163 37.37319149))",
|
|
"BOX(-122.280 37.377,-122.277 37.379)"};
|
|
|
|
/*
|
|
static std::string isovist[2] =
|
|
{
|
|
"POLYGON((37.29449462890625 1.7902572154998779, 46.296027072709599 -2.4984308554828116, 45.389434814453125 -4.5143837928771973, 47.585065917176543 -6.1314922196594779, 46.523914387974358 -8.5152102535033496, 42.699958801269531 -4.4278755187988281, 42.577877044677734 -4.4900407791137695, 42.577911376953125 -4.4901103973388672, 40.758884429931641 -5.418975830078125, 40.6978759765625 -5.4500408172607422, 41.590042114257813 -7.2021245956420898, 57.297810222148939 -37.546793343968417, 50.974888957147442 -30.277285722290763, 37.140213012695313 1.3446992635726929, 37.000419616699219 1.664225697517395, 37.29449462890625 1.7902572154998779))",
|
|
"POLYGON((43.644271850585938 0.96149998903274536,43.764598846435547 0.93951499462127686,49.071769542946825 0.61489892713413252,48.43512638981781 -0.81299959072453376,47.830955505371094 -0.69758313894271851,47.263670054709685 -1.784876824891044,46.695858001708984 -1.6093428134918213,45.389434814453125 -4.5143837928771973,47.604561877161387 -6.087697464505224,46.559533858616469 -8.435196445683264,42.699958801269531 -4.4278755187988281,42.577877044677734 -4.4900407791137695,42.577911376953125 -4.4901103973388672,40.758884429931641 -5.418975830078125,40.6978759765625 -5.4500408172607422,41.590042114257813 -7.2021245956420898,57.524304765518266 -37.807195733984784,41.988733475572282 -19.945838749437218,41.821544647216797 -19.211688995361328,40.800632476806641 -17.208097457885742,39.966808319091797 -17.625011444091797,38.823680877685547 -16.296066284179688,37.326129913330078 -17.190576553344727,35.963497161865234 -15.476018905639648,35.656356811523438 -15.66030216217041,34.931102752685547 -16.223842620849609,34.634240447128811 -15.85007183479255,34.886280059814453 -14.120697975158691,34.658355712890625 -13.81736946105957,34.328716278076172 -13.992490768432617,33.598796844482422 -14.546377182006836,33.164891643669634 -14.000060288415174,33.566280364990234 -12.450697898864746,33.339523315429688 -12.147735595703125,32.998821258544922 -12.323249816894531,32.274600982666016 -12.879127502441406,31.682494778186321 -12.133624901803865,32.226280212402344 -10.790698051452637,32.000633239746094 -10.488097190856934,31.669155120849609 -10.653837203979492,30.947774887084961 -11.208560943603516,30.207040612748258 -10.275926149505661,30.896280288696289 -9.1206979751586914,30.670633316040039 -8.8180980682373047,30.339155197143555 -8.9838371276855469,29.619997024536133 -9.5368013381958008,29.135100397190627 -8.9262827849488211,32.718830108642578 -4.3281683921813965,32.708168029785156 -2.3611698150634766,32.708126068115234 -2.3611700534820557,32.708126068115234 -2.3611266613006592,30.501169204711914 -2.3718316555023193,27.069889344709196 -4.2926591211028242,26.472516656201325 -3.5380830513658776,36.954700469970703 1.2597870826721191,37.140213012695313 1.3446992635726929,37.000419616699219 1.664225697517395,37.29449462890625 1.7902572154998779,37.43402099609375 1.470055103302002,51.370888500897557 7.4163459734570729,51.20102152843122 7.1738039562841562,42.721500396728516 3.6584999561309814,42.721500396728516 2.2342472076416016,42.399410247802734 1.4956772327423096,43.644271850585938 0.96149998903274536))"
|
|
};
|
|
*/
|
|
|
|
#endif // BOOST_GEOMETRY_TEST_OVERLAY_CASES_HPP
|