Commit Graph

5259 Commits

Author SHA1 Message Date
Adam Wulkiewicz
b5d1ac1294 [shapefile] Remove obsolete comment. 2019-09-19 17:08:59 +02:00
Adam Wulkiewicz
a2c1c58097 [srs] Rearrange parameters to decrease size of struct. 2019-09-17 19:55:40 +02:00
Adam Wulkiewicz
5214409c4c [io] Fix type conversion warnings. 2019-09-17 19:02:04 +02:00
Adam Wulkiewicz
998eea02a4 [srs] Fix type conversion warnings. 2019-09-17 19:01:37 +02:00
Adam Wulkiewicz
56b9d4c741 [srs] Rearrange proj params, remove unused ones, change type of flags from int to bool. 2019-09-17 19:00:53 +02:00
Adam Wulkiewicz
338e7c3247 [srs] Decrease memory used by gn_sinu and igh projections by modifying parameters. 2019-09-16 23:14:55 +02:00
Adam Wulkiewicz
1a41b64d7c [srs] Move prj params outside. Replace CRTP with wrappers. This allows to remove some virtual functions from dynamic projection. 2019-09-16 18:33:41 +02:00
Barend Gehrels
8f0551d08d
Merge pull request #615 from barendgehrels/feature/pass-subrange-to-intersection
Stop passing policies to intersection, and pass subrange
2019-09-05 19:01:49 +02:00
Adam Wulkiewicz
f609a959c4 [srs] Remove unneeded reference from static proj base. Use property of CRTP instead to get the address of proj. 2019-09-05 17:17:33 +02:00
Adam Wulkiewicz
4aecfdf3a9 [srs] Remove unneeded factory_key type. 2019-09-01 18:41:20 +02:00
Adam Wulkiewicz
e3fc7cae15 [strategies] Fix spherical point_in_point for points having different units. 2019-09-01 00:27:17 +02:00
Tinko Bartels
0c0f365116 Document robust predicates. 2019-08-23 14:24:56 +02:00
Tinko Bartels
a39bf3ff13 Add robust cartesian side and in_circle predicates. 2019-08-23 14:24:56 +02:00
Adam Wulkiewicz
a88744b59c [srs] Conditionally use C++17 untimed std::shared_mutex in shared_grids_std. 2019-08-21 23:28:18 +02:00
Adam Wulkiewicz
e351407d00 [shapefile] Fix variable name. 2019-08-21 20:38:26 +02:00
Adam Wulkiewicz
662ae5c5a1 [srs] Add shared_grids_std using std::shared_mutex and simplify defining new grids implementations. 2019-08-21 19:18:26 +02:00
Adam Wulkiewicz
e3ac1dba9b [shapefile] Add separate loading of doubles (assume the same endianness as int64_t) and add runtime endianness check. 2019-08-21 18:54:42 +02:00
Barend Gehrels
b04e7fe3d6 [intersection] fix policy type and geographic intersection strategy,
which need to pass original segments and ordered points
2019-08-21 17:26:24 +02:00
Barend Gehrels
28eb87b402 [intersection] remove segment_ratio_type in most of the cases,
and where they are still used, its definition is changed making use
of the tags now available, and moving it to detail. It is to be
deprecated
2019-08-21 17:15:12 +02:00
Barend Gehrels
06836bc3e1 Pass subranges to intersections, to avoid passing recalculated points which
are not used by geographic/spherical and new approach of cartesian, nor
by linear/linear and linear/areal in current cartesian
2019-08-21 10:01:03 +02:00
Adam Wulkiewicz
5679ccd08f
Merge pull request #554 from awulkiew/feature/read_shapefile
[extensions][io] Add read_shapefile() implementation.
2019-08-14 16:32:25 +02:00
Adam Wulkiewicz
964fa91619
Merge pull request #561 from awulkiew/feature/point_order
Add new algorithm detail::calculate_point_order() with strategies (and optimize remove_spikes()).
2019-08-14 16:32:07 +02:00
Barend Gehrels
6c9a7e0314
Merge pull request #613 from barendgehrels/feature/changes-for-selfturns-and-tests
Feature/changes for selfturns and tests
2019-08-10 15:17:30 +02:00
Adam Wulkiewicz
88029cd238 [util] Add namespace in range::erase call to prevent the compiler instantiating c++20 std::erase. 2019-08-01 22:05:31 +02:00
Adam Wulkiewicz
27b6640510 [strategies] Add workaround for msvc-10..12 in within strategy concept check. 2019-07-30 23:53:22 +02:00
Barend Gehrels
ebfbda842e Review, rename integral_type to calc_type 2019-07-20 16:55:27 +02:00
Barend Gehrels
c421e5a434 Turn off warnings reported by some compiler settings 2019-07-20 14:07:52 +02:00
Barend Gehrels
eefd70fcb7 [self_turns] Changes for self-turns and fix dissolve 2019-07-17 16:45:03 +02:00
Barend Gehrels
422a0b768b [line] process review remarks, rename general_form to infinite_line 2019-07-10 13:03:17 +02:00
Barend Gehrels
a1e1caf8e5 [general_form] add is_degenerate predicate and use it in direction code,
instead of 4 equality checks
2019-07-03 19:38:03 +02:00
Barend Gehrels
b2412f986b [direction] use general_form for direction code 2019-07-03 14:55:46 +02:00
Barend Gehrels
3db9de9b76 [spike] Remove debug code 2019-07-03 14:43:03 +02:00
Barend Gehrels
6688360d90 [intersection] Add general_form functionality for handling of infinite
lines in the form ax + by + c = 0
This is used already at several places in the library, in those places
the general_form replaces that functionality.

