136 Commits

Author SHA1 Message Date
Denis Rouzaud
2a9b24e666
[pyqgis] fix calling QgsGeometry.splitGeometry with QgsPoint or QgsPointXY (#53202) 2023-05-24 22:34:26 +02:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Even Rouault
0c8f0106da
Add QgsGeometry::convertToCurvedMultiType() 2023-01-04 00:07:49 +01:00
Antoine Facchini
864ed43b7c feat(avoidIntersections): add a new return value when the geom is not modified 2022-11-29 17:48:32 +01:00
Nyall Dawson
a4a0e10902 Use QgsGeometryParameters class for specifying grid size instead
of dedicated arguments
2022-09-10 06:00:45 +10:00
Loïc Bartoletti
9c5821a8c1 qgsgeometry.h: subdivde: add previously missing \param for maxNodes 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
2ce57c4037 qgsgeometry.h: fix docstring including previsously missing geometry param 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
4fbc7a9e5f Fix dox. Add more descriptions and add gridSize documentation 2022-09-10 06:00:45 +10:00
Loïc Bartoletti
2dd6f9f1ee fix use prec when gridSize <= 0 2022-09-10 06:00:45 +10:00
Nyall Dawson
804951ea26 [api] Expose GEOS make valid options for geos 3.10+ builds 2022-09-05 12:35:53 +10:00
Loïc Bartoletti
80e7ba354a
Add Concave hull API and expression function
Exposes the GEOS concave hull operation to QgsGeometry API and a via a new concave_hull expression function.

Requires GEOS 3.11+
2022-09-01 02:58:35 +00:00
Mathieu Pellerin
a351a3e301 Fix QgsGeometry documentation inaccuracy 2022-07-08 08:05:07 +10:00
Denis Rouzaud
b98c1df904 use default args for Z/M values in QgsGeometry::coerceToType 2022-01-28 06:21:18 +01:00
Nyall Dawson
4b7dff669c Improve docs 2021-11-02 15:03:56 +11:00
Nyall Dawson
11dc9cca18 Add force_polygon_cw and force_polygon_ccw expression functions
These are recommended for use instead of the existing force_rhr
function, due to the variability in definition of the "right hand
rule" between different software applications. Using an explicit
force_polygon_cw/ccw function removes user confusion when the
results vary between different applications.
2021-11-01 12:10:41 +11:00
Nyall Dawson
0795f726cf [api] Add function to apply a dash pattern vector to a geometry
This returns a new multilinestring geometry which represents the
input geometry with the dash pattern applied to the lines or rings
of the input geometry.

Options are available to set rules for the start/end of the pattern,
e.g. ending on a full dash or gap, or half dash or gap.

Sponsored by North Road, thanks to SLYR
2021-10-30 18:18:03 +11:00
Nyall Dawson
7c03c9ec4a Calling QgsGeometry.asPoint on a multipoint with a single point part
should be allowed
2021-10-23 05:18:09 +10:00
Nyall Dawson
430c5b24b0 [api] Add methods to create triangular, square, and sine-like waves
along a geometry's boundaries

also includes variations on these which allow for randomized
triangle/square/sine-like waves, with amplitude and wavelength
randomly generated using a specified range
2021-10-23 05:17:07 +10:00
Nyall Dawson
e6b39077a2
Promote QgsCoordinateTransform::TransformDirection to enum class, move to Qgis
This enum was forcing an include of qgscoordinatetransform.h within the
widely used qgsabstractgeometry.h header, causing an absolute explosion
of includes of a bunch of very heavy header classes all across QGIS. By
removing the forced include we can avoid a ton of unwanted includes
and make wider use of forward declarations...
2021-09-22 16:40:49 +10:00
Nyall Dawson
3d599fe4b5 Fix QgsGeometry.fromPolygonXY docs
Fixes #45099
2021-09-21 09:14:52 +10:00
Nyall Dawson
01e3e1dddc [api] Move QgsGeometry enums to Qgis, promote to enum classes 2021-08-04 09:54:32 +10:00
Nyall Dawson
711a615be3 Fix raises sphinx format 2021-06-25 10:50:04 +10:00
Olivier Dalang
2c69acabe5 [convert to curve] PR review 2021-06-19 06:24:13 +10:00
Olivier Dalang
9739e07c38 [convert to curve] avancement 2021-06-19 06:24:13 +10:00
Olivier Dalang
351df3ef9f [convert to curve] avancement 2021-06-19 06:24:13 +10:00
Nyall Dawson
480c2ebd65 Better docs and examples for QgsGeometryEngine class 2021-06-17 07:11:47 +10:00
Nyall Dawson
4ff3f447dc Don't try to insert links in raises blocks in PyQGIS docs
These aren't formatted correctly if we do
2021-06-10 11:03:43 +10:00
Nyall Dawson
8359281012 Fix formatting of exception blocks in PyQGIS docs 2021-06-10 11:03:43 +10:00
Denis Rouzaud
35c557a234 run sipify 2021-05-26 14:30:54 +02:00
Nyall Dawson
928e3ee2fe Dox 2021-05-05 06:57:58 +10:00
Nyall Dawson
2f77f6f015 Dox++ 2021-05-05 06:57:58 +10:00
Nyall Dawson
755182c134 Expose more geos methods 2021-05-05 06:57:58 +10:00
Nyall Dawson
f22c63ec77 Rely on upstream GEOS makevalid algorithm for GEOS 3.9+
No point having our own internal fork of this code now that it's
included (and more importantly, maintained) upstream!
2021-04-29 08:45:25 +10:00
Nyall Dawson
1c11a91811 Add QgsGeometry::normalize()
A port of the equivalent method from GEOS, but with added support
for curved geometries and M values

Reorganizes the geometry into a normalized form (or "canonical" form).

Polygon rings will be rearranged so that their starting vertex is
the lower left and ring orientation follows the right hand rule, collections
are ordered by geometry type, and other normalization techniques are applied.
The resultant geometry will be geometrically equivalent to the original geometry.
2021-04-29 05:33:25 +10:00
Nyall Dawson
9c4375b4c7 Add QgsGeometry::isAxisParallelRectangle for checking whether
a geometry is a axis-parallel rectangle

Credit to @stefanuhrig
2021-04-24 06:25:02 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
7dfef3a0b1 Newer doxygen versions don't auto convert the first line in a class'
documentation to a brief note, so we have to do it explicitly...
2021-02-19 08:15:29 +10:00
Loïc Bartoletti
e336b831c2 Remove automagic fix and tiny refacto 2021-02-13 09:25:19 +10:00
Loïc Bartoletti
7e7732218b Add a message if a geometry was fixed 2021-02-13 09:25:19 +10:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Harrissou Sant-anna
8a8d2a2c66 Fix some formatting in pyQGIS doc 2021-01-30 08:25:03 +10:00
tschmetzer
df0950c6e6
Rename variables for a more intuitive documentation 2020-10-30 09:13:26 +10:00
Even Rouault
7ac4b51885 Add QgsGeometry::wkbSize() 2020-10-19 09:25:10 +10:00
Nyall Dawson
746ee315bd Fix boolean literal presentation in dox/PyQGIS docs 2020-10-16 16:03:26 +10:00
Nyall Dawson
f8222f0f16 [processing] Skip redundant and potentially expensive duplicate intersection
test in Split With Lines algorithm
2020-10-15 12:40:30 +10:00
Nyall Dawson
4ee9feb56b Sipify 2020-10-09 11:20:09 +10:00
Nyall Dawson
fe5615ea44 Hold the GIL for more geometry related methods 2020-09-18 11:50:27 +10:00
vcloarec
e022b3eb5c renaming and typo 2020-07-29 21:32:17 -04:00
vcloarec
f7a16c5fd3 fix doc and pass map tool reshape test 2020-07-29 12:49:44 -04:00