Commit Graph

4116 Commits

Author SHA1 Message Date
Barend Gehrels
56b5d7bf8a [overlay] fix bug where self-turn was not startable, and therefore an
interior ring was missing
2017-07-31 12:14:40 +02:00
Barend Gehrels
d25fe47a93 [overlay] fix case which was not taking correct rank 2017-07-26 14:26:44 +02:00
Barend Gehrels
0cd5f968cc [traverse] belongs to previous commit, remaining distance needs also
to be calculated for ii turns etc, for clusters.
2017-07-19 19:05:07 +02:00
Barend Gehrels
4082167be8 [traverse] added local typedef and comments to aggregate_operations 2017-07-19 19:03:24 +02:00
Barend Gehrels
982d4936fa [traverse] remove unused function 2017-07-19 19:00:41 +02:00
Barend Gehrels
174ef5e38c [overlay] fix cases where two arcs leave a cluster in same direction,
one longer as the other. Remaining distance needs to be considered.
Including testcase case_recursive_boxes_64 which is fixed by this issue.
2017-07-19 18:59:55 +02:00
Barend Gehrels
497e055639 [overlay] don't check startable for determining has_traversed_turn,
and also check for turns both going in opposite direction (so uu for int)
This fixes case_recursive_boxes_63 (but not for difference yet)
2017-07-19 14:02:59 +02:00
Barend Gehrels
9acd4dcbba [overlay] dont excluded colocated self-turns from check within other geometry 2017-07-12 09:56:23 +02:00
Barend Gehrels
1b71880b4f [intersection] fix intersection pattern where it accidentally took last
one instead of penultimate
2017-07-08 12:45:24 +02:00
Barend Gehrels
8012d17ca6 Merge branch 'feature/intvalid' into develop 2017-07-05 17:08:52 +02:00
Barend Gehrels
de8273ab92 [is_valid] fix, using touch_only information, and checking border_point
instead of touching point
2017-07-05 14:37:29 +02:00
Adam Wulkiewicz
a51a331df9 Merge pull request #405 from awulkiew/feature/area_strategy
Add missing propagation of area strategy in buffer, is_valid and overlay.
2017-07-05 13:51:43 +02:00
Adam Wulkiewicz
0b62b81fb4 Merge pull request #403 from awulkiew/fix/non_cart_intersection
Handle degenerated segments near poles in spherical and geographic intersection strategies.
2017-07-05 13:51:31 +02:00
Barend Gehrels
4ccd4e43ce [is_valid] add extra info to turn to determine validity
Including unit test adaptions. Results are verified visually with SVG
2017-07-05 13:06:15 +02:00
Adam Wulkiewicz
a2168a97d9 [overlay] Add missing const&. 2017-07-04 16:03:54 +02:00
Adam Wulkiewicz
e241a9a0b3 Merge pull request #408 from vissarion/patch-3
Fix problematic initialization of strategy passed as contant reference
2017-07-04 17:02:52 +03:00
Adam Wulkiewicz
a911872bf5 [disjoint] Remove unwanted double ; 2017-07-04 15:58:05 +02:00
Adam Wulkiewicz
41cb466a34 Merge pull request #406 from vissarion/patch-1
Fix uninitialized variable in topology check of multilinestrings
2017-07-04 16:55:53 +03:00
Vissarion Fisikopoulos
b6bfbe514a Update get_turn_info_helpers.hpp 2017-07-04 11:17:13 +03:00
Vissarion Fisikopoulos
bcae6f1e81 Update box_box.hpp 2017-07-04 09:58:05 +03:00
Vissarion Fisikopoulos
7ad0c0b8ff Update topology_check.hpp 2017-07-04 09:38:49 +03:00
Adam Wulkiewicz
47e5cf5c96 [extensions][dissolve] Use area strategy got from intersection strategy. 2017-07-04 04:48:13 +02:00
Adam Wulkiewicz
8a12ebdb69 [buffer][is_valid][overlay] Use area strategy got from intersection strategy. 2017-07-04 04:45:37 +02:00
Adam Wulkiewicz
4122cab822 [correct] Allow passing area strategy into correct(). 2017-07-04 04:42:13 +02:00
Adam Wulkiewicz
1026f9fd36 [strategies] Handle degenerated segments near poles in spherical and geographic intersection strategies. 2017-07-02 19:04:12 +02:00
Adam Wulkiewicz
0a56ddd654 [formulas] Fix VS std::max compilation error in vertex_longitude. 2017-06-30 17:00:00 +02:00
Barend Gehrels
60c9b096b1 Merge branch 'feature/intvalid' into develop
# Conflicts:
#	include/boost/geometry/algorithms/intersects.hpp
#	include/boost/geometry/algorithms/touches.hpp
2017-06-27 20:33:46 +02:00
Barend Gehrels
58e1c0bc51 [is_valid] remove false negatives from two touching interior rings 2017-06-25 17:18:26 +02:00
Barend Gehrels
c7c4800ca6 [is_valid] remove false negatives from two touching exterior rings, touching
each other at the touching point of an interior ring
2017-06-25 16:59:34 +02:00
Barend Gehrels
7ada36fab2 [overlay] remove debug code, submitted by accident 2017-06-25 14:17:51 +02:00
Barend Gehrels
ee3f5ea20d [union] fix generating of false interiors by checking count_left 2017-06-25 13:56:01 +02:00
Barend Gehrels
4a116eb66e [overlay] fix layout 2017-06-25 13:04:23 +02:00
Barend Gehrels
bfc3785cad [overlay] Dont consider turns already discarded 2017-06-25 12:10:17 +02:00
Barend Gehrels
16213a6b1d [union] Fix handling unions with 3 or more open spaces, where it
needs to check region ids to select the right to continue with
2017-06-25 12:04:49 +02:00
Barend Gehrels
e36f96d13c [overlay] Prepare aggregation to be used for unions too 2017-06-25 11:28:34 +02:00
Barend Gehrels
63ee8f1fea [overlay] Dont discard any self-turns in clusters 2017-06-25 11:27:19 +02:00
Barend Gehrels
6f55525db5 [traverse] remove is_touching as a reference parameter in several
methods, was not used anymore
2017-06-14 12:16:34 +02:00
Barend Gehrels
f832c2d334 [traverse] move reversal to union itself to finetune that later,
and pass open_count
2017-06-14 12:10:17 +02:00
Barend Gehrels
2ac50e8b3d [overlay] split sourcefile, extract patterns 2017-06-14 11:37:24 +02:00
Barend Gehrels
437be1b2b0 [overlay] fix cases with mixed operations (no testcase) 2017-06-14 10:29:15 +02:00
Barend Gehrels
604be619d9 [overlay] fix aggregations, include blocked as from 2017-06-14 10:28:47 +02:00
Barend Gehrels
412fc452da [overlay] Relax case 2, allow both continue and intersection
Fixes new #case_recursive_boxes_53
2017-06-13 20:29:25 +02:00
Barend Gehrels
31b2a89c6d [overlay] remove duplicate condition 2017-06-13 20:18:51 +02:00
Barend Gehrels
2dbc55ed7d [dissolve] fix compilation errors reported by Johan 2017-06-12 20:30:09 +02:00
Barend Gehrels
3cd4f325ec [traverse] fix another similar case #case_137_multi now with two
different outgoing arcs
2017-06-07 22:48:18 +02:00
Barend Gehrels
9993d3697f [traverse] fix cases where touching interior/exterior is approached
from two different directions, and leave in one direction
2017-06-07 22:35:44 +02:00
Barend Gehrels
ef22284629 [traverse] refactor new method to make more options 2017-06-07 22:28:57 +02:00
Barend Gehrels
bf159328e5 [traverse] fix errors in isolation detection in switch detector by
taking clusters into account
2017-06-07 15:20:35 +02:00
Barend Gehrels
db372517b4 [traverse] fix cases where two polygons both have a touching interior ring,
which is equal to itself
2017-06-07 15:06:51 +02:00
Barend Gehrels
95454e4c8e [traverse] redo, isolated MUST be checked. Checking interior/exterior ring is
then redundant again, besides that it does not work for differences.
This breaks case_134 but that must be fixed differently.

After this change, recursive_polygons test is flawless
w.r.t. intersections/unions (validity/with self turns not yet checked)
2017-06-05 17:45:51 +02:00