Commit Graph

5389 Commits

Author SHA1 Message Date
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
Adam Wulkiewicz
9ca2e1897d [algorithms][index][strategies] Add support for distance umbrella strategies in distance, comparable_distance.
Also adapt index calling comparable_distance in knn query.
2021-02-17 02:01:15 +01:00
Adam Wulkiewicz
f413c31d02 [strategies] Add distance umbrella strategies and modify existing ones.
Replace existing comparable_distance() getters with distance() getters.
The code using them is responsible for the conversion to comparable if
needed.

In some cases it is required to force the algorithms to use comparable
strategies internally. For this purpose add
strategies::distance::detail::comparable<> wrapper converting distance
strategies to comparable strategies.

Derive distance strategies from relate strategies.
Derive index strategies from distance strategies.

Alter legacy strategies if it's required, e.g. for automatic conversion
to umbrella strategies.
2021-02-17 01:55:23 +01:00
Adam Wulkiewicz
0922e3d56c [util] Add new is_segmental type trait (meaning linear or polygonal). 2021-02-17 01:33:40 +01:00
Adam Wulkiewicz
5c1fffb1ea [overlay] Fix warnings: unused type and signed/unsigned comparison. 2021-02-16 17:17:55 +01:00
Adam Wulkiewicz
2a048f7be4 [distance] Add missing include. 2021-02-16 16:15:12 +01:00
Adam Wulkiewicz
1f16b72cd6 [strategies] Remove redundent comments. 2021-02-16 15:25:11 +01:00
Adam Wulkiewicz
b1e5362d59 [azimuth] Make variables const. 2021-02-16 14:24:10 +01:00
Adam Wulkiewicz
ae33a8dc0c Merge branch 'develop' into feature/azimuth 2021-02-16 14:14:13 +01:00
Adam Wulkiewicz
429423cdb1 Merge pull request #768 from awulkiew/feature/strategies_relate
Support umbrella strategies in relops, setops, index, buffer and more.
2021-02-16 13:32:17 +01:00
Adam Wulkiewicz
920de2ca6a [algorithms] Remove unneeded comments, change names and indentation. 2021-02-16 13:06:32 +01:00
Tristan Carel
4a444b0b77 Fix build in index serialization
Fixes #807
2021-02-13 19:14:12 +01:00