Commit Graph

5400 Commits

Author SHA1 Message Date
Adam Wulkiewicz
94353d9f15 [strategies] Remove strategy getters from legacy strategies. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
ec3b3b5de2 [strategies] Remove SeriesOrder from umbrella strategies and improve the implementation.
Use custom versions of enable_if for distance() getters.
Use default keyword in default ctors.
Remove unneeded strategy_converter specialization.
2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
c6c8ab8c9c [is_simple][is_valid] Pass umbrella strategy into equals_point_point. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
b858969108 Merge pull request #840 from awulkiew/feature/strategies_rest
Umbrella strategies for various algorithms.
2021-05-21 16:55:45 +02:00
Barend Gehrels
10142a6703 [turns] have all discarding of start_turns in one place and clean up clusters before assigning 2021-05-19 09:27:44 +02:00
Barend Gehrels
1a3f425583 [geographic] avoid compiler warnings 2021-05-19 09:16:56 +02:00
Barend Gehrels
0b36bbe550 [turns] avoid compiler warning, issue #834 2021-05-19 09:16:56 +02:00
Barend Gehrels
75d8f9e9b9 [intersection] fix intersection points outside of the segments 2021-04-28 10:31:21 +02:00
Barend Gehrels
eee7fc53ea [clusters] detection is refactored to a simpler sweeping algorithm
This fixes a part (around 30%) of the remaining errors in the recursive buffer check
2021-04-07 11:13:20 +02:00
Adam Wulkiewicz
3ee94d2035 [buffer][simplify] Add missing includes. Remove unused typedefs. 2021-04-02 21:58:53 +02:00
Adam Wulkiewicz
9872e201d2 [line_interpolate] Use strtegy return type to store distances. 2021-04-02 21:00:42 +02:00
Adam Wulkiewicz
8a80effc0d [line_interpolate] Add support for umbrella strategies. 2021-04-02 03:17:57 +02:00
Adam Wulkiewicz
2828e230f2 [algorithms] Use dummy geometries to get strategies. 2021-04-01 18:22:22 +02:00
Adam Wulkiewicz
a87f924304 Merge branch 'develop' into feature/strategies_rest 2021-04-01 03:14:52 +02:00
Adam Wulkiewicz
29a6a9ff47 Merge pull request #812 from awulkiew/feature/strategies_distance
Umbrella strategies for distance() and comparable_distance().
2021-04-01 00:08:57 +02:00
Adam Wulkiewicz
8077c7f587 Merge pull request #827 from awulkiew/feature/for_each_dimension
Add for_each_dimension and more.
2021-04-01 00:08:20 +02:00
Adam Wulkiewicz
51addc4c4d [util] Rename for_each_dimension.hpp to algorithm.hpp 2021-03-31 23:31:02 +02:00
Adam Wulkiewicz
aece27e1ca [util] Remove unused implementations of for_each_dimension. 2021-03-26 22:33:04 +01:00
Adam Wulkiewicz
1c9e1933b4 [doc][convex_hull] Fix documentation of convex_hull algorithm. 2021-03-26 02:24:43 +01:00
Adam Wulkiewicz
e1967dc6d7 [assign] Fix code formatting, lambda bracket in the next line. 2021-03-25 03:26:08 +01:00
Adam Wulkiewicz
dbc8c29eb3 [strategies][distance] Improve readability of template aliases, add parentheses. 2021-03-25 03:16:26 +01:00
Adam Wulkiewicz
877c515b4a [distance] Simplify strategy and return_type definitions.
For this purpose add the following template aliases in
strategy_utils.hpp:
- detail::distance::strategy_t
- detail::distance::return_t
- detail::distance::cstrategy_t
- detail::distance::creturn_t
2021-03-25 03:04:58 +01:00
Adam Wulkiewicz
d2c79d97a9 [util] Add for_each_dimension and use it in several places. 2021-03-21 02:41:22 +01:00
Adam Wulkiewicz
ef5953d554 [distance][strategies] Implement backward compatibility mechamism for Pt/Pt custom strategies. 2021-03-16 19:23:44 +01:00
Adam Wulkiewicz
6eb9e238bc [strategies] Remove distance() dependency from weighted_length strategy.
Also add optional CalculationType.
2021-03-11 00:45:08 +01:00
Adam Wulkiewicz
edc2aa5051 [index][strategies] Pass strategy to centroid() in the rtree.
Implement spherical and geographic strategies in order to maintain
backward compatibility. Even though dummy legacy strategy is returned.

