This is an automated email from the ASF dual-hosted git repository. jiayu pushed a commit to branch fix/issue-2678-validation-visuals in repository https://gitbox.apache.org/repos/asf/sedona.git
commit 6508e43bb25958446801b074675700755c015711 Author: Jia Yu <[email protected]> AuthorDate: Wed Mar 4 16:19:37 2026 -0800 [GH-2678] Add SVG visuals for geometry validation functions --- 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 ++ .../snowflake/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 | 11 +++++++++++ 15 files changed, 63 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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. + + 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..bbc619d3fd --- /dev/null +++ b/docs/image/ST_MakeValid/ST_MakeValid.svg @@ -0,0 +1,11 @@ +<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)"/> + <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.15)"/> + <polygon points="255.0,20.0 290.0,55.0 325.0,20.0 255.0,20.0" stroke="#43A047" stroke-width="2" fill="rgba(67,160,71,0.15)"/> + <text x="290.0" y="122.0" font-family="monospace" font-size="10" fill="#43A047" text-anchor="middle">Valid</text> +</svg>
