Frédéric BRIOL
480e9cf0f6
fix(formulas): geographic intersection calculation in sjoberg_intersection when a segment lies on the equator
...
Multiply the longitude offset term by `sign_lon_diff` when calculating
equator crossings in `sjoberg_geodesic::lon_of_equator_intersection()`.
Without this multiplication, when `sign_lon_diff` is negative, the offset
is applied in the wrong direction, leading to a wrong intersection
longitude (e.g. returning a coordinate outside of the segments' bounds).
This in turn causes overlay/intersection algorithms to miss crossings on
the boundary.
Including regression test for sjoberg_intersection
Fixes #1482
2026-07-09 20:04:41 +02:00
Tinko Bartels
0925991e94
Merge pull request #1456 from tinko92/fix/antimeridian-crossing-box-longitude-normalization
2026-07-03 06:01:43 +08:00
Barend Gehrels
a7875f621b
fix: nearly identical input should give an intersection
...
Fixes : #1471
2026-07-02 07:37:56 +02:00
Marcel Jacobse
d36b9a199f
fix: degenerate linestring relation on boundary of areal
...
Fixes : #1474
* Fix degenerate linestring relation on boundary of areal
* Use hexadecimal for all interrupt flags
* Also support single-point linestrings
2026-06-29 18:46:27 +02:00
Vissarion Fisikopoulos
328f2d09b7
Merge pull request #1477 from tinko92/fix/bjam_leaking_cxx14
...
Fix/bjam leaking cxx14
2026-06-29 13:31:06 +03:00
Tinko Sebastian Bartels
486b58b27f
Narrow the condition for the parent assignment optimisation to union only, fixing case_bitset_3.
2026-06-28 19:34:50 +08:00
Tinko Sebastian Bartels
70b4b191d3
Move cxx14 checks from build.jam to buildable targets to address #1460
2026-06-28 17:26:19 +08:00
Barend Gehrels
a9660c92d1
fix: failing tests on macos in release mode
...
Implements: #1464
2026-06-26 12:40:04 +02:00
Marcel Jacobse
f3a25b2fd5
Add comment for haversine - cosine relation
2026-06-01 11:14:03 +02:00
Marcel Jacobse
e23b0d7c11
Improve readability of formulas
2026-06-01 11:14:03 +02:00
Marcel Jacobse
6df9bf7dc0
Add curly braces for if statement
2026-06-01 11:14:03 +02:00
Marcel Jacobse
749244dfd5
Qualify sqrt call with math namespace
2026-06-01 11:14:03 +02:00
Marcel Jacobse
4f578550fe
Improve short-distance accuracy of Andoyer inverse
...
Use haversine formula instead of law of cosines to avoid numerical loss
of precision for close points as suggested in #1217 .
This had the side-effect of returning non-zero azimuths for smaller
angles than before, which resulted in quite inaccurate non-zero reduced
length and geodesic scale values too. To fix this, division by the
cosine of the latitudes was changed to be done implicitly within atan2,
which together with use of the haversine formula improves accuracy for
all result values.
2026-06-01 11:14:03 +02:00
Tinko Sebastian Bartels
81684e85a5
Remove dependency on Boost.TypeTraits.
2026-05-22 00:12:22 +08:00
Tinko Sebastian Bartels
3d2d3734e0
[extensions] Remove dependency on Boost.TypeTraits.
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
0a3b0e3145
Remove dependency on boost/cstdint.hpp
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
bacf0c793d
[extensions] Remove dependency on boost/cstdint.hpp
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
35a7f48f6a
Remove dependency on Boost.StaticAssert.
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
18a521a051
[extensions] Remove dependency on Boost.StaticAssert.
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
232665e147
Remove dependencies on Boost.Array excluding examples that document adapted/boost_array.hpp
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
3f0bc5d9fc
Use C++11 explicitly deleted copy constructors over boost::noncopyable.
2026-05-22 00:09:22 +08:00
Tinko Sebastian Bartels
7c4a07654a
Use std::addressof over boost::addressof
2026-05-22 00:09:06 +08:00
Tinko Bartels
be4284093b
Merge pull request #1458 from tinko92/refactor/use-static-vector-over-varray
...
Drop varray implementation in favor of Boost.Container static_vector.
2026-05-07 00:07:35 +08:00
Barend Gehrels
fe0f2f85c0
fix(rtree): clamp content differences to prevent FMA-induced numerical instability
...
Might fix #1452
2026-04-21 17:15:45 +02:00
Barend Gehrels
8b6e213c49
fix: node invariant at exception
...
Fixes : #1399
2026-04-21 17:14:18 +02:00
Tinko Sebastian Bartels
951e9fe10f
Drop varray implementation in favor of Boost.Container static_vector.
2026-04-19 18:31:28 +08:00
Tinko Sebastian Bartels
7e9a5310d3
Skip unnecessary, error-introducing longitude normalization on antimeridian-crossing box.
2026-04-11 14:11:18 +08:00
Tinko Sebastian Bartels
dd01797671
Prevent FP contractions to FMA in index/detail/algorithms/content.hpp to fix #1452 on GCC with x86-64-v3.
2026-03-28 19:49:20 +08:00
Yegor Shved
32f203328d
Update to range::back(ring) for issue 1450
...
Chaned ring.back() to *(boost::end(ring) - 1) and then to range::back(ring)
2026-02-25 08:30:05 +01:00
Yegor Shved
5f964c9dc9
Change back() method to iterator for 1450
...
The issue is about absence of back() method in a ring. This commit solves the issue using different approach:
such behavior is achieved using iterator difference by 1.
2026-02-25 08:30:05 +01:00
ivanpanch
91700dca22
Fix mistakes ( #1429 )
...
* Update geometry.qbk
* Update introduction.qbk
* Update compiling.qbk
* Update design_rationale.qbk
* Update introduction.qbk
* Update quickstart.qbk
* Update creation.qbk
* Update query.qbk
* Update reference.qbk
* Update
* Update
* Update
* Update
* Update buffer_with_strategies.qbk
* Update expand.qbk
* Update expand.qbk
* Update union.hpp
* Update point.qbk
* Update box.qbk
* Update cs.hpp
* Update closure.hpp
* Update point.hpp
* Update rtree.hpp
* Update choose_next_node.hpp
* Update iterator.hpp
* Update point_in_poly_winding.hpp
* Update spatial_query.hpp
* Update imw_p.hpp
* Update remove.hpp
* Update redistribute_elements.hpp
* Update redistribute_elements.hpp
* Update insert.hpp
* Update redistribute_elements.hpp
* Update point_in_poly_crossings_multiply.hpp
* Update closeable_view.hpp
* Update example_adapting_a_legacy_geometry_object_model.qbk
* Update acknowledgments.qbk
* Update indexable.hpp
* Update for_each.hpp
* Update iterators.hpp
* Update spatial_query.hpp
* Update query_iterators.hpp
2025-10-09 19:58:48 +02:00
Harsha Totakura
8128f25992
[rstar]: Use the dynamic type while calling epsilon().
...
Current call to epsilon is made with the assumption that the dynamic type `content_type` is compatible with double. This does not hold true for numeric types that are bigger than double, e.g: `absl::uint128`. This CL fixes it by binding the call to `content_type`'s type.
2025-10-09 19:57:27 +02:00
Vissarion Fisikopoulos
5ad341e1bd
Merge pull request #1409 from vissarion/feat/polysurf_is_valid
...
feat: Implement is_valid algorithm for polyhedral surfaces
2025-09-03 15:18:56 +03:00
tinko92
73cd3b79b0
Merge pull request #1418 from tinko92/fix/srs-compile-times
...
Refactor epsg, esri, iau2000 for faster compile times.
2025-08-04 16:22:02 +08:00
Barend Gehrels
0a8c111d57
fix: avoid stack overflow in traverse
2025-08-04 07:53:12 +02:00
Tinko Sebastian Bartels
69df6f89ed
Define BOOST_GEOMETRY_DEBUG_SEGMENT_IDENTIFIER when BOOST_GEOMETRY_DEBUG_TRAVERSE_GRAPH is defined.
2025-08-01 20:20:26 +02:00
Tinko Sebastian Bartels
bb8a7c542c
Refactor epsg, esri, iau2000 for faster compile times.
2025-07-25 08:57:17 +08:00
Barend Gehrels
726a66547e
feat: add supported combinations for convert
2025-07-17 18:47:00 +02:00
Vissarion Fisikopoulos
0ff86d14bc
chore: fix warnings
2025-07-17 12:24:38 +03:00
Vissarion Fisikopoulos
7d46cebe25
feat: Implement is_valid algorithm for polyhedral surfaces
2025-07-17 12:24:33 +03:00
Wolfgang Bangerth
fd6d0e7efd
Avoid static variables and functions in header files.
2025-05-15 19:00:51 +02:00
Barend Gehrels
111f0dfb87
fix: consider clusters in turn_in_piece_visitor
2025-05-13 22:17:29 +02:00
Vissarion Fisikopoulos
9826b15b2f
feat: Add geometry polyhedral surface class, concepts, documentation and unit tests ( #1402 )
...
Co-authored-by: Siddharth kumar <sid021099kumar@gmail.com >
2025-05-12 12:08:51 +03:00
Vissarion Fisikopoulos
f8a3081b0b
chore: remove unused-local-typedefs warnings
2025-04-28 16:41:03 +03:00
Vissarion Fisikopoulos
38455d07a7
chore: remove deprecated headers
2025-04-28 16:15:12 +03:00
Barend Gehrels
805ff654e8
feat: major rewrite of traversal
2025-04-25 19:47:35 +02:00
Barend Gehrels
63104f0e27
feat: make side strategy configurable
2025-04-25 08:34:42 +02:00
Vissarion Fisikopoulos
51a919dea5
Merge pull request #1379 from barendgehrels/fix/issue_629
...
fix: avoid warnings for coordinate conversions and unused parameters
2025-03-18 15:06:34 +02:00
Vissarion Fisikopoulos
763683eaba
Merge pull request #1370 from vissarion/fix/half_period_check
...
Relax half period check in spheroidal normalization
2025-03-18 14:41:07 +02:00
Vissarion Fisikopoulos
75c7dfded7
chore: Replace typedefs by using
2025-03-18 13:20:09 +02:00