Add centroid tests for undefined CS.
2021-03-10 17:03:03 +01:00
Adam Wulkiewicz
bb758ac749 [centroid] Ignore Points tparams in centroid strategies. Pass them from the algorithm. 2021-03-10 01:48:52 +01:00
Adam Wulkiewicz
ecda1a9e49 [centroid] Support umbrella strategies. 2021-03-10 00:52:43 +01:00
Ayush Gupta
8b6929193d Fix #define directive convention in area_result.hpp and default_area_result.hpp (#826)
* Fix #define directive convention in area_result.hpp and
default_area_result.hpp

* Update #endif comment
2021-03-05 14:23:31 +01:00
Adam Wulkiewicz
3a2b488007 [svg][test] Fix msvc compilation error, alter test after recent change. 2021-03-03 16:19:03 +01:00
Adam Wulkiewicz
28559c042e Merge pull request #670 from sudo-panda/feature/symmetric-wkt
Symmetrizing read/write wkt
2021-03-03 14:06:08 +01:00
Barend Gehrels
fc154b8d89 [svg] changes newly added scale function in a constructor parameter, and allows to write
to svg immediately after constructor
2021-03-03 10:54:34 +01:00
Adam Wulkiewicz
4029410e1c [strategies][simplify] Handle comparable strategies in strategy_converter. 2021-03-03 03:40:10 +01:00
Adam Wulkiewicz
cb03829dc1 [simplify] Correctly propagate strategies to area() and perimeter().
Also made the algorithm more robust by checking the iterator before
using it.
2021-03-03 01:15:12 +01:00
Adam Wulkiewicz
3620e0aada [simplify] Refactor the implementation.
Add dummy geometries which can be used to get strategies from umbrella
strategy without creating heavy temporary geometries.
2021-03-03 00:27:30 +01:00
Vissarion Fisikopoulos
5f8aa26a9c [formulas] Fix vec_normalize namespace 2021-03-02 18:47:33 +02:00
Vissarion Fisikopoulos
94c91352d9 Merge pull request #801 from vissarion/fix/area_geo
Improve accuracy in geographic area computations
2021-03-02 16:50:47 +02:00
Adam Wulkiewicz
26a62a24fe [buffer][simplify] Use umbrella strategies in buffer and simplify.
Move agnostic simplify strategy to algorithms.
2021-03-02 00:48:36 +01:00
Adam Wulkiewicz
095d1615bb [strategies] Add buffer and simplify umbrella strategies. 2021-03-02 00:48:18 +01:00
Barend Gehrels
8f95fcb52f [buffer] fix case for issue 803 where an artifact was generated on nearly collinear lines in the buffer 2021-02-25 21:26:42 +01:00
Adam Wulkiewicz
8886b1d59d [algorithms][strategies] Add support for umbrella strategies in several algorithms.
Algorithms:
  - densify,
  - discrete_frechet_distance,
  - discrete_hausdorff_distance,
  - length,
  - perimeter.
2021-02-24 02:31:09 +01:00
Vissarion Fisikopoulos
37ada5f9b0 [formulas] Implement detail namespace for karney_inverse formula 2021-02-22 18:59:10 +02:00
Barend Gehrels
0ea96e1bbf Merge pull request #774 from barendgehrels/enhance/svg
[svg] Add scale function and examples of it
2021-02-19 10:43:17 +01:00
Barend Gehrels
77bb5310d2 Merge pull request #800 from barendgehrels/enhance/get_ring
[overlay] move segment_count_on_ring and segment_distance to get_ring, and add unit tests
2021-02-19 10:38:58 +01:00
Barend Gehrels
524e194615 [overlay] move segment_count_on_ring and segment_distance to get_ring and add unit test for them 2021-02-19 10:34:26 +01:00
Vissarion Fisikopoulos
16d487b632 Merge branch 'fix/area_geo' of github.com:vissarion/geometry into fix/area_geo 2021-02-18 13:36:51 +02:00
Vissarion Fisikopoulos
870a6998dc [formulas] Suppress possibly-uninitialized-variable compiler warnings 2021-02-18 13:36:21 +02:00
Vissarion Fisikopoulos
469ace7652 Merge branch 'develop' into fix/area_geo 2021-02-18 13:24:54 +02:00
Vissarion Fisikopoulos
646bd92f9d [formulas] Make short segment threashold a function of mean radius and move SeriesOrderNorm in class scope 2021-02-18 13:23:07 +02:00
Adam Wulkiewicz
793345358c Merge pull request #808 from tristan0x/fix/807
Fix build in index serialization
2021-02-17 17:02:10 +01:00