Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
ba5ae9ef4d [iterators][segment iterator][range segment iterator] declare range_segment_iterator
as a class (to match the friend declaration inside it);
fix bug in initialization of the m_has_less_than_two_elements boolean member variable
for open ranges;
2015-01-29 23:13:45 +02:00
Adam Wulkiewicz
23d3e60767 Merge pull request #197 from mkaravel/feature/support_for_one_point_geometries
Feature/support for one point geometries
2015-01-28 23:24:42 +01:00
Adam Wulkiewicz
41013184ff Merge pull request #202 from mkaravel/fix/is_simple_closed_linestrings
Fix/is simple closed linestrings
2015-01-28 23:21:59 +01:00
Menelaos Karavelas
bc1da220a4 [iterators][segment iterator][range segment iterator] initialize boolean in default
constructor with false
2015-01-28 19:18:19 +02:00
Menelaos Karavelas
3763829be3 [iterators][segment iterator][range segment iterator] replace has_less_than_two_elements
by an appropriate call to boost::size
2015-01-28 17:38:58 +02:00
Barend Gehrels
b349fc0f45 [buffer] use turn instead of point in analysis to get their segments later 2015-01-28 14:35:26 +01:00
Barend Gehrels
f056a0bb54 [overlay] minor change: replace now longer expressions with p_arrival, q_arrival
to enhance readability
2015-01-28 13:38:12 +01:00
Barend Gehrels
a44c753612 [overlay] replace intersection_info (old) with (new) to allow getting access
to (robust) points used for the segment intersection. This makes dir_info
redundant there, because it is included in (new)
2015-01-28 13:30:42 +01:00
Menelaos Karavelas
c2589a451a [doc][release notes] mention bug fix in is_simple about simple closed linestring in multilinestrings 2015-01-28 12:48:33 +02:00
Menelaos Karavelas
300577d68e [test][algorithms][is_simple] add more test cases including one that
was failing before the recent bug fix
2015-01-28 12:47:01 +02:00
Menelaos Karavelas
5899ac451f [algorithms][is_simple] fix bug in is_simple(multilinestring): is_simple
was considering a simple closed linestring (living inside a multilinestring)
as non-simple because it was wrongly detecting the turn associated with the
first and last (closing) point as an unacceptable turn;
fix: allow such turns acceptable;
2015-01-28 12:40:46 +02:00
Barend Gehrels
28cf857743 [buffer] pass turn instead of piece to analysis to be able to use
the robust segments it is calculated from (in a later commit)
2015-01-28 11:26:41 +01:00
Barend Gehrels
d7dcc47d01 Merge branch 'develop' into feature/buffer 2015-01-28 10:50:43 +01:00
Barend Gehrels
2f0b9d05bd [buffer][test] split multi_point_buffer test into normal unit test
and robustness test (growth)
2015-01-28 10:47:01 +01:00
Barend Gehrels
3c57ee2cae [test] remove timings in include files 2015-01-28 10:29:31 +01:00
Barend Gehrels
486ed6605c [extensions] remove unused msm state and unused Boost.Unit example/header 2015-01-28 10:04:03 +01:00
Barend Gehrels
2bf57b9c07 Merge branch 'develop' into bg-prepare 2015-01-28 09:55:34 +01:00
Barend Gehrels
373f6cc24d [difference][test] Increase tolerance for geos2 test to satisfy MSCV 14 2015-01-28 09:54:51 +01:00
Barend Gehrels
916904f93a Merge branch 'develop' into feature/buffer 2015-01-28 09:39:17 +01:00
Barend Gehrels
953182c3d0 Merge branch 'develop' into bg-prepare 2015-01-27 19:35:07 +01:00
Adam Wulkiewicz
2713b7cf5d [test][strategies] Add the tests for geographic side strategies. 2015-01-27 15:38:53 +01:00
Adam Wulkiewicz
0d5c51080b [strategies] Add geographic side strategies based on azimuths calculation.
Three strategies added: andoyer, thomas and vincenty.
The strategies use inverse formulas for azimuths calculation.
Azimuths are compared to check the side.

