This is an automated email from the ASF dual-hosted git repository.
jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sedona.git
The following commit(s) were added to refs/heads/master by this push:
new 8bb9fd4b0c [GH-2678] Add SVG visuals for measurement functions (Phase
4) (#2684)
8bb9fd4b0c is described below
commit 8bb9fd4b0c4d633e413e8bb6847ad842400b7afc
Author: Jia Yu <[email protected]>
AuthorDate: Wed Mar 4 14:45:54 2026 -0700
[GH-2678] Add SVG visuals for measurement functions (Phase 4) (#2684)
---
.../flink/Measurement-Functions/ST_3DDistance.md | 2 ++
docs/api/flink/Measurement-Functions/ST_Angle.md | 2 ++
docs/api/flink/Measurement-Functions/ST_Area.md | 2 ++
.../flink/Measurement-Functions/ST_AreaSpheroid.md | 2 ++
docs/api/flink/Measurement-Functions/ST_Azimuth.md | 2 ++
.../flink/Measurement-Functions/ST_ClosestPoint.md | 2 ++
docs/api/flink/Measurement-Functions/ST_Degrees.md | 2 ++
.../api/flink/Measurement-Functions/ST_Distance.md | 2 ++
.../Measurement-Functions/ST_DistanceSphere.md | 2 ++
.../Measurement-Functions/ST_DistanceSpheroid.md | 2 ++
.../Measurement-Functions/ST_FrechetDistance.md | 2 ++
.../Measurement-Functions/ST_HausdorffDistance.md | 2 ++
docs/api/flink/Measurement-Functions/ST_Length.md | 2 ++
.../api/flink/Measurement-Functions/ST_Length2D.md | 2 ++
.../Measurement-Functions/ST_LengthSpheroid.md | 2 ++
.../flink/Measurement-Functions/ST_LongestLine.md | 2 ++
.../flink/Measurement-Functions/ST_MaxDistance.md | 2 ++
.../Measurement-Functions/ST_MinimumClearance.md | 2 ++
.../ST_MinimumClearanceLine.md | 2 ++
.../flink/Measurement-Functions/ST_Perimeter.md | 2 ++
.../flink/Measurement-Functions/ST_Perimeter2D.md | 2 ++
.../Measurement-Functions/ST_3DDistance.md | 2 ++
.../vector-data/Measurement-Functions/ST_Angle.md | 2 ++
.../vector-data/Measurement-Functions/ST_Area.md | 2 ++
.../Measurement-Functions/ST_AreaSpheroid.md | 2 ++
.../Measurement-Functions/ST_Azimuth.md | 2 ++
.../Measurement-Functions/ST_ClosestPoint.md | 2 ++
.../Measurement-Functions/ST_Degrees.md | 2 ++
.../Measurement-Functions/ST_Distance.md | 2 ++
.../Measurement-Functions/ST_DistanceSphere.md | 2 ++
.../Measurement-Functions/ST_DistanceSpheroid.md | 2 ++
.../Measurement-Functions/ST_FrechetDistance.md | 2 ++
.../Measurement-Functions/ST_HausdorffDistance.md | 2 ++
.../vector-data/Measurement-Functions/ST_Length.md | 2 ++
.../Measurement-Functions/ST_Length2D.md | 2 ++
.../Measurement-Functions/ST_LengthSpheroid.md | 2 ++
.../Measurement-Functions/ST_LongestLine.md | 2 ++
.../Measurement-Functions/ST_MaxDistance.md | 2 ++
.../Measurement-Functions/ST_MinimumClearance.md | 2 ++
.../ST_MinimumClearanceLine.md | 2 ++
.../Measurement-Functions/ST_Perimeter.md | 2 ++
.../Measurement-Functions/ST_Perimeter2D.md | 2 ++
.../api/sql/Measurement-Functions/ST_3DDistance.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Angle.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Area.md | 2 ++
.../sql/Measurement-Functions/ST_AreaSpheroid.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Azimuth.md | 2 ++
.../sql/Measurement-Functions/ST_ClosestPoint.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Degrees.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Distance.md | 2 ++
.../sql/Measurement-Functions/ST_DistanceSphere.md | 2 ++
.../Measurement-Functions/ST_DistanceSpheroid.md | 2 ++
.../Measurement-Functions/ST_FrechetDistance.md | 2 ++
.../Measurement-Functions/ST_HausdorffDistance.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Length.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Length2D.md | 2 ++
.../sql/Measurement-Functions/ST_LengthSpheroid.md | 2 ++
.../sql/Measurement-Functions/ST_LongestLine.md | 2 ++
.../sql/Measurement-Functions/ST_MaxDistance.md | 2 ++
.../Measurement-Functions/ST_MinimumClearance.md | 2 ++
.../ST_MinimumClearanceLine.md | 2 ++
docs/api/sql/Measurement-Functions/ST_Perimeter.md | 2 ++
.../sql/Measurement-Functions/ST_Perimeter2D.md | 2 ++
docs/image/ST_3DDistance/ST_3DDistance.svg | 27 +++++++++++++++
docs/image/ST_Angle/ST_Angle.svg | 33 ++++++++++++++++++
docs/image/ST_Area/ST_Area.svg | 22 ++++++++++++
docs/image/ST_AreaSpheroid/ST_AreaSpheroid.svg | 22 ++++++++++++
docs/image/ST_Azimuth/ST_Azimuth.svg | 34 +++++++++++++++++++
docs/image/ST_ClosestPoint/ST_ClosestPoint.svg | 29 ++++++++++++++++
docs/image/ST_Degrees/ST_Degrees.svg | 27 +++++++++++++++
docs/image/ST_Distance/ST_Distance.svg | 27 +++++++++++++++
docs/image/ST_DistanceSphere/ST_DistanceSphere.svg | 27 +++++++++++++++
.../ST_DistanceSpheroid/ST_DistanceSpheroid.svg | 27 +++++++++++++++
.../ST_FrechetDistance/ST_FrechetDistance.svg | 39 ++++++++++++++++++++++
.../ST_HausdorffDistance/ST_HausdorffDistance.svg | 34 +++++++++++++++++++
docs/image/ST_Length/ST_Length.svg | 24 +++++++++++++
docs/image/ST_Length2D/ST_Length2D.svg | 24 +++++++++++++
docs/image/ST_LengthSpheroid/ST_LengthSpheroid.svg | 24 +++++++++++++
docs/image/ST_LongestLine/ST_LongestLine.svg | 29 ++++++++++++++++
docs/image/ST_MaxDistance/ST_MaxDistance.svg | 27 +++++++++++++++
.../ST_MinimumClearance/ST_MinimumClearance.svg | 22 ++++++++++++
.../ST_MinimumClearanceLine.svg | 24 +++++++++++++
docs/image/ST_Perimeter/ST_Perimeter.svg | 22 ++++++++++++
docs/image/ST_Perimeter2D/ST_Perimeter2D.svg | 22 ++++++++++++
84 files changed, 692 insertions(+)
diff --git a/docs/api/flink/Measurement-Functions/ST_3DDistance.md
b/docs/api/flink/Measurement-Functions/ST_3DDistance.md
index 7126f3b0e7..d853d1c46b 100644
--- a/docs/api/flink/Measurement-Functions/ST_3DDistance.md
+++ b/docs/api/flink/Measurement-Functions/ST_3DDistance.md
@@ -21,6 +21,8 @@
Introduction: Return the 3-dimensional minimum cartesian distance between A
and B
+
+
Format: `ST_3DDistance (A: Geometry, B: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Angle.md
b/docs/api/flink/Measurement-Functions/ST_Angle.md
index 2fb3c002f4..2025dcd8cf 100644
--- a/docs/api/flink/Measurement-Functions/ST_Angle.md
+++ b/docs/api/flink/Measurement-Functions/ST_Angle.md
@@ -45,6 +45,8 @@ Computes the angle formed by vectors S1 - E1 and S2 - E2,
where S and E denote s
!!!Tip
ST_Angle returns the angle in radian between 0 and 2\Pi. To convert the
angle to degrees, use [ST_Degrees](ST_Degrees.md).
+
+
Format: `ST_Angle(p1, p2, p3, p4) | ST_Angle(p1, p2, p3) | ST_Angle(line1,
line2)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Area.md
b/docs/api/flink/Measurement-Functions/ST_Area.md
index b55d78be36..f9241f2d97 100644
--- a/docs/api/flink/Measurement-Functions/ST_Area.md
+++ b/docs/api/flink/Measurement-Functions/ST_Area.md
@@ -21,6 +21,8 @@
Introduction: Return the area of A
+
+
Format: `ST_Area (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_AreaSpheroid.md
b/docs/api/flink/Measurement-Functions/ST_AreaSpheroid.md
index 31146bc7de..4edb32682e 100644
--- a/docs/api/flink/Measurement-Functions/ST_AreaSpheroid.md
+++ b/docs/api/flink/Measurement-Functions/ST_AreaSpheroid.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_AreaSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Azimuth.md
b/docs/api/flink/Measurement-Functions/ST_Azimuth.md
index d4c71d4530..9ada05aee2 100644
--- a/docs/api/flink/Measurement-Functions/ST_Azimuth.md
+++ b/docs/api/flink/Measurement-Functions/ST_Azimuth.md
@@ -21,6 +21,8 @@
Introduction: Returns Azimuth for two given points in radians. Returns null if
the two points are identical.
+
+
Format: `ST_Azimuth(pointA: Point, pointB: Point)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_ClosestPoint.md
b/docs/api/flink/Measurement-Functions/ST_ClosestPoint.md
index 9c46c86b45..af25f27926 100644
--- a/docs/api/flink/Measurement-Functions/ST_ClosestPoint.md
+++ b/docs/api/flink/Measurement-Functions/ST_ClosestPoint.md
@@ -22,6 +22,8 @@
Introduction: Returns the 2-dimensional point on geom1 that is closest to
geom2. This is the first point of the shortest line between the geometries. If
using 3D geometries, the Z coordinates will be ignored. If you have a 3D
Geometry, you may prefer to use ST_3DClosestPoint.
It will throw an exception indicates illegal argument if one of the params is
an empty geometry.
+
+
Format: `ST_ClosestPoint(g1: Geometry, g2: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/flink/Measurement-Functions/ST_Degrees.md
b/docs/api/flink/Measurement-Functions/ST_Degrees.md
index 5bdd0d88b9..f6fc6dbd85 100644
--- a/docs/api/flink/Measurement-Functions/ST_Degrees.md
+++ b/docs/api/flink/Measurement-Functions/ST_Degrees.md
@@ -21,6 +21,8 @@
Introduction: Convert an angle in radian to degrees.
+
+
Format: `ST_Degrees(angleInRadian)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Distance.md
b/docs/api/flink/Measurement-Functions/ST_Distance.md
index 7d7c5c4209..e5bf0d1782 100644
--- a/docs/api/flink/Measurement-Functions/ST_Distance.md
+++ b/docs/api/flink/Measurement-Functions/ST_Distance.md
@@ -21,6 +21,8 @@
Introduction: Return the Euclidean distance between A and B
+
+
Format: `ST_Distance (A: Geometry, B: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_DistanceSphere.md
b/docs/api/flink/Measurement-Functions/ST_DistanceSphere.md
index 50d425080b..73d008ca29 100644
--- a/docs/api/flink/Measurement-Functions/ST_DistanceSphere.md
+++ b/docs/api/flink/Measurement-Functions/ST_DistanceSphere.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_DistanceSphere (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_DistanceSpheroid.md
b/docs/api/flink/Measurement-Functions/ST_DistanceSpheroid.md
index 6f503a1692..067a499b27 100644
--- a/docs/api/flink/Measurement-Functions/ST_DistanceSpheroid.md
+++ b/docs/api/flink/Measurement-Functions/ST_DistanceSpheroid.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_DistanceSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_FrechetDistance.md
b/docs/api/flink/Measurement-Functions/ST_FrechetDistance.md
index b006044051..fba724dda6 100644
--- a/docs/api/flink/Measurement-Functions/ST_FrechetDistance.md
+++ b/docs/api/flink/Measurement-Functions/ST_FrechetDistance.md
@@ -24,6 +24,8 @@ based on [Computing Discrete Frechet
Distance](http://www.kr.tuwien.ac.at/staff/
If any of the geometries is empty, returns 0.0
+
+
Format: `ST_FrechetDistance(g1: Geometry, g2: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_HausdorffDistance.md
b/docs/api/flink/Measurement-Functions/ST_HausdorffDistance.md
index 1e091b28e5..49cbcd6227 100644
--- a/docs/api/flink/Measurement-Functions/ST_HausdorffDistance.md
+++ b/docs/api/flink/Measurement-Functions/ST_HausdorffDistance.md
@@ -33,6 +33,8 @@ If any of the geometry is empty, 0.0 is returned.
!!!Note
Even though the function accepts 3D geometry, the z ordinate is ignored
and the computed hausdorff distance is equivalent to the geometries not having
the z ordinate.
+
+
Format: `ST_HausdorffDistance(g1: Geometry, g2: Geometry, densityFrac: Double)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Length.md
b/docs/api/flink/Measurement-Functions/ST_Length.md
index 99d8c21c11..fe600e5dc6 100644
--- a/docs/api/flink/Measurement-Functions/ST_Length.md
+++ b/docs/api/flink/Measurement-Functions/ST_Length.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A.
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: `ST_Length (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_Length2D.md
b/docs/api/flink/Measurement-Functions/ST_Length2D.md
index bc17e734e6..86a50e41ec 100644
--- a/docs/api/flink/Measurement-Functions/ST_Length2D.md
+++ b/docs/api/flink/Measurement-Functions/ST_Length2D.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A. This function is an
alias of [ST_Lengt
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: ST_Length2D (A:geometry)
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_LengthSpheroid.md
b/docs/api/flink/Measurement-Functions/ST_LengthSpheroid.md
index 5b3ad3b8e1..d672c1930d 100644
--- a/docs/api/flink/Measurement-Functions/ST_LengthSpheroid.md
+++ b/docs/api/flink/Measurement-Functions/ST_LengthSpheroid.md
@@ -29,6 +29,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: `ST_LengthSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_LongestLine.md
b/docs/api/flink/Measurement-Functions/ST_LongestLine.md
index 02edc87bb7..3419bebc3f 100644
--- a/docs/api/flink/Measurement-Functions/ST_LongestLine.md
+++ b/docs/api/flink/Measurement-Functions/ST_LongestLine.md
@@ -21,6 +21,8 @@
Introduction: Returns the LineString geometry representing the maximum
distance between any two points from the input geometries.
+
+
Format: `ST_LongestLine(geom1: Geometry, geom2: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/flink/Measurement-Functions/ST_MaxDistance.md
b/docs/api/flink/Measurement-Functions/ST_MaxDistance.md
index 1e15e5ef7a..83feda0b45 100644
--- a/docs/api/flink/Measurement-Functions/ST_MaxDistance.md
+++ b/docs/api/flink/Measurement-Functions/ST_MaxDistance.md
@@ -21,6 +21,8 @@
Introduction: Calculates and returns the length value representing the maximum
distance between any two points across the input geometries. This function is
an alias for `ST_LongestDistance`.
+
+
Format: `ST_MaxDistance(geom1: Geometry, geom2: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_MinimumClearance.md
b/docs/api/flink/Measurement-Functions/ST_MinimumClearance.md
index 438dd45c9d..fdf7153c3a 100644
--- a/docs/api/flink/Measurement-Functions/ST_MinimumClearance.md
+++ b/docs/api/flink/Measurement-Functions/ST_MinimumClearance.md
@@ -28,6 +28,8 @@ For a geometry with a minimum clearance of `x`, the following
conditions hold:
For geometries with no definable minimum clearance, such as single Point
geometries or MultiPoint geometries where all points occupy the same location,
the function returns `Double.MAX_VALUE`.
+
+
Format: `ST_MinimumClearance(geometry: Geometry)`
Return type: `Double`
diff --git a/docs/api/flink/Measurement-Functions/ST_MinimumClearanceLine.md
b/docs/api/flink/Measurement-Functions/ST_MinimumClearanceLine.md
index fc8391ab8a..bd646f1e43 100644
--- a/docs/api/flink/Measurement-Functions/ST_MinimumClearanceLine.md
+++ b/docs/api/flink/Measurement-Functions/ST_MinimumClearanceLine.md
@@ -21,6 +21,8 @@
Introduction: This function returns a two-point LineString geometry
representing the minimum clearance distance of the input geometry. If the input
geometry does not have a defined minimum clearance, such as for single Points
or coincident MultiPoints, an empty LineString geometry is returned instead.
+
+
Format: `ST_MinimumClearanceLine(geometry: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/flink/Measurement-Functions/ST_Perimeter.md
b/docs/api/flink/Measurement-Functions/ST_Perimeter.md
index 73006bd100..be4ed035d3 100644
--- a/docs/api/flink/Measurement-Functions/ST_Perimeter.md
+++ b/docs/api/flink/Measurement-Functions/ST_Perimeter.md
@@ -23,6 +23,8 @@ Introduction: This function calculates the 2D perimeter of a
given geometry. It
To get the perimeter in meters, set `use_spheroid` to `true`. This calculates
the geodesic perimeter using the WGS84 spheroid. When using `use_spheroid`, the
`lenient` parameter defaults to true, assuming the geometry uses EPSG:4326. To
throw an exception instead, set `lenient` to `false`.
+
+
Format:
`ST_Perimeter(geom: Geometry)`
diff --git a/docs/api/flink/Measurement-Functions/ST_Perimeter2D.md
b/docs/api/flink/Measurement-Functions/ST_Perimeter2D.md
index 1102116a31..2b1153b964 100644
--- a/docs/api/flink/Measurement-Functions/ST_Perimeter2D.md
+++ b/docs/api/flink/Measurement-Functions/ST_Perimeter2D.md
@@ -26,6 +26,8 @@ To get the perimeter in meters, set `use_spheroid` to `true`.
This calculates th
!!!Info
This function is an alias for [ST_Perimeter](ST_Perimeter.md).
+
+
Format:
`ST_Perimeter2D(geom: Geometry)`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_3DDistance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_3DDistance.md
index 06627f37c5..76d850af88 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_3DDistance.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_3DDistance.md
@@ -21,6 +21,8 @@
Introduction: Return the 3-dimensional minimum cartesian distance between A
and B
+
+
Format: `ST_3DDistance (A:geometry, B:geometry)`
Return type: `Double`
diff --git a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Angle.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Angle.md
index ba21f72ccd..b734e066bf 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Angle.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Angle.md
@@ -42,6 +42,8 @@ Additionally, if any of the provided geometry is empty,
ST_Angle throws an Illeg
!!!Tip
ST_Angle returns the angle in radian between 0 and 2\Pi. To convert the
angle to degrees, use [ST_Degrees](ST_Degrees.md).
+
+
Format: `ST_Angle(p1, p2, p3, p4) | ST_Angle(p1, p2, p3) | ST_Angle(line1,
line2)`
Return type: `Double`
diff --git a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Area.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Area.md
index b89410cad4..e536b93fcd 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Area.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Area.md
@@ -21,6 +21,8 @@
Introduction: Return the area of A
+
+
Format: `ST_Area (A:geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_AreaSpheroid.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_AreaSpheroid.md
index ae677145ec..306ebda619 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_AreaSpheroid.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_AreaSpheroid.md
@@ -23,6 +23,8 @@ Introduction: Return the geodesic area of A using WGS84
spheroid. Unit is square
Geometry must be in EPSG:4326 (WGS84) projection and must be in ==lat/lon==
order. You can use ==ST_FlipCoordinates== to swap lat and lon.
+
+
Format: `ST_AreaSpheroid (A:geometry)`
Return type: `Double`
diff --git a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Azimuth.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Azimuth.md
index f1bc7e9a9d..1582d287e9 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Azimuth.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Azimuth.md
@@ -21,6 +21,8 @@
Introduction: Returns Azimuth for two given points in radians. Returns null if
the two points are identical.
+
+
Format: `ST_Azimuth(pointA: Point, pointB: Point)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_ClosestPoint.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_ClosestPoint.md
index b970813444..7d1b4a059b 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_ClosestPoint.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_ClosestPoint.md
@@ -22,6 +22,8 @@
Introduction: Returns the 2-dimensional point on geom1 that is closest to
geom2. This is the first point of the shortest line between the geometries. If
using 3D geometries, the Z coordinates will be ignored. If you have a 3D
Geometry, you may prefer to use ST_3DClosestPoint.
It will throw an exception indicates illegal argument if one of the params is
an empty geometry.
+
+
Format: `ST_ClosestPoint(g1: Geometry, g2: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Degrees.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Degrees.md
index 1b2771298a..8744d7ba9d 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Degrees.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Degrees.md
@@ -21,6 +21,8 @@
Introduction: Convert an angle in radian to degrees.
+
+
Format: `ST_Degrees(angleInRadian)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Distance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Distance.md
index 243df6e34a..c2163b6135 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Distance.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Distance.md
@@ -21,6 +21,8 @@
Introduction: Return the Euclidean distance between A and B
+
+
Format: `ST_Distance (A:geometry, B:geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSphere.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSphere.md
index 0b82b86158..b6ecb5563d 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSphere.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSphere.md
@@ -23,6 +23,8 @@ Introduction: Return the haversine / great-circle distance of
A using a given ea
Geometry must be in EPSG:4326 (WGS84) projection and must be in ==lat/lon==
order. You can use ==ST_FlipCoordinates== to swap lat and lon. For non-point
data, we first take the centroids of both geometries and then compute the
distance.
+
+
Format: `ST_DistanceSphere (A:geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSpheroid.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSpheroid.md
index b0887724e7..288dca4edd 100644
---
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSpheroid.md
+++
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_DistanceSpheroid.md
@@ -23,6 +23,8 @@ Introduction: Return the geodesic distance of A using WGS84
spheroid. Unit is me
Geometry must be in EPSG:4326 (WGS84) projection and must be in ==lat/lon==
order. You can use ==ST_FlipCoordinates== to swap lat and lon. For non-point
data, we first take the centroids of both geometries and then compute the
distance.
+
+
Format: `ST_DistanceSpheroid (A:geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_FrechetDistance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_FrechetDistance.md
index 724cbcf051..2c21029fca 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_FrechetDistance.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_FrechetDistance.md
@@ -24,6 +24,8 @@ based on [Computing Discrete Frechet
Distance](http://www.kr.tuwien.ac.at/staff/
If any of the geometries is empty, returns 0.0
+
+
Format: `ST_FrechetDistance(g1: Geometry, g2: Geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_HausdorffDistance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_HausdorffDistance.md
index 2dae313cce..4382efc4bc 100644
---
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_HausdorffDistance.md
+++
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_HausdorffDistance.md
@@ -33,6 +33,8 @@ If any of the geometry is empty, 0.0 is returned.
!!!Note
Even though the function accepts 3D geometry, the z ordinate is ignored
and the computed hausdorff distance is equivalent to the geometries not having
the z ordinate.
+
+
Format: `ST_HausdorffDistance(g1: Geometry, g2: Geometry, densityFrac: Double)`
Return type: `Double`
diff --git a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length.md
index 208d308254..8e7b13e3fa 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A.
!!!Warning
This function only supports LineString, MultiLineString, and
GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: ST_Length (A:geometry)
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length2D.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length2D.md
index 8b94739e15..b173e9ebd2 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length2D.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Length2D.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A. This function is an
alias of [ST_Lengt
!!!Warning
This function only supports LineString, MultiLineString, and
GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: ST_Length2D (A:geometry)
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_LengthSpheroid.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_LengthSpheroid.md
index 18629b4093..9312a1938e 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_LengthSpheroid.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_LengthSpheroid.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lat/lon== orde
!!!Warning
This function only supports LineString, MultiLineString, and
GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: `ST_LengthSpheroid (A:geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_LongestLine.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_LongestLine.md
index 74c396cf1e..da179e740b 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_LongestLine.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_LongestLine.md
@@ -21,6 +21,8 @@
Introduction: Returns the LineString geometry representing the maximum
distance between any two points from the input geometries.
+
+
Format: `ST_LongestLine(geom1: Geometry, geom2: Geometry)`
Return type: `Geometry`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MaxDistance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MaxDistance.md
index 1c2f5e8eba..537e3401fc 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MaxDistance.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MaxDistance.md
@@ -21,6 +21,8 @@
Introduction: Calculates and returns the length value representing the maximum
distance between any two points across the input geometries. This function is
an alias for `ST_LongestDistance`.
+
+
Format: `ST_MaxDistance(geom1: Geometry, geom2: Geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearance.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearance.md
index 76b8b8f523..3a9b763b58 100644
---
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearance.md
+++
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearance.md
@@ -28,6 +28,8 @@ For a geometry with a minimum clearance of `x`, the following
conditions hold:
For geometries with no definable minimum clearance, such as single Point
geometries or MultiPoint geometries where all points occupy the same location,
the function returns `Double.MAX_VALUE`.
+
+
Format: `ST_MinimumClearance(geometry: Geometry)`
Return type: `Double`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearanceLine.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearanceLine.md
index 659dd0b6f3..b29893a962 100644
---
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearanceLine.md
+++
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_MinimumClearanceLine.md
@@ -21,6 +21,8 @@
Introduction: This function returns a two-point LineString geometry
representing the minimum clearance distance of the input geometry. If the input
geometry does not have a defined minimum clearance, such as for single Points
or coincident MultiPoints, an empty LineString geometry is returned instead.
+
+
Format: `ST_MinimumClearanceLine(geometry: Geometry)`
Return type: `Geometry`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter.md
index 48d24fbff5..6667d232a3 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter.md
@@ -23,6 +23,8 @@ Introduction: This function calculates the 2D perimeter of a
given geometry. It
To get the perimeter in meters, set `use_spheroid` to `true`. This calculates
the geodesic perimeter using the WGS84 spheroid. When using `use_spheroid`, the
`lenient` parameter defaults to true, assuming the geometry uses EPSG:4326. To
throw an exception instead, set `lenient` to `false`.
+
+
Format:
`ST_Perimeter(geom: Geometry)`
diff --git
a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter2D.md
b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter2D.md
index 714a8278bd..3dc0ae7b84 100644
--- a/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter2D.md
+++ b/docs/api/snowflake/vector-data/Measurement-Functions/ST_Perimeter2D.md
@@ -26,6 +26,8 @@ To get the perimeter in meters, set `use_spheroid` to `true`.
This calculates th
!!!Info
This function is an alias for [ST_Perimeter](ST_Perimeter.md).
+
+
Format:
`ST_Perimeter2D(geom: Geometry)`
diff --git a/docs/api/sql/Measurement-Functions/ST_3DDistance.md
b/docs/api/sql/Measurement-Functions/ST_3DDistance.md
index f4035f44e9..df46201036 100644
--- a/docs/api/sql/Measurement-Functions/ST_3DDistance.md
+++ b/docs/api/sql/Measurement-Functions/ST_3DDistance.md
@@ -21,6 +21,8 @@
Introduction: Return the 3-dimensional minimum cartesian distance between A
and B
+
+
Format: `ST_3DDistance (A: Geometry, B: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Angle.md
b/docs/api/sql/Measurement-Functions/ST_Angle.md
index 64ede3a694..3ed85d1fe6 100644
--- a/docs/api/sql/Measurement-Functions/ST_Angle.md
+++ b/docs/api/sql/Measurement-Functions/ST_Angle.md
@@ -42,6 +42,8 @@ Computes the angle formed by vectors S1 - E1 and S2 - E2,
where S and E denote s
!!!Tip
ST_Angle returns the angle in radian between 0 and 2\Pi. To convert the
angle to degrees, use [ST_Degrees](ST_Degrees.md).
+
+
Format: `ST_Angle(p1, p2, p3, p4) | ST_Angle(p1, p2, p3) | ST_Angle(line1,
line2)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Area.md
b/docs/api/sql/Measurement-Functions/ST_Area.md
index 1edae1cdc3..2e6790b4d2 100644
--- a/docs/api/sql/Measurement-Functions/ST_Area.md
+++ b/docs/api/sql/Measurement-Functions/ST_Area.md
@@ -21,6 +21,8 @@
Introduction: Return the area of A
+
+
Format: `ST_Area (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_AreaSpheroid.md
b/docs/api/sql/Measurement-Functions/ST_AreaSpheroid.md
index 113ae1bce1..da7c2611a9 100644
--- a/docs/api/sql/Measurement-Functions/ST_AreaSpheroid.md
+++ b/docs/api/sql/Measurement-Functions/ST_AreaSpheroid.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_AreaSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Azimuth.md
b/docs/api/sql/Measurement-Functions/ST_Azimuth.md
index 73e0ee66a3..e9f901f450 100644
--- a/docs/api/sql/Measurement-Functions/ST_Azimuth.md
+++ b/docs/api/sql/Measurement-Functions/ST_Azimuth.md
@@ -21,6 +21,8 @@
Introduction: Returns Azimuth for two given points in radians. Returns null if
the two points are identical.
+
+
Format: `ST_Azimuth(pointA: Point, pointB: Point)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_ClosestPoint.md
b/docs/api/sql/Measurement-Functions/ST_ClosestPoint.md
index 1304fe443d..8fdc835d77 100644
--- a/docs/api/sql/Measurement-Functions/ST_ClosestPoint.md
+++ b/docs/api/sql/Measurement-Functions/ST_ClosestPoint.md
@@ -22,6 +22,8 @@
Introduction: Returns the 2-dimensional point on geom1 that is closest to
geom2. This is the first point of the shortest line between the geometries. If
using 3D geometries, the Z coordinates will be ignored. If you have a 3D
Geometry, you may prefer to use ST_3DClosestPoint.
It will throw an exception indicates illegal argument if one of the params is
an empty geometry.
+
+
Format: `ST_ClosestPoint(g1: Geometry, g2: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/sql/Measurement-Functions/ST_Degrees.md
b/docs/api/sql/Measurement-Functions/ST_Degrees.md
index 497884e343..768b250ddf 100644
--- a/docs/api/sql/Measurement-Functions/ST_Degrees.md
+++ b/docs/api/sql/Measurement-Functions/ST_Degrees.md
@@ -21,6 +21,8 @@
Introduction: Convert an angle in radian to degrees.
+
+
Format: `ST_Degrees(angleInRadian)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Distance.md
b/docs/api/sql/Measurement-Functions/ST_Distance.md
index 48789e00e0..fc039b1620 100644
--- a/docs/api/sql/Measurement-Functions/ST_Distance.md
+++ b/docs/api/sql/Measurement-Functions/ST_Distance.md
@@ -21,6 +21,8 @@
Introduction: Return the Euclidean distance between A and B
+
+
Format: `ST_Distance (A: Geometry, B: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_DistanceSphere.md
b/docs/api/sql/Measurement-Functions/ST_DistanceSphere.md
index efbfdbe04e..b9020df4f5 100644
--- a/docs/api/sql/Measurement-Functions/ST_DistanceSphere.md
+++ b/docs/api/sql/Measurement-Functions/ST_DistanceSphere.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_DistanceSphere (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_DistanceSpheroid.md
b/docs/api/sql/Measurement-Functions/ST_DistanceSpheroid.md
index 65a250e291..786f7ff5aa 100644
--- a/docs/api/sql/Measurement-Functions/ST_DistanceSpheroid.md
+++ b/docs/api/sql/Measurement-Functions/ST_DistanceSpheroid.md
@@ -26,6 +26,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!note
By default, this function uses lon/lat order since `v1.5.0`. Before, it
used lat/lon order.
+
+
Format: `ST_DistanceSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_FrechetDistance.md
b/docs/api/sql/Measurement-Functions/ST_FrechetDistance.md
index ca5bd15490..554aaa5da5 100644
--- a/docs/api/sql/Measurement-Functions/ST_FrechetDistance.md
+++ b/docs/api/sql/Measurement-Functions/ST_FrechetDistance.md
@@ -24,6 +24,8 @@ based on [Computing Discrete Frechet
Distance](http://www.kr.tuwien.ac.at/staff/
If any of the geometries is empty, returns 0.0
+
+
Format: `ST_FrechetDistance(g1: Geometry, g2: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_HausdorffDistance.md
b/docs/api/sql/Measurement-Functions/ST_HausdorffDistance.md
index 071af0ed0a..cdd93038a7 100644
--- a/docs/api/sql/Measurement-Functions/ST_HausdorffDistance.md
+++ b/docs/api/sql/Measurement-Functions/ST_HausdorffDistance.md
@@ -33,6 +33,8 @@ If any of the geometry is empty, 0.0 is returned.
!!!Note
Even though the function accepts 3D geometry, the z ordinate is ignored
and the computed hausdorff distance is equivalent to the geometries not having
the z ordinate.
+
+
Format: `ST_HausdorffDistance(g1: Geometry, g2: Geometry, densityFrac: Double)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Length.md
b/docs/api/sql/Measurement-Functions/ST_Length.md
index f17bc2981d..2b9b750e76 100644
--- a/docs/api/sql/Measurement-Functions/ST_Length.md
+++ b/docs/api/sql/Measurement-Functions/ST_Length.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A.
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: `ST_Length (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_Length2D.md
b/docs/api/sql/Measurement-Functions/ST_Length2D.md
index 5b400874f4..efb7a8477f 100644
--- a/docs/api/sql/Measurement-Functions/ST_Length2D.md
+++ b/docs/api/sql/Measurement-Functions/ST_Length2D.md
@@ -24,6 +24,8 @@ Introduction: Returns the perimeter of A. This function is an
alias of [ST_Lengt
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: ST_Length2D (A:geometry)
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_LengthSpheroid.md
b/docs/api/sql/Measurement-Functions/ST_LengthSpheroid.md
index fd4c743e5b..8a0809f230 100644
--- a/docs/api/sql/Measurement-Functions/ST_LengthSpheroid.md
+++ b/docs/api/sql/Measurement-Functions/ST_LengthSpheroid.md
@@ -29,6 +29,8 @@ Geometry must be in EPSG:4326 (WGS84) projection and must be
in ==lon/lat== orde
!!!Warning
Since `v1.7.0`, this function only supports LineString, MultiLineString,
and GeometryCollections containing linear geometries. Use
[ST_Perimeter](ST_Perimeter.md) for polygons.
+
+
Format: `ST_LengthSpheroid (A: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_LongestLine.md
b/docs/api/sql/Measurement-Functions/ST_LongestLine.md
index 02edc87bb7..3419bebc3f 100644
--- a/docs/api/sql/Measurement-Functions/ST_LongestLine.md
+++ b/docs/api/sql/Measurement-Functions/ST_LongestLine.md
@@ -21,6 +21,8 @@
Introduction: Returns the LineString geometry representing the maximum
distance between any two points from the input geometries.
+
+
Format: `ST_LongestLine(geom1: Geometry, geom2: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/sql/Measurement-Functions/ST_MaxDistance.md
b/docs/api/sql/Measurement-Functions/ST_MaxDistance.md
index 1e15e5ef7a..83feda0b45 100644
--- a/docs/api/sql/Measurement-Functions/ST_MaxDistance.md
+++ b/docs/api/sql/Measurement-Functions/ST_MaxDistance.md
@@ -21,6 +21,8 @@
Introduction: Calculates and returns the length value representing the maximum
distance between any two points across the input geometries. This function is
an alias for `ST_LongestDistance`.
+
+
Format: `ST_MaxDistance(geom1: Geometry, geom2: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_MinimumClearance.md
b/docs/api/sql/Measurement-Functions/ST_MinimumClearance.md
index 438dd45c9d..fdf7153c3a 100644
--- a/docs/api/sql/Measurement-Functions/ST_MinimumClearance.md
+++ b/docs/api/sql/Measurement-Functions/ST_MinimumClearance.md
@@ -28,6 +28,8 @@ For a geometry with a minimum clearance of `x`, the following
conditions hold:
For geometries with no definable minimum clearance, such as single Point
geometries or MultiPoint geometries where all points occupy the same location,
the function returns `Double.MAX_VALUE`.
+
+
Format: `ST_MinimumClearance(geometry: Geometry)`
Return type: `Double`
diff --git a/docs/api/sql/Measurement-Functions/ST_MinimumClearanceLine.md
b/docs/api/sql/Measurement-Functions/ST_MinimumClearanceLine.md
index fc8391ab8a..bd646f1e43 100644
--- a/docs/api/sql/Measurement-Functions/ST_MinimumClearanceLine.md
+++ b/docs/api/sql/Measurement-Functions/ST_MinimumClearanceLine.md
@@ -21,6 +21,8 @@
Introduction: This function returns a two-point LineString geometry
representing the minimum clearance distance of the input geometry. If the input
geometry does not have a defined minimum clearance, such as for single Points
or coincident MultiPoints, an empty LineString geometry is returned instead.
+
+
Format: `ST_MinimumClearanceLine(geometry: Geometry)`
Return type: `Geometry`
diff --git a/docs/api/sql/Measurement-Functions/ST_Perimeter.md
b/docs/api/sql/Measurement-Functions/ST_Perimeter.md
index 73006bd100..be4ed035d3 100644
--- a/docs/api/sql/Measurement-Functions/ST_Perimeter.md
+++ b/docs/api/sql/Measurement-Functions/ST_Perimeter.md
@@ -23,6 +23,8 @@ Introduction: This function calculates the 2D perimeter of a
given geometry. It
To get the perimeter in meters, set `use_spheroid` to `true`. This calculates
the geodesic perimeter using the WGS84 spheroid. When using `use_spheroid`, the
`lenient` parameter defaults to true, assuming the geometry uses EPSG:4326. To
throw an exception instead, set `lenient` to `false`.
+
+
Format:
`ST_Perimeter(geom: Geometry)`
diff --git a/docs/api/sql/Measurement-Functions/ST_Perimeter2D.md
b/docs/api/sql/Measurement-Functions/ST_Perimeter2D.md
index 1102116a31..2b1153b964 100644
--- a/docs/api/sql/Measurement-Functions/ST_Perimeter2D.md
+++ b/docs/api/sql/Measurement-Functions/ST_Perimeter2D.md
@@ -26,6 +26,8 @@ To get the perimeter in meters, set `use_spheroid` to `true`.
This calculates th
!!!Info
This function is an alias for [ST_Perimeter](ST_Perimeter.md).
+
+
Format:
`ST_Perimeter2D(geom: Geometry)`
diff --git a/docs/image/ST_3DDistance/ST_3DDistance.svg
b/docs/image/ST_3DDistance/ST_3DDistance.svg
new file mode 100644
index 0000000000..84067e47a5
--- /dev/null
+++ b/docs/image/ST_3DDistance/ST_3DDistance.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_3DDistance</text>
+ <circle cx="112.5" cy="218.75" r="5" fill="#4a90d9" stroke="#4a90d9"
stroke-width="1.5" />
+ <text x="121.5" y="211.75" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <circle cx="387.5" cy="81.25" r="5" fill="#d94a4a" stroke="#d94a4a"
stroke-width="1.5" />
+ <text x="396.5" y="74.25" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <line x1="112.5" y1="218.75" x2="387.5" y2="81.25" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d₃D</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the 3D minimum cartesian distance between A and
B</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Angle/ST_Angle.svg b/docs/image/ST_Angle/ST_Angle.svg
new file mode 100644
index 0000000000..46b3ff8861
--- /dev/null
+++ b/docs/image/ST_Angle/ST_Angle.svg
@@ -0,0 +1,33 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Angle</text>
+ <polyline points="121.43,78.57 264.29,221.43" fill="none" stroke="#4a90d9"
stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
+ <circle cx="121.43" cy="78.57" r="3" fill="#4a90d9" />
+ <circle cx="264.29" cy="221.43" r="3" fill="#4a90d9" />
+ <polyline points="264.29,221.43 378.57,107.14" fill="none" stroke="#d94a4a"
stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
+ <circle cx="264.29" cy="221.43" r="3" fill="#d94a4a" />
+ <circle cx="378.57" cy="107.14" r="3" fill="#d94a4a" />
+ <text x="127" y="73" font-size="13" fill="#333333">P1</text>
+ <text x="270" y="215" font-size="13" fill="#333333">P2</text>
+ <text x="270" y="215" font-size="13" fill="#333333">P3</text>
+ <text x="385" y="101" font-size="13" fill="#333333">P4</text>
+ <path d="M 243.08 200.22 A 30 30 0 0 1 285.5 200.22" fill="none"
stroke="#2ecc71" stroke-width="2" />
+ <text x="264" y="181" text-anchor="middle" font-size="15" font-weight="bold"
fill="#2ecc71" font-style="italic">θ</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the angle between two vectors (in radians)</text>
+ <rect x="145" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="161" y="266" font-size="13" fill="#333333">Ray 1</text>
+ <rect x="215" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="231" y="266" font-size="13" fill="#333333">Ray 2</text>
+ <rect x="285" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="301" y="266" font-size="13" fill="#333333">Angle</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Area/ST_Area.svg b/docs/image/ST_Area/ST_Area.svg
new file mode 100644
index 0000000000..7066d7b008
--- /dev/null
+++ b/docs/image/ST_Area/ST_Area.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Area</text>
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2"
fill-rule="evenodd" />
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71"
stroke-width="0.5" fill-rule="evenodd" />
+ <text x="226.22" y="164.86" text-anchor="middle" font-size="20"
font-weight="bold" fill="#2ecc71" font-style="italic">Area</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the area of the geometry</text>
+ <rect x="184" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="200" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="254" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="270" y="266" font-size="13" fill="#333333">Area</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_AreaSpheroid/ST_AreaSpheroid.svg
b/docs/image/ST_AreaSpheroid/ST_AreaSpheroid.svg
new file mode 100644
index 0000000000..b032a3ed19
--- /dev/null
+++ b/docs/image/ST_AreaSpheroid/ST_AreaSpheroid.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_AreaSpheroid</text>
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2"
fill-rule="evenodd" />
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71"
stroke-width="0.5" fill-rule="evenodd" />
+ <text x="226.22" y="164.86" text-anchor="middle" font-size="20"
font-weight="bold" fill="#2ecc71" font-style="italic">Area</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the geodesic area (sq meters) on the WGS84
spheroid</text>
+ <rect x="184" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="200" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="254" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="270" y="266" font-size="13" fill="#333333">Area</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Azimuth/ST_Azimuth.svg
b/docs/image/ST_Azimuth/ST_Azimuth.svg
new file mode 100644
index 0000000000..7917c09d82
--- /dev/null
+++ b/docs/image/ST_Azimuth/ST_Azimuth.svg
@@ -0,0 +1,34 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Azimuth</text>
+ <polyline points="182.31,234.62 182.31,65.38" fill="none" stroke="#999999"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
stroke-dasharray="4,3" />
+ <circle cx="182.31" cy="234.62" r="3" fill="#999999" />
+ <circle cx="182.31" cy="65.38" r="3" fill="#999999" />
+ <text x="170" y="61" font-size="13" fill="#999999"
font-weight="bold">N</text>
+ <polyline points="182.31,234.62 317.69,133.08" fill="none" stroke="#4a90d9"
stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
+ <circle cx="182.31" cy="234.62" r="3" fill="#4a90d9" />
+ <circle cx="317.69" cy="133.08" r="3" fill="#4a90d9" />
+ <circle cx="182.31" cy="234.62" r="5" fill="#4a90d9" stroke="#4a90d9"
stroke-width="1.5" />
+ <text x="191.31" y="227.62" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <circle cx="317.69" cy="133.08" r="5" fill="#d94a4a" stroke="#d94a4a"
stroke-width="1.5" />
+ <text x="326.69" y="126.08000000000001" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <path d="M 182.31 204.62 A 30 30 0 0 1 206.31 216.62" fill="none"
stroke="#2ecc71" stroke-width="2" />
+ <text x="202" y="199" text-anchor="middle" font-size="15" font-weight="bold"
fill="#2ecc71" font-style="italic">azimuth</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the azimuth angle from point A to point B (in
radians)</text>
+ <rect x="121" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="137" y="266" font-size="13" fill="#333333">Point A</text>
+ <rect x="207" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="223" y="266" font-size="13" fill="#333333">Point B</text>
+ <rect x="293" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="309" y="266" font-size="13" fill="#333333">Azimuth</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_ClosestPoint/ST_ClosestPoint.svg
b/docs/image/ST_ClosestPoint/ST_ClosestPoint.svg
new file mode 100644
index 0000000000..6e683d0016
--- /dev/null
+++ b/docs/image/ST_ClosestPoint/ST_ClosestPoint.svg
@@ -0,0 +1,29 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_ClosestPoint</text>
+ <path d="M 131.08 224.32 L 279.73 224.32 L 279.73 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="190.54" y="164.86" text-anchor="middle" font-size="15"
font-weight="bold" fill="#4a90d9">A</text>
+ <circle cx="368.92" cy="135.14" r="5" fill="#d94a4a" stroke="#d94a4a"
stroke-width="1.5" />
+ <text x="377.92" y="128.14" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <circle cx="279.73" cy="135.14" r="8" fill="white" stroke="#2ecc71"
stroke-width="2.5" />
+ <circle cx="279.73" cy="135.14" r="4" fill="#2ecc71" />
+ <line x1="279.73" y1="135.14" x2="368.92" y2="135.14" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="332" y="129" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the point on A that is closest to B</text>
+ <rect x="73" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="89" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="183" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="199" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="293" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="309" y="266" font-size="13" fill="#333333">Closest point</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Degrees/ST_Degrees.svg
b/docs/image/ST_Degrees/ST_Degrees.svg
new file mode 100644
index 0000000000..90cc4a1987
--- /dev/null
+++ b/docs/image/ST_Degrees/ST_Degrees.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Degrees</text>
+ <circle cx="250" cy="160" r="80" fill="none" stroke="#cccccc"
stroke-width="1" stroke-dasharray="4,3" />
+ <path d="M 330 160 A 80 80 0 0 0 290.0 90.72" fill="none" stroke="#2ecc71"
stroke-width="3" />
+ <line x1="250" y1="160" x2="330" y2="160" stroke="#4a90d9" stroke-width="2"
/>
+ <line x1="250" y1="160" x2="290.0" y2="90.72" stroke="#4a90d9"
stroke-width="2" />
+ <path d="M 280 160 A 30 30 0 0 0 265.0 134.02" fill="none" stroke="#2ecc71"
stroke-width="2" />
+ <text x="290" y="141" text-anchor="middle" font-size="14" font-weight="bold"
fill="#2ecc71">60°</text>
+ <text x="333" y="116" text-anchor="middle" font-size="14" fill="#4a90d9">π/3
rad</text>
+ <circle cx="250" cy="160" r="3" fill="#4a90d9" />
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Converts an angle from radians to degrees</text>
+ <rect x="180" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="196" y="266" font-size="13" fill="#333333">Radii</text>
+ <rect x="250" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="266" y="266" font-size="13" fill="#333333">Angle</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Distance/ST_Distance.svg
b/docs/image/ST_Distance/ST_Distance.svg
new file mode 100644
index 0000000000..d6f93a0529
--- /dev/null
+++ b/docs/image/ST_Distance/ST_Distance.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Distance</text>
+ <path d="M 119.89 220.97 L 214.52 220.97 L 214.52 126.34 L 119.89 126.34 L
119.89 220.97 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="157.74" y="183.12" text-anchor="middle" font-size="15"
font-weight="bold" fill="#4a90d9">A</text>
+ <path d="M 285.48 173.66 L 380.11 173.66 L 380.11 79.03 L 285.48 79.03 L
285.48 173.66 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="323.33" y="135.81" text-anchor="middle" font-size="15"
font-weight="bold" fill="#d94a4a">B</text>
+ <line x1="214.52" y1="150.0" x2="285.48" y2="150.0" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the Euclidean distance between two geometries</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_DistanceSphere/ST_DistanceSphere.svg
b/docs/image/ST_DistanceSphere/ST_DistanceSphere.svg
new file mode 100644
index 0000000000..fd3594d110
--- /dev/null
+++ b/docs/image/ST_DistanceSphere/ST_DistanceSphere.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_DistanceSphere</text>
+ <circle cx="88.46" cy="210.58" r="5" fill="#4a90d9" stroke="#4a90d9"
stroke-width="1.5" />
+ <text x="97.46" y="203.58" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <circle cx="411.54" cy="89.42" r="5" fill="#d94a4a" stroke="#d94a4a"
stroke-width="1.5" />
+ <text x="420.54" y="82.42" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <line x1="88.46" y1="210.58" x2="411.54" y2="89.42" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the great-circle distance (meters) on a
sphere</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_DistanceSpheroid/ST_DistanceSpheroid.svg
b/docs/image/ST_DistanceSpheroid/ST_DistanceSpheroid.svg
new file mode 100644
index 0000000000..7f78b01cb1
--- /dev/null
+++ b/docs/image/ST_DistanceSpheroid/ST_DistanceSpheroid.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_DistanceSpheroid</text>
+ <circle cx="88.46" cy="210.58" r="5" fill="#4a90d9" stroke="#4a90d9"
stroke-width="1.5" />
+ <text x="97.46" y="203.58" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <circle cx="411.54" cy="89.42" r="5" fill="#d94a4a" stroke="#d94a4a"
stroke-width="1.5" />
+ <text x="420.54" y="82.42" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <line x1="88.46" y1="210.58" x2="411.54" y2="89.42" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the geodesic distance (meters) on the WGS84
spheroid</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_FrechetDistance/ST_FrechetDistance.svg
b/docs/image/ST_FrechetDistance/ST_FrechetDistance.svg
new file mode 100644
index 0000000000..f0b8ca665a
--- /dev/null
+++ b/docs/image/ST_FrechetDistance/ST_FrechetDistance.svg
@@ -0,0 +1,39 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_FrechetDistance</text>
+ <polyline points="140.0,183.0 206.0,95.0 272.0,139.0 338.0,73.0" fill="none"
stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="140.0" cy="183.0" r="3" fill="#4a90d9" />
+ <circle cx="206.0" cy="95.0" r="3" fill="#4a90d9" />
+ <circle cx="272.0" cy="139.0" r="3" fill="#4a90d9" />
+ <circle cx="338.0" cy="73.0" r="3" fill="#4a90d9" />
+ <text x="278.0" y="131.0" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <polyline points="140.0,227.0 206.0,139.0 272.0,183.0 360.0,117.0"
fill="none" stroke="#d94a4a" stroke-width="2.5" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="140.0" cy="227.0" r="3" fill="#d94a4a" />
+ <circle cx="206.0" cy="139.0" r="3" fill="#d94a4a" />
+ <circle cx="272.0" cy="183.0" r="3" fill="#d94a4a" />
+ <circle cx="360.0" cy="117.0" r="3" fill="#d94a4a" />
+ <text x="278.0" y="175.0" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <line x1="140.0" y1="183.0" x2="140.0" y2="227.0" stroke="#2ecc71"
stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6" />
+ <line x1="206.0" y1="95.0" x2="206.0" y2="139.0" stroke="#2ecc71"
stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6" />
+ <line x1="272.0" y1="139.0" x2="272.0" y2="183.0" stroke="#2ecc71"
stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6" />
+ <line x1="338.0" y1="73.0" x2="360.0" y2="117.0" stroke="#2ecc71"
stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6" />
+ <line x1="338.0" y1="73.0" x2="360.0" y2="117.0" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="357" y="89" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d_F</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the discrete Fréchet distance between two
geometries</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_HausdorffDistance/ST_HausdorffDistance.svg
b/docs/image/ST_HausdorffDistance/ST_HausdorffDistance.svg
new file mode 100644
index 0000000000..ef1f413b8b
--- /dev/null
+++ b/docs/image/ST_HausdorffDistance/ST_HausdorffDistance.svg
@@ -0,0 +1,34 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_HausdorffDistance</text>
+ <polyline points="147.94,184.02 215.98,93.3 284.02,138.66 352.06,70.62"
fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="147.94" cy="184.02" r="3" fill="#4a90d9" />
+ <circle cx="215.98" cy="93.3" r="3" fill="#4a90d9" />
+ <circle cx="284.02" cy="138.66" r="3" fill="#4a90d9" />
+ <circle cx="352.06" cy="70.62" r="3" fill="#4a90d9" />
+ <text x="290.02" y="130.66" font-size="15" font-weight="bold"
fill="#4a90d9">A</text>
+ <polyline points="147.94,229.38 238.66,161.34 329.38,206.7" fill="none"
stroke="#d94a4a" stroke-width="2.5" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="147.94" cy="229.38" r="3" fill="#d94a4a" />
+ <circle cx="238.66" cy="161.34" r="3" fill="#d94a4a" />
+ <circle cx="329.38" cy="206.7" r="3" fill="#d94a4a" />
+ <text x="244.66" y="153.34" font-size="15" font-weight="bold"
fill="#d94a4a">B</text>
+ <line x1="352.06" y1="70.62" x2="329.38" y2="206.7" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="349" y="133" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d_H</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the Hausdorff distance between two geometries</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Length/ST_Length.svg
b/docs/image/ST_Length/ST_Length.svg
new file mode 100644
index 0000000000..fc12dfb705
--- /dev/null
+++ b/docs/image/ST_Length/ST_Length.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Length</text>
+ <polyline points="88.46,203.85 196.15,123.08 303.85,176.92 411.54,96.15"
fill="none" stroke="#2ecc71" stroke-width="3" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="88.46" cy="203.85" r="3" fill="#2ecc71" />
+ <circle cx="196.15" cy="123.08" r="3" fill="#2ecc71" />
+ <circle cx="303.85" cy="176.92" r="3" fill="#2ecc71" />
+ <circle cx="411.54" cy="96.15" r="3" fill="#2ecc71" />
+ <text x="304" y="165" text-anchor="middle" font-size="18" font-weight="bold"
fill="#2ecc71" font-style="italic">Length</text>
+ <line x1="88.46" y1="203.85" x2="88.46" y2="203.85" stroke="#2ecc71"
stroke-width="0" marker-start="url(#arrowGrev)" />
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the length / perimeter of the geometry</text>
+ <rect x="211" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="227" y="266" font-size="13" fill="#333333">Length</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Length2D/ST_Length2D.svg
b/docs/image/ST_Length2D/ST_Length2D.svg
new file mode 100644
index 0000000000..3cc9d1836d
--- /dev/null
+++ b/docs/image/ST_Length2D/ST_Length2D.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Length2D</text>
+ <polyline points="112.5,218.75 195.0,108.75 305.0,163.75 387.5,81.25"
fill="none" stroke="#2ecc71" stroke-width="3" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="112.5" cy="218.75" r="3" fill="#2ecc71" />
+ <circle cx="195.0" cy="108.75" r="3" fill="#2ecc71" />
+ <circle cx="305.0" cy="163.75" r="3" fill="#2ecc71" />
+ <circle cx="387.5" cy="81.25" r="3" fill="#2ecc71" />
+ <text x="305" y="152" text-anchor="middle" font-size="18" font-weight="bold"
fill="#2ecc71" font-style="italic">Length</text>
+ <line x1="112.5" y1="218.75" x2="112.5" y2="218.75" stroke="#2ecc71"
stroke-width="0" marker-start="url(#arrowGrev)" />
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the 2D length / perimeter of the geometry (alias of
ST_Length)</text>
+ <rect x="211" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="227" y="266" font-size="13" fill="#333333">Length</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_LengthSpheroid/ST_LengthSpheroid.svg
b/docs/image/ST_LengthSpheroid/ST_LengthSpheroid.svg
new file mode 100644
index 0000000000..a1aa1587a1
--- /dev/null
+++ b/docs/image/ST_LengthSpheroid/ST_LengthSpheroid.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_LengthSpheroid</text>
+ <polyline points="88.46,203.85 196.15,123.08 303.85,176.92 411.54,96.15"
fill="none" stroke="#2ecc71" stroke-width="3" stroke-linecap="round"
stroke-linejoin="round" />
+ <circle cx="88.46" cy="203.85" r="3" fill="#2ecc71" />
+ <circle cx="196.15" cy="123.08" r="3" fill="#2ecc71" />
+ <circle cx="303.85" cy="176.92" r="3" fill="#2ecc71" />
+ <circle cx="411.54" cy="96.15" r="3" fill="#2ecc71" />
+ <text x="304" y="165" text-anchor="middle" font-size="18" font-weight="bold"
fill="#2ecc71" font-style="italic">Length</text>
+ <line x1="88.46" y1="203.85" x2="88.46" y2="203.85" stroke="#2ecc71"
stroke-width="0" marker-start="url(#arrowGrev)" />
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the geodesic length (meters) on the WGS84
spheroid</text>
+ <rect x="211" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="227" y="266" font-size="13" fill="#333333">Length</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_LongestLine/ST_LongestLine.svg
b/docs/image/ST_LongestLine/ST_LongestLine.svg
new file mode 100644
index 0000000000..5c202d01a6
--- /dev/null
+++ b/docs/image/ST_LongestLine/ST_LongestLine.svg
@@ -0,0 +1,29 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_LongestLine</text>
+ <path d="M 132.52 224.76 L 217.96 224.76 L 217.96 139.32 L 132.52 139.32 L
132.52 224.76 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="166.7" y="190.58" text-anchor="middle" font-size="15"
font-weight="bold" fill="#4a90d9">A</text>
+ <path d="M 282.04 160.68 L 367.48 160.68 L 367.48 75.24 L 282.04 75.24 L
282.04 160.68 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="316.21" y="126.5" text-anchor="middle" font-size="15"
font-weight="bold" fill="#d94a4a">B</text>
+ <line x1="132.52" y1="224.76" x2="367.48" y2="75.24" stroke="#2ecc71"
stroke-width="2.5" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">longest</text>
+ <circle cx="132.52" cy="224.76" r="4" fill="#2ecc71" />
+ <circle cx="367.48" cy="75.24" r="4" fill="#2ecc71" />
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the longest line between any two points of A and
B</text>
+ <rect x="77" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="93" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="187" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="203" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="297" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="313" y="266" font-size="13" fill="#333333">Longest line</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_MaxDistance/ST_MaxDistance.svg
b/docs/image/ST_MaxDistance/ST_MaxDistance.svg
new file mode 100644
index 0000000000..b552ff134d
--- /dev/null
+++ b/docs/image/ST_MaxDistance/ST_MaxDistance.svg
@@ -0,0 +1,27 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_MaxDistance</text>
+ <path d="M 119.89 220.97 L 214.52 220.97 L 214.52 126.34 L 119.89 126.34 L
119.89 220.97 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="157.74" y="183.12" text-anchor="middle" font-size="15"
font-weight="bold" fill="#4a90d9">A</text>
+ <path d="M 285.48 173.66 L 380.11 173.66 L 380.11 79.03 L 285.48 79.03 L
285.48 173.66 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a"
stroke-width="2.5" fill-rule="evenodd" />
+ <text x="323.33" y="135.81" text-anchor="middle" font-size="15"
font-weight="bold" fill="#d94a4a">B</text>
+ <line x1="119.89" y1="220.97" x2="380.11" y2="79.03" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="258" y="144" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">d_max</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the maximum distance between any two points of A
and B</text>
+ <rect x="93" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="109" y="266" font-size="13" fill="#333333">Geometry A</text>
+ <rect x="203" y="255" width="12" height="12" rx="2" fill="#d94a4a"
stroke="#d94a4a" stroke-width="1" />
+ <text x="219" y="266" font-size="13" fill="#333333">Geometry B</text>
+ <rect x="313" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="329" y="266" font-size="13" fill="#333333">Distance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_MinimumClearance/ST_MinimumClearance.svg
b/docs/image/ST_MinimumClearance/ST_MinimumClearance.svg
new file mode 100644
index 0000000000..afeb021a6b
--- /dev/null
+++ b/docs/image/ST_MinimumClearance/ST_MinimumClearance.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_MinimumClearance</text>
+ <path d="M 127.78 223.33 L 372.22 223.33 L 372.22 76.67 L 225.56 76.67 L
225.56 174.44 L 127.78 174.44 L 127.78 223.33 Z" fill="rgba(74,144,217,0.15)"
stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" />
+ <line x1="225.56" y1="174.44" x2="225.56" y2="76.67" stroke="#2ecc71"
stroke-width="2" stroke-dasharray="6,3" marker-start="url(#arrowGrev)"
marker-end="url(#arrowG)" />
+ <text x="234" y="120" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">clearance</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the minimum clearance distance of the
geometry</text>
+ <rect x="164" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="180" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="234" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="250" y="266" font-size="13" fill="#333333">Clearance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_MinimumClearanceLine/ST_MinimumClearanceLine.svg
b/docs/image/ST_MinimumClearanceLine/ST_MinimumClearanceLine.svg
new file mode 100644
index 0000000000..6809cd72fc
--- /dev/null
+++ b/docs/image/ST_MinimumClearanceLine/ST_MinimumClearanceLine.svg
@@ -0,0 +1,24 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_MinimumClearanceLine</text>
+ <path d="M 127.78 223.33 L 372.22 223.33 L 372.22 76.67 L 225.56 76.67 L
225.56 174.44 L 127.78 174.44 L 127.78 223.33 Z" fill="rgba(74,144,217,0.15)"
stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" />
+ <line x1="225.56" y1="174.44" x2="225.56" y2="76.67" stroke="#2ecc71"
stroke-width="3" />
+ <circle cx="225.56" cy="174.44" r="5" fill="#2ecc71" />
+ <circle cx="225.56" cy="76.67" r="5" fill="#2ecc71" />
+ <text x="236" y="126" font-size="15" font-weight="bold" fill="#2ecc71"
font-style="italic">clearance line</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns a LineString representing the minimum clearance of
the geometry</text>
+ <rect x="164" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="180" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="234" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="250" y="266" font-size="13" fill="#333333">Clearance</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Perimeter/ST_Perimeter.svg
b/docs/image/ST_Perimeter/ST_Perimeter.svg
new file mode 100644
index 0000000000..cd1bcd1156
--- /dev/null
+++ b/docs/image/ST_Perimeter/ST_Perimeter.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Perimeter</text>
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="1"
fill-rule="evenodd" stroke-dasharray="6,3" />
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="none" stroke="#2ecc71" stroke-width="3"
fill-rule="evenodd" />
+ <text x="226.22" y="164.86" text-anchor="middle" font-size="18"
font-weight="bold" fill="#2ecc71" font-style="italic">Perimeter</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the 2D perimeter of the polygon</text>
+ <rect x="164" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="180" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="234" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="250" y="266" font-size="13" fill="#333333">Perimeter</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Perimeter2D/ST_Perimeter2D.svg
b/docs/image/ST_Perimeter2D/ST_Perimeter2D.svg
new file mode 100644
index 0000000000..3020714e9e
--- /dev/null
+++ b/docs/image/ST_Perimeter2D/ST_Perimeter2D.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 300" width="500"
height="300" style="background:#ffffff">
+ <defs>
+ <style>
+ text { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; }
+ </style>
+ <marker id="arrowG" markerWidth="8" markerHeight="6" refX="8" refY="3"
orient="auto">
+ <path d="M0,0 L8,3 L0,6" fill="#2ecc71" />
+ </marker>
+ <marker id="arrowGrev" markerWidth="8" markerHeight="6" refX="0" refY="3"
orient="auto">
+ <path d="M8,0 L0,3 L8,6" fill="#2ecc71" />
+ </marker>
+ </defs>
+ <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold"
fill="#333333">ST_Perimeter2D</text>
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="1"
fill-rule="evenodd" stroke-dasharray="6,3" />
+ <path d="M 131.08 224.32 L 368.92 224.32 L 368.92 75.68 L 131.08 75.68 L
131.08 224.32 Z" fill="none" stroke="#2ecc71" stroke-width="3"
fill-rule="evenodd" />
+ <text x="226.22" y="164.86" text-anchor="middle" font-size="18"
font-weight="bold" fill="#2ecc71" font-style="italic">Perimeter</text>
+ <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333"
font-style="italic">Returns the 2D perimeter of the polygon (alias of
ST_Perimeter)</text>
+ <rect x="164" y="255" width="12" height="12" rx="2" fill="#4a90d9"
stroke="#4a90d9" stroke-width="1" />
+ <text x="180" y="266" font-size="13" fill="#333333">Input</text>
+ <rect x="234" y="255" width="12" height="12" rx="2" fill="#2ecc71"
stroke="#2ecc71" stroke-width="1" />
+ <text x="250" y="266" font-size="13" fill="#333333">Perimeter</text>
+</svg>
\ No newline at end of file