The general form will (most probably) also used for segment-segment intersection.

Including unit test.

This makes parallel_continue obsolete.
2019-07-03 14:40:45 +02:00
Tinko Bartels
656924a200 [strategy] in matrix_transformer reverse iteration order, remove unneeded CalculationType, unneeded matrix_type typedef, change name of test 2019-07-02 23:43:25 +02:00
Vissarion Fisikopoulos
c92ccab382
Remove unused parameters (#608)
[algorithms] Remove unused parameters

* [algorithms] Use ignore unused instead of macros

* [algorithms] Use ignore unused instead of macros 2
2019-07-02 19:30:51 +03:00
Tinko Bartels
5c3227b8f1 Resolve merge conflicts. 2019-07-01 22:08:15 +02:00
Adam Wulkiewicz
30a7ea549a Merge branch 'develop' into bg-prepare 2019-07-01 19:05:25 +02:00
tinko92
5a13eea5ed [strategies] Add a constructor that takes QVM matrix_type to matrix_transformers. 2019-07-01 16:19:43 +02:00
Adam Wulkiewicz
bb7cf70069 [index] Fix get_strategy return value and take care about references to temporaries. 2019-07-01 14:46:55 +02:00
Adam Wulkiewicz
c3e8642f52 [strategies] Remove typename keywords. 2019-07-01 14:45:58 +02:00
Adam Wulkiewicz
614c05423e [algorithms] Pass strategy into get_rescale_policy() internally used to get envelope and expand strategies. 2019-06-28 21:45:01 +02:00
Adam Wulkiewicz
850c58f464 [strategies] Add getters for expand box strategies in envelope box strategies. 2019-06-28 21:43:55 +02:00
Adam Wulkiewicz
03fdd412b0 [strategies] Add envelope_box_strategy_type to intersection strategies. 2019-06-28 21:43:03 +02:00
Adam Wulkiewicz
60894adf03 Merge branch 'develop' into feature/undefined_cs 2019-06-28 15:10:01 +02:00
Adam Wulkiewicz
b4634fdb45 [algorithms][io] Add missing includes. 2019-06-28 14:35:28 +02:00
Adam Wulkiewicz
38ae42e442 Merge branch 'develop' into feature/undefined_cs 2019-06-28 14:29:52 +02:00
Adam Wulkiewicz
39e19c469c [algorithms] Remove typedef in is_valid. 2019-06-28 14:12:40 +02:00
Barend Gehrels
48c6e2b02d
Merge pull request #607 from barendgehrels/fix/various_warnings
Fix/various warnings
2019-06-27 18:10:28 +02:00
Barend Gehrels
4252e34f2f
Merge pull request #606 from barendgehrels/fix/buffer_miter_intersection_point
Fix of issue #596 - [buffer] fix line/line intersection point calculation for some cases,
2019-06-27 18:09:36 +02:00
Adam Wulkiewicz
33014baa5d
Merge pull request #572 from awulkiew/fix/azimuth_validity
Fix azimuth validity in geographic_point_circle buffer strategy.
2019-06-26 15:25:37 +02:00
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