The agnostic side_by_azimuth strategy was removed/replaced.
The code was moved into the geographic directory, into the details.
After some modifications it's used as a base of the geographic side strategies.
2015-01-27 15:30:33 +01:00
Adam Wulkiewicz
fef45d0d00 [test][relate] Add tests for relate(Ls,MLs) - collinear spike. 2015-01-27 00:30:19 +01:00
Adam Wulkiewicz
6665fb7bf6 [relate] Fix relate(Ls,MLs) - collinear L spike touching other Ls. 2015-01-27 00:27:59 +01:00
Adam Wulkiewicz
68aadf5f7d [test][get_turns][relate] Add tests for L/A collinear opposite last L segment. 2015-01-26 04:04:45 +01:00
Adam Wulkiewicz
1588215368 [overlay][get_turns] Fix get_turns(L,A) for opposite last L segment.
For last Linear segment collinear opposite to A segment the pk point was
also used in a check inside collinear_opposite handler. But in the case of
the last segment pk was invalid and set to one of the L points. So the
result of the check was "random".
2015-01-26 04:00:51 +01:00
Adam Wulkiewicz
124e3a3011 [strategies] Improve andoyer_inverse and thomas_inverse implementation style.
Prefix members with m_.
Add braces and spaces.
2015-01-25 22:51:33 +01:00
Adam Wulkiewicz
78ed5e6130 [test][strategies] Add tests for thomas distance strategy. 2015-01-25 19:56:16 +01:00
Adam Wulkiewicz
bf79b25af8 [strategies] Add thomas distance strategy. 2015-01-25 19:55:42 +01:00
Adam Wulkiewicz
4520fbc373 [algorithms] Improve the robustness of thomas_inverse formula.
For lat equal to pi/2 or -pi/2 avoid calculating "infinite" tangent result.
2015-01-25 19:49:44 +01:00
Adam Wulkiewicz
8c04a59076 [algorithms][strategies][test] Unify the geographic inverse formulas interface.
Rename vincenty_inverse azimuth12() to azimuth() and comment out the azimuth21().
Modify the test accordingly.
2015-01-25 18:53:27 +01:00
Adam Wulkiewicz
e233bf9542 [algorithms] Add thomas_inverse formula - Andoyer-Lambert type approx. with second order. 2015-01-25 04:21:35 +01:00
Adam Wulkiewicz
da38bca2d2 [algorithms] Add andoyer_inverse formula. 2015-01-25 04:20:28 +01:00
Barend Gehrels
5a51a2a1c2 [strategies] Move andoyer and vincenty distance strategies from extensions.
Conflicts:

	extensions/test/gis/latlong/Jamfile.v2
	include/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp
	include/boost/geometry/strategies/geographic/andoyer.hpp
	include/boost/geometry/strategies/geographic/distance_vincenty.hpp
	include/boost/geometry/strategies/geographic/vincenty.hpp
	include/boost/geometry/strategies/strategies.hpp
	test/strategies/andoyer.cpp
	test/strategies/vincenty.cpp
2015-01-24 15:26:29 +01:00
Barend Gehrels
cc90919243 Merge pull request #200 from mkaravel/doc/update_release_notes
[doc][release notes] add new algorithm num_segments
2015-01-24 15:09:37 +01:00
Menelaos Karavelas
8c9b65ffbc [doc][release notes] add new algorithm num_segments 2015-01-24 15:59:57 +02:00
Barend Gehrels
933fae343c Merge pull request #199 from mkaravel/doc/update_release_notes
[doc][release notes] add bug fix in closing iterator (support for empty ranges)
2015-01-24 14:20:51 +01:00
Menelaos Karavelas
af7510e94a [doc][release notes] add bug fix in closing iterator (support for empty ranges) 2015-01-24 15:10:09 +02:00
Barend Gehrels
0f6718fd5d Merge pull request #198 from mkaravel/fix/remove_use_of_internal_test_tools
[test][algorithms][distance] replace use of internal Boost.Test tools
2015-01-24 14:04:14 +01:00
Menelaos Karavelas
af9b0c76fe [test][algorithms][distance] replace use of internal Boost.Test tools
by BOOST_CHECK and BOOST_CHECK_CLOSE
2015-01-24 14:51:18 +02:00
Barend Gehrels
9ea6ef83c4 [doc] Finish/clean up 3 release notes of 1.55 2015-01-24 12:28:35 +01:00
Barend Gehrels
65c0b455ad [buffer][doc] Update release notes 2015-01-24 11:50:44 +01:00
Adam Wulkiewicz
74821cd7d5 [doc] Update 1.58 release notes. 2015-01-23 19:14:47 +01:00
Adam Wulkiewicz
705703a0e5 [test][overlay][get_turns][relate] Add the tests for spike for L/A. 2015-01-23 19:08:05 +01:00
Adam Wulkiewicz
8100303092 [overlay][get_turns] Fix the calculation of spike's side.
In get_turn_info L/A for a Linear spike support special case when pj == qj
differently, check it explicitly if it must be handled.
2015-01-23 19:04:00 +01:00
Adam Wulkiewicz
949fd8ac39 [relate] Small optimization in L/A turns analyser, don't reset the watcher twice. 2015-01-23 19:03:39 +01:00
Adam Wulkiewicz
b230040b85 [doc] Update release notes for 1.58. 2015-01-23 17:35:59 +01:00
Adam Wulkiewicz
19df5859cc [test][relate] Add the test for relate(MLs,Poly). 2015-01-23 17:13:32 +01:00
Adam Wulkiewicz
2ac11443fa [relate] Fix relate(MLs,A) - reset state in handler per Ls.
In turns handling code reset exit_watcher and other state variables when
new linestring is detected and previous one was handled.
2015-01-23 17:10:44 +01:00
Adam Wulkiewicz
2493f07792 Merge pull request #196 from mkaravel/fix/closing_iterator_for_empty_ranges
Fix/closing iterator for empty ranges
2015-01-23 05:49:06 +01:00