Commit Graph

5259 Commits

Author SHA1 Message Date
Barend Gehrels
e46c6ee70f [fix] add method which was added later, for integer types 2019-06-26 14:54:58 +02:00
Barend Gehrels
c905acf964 [const] disable various compiler warnings 2019-06-26 14:53:35 +02:00
Barend Gehrels
6dcf062d8f [valid] Fix warning (iterator variables shadow earlier declarations)
by moving the code to a specific function
2019-06-26 14:51:54 +02:00
Barend Gehrels
283a0bc571 [buffer] fix line/line intersection point calculation for some cases,
now using general form (which will be used later more widely). This fixes
some numerical issues.
Including testcase, reported as #596
2019-06-26 14:45:42 +02:00
Vissarion Fisikopoulos
a38924a0f2
Merge pull request #595 from vissarion/fix/dist_pt_seg_short
Fix inaccuracy in geographic point-segment distance computation
2019-06-25 12:59:49 +03:00
Vissarion Fysikopoulos
5e0e1cf75c [strategy] Put bisection method for distance pt-sgmt into detail namespace 2019-06-25 12:31:30 +03:00
Adam Wulkiewicz
d772e36632 [algorithms] Propagate CS-specific strategies in algorithms. 2019-06-24 12:20:04 +02:00
Adam Wulkiewicz
7bf8c0dca8 [strategies] Add headers to strategies.hpp 2019-06-24 12:19:21 +02:00
Adam Wulkiewicz
cf6d5b4618 [index] Allow passing strategy into the rtree with bgi::parameters<>. 2019-06-24 12:18:45 +02:00
Adam Wulkiewicz
147c5711c0 [strategies] Implement index/rtree (umbrella) strategies. 2019-06-24 12:17:52 +02:00
Adam Wulkiewicz
be9114bb66 [policies] Get CSTag in rescale_policy_type, by default taken from Geometry type. 2019-06-24 12:16:35 +02:00
Adam Wulkiewicz
1d07ed1b3d [policies] Get default compare strategy with 2 different point types. 2019-06-24 12:14:48 +02:00
Adam Wulkiewicz
9777b2a0cb [strategies] Add strategies getters in disjoint and distance strategies (Seg/Box). 2019-06-24 12:09:06 +02:00
Adam Wulkiewicz
4c40b5ffb1 [strategies] Do not use BoxIn type as temporary type (may be non-mutable). 2019-06-24 12:05:07 +02:00
Adam Wulkiewicz
f62214787d [strategies] Add model() getter to geographic side strategy. 2019-06-24 12:04:07 +02:00
Adam Wulkiewicz
a24578181f [strategies] Allow now specifying Point types in point_in_poly_* strategies. 2019-06-24 12:03:23 +02:00
Vissarion Fysikopoulos
d226019924 [strategies] Initialize delta_g4 in newton method for pt-segment distance 2019-06-18 15:17:10 +03:00
Vissarion Fysikopoulos
5e509c0639 [stategies] Add meridian case optimization for degenerate segments 2019-06-18 15:15:11 +03:00
Vissarion Fysikopoulos
30979a59e0 [strategies] Avoid divisions by zero 2019-06-13 12:09:43 +03:00
Barend Gehrels
d5d0564a1d [doc] Document define. 2019-06-05 10:48:39 +02:00
Adam Wulkiewicz
ec62cc9afa [strategies] Refactor within/covered_by Box/Box strategies. 2019-06-04 22:43:29 +02:00
Adam Wulkiewicz
2832223ba6 [algorithms][strategies] Propagate CS-specific strategies in algorithms. 2019-06-04 20:04:38 +02:00
Vissarion Fysikopoulos
ffdf6f8dd2 [stategies] Remove unused calls to formulas for azimuth and distance computation 2019-05-31 16:05:07 +03:00
Barend Gehrels
5eed0d779d [TEST] Add extra define BOOST_GEOMETRY_USE_KRAMER_RULE to indicate
using the Kramer-rule intersection strategy.
This can change some test behaviour
2019-05-29 15:53:29 +02:00
Vissarion Fysikopoulos
ea6dcda82c [strategies] [test] Use correctly units in pt-seg distance geo strategy 2019-05-28 16:37:59 +03:00
Vissarion Fisikopoulos
becbecc0a4
[srs] [projections] Fix call to pj_qsfn in cea 2019-05-21 14:24:10 +03:00
Barend Gehrels
229b42aee8 [TURNS] Disable start-turns, and take the closer point to measure distance,
which makes that measurement more precise.
2019-05-15 12:55:38 +02:00
Barend Gehrels
bde086d944 [traverse] remove condition for self-turn 2019-05-01 22:08:56 +02:00
Barend Gehrels
9d5b160584
Merge pull request #582 from barendgehrels/feature/add_start_turn
Feature/add start turn
2019-05-01 22:08:02 +02:00
Barend Gehrels
6b4ef246c3 [overlay] apply review remarks 2019-05-01 22:00:47 +02:00
Barend Gehrels
59a52077c7 [overlay] fix and review remarks 2019-04-26 17:16:12 +02:00
Tinko Bartels
cfb36adf6e Matrix transformer support for arbitrary dimensions 2019-04-25 12:22:52 +02:00
Vissarion Fysikopoulos
f24542af2e [test] Distance pt-seg; another test case for point on the othe side of segment 2019-04-24 17:40:21 +03:00
Vissarion Fysikopoulos
720a02cd37 [strategies] Use constant references in distance_cross_track geographic strategy 2019-04-24 16:49:58 +03:00
Vissarion Fysikopoulos
17831d71f8 [strategies] Bisection method for geo distance pt-sgmt 2019-04-23 16:50:10 +03:00
Vissarion Fysikopoulos
0f41f9b29b [strategies] Better start estimation for Newton method in goe distance pt-sgmt 2019-04-23 14:42:11 +03:00
Vissarion Fysikopoulos
88fde34c13 [strategies] Create newton method function 2019-04-22 16:14:20 +03:00
Barend Gehrels
ce4307bdfb [get_turn_info] Review remark, get cs tag from umbrella strategy 2019-04-17 13:54:44 +02:00
Adam Wulkiewicz
cc5e7d5ffe [strategies] Implement spherical point_order strategy based on azimuth.
Commented-out for now.
2019-04-13 04:48:07 +02:00
Adam Wulkiewicz
25a4e6a2c7 [formulas][strategies] Fix potential warning. Add brackets. 2019-04-03 15:51:00 +02:00
Barend Gehrels
68f87ebfca [traversal] avoid early finish when no points were included 2019-04-03 13:57:44 +02:00
Barend Gehrels
bfe704419f [overlay] add starting turns, and improvements in turn_info w.r.t.
collinearity
2019-04-03 13:57:17 +02:00
Adam Wulkiewicz
93486d52d4 Merge branch 'develop' into bg-prepare 2019-04-02 05:26:24 +02:00
Adam Wulkiewicz
960ec9ed5d [index] Implement metafunc convertible_type and use it in count().
This is a workaround for gcc-4.6 compilation error.
2019-04-01 22:24:59 +02:00
Adam Wulkiewicz
9f166fc9ef [index][rtree] Remove extra ';' 2019-03-31 17:26:21 +02:00
Adam Wulkiewicz
6dfdf2bf2c [index][rtree] Add workaround for GCC treating member variable less comparison as member template. 2019-03-31 17:25:19 +02:00
Adam Wulkiewicz
b6c6ede9f5 [index][rtree] Fix rstar's choose_next_node (wrong children analyzed and more).
- Use correct indexes of first n children with smallest content. This
  fixes the case of choosing by nearly minimum overlap cost.
