Merge branch 'develop' into prepare_1_56_june16

Conflicts:
	doc/doxy/doxygen_output/html/doxygen.css
	doc/doxy/doxygen_output/html/doxygen.png
	doc/doxy/doxygen_output/html/tabs.css
	doc/html/index.html
	doc/index/rtree/query.qbk
	doc/make_qbk.py
	doc/quickbook/quickref.xml
	doc/quickref.xml
	doc/release_notes.qbk
	doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp
	doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp
	example/07_b_graph_route_example.cpp
	example/c11_custom_cs_transform_example.cpp
	example/ml02_distance_strategy.cpp
	extensions/example/gis/io/shapelib/shapelib.cpp
	extensions/example/gis/latlong/distance_example.cpp
	extensions/example/gis/latlong/point_ll_example.cpp
	extensions/example/gis/projections/p03_projmap_example.cpp
	extensions/example/gis/projections/p04_example.cpp
	extensions/example/gis/projections/p05_example.cpp
	extensions/test/algorithms/Jamfile.v2
	extensions/test/algorithms/dissolve.cpp
	extensions/test/algorithms/offset.cpp
	extensions/test/gis/latlong/andoyer.cpp
	extensions/test/gis/latlong/cross_track.cpp
	extensions/test/gis/latlong/distance_mixed.cpp
	extensions/test/gis/latlong/vincenty.cpp
	extensions/test/gis/projections/projections.cpp
	extensions/test/nsphere/Jamfile.v2
	extensions/test/nsphere/nsphere-access.cpp
	extensions/test/nsphere/nsphere-area.cpp
	extensions/test/nsphere/nsphere-circle.cpp
	extensions/test/nsphere/nsphere-disjoint.cpp
	extensions/test/nsphere/nsphere-index_content.cpp
	extensions/test/nsphere/nsphere-index_margin.cpp
	extensions/test/nsphere/nsphere-multi_within.cpp
	extensions/test/nsphere/nsphere-nsphere_in_box.cpp
	extensions/test/nsphere/nsphere-point_in_nsphere.cpp
	extensions/test/nsphere/nsphere-point_type.cpp
	extensions/test/nsphere/nsphere-within.cpp
	include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp
	include/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
	include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp
	include/boost/geometry/algorithms/detail/buffer/line_line_intersection.hpp
	include/boost/geometry/algorithms/detail/disjoint.hpp
	include/boost/geometry/algorithms/detail/multi_modify.hpp
	include/boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp
	include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp
	include/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp
	include/boost/geometry/algorithms/detail/overlay/get_turns.hpp
	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
	include/boost/geometry/algorithms/detail/overlay/traverse.hpp
	include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
	include/boost/geometry/algorithms/detail/sections/sectionalize.hpp
	include/boost/geometry/algorithms/disjoint.hpp
	include/boost/geometry/algorithms/distance.hpp
	include/boost/geometry/algorithms/num_points.hpp
	include/boost/geometry/algorithms/simplify.hpp
	include/boost/geometry/extensions/algebra/algebra.hpp
	include/boost/geometry/extensions/algebra/algorithms/convert.hpp
	include/boost/geometry/extensions/algebra/algorithms/detail.hpp
	include/boost/geometry/extensions/algebra/algorithms/rotation.hpp
	include/boost/geometry/extensions/algorithms/connect.hpp
	include/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp
	include/boost/geometry/extensions/algorithms/dissolve.hpp
	include/boost/geometry/extensions/algorithms/offset.hpp
	include/boost/geometry/extensions/algorithms/remove_holes_if.hpp
	include/boost/geometry/extensions/algorithms/remove_marked.hpp
	include/boost/geometry/extensions/algorithms/selected.hpp
	include/boost/geometry/extensions/contrib/ttmath_stub.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/andoyer.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp
	include/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp
	include/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp
	include/boost/geometry/extensions/gis/projections/new_projection.hpp
	include/boost/geometry/extensions/gis/projections/projection_point_type.hpp
	include/boost/geometry/extensions/multi/algorithms/dissolve.hpp
	include/boost/geometry/extensions/nsphere/algorithms/disjoint.hpp
	include/boost/geometry/extensions/nsphere/algorithms/within.hpp
	include/boost/geometry/extensions/nsphere/core/radius.hpp
	include/boost/geometry/extensions/nsphere/core/tags.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/bounds.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/comparable_distance_near.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/content.hpp
	include/boost/geometry/extensions/nsphere/index/detail/rtree/linear/redistribute_elements.hpp
	include/boost/geometry/extensions/nsphere/nsphere.hpp
	include/boost/geometry/extensions/nsphere/strategies/cartesian/nsphere_in_box.hpp
	include/boost/geometry/extensions/nsphere/strategies/cartesian/point_in_nsphere.hpp
	include/boost/geometry/extensions/nsphere/views/center_view.hpp
	include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp
	include/boost/geometry/index/rtree.hpp
	include/boost/geometry/multi/algorithms/distance.hpp
	include/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp
	include/boost/geometry/multi/geometries/concepts/multi_point_concept.hpp
	include/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp
	include/boost/geometry/multi/io/wkt/read.hpp
	include/boost/geometry/strategies/agnostic/buffer_distance_asymmetric.hpp
	include/boost/geometry/strategies/agnostic/buffer_distance_symmetric.hpp
	include/boost/geometry/strategies/agnostic/buffer_end_skip.hpp
	include/boost/geometry/strategies/buffer.hpp
	include/boost/geometry/strategies/cartesian/buffer_end_flat.hpp
	include/boost/geometry/strategies/cartesian/buffer_end_round.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_miter.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_round.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_round_by_divide.hpp
	include/boost/geometry/strategies/cartesian/distance_projected_point.hpp
	include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp
	include/boost/geometry/strategies/concepts/distance_concept.hpp
	include/boost/geometry/strategies/default_distance_result.hpp
	include/boost/geometry/strategies/spherical/distance_cross_track.hpp
	include/boost/geometry/strategies/spherical/distance_haversine.hpp
	include/boost/geometry/util/math.hpp
	index/example/benchmark_experimental.cpp
	index/example/glut_vis.cpp
	index/example/serialize.cpp
	index/test/rtree/interprocess/Jamfile.v2
	index/test/rtree/test_rtree.hpp
	test/algorithms/Jamfile.v2
	test/algorithms/buffer/Jamfile.v2
	test/algorithms/buffer/multi_linestring_buffer.cpp
	test/algorithms/buffer/multi_point_buffer.cpp
	test/algorithms/buffer/multi_polygon_buffer.cpp
	test/algorithms/buffer/point_buffer.cpp
	test/algorithms/buffer/polygon_buffer.cpp
	test/algorithms/difference.cpp
	test/algorithms/intersection.cpp
	test/algorithms/intersects.cpp
	test/algorithms/overlay/overlay_cases.hpp
	test/algorithms/overlay/robustness/Jamfile.v2
	test/algorithms/test_intersection.hpp
	test/algorithms/test_simplify.hpp
	test/algorithms/test_union.hpp
	test/algorithms/union.cpp
	test/geometry_test_common.hpp
	test/multi/algorithms/Jamfile.v2
	test/multi/algorithms/multi_difference_spike.cpp
	test/multi/algorithms/multi_distance.cpp
