Skip to content

Commit 09c7d02

Browse files
committed
Merge branch 'develop' into feature/read_shapefile
2 parents 592b774 + 869b20c commit 09c7d02

File tree

83 files changed

+3063
-894
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+3063
-894
lines changed

doc/doxy/doxygen_input/groups/groups.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
// This file was modified by Oracle on 2018.
66
// Modifications copyright (c) 2018, Oracle and/or its affiliates.
7+
// Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
78
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
89

910

@@ -54,6 +55,7 @@
5455
\defgroup is_valid is_valid: detect if a geometry is valid
5556
\defgroup iterators iterators: iterators
5657
\defgroup length length: calculate length of a linear geometry
58+
\defgroup line_interpolate line_interpolate: interpolates points on a linestring
5759
\defgroup make make: construct geometries
5860
\defgroup num_geometries number of geometries: calculate the number of geometries in a multi-geometry
5961
\defgroup num_interior_rings number of interior rings: calculate the number of interior rings

doc/html/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
44
<title>Chapter&#160;1.&#160;Geometry</title>
55
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6-
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
6+
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
77
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Geometry">
88
<link rel="next" href="geometry/introduction.html" title="Introduction">
99
</head>
@@ -40,8 +40,8 @@
4040
<div><div class="author"><h3 class="author">
4141
<span class="firstname">Vissarion</span> <span class="surname">Fisikopoulos</span>
4242
</h3></div></div>
43-
<div><p class="copyright">Copyright &#169; 2009-2018 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle
44-
and/or its affiliates</p></div>
43+
<div><p class="copyright">Copyright &#169; 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam
44+
Wulkiewicz, Oracle and/or its affiliates</p></div>
4545
<div><div class="legalnotice">
4646
<a name="geometry.legal"></a><p>
4747
Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -51,7 +51,7 @@
5151
</div></div>
5252
<div class="toc">
5353
<p><b>Table of Contents</b></p>
54-
<dl>
54+
<dl class="toc">
5555
<dt><span class="section"><a href="geometry/introduction.html">Introduction</a></span></dt>
5656
<dt><span class="section"><a href="geometry/compilation.html">Compilation</a></span></dt>
5757
<dt><span class="section"><a href="geometry/design.html">Design Rationale</a></span></dt>
@@ -143,7 +143,7 @@ <h3>
143143
</ul></div>
144144
</div>
145145
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
146-
<td align="left"><p><small>Last revised: November 29, 2018 at 00:39:14 GMT</small></p></td>
146+
<td align="left"><p><small>Last revised: February 19, 2019 at 14:49:50 GMT</small></p></td>
147147
<td align="right"><div class="copyright-footer"></div></td>
148148
</tr></table>
149149
<hr>

doc/imports.qbk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
77

88
Copyright (c) 2018, Oracle and/or its affiliates.
9+
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
910
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
1011

1112
Use, modification and distribution is subject to the Boost Software License,
@@ -46,6 +47,8 @@
4647
[import src/examples/algorithms/for_each_segment_const.cpp]
4748
[import src/examples/algorithms/length.cpp]
4849
[import src/examples/algorithms/length_with_strategy.cpp]
50+
[import src/examples/algorithms/line_interpolate.cpp]
51+
[import src/examples/algorithms/line_interpolate_strategy.cpp]
4952
[import src/examples/algorithms/make_2d_point.cpp]
5053
[import src/examples/algorithms/make_3d_point.cpp]
5154
[import src/examples/algorithms/make_inverse.cpp]
@@ -148,6 +151,7 @@
148151
[import src/examples/strategies/buffer_distance_asymmetric.cpp]
149152
[import src/examples/strategies/buffer_point_circle.cpp]
150153
[import src/examples/strategies/buffer_point_square.cpp]
154+
[import src/examples/strategies/buffer_geographic_point_circle.cpp]
151155

152156
[import src/examples/views/box_view.cpp]
153157
[import src/examples/views/segment_view.cpp]

doc/make_qbk.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,13 @@ def cs_to_quickbook(section):
9797

9898
algorithms = ["append", "assign", "make", "clear"
9999
, "area", "buffer", "centroid", "convert", "correct", "covered_by"
100-
, "convex_hull", "crosses", "densify", "difference", "discrete_frechet_distance","discrete_hausdorff_distance","disjoint", "distance"
101-
, "envelope", "equals", "expand", "for_each", "is_empty"
100+
, "convex_hull", "crosses", "densify", "difference"
101+
, "discrete_frechet_distance", "discrete_hausdorff_distance", "disjoint"
102+
, "distance", "envelope", "equals", "expand", "for_each", "is_empty"
102103
, "is_simple", "is_valid", "intersection", "intersects", "length"
103-
, "num_geometries", "num_interior_rings", "num_points"
104-
, "num_segments", "overlaps", "perimeter", "relate", "relation"
105-
, "reverse","simplify", "sym_difference", "touches"
104+
, "line_interpolate", "num_geometries", "num_interior_rings"
105+
, "num_points", "num_segments", "overlaps", "perimeter", "relate"
106+
, "relation", "reverse","simplify", "sym_difference", "touches"
106107
, "transform", "union", "unique", "within"]
107108

