Commit Graph

5259 Commits

Author SHA1 Message Date
Barend Gehrels
28b42eb5a2 [buffer] review remarks: use strategy for point_in_geometry 2019-02-09 18:15:20 +01:00
Barend Gehrels
1bc84aeef8 Merge branch 'develop' into feature/buffer_point_geographic 2019-02-09 17:03:40 +01:00
Barend Gehrels
787bf255d5 [get_turn_info] fix assertions by checking ranges before 2019-02-09 16:10:40 +01:00
Barend Gehrels
54344382d4 [turns] Fix compilation error by 846d91cac 2019-02-09 15:43:13 +01:00
Adam Wulkiewicz
846d91cacc
Merge pull request #552 from awulkiew/fix/unused_params
[overlay] Fix unused parameters warnings.
2019-02-08 16:51:12 +01:00
Adam Wulkiewicz
4714ea458c
Merge pull request #553 from vissarion/bug/distance_spheroid
Pass spheroid correctly in geographic comparable strategies
2019-02-08 16:49:47 +01:00
Barend Gehrels
a1aa082c17
Merge pull request #551 from barendgehrels/feature/remove_rescaling_preparations
Feature/remove rescaling preparations
2019-02-07 19:09:54 +01:00
Barend Gehrels
82c42d0558 [traversal] process review remarks 2019-02-07 19:06:36 +01:00
Adam Wulkiewicz
784e563522 [extensions][io] Make the code less repeatable. 2019-02-07 15:18:08 +01:00
Adam Wulkiewicz
76772cd0d1 [extensions][io] Add read_shapefile() implementation. 2019-02-07 00:58:17 +01:00
Vissarion Fysikopoulos
05102586b0 [strategy] [test] Return strategy correctly from get_comparable in box-box; add tests for those cases 2019-02-06 15:20:53 +02:00
Vissarion Fysikopoulos
da6a2dd186 [strategy] [test] Return strategy correctly from get_comparable in pt-seg and pt-box; add tests for those cases 2019-02-06 15:11:59 +02:00
Adam Wulkiewicz
661d3b1acd [overlay] Fix unused parameters warnings. 2019-02-05 02:49:22 +01:00
Adam Wulkiewicz
fca0aa9ff4 [srs][strategies] Fix warnings (comparison, unused parameter). 2019-02-04 22:18:59 +01:00
Adam Wulkiewicz
7e5021a532 [srs] Fix get-access of static nadgrids. 2019-02-04 22:17:28 +01:00
Adam Wulkiewicz
bb584a57db [srs] Fix gcc/clang compilation error for shared_grid.
Error: Unable to find function overload
Fix by moving shared_grid to the same namespace where the functions are and bringing it up to the srs namespace with using directive.
2019-02-02 12:41:03 +01:00
Adam Wulkiewicz
28cbd31183 [srs] Add missing include. Remove/comment unused parameters. 2019-02-02 12:38:54 +01:00
Adam Wulkiewicz
05e8acc65e [srs] Fix static towgs84 get-access. 2019-02-01 01:09:29 +01:00
Adam Wulkiewicz
4aac78da1c [strategies] Fix default geographic envelope strategy definition. 2019-02-01 01:08:25 +01:00
Barend Gehrels
e83b8060cc [traverse][buffer] fix wrong traversal when there are multiple paths 2019-01-30 14:35:54 +01:00
Barend Gehrels
346e452f63 [traversal][buffer] take care the right cc operation is selected for buffer 2019-01-30 13:00:35 +01:00
Barend Gehrels
5d14e969cb [traversal] support linked clusters, which can be handled differently (simpler).
They occur more if rescaling is removed and fractions (segment ratios) are double values instead of ratios.
2019-01-30 10:46:35 +01:00
Barend Gehrels
9509d87fc9 Merge branch 'develop' into feature/remove_rescaling_preparations 2019-01-30 09:40:53 +01:00
Vissarion Fysikopoulos
b02c5e2aae [algorithm] [strategy] Change line_interpolate_point to use distance instead of fraction 2019-01-25 16:49:03 +02:00
Adam Wulkiewicz
5ea1abcedc [relate] Use RobustPolicy based on parameters, for consistency with set operations. 2019-01-24 19:10:55 +01:00
Vissarion Fysikopoulos
e20977bd22 [algorithms] Rename PointType to Pointlike for point or multi-point type 2019-01-24 11:24:13 +02:00
Vissarion Fysikopoulos
9cf73a23df [algorithms] Add missing const to function parameter 2019-01-24 11:22:00 +02:00
Barend Gehrels
809d33bb5a Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2019-01-23 21:58:57 +01:00
Barend Gehrels
237adbc421 [overlay] fix administration of traversed rings, a discarded self-turn
should not count as traversed
2019-01-23 21:06:27 +01:00
Barend Gehrels
a1e6d8f04b Merge branch 'feature/remove_rescaling_preparations' of github.com:barendgehrels/geometry into feature/remove_rescaling_preparations 2019-01-23 15:50:39 +01:00
Barend Gehrels
201a361f5a [traverse] fix traverse, use smallest remaining distance for intersection,
but for union use largest
2019-01-23 15:47:11 +01:00
Barend Gehrels
e8156729c8 [traverse] fix early finish, only if next turn index of that operation
is the start index
2019-01-23 15:46:19 +01:00
Barend Gehrels
1300f8f816 [get_turn] add generic preparations, preparing removing rescaling 2019-01-23 15:37:19 +01:00
Barend Gehrels
01812b3152 [traverse] if both turns continue, select the one possible one with the
best remaining distance (either min or max). This changes behavior for union.
2019-01-23 15:34:05 +01:00
Barend Gehrels
4c00d1d460 [enrich] discard blocked clusters, change comments 2019-01-23 15:24:28 +01:00
Barend Gehrels
01a621d9b3 [doc] Year changes, add missing parameters 2019-01-23 10:18:43 +01:00
Barend Gehrels
b012e4f5bf [strategies] remove dead links and inspiration links 2019-01-23 10:04:54 +01:00
Adam Wulkiewicz
e090c027d0 [index] Fix reference to temporary returned by index::indexable<> for types convertible to ValueType. 2019-01-23 01:31:36 +01:00
Barend Gehrels
811e9bad93 [doc] Link to new documentation 2019-01-16 11:56:31 +01:00
Barend Gehrels
b97668c691 [buffer] pass strategies instead of getting them again 2019-01-16 09:40:41 +01:00
Barend Gehrels
4cfbc7dde4 [buffer] add strategy_types to support new code (Adam)
with new buffer (geographic)
2019-01-09 20:34:06 +01:00
Barend Gehrels
253d210c53 Merge branch 'develop' into feature/buffer_point_geographic 2019-01-09 20:24:31 +01:00
Barend Gehrels
dc0f40c16a [buffer] Add buffer_point_circle strategy for geographic 2019-01-09 12:37:22 +01:00
Adam Wulkiewicz
0ee5b554a9 [distance] Add missing include. 2019-01-03 22:02:50 +01:00
Adam Wulkiewicz
335d25dd45 [algorithms][strategies] Decrease distance() strategies dependencies.
Include only required parts of other algorithms.
This removes the rtree dependency from strategies.
2019-01-03 15:49:25 +01:00
Barend Gehrels
c7c22d3380 [buffer] use side instead of side_value, to avoid implementing it
for spherical/geographic. It is not used for Cartesian (because that uses
side-of-intersection). Besides that, there are no differences at all
in results.
2019-01-02 12:40:49 +01:00
Barend Gehrels
af1cb4e52f [overlay] remove area include where not needed 2019-01-02 12:39:23 +01:00
Barend Gehrels
95baf81aa0 [buffer] fix in new code, use tags instead of coordinate system itself 2019-01-01 14:29:33 +01:00
Adam Wulkiewicz
ea1a1fd5a4 [formulas] Remove unneeded and heavy dependency (srs/projections). 2018-12-19 23:02:20 +01:00
Barend Gehrels
e1b6b440cf [buffer] move use_side_of_implementation outside class to use it
in buffered_piece_collection. That is the last usage of the define,
so it is removed now.
2018-12-19 13:26:21 +01:00
Barend Gehrels
92a56f15c6 [buffer] always recalculate robust points 2018-12-19 13:12:59 +01:00
Barend Gehrels
dc688951da [buffer] specialize check_helper_segment 2018-12-19 13:12:29 +01:00
Barend Gehrels
7911971d44 [buffer] extract check_helper_segment to split it in next commit 2018-12-19 12:55:32 +01:00
Barend Gehrels
1468965673 [buffer] split implementation for side (of intersection), depending
on coordinate system
2018-12-19 12:51:33 +01:00
Barend Gehrels
96d0cd8646 [buffer] restructure turn_in_piece_visitor code such that it can be
easier splitted and specialized for geo (no side of intersection)
and cartesian (with side of intersection)
2018-12-19 11:11:09 +01:00
Adam Wulkiewicz
821221ce26 [algorithms] Add missing includes. 2018-12-18 23:17:36 +01:00
Adam Wulkiewicz
e0a4c6b81e [srs] Add missing includes. 2018-12-18 21:37:39 +01:00
Adam Wulkiewicz
2d4bc1e21b [strategies] Add missing includes. 2018-12-18 20:29:58 +01:00
Adam Wulkiewicz
73c1eed947 [algorithm][formulas][geometries][util] Add missing includes. 2018-12-18 20:29:41 +01:00
Adam Wulkiewicz
bb6421a1b4 [extensions] Add missing includes, move traits, fix namespaces, hide debugging code behind #ifdefs etc. 2018-12-18 16:11:20 +01:00
Adam Wulkiewicz
321f01c5dd [strategies] Add missing includes. 2018-12-18 04:36:45 +01:00
Adam Wulkiewicz
1487a86a0e [srs] Add missing includes. 2018-12-18 04:36:19 +01:00
Adam Wulkiewicz
2891ee3d62 [iterators][policies][util][views] Add missing includes. 2018-12-18 04:36:05 +01:00
Adam Wulkiewicz
f224f36983 [geometries] Add missing includes. 2018-12-18 04:35:09 +01:00
Adam Wulkiewicz
c668c217f7 [algorithms] Add missing includes. 2018-12-18 04:34:29 +01:00
Adam Wulkiewicz
3b43fe23e7 [algorithms] Fix includes and reduce dependencies in discrete frechet and hausdorff distance (and other things). 2018-12-18 04:33:15 +01:00
Adam Wulkiewicz
247f657fe1 [index] Fix compilation error in intersection_content(): wrong default strategy definition. 2018-12-17 14:04:10 +01:00
Vissarion Fysikopoulos
d553d82d56 Resolve conflicts and merge with develop 2018-12-17 14:02:20 +02:00
Adam Wulkiewicz
92fb762a2c [strategy] Fix compilation errors in spherical strategies (missing includes and template keywords). 2018-12-17 03:53:55 +01:00
Adam Wulkiewicz
cd863853c2 [envelope] Add missing #include. 2018-12-17 01:45:32 +01:00
Adam Wulkiewicz
9d5d5ae6e8 [strategies] Fix warning, add missing comment at end of #endif. 2018-12-17 01:38:48 +01:00
Adam Wulkiewicz
371767b248 [get_turns] Remove unneeded comment. 2018-12-16 15:18:34 +01:00
Adam Wulkiewicz
4c099bdd50 Merge branch 'develop' into feature/undefined_cs 2018-12-16 15:16:39 +01:00
Adam Wulkiewicz
ee4ebca3c6 [get_turns] Make side calculation for linear endpoints clearer. Don't calculate unnecessary sides. 2018-12-15 19:07:56 +01:00
Adam Wulkiewicz
60d1f8fa28
Merge pull request #531 from barendgehrels/feature/get_turn_info_add_retrieve_policy
Feature/get turn info add retrieve policy
2018-12-14 22:46:47 +01:00
Adam Wulkiewicz
b11ab4c713
Merge pull request #538 from awulkiew/fix/array_init
Add workaround for msvc-12 faulty array initialization.
2018-12-11 14:18:24 +01:00
Adam Wulkiewicz
e710403b4d [core][srs] Add workaround for msvc-12 faulty array initialization. 2018-12-10 22:47:11 +01:00
Barend Gehrels
bac949d20f [get_turn_info] add ranges 2018-12-08 21:39:51 +01:00
Barend Gehrels
2dce9c3c8a [get_turn_info] verify more pk/qk to avoid assertions 2018-12-08 19:31:38 +01:00
Barend Gehrels
bec490d6a1 [get_turn_info] review remark, i/o size use is_last_segment 2018-12-08 18:15:21 +01:00
Barend Gehrels
ca22e2445c [get_turn_info] rename wrongly named variables to more proper symbolic names 2018-12-08 17:45:29 +01:00
Barend Gehrels
a02a4646ce [get_turn_info] revise operations_of_equal, pass sides instead of ranges
because one of the calls had wrong order and yet another version was used.
Besides that it is simpler.
2018-12-08 17:33:56 +01:00
Barend Gehrels
9a6a578bee [get_turn_info] get rid of confusing names 2018-12-08 15:15:46 +01:00
Barend Gehrels
8626ae1655 [get_turn_info] avoid assertion by refactoring away side_calculator_for_endpoint,
such that pk/qk are now retrieved lazily. This also solves part of the
mystery of the points passed in wrong order.
2018-12-08 15:10:51 +01:00
Barend Gehrels
668e9b1707 [get_turn_info] Add conditions to avoid assert in collinear turn handler
and is_spike
2018-12-08 14:54:53 +01:00
Barend Gehrels
7ce6dfc7e6 [get_turn_info] review remarks, add assert
(still asserting sometimes)
2018-12-08 13:40:13 +01:00
Barend Gehrels
35bdde4dd9 [get_turn_info] review remarks, pass ranges first, use iterators, comments 2018-12-08 13:36:55 +01:00
Barend Gehrels
daf901aaf2 [get_turn_info] minor, comments, style 2018-12-05 11:25:17 +01:00
Barend Gehrels
fdac1fb86d [get_turn_info] now pi/qi are neither necessary, being used only once 2018-12-05 11:24:50 +01:00
Barend Gehrels
b6a537fcb4 [get_turn_info] now that buffer does not use assign_policy::apply anymore,
it can be omitted.
2018-12-05 10:44:32 +01:00
Barend Gehrels
3644f81f6a [get_turn_info] avoid typedef, omit pj/qj used once 2018-12-05 10:10:40 +01:00
Barend Gehrels
413e590994 [get_turn_info] rename typedef'ed PointQ to point1_type and similar 2018-12-05 10:09:56 +01:00
Barend Gehrels
e0a44b8fb5 [get_turn_info] rename has_k back to is_last 2018-12-05 10:09:21 +01:00
Barend Gehrels
e5b1711afc [get_turns] fix new code, use correct type 2018-12-05 10:09:04 +01:00
Barend Gehrels
83a1e07506 [buffer] do not calculate robust points in assign, but before.
This is slightly less performant (because it is now also calculated
for non-intersecting segments) but probably not significant,
and, more importantly, rescaling will be gone later
2018-12-04 22:31:59 +01:00
Barend Gehrels
11b33d6966 [buffer] propagate change retrieve -> sub_range to buffer 2018-12-04 22:22:00 +01:00
Barend Gehrels
5cc0ac19aa [get_turn_info] move is_p_last info is_spike_p which avoids many extra
checks and passing parameters. For remaining bools use the appropate
conditions directly
2018-12-04 20:28:43 +01:00
Barend Gehrels
9a31ac712f [get_turn_info] Replace get_point_i/j/k by at, and has_p by size()
to make a range-like concept
Also in review there were remark about i/j/k/l
2018-12-04 19:38:08 +01:00
Barend Gehrels
b38de4468e [get_turn_info] rename RetrieveAdditionalInfoPolicy to UniqueSubRange 2018-12-03 22:40:16 +01:00
Barend Gehrels
6bd612f3e6 [get_turn_info] remove pi,pj / qi,qj from other basic turn handlers
In many places it was not used
2018-12-03 20:02:39 +01:00
Barend Gehrels
c418492e4d [get_turn_info] remove pi,qj / qi,qj from end_points and other analyses
This also removes some debug code
2018-12-03 19:38:04 +01:00
Barend Gehrels
e7ff373b73 [get_turn_info] remove pi,pj / qi,qj from crosses 2018-12-03 19:35:39 +01:00
Barend Gehrels
812dc416ed [get_turn_info] incorporate pi/pj qi/qj into retriever
as suggested by Adam during review
2018-12-03 19:14:40 +01:00
Edward Diener
394f425746 Removed executable permission. 2018-12-03 07:59:11 -05:00
Barend Gehrels
f1b9c19402 [get_turn_info] bugfix, never return false for has_k for areal features 2018-12-01 13:23:14 +01:00
Barend Gehrels
5bf8066f36 [get_turn_info] process review remarks, rename policies, methods
Postpone getting pk/qk in collinear_opposite
2018-12-01 13:22:03 +01:00
Adam Wulkiewicz
eb419836f3 Merge branch 'develop' into bg-prepare 2018-11-29 19:23:53 +01:00
Adam Wulkiewicz
fc34634c08 Merge branch 'develop' into feature/undefined_cs 2018-11-29 17:38:13 +01:00
Adam Wulkiewicz
2e04d7d1a8
[algorithms][doc] Fix discrete_frechet_distance() description. 2018-11-29 14:11:25 +01:00
Adam Wulkiewicz
fbac327ca9
[algorithms][doc] Fix Hausdorff's name. 2018-11-29 13:57:54 +01:00
Adam Wulkiewicz
18ee92853e [io][doc] Add documentation for DSV stream output. 2018-11-29 02:20:01 +01:00
Adam Wulkiewicz
3554207182 [algorithms][doc] Fix description of distance(). 2018-11-29 02:17:19 +01:00
Adam Wulkiewicz
5a1cd9d3aa [algorithms][doc] Fix discrete_hausdorff_distance() arguments' names. 2018-11-29 02:13:37 +01:00
Barend Gehrels
5cb39aa5c6 [get_turn_info] changes in side calculator 2018-11-28 18:53:54 +01:00
Barend Gehrels
2a4777e017 [get_turn_info] undo making side strategy a const reference 2018-11-28 18:13:33 +01:00
Barend Gehrels
065489a1c5 [get_turn_info] don't precalculate pk/qk in robust points 2018-11-28 17:08:08 +01:00
Barend Gehrels
a9dc805c15 [get_turn_info] make methods const& (needed) and remove pk/pq
Therefore the robust_retriever should store its result
2018-11-28 16:38:34 +01:00
Barend Gehrels
ea7ab83bb2 [get_turn_info] retrieve pk/qk on demand 2018-11-28 15:56:55 +01:00
Barend Gehrels
02971ec301 [get_turn_info] remove redundant methods, use robust point methods
for spike calculation
2018-11-28 13:48:33 +01:00
Barend Gehrels
e198744825 [get_turn_info] pass retrieve policies i/o pk/qk 2018-11-28 13:35:36 +01:00
Adam Wulkiewicz
d19254842c Merge branch 'develop' into feature/undefined_cs 2018-11-28 02:35:38 +01:00
Barend Gehrels
e24041efbb [get_turn_info] pass retrieve policy template argument 2018-11-27 21:57:20 +01:00
Barend Gehrels
51c4e277e7 [get_turn_info] call get_swapped_sides for linear/linear 2018-11-27 21:51:48 +01:00
Barend Gehrels
a47fee925c [get_turn_info] Make specific side calculator for other calculations
done in non typical order
2018-11-27 21:50:58 +01:00
Barend Gehrels
dcc6550c1f [get_turn_info] replace real intersection (for the sake of counting)
by direction code (made for that purpose)
2018-11-27 20:23:56 +01:00
Barend Gehrels
c61c15e1db [relate] create specific strategy for relate l/a
Because it is not called from specific get_turn_info context
And uses all points in non typical order (e.g. qi, pj, pk i/o pi, pj, pk)
2018-11-27 20:02:38 +01:00
Barend Gehrels
4fd598395f [get_turn_info] let the base itself return the swapped side calculator
(preparation step for removal of *k methods)
2018-11-27 20:00:53 +01:00
Barend Gehrels
c1a035332a [get_turns] propagate retrieve polices to endpoint function 2018-11-26 23:08:01 +01:00
Adam Wulkiewicz
3ea4043fa0 Merge branch 'develop' into bg-prepare 2018-11-26 18:48:43 +01:00
Barend Gehrels
4484b0e141 [get_turn] remove pk/qk from turn handlers,
replacing it with retrieve policy (only where necessary)
2018-11-25 14:59:04 +01:00
Barend Gehrels
15b0c48eab [get_turns] make retrieve policy for view, replacing the null_policy
which is now redundant.
2018-11-25 13:27:56 +01:00
Barend Gehrels
a51713867b [get_turns] create specific policy for box and pass box as array.
Also pass retrieve policy for ring
2018-11-25 13:14:30 +01:00
Barend Gehrels
d5cc998339 [buffer] move functionality to retrieve next point into retrieve policy 2018-11-25 12:18:00 +01:00
Barend Gehrels
a556829348 [is_valid] revert part of commit 465e487b8c 2018-11-25 11:17:28 +01:00
Barend Gehrels
007414587b [get_turns] let retrieve_policy get point pk and qk 2018-11-24 21:51:00 +01:00
Adam Wulkiewicz
e23b72180b [srs] Fix 'enumeration value not handled in switch' warnings in isea proj. 2018-11-21 22:27:27 +01:00
Barend Gehrels
edac2ef665 [buffer] adapt call to get_turn_info 2018-11-21 19:35:28 +01:00
Barend Gehrels
4d00b88bd8 [overlay] split retrieve policy in two, because they are completely
independent w.r.t. p/q and, when retrieving the *k points, it is
way more convenient if splitted.
2018-11-21 18:24:47 +01:00
Barend Gehrels
8afd678439 [overlay] propagate retrieve_policy to end points 2018-11-21 17:41:47 +01:00
Barend Gehrels
83ccebdfaa [overlay] replace 4 booleans is_p/q_first/last by a RetrievePolicy,
which will later also retrieve pk/qk and next point
2018-11-21 17:03:29 +01:00
Adam Wulkiewicz
a99bcc6f25 [srs] Add workaround for msvc-15 erroreous compilation of member less-comparison. 2018-11-20 21:58:36 +01:00
Adam Wulkiewicz
3825650689 Merge branch 'develop' into bg-prepare 2018-11-07 13:26:01 +01:00
Vissarion Fysikopoulos
a7f5f7eece [algorithms] Add variant support for line_interpolate_point algorithm 2018-10-29 15:47:54 +02:00
Vissarion Fysikopoulos
87dfbe07a8 [doc] Line interpolate point algorithm and strategies 2018-10-26 17:03:24 +03:00
Vissarion Fysikopoulos
d8b95f0e94 Merge branch 'develop' into feature/line_interpolate_point_2 2018-10-24 16:50:53 +03:00
Vissarion Fysikopoulos
bad7897e4a [doc] Line interpolate points algorithm 2018-10-24 10:40:05 +03:00
Vissarion Fysikopoulos
c323850b1f [strategies] Spherical strategy optimization; remove distance strategy getters 2018-10-22 16:31:40 +03:00
Xavier Ventura Simon
3b67dea805 [append] avoid passing temporaries to functions expecting L-value references 2018-10-19 13:07:13 +02:00
Vissarion Fysikopoulos
69a9c9e758 [algorithms] [strategies] Optimize geo strategy for line interpolate points; do not compute distance twice 2018-10-18 17:00:01 +03:00
Vissarion Fysikopoulos
133177a620 [algorithms] Compute length using correct strategy in line interpolate points 2018-10-17 12:38:53 +03:00
Adam Wulkiewicz
4d2c60d23f [algorithms][strategies] Propagate disjoint(P,B) and expand(B,B) strategies into algorithms. 2018-10-15 01:26:17 +02:00
Adam Wulkiewicz
37569190db [formulas] Replace coordinate_system<>::type::units with cs_angular_units<>::type. 2018-10-15 01:24:46 +02:00
Adam Wulkiewicz
6c879b78ac [algorithms][strategies] Implement separate cart/sph P/B within strategies. Change P/B within strategy concept (no struct template parameters). 2018-10-15 01:22:28 +02:00
Adam Wulkiewicz
12ff7a6b8e [is_valid] Fix unused variable warning. 2018-10-14 00:50:04 +02:00
Adam Wulkiewicz
80ffb22901 [strategies][envelope] Simplify envelope::cartesian_point strategy. This also makes template keywords unnecessary. 2018-10-14 00:41:12 +02:00
Adam Wulkiewicz
99293c814f [is_valid] Fix unused variable warning. 2018-10-14 00:33:26 +02:00
Adam Wulkiewicz
fe63e8e27b [index] In intersection_content() explicitly use disjoint B/B strategy. 2018-10-14 00:10:21 +02:00
Adam Wulkiewicz
7dc81a98dd [algorithms] Add missing typename keywords. 2018-10-14 00:09:31 +02:00
Adam Wulkiewicz
7af8085f75 [algorithms][strategies] Move CS-specific code of envelope_segment from algorithms details to strategies.
This fixes circular dependencies.
2018-10-13 22:43:21 +02:00
Adam Wulkiewicz
7d45cae67b [algorithms][strategies] Fix several compilation errors.
Shadowing of template parameters, missing typename keywords, missing
includes.
2018-10-13 13:04:58 +02:00
Adam Wulkiewicz
4ac1f450ff [algorithms][strategies] Move disjoint Box/Box CS- specific code to strategies and use these strategies in algorithms. 2018-10-13 12:46:01 +02:00
Adam Wulkiewicz
d29acd1a2c Merge branch 'develop' into feature/undefined_cs 2018-10-12 22:12:13 +02:00
Adam Wulkiewicz
1564d12b99 [similarity] Fix unused variable warning, formatting and naming in discrete_hausdorff_distance. 2018-10-12 22:10:54 +02:00
Adam Wulkiewicz
ef432a7fd2 Merge branch 'develop' into feature/undefined_cs 2018-10-12 21:19:22 +02:00
Adam Wulkiewicz
fbe8f51cd1 [is_valid] Fix overlapping interiors condition (replace 2x point_on_border with relate). 2018-10-12 19:39:28 +02:00
Adam Wulkiewicz
5847581734 [algorithms] Fix copyright date. 2018-10-12 17:35:47 +02:00
Mateusz Łoskot
f2d5fae490
Replace boost::ignore_unused_variable_warning with boost::ignore_unused
The former is provided by Boost.ConceptCheck.
The latter is an improved equivalent provided by Boost.Core.