This commit is contained in:
Barend Gehrels
2014-06-16 19:57:43 +02:00
877 changed files with 67295 additions and 13003 deletions

View File

@@ -10,6 +10,10 @@
#include <iostream>
#include <string>
// If defined, tests are run without rescaling-to-integer or robustness policy
// This multi_difference currently contains no tests for double which then fail
// #define BOOST_GEOMETRY_NO_ROBUSTNESS
//#define HAVE_TTMATH
//#define BOOST_GEOMETRY_DEBUG_ASSEMBLE
//#define BOOST_GEOMETRY_CHECK_WITH_SQLSERVER
@@ -109,7 +113,7 @@ void test_areal()
'POLYGON((5 0,5 4,8 4,8 0,5 0))',0) as p,
geometry::STGeomFromText(
'MULTIPOLYGON(((0 0,0 2,2 2,2 0,0 0)),((4 0,4 2,6 2,6 0,4 0)))',0) as q)
select
select
p.STDifference(q).STArea(),p.STDifference(q).STNumGeometries(),p.STDifference(q) as p_min_q,
q.STDifference(p).STArea(),q.STDifference(p).STNumGeometries(),q.STDifference(p) as q_min_p,
p.STSymDifference(q).STArea(),q.STSymDifference(p) as p_xor_q
@@ -132,9 +136,13 @@ void test_areal()
test_one<Polygon, MultiPolygon, MultiPolygon>("ggl_list_20120221_volker",
ggl_list_20120221_volker[0], ggl_list_20120221_volker[1],
2, 12, 7962.66, 1, 18, 2775258.93,
2, 12, 7962.66, 1, 18, 2775258.93,
0.001);
test_one<Polygon, MultiPolygon, MultiPolygon>("ticket_9081",
ticket_9081[0], ticket_9081[1],
2, 28, 0.0907392476356186, 4, 25, 0.126018011439877,
0.001);
/* TODO: fix
test_one<Polygon, MultiPolygon, MultiPolygon>("case_101_multi",
@@ -178,15 +186,15 @@ void test_areal_linear()
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_2a", "LINESTRING(1 0,1 1,2 1,2 0)", "MULTIPOLYGON(((0 0,0 1,1 1,1 0,0 0)),((1 1,1 2,2 2,2 1,1 1)))", 1, 2, 1.0);
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_2b", "LINESTRING(1 0,1 1,2 1,2 0)", "MULTIPOLYGON(((1 1,1 2,2 2,2 1,1 1)),((0 0,0 1,1 1,1 0,0 0)))", 1, 2, 1.0);
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_3",
"LINESTRING(6 6,6 7,7 7,7 6,8 6,8 7,9 7,9 6)",
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_3",
"LINESTRING(6 6,6 7,7 7,7 6,8 6,8 7,9 7,9 6)",
"MULTIPOLYGON(((5 7,5 8,6 8,6 7,5 7)),((6 6,6 7,7 7,7 6,6 6)),((8 8,9 8,9 7,8 7,7 7,7 8,8 8)))", 2, 5, 3.0);
return;
// TODO: this case contains collinearities and should still be solved
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_4",
"LINESTRING(0 5,0 6,1 6,1 5,2 5,2 6,3 6,3 5,3 4,3 3,2 3,2 4,1 4,1 3,0 3,0 4)",
test_one_lp<LineString, LineString, MultiPolygon>("case_mp_ls_4",
"LINESTRING(0 5,0 6,1 6,1 5,2 5,2 6,3 6,3 5,3 4,3 3,2 3,2 4,1 4,1 3,0 3,0 4)",
"MULTIPOLYGON(((0 2,0 3,1 2,0 2)),((2 5,3 6,3 5,2 5)),((1 5,1 6,2 6,2 5,1 5)),((2 3,2 4,3 4,2 3)),((0 3,1 4,1 3,0 3)),((4 3,3 3,3 5,4 5,4 4,4 3)))", 5, 11, 6.0);
}
@@ -194,7 +202,7 @@ void test_areal_linear()
template <typename P>
void test_all()
{
typedef bg::model::box<P> box;
//typedef bg::model::box<P> box;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
typedef bg::model::multi_polygon<polygon> multi_polygon;