108109
access_functions = ["get", "set", "exterior_ring", "interior_rings"
@@ -112,8 +113,7 @@ def cs_to_quickbook(section):
112113

113114
core = ["closure", "coordinate_system", "coordinate_type", "cs_tag"
114115
, "dimension", "exception", "interior_type"
115-
, "degree", "radian"
116-
, "is_radian", "point_order"
116+
, "degree", "radian", "point_order"
117117
, "point_type", "ring_type", "tag", "tag_cast" ]
118118

119119
exceptions = ["exception", "centroid_exception"];
@@ -133,13 +133,17 @@ def cs_to_quickbook(section):
133133
, "buffer::end_round", "buffer::end_flat"
134134
, "buffer::distance_symmetric", "buffer::distance_asymmetric"
135135
, "buffer::side_straight"
136+
, "buffer::geographic_point_circle"
136137
, "centroid::bashein_detmer", "centroid::average"
137138
, "convex_hull::graham_andrew"
138139
, "densify::cartesian", "densify::geographic", "densify::spherical"
139140
, "distance::pythagoras", "distance::pythagoras_box_box"
140141
, "distance::pythagoras_point_box", "distance::haversine"
141142
, "distance::cross_track", "distance::cross_track_point_box"
142143
, "distance::projected_point"
144+
, "line_interpolate::cartesian"
145+
, "line_interpolate::spherical"
146+
, "line_interpolate::geographic"
143147
, "simplify::douglas_peucker"
144148
, "side::side_by_triangle", "side::side_by_cross_track"
145149
, "side::spherical_side_formula", "side::geographic"

doc/quickref.xml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
1313
This file was modified by Oracle on 2014, 2015, 2017, 2018.
1414
Modifications copyright (c) 2014-2018, Oracle and/or its affiliates.
15+
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
1516
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
1617
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
1718
@@ -195,7 +196,6 @@
195196
<member><link linkend="geometry.reference.core.coordinate_system">coordinate_system</link></member>
196197
<member><link linkend="geometry.reference.core.dimension">dimension</link></member>
197198
<member><link linkend="geometry.reference.core.interior_type">interior_type</link></member>
198-
<member><link linkend="geometry.reference.core.is_radian">is_radian</link></member>
199199
<member><link linkend="geometry.reference.core.point_order">point_order</link></member>
200200
<member><link linkend="geometry.reference.core.point_type">point_type</link></member>
201201
<member><link linkend="geometry.reference.core.ring_type">ring_type</link></member>
@@ -427,7 +427,11 @@
427427
<bridgehead renderas="sect3">Length</bridgehead>
428428
<simplelist type="vert" columns="1">
429429
<member><link linkend="geometry.reference.algorithms.length">length</link></member>
430-
</simplelist>
430+
</simplelist>
431+
<bridgehead renderas="sect3">line_interpolate</bridgehead>
432+
<simplelist type="vert" columns="1">
433+
<member><link linkend="geometry.reference.algorithms.line_interpolate">line_interpolate</link></member>
434+
</simplelist>
431435
<bridgehead renderas="sect3">Num_ (counting)</bridgehead>
432436
<simplelist type="vert" columns="1">
433437
<member><link linkend="geometry.reference.algorithms.num_interior_rings">num_interior_rings</link></member>
@@ -546,6 +550,7 @@
546550
<member><link linkend="geometry.reference.strategies.strategy_buffer_join_round">strategy::buffer::join_round</link></member>
547551
<member><link linkend="geometry.reference.strategies.strategy_buffer_point_circle">strategy::buffer::point_circle</link></member>
548552
<member><link linkend="geometry.reference.strategies.strategy_buffer_point_square">strategy::buffer::point_square</link></member>
553+
<member><link linkend="geometry.reference.strategies.strategy_buffer_geographic_point_circle">strategy::buffer::geographic_point_circle</link></member>
549554
<member><link linkend="geometry.reference.strategies.strategy_buffer_side_straight">strategy::buffer::side_straight</link></member>
550555
</simplelist>
551556
</entry>
@@ -586,6 +591,14 @@
586591
</entry>
587592
</row>
588593
<row>
594+
<entry valign="top">
595+
<bridgehead renderas="sect3">Line interpolate point</bridgehead>
596+
<simplelist type="vert" columns="1">
597+
<member><link linkend="geometry.reference.strategies.strategy_line_interpolate_cartesian">strategy::line_interpolate::cartesian</link></member>
598+
<member><link linkend="geometry.reference.strategies.strategy_line_interpolate_geographic">strategy::line_interpolate::geographic</link></member>
599+
<member><link linkend="geometry.reference.strategies.strategy_line_interpolate_spherical">strategy::line_interpolate::spherical</link></member>
600+
</simplelist>
601+
</entry>
589602
<entry valign="top">
590603
<bridgehead renderas="sect3">Side</bridgehead>
591604
<simplelist type="vert" columns="1">

doc/reference.qbk

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
This file was modified by Oracle on 2014, 2017, 2018.
1010
Modifications copyright (c) 2014-2018, Oracle and/or its affiliates.
1111

12+
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
1213
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
1314
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
1415

@@ -165,6 +166,10 @@
165166
[include generated/length.qbk]
166167
[endsect]
167168

169+
[section:line_interpolate line_interpolate]
170+
[include generated/line_interpolate.qbk]
171+
[endsect]
172+
168173
[section:make make]
169174
[include generated/make.qbk]
170175
[endsect]
@@ -257,7 +262,6 @@
257262
[include generated/degree.qbk]
258263
[include generated/dimension.qbk]
259264
[include generated/interior_type.qbk]
260-
[include generated/is_radian.qbk]
261265
[include generated/point_order.qbk]
262266
[include generated/point_type.qbk]
263267
[include generated/radian.qbk]
@@ -363,6 +367,7 @@
363367
[include generated/buffer_distance_asymmetric.qbk]
364368
[include generated/buffer_point_circle.qbk]
365369
[include generated/buffer_point_square.qbk]
370+
[include generated/buffer_geographic_point_circle.qbk]
366371
[include generated/buffer_side_straight.qbk]
367372
[include generated/centroid_average.qbk]
368373
[include generated/centroid_bashein_detmer.qbk]
@@ -377,6 +382,9 @@
377382
[include generated/distance_projected_point.qbk]
378383
[include generated/distance_cross_track.qbk]
379384
[include generated/distance_cross_track_point_box.qbk]
385+
[include generated/line_interpolate_cartesian.qbk]
386+
[include generated/line_interpolate_geographic.qbk]
387+
[include generated/line_interpolate_spherical.qbk]
380388
[include generated/side_side_by_triangle.qbk]
381389
[include generated/side_side_by_cross_track.qbk]
382390
[include generated/side_spherical_side_formula.qbk]

doc/reference/algorithms/buffer.qbk

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[/============================================================================
22
Boost.Geometry (aka GGL, Generic Geometry Library)
33

4-
Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
5-
Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
6-
Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
4+
Copyright (c) 2009-2019 Barend Gehrels, Amsterdam, the Netherlands.
5+
Copyright (c) 2009-2019 Mateusz Loskot, London, UK.
6+
Copyright (c) 2009-2019 Bruno Lalande, Paris, France.
77

88
Use, modification and distribution is subject to the Boost Software License,
99
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -12,9 +12,7 @@
1212

1313
[def __this_function__ buffer]
1414

15-
[heading_conformance_ogc __this_function__..Buffer]
16-
[note The current implemetation only enlarges a box, which is not defined by OGC.
17-
A next version of the library will contain a more complete implementation
15+
[note This version without strategies enlarges a box. To buffer any geometry, use [link geometry.reference.algorithms.buffer.buffer_7_with_strategies buffer (with strategies)]
1816
]
1917

2018
[heading Behavior]

doc/reference/algorithms/buffer_with_strategies.qbk

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ side_straight
3535

3636
[heading Supported geometries]
3737
[table
38-
[[ ][2D Cartesian]]
39-
[[Point][[$img/ok.png]]]
40-
[[Segment][[$img/nyi.png]]]
41-
[[Box][[$img/nyi.png]]]
42-
[[Linestring][[$img/ok.png]]]
43-
[[Ring][[$img/ok.png]]]
44-
[[Polygon][[$img/ok.png]]]
45-
[[MultiPoint][[$img/ok.png]]]
46-
[[MultiLinestring][[$img/ok.png]]]
47-
[[MultiPolygon][[$img/ok.png]]]
38+
[[ ][2D Cartesian][Geographic]]
39+
[[Point][[$img/ok.png]][[$img/ok.png]]]
40+
[[Segment][[$img/nyi.png]][[$img/nyi.png]]]
41+
[[Box][[$img/nyi.png]][[$img/nyi.png]]]
42+
[[Linestring][[$img/ok.png]][[$img/nyi.png]]]
43+
[[Ring][[$img/ok.png]][[$img/nyi.png]]]
44+
[[Polygon][[$img/ok.png]][[$img/nyi.png]]]
45+
[[MultiPoint][[$img/ok.png]][[$img/nyi.png]]]
46+
[[MultiLinestring][[$img/ok.png]][[$img/nyi.png]]]
47+
[[MultiPolygon][[$img/ok.png]][[$img/nyi.png]]]
4848
]
4949

5050

@@ -69,4 +69,5 @@ side_straight
6969
* DistanceStrategy: [link geometry.reference.strategies.strategy_buffer_distance_asymmetric distance_asymmetric]
7070
* PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_circle point_circle (cartesian)]
7171
* PointStrategy: [link geometry.reference.strategies.strategy_buffer_point_square point_square (cartesian)]
72+
* PointStrategy: [link geometry.reference.strategies.strategy_buffer_geographic_point_circle geographic_point_circle (geographic)]
7273
* SideStrategy: [link geometry.reference.strategies.strategy_buffer_side_straight side_straight (cartesian)]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[/============================================================================
2+
Boost.Geometry
3+
4+
Copyright (c) 2018, Oracle and/or its affiliates.
5+
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
6+
7+
Use, modification and distribution is subject to the Boost Software License,
8+
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9+
http://www.boost.org/LICENSE_1_0.txt)
10+
=============================================================================/]
11+
12+
[def __this_function__ line_interpolate_point]
13+
14+
[heading_conformance_no_ogc __this_function__]
15+
[note PostGIS contains an algorithm ST_LineInterpolatePoints with similar functionality.
16+
See the [@https://postgis.net/docs/ST_LineInterpolatePoints.html PostGIS documentation].
17+
]
18+
19+
[heading Behavior]
20+
The algorithm iterates among segments of the linestring and computes interpolation
21+
points if needed.

doc/release_notes.qbk

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Copyright (c) 2011-2017 Adam Wulkiewicz, Lodz, Poland.
88

99
This file was modified by Oracle on 2015, 2017, 2018.
10-
Modifications copyright (c) 2015-2018, Oracle and/or its affiliates.
10+
Modifications copyright (c) 2015-2019, Oracle and/or its affiliates.
1111
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle
1212
Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
1313
Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
@@ -19,6 +19,18 @@
1919

2020
[section:release_notes Release Notes]
2121

22+
[/=================]
23+
[heading Boost 1.70]
24+
[/=================]
25+
26+
[*Improvements]
27+
28+
* [@https://github.com/boostorg/geometry/pull/526 526] New line interpolate algorithm.
29+
30+
[*Bugfixes]
31+
32+
* [@https://github.com/boostorg/geometry/pull/553 553] Pass spheroid correctly in geographic comparable strategies.
33+
2234
[/=================]
2335
[heading Boost 1.69]
2436
[/=================]
@@ -51,7 +63,7 @@
5163
* [@https://github.com/boostorg/geometry/pull/469 469] Horizontal grid shift (nadgrids) in SRS transformations (undocumented for now due to potential interface changes).
5264
* [@https://github.com/boostorg/geometry/pull/478 478] Box-Segment distance for spherical and geographic coordinate systems.
5365
* [@https://github.com/boostorg/geometry/pull/487 487] Missing combinations of geometries in distance for spherical and geographic cs
54-
* [@https://github.com/boostorg/geometry/pull/489 489] Additional direct geodesic problem formulas for internal use
66+
* [@https://github.com/boostorg/geometry/pull/489 489] Additional direct geodesic problem formulas for internal use
5567

5668
[*Solved issues]
5769

@@ -355,7 +367,7 @@
355367
[*Bugfixes]
356368

357369
* Bug in multipoint/polygon multipoint/multipolygon distance computation (wrong detection of points inside the areal geometry)
358-
* Bug in flatten_iterator's assignment operator causing an access violation
370+
* Bug in flatten_iterator's assignment operator causing an access violation
359371
* Bug in Cartesian segment-segment intersection strategy when one segment degenerates to a point and is collinear to the other non-degenerate segment
360372
* Bug in centroid(), non-deterministic result if calculated for e.g. a Polygon with zero-area.
361373
* Bug in buffers for joins with a limited number of points
@@ -676,9 +688,9 @@
676688
[*Additional coordinate types]
677689

678690
* Basic (limited) support for Boost.Rational
679-
691+
680692
[heading Boost 1.47]
681693

682-
Original release
694+
Original release
683695

684696
[endsect]

0 commit comments

Comments
 (0)