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 a31822cfeb [GH-2678] Add SVG visuals for geometry validation functions 
(Phase 7) (#2689)
a31822cfeb is described below

commit a31822cfeb489b06f788f52ff5213733b5cd7f2e
Author: Jia Yu <[email protected]>
AuthorDate: Wed Mar 4 19:00:46 2026 -0700

    [GH-2678] Add SVG visuals for geometry validation functions (Phase 7) 
(#2689)
---
 docs/api/flink/Geometry-Validation/ST_IsValid.md        |  2 ++
 docs/api/flink/Geometry-Validation/ST_IsValidReason.md  |  2 ++
 docs/api/flink/Geometry-Validation/ST_MakeValid.md      |  2 ++
 .../vector-data/Geometry-Validation/ST_IsValid.md       |  2 ++
 .../vector-data/Geometry-Validation/ST_IsValidDetail.md |  2 ++
 .../vector-data/Geometry-Validation/ST_IsValidReason.md |  2 ++
 .../vector-data/Geometry-Validation/ST_MakeValid.md     |  2 ++
 docs/api/sql/Geometry-Validation/ST_IsValid.md          |  2 ++
 docs/api/sql/Geometry-Validation/ST_IsValidDetail.md    |  2 ++
 docs/api/sql/Geometry-Validation/ST_IsValidReason.md    |  2 ++
 docs/api/sql/Geometry-Validation/ST_MakeValid.md        |  2 ++
 docs/image/ST_IsValid/ST_IsValid.svg                    |  9 +++++++++
 docs/image/ST_IsValidDetail/ST_IsValidDetail.svg        | 12 ++++++++++++
 docs/image/ST_IsValidReason/ST_IsValidReason.svg        |  9 +++++++++
 docs/image/ST_MakeValid/ST_MakeValid.svg                | 17 +++++++++++++++++
 15 files changed, 69 insertions(+)

diff --git a/docs/api/flink/Geometry-Validation/ST_IsValid.md 
b/docs/api/flink/Geometry-Validation/ST_IsValid.md
index 9808079dc3..16ed54813d 100644
--- a/docs/api/flink/Geometry-Validation/ST_IsValid.md
+++ b/docs/api/flink/Geometry-Validation/ST_IsValid.md
@@ -24,6 +24,8 @@ Introduction: Test if a geometry is well-formed. The function 
can be invoked wit
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValid](../../../image/ST_IsValid/ST_IsValid.svg "ST_IsValid")
+
 Formats:
 
 ```
diff --git a/docs/api/flink/Geometry-Validation/ST_IsValidReason.md 
b/docs/api/flink/Geometry-Validation/ST_IsValidReason.md
index e51a2ba932..8ec17d1989 100644
--- a/docs/api/flink/Geometry-Validation/ST_IsValidReason.md
+++ b/docs/api/flink/Geometry-Validation/ST_IsValidReason.md
@@ -24,6 +24,8 @@ Introduction: Returns text stating if the geometry is valid. 
If not, it provides
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValidReason](../../../image/ST_IsValidReason/ST_IsValidReason.svg 
"ST_IsValidReason")
+
 Formats:
 
 ```
diff --git a/docs/api/flink/Geometry-Validation/ST_MakeValid.md 
b/docs/api/flink/Geometry-Validation/ST_MakeValid.md
index ea32bb4ee1..dd3ee3bfca 100644
--- a/docs/api/flink/Geometry-Validation/ST_MakeValid.md
+++ b/docs/api/flink/Geometry-Validation/ST_MakeValid.md
@@ -24,6 +24,8 @@ Introduction: Given an invalid geometry, create a valid 
representation of the ge
 Collapsed geometries are either converted to empty (keepCollapsed=true) or a 
valid geometry of lower dimension (keepCollapsed=false).
 Default is keepCollapsed=false.
 
+![ST_MakeValid](../../../image/ST_MakeValid/ST_MakeValid.svg "ST_MakeValid")
+
 Format:
 
 `ST_MakeValid (A: Geometry)`
diff --git a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValid.md 
b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValid.md
index 91aa6c815c..2d89353eab 100644
--- a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValid.md
+++ b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValid.md
@@ -24,6 +24,8 @@ Introduction: Test if a geometry is well-formed. The function 
can be invoked wit
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValid](../../../../image/ST_IsValid/ST_IsValid.svg "ST_IsValid")
+
 Formats:
 
 ```
diff --git 
a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidDetail.md 
b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidDetail.md
index fa2f4af26a..08756d4de9 100644
--- a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidDetail.md
+++ b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidDetail.md
@@ -28,6 +28,8 @@ The flags parameter is a bitfield with the following options:
 - 0: Use usual OGC SFS (Simple Features Specification) validity semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValidDetail](../../../../image/ST_IsValidDetail/ST_IsValidDetail.svg 
"ST_IsValidDetail")
+
 Format:
 
 ```sql
