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 cfe9785213 [GH-2678] Add SVG visuals for overlay functions (Phase 2) 
(#2682)
cfe9785213 is described below

commit cfe9785213c17b3858c303e1aba1d4fe4aa844fb
Author: Jia Yu <[email protected]>
AuthorDate: Wed Mar 4 13:00:43 2026 -0700

    [GH-2678] Add SVG visuals for overlay functions (Phase 2) (#2682)
---
 docs/api/flink/Overlay-Functions/ST_Difference.md  |  2 ++
 .../api/flink/Overlay-Functions/ST_Intersection.md |  2 ++
 docs/api/flink/Overlay-Functions/ST_SubDivide.md   |  2 ++
 .../flink/Overlay-Functions/ST_SymDifference.md    |  2 ++
 docs/api/flink/Overlay-Functions/ST_UnaryUnion.md  |  2 ++
 docs/api/flink/Overlay-Functions/ST_Union.md       |  2 ++
 .../vector-data/Overlay-Functions/ST_Difference.md |  2 ++
 .../Overlay-Functions/ST_Intersection.md           |  2 ++
 .../vector-data/Overlay-Functions/ST_Split.md      |  2 ++
 .../vector-data/Overlay-Functions/ST_SubDivide.md  |  2 ++
 .../Overlay-Functions/ST_SubDivideExplode.md       |  2 ++
 .../Overlay-Functions/ST_SymDifference.md          |  2 ++
 .../vector-data/Overlay-Functions/ST_UnaryUnion.md |  2 ++
 .../vector-data/Overlay-Functions/ST_Union.md      |  2 ++
 docs/api/sql/Overlay-Functions/ST_Difference.md    |  2 ++
 docs/api/sql/Overlay-Functions/ST_Intersection.md  |  2 ++
 docs/api/sql/Overlay-Functions/ST_Split.md         |  2 ++
 docs/api/sql/Overlay-Functions/ST_SubDivide.md     |  2 ++
 .../sql/Overlay-Functions/ST_SubDivideExplode.md   |  2 ++
 docs/api/sql/Overlay-Functions/ST_SymDifference.md |  2 ++
 docs/api/sql/Overlay-Functions/ST_UnaryUnion.md    |  2 ++
 docs/api/sql/Overlay-Functions/ST_Union.md         |  2 ++
 docs/image/ST_Difference/ST_Difference.svg         | 20 +++++++++++++++++++
 docs/image/ST_Intersection/ST_Intersection.svg     | 20 +++++++++++++++++++
 docs/image/ST_Split/ST_Split.svg                   | 23 ++++++++++++++++++++++
 docs/image/ST_SubDivide/ST_SubDivide.svg           | 19 ++++++++++++++++++
 docs/image/ST_SymDifference/ST_SymDifference.svg   | 21 ++++++++++++++++++++
 docs/image/ST_UnaryUnion/ST_UnaryUnion.svg         | 17 ++++++++++++++++
 docs/image/ST_Union/ST_Union.svg                   | 20 +++++++++++++++++++
 29 files changed, 184 insertions(+)

diff --git a/docs/api/flink/Overlay-Functions/ST_Difference.md 
b/docs/api/flink/Overlay-Functions/ST_Difference.md
index 2629273a70..81ebce94ee 100644
--- a/docs/api/flink/Overlay-Functions/ST_Difference.md
+++ b/docs/api/flink/Overlay-Functions/ST_Difference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the difference between geometry A and B (return part of 
geometry A that does not intersect geometry B)
 
+![ST_Difference](../../../image/ST_Difference/ST_Difference.svg 
"ST_Difference")
+
 Format: `ST_Difference (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/flink/Overlay-Functions/ST_Intersection.md 
b/docs/api/flink/Overlay-Functions/ST_Intersection.md
index f196239ef8..4635ed4613 100644
--- a/docs/api/flink/Overlay-Functions/ST_Intersection.md
+++ b/docs/api/flink/Overlay-Functions/ST_Intersection.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the intersection geometry of A and B
 
+![ST_Intersection](../../../image/ST_Intersection/ST_Intersection.svg 
"ST_Intersection")
+
 Format: `ST_Intersection (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/flink/Overlay-Functions/ST_SubDivide.md 
b/docs/api/flink/Overlay-Functions/ST_SubDivide.md
index 1793694e00..6e3c77c0e7 100644
--- a/docs/api/flink/Overlay-Functions/ST_SubDivide.md
+++ b/docs/api/flink/Overlay-Functions/ST_SubDivide.md
@@ -23,6 +23,8 @@ Introduction: Returns list of geometries divided based of 
given maximum number o
 
 A minimum of 5 vertices is required for maxVertices parameter to form a closed 
box.
 
+![ST_SubDivide](../../../image/ST_SubDivide/ST_SubDivide.svg "ST_SubDivide")
+
 Format: `ST_SubDivide(geom: Geometry, maxVertices: Integer)`
 
 Return type: `Array<Geometry>`
diff --git a/docs/api/flink/Overlay-Functions/ST_SymDifference.md 
b/docs/api/flink/Overlay-Functions/ST_SymDifference.md
index 44385ea7d1..a19efa33a8 100644
--- a/docs/api/flink/Overlay-Functions/ST_SymDifference.md
+++ b/docs/api/flink/Overlay-Functions/ST_SymDifference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the symmetrical difference between geometry A and B 
(return parts of geometries which are in either of the sets, but not in their 
intersection)
 
+![ST_SymDifference](../../../image/ST_SymDifference/ST_SymDifference.svg 
"ST_SymDifference")
+
 Format: `ST_SymDifference (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/flink/Overlay-Functions/ST_UnaryUnion.md 
b/docs/api/flink/Overlay-Functions/ST_UnaryUnion.md
index 1dbfb8deb5..56ff22ddcd 100644
--- a/docs/api/flink/Overlay-Functions/ST_UnaryUnion.md
+++ b/docs/api/flink/Overlay-Functions/ST_UnaryUnion.md
@@ -21,6 +21,8 @@
 
 Introduction: This variant of [ST_Union](ST_Union.md) operates on a single 
geometry input. The input geometry can be a simple Geometry type, a 
MultiGeometry, or a GeometryCollection. The function calculates the geometric 
union across all components and elements within the provided geometry object.
 
+![ST_UnaryUnion](../../../image/ST_UnaryUnion/ST_UnaryUnion.svg 
"ST_UnaryUnion")
+
 Format: `ST_UnaryUnion(geometry: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/flink/Overlay-Functions/ST_Union.md 
b/docs/api/flink/Overlay-Functions/ST_Union.md
index 025ccc0e5e..62f9ad4f1d 100644
--- a/docs/api/flink/Overlay-Functions/ST_Union.md
+++ b/docs/api/flink/Overlay-Functions/ST_Union.md
@@ -25,6 +25,8 @@ Variant 1: Return the union of geometry A and B.
 
 Variant 2: This function accepts an array of Geometry objects and returns the 
geometric union of all geometries in the input array. If the polygons within 
the input array do not share common boundaries, the ST_Union result will be a 
MultiPolygon geometry.
 
+![ST_Union](../../../image/ST_Union/ST_Union.svg "ST_Union")
+
 Format:
 
 `ST_Union (A: Geometry, B: Geometry)`
diff --git a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Difference.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Difference.md
index 2c14df8f3f..c4f905e8ea 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Difference.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Difference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the difference between geometry A and B (return part of 
geometry A that does not intersect geometry B)
 
+![ST_Difference](../../../../image/ST_Difference/ST_Difference.svg 
"ST_Difference")
+
 Format: `ST_Difference (A:geometry, B:geometry)`
 
 Return type: `Geometry`
diff --git 
a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Intersection.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Intersection.md
index e3146a4fe2..447f15d895 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Intersection.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Intersection.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the intersection geometry of A and B
 
+![ST_Intersection](../../../../image/ST_Intersection/ST_Intersection.svg 
"ST_Intersection")
+
 Format: `ST_Intersection (A:geometry, B:geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Split.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Split.md
index 4e73ef5382..81adbfcb5b 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Split.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Split.md
@@ -27,6 +27,8 @@ ST_Split will always return either a MultiLineString or 
MultiPolygon even if the
 Homogeneous GeometryCollections are treated as a multi-geometry of the type it 
contains.
 For example, if a GeometryCollection of only Point geometries is passed as a 
blade it is the same as passing a MultiPoint of the same geometries.
 
+![ST_Split](../../../../image/ST_Split/ST_Split.svg "ST_Split")
+
 Format: `ST_Split (input: geometry, blade: geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivide.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivide.md
index 81695334cf..32fed465db 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivide.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivide.md
@@ -23,6 +23,8 @@ Introduction: Returns a multi-geometry divided based of given 
maximum number of
 
 A minimum of 5 vertices is required for maxVertices parameter to form a closed 
box.
 
+![ST_SubDivide](../../../../image/ST_SubDivide/ST_SubDivide.svg "ST_SubDivide")
+
 Format: `ST_SubDivide(geom: geometry, maxVertices: int)`
 
 Return type: `Array<Geometry>`
diff --git 
a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivideExplode.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivideExplode.md
index 5786d4e03f..77e83b3c97 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivideExplode.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SubDivideExplode.md
@@ -23,6 +23,8 @@ Introduction: It works the same as ST_SubDivide but returns 
new rows with geomet
 
 A minimum of 5 vertices is required for maxVertices parameter to form a closed 
box.
 
+![ST_SubDivideExplode](../../../../image/ST_SubDivide/ST_SubDivide.svg 
"ST_SubDivideExplode")
+
 Format: `
 Return type: `Geometry`
 
diff --git 
a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SymDifference.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SymDifference.md
index bc8941e876..fa9f83a237 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_SymDifference.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_SymDifference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the symmetrical difference between geometry A and B 
(return parts of geometries which are in either of the sets, but not in their 
intersection)
 
+![ST_SymDifference](../../../../image/ST_SymDifference/ST_SymDifference.svg 
"ST_SymDifference")
+
 Format: `ST_SymDifference (A:geometry, B:geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/snowflake/vector-data/Overlay-Functions/ST_UnaryUnion.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_UnaryUnion.md
index 042db9668f..5c47c68b00 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_UnaryUnion.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_UnaryUnion.md
@@ -21,6 +21,8 @@
 
 Introduction: This variant of [ST_Union](ST_Union.md) operates on a single 
geometry input. The input geometry can be a simple Geometry type, a 
MultiGeometry, or a GeometryCollection. The function calculates the geometric 
union across all components and elements within the provided geometry object.
 
+![ST_UnaryUnion](../../../../image/ST_UnaryUnion/ST_UnaryUnion.svg 
"ST_UnaryUnion")
+
 Format: `ST_UnaryUnion(geometry: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Union.md 
b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Union.md
index 8db6a617dd..44b59ba0fb 100644
--- a/docs/api/snowflake/vector-data/Overlay-Functions/ST_Union.md
+++ b/docs/api/snowflake/vector-data/Overlay-Functions/ST_Union.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the union of geometry A and B
 
+![ST_Union](../../../../image/ST_Union/ST_Union.svg "ST_Union")
+
 Format: `ST_Union (A:geometry, B:geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_Difference.md 
b/docs/api/sql/Overlay-Functions/ST_Difference.md
index 7fcd1dd4ff..f7bfe1238f 100644
--- a/docs/api/sql/Overlay-Functions/ST_Difference.md
+++ b/docs/api/sql/Overlay-Functions/ST_Difference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the difference between geometry A and B (return part of 
geometry A that does not intersect geometry B)
 
+![ST_Difference](../../../image/ST_Difference/ST_Difference.svg 
"ST_Difference")
+
 Format: `ST_Difference (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_Intersection.md 
b/docs/api/sql/Overlay-Functions/ST_Intersection.md
index bb62fe6374..c7cdf7e053 100644
--- a/docs/api/sql/Overlay-Functions/ST_Intersection.md
+++ b/docs/api/sql/Overlay-Functions/ST_Intersection.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the intersection geometry of A and B
 
+![ST_Intersection](../../../image/ST_Intersection/ST_Intersection.svg 
"ST_Intersection")
+
 Format: `ST_Intersection (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_Split.md 
b/docs/api/sql/Overlay-Functions/ST_Split.md
index a7090e02b7..4c673cf355 100644
--- a/docs/api/sql/Overlay-Functions/ST_Split.md
+++ b/docs/api/sql/Overlay-Functions/ST_Split.md
@@ -27,6 +27,8 @@ ST_Split will always return either a MultiLineString or 
MultiPolygon even if the
 Homogeneous GeometryCollections are treated as a multi-geometry of the type it 
contains.
 For example, if a GeometryCollection of only Point geometries is passed as a 
blade it is the same as passing a MultiPoint of the same geometries.
 
+![ST_Split](../../../image/ST_Split/ST_Split.svg "ST_Split")
+
 Return type: `Geometry`
 
 Since: `v1.4.0`
diff --git a/docs/api/sql/Overlay-Functions/ST_SubDivide.md 
b/docs/api/sql/Overlay-Functions/ST_SubDivide.md
index ef5e0b2909..8f812e160f 100644
--- a/docs/api/sql/Overlay-Functions/ST_SubDivide.md
+++ b/docs/api/sql/Overlay-Functions/ST_SubDivide.md
@@ -23,6 +23,8 @@ Introduction: Returns list of geometries divided based of 
given maximum number o
 
 A minimum of 5 vertices is required for maxVertices parameter to form a closed 
box.
 
+![ST_SubDivide](../../../image/ST_SubDivide/ST_SubDivide.svg "ST_SubDivide")
+
 Format: `ST_SubDivide(geom: Geometry, maxVertices: Integer)`
 
 Return type: `Array<Geometry>`
diff --git a/docs/api/sql/Overlay-Functions/ST_SubDivideExplode.md 
b/docs/api/sql/Overlay-Functions/ST_SubDivideExplode.md
index fd72d99658..1278bf379d 100644
--- a/docs/api/sql/Overlay-Functions/ST_SubDivideExplode.md
+++ b/docs/api/sql/Overlay-Functions/ST_SubDivideExplode.md
@@ -23,6 +23,8 @@ Introduction: It works the same as ST_SubDivide but returns 
new rows with geomet
 
 A minimum of 5 vertices is required for maxVertices parameter to form a closed 
box.
 
+![ST_SubDivideExplode](../../../image/ST_SubDivide/ST_SubDivide.svg 
"ST_SubDivideExplode")
+
 Format: `ST_SubDivideExplode(geom: Geometry, maxVertices: Integer)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_SymDifference.md 
b/docs/api/sql/Overlay-Functions/ST_SymDifference.md
index f14e8158db..47b1dec2fa 100644
--- a/docs/api/sql/Overlay-Functions/ST_SymDifference.md
+++ b/docs/api/sql/Overlay-Functions/ST_SymDifference.md
@@ -21,6 +21,8 @@
 
 Introduction: Return the symmetrical difference between geometry A and B 
(return parts of geometries which are in either of the sets, but not in their 
intersection)
 
+![ST_SymDifference](../../../image/ST_SymDifference/ST_SymDifference.svg 
"ST_SymDifference")
+
 Format: `ST_SymDifference (A: Geometry, B: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_UnaryUnion.md 
b/docs/api/sql/Overlay-Functions/ST_UnaryUnion.md
index 1dbfb8deb5..56ff22ddcd 100644
--- a/docs/api/sql/Overlay-Functions/ST_UnaryUnion.md
+++ b/docs/api/sql/Overlay-Functions/ST_UnaryUnion.md
@@ -21,6 +21,8 @@
 
 Introduction: This variant of [ST_Union](ST_Union.md) operates on a single 
geometry input. The input geometry can be a simple Geometry type, a 
MultiGeometry, or a GeometryCollection. The function calculates the geometric 
union across all components and elements within the provided geometry object.
 
+![ST_UnaryUnion](../../../image/ST_UnaryUnion/ST_UnaryUnion.svg 
"ST_UnaryUnion")
+
 Format: `ST_UnaryUnion(geometry: Geometry)`
 
 Return type: `Geometry`
diff --git a/docs/api/sql/Overlay-Functions/ST_Union.md 
b/docs/api/sql/Overlay-Functions/ST_Union.md
index ae123b9f79..013ce8f03a 100644
--- a/docs/api/sql/Overlay-Functions/ST_Union.md
+++ b/docs/api/sql/Overlay-Functions/ST_Union.md
@@ -25,6 +25,8 @@ Variant 1: Return the union of geometry A and B.
 
 Variant 2 : As of version `1.6.0`, this function accepts an array of Geometry 
objects and returns the geometric union of all geometries in the input array. 
If the polygons within the input array do not share common boundaries, the 
ST_Union result will be a MultiPolygon geometry.
 
+![ST_Union](../../../image/ST_Union/ST_Union.svg "ST_Union")
+
 Format:
 
 `ST_Union (A: Geometry, B: Geometry)`
diff --git a/docs/image/ST_Difference/ST_Difference.svg 
b/docs/image/ST_Difference/ST_Difference.svg
new file mode 100644
index 0000000000..554b894031
--- /dev/null
+++ b/docs/image/ST_Difference/ST_Difference.svg
@@ -0,0 +1,20 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_Difference(A, B)</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 107.14 L 121.43 107.14 L 
121.43 221.43 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="190.0" y="175.71" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 207.14 192.86 L 378.57 192.86 L 378.57 78.57 L 207.14 78.57 L 
207.14 192.86 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="275.71" y="147.14" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#d94a4a">B</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 192.86 L 207.14 192.86 L 
207.14 107.14 L 121.43 107.14 L 121.43 221.43 Z" fill="rgba(46,204,113,0.35)" 
stroke="#2ecc71" stroke-width="3" fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Returns the part of A that does not intersect B</text>
+  <rect x="101" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="117" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="211" y="255" width="12" height="12" rx="2" fill="#d94a4a" 
stroke="#d94a4a" stroke-width="1" />
+  <text x="227" y="266" font-size="13" fill="#333333">Geometry B</text>
+  <rect x="321" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="337" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Intersection/ST_Intersection.svg 
b/docs/image/ST_Intersection/ST_Intersection.svg
new file mode 100644
index 0000000000..9ad2540577
--- /dev/null
+++ b/docs/image/ST_Intersection/ST_Intersection.svg
@@ -0,0 +1,20 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_Intersection(A, B)</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 107.14 L 121.43 107.14 L 
121.43 221.43 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="190.0" y="175.71" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 207.14 192.86 L 378.57 192.86 L 378.57 78.57 L 207.14 78.57 L 
207.14 192.86 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="275.71" y="147.14" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#d94a4a">B</text>
+  <path d="M 207.14 192.86 L 292.86 192.86 L 292.86 107.14 L 207.14 107.14 L 
207.14 192.86 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Returns the shared portion of A and B</text>
+  <rect x="101" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="117" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="211" y="255" width="12" height="12" rx="2" fill="#d94a4a" 
stroke="#d94a4a" stroke-width="1" />
+  <text x="227" y="266" font-size="13" fill="#333333">Geometry B</text>
+  <rect x="321" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="337" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Split/ST_Split.svg b/docs/image/ST_Split/ST_Split.svg
new file mode 100644
index 0000000000..79ac4cf7a7
--- /dev/null
+++ b/docs/image/ST_Split/ST_Split.svg
@@ -0,0 +1,23 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_Split(A, blade)</text>
+  <path d="M 165.38 213.46 L 334.62 213.46 L 334.62 86.54 L 165.38 86.54 L 
165.38 213.46 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="233.08" y="162.69" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <polyline points="250.0,234.62 250.0,65.38" fill="none" stroke="#d94a4a" 
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" 
stroke-dasharray="6,3" />
+  <circle cx="250.0" cy="234.62" r="3" fill="#d94a4a" />
+  <circle cx="250.0" cy="65.38" r="3" fill="#d94a4a" />
+  <text x="256.0" y="57.379999999999995" font-size="15" font-weight="bold" 
fill="#d94a4a">blade</text>
+  <path d="M 165.38 213.46 L 250.0 213.46 L 250.0 86.54 L 165.38 86.54 L 
165.38 213.46 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <path d="M 250.0 213.46 L 334.62 213.46 L 334.62 86.54 L 250.0 86.54 L 250.0 
213.46 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Splits geometry A using a blade geometry</text>
+  <rect x="85" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="101" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="195" y="255" width="12" height="12" rx="2" fill="#d94a4a" 
stroke="#d94a4a" stroke-width="1" />
+  <text x="211" y="266" font-size="13" fill="#333333">Geometry blade</text>
+  <rect x="337" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="353" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_SubDivide/ST_SubDivide.svg 
b/docs/image/ST_SubDivide/ST_SubDivide.svg
new file mode 100644
index 0000000000..7abd7634e2
--- /dev/null
+++ b/docs/image/ST_SubDivide/ST_SubDivide.svg
@@ -0,0 +1,19 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_SubDivide(A, maxVertices)</text>
+  <path d="M 165.38 234.62 L 334.62 234.62 L 334.62 65.38 L 165.38 65.38 L 
165.38 234.62 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="233.08" y="166.92" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 165.38 234.62 L 250.0 234.62 L 250.0 150.0 L 165.38 150.0 L 
165.38 234.62 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <path d="M 250.0 234.62 L 334.62 234.62 L 334.62 150.0 L 250.0 150.0 L 250.0 
234.62 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <path d="M 165.38 150.0 L 250.0 150.0 L 250.0 65.38 L 165.38 65.38 L 165.38 
150.0 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <path d="M 250.0 150.0 L 334.62 150.0 L 334.62 65.38 L 250.0 65.38 L 250.0 
150.0 Z" fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Divides geometry into parts with at most maxVertices 
vertices</text>
+  <rect x="156" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="172" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="266" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="282" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_SymDifference/ST_SymDifference.svg 
b/docs/image/ST_SymDifference/ST_SymDifference.svg
new file mode 100644
index 0000000000..e45c87b19e
--- /dev/null
+++ b/docs/image/ST_SymDifference/ST_SymDifference.svg
@@ -0,0 +1,21 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_SymDifference(A, B)</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 107.14 L 121.43 107.14 L 
121.43 221.43 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="190.0" y="175.71" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 207.14 192.86 L 378.57 192.86 L 378.57 78.57 L 207.14 78.57 L 
207.14 192.86 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="275.71" y="147.14" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#d94a4a">B</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 192.86 L 207.14 192.86 L 
207.14 107.14 L 121.43 107.14 L 121.43 221.43 Z" fill="rgba(46,204,113,0.35)" 
stroke="#2ecc71" stroke-width="3" fill-rule="evenodd" />
+  <path d="M 292.86 192.86 L 378.57 192.86 L 378.57 78.57 L 207.14 78.57 L 
207.14 107.14 L 292.86 107.14 L 292.86 192.86 Z" fill="rgba(46,204,113,0.35)" 
stroke="#2ecc71" stroke-width="3" fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Returns parts of A and B that do not intersect each 
other</text>
+  <rect x="101" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="117" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="211" y="255" width="12" height="12" rx="2" fill="#d94a4a" 
stroke="#d94a4a" stroke-width="1" />
+  <text x="227" y="266" font-size="13" fill="#333333">Geometry B</text>
+  <rect x="321" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="337" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_UnaryUnion/ST_UnaryUnion.svg 
b/docs/image/ST_UnaryUnion/ST_UnaryUnion.svg
new file mode 100644
index 0000000000..47e3fdf436
--- /dev/null
+++ b/docs/image/ST_UnaryUnion/ST_UnaryUnion.svg
@@ -0,0 +1,17 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_UnaryUnion(A)</text>
+  <path d="M 145.24 228.57 L 276.19 228.57 L 276.19 123.81 L 145.24 123.81 L 
145.24 228.57 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="197.62" y="186.67" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 223.81 176.19 L 354.76 176.19 L 354.76 71.43 L 223.81 71.43 L 
223.81 176.19 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <path d="M 145.24 228.57 L 276.19 228.57 L 276.19 176.19 L 354.76 176.19 L 
354.76 71.43 L 223.81 71.43 L 223.81 123.81 L 145.24 123.81 L 145.24 228.57 Z" 
fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Returns the union of all components of a 
multi-geometry</text>
+  <rect x="156" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="172" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="266" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="282" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file
diff --git a/docs/image/ST_Union/ST_Union.svg b/docs/image/ST_Union/ST_Union.svg
new file mode 100644
index 0000000000..93e0c7d10f
--- /dev/null
+++ b/docs/image/ST_Union/ST_Union.svg
@@ -0,0 +1,20 @@
+<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>
+  </defs>
+  <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" 
fill="#333333">ST_Union(A, B)</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 107.14 L 121.43 107.14 L 
121.43 221.43 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="190.0" y="175.71" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#4a90d9">A</text>
+  <path d="M 207.14 192.86 L 378.57 192.86 L 378.57 78.57 L 207.14 78.57 L 
207.14 192.86 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a" stroke-width="2" 
fill-rule="evenodd" stroke-dasharray="6,3" />
+  <text x="275.71" y="147.14" text-anchor="middle" font-size="15" 
font-weight="bold" fill="#d94a4a">B</text>
+  <path d="M 121.43 221.43 L 292.86 221.43 L 292.86 192.86 L 378.57 192.86 L 
378.57 78.57 L 207.14 78.57 L 207.14 107.14 L 121.43 107.14 L 121.43 221.43 Z" 
fill="rgba(46,204,113,0.35)" stroke="#2ecc71" stroke-width="3" 
fill-rule="evenodd" />
+  <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" 
font-style="italic">Returns the combined area of A and B</text>
+  <rect x="101" y="255" width="12" height="12" rx="2" fill="#4a90d9" 
stroke="#4a90d9" stroke-width="1" />
+  <text x="117" y="266" font-size="13" fill="#333333">Geometry A</text>
+  <rect x="211" y="255" width="12" height="12" rx="2" fill="#d94a4a" 
stroke="#d94a4a" stroke-width="1" />
+  <text x="227" y="266" font-size="13" fill="#333333">Geometry B</text>
+  <rect x="321" y="255" width="12" height="12" rx="2" fill="#2ecc71" 
stroke="#2ecc71" stroke-width="1" />
+  <text x="337" y="266" font-size="13" fill="#333333">Result</text>
+</svg>
\ No newline at end of file

Reply via email to