- Replace tuple with struct with meaningful members to increase
  readability.
- Create container for contents with ctor instead of resize(). This is
  also a workaround for the msvc-10..12 container::vector issue
  (https://github.com/boostorg/container/issues/112).
2019-03-29 05:11:01 +01:00
Adam Wulkiewicz
22f1f0e37c [disjoint] Remove unused typedef. 2019-03-28 14:07:52 +01:00
Adam Wulkiewicz
58a730ee38 Merge branch 'develop' into bg-prepare 2019-03-27 20:39:32 +01:00
Adam Wulkiewicz
e367b63c21 Merge branch 'develop' into fix/disjoint_box_poly 2019-03-27 14:28:28 +01:00
Vissarion Fisikopoulos
8f69777215
Fix disjoint(segment, box) in spherical_equatorial and geographic CS (#580)
* [algorithms] Remove azimuth optimization from spherical/geo disjoint segment-box
2019-03-27 10:01:14 +02:00
Adam Wulkiewicz
9d60791702 [disjoint] Implement disjoint Box/Poly using Box/Seg strategy and fix disjoint Seg/Box. 2019-03-26 17:43:06 +01:00
Adam Wulkiewicz
7c0449711e [strategy] Add disjoint Seg/Box strategy getter to intersection strategies. 2019-03-26 17:41:10 +01:00
Vissarion Fysikopoulos
ff36bf3ba9 [formula] Remove unused variable from karney_direct 2019-03-20 14:45:33 +02:00
Vissarion Fisikopoulos
946426751c
Merge pull request #562 from kenba/develop
Update series_expansion.hpp
2019-03-20 11:14:03 +02:00
Nikita Kniazev
c24f8c4bfc interpolate_point_spherical: inline var initialization
Fixes msvc < 12 failures.
2019-03-20 01:06:51 +03:00
Adeel Ahmad
05ae463f4e
[util] Remove math::NaN() function
NaN was previously being used when the angle was greater
than 90 deg. Since we now use the maximum angle value [-90, 90]
this function is no longer required.
2019-03-17 11:30:18 +01:00
Adeel Ahmad
3b6ad807c3
[formulas][util] Remove math::round_angle() function and use original value instead 2019-03-17 11:23:37 +01:00
Adam Wulkiewicz
7f703fd5a6 [strategies][buffer] Make sure geographic azimuth is in valid range in geographic_point_circle. 2019-03-15 17:30:38 +01:00
Adam Wulkiewicz
e314795dbb [formulas] Add asserts for validity of azimuth passed to thomas_direct and differential_quantities. 2019-03-15 17:29:02 +01:00
Vissarion Fysikopoulos
220fe13890 [strategy][test] Robust acos call and tests 2019-03-15 14:43:45 +02:00
Adam Wulkiewicz
392f73e796
Merge pull request #570 from vissarion/fix/vertex_longitude
Fix for distance between geometries
2019-03-14 19:41:27 +01:00
Vissarion Fysikopoulos
9a79ed3f7a [strategy] Swap coordinates before calling vertex longitude formula from distance segment box 2019-03-13 15:43:12 +02:00
Adam Wulkiewicz
c3a18fbfa4 [formulas] Handle azimuth sign 0 in differential_quantities calculation. 2019-03-12 19:32:58 +01:00
Adam Wulkiewicz
37431351de [formulas] Fix reduced length sign on equator for negative distance. 2019-03-12 01:42:01 +01:00
Adam Wulkiewicz
cbc648e9aa [formulas] Allow negative distance in direct formulas. 2019-03-12 01:35:06 +01:00
Adam Wulkiewicz
e361c45a35 [extensions][io][shapefile] Support M and Z geometries. 2019-03-10 20:07:06 +01:00
Adam Wulkiewicz
4a6d8075ec Merge branch 'develop' into feature/point_order 2019-03-08 16:56:33 +01:00
Adam Wulkiewicz
09c7d02c5d Merge branch 'develop' into feature/read_shapefile 2019-03-08 16:56:09 +01:00
Barend Gehrels
6344e3c72e
Merge pull request #563 from barendgehrels/enhance/more-remove-rescale-preparations
Enhance/more remove rescale preparations
2019-03-06 09:47:34 +01:00
Adam Wulkiewicz
592b774bf4 [strategies][io] Add IO umbrella strategies (returning point-order and within strategies). 2019-03-06 02:10:26 +01:00
Adam Wulkiewicz
bd2dc54e8c [extensions][io] Check rings point-order and assign inner rings. 2019-03-06 02:08:10 +01:00
Barend Gehrels
24455aeab8 changes in comments 2019-03-05 20:31:20 +01:00
Adam Wulkiewicz
e168cd60e4 Merge branch 'develop' into bg-prepare 2019-03-05 13:35:49 +01:00
Adam Wulkiewicz
2c44cfcdb6 [line_interpolate] Fix compilation error, change names. 2019-03-04 18:24:33 +01:00
Adam Wulkiewicz
6de86f8a71 [point_order] Cleanup, comment. Remove unneeded ctor. Remove empty namespace. 2019-03-04 18:11:22 +01:00
Adam Wulkiewicz
53c5ffdd17 [remove_spikes] Replace deque with vector. Instead of modifying the container use iterators to track front and back. 2019-03-04 17:29:40 +01:00
Adam Wulkiewicz
3b5b66705c [point_order] Update size of range when spikes are removed from the beginning/end of the range. 2019-03-04 17:27:54 +01:00
Barend Gehrels
7daee6f273 [buffer] Extract buffer_box to separate heaaderfile 2019-03-02 13:42:49 +01:00
Barend Gehrels
07dd079033 [CONFIG] Use a positive define (USE_RESCALING) instead of an unclear negative
one (NO_ROBUSTNESS). Precedes removing of the rescaling.
2019-03-02 13:39:50 +01:00
Ken Barker
bc5574408c Update series_expansion.hpp
Change evaluate_coeffs_C3 for issue #560
2019-03-02 08:37:13 +00:00
Adam Wulkiewicz
85fee8b95f [point_order][strategies] Add calculate_point_order() algorithm with stratgies. 2019-03-01 21:27:34 +01:00
Adam Wulkiewicz
7d6cf1165b [extensions][nsphere] Fix compilation errors. 2019-03-01 16:22:21 +01:00
Adam Wulkiewicz
21e1bea47b Merge branch 'develop' into bg-prepare 2019-02-28 02:33:33 +01:00
Vissarion Fisikopoulos
1c0f3e398a
Merge branch 'develop' into feature/line_interpolate_point_2 2019-02-27 15:13:37 +02:00
Vissarion Fysikopoulos
eea4d04abe [algorithm] Fix indentation in line_interpolate 2019-02-27 15:12:13 +02:00
Vissarion Fysikopoulos
03036b4b62 [algorithm] [strategy] [test] [doc] Rename line_interpolate_point to line_interpolate 2019-02-19 16:32:22 +02:00
Vissarion Fysikopoulos
c6a9739f48 [strategy] Change scope in some variable in line_interpolate spherical strategy 2019-02-19 09:21:55 +02:00
Vissarion Fysikopoulos
163797ee0b [strategy] [formula] Create line_interpolate formula for spherical cs 2019-02-18 17:06:52 +02:00
Vissarion Fysikopoulos
d0331aa3eb [algorithm] [test] Assertion for possible division with zero in line_interpolate 2019-02-18 14:43:53 +02:00
Vissarion Fysikopoulos
f83cb027b5 [strategy] [test] Use radius in spherical line_interpolate strategy 2019-02-18 14:04:32 +02:00
Vissarion Fysikopoulos
4646d12521 Merge remote-tracking branch 'origin/develop' into feature/line_interpolate_point_2 2019-02-15 15:54:29 +02:00
Barend Gehrels
c46e4625a7 [buffer] rename strategy (review result) 2019-02-13 11:44:13 +01:00
Vissarion Fysikopoulos
0ab93f5280 [strategy] Remove azimuth precomputation from line_interpolate strategies 2019-02-12 16:54:04 +02:00
Vissarion Fysikopoulos
0472b64b52 [strategy] Rename template parameters in line_interpolate strategies 2019-02-12 13:19:30 +02:00
Vissarion Fysikopoulos
3194d6e2d5 [strategy] Fix selection of calculation types for line_interpolate and correct indentation 2019-02-12 13:07:31 +02:00
Vissarion Fysikopoulos
a2e355a683 [algorithm] Simplify termination condition for single points in line_interpolate 2019-02-12 12:37:46 +02:00
Vissarion Fysikopoulos
a6da161fa8 [algorithm] Clean code for line_intrpolate 2019-02-11 17:04:55 +02:00
Vissarion Fysikopoulos
127de58eaf [test] Test edge cases for line_intrpolate 2019-02-11 17:03:15 +02:00
Vissarion Fysikopoulos
033c9c7aaf [test] Test for input distance longer than linestring length for line_intrpolate 2019-02-11 16:37:08 +02:00
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