diff --git 
a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidReason.md 
b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidReason.md
index 97a783e74b..a06c21db0c 100644
--- a/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidReason.md
+++ b/docs/api/snowflake/vector-data/Geometry-Validation/ST_IsValidReason.md
@@ -24,6 +24,8 @@ Introduction: Returns text stating if the geometry is valid. 
If not, it provides
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValidReason](../../../../image/ST_IsValidReason/ST_IsValidReason.svg 
"ST_IsValidReason")
+
 Formats:
 
 ```
diff --git a/docs/api/snowflake/vector-data/Geometry-Validation/ST_MakeValid.md 
b/docs/api/snowflake/vector-data/Geometry-Validation/ST_MakeValid.md
index 16e6b8a2c7..48d6a4f49f 100644
--- a/docs/api/snowflake/vector-data/Geometry-Validation/ST_MakeValid.md
+++ b/docs/api/snowflake/vector-data/Geometry-Validation/ST_MakeValid.md
@@ -24,6 +24,8 @@ Introduction: Given an invalid geometry, create a valid 
representation of the ge
 Collapsed geometries are either converted to empty (keepCollapsed=true) or a 
valid geometry of lower dimension (keepCollapsed=false).
 Default is keepCollapsed=false.
 
+![ST_MakeValid](../../../../image/ST_MakeValid/ST_MakeValid.svg "ST_MakeValid")
+
 Format: `ST_MakeValid (A:geometry)`
 
 Format: `ST_MakeValid (A:geometry, keepCollapsed:Boolean)`
diff --git a/docs/api/sql/Geometry-Validation/ST_IsValid.md 
b/docs/api/sql/Geometry-Validation/ST_IsValid.md
index 9808079dc3..16ed54813d 100644
--- a/docs/api/sql/Geometry-Validation/ST_IsValid.md
+++ b/docs/api/sql/Geometry-Validation/ST_IsValid.md
@@ -24,6 +24,8 @@ Introduction: Test if a geometry is well-formed. The function 
can be invoked wit
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValid](../../../image/ST_IsValid/ST_IsValid.svg "ST_IsValid")
+
 Formats:
 
 ```
diff --git a/docs/api/sql/Geometry-Validation/ST_IsValidDetail.md 
b/docs/api/sql/Geometry-Validation/ST_IsValidDetail.md
index b740072cfd..2bde64bb0e 100644
--- a/docs/api/sql/Geometry-Validation/ST_IsValidDetail.md
+++ b/docs/api/sql/Geometry-Validation/ST_IsValidDetail.md
@@ -28,6 +28,8 @@ The flags parameter is a bitfield with the following options:
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValidDetail](../../../image/ST_IsValidDetail/ST_IsValidDetail.svg 
"ST_IsValidDetail")
+
 Formats:
 
 ```sql
diff --git a/docs/api/sql/Geometry-Validation/ST_IsValidReason.md 
b/docs/api/sql/Geometry-Validation/ST_IsValidReason.md
index e51a2ba932..8ec17d1989 100644
--- a/docs/api/sql/Geometry-Validation/ST_IsValidReason.md
+++ b/docs/api/sql/Geometry-Validation/ST_IsValidReason.md
@@ -24,6 +24,8 @@ Introduction: Returns text stating if the geometry is valid. 
If not, it provides
 - 0 (default): Use usual OGC SFS (Simple Features Specification) validity 
semantics.
 - 1: "ESRI flag", Accepts certain self-touching rings as valid, which are 
considered invalid under OGC standards.
 
+![ST_IsValidReason](../../../image/ST_IsValidReason/ST_IsValidReason.svg 
"ST_IsValidReason")
+
 Formats:
 
 ```