Related to #513
2018-10-12 15:16:46 +02:00
Adam Wulkiewicz
38cbc162a0 Merge branch 'develop' into feature/undefined_cs 2018-10-12 03:52:06 +02:00
Adam Wulkiewicz
c7e8540926 [io] In wkt read/write use default P/P equals strategy. 2018-10-12 03:32:58 +02:00
Adam Wulkiewicz
6c322e6625 [algorithms] Update various algorithms after recent changes:
- use equals P/P in equals_point_point extracted from strategy passed to
  algorithm
- remove Midpoint of point_on_border (this exposes an error in is_valid)
- use envelope and expand strategies extracted from strategy passed to
  algorithm
- change union's default strategy (relate v.s. intersection).
2018-10-12 03:26:10 +02:00
Adam Wulkiewicz
203618b404 [algorithms] Remove point_on_border Midpoint parameter as unneeded, cartesian-only hack.
If using this parameter changes the result it means that a different
method should be used. Using it does not solve the real problem, it only
hides it. Consider a polygon in another, touching at the first vertex.
Checking the midpoint of the first segment of contained polygon could
result in finding out that the polygon is inside. However if the segment
was collinear to the containing polygon's segment or this polygon had
vertex exactly at the checked midpoint the result would be the same as
using the first point of the contained polygon.
2018-10-12 03:19:21 +02:00
Adam Wulkiewicz
64863cceeb [strategies] Update WRT recent changes:
- use CS-specific normalization strategies instead of algorithm.
- add lower-level strategies getters (point in point, envelope, expand).
- pass strategy to equals_point_point()
2018-10-12 03:12:34 +02:00
Adam Wulkiewicz
2a93705271 [disjoint][equals][strategies] Move CS-specific code of P/P disjoint/equals to strategies. 2018-10-12 03:12:03 +02:00
Adam Wulkiewicz
17017e4328 [envelope][expand][strategies] Move CS-specific code of envelope and expand to strategies. 2018-10-12 03:05:59 +02:00
Adam Wulkiewicz
94c7c810aa [normalize][strategies] Move CS-specific part of normalization code to strategies. 2018-10-12 03:00:24 +02:00
Adam Wulkiewicz
5b6651d588 [formulas] Fix coordinates comparison warning. 2018-10-12 02:58:53 +02:00
Adam Wulkiewicz
96115158d3 [area][distance] Dispatch on struct level by strategy at resolve_strategy step. 2018-10-12 02:36:37 +02:00
Adam Wulkiewicz
0be273f605 [core][geometries][srs] Add cs::undefined and detail::cs_angular_units.
Remove is_radian and units typedef from non-cartesian cs structs.
2018-10-12 02:27:55 +02:00
Vissarion Fysikopoulos
020be50d58 [tests] Add tests for line interpolate points algorithm with multipoints 2018-10-10 17:08:36 +03:00
Vissarion Fysikopoulos
62ee805cec [algorithms] Use segment as range in line interpolate point 2018-10-05 16:08:25 +03:00
Vissarion Fysikopoulos
bcf2f97237 [algorithms] Add support for multipoint in line_interpolate_point 2018-10-05 14:28:15 +03:00
Vissarion Fysikopoulos
c1625e3134 [algorithms] Change the interface of line_interpolate_point 2018-09-28 10:34:45 +03:00
Vissarion Fysikopoulos
c36a4c29f1 [algorithms] [strategies] [tests] Rename strategy for interpolation of points. 2018-09-25 13:00:34 +03:00
Barend Gehrels
465e487b8c [spike] Fix order problem in is_valid by providing a new overload with
an intuitive order which should replace the original one
2018-09-21 15:05:28 +02:00
Barend Gehrels
50691def6b [sort_by_side] Undo commit 0d78de5 which caused several regressions
in all intersection code. Fix the underlying reason for it (potential
overflow) in another way, by changing rank type to signed_size_type
2018-09-20 15:48:57 +02:00
Vissarion Fysikopoulos
53c5dc1e27 [algorithms] [tests] Add special cases for line_interpolate_point algorithm and tests 2018-09-20 15:56:50 +03:00
Vissarion Fysikopoulos
7740f3282e [algorithms] Calculation types in line_interpolate_point algorithm 2018-09-19 16:53:32 +03:00
Vissarion Fysikopoulos
3fb91edbf8 [algorithms] Change loop in line_interpolate_point for linestrings 2018-09-19 16:46:42 +03:00
Vissarion Fysikopoulos
3de61f311c [algoritms] [tests] Add tests for cartesian line_interpolate_point and fix bug in algorithm. 2018-09-19 16:33:32 +03:00
Vissarion Fysikopoulos
6c68f427dd [algorithms] Add line_interpolate_point algorithm for linestrings 2018-09-19 15:49:11 +03:00
Vissarion Fysikopoulos
b2090ed448 [strategy] Add cartesian strategy for line interpolate point algorithm 2018-09-17 15:23:42 +03:00
Adam Wulkiewicz
651b3dba77 [similarity] Add missing #ifdefs for headers. 2018-09-15 14:01:30 +02:00
Adam Wulkiewicz
0ca58b8176 [similarity][doc] Uncomment examples in qbk sections. 2018-09-15 00:50:55 +02:00
Adam Wulkiewicz
6b7272495b [geometry] Add similarity algorithms includes to the main header geometry.hpp 2018-09-15 00:39:49 +02:00
Adam Wulkiewicz
bf62e05e23
Merge pull request #496 from awulkiew/feature/projections_interface
Add run-time and compile-time projections/transformations parameters.
2018-09-14 23:37:42 +02:00
Adam Wulkiewicz
37e6eeaceb
Merge pull request #490 from yaghya/feature/similarity
Adding Frechet distance And Hausdorff distance algorithms to calculate Simmilarity Between Geometries
2018-09-14 23:35:46 +02:00
Yaghyavardhan singh khangarot
5ee034702b [doc][similarity] updated 2018-08-31 02:57:17 +05:30
Yaghyavardhan singh khangarot
329652bdec [doc][similarity] Updated for geographic strategies 2018-08-30 23:21:33 +05:30
Barend Gehrels
f7c2da0a0f [DISSOLVE] Avoid compiler warning for area type / coordinate type 2018-08-30 13:53:51 +02:00
Barend Gehrels
faad8e3294 [DISSOLVE] Fix dereferencing elements from collection being modified 2018-08-30 13:52:55 +02:00
Adam Wulkiewicz
5eb599eae9 [strategies] Add commented code in geo inters. strategy (for future experiments). 2018-08-27 23:47:26 +02:00
Adam Wulkiewicz
ece82259a1 [formulas] Handle division by 0 in Sjoberg formula. 2018-08-27 23:45:09 +02:00
Yaghyavardhan singh khangarot
475e53b870 [doc][similarity] updated 2018-08-26 20:50:56 +05:30
Adam Wulkiewicz
8c4ba19f11 [srs] Make function input arguments const in healpix projection. 2018-08-16 15:55:27 +02:00
yaghyavardhan singh khangarot
f526bb8f54
Merge branch 'develop' into feature/similarity 2018-08-15 20:15:42 +05:30
Yaghyavardhan singh khangarot
54b71c1581 [doc][similarity] Added Strategies in the documentation 2018-08-14 16:31:43 +05:30
Yaghyavardhan singh khangarot
da3ecd4c6d [doc][similarity] Updated documentation for the similarity algorithms for different distance strategies 2018-08-13 17:07:52 +05:30
Yaghyavardhan singh khangarot
50ca27ebb9 [doc][similarity] Updated documentation for the similarity algorithms 2018-08-12 05:07:16 +05:30
Dane Springmeyer
0d78de5974
Fix potential unsigned integer overflow in find_polygons_for_source
An invalid polygon will trigger overflow when `previous_rank` is `0` as `previous_rank - 1` will overflow. This can be detected by passing an invalid polygon like `[[8128,3600],[8224,3664],[8128,3600]]` into `boost::geometry::intersection` and compiling with `-fsanitize=undefined`
2018-08-11 09:01:40 -07:00
Adam Wulkiewicz
5357c4f15c [srs] Disable str_cast specializations with C++11 features in MSVC<=12. 2018-08-01 15:15:02 +02:00
Adam Wulkiewicz
319ee31d6a [srs] Disable str_cast specializations with C++11 features in MSVC<=12. 2018-08-01 14:09:58 +02:00
Yaghyavardhan singh khangarot
a9ac6d87b9 [algorithms]Rename Hausdorff Distance and Frechet Distance algorithms 2018-07-31 22:03:21 +05:30
Adam Wulkiewicz
3c8714c600 [algorithms][formulas][strategies] Fix unused variable warnings. 2018-07-30 04:58:06 +02:00
Adam Wulkiewicz
e2ad044720 [algorithms][formulas][strategies] Fix unused variable warnings. 2018-07-29 22:17:40 +02:00
Adam Wulkiewicz
7f27a9f995 Merge branch 'develop' into feature/projections_interface 2018-07-25 17:07:38 +02:00
Adam Wulkiewicz
79ef70f37b
Merge pull request #486 from BoostGSoC18/feature/geodesic_direct
Introduce formula for Karney's direct geodesic method
2018-07-25 14:59:48 +02:00
Adam Wulkiewicz
d3fd9e6d61 Merge branch 'develop' into bg-prepare 2018-07-23 03:09:22 +02:00
Adeel Ahmad
1bfeba16aa
[strategies] Add distance strategy for Karney's inverse formula 2018-07-20 13:52:20 +05:00
Vissarion Fysikopoulos
142ea74cb7 [strategies] Line interpolate point spherical strategy 2018-07-19 14:36:46 +03:00
Adam Wulkiewicz
01c7c4b6e9 [srs] Fix gcc8 warnings (catching polymorphic type by value). 2018-07-19 02:01:00 +02:00
Adeel Ahmad
2ff1824683
[formulas][test] Update copyright information 2018-07-16 19:06:20 +05:00
Adam Wulkiewicz
1b3cab85bd [srs] Add workaround for msvc-12 faulty array initialization. 2018-07-16 05:21:06 +02:00
Adam Wulkiewicz
f3e12546a0 [srs] Attempt to fix invalid constant expression preventing compilation with some versions of GCC. 2018-07-15 19:14:34 +02:00
Adam Wulkiewicz
3f75284e24 Merge branch 'develop' into bg-prepare 2018-07-15 18:35:01 +02:00
Adeel Ahmad
b44e3aed59
[formulas] Remove unused variable a12 in karney_inverse 2018-07-13 12:15:35 +05:00
Adeel Ahmad
55c1691ddc
[formulas] Fix incorrect argument to meridian_length() function 2018-07-13 12:08:00 +05:00
Vissarion Fysikopoulos
b768e811c1 [algorithms] [strategies] Line interpolate point geographic strategy 2018-07-12 15:32:57 +03:00
Vissarion Fysikopoulos
bcfe022338 [Algorithms] Interface of line_interpolate_point algorithm 2018-07-11 16:21:56 +03:00
Yaghyavardhan singh khangarot
ff68b40cad [algorithms] Updated 2018-07-10 15:18:49 +05:30
Adeel Ahmad
daf03b4888
[formulas] Use namespace alias se for series_expansion in karney_inverse 2018-07-10 11:52:20 +05:00
Adeel Ahmad
6432dfe96c
[formulas][util] Reformat code in karney_inverse to use coefficient containers 2018-07-10 11:36:33 +05:00
Adam Wulkiewicz
50dcb6d4ae
Merge pull request #488 from jonasdmentia/fix/closing_iterator_returns_reference_to_temp
Fix/closing iterator returns reference to temp
2018-07-09 13:43:46 +02:00
Adam Wulkiewicz
9d763b9e52
Merge pull request #499 from vissarion/fix/expand_make_inverse
Fix make_inverse and expand issue
2018-07-09 13:39:36 +02:00
Adeel Ahmad
73a2e2b8a4 Merge branch 'feature/geodesic_direct' into feature/karney_inverse 2018-07-09 16:15:41 +05:00
Vissarion Fysikopoulos
f04c25f43d [algorithms] [util] Rename is_inverse utility and update copyright notes 2018-07-09 12:58:34 +03:00
Yaghyavardhan singh khangarot
dcae80d481 [algorithms] Updated hausdorff_distance.hpp 2018-07-09 10:14:22 +05:30
Yaghyavardhan singh khangarot
3e9f52773d [algorithms] Updated hausdorff distance algorithm using R-tree 2018-07-08 18:41:21 +05:30
Vissarion Fysikopoulos
65084bb854 [util] Use exact coordinate check for inverse box 2018-07-06 16:43:43 +03:00
Adeel Ahmad
1a52eaca9c
[formulas] Resolve inaccuracy in starting point for Newton's method 2018-07-06 18:27:49 +05:00
Vissarion Fysikopoulos
9efcb83bb3 [algorithms] [tests] Move include for make.hpp to correct place 2018-07-06 16:08:01 +03:00
Vissarion Fysikopoulos
7072ef0212 [util] Use is_inverse utility to detect inverse boxes 2018-07-06 16:03:56 +03:00
Yaghyavardhan singh khangarot
dde8666d16 [algorithms] Updated frechet and hausdorff distance algorithm 2018-07-06 03:51:02 +05:30
Phillip Palk
5a0964886a [iterators] fix calculation of range's const reference type inside closing_iterator and ever_circling_iterator. 2018-07-05 23:07:36 +10:00
Yaghyavardhan singh khangarot
a34d4a0eb7 [algorithms] Updated hausdorff distance algorithm 2018-07-04 20:28:20 +05:30
Adam Wulkiewicz
7a5e208b37 Merge branch 'develop' into bg-prepare 2018-07-04 16:54:48 +02:00
Adam Wulkiewicz
81ab3a1e7c [distance] Fix std::min() call with msvc. 2018-07-04 16:54:02 +02:00
Vissarion Fysikopoulos
fbc79c807b Merge remote-tracking branch 'origin/develop' into feature_test_distance_any_geo 2018-07-04 16:16:51 +03:00
Vissarion Fysikopoulos
c1dd9278b9 Fix conflicts by merging to develop 2018-07-04 15:55:09 +03:00
Vissarion Fysikopoulos
38c77cf435 [algorithms] Avoid normalization for boxes created by make_inverse 2018-07-04 14:52:41 +03:00
Adeel Ahmad
4f04310859
[formulas][test] Add Karney's inverse method in inverse test cases
The compilation is successful with gcc version (7.2.0),
but not with version (5.4.1). The accepted tolerance
is set to (0.0000001). Currently, all tests are not
passing, which indicates an error in the calculation.

Additionally, some changes have been made in
karney_inverse.hpp
2018-07-03 11:02:48 +05:00