diff --git a/docs/api/sql/Geometry-Validation/ST_MakeValid.md 
b/docs/api/sql/Geometry-Validation/ST_MakeValid.md
index 6b6e211439..01adb4e1a5 100644
--- a/docs/api/sql/Geometry-Validation/ST_MakeValid.md
+++ b/docs/api/sql/Geometry-Validation/ST_MakeValid.md
@@ -24,6 +24,8 @@ Introduction: Given an invalid geometry, create a valid 
representation of the ge
 Collapsed geometries are either converted to empty (keepCollapsed=false) or a 
valid geometry of lower dimension (keepCollapsed=true).
 Default is keepCollapsed=false.
 
+![ST_MakeValid](../../../image/ST_MakeValid/ST_MakeValid.svg "ST_MakeValid")
+
 Format:
 
 `ST_MakeValid (A: Geometry)`
diff --git a/docs/image/ST_IsValid/ST_IsValid.svg 
b/docs/image/ST_IsValid/ST_IsValid.svg
new file mode 100644
index 0000000000..73b2dd283e
--- /dev/null
+++ b/docs/image/ST_IsValid/ST_IsValid.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="380" height="120" viewBox="0 0 
380 120">
+  <rect width="380" height="120" fill="#f5f5f5" rx="5"/>
+  <polygon points="40.0,80.0 100.0,80.0 100.0,20.0 40.0,20.0 40.0,80.0" 
stroke="#43A047" stroke-width="2" fill="rgba(67,160,71,0.15)"/>
+  <rect x="54.0" y="94.0" width="42" height="22" rx="11" fill="#43A047"/>
+  <text x="75.0" y="109.0" font-family="sans-serif" font-size="11" 
font-weight="bold" fill="#fff" text-anchor="middle">true</text>
+  <polygon points="240.0,80.0 300.0,20.0 300.0,80.0 240.0,20.0 240.0,80.0" 
stroke="#E53935" stroke-width="2" fill="rgba(229,57,53,0.15)"/>
+  <rect x="250.5" y="94.0" width="49" height="22" rx="11" fill="#E53935"/>
+  <text x="275.0" y="109.0" font-family="sans-serif" font-size="11" 
font-weight="bold" fill="#fff" text-anchor="middle">false</text>
+</svg>
diff --git a/docs/image/ST_IsValidDetail/ST_IsValidDetail.svg 
b/docs/image/ST_IsValidDetail/ST_IsValidDetail.svg
new file mode 100644
index 0000000000..c7531b261e
--- /dev/null
+++ b/docs/image/ST_IsValidDetail/ST_IsValidDetail.svg
@@ -0,0 +1,12 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="400" height="130" viewBox="0 0 
400 130">
+  <rect width="400" height="130" fill="#f5f5f5" rx="5"/>
+  <defs><marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" 
refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" 
fill="#666"/></marker></defs>
+  <polygon points="35.0,90.0 105.0,20.0 105.0,90.0 35.0,20.0 35.0,90.0" 
stroke="#E53935" stroke-width="2" fill="rgba(229,57,53,0.15)"/>
+  <circle cx="70.0" cy="55.0" r="5" fill="#E53935" stroke="#fff" 
stroke-width="1.5"/>
+  <line x1="150" y1="65" x2="190" y2="65" stroke="#666" stroke-width="1.5" 
marker-end="url(#arrowhead)"/>
+  <rect x="200" y="20" width="190" height="90" rx="4" fill="#FFF3E0" 
stroke="#FF9800" stroke-width="1"/>
+  <text x="208.0" y="38.0" font-family="monospace" font-size="10" 
fill="#E53935" text-anchor="start">valid: false</text>
+  <text x="208.0" y="58.0" font-family="monospace" font-size="10" fill="#333" 
text-anchor="start">reason: Self-</text>
+  <text x="208.0" y="72.0" font-family="monospace" font-size="10" fill="#333" 
text-anchor="start">  intersection</text>
+  <text x="208.0" y="92.0" font-family="monospace" font-size="10" fill="#666" 
text-anchor="start">location: POINT(2 2)</text>
+</svg>
diff --git a/docs/image/ST_IsValidReason/ST_IsValidReason.svg 
b/docs/image/ST_IsValidReason/ST_IsValidReason.svg
new file mode 100644
index 0000000000..b56a986f61
--- /dev/null
+++ b/docs/image/ST_IsValidReason/ST_IsValidReason.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="400" height="120" viewBox="0 0 
400 120">
+  <rect width="400" height="120" fill="#f5f5f5" rx="5"/>
+  <defs><marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" 
refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" 
fill="#666"/></marker></defs>
+  <polygon points="40.0,80.0 100.0,20.0 100.0,80.0 40.0,20.0 40.0,80.0" 
stroke="#E53935" stroke-width="2" fill="rgba(229,57,53,0.15)"/>
+  <circle cx="70.0" cy="50.0" r="5" fill="#E53935" stroke="#fff" 
stroke-width="1.5"/>
+  <line x1="150" y1="60" x2="190" y2="60" stroke="#666" stroke-width="1.5" 
marker-end="url(#arrowhead)"/>
+  <rect x="200" y="44" width="190" height="32" rx="4" fill="#FFF3E0" 
stroke="#FF9800" stroke-width="1"/>
+  <text x="295.0" y="64.0" font-family="monospace" font-size="10" fill="#333" 
text-anchor="middle">Self-intersection[2 2]</text>
+</svg>
diff --git a/docs/image/ST_MakeValid/ST_MakeValid.svg 
b/docs/image/ST_MakeValid/ST_MakeValid.svg
new file mode 100644
index 0000000000..c439cae2fc
--- /dev/null
+++ b/docs/image/ST_MakeValid/ST_MakeValid.svg
@@ -0,0 +1,17 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="400" height="130" viewBox="0 0 
400 130">
+  <rect width="400" height="130" fill="#f5f5f5" rx="5"/>
+  <defs><marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" 
refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" 
fill="#666"/></marker></defs>
+  <polygon points="35.0,90.0 70.0,55.0 105.0,90.0" fill="#E53935" 
fill-opacity="0.12" stroke="none"/>
+  <polygon points="105.0,20.0 70.0,55.0 35.0,20.0" fill="#E53935" 
fill-opacity="0.12" stroke="none"/>
+  <line x1="35.0" y1="90.0" x2="105.0" y2="20.0" stroke="#E53935" 
stroke-width="2"/>
+  <line x1="105.0" y1="20.0" x2="105.0" y2="90.0" stroke="#E53935" 
stroke-width="2"/>
+  <line x1="105.0" y1="90.0" x2="35.0" y2="20.0" stroke="#E53935" 
stroke-width="2"/>
+  <line x1="35.0" y1="20.0" x2="35.0" y2="90.0" stroke="#E53935" 
stroke-width="2"/>
+  <circle cx="70.0" cy="55.0" r="5" fill="#E53935" stroke="#fff" 
stroke-width="1.5"/>
+  <text x="70.0" y="122.0" font-family="monospace" font-size="10" 
fill="#E53935" text-anchor="middle">Invalid</text>
+  <line x1="155" y1="65" x2="205" y2="65" stroke="#666" stroke-width="1.5" 
marker-end="url(#arrowhead)"/>
+  <text x="180.0" y="57.0" font-family="monospace" font-size="9" fill="#666" 
text-anchor="middle">ST_MakeValid</text>
+  <polygon points="255.0,90.0 290.0,55.0 325.0,90.0 255.0,90.0" 
stroke="#43A047" stroke-width="2" fill="rgba(67,160,71,0.20)"/>
+  <polygon points="255.0,20.0 290.0,55.0 325.0,20.0 255.0,20.0" 
stroke="#1565C0" stroke-width="2" fill="rgba(21,101,192,0.20)"/>
+  <text x="290.0" y="122.0" font-family="monospace" font-size="10" 
fill="#43A047" text-anchor="middle">Valid (2 polygons)</text>
+</svg>

Reply via email to