This is an automated email from the ASF dual-hosted git repository. jiayu pushed a commit to branch fix/issue-2678-editor-visuals in repository https://gitbox.apache.org/repos/asf/sedona.git
commit 631c9f2610a17ed7e6bfa977916c26d7c800da7d Author: Jia Yu <[email protected]> AuthorDate: Wed Mar 4 14:14:08 2026 -0800 [GH-2678] Add SVG visuals for geometry editor functions --- docs/api/flink/Geometry-Editors/ST_AddPoint.md | 1 + docs/api/flink/Geometry-Editors/ST_Collect.md | 1 + .../flink/Geometry-Editors/ST_CollectionExtract.md | 1 + .../flink/Geometry-Editors/ST_FlipCoordinates.md | 1 + docs/api/flink/Geometry-Editors/ST_Force2D.md | 1 + docs/api/flink/Geometry-Editors/ST_Force3D.md | 1 + docs/api/flink/Geometry-Editors/ST_Force3DM.md | 1 + docs/api/flink/Geometry-Editors/ST_Force3DZ.md | 1 + docs/api/flink/Geometry-Editors/ST_Force4D.md | 1 + .../flink/Geometry-Editors/ST_ForceCollection.md | 1 + .../flink/Geometry-Editors/ST_ForcePolygonCCW.md | 1 + .../flink/Geometry-Editors/ST_ForcePolygonCW.md | 1 + docs/api/flink/Geometry-Editors/ST_ForceRHR.md | 1 + docs/api/flink/Geometry-Editors/ST_Force_2D.md | 1 + .../Geometry-Editors/ST_LineFromMultiPoint.md | 1 + docs/api/flink/Geometry-Editors/ST_LineMerge.md | 1 + docs/api/flink/Geometry-Editors/ST_LineSegments.md | 1 + docs/api/flink/Geometry-Editors/ST_MakeLine.md | 1 + docs/api/flink/Geometry-Editors/ST_MakePolygon.md | 1 + docs/api/flink/Geometry-Editors/ST_Multi.md | 1 + docs/api/flink/Geometry-Editors/ST_Normalize.md | 1 + docs/api/flink/Geometry-Editors/ST_Polygon.md | 1 + docs/api/flink/Geometry-Editors/ST_Project.md | 1 + docs/api/flink/Geometry-Editors/ST_RemovePoint.md | 1 + .../Geometry-Editors/ST_RemoveRepeatedPoints.md | 1 + docs/api/flink/Geometry-Editors/ST_Reverse.md | 1 + docs/api/flink/Geometry-Editors/ST_Segmentize.md | 1 + docs/api/flink/Geometry-Editors/ST_SetPoint.md | 1 + .../flink/Geometry-Editors/ST_ShiftLongitude.md | 1 + .../vector-data/Geometry-Editors/ST_AddPoint.md | 1 + .../vector-data/Geometry-Editors/ST_Collect.md | 1 + .../Geometry-Editors/ST_CollectionExtract.md | 1 + .../Geometry-Editors/ST_FlipCoordinates.md | 1 + .../vector-data/Geometry-Editors/ST_Force2D.md | 1 + .../vector-data/Geometry-Editors/ST_Force3D.md | 1 + .../vector-data/Geometry-Editors/ST_Force3DZ.md | 1 + .../Geometry-Editors/ST_ForceCollection.md | 1 + .../Geometry-Editors/ST_ForcePolygonCCW.md | 1 + .../Geometry-Editors/ST_ForcePolygonCW.md | 1 + .../vector-data/Geometry-Editors/ST_ForceRHR.md | 1 + .../vector-data/Geometry-Editors/ST_Force_2D.md | 1 + .../Geometry-Editors/ST_LineFromMultiPoint.md | 1 + .../vector-data/Geometry-Editors/ST_LineMerge.md | 1 + .../vector-data/Geometry-Editors/ST_MakeLine.md | 1 + .../vector-data/Geometry-Editors/ST_MakePolygon.md | 1 + .../vector-data/Geometry-Editors/ST_Multi.md | 1 + .../vector-data/Geometry-Editors/ST_Normalize.md | 1 + .../vector-data/Geometry-Editors/ST_Polygon.md | 1 + .../vector-data/Geometry-Editors/ST_Project.md | 1 + .../vector-data/Geometry-Editors/ST_RemovePoint.md | 1 + .../Geometry-Editors/ST_RemoveRepeatedPoints.md | 1 + .../vector-data/Geometry-Editors/ST_Reverse.md | 1 + .../vector-data/Geometry-Editors/ST_Segmentize.md | 1 + .../vector-data/Geometry-Editors/ST_SetPoint.md | 1 + .../Geometry-Editors/ST_ShiftLongitude.md | 1 + docs/api/sql/Geometry-Editors/ST_AddPoint.md | 1 + docs/api/sql/Geometry-Editors/ST_Collect.md | 1 + .../sql/Geometry-Editors/ST_CollectionExtract.md | 1 + .../api/sql/Geometry-Editors/ST_FlipCoordinates.md | 1 + docs/api/sql/Geometry-Editors/ST_Force2D.md | 1 + docs/api/sql/Geometry-Editors/ST_Force3D.md | 1 + docs/api/sql/Geometry-Editors/ST_Force3DM.md | 1 + docs/api/sql/Geometry-Editors/ST_Force3DZ.md | 1 + docs/api/sql/Geometry-Editors/ST_Force4D.md | 1 + .../api/sql/Geometry-Editors/ST_ForceCollection.md | 1 + .../api/sql/Geometry-Editors/ST_ForcePolygonCCW.md | 1 + docs/api/sql/Geometry-Editors/ST_ForcePolygonCW.md | 1 + docs/api/sql/Geometry-Editors/ST_ForceRHR.md | 1 + docs/api/sql/Geometry-Editors/ST_Force_2D.md | 1 + .../sql/Geometry-Editors/ST_LineFromMultiPoint.md | 1 + docs/api/sql/Geometry-Editors/ST_LineMerge.md | 1 + docs/api/sql/Geometry-Editors/ST_LineSegments.md | 1 + docs/api/sql/Geometry-Editors/ST_MakeLine.md | 1 + docs/api/sql/Geometry-Editors/ST_MakePolygon.md | 1 + docs/api/sql/Geometry-Editors/ST_Multi.md | 1 + docs/api/sql/Geometry-Editors/ST_Normalize.md | 1 + docs/api/sql/Geometry-Editors/ST_Polygon.md | 1 + docs/api/sql/Geometry-Editors/ST_Project.md | 1 + docs/api/sql/Geometry-Editors/ST_RemovePoint.md | 1 + .../Geometry-Editors/ST_RemoveRepeatedPoints.md | 1 + docs/api/sql/Geometry-Editors/ST_Reverse.md | 1 + docs/api/sql/Geometry-Editors/ST_Segmentize.md | 1 + docs/api/sql/Geometry-Editors/ST_SetPoint.md | 1 + docs/api/sql/Geometry-Editors/ST_ShiftLongitude.md | 1 + docs/image/ST_AddPoint/ST_AddPoint.svg | 36 ++++++++++++++++++++ docs/image/ST_Collect/ST_Collect.svg | 27 +++++++++++++++ .../ST_CollectionExtract/ST_CollectionExtract.svg | 28 ++++++++++++++++ .../ST_FlipCoordinates/ST_FlipCoordinates.svg | 31 +++++++++++++++++ docs/image/ST_Force2D/ST_Force2D.svg | 27 +++++++++++++++ docs/image/ST_Force3D/ST_Force3D.svg | 27 +++++++++++++++ docs/image/ST_Force3DM/ST_Force3DM.svg | 27 +++++++++++++++ docs/image/ST_Force3DZ/ST_Force3DZ.svg | 27 +++++++++++++++ docs/image/ST_Force4D/ST_Force4D.svg | 27 +++++++++++++++ .../ST_ForceCollection/ST_ForceCollection.svg | 26 +++++++++++++++ .../ST_ForcePolygonCCW/ST_ForcePolygonCCW.svg | 26 +++++++++++++++ docs/image/ST_ForcePolygonCW/ST_ForcePolygonCW.svg | 26 +++++++++++++++ docs/image/ST_ForceRHR/ST_ForceRHR.svg | 26 +++++++++++++++ docs/image/ST_Force_2D/ST_Force_2D.svg | 27 +++++++++++++++ .../ST_LineFromMultiPoint.svg | 31 +++++++++++++++++ docs/image/ST_LineMerge/ST_LineMerge.svg | 36 ++++++++++++++++++++ docs/image/ST_LineSegments/ST_LineSegments.svg | 39 ++++++++++++++++++++++ docs/image/ST_MakeLine/ST_MakeLine.svg | 31 +++++++++++++++++ docs/image/ST_MakePolygon/ST_MakePolygon.svg | 29 ++++++++++++++++ docs/image/ST_Multi/ST_Multi.svg | 22 ++++++++++++ docs/image/ST_Normalize/ST_Normalize.svg | 24 +++++++++++++ docs/image/ST_Polygon/ST_Polygon.svg | 29 ++++++++++++++++ docs/image/ST_Project/ST_Project.svg | 37 ++++++++++++++++++++ docs/image/ST_RemovePoint/ST_RemovePoint.svg | 38 +++++++++++++++++++++ .../ST_RemoveRepeatedPoints.svg | 39 ++++++++++++++++++++++ docs/image/ST_Reverse/ST_Reverse.svg | 38 +++++++++++++++++++++ docs/image/ST_Segmentize/ST_Segmentize.svg | 37 ++++++++++++++++++++ docs/image/ST_SetPoint/ST_SetPoint.svg | 37 ++++++++++++++++++++ docs/image/ST_ShiftLongitude/ST_ShiftLongitude.svg | 38 +++++++++++++++++++++ 113 files changed, 977 insertions(+) diff --git a/docs/api/flink/Geometry-Editors/ST_AddPoint.md b/docs/api/flink/Geometry-Editors/ST_AddPoint.md index 86f35d3ae4..8d5f67158e 100644 --- a/docs/api/flink/Geometry-Editors/ST_AddPoint.md +++ b/docs/api/flink/Geometry-Editors/ST_AddPoint.md @@ -21,6 +21,7 @@ Introduction: Return Linestring with additional point at the given index, if position is not available the point will be added at the end of line. + Format: `ST_AddPoint(geom: Geometry, point: Geometry, position: Integer)` diff --git a/docs/api/flink/Geometry-Editors/ST_Collect.md b/docs/api/flink/Geometry-Editors/ST_Collect.md index 012c1ae28b..e6e54a5995 100644 --- a/docs/api/flink/Geometry-Editors/ST_Collect.md +++ b/docs/api/flink/Geometry-Editors/ST_Collect.md @@ -21,6 +21,7 @@ Introduction: Returns MultiGeometry object based on geometry column/s or array with geometries + Format: `ST_Collect(*geom: Geometry)` diff --git a/docs/api/flink/Geometry-Editors/ST_CollectionExtract.md b/docs/api/flink/Geometry-Editors/ST_CollectionExtract.md index 52299518c1..88300b1950 100644 --- a/docs/api/flink/Geometry-Editors/ST_CollectionExtract.md +++ b/docs/api/flink/Geometry-Editors/ST_CollectionExtract.md @@ -29,6 +29,7 @@ The type numbers are: If the type parameter is omitted a multi-geometry of the highest dimension is returned. + Format: `ST_CollectionExtract (A: Geometry)` diff --git a/docs/api/flink/Geometry-Editors/ST_FlipCoordinates.md b/docs/api/flink/Geometry-Editors/ST_FlipCoordinates.md index d018ca68a9..9a2d944038 100644 --- a/docs/api/flink/Geometry-Editors/ST_FlipCoordinates.md +++ b/docs/api/flink/Geometry-Editors/ST_FlipCoordinates.md @@ -21,6 +21,7 @@ Introduction: Returns a version of the given geometry with X and Y axis flipped. + Format: `ST_FlipCoordinates(A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force2D.md b/docs/api/flink/Geometry-Editors/ST_Force2D.md index 775ad4871c..a00ea707da 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force2D.md +++ b/docs/api/flink/Geometry-Editors/ST_Force2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force_2D](ST_Force_2D.md). + Format: `ST_Force2D (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force3D.md b/docs/api/flink/Geometry-Editors/ST_Force3D.md index 73fe256197..818e80eb1c 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force3D.md +++ b/docs/api/flink/Geometry-Editors/ST_Force3D.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3D(geometry: Geometry, zValue: Double)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force3DM.md b/docs/api/flink/Geometry-Editors/ST_Force3DM.md index f0afc33b0d..adfa8404d1 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force3DM.md +++ b/docs/api/flink/Geometry-Editors/ST_Force3DM.md @@ -24,6 +24,7 @@ Introduction: Forces the geometry into XYM mode. Retains any existing M coordina !!!Note Example output is after calling ST_AsText() on returned geometry, which adds M for in the WKT. + Format: `ST_Force3DM(geometry: Geometry, mValue: Double = 0.0)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force3DZ.md b/docs/api/flink/Geometry-Editors/ST_Force3DZ.md index cf361707b2..830cd2753b 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force3DZ.md +++ b/docs/api/flink/Geometry-Editors/ST_Force3DZ.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. This function is a !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3DZ(geometry: Geometry, zValue: Double)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force4D.md b/docs/api/flink/Geometry-Editors/ST_Force4D.md index 7483bd00e7..18c770a2aa 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force4D.md +++ b/docs/api/flink/Geometry-Editors/ST_Force4D.md @@ -24,6 +24,7 @@ Introduction: Converts the input geometry to 4D XYZM representation. Retains ori !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force4D(geom: Geometry, zValue: Double, mValue: Double)` diff --git a/docs/api/flink/Geometry-Editors/ST_ForceCollection.md b/docs/api/flink/Geometry-Editors/ST_ForceCollection.md index d9a7820b49..54f5574a60 100644 --- a/docs/api/flink/Geometry-Editors/ST_ForceCollection.md +++ b/docs/api/flink/Geometry-Editors/ST_ForceCollection.md @@ -21,6 +21,7 @@ Introduction: This function converts the input geometry into a GeometryCollection, regardless of the original geometry type. If the input is a multipart geometry, such as a MultiPolygon or MultiLineString, it will be decomposed into a GeometryCollection containing each individual Polygon or LineString element from the original multipart geometry. + Format: `ST_ForceCollection(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_ForcePolygonCCW.md b/docs/api/flink/Geometry-Editors/ST_ForcePolygonCCW.md index 3ed3d441bc..974a97cb2b 100644 --- a/docs/api/flink/Geometry-Editors/ST_ForcePolygonCCW.md +++ b/docs/api/flink/Geometry-Editors/ST_ForcePolygonCCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to counter-clockwise and interior rings to clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_ForcePolygonCW.md b/docs/api/flink/Geometry-Editors/ST_ForcePolygonCW.md index 639fe20e44..11a929ea26 100644 --- a/docs/api/flink/Geometry-Editors/ST_ForcePolygonCW.md +++ b/docs/api/flink/Geometry-Editors/ST_ForcePolygonCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to clockwise and interior rings to counter-clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_ForceRHR.md b/docs/api/flink/Geometry-Editors/ST_ForceRHR.md index e91bfe953b..56d580dc4c 100644 --- a/docs/api/flink/Geometry-Editors/ST_ForceRHR.md +++ b/docs/api/flink/Geometry-Editors/ST_ForceRHR.md @@ -21,6 +21,7 @@ Introduction: Sets the orientation of polygon vertex orderings to follow the Right-Hand-Rule convention. The exterior ring will have a clockwise winding order, while any interior rings are oriented counter-clockwise. This ensures the area bounded by the polygon falls on the right-hand side relative to the ring directions. The function is an alias for [ST_ForcePolygonCW](ST_ForcePolygonCW.md). + Format: `ST_ForceRHR(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Force_2D.md b/docs/api/flink/Geometry-Editors/ST_Force_2D.md index 227b5c276f..9e9bb40641 100644 --- a/docs/api/flink/Geometry-Editors/ST_Force_2D.md +++ b/docs/api/flink/Geometry-Editors/ST_Force_2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force2D](ST_Force2D.md). + Format: `ST_Force_2D (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_LineFromMultiPoint.md b/docs/api/flink/Geometry-Editors/ST_LineFromMultiPoint.md index 074fe6f513..0445f578cc 100644 --- a/docs/api/flink/Geometry-Editors/ST_LineFromMultiPoint.md +++ b/docs/api/flink/Geometry-Editors/ST_LineFromMultiPoint.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString from a MultiPoint geometry. + Format: `ST_LineFromMultiPoint (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_LineMerge.md b/docs/api/flink/Geometry-Editors/ST_LineMerge.md index 1a1a3e133b..5bb7165d6f 100644 --- a/docs/api/flink/Geometry-Editors/ST_LineMerge.md +++ b/docs/api/flink/Geometry-Editors/ST_LineMerge.md @@ -24,6 +24,7 @@ Introduction: Returns a LineString or MultiLineString formed by sewing together !!!note Only works for MULTILINESTRING. Using other geometry will return a GEOMETRYCOLLECTION EMPTY. If no merging can be performed, the original MULTILINESTRING is returned. + Format: `ST_LineMerge (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_LineSegments.md b/docs/api/flink/Geometry-Editors/ST_LineSegments.md index b93ffd7a91..689dd00538 100644 --- a/docs/api/flink/Geometry-Editors/ST_LineSegments.md +++ b/docs/api/flink/Geometry-Editors/ST_LineSegments.md @@ -21,6 +21,7 @@ Introduction: This function transforms a LineString containing multiple coordinates into an array of LineStrings, each with precisely two coordinates. The `lenient` argument, true by default, prevents an exception from being raised if the input geometry is not a LineString. + Format: `ST_LineSegments(geom: Geometry, lenient: Boolean)` diff --git a/docs/api/flink/Geometry-Editors/ST_MakeLine.md b/docs/api/flink/Geometry-Editors/ST_MakeLine.md index 4f7d8db1ed..2a13526a4a 100644 --- a/docs/api/flink/Geometry-Editors/ST_MakeLine.md +++ b/docs/api/flink/Geometry-Editors/ST_MakeLine.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString containing the points of Point, MultiPoint, or LineString geometries. Other geometry types cause an error. + Format: `ST_MakeLine(geom1: Geometry, geom2: Geometry)` diff --git a/docs/api/flink/Geometry-Editors/ST_MakePolygon.md b/docs/api/flink/Geometry-Editors/ST_MakePolygon.md index 4dc9b11027..9da5d8cafe 100644 --- a/docs/api/flink/Geometry-Editors/ST_MakePolygon.md +++ b/docs/api/flink/Geometry-Editors/ST_MakePolygon.md @@ -21,6 +21,7 @@ Introduction: Function to convert closed linestring to polygon including holes. If holes are provided, they should be fully contained within the shell. Holes outside the shell will produce an invalid polygon (matching PostGIS behavior). Use `ST_IsValid` to check the result. + Format: `ST_MakePolygon(geom: Geometry, holes: ARRAY[Geometry])` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Multi.md b/docs/api/flink/Geometry-Editors/ST_Multi.md index 0f39c7f728..3c124dd4da 100644 --- a/docs/api/flink/Geometry-Editors/ST_Multi.md +++ b/docs/api/flink/Geometry-Editors/ST_Multi.md @@ -22,6 +22,7 @@ Introduction: Returns a MultiGeometry object based on the geometry input. ST_Multi is basically an alias for ST_Collect with one geometry. + Format: `ST_Multi(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Normalize.md b/docs/api/flink/Geometry-Editors/ST_Normalize.md index 4bd02c6ab8..450d730a4a 100644 --- a/docs/api/flink/Geometry-Editors/ST_Normalize.md +++ b/docs/api/flink/Geometry-Editors/ST_Normalize.md @@ -21,6 +21,7 @@ Introduction: Returns the input geometry in its normalized form. + Format: `ST_Normalize(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Polygon.md b/docs/api/flink/Geometry-Editors/ST_Polygon.md index 71e4d68e19..5d19b75b64 100644 --- a/docs/api/flink/Geometry-Editors/ST_Polygon.md +++ b/docs/api/flink/Geometry-Editors/ST_Polygon.md @@ -21,6 +21,7 @@ Introduction: Function to create a polygon built from the given LineString and sets the spatial reference system from the srid + Format: `ST_Polygon(geom: Geometry, srid: Integer)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Project.md b/docs/api/flink/Geometry-Editors/ST_Project.md index 41c9b4cca8..add2b05618 100644 --- a/docs/api/flink/Geometry-Editors/ST_Project.md +++ b/docs/api/flink/Geometry-Editors/ST_Project.md @@ -21,6 +21,7 @@ Introduction: Calculates a new point location given a starting point, distance, and azimuth. The azimuth indicates the direction, expressed in radians, and is measured in a clockwise manner starting from true north. The system can handle azimuth values that are negative or exceed 2π (360 degrees). The optional `lenient` parameter prevents an error if the input geometry is not a Point. Its default value is `false`. + Format: ``` diff --git a/docs/api/flink/Geometry-Editors/ST_RemovePoint.md b/docs/api/flink/Geometry-Editors/ST_RemovePoint.md index fff4b48b07..8d8ffb126f 100644 --- a/docs/api/flink/Geometry-Editors/ST_RemovePoint.md +++ b/docs/api/flink/Geometry-Editors/ST_RemovePoint.md @@ -21,6 +21,7 @@ Introduction: Return Linestring with removed point at given index, position can be omitted and then last one will be removed. + Format: `ST_RemovePoint(geom: Geometry, position: Integer)` diff --git a/docs/api/flink/Geometry-Editors/ST_RemoveRepeatedPoints.md b/docs/api/flink/Geometry-Editors/ST_RemoveRepeatedPoints.md index d4451a4566..2ccf155678 100644 --- a/docs/api/flink/Geometry-Editors/ST_RemoveRepeatedPoints.md +++ b/docs/api/flink/Geometry-Editors/ST_RemoveRepeatedPoints.md @@ -21,6 +21,7 @@ Introduction: This function eliminates consecutive duplicate points within a geometry, preserving endpoints of LineStrings. It operates on (Multi)LineStrings, (Multi)Polygons, and MultiPoints, processing GeometryCollection elements individually. When an optional 'tolerance' value is provided, vertices within that distance are also considered duplicates. + Format: `ST_RemoveRepeatedPoints(geom: Geometry, tolerance: Double)` diff --git a/docs/api/flink/Geometry-Editors/ST_Reverse.md b/docs/api/flink/Geometry-Editors/ST_Reverse.md index 5f7b99ec05..ba92797982 100644 --- a/docs/api/flink/Geometry-Editors/ST_Reverse.md +++ b/docs/api/flink/Geometry-Editors/ST_Reverse.md @@ -21,6 +21,7 @@ Introduction: Return the geometry with vertex order reversed + Format: `ST_Reverse (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_Segmentize.md b/docs/api/flink/Geometry-Editors/ST_Segmentize.md index b645f98ab6..7a2458eb96 100644 --- a/docs/api/flink/Geometry-Editors/ST_Segmentize.md +++ b/docs/api/flink/Geometry-Editors/ST_Segmentize.md @@ -23,6 +23,7 @@ Introduction: Returns a modified geometry having no segment longer than the give The length calculation is performed in 2D. When a segment is longer than the specified maximum length, it is split into multiple, equal-length subsegments. + Format: `ST_Segmentize(geom: Geometry, max_segment_length: Double)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_SetPoint.md b/docs/api/flink/Geometry-Editors/ST_SetPoint.md index 46be53f56d..796d614d8f 100644 --- a/docs/api/flink/Geometry-Editors/ST_SetPoint.md +++ b/docs/api/flink/Geometry-Editors/ST_SetPoint.md @@ -21,6 +21,7 @@ Introduction: Replace Nth point of linestring with given point. Index is 0-based. Negative index are counted backwards, e.g., -1 is last point. + Format: `ST_SetPoint (linestring: Geometry, index: Integer, point: Geometry)` Return type: `Geometry` diff --git a/docs/api/flink/Geometry-Editors/ST_ShiftLongitude.md b/docs/api/flink/Geometry-Editors/ST_ShiftLongitude.md index 7ab039ea29..276e34daf0 100644 --- a/docs/api/flink/Geometry-Editors/ST_ShiftLongitude.md +++ b/docs/api/flink/Geometry-Editors/ST_ShiftLongitude.md @@ -24,6 +24,7 @@ Introduction: Modifies longitude coordinates in geometries, shifting values betw !!!note This function is only applicable to geometries that use lon/lat coordinate systems. + Format: `ST_ShiftLongitude (geom: geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_AddPoint.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_AddPoint.md index 2b5faf83a0..ef421f5e9b 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_AddPoint.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_AddPoint.md @@ -21,6 +21,7 @@ Introduction: RETURN Linestring with additional point at the given index, if position is not available the point will be added at the end of line. + Format: `ST_AddPoint(geom: geometry, point: geometry, position: integer)` Format: `ST_AddPoint(geom: geometry, point: geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Collect.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Collect.md index ff2d99852c..0b80f75493 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Collect.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Collect.md @@ -30,6 +30,7 @@ Build an appropriate `Geometry`, `MultiGeometry`, or `GeometryCollection` to con Note that this method does not "flatten" Geometries in the input, and hence if any MultiGeometries are contained in the input, a GeometryCollection containing them will be returned. + Format `ST_Collect(*geom: geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_CollectionExtract.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_CollectionExtract.md index d977bb6007..3b109dafce 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_CollectionExtract.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_CollectionExtract.md @@ -29,6 +29,7 @@ The type numbers are: If the type parameter is omitted a multi-geometry of the highest dimension is returned. + Format: `ST_CollectionExtract (A:geometry)` Format: `ST_CollectionExtract (A:geometry, type:Int)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_FlipCoordinates.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_FlipCoordinates.md index 4817faec0b..6c3e955ede 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_FlipCoordinates.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_FlipCoordinates.md @@ -21,6 +21,7 @@ Introduction: Returns a version of the given geometry with X and Y axis flipped. + Format: `ST_FlipCoordinates(A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force2D.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force2D.md index 510cecc263..0145eb9cd2 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force2D.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force_2D](ST_Force_2D.md). + Format: `ST_Force2D (A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3D.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3D.md index c446772beb..95dfd89b95 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3D.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3D.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3D(geometry, zValue)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3DZ.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3DZ.md index 15cc552c3d..b8ff2e4ea1 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3DZ.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force3DZ.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. This function is a !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3DZ(geometry: Geometry, zValue: Double)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceCollection.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceCollection.md index 0e49e10fac..1937d221aa 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceCollection.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceCollection.md @@ -21,6 +21,7 @@ Introduction: This function converts the input geometry into a GeometryCollection, regardless of the original geometry type. If the input is a multipart geometry, such as a MultiPolygon or MultiLineString, it will be decomposed into a GeometryCollection containing each individual Polygon or LineString element from the original multipart geometry. + Format: `ST_ForceCollection(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCCW.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCCW.md index efdc2c6285..6383b6d33d 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCCW.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to counter-clockwise and interior rings to clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCW.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCW.md index c9c5dd98dd..9b88963310 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCW.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForcePolygonCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to clockwise and interior rings to counter-clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceRHR.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceRHR.md index 92a7559d60..8c095bdfe1 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceRHR.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ForceRHR.md @@ -21,6 +21,7 @@ Introduction: Sets the orientation of polygon vertex orderings to follow the Right-Hand-Rule convention. The exterior ring will have a clockwise winding order, while any interior rings are oriented counter-clockwise. This ensures the area bounded by the polygon falls on the right-hand side relative to the ring directions. The function is an alias for [ST_ForcePolygonCW](ST_ForcePolygonCW.md). + Format: `ST_ForceRHR(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force_2D.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force_2D.md index 2a59d8fa9e..6caf2a7a65 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force_2D.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Force_2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force2D](ST_Force2D.md). + Format: `ST_Force_2D (A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineFromMultiPoint.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineFromMultiPoint.md index 688ef54306..e5b908f281 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineFromMultiPoint.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineFromMultiPoint.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString from a MultiPoint geometry. + Format: `ST_LineFromMultiPoint (A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineMerge.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineMerge.md index caedb0e123..3b6622d4d9 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineMerge.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_LineMerge.md @@ -24,6 +24,7 @@ Introduction: Returns a LineString or MultiLineString formed by sewing together !!!note Only works for MULTILINESTRING. Using other geometry will return a GEOMETRYCOLLECTION EMPTY. If no merging can be performed, the original MULTILINESTRING is returned. + Format: `ST_LineMerge (A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakeLine.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakeLine.md index 2502d34bf4..924823f8e8 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakeLine.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakeLine.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString containing the points of Point, MultiPoint, or LineString geometries. Other geometry types cause an error. + Format: `ST_MakeLine(geom1: Geometry, geom2: Geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakePolygon.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakePolygon.md index 81e61d533a..ca63867606 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakePolygon.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_MakePolygon.md @@ -21,6 +21,7 @@ Introduction: Function to convert closed linestring to polygon including holes. The holes must be a MultiLinestring. If holes are provided, they should be fully contained within the shell. Holes outside the shell will produce an invalid polygon (matching PostGIS behavior). Use `ST_IsValid` to check the result. + Format: `ST_MakePolygon(geom: geometry, holes: <geometry>)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Multi.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Multi.md index 0cd723e001..16bf545f3d 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Multi.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Multi.md @@ -22,6 +22,7 @@ Introduction: Returns a MultiGeometry object based on the geometry input. ST_Multi is basically an alias for ST_Collect with one geometry. + Format `ST_Multi(geom: geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Normalize.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Normalize.md index 34e6136809..59a0edb300 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Normalize.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Normalize.md @@ -21,6 +21,7 @@ Introduction: Returns the input geometry in its normalized form. + Format `ST_Normalize(geom: geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Polygon.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Polygon.md index 0843f8216a..00070bf7f1 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Polygon.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Polygon.md @@ -21,6 +21,7 @@ Introduction: Function to create a polygon built from the given LineString and sets the spatial reference system from the srid + Format: `ST_Polygon(geom: Geometry, srid: Integer)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Project.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Project.md index 6b2f916225..0370224c70 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Project.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Project.md @@ -21,6 +21,7 @@ Introduction: Calculates a new point location given a starting point, distance, and azimuth. The azimuth indicates the direction, expressed in radians, and is measured in a clockwise manner starting from true north. The system can handle azimuth values that are negative or exceed 2π (360 degrees). The optional `lenient` parameter prevents an error if the input geometry is not a Point. Its default value is `false`. + Format: ``` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemovePoint.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemovePoint.md index 7c0689a557..b9b40e0d74 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemovePoint.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemovePoint.md @@ -21,6 +21,7 @@ Introduction: RETURN Line with removed point at given index, position can be omitted and then last one will be removed. + Format: `ST_RemovePoint(geom: geometry, position: integer)` Format: `ST_RemovePoint(geom: geometry)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemoveRepeatedPoints.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemoveRepeatedPoints.md index af44dfdec3..02a4d1e827 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemoveRepeatedPoints.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_RemoveRepeatedPoints.md @@ -21,6 +21,7 @@ Introduction: This function eliminates consecutive duplicate points within a geometry, preserving endpoints of LineStrings. It operates on (Multi)LineStrings, (Multi)Polygons, and MultiPoints, processing GeometryCollection elements individually. When an optional 'tolerance' value is provided, vertices within that distance are also considered duplicates. + Format: `ST_RemoveRepeatedPoints(geom: Geometry, tolerance: Double)` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Reverse.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Reverse.md index 995273c9d1..685cd0c153 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Reverse.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Reverse.md @@ -21,6 +21,7 @@ Introduction: Return the geometry with vertex order reversed + Format: `ST_Reverse (A:geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Segmentize.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Segmentize.md index d270526f9e..d96c52c5ac 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_Segmentize.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_Segmentize.md @@ -23,6 +23,7 @@ Introduction: Returns a modified geometry having no segment longer than the give The length calculation is performed in 2D. When a segment is longer than the specified maximum length, it is split into multiple, equal-length subsegments. + Format: `ST_Segmentize(geom: Geometry, max_segment_length: Double)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_SetPoint.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_SetPoint.md index ef3e8ede2f..adadb270f5 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_SetPoint.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_SetPoint.md @@ -21,6 +21,7 @@ Introduction: Replace Nth point of linestring with given point. Index is 0-based. Negative index are counted backwards, e.g., -1 is last point. + Format: `ST_SetPoint (linestring: geometry, index: integer, point: geometry)` Return type: `Geometry` diff --git a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ShiftLongitude.md b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ShiftLongitude.md index 5d9a70e9bb..6dc09b4618 100644 --- a/docs/api/snowflake/vector-data/Geometry-Editors/ST_ShiftLongitude.md +++ b/docs/api/snowflake/vector-data/Geometry-Editors/ST_ShiftLongitude.md @@ -24,5 +24,6 @@ Introduction: Modifies longitude coordinates in geometries, shifting values betw !!!note This function is only applicable to geometries that use lon/lat coordinate systems. + Format: `ST_ShiftLongitude (geom: geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_AddPoint.md b/docs/api/sql/Geometry-Editors/ST_AddPoint.md index 213bf78f29..0cea17dfee 100644 --- a/docs/api/sql/Geometry-Editors/ST_AddPoint.md +++ b/docs/api/sql/Geometry-Editors/ST_AddPoint.md @@ -21,6 +21,7 @@ Introduction: RETURN Linestring with additional point at the given index, if position is not available the point will be added at the end of line. + Format: `ST_AddPoint(geom: Geometry, point: Geometry, position: Integer)` diff --git a/docs/api/sql/Geometry-Editors/ST_Collect.md b/docs/api/sql/Geometry-Editors/ST_Collect.md index e8b5fd622b..9e73cb1963 100644 --- a/docs/api/sql/Geometry-Editors/ST_Collect.md +++ b/docs/api/sql/Geometry-Editors/ST_Collect.md @@ -21,6 +21,7 @@ Introduction: Returns MultiGeometry object based on geometry column/s or array with geometries + Format: `ST_Collect(*geom: Geometry)` diff --git a/docs/api/sql/Geometry-Editors/ST_CollectionExtract.md b/docs/api/sql/Geometry-Editors/ST_CollectionExtract.md index 1624aed6a7..2de4bdcfc6 100644 --- a/docs/api/sql/Geometry-Editors/ST_CollectionExtract.md +++ b/docs/api/sql/Geometry-Editors/ST_CollectionExtract.md @@ -29,6 +29,7 @@ The type numbers are: If the type parameter is omitted a multi-geometry of the highest dimension is returned. + Format: `ST_CollectionExtract (A: Geometry)` diff --git a/docs/api/sql/Geometry-Editors/ST_FlipCoordinates.md b/docs/api/sql/Geometry-Editors/ST_FlipCoordinates.md index 772818b267..4f06fae55c 100644 --- a/docs/api/sql/Geometry-Editors/ST_FlipCoordinates.md +++ b/docs/api/sql/Geometry-Editors/ST_FlipCoordinates.md @@ -21,6 +21,7 @@ Introduction: Returns a version of the given geometry with X and Y axis flipped. + Format: `ST_FlipCoordinates(A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force2D.md b/docs/api/sql/Geometry-Editors/ST_Force2D.md index 7920453c37..736b4b7a56 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force2D.md +++ b/docs/api/sql/Geometry-Editors/ST_Force2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force_2D](ST_Force_2D.md). + Format: `ST_Force2D (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force3D.md b/docs/api/sql/Geometry-Editors/ST_Force3D.md index bc88e98e29..c98083bd5c 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force3D.md +++ b/docs/api/sql/Geometry-Editors/ST_Force3D.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3D(geometry: Geometry, zValue: Double)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force3DM.md b/docs/api/sql/Geometry-Editors/ST_Force3DM.md index 9d78d84f72..c6c5470f86 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force3DM.md +++ b/docs/api/sql/Geometry-Editors/ST_Force3DM.md @@ -24,6 +24,7 @@ Introduction: Forces the geometry into XYM mode. Retains any existing M coordina !!!Note Example output is after calling ST_AsText() on returned geometry, which adds M for in the WKT. + Format: `ST_Force3DM(geometry: Geometry, mValue: Double = 0.0)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force3DZ.md b/docs/api/sql/Geometry-Editors/ST_Force3DZ.md index cf361707b2..830cd2753b 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force3DZ.md +++ b/docs/api/sql/Geometry-Editors/ST_Force3DZ.md @@ -27,6 +27,7 @@ If the given geometry is empty, no change is performed on it. This function is a !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force3DZ(geometry: Geometry, zValue: Double)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force4D.md b/docs/api/sql/Geometry-Editors/ST_Force4D.md index 7483bd00e7..18c770a2aa 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force4D.md +++ b/docs/api/sql/Geometry-Editors/ST_Force4D.md @@ -24,6 +24,7 @@ Introduction: Converts the input geometry to 4D XYZM representation. Retains ori !!!Note Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries + Format: `ST_Force4D(geom: Geometry, zValue: Double, mValue: Double)` diff --git a/docs/api/sql/Geometry-Editors/ST_ForceCollection.md b/docs/api/sql/Geometry-Editors/ST_ForceCollection.md index d9a7820b49..54f5574a60 100644 --- a/docs/api/sql/Geometry-Editors/ST_ForceCollection.md +++ b/docs/api/sql/Geometry-Editors/ST_ForceCollection.md @@ -21,6 +21,7 @@ Introduction: This function converts the input geometry into a GeometryCollection, regardless of the original geometry type. If the input is a multipart geometry, such as a MultiPolygon or MultiLineString, it will be decomposed into a GeometryCollection containing each individual Polygon or LineString element from the original multipart geometry. + Format: `ST_ForceCollection(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_ForcePolygonCCW.md b/docs/api/sql/Geometry-Editors/ST_ForcePolygonCCW.md index 3ed3d441bc..974a97cb2b 100644 --- a/docs/api/sql/Geometry-Editors/ST_ForcePolygonCCW.md +++ b/docs/api/sql/Geometry-Editors/ST_ForcePolygonCCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to counter-clockwise and interior rings to clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_ForcePolygonCW.md b/docs/api/sql/Geometry-Editors/ST_ForcePolygonCW.md index 639fe20e44..11a929ea26 100644 --- a/docs/api/sql/Geometry-Editors/ST_ForcePolygonCW.md +++ b/docs/api/sql/Geometry-Editors/ST_ForcePolygonCW.md @@ -21,6 +21,7 @@ Introduction: For (Multi)Polygon geometries, this function sets the exterior ring orientation to clockwise and interior rings to counter-clockwise orientation. Non-polygonal geometries are returned unchanged. + Format: `ST_ForcePolygonCW(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_ForceRHR.md b/docs/api/sql/Geometry-Editors/ST_ForceRHR.md index e91bfe953b..56d580dc4c 100644 --- a/docs/api/sql/Geometry-Editors/ST_ForceRHR.md +++ b/docs/api/sql/Geometry-Editors/ST_ForceRHR.md @@ -21,6 +21,7 @@ Introduction: Sets the orientation of polygon vertex orderings to follow the Right-Hand-Rule convention. The exterior ring will have a clockwise winding order, while any interior rings are oriented counter-clockwise. This ensures the area bounded by the polygon falls on the right-hand side relative to the ring directions. The function is an alias for [ST_ForcePolygonCW](ST_ForcePolygonCW.md). + Format: `ST_ForceRHR(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Force_2D.md b/docs/api/sql/Geometry-Editors/ST_Force_2D.md index 3d569c3aa8..dc702c47a0 100644 --- a/docs/api/sql/Geometry-Editors/ST_Force_2D.md +++ b/docs/api/sql/Geometry-Editors/ST_Force_2D.md @@ -21,6 +21,7 @@ Introduction: Forces the geometries into a "2-dimensional mode" so that all output representations will only have the X and Y coordinates. This function is an alias of [ST_Force2D](ST_Force2D.md). + Format: `ST_Force_2D (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_LineFromMultiPoint.md b/docs/api/sql/Geometry-Editors/ST_LineFromMultiPoint.md index 571d0667bf..011b1e3c5b 100644 --- a/docs/api/sql/Geometry-Editors/ST_LineFromMultiPoint.md +++ b/docs/api/sql/Geometry-Editors/ST_LineFromMultiPoint.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString from a MultiPoint geometry. + Format: `ST_LineFromMultiPoint (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_LineMerge.md b/docs/api/sql/Geometry-Editors/ST_LineMerge.md index 5d37dd3820..300e9d8d90 100644 --- a/docs/api/sql/Geometry-Editors/ST_LineMerge.md +++ b/docs/api/sql/Geometry-Editors/ST_LineMerge.md @@ -24,6 +24,7 @@ Introduction: Returns a LineString or MultiLineString formed by sewing together !!!note Only works for MULTILINESTRING. Using other geometry will return a GEOMETRYCOLLECTION EMPTY. If no merging can be performed, the original MULTILINESTRING is returned. + Format: `ST_LineMerge (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_LineSegments.md b/docs/api/sql/Geometry-Editors/ST_LineSegments.md index b93ffd7a91..689dd00538 100644 --- a/docs/api/sql/Geometry-Editors/ST_LineSegments.md +++ b/docs/api/sql/Geometry-Editors/ST_LineSegments.md @@ -21,6 +21,7 @@ Introduction: This function transforms a LineString containing multiple coordinates into an array of LineStrings, each with precisely two coordinates. The `lenient` argument, true by default, prevents an exception from being raised if the input geometry is not a LineString. + Format: `ST_LineSegments(geom: Geometry, lenient: Boolean)` diff --git a/docs/api/sql/Geometry-Editors/ST_MakeLine.md b/docs/api/sql/Geometry-Editors/ST_MakeLine.md index 40f5a85985..658f359822 100644 --- a/docs/api/sql/Geometry-Editors/ST_MakeLine.md +++ b/docs/api/sql/Geometry-Editors/ST_MakeLine.md @@ -21,6 +21,7 @@ Introduction: Creates a LineString containing the points of Point, MultiPoint, or LineString geometries. Other geometry types cause an error. + Format: `ST_MakeLine(geom1: Geometry, geom2: Geometry)` diff --git a/docs/api/sql/Geometry-Editors/ST_MakePolygon.md b/docs/api/sql/Geometry-Editors/ST_MakePolygon.md index 93c5979bc7..a6187baaa6 100644 --- a/docs/api/sql/Geometry-Editors/ST_MakePolygon.md +++ b/docs/api/sql/Geometry-Editors/ST_MakePolygon.md @@ -21,6 +21,7 @@ Introduction: Function to convert closed linestring to polygon including holes. If holes are provided, they should be fully contained within the shell. Holes outside the shell will produce an invalid polygon (matching PostGIS behavior). Use `ST_IsValid` to check the result. + Format: `ST_MakePolygon(geom: Geometry, holes: ARRAY[Geometry])` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Multi.md b/docs/api/sql/Geometry-Editors/ST_Multi.md index d69f47381f..b69d953474 100644 --- a/docs/api/sql/Geometry-Editors/ST_Multi.md +++ b/docs/api/sql/Geometry-Editors/ST_Multi.md @@ -22,6 +22,7 @@ Introduction: Returns a MultiGeometry object based on the geometry input. ST_Multi is basically an alias for ST_Collect with one geometry. + Format: `ST_Multi(geom: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Normalize.md b/docs/api/sql/Geometry-Editors/ST_Normalize.md index 9d7c2f3b92..0ac7822737 100644 --- a/docs/api/sql/Geometry-Editors/ST_Normalize.md +++ b/docs/api/sql/Geometry-Editors/ST_Normalize.md @@ -21,6 +21,7 @@ Introduction: Returns the input geometry in its normalized form. + Format: `ST_Normalize(geom: Geometry)` diff --git a/docs/api/sql/Geometry-Editors/ST_Polygon.md b/docs/api/sql/Geometry-Editors/ST_Polygon.md index d69b491b72..47288eec7e 100644 --- a/docs/api/sql/Geometry-Editors/ST_Polygon.md +++ b/docs/api/sql/Geometry-Editors/ST_Polygon.md @@ -21,6 +21,7 @@ Introduction: Function to create a polygon built from the given LineString and sets the spatial reference system from the srid + Format: `ST_Polygon(geom: Geometry, srid: Integer)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Project.md b/docs/api/sql/Geometry-Editors/ST_Project.md index 41c9b4cca8..add2b05618 100644 --- a/docs/api/sql/Geometry-Editors/ST_Project.md +++ b/docs/api/sql/Geometry-Editors/ST_Project.md @@ -21,6 +21,7 @@ Introduction: Calculates a new point location given a starting point, distance, and azimuth. The azimuth indicates the direction, expressed in radians, and is measured in a clockwise manner starting from true north. The system can handle azimuth values that are negative or exceed 2π (360 degrees). The optional `lenient` parameter prevents an error if the input geometry is not a Point. Its default value is `false`. + Format: ``` diff --git a/docs/api/sql/Geometry-Editors/ST_RemovePoint.md b/docs/api/sql/Geometry-Editors/ST_RemovePoint.md index 79e03219a7..f216423c8d 100644 --- a/docs/api/sql/Geometry-Editors/ST_RemovePoint.md +++ b/docs/api/sql/Geometry-Editors/ST_RemovePoint.md @@ -21,6 +21,7 @@ Introduction: RETURN Line with removed point at given index, position can be omitted and then last one will be removed. + Format: `ST_RemovePoint(geom: Geometry, position: Integer)` diff --git a/docs/api/sql/Geometry-Editors/ST_RemoveRepeatedPoints.md b/docs/api/sql/Geometry-Editors/ST_RemoveRepeatedPoints.md index d4451a4566..2ccf155678 100644 --- a/docs/api/sql/Geometry-Editors/ST_RemoveRepeatedPoints.md +++ b/docs/api/sql/Geometry-Editors/ST_RemoveRepeatedPoints.md @@ -21,6 +21,7 @@ Introduction: This function eliminates consecutive duplicate points within a geometry, preserving endpoints of LineStrings. It operates on (Multi)LineStrings, (Multi)Polygons, and MultiPoints, processing GeometryCollection elements individually. When an optional 'tolerance' value is provided, vertices within that distance are also considered duplicates. + Format: `ST_RemoveRepeatedPoints(geom: Geometry, tolerance: Double)` diff --git a/docs/api/sql/Geometry-Editors/ST_Reverse.md b/docs/api/sql/Geometry-Editors/ST_Reverse.md index 4b3205e49b..08442699b6 100644 --- a/docs/api/sql/Geometry-Editors/ST_Reverse.md +++ b/docs/api/sql/Geometry-Editors/ST_Reverse.md @@ -21,6 +21,7 @@ Introduction: Return the geometry with vertex order reversed + Format: `ST_Reverse (A: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_Segmentize.md b/docs/api/sql/Geometry-Editors/ST_Segmentize.md index b645f98ab6..7a2458eb96 100644 --- a/docs/api/sql/Geometry-Editors/ST_Segmentize.md +++ b/docs/api/sql/Geometry-Editors/ST_Segmentize.md @@ -23,6 +23,7 @@ Introduction: Returns a modified geometry having no segment longer than the give The length calculation is performed in 2D. When a segment is longer than the specified maximum length, it is split into multiple, equal-length subsegments. + Format: `ST_Segmentize(geom: Geometry, max_segment_length: Double)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_SetPoint.md b/docs/api/sql/Geometry-Editors/ST_SetPoint.md index 7ea936a2ca..c98e8ec3fd 100644 --- a/docs/api/sql/Geometry-Editors/ST_SetPoint.md +++ b/docs/api/sql/Geometry-Editors/ST_SetPoint.md @@ -21,6 +21,7 @@ Introduction: Replace Nth point of linestring with given point. Index is 0-based. Negative index are counted backwards, e.g., -1 is last point. + Format: `ST_SetPoint (linestring: Geometry, index: Integer, point: Geometry)` Return type: `Geometry` diff --git a/docs/api/sql/Geometry-Editors/ST_ShiftLongitude.md b/docs/api/sql/Geometry-Editors/ST_ShiftLongitude.md index 7ab039ea29..276e34daf0 100644 --- a/docs/api/sql/Geometry-Editors/ST_ShiftLongitude.md +++ b/docs/api/sql/Geometry-Editors/ST_ShiftLongitude.md @@ -24,6 +24,7 @@ Introduction: Modifies longitude coordinates in geometries, shifting values betw !!!note This function is only applicable to geometries that use lon/lat coordinate systems. + Format: `ST_ShiftLongitude (geom: geometry)` Return type: `Geometry` diff --git a/docs/image/ST_AddPoint/ST_AddPoint.svg b/docs/image/ST_AddPoint/ST_AddPoint.svg new file mode 100644 index 0000000000..ec583c7a50 --- /dev/null +++ b/docs/image/ST_AddPoint/ST_AddPoint.svg @@ -0,0 +1,36 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_AddPoint</text> + <polyline points="96.51,213.95 198.84,137.21 301.16,188.37 403.49,111.63" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="96.51" cy="213.95" r="3" fill="#4a90d9" /> + <circle cx="198.84" cy="137.21" r="3" fill="#4a90d9" /> + <circle cx="301.16" cy="188.37" r="3" fill="#4a90d9" /> + <circle cx="403.49" cy="111.63" r="3" fill="#4a90d9" /> + <polyline points="96.51,213.95 198.84,137.21 250.0,86.05 301.16,188.37 403.49,111.63" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="96.51" cy="213.95" r="3" fill="#2ecc71" /> + <circle cx="198.84" cy="137.21" r="3" fill="#2ecc71" /> + <circle cx="250.0" cy="86.05" r="3" fill="#2ecc71" /> + <circle cx="301.16" cy="188.37" r="3" fill="#2ecc71" /> + <circle cx="403.49" cy="111.63" r="3" fill="#2ecc71" /> + <circle cx="250.0" cy="86.05" r="8" fill="white" stroke="#2ecc71" stroke-width="2.5" /> + <circle cx="250.0" cy="86.05" r="4" fill="#2ecc71" /> + <text x="260" y="76" font-size="13" fill="#2ecc71" font-weight="bold">new</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Adds a point to a LineString at the given index</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Collect/ST_Collect.svg b/docs/image/ST_Collect/ST_Collect.svg new file mode 100644 index 0000000000..5adff8b3f7 --- /dev/null +++ b/docs/image/ST_Collect/ST_Collect.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Collect</text> + <path d="M 112.5 218.75 L 222.5 218.75 L 222.5 108.75 L 112.5 108.75 L 112.5 218.75 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" /> + <path d="M 277.5 191.25 L 387.5 191.25 L 387.5 81.25 L 277.5 81.25 L 277.5 191.25 Z" fill="rgba(217,74,74,0.15)" stroke="#d94a4a" stroke-width="2.5" fill-rule="evenodd" /> + <path d="M 98.75 232.5 L 401.25 232.5 L 401.25 67.5 L 98.75 67.5 L 98.75 232.5 Z" fill="none" stroke="#2ecc71" stroke-width="2" fill-rule="evenodd" stroke-dasharray="8,4" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Collects geometries into a multi-geometry</text> + <rect x="89" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="105" y="266" font-size="13" fill="#333333">Geometry A</text> + <rect x="199" y="255" width="12" height="12" rx="2" fill="#d94a4a" stroke="#d94a4a" stroke-width="1" /> + <text x="215" y="266" font-size="13" fill="#333333">Geometry B</text> + <rect x="309" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="325" y="266" font-size="13" fill="#333333">Collected</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_CollectionExtract/ST_CollectionExtract.svg b/docs/image/ST_CollectionExtract/ST_CollectionExtract.svg new file mode 100644 index 0000000000..80e71740f6 --- /dev/null +++ b/docs/image/ST_CollectionExtract/ST_CollectionExtract.svg @@ -0,0 +1,28 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_CollectionExtract</text> + <circle cx="92.86" cy="150.0" r="5" fill="#999999" stroke="#999999" stroke-width="1.5" /> + <polyline points="155.71,212.86 250.0,118.57" fill="none" stroke="#999999" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,3" /> + <circle cx="155.71" cy="212.86" r="3" fill="#999999" /> + <circle cx="250.0" cy="118.57" r="3" fill="#999999" /> + <path d="M 281.43 212.86 L 407.14 212.86 L 407.14 87.14 L 281.43 87.14 L 281.43 212.86 Z" fill="rgba(153,153,153,0.1)" stroke="#999999" stroke-width="2.5" fill-rule="evenodd" stroke-dasharray="4,3" /> + <path d="M 281.43 212.86 L 407.14 212.86 L 407.14 87.14 L 281.43 87.14 L 281.43 212.86 Z" fill="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Extracts a specific geometry type from a collection</text> + <rect x="84" y="255" width="12" height="12" rx="2" fill="#999999" stroke="#999999" stroke-width="1" /> + <text x="100" y="266" font-size="13" fill="#333333">Input collection</text> + <rect x="242" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="258" y="266" font-size="13" fill="#333333">Extracted (type=3)</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_FlipCoordinates/ST_FlipCoordinates.svg b/docs/image/ST_FlipCoordinates/ST_FlipCoordinates.svg new file mode 100644 index 0000000000..63279446c5 --- /dev/null +++ b/docs/image/ST_FlipCoordinates/ST_FlipCoordinates.svg @@ -0,0 +1,31 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_FlipCoordinates</text> + <line x1="108.97" y1="291.03" x2="391.03" y2="291.03" stroke="#cccccc" stroke-width="1" marker-end="url(#arrowGray)" /> + <text x="399.03" y="295.03" font-size="12" fill="#999999">X</text> + <line x1="108.97" y1="291.03" x2="108.97" y2="8.97" stroke="#cccccc" stroke-width="1" marker-end="url(#arrowGray)" /> + <text x="94.97" y="4.970000000000001" font-size="12" fill="#999999">Y</text> + <circle cx="165.38" cy="65.38" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <text x="173" y="57" font-size="13" fill="#4a90d9" font-weight="bold">(2, 8)</text> + <circle cx="334.62" cy="234.62" r="5" fill="#2ecc71" stroke="#2ecc71" stroke-width="1.5" /> + <text x="343" y="251" font-size="13" fill="#2ecc71" font-weight="bold">(8, 2)</text> + <path d="M 171 67 C 280 150 280 150 341 231" fill="none" stroke="#2ecc71" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#arrowResult)" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Swaps the X and Y coordinates of a geometry</text> + <rect x="128" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="144" y="266" font-size="13" fill="#333333">Input (x,y)</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result (y,x)</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force2D/ST_Force2D.svg b/docs/image/ST_Force2D/ST_Force2D.svg new file mode 100644 index 0000000000..8240fc2b0c --- /dev/null +++ b/docs/image/ST_Force2D/ST_Force2D.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force2D</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">3D (X, Y, Z)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">2D (X, Y)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into 2D (drops Z / M coordinates)</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force3D/ST_Force3D.svg b/docs/image/ST_Force3D/ST_Force3D.svg new file mode 100644 index 0000000000..24f1318607 --- /dev/null +++ b/docs/image/ST_Force3D/ST_Force3D.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force3D</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">2D (X, Y)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">3D (X, Y, Z)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into 3D by adding a Z coordinate</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force3DM/ST_Force3DM.svg b/docs/image/ST_Force3DM/ST_Force3DM.svg new file mode 100644 index 0000000000..284290eb96 --- /dev/null +++ b/docs/image/ST_Force3DM/ST_Force3DM.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force3DM</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">2D (X, Y)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">XYM (X, Y, M)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into XYM mode</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force3DZ/ST_Force3DZ.svg b/docs/image/ST_Force3DZ/ST_Force3DZ.svg new file mode 100644 index 0000000000..4fbaadec51 --- /dev/null +++ b/docs/image/ST_Force3DZ/ST_Force3DZ.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force3DZ</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">2D (X, Y)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">3D (X, Y, Z)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into XYZ mode (alias of ST_Force3D)</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force4D/ST_Force4D.svg b/docs/image/ST_Force4D/ST_Force4D.svg new file mode 100644 index 0000000000..56fd0047eb --- /dev/null +++ b/docs/image/ST_Force4D/ST_Force4D.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force4D</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">2D (X, Y)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">4D (X, Y, Z, M)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into XYZM mode</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_ForceCollection/ST_ForceCollection.svg b/docs/image/ST_ForceCollection/ST_ForceCollection.svg new file mode 100644 index 0000000000..5bece82eff --- /dev/null +++ b/docs/image/ST_ForceCollection/ST_ForceCollection.svg @@ -0,0 +1,26 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_ForceCollection</text> + <path d="M 112.5 218.75 L 222.5 218.75 L 222.5 108.75 L 112.5 108.75 L 112.5 218.75 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" stroke-dasharray="6,3" /> + <path d="M 277.5 191.25 L 387.5 191.25 L 387.5 81.25 L 277.5 81.25 L 277.5 191.25 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" stroke-dasharray="6,3" /> + <path d="M 112.5 218.75 L 222.5 218.75 L 222.5 108.75 L 112.5 108.75 L 112.5 218.75 Z" fill="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <path d="M 277.5 191.25 L 387.5 191.25 L 387.5 81.25 L 277.5 81.25 L 277.5 191.25 Z" fill="rgba(46,204,113,0.25)" stroke="#27ae60" stroke-width="2.5" fill-rule="evenodd" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Converts a geometry into a GeometryCollection</text> + <rect x="100" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="116" y="266" font-size="13" fill="#333333">Input Multi</text> + <rect x="218" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="234" y="266" font-size="13" fill="#333333">Collection elements</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_ForcePolygonCCW/ST_ForcePolygonCCW.svg b/docs/image/ST_ForcePolygonCCW/ST_ForcePolygonCCW.svg new file mode 100644 index 0000000000..c903bb7830 --- /dev/null +++ b/docs/image/ST_ForcePolygonCCW/ST_ForcePolygonCCW.svg @@ -0,0 +1,26 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_ForcePolygonCCW</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(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <line x1="240.0" y1="224.3" x2="260.0" y2="224.3" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="368.9" y1="160.0" x2="368.9" y2="140.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="260.0" y1="75.7" x2="240.0" y2="75.7" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="131.1" y1="140.0" x2="131.1" y2="160.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <text x="226.22" y="164.86" text-anchor="middle" font-size="18" font-weight="bold" fill="#2ecc71">CCW ↺</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Sets exterior ring to counter-clockwise orientation</text> + <rect x="167" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="183" y="266" font-size="13" fill="#333333">Counter-clockwise</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_ForcePolygonCW/ST_ForcePolygonCW.svg b/docs/image/ST_ForcePolygonCW/ST_ForcePolygonCW.svg new file mode 100644 index 0000000000..febd947d70 --- /dev/null +++ b/docs/image/ST_ForcePolygonCW/ST_ForcePolygonCW.svg @@ -0,0 +1,26 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_ForcePolygonCW</text> + <path d="M 131.08 224.32 L 131.08 75.68 L 368.92 75.68 L 368.92 224.32 L 131.08 224.32 Z" fill="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <line x1="131.1" y1="160.0" x2="131.1" y2="140.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="240.0" y1="75.7" x2="260.0" y2="75.7" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="368.9" y1="140.0" x2="368.9" y2="160.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="260.0" y1="224.3" x2="240.0" y2="224.3" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <text x="226.22" y="164.86" text-anchor="middle" font-size="18" font-weight="bold" fill="#2ecc71">CW ↻</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Sets exterior ring to clockwise orientation</text> + <rect x="199" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="215" y="266" font-size="13" fill="#333333">Clockwise</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_ForceRHR/ST_ForceRHR.svg b/docs/image/ST_ForceRHR/ST_ForceRHR.svg new file mode 100644 index 0000000000..0b4e1be4dd --- /dev/null +++ b/docs/image/ST_ForceRHR/ST_ForceRHR.svg @@ -0,0 +1,26 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_ForceRHR</text> + <path d="M 131.08 224.32 L 131.08 75.68 L 368.92 75.68 L 368.92 224.32 L 131.08 224.32 Z" fill="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <line x1="131.1" y1="160.0" x2="131.1" y2="140.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="240.0" y1="75.7" x2="260.0" y2="75.7" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="368.9" y1="140.0" x2="368.9" y2="160.0" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="260.0" y1="224.3" x2="240.0" y2="224.3" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <text x="226.22" y="164.86" text-anchor="middle" font-size="18" font-weight="bold" fill="#2ecc71">CW ↻</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Sets polygon orientation to follow the Right-Hand-Rule (clockwise)</text> + <rect x="199" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="215" y="266" font-size="13" fill="#333333">Clockwise</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Force_2D/ST_Force_2D.svg b/docs/image/ST_Force_2D/ST_Force_2D.svg new file mode 100644 index 0000000000..06a9c79337 --- /dev/null +++ b/docs/image/ST_Force_2D/ST_Force_2D.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Force_2D</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.5" 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="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="152.86" text-anchor="middle" font-size="14" fill="#4a90d9">3D (X, Y, Z)</text> + <text x="226.22" y="170.86" text-anchor="middle" font-size="18" fill="#2ecc71" font-weight="bold">→</text> + <text x="226.22" y="188.86" text-anchor="middle" font-size="14" fill="#2ecc71" font-weight="bold">2D (X, Y)</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Forces the geometry into 2D (drops Z / M coordinates)</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_LineFromMultiPoint/ST_LineFromMultiPoint.svg b/docs/image/ST_LineFromMultiPoint/ST_LineFromMultiPoint.svg new file mode 100644 index 0000000000..9b1d1bf621 --- /dev/null +++ b/docs/image/ST_LineFromMultiPoint/ST_LineFromMultiPoint.svg @@ -0,0 +1,31 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_LineFromMultiPoint</text> + <circle cx="112.5" cy="218.75" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="195.0" cy="108.75" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="305.0" cy="163.75" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="387.5" cy="81.25" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <polyline points="112.5,218.75 195.0,108.75 305.0,163.75 387.5,81.25" fill="none" stroke="#2ecc71" stroke-width="2.5" 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="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Creates a LineString from a MultiPoint geometry</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_LineMerge/ST_LineMerge.svg b/docs/image/ST_LineMerge/ST_LineMerge.svg new file mode 100644 index 0000000000..abbc29a838 --- /dev/null +++ b/docs/image/ST_LineMerge/ST_LineMerge.svg @@ -0,0 +1,36 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_LineMerge</text> + <polyline points="92.86,212.86 187.14,118.57" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="92.86" cy="212.86" r="3" fill="#4a90d9" /> + <circle cx="187.14" cy="118.57" r="3" fill="#4a90d9" /> + <polyline points="187.14,118.57 281.43,181.43" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="187.14" cy="118.57" r="3" fill="#4a90d9" /> + <circle cx="281.43" cy="181.43" r="3" fill="#4a90d9" /> + <polyline points="281.43,181.43 407.14,87.14" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="281.43" cy="181.43" r="3" fill="#4a90d9" /> + <circle cx="407.14" cy="87.14" r="3" fill="#4a90d9" /> + <polyline points="92.86,212.86 187.14,118.57 281.43,181.43 407.14,87.14" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="92.86" cy="212.86" r="3" fill="#2ecc71" /> + <circle cx="187.14" cy="118.57" r="3" fill="#2ecc71" /> + <circle cx="281.43" cy="181.43" r="3" fill="#2ecc71" /> + <circle cx="407.14" cy="87.14" r="3" fill="#2ecc71" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Merges the line work of a MultiLineString into a connected line</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_LineSegments/ST_LineSegments.svg b/docs/image/ST_LineSegments/ST_LineSegments.svg new file mode 100644 index 0000000000..5ad8093964 --- /dev/null +++ b/docs/image/ST_LineSegments/ST_LineSegments.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_LineSegments</text> + <polyline points="88.46,203.85 196.15,123.08 303.85,176.92 411.54,96.15" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="88.46" cy="203.85" r="3" fill="#4a90d9" /> + <circle cx="196.15" cy="123.08" r="3" fill="#4a90d9" /> + <circle cx="303.85" cy="176.92" r="3" fill="#4a90d9" /> + <circle cx="411.54" cy="96.15" r="3" fill="#4a90d9" /> + <polyline points="88.46,203.85 196.15,123.08" 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" /> + <text x="142" y="153" text-anchor="middle" font-size="13" fill="#2ecc71" font-weight="bold">seg 1</text> + <polyline points="196.15,123.08 303.85,176.92" fill="none" stroke="#27ae60" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="196.15" cy="123.08" r="3" fill="#27ae60" /> + <circle cx="303.85" cy="176.92" r="3" fill="#27ae60" /> + <text x="250" y="140" text-anchor="middle" font-size="13" fill="#27ae60" font-weight="bold">seg 2</text> + <polyline points="303.85,176.92 411.54,96.15" fill="none" stroke="#1abc9c" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="303.85" cy="176.92" r="3" fill="#1abc9c" /> + <circle cx="411.54" cy="96.15" r="3" fill="#1abc9c" /> + <text x="358" y="127" text-anchor="middle" font-size="13" fill="#1abc9c" font-weight="bold">seg 3</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Splits a LineString into an array of two-point segments</text> + <rect x="168" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="184" y="266" font-size="13" fill="#333333">Input</text> + <rect x="238" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="254" y="266" font-size="13" fill="#333333">Segments</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_MakeLine/ST_MakeLine.svg b/docs/image/ST_MakeLine/ST_MakeLine.svg new file mode 100644 index 0000000000..468c491d06 --- /dev/null +++ b/docs/image/ST_MakeLine/ST_MakeLine.svg @@ -0,0 +1,31 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_MakeLine</text> + <circle cx="88.46" cy="203.85" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="196.15" cy="123.08" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="303.85" cy="176.92" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <circle cx="411.54" cy="96.15" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <polyline points="88.46,203.85 196.15,123.08 303.85,176.92 411.54,96.15" fill="none" stroke="#2ecc71" stroke-width="2.5" 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="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Creates a LineString from Point or MultiPoint geometries</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_MakePolygon/ST_MakePolygon.svg b/docs/image/ST_MakePolygon/ST_MakePolygon.svg new file mode 100644 index 0000000000..33104edb89 --- /dev/null +++ b/docs/image/ST_MakePolygon/ST_MakePolygon.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_MakePolygon</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(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <polyline points="131.08,224.32 368.92,224.32 368.92,75.68 131.08,75.68 131.08,224.32" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="131.08" cy="224.32" r="3" fill="#4a90d9" /> + <circle cx="368.92" cy="224.32" r="3" fill="#4a90d9" /> + <circle cx="368.92" cy="75.68" r="3" fill="#4a90d9" /> + <circle cx="131.08" cy="75.68" r="3" fill="#4a90d9" /> + <circle cx="131.08" cy="224.32" r="3" fill="#4a90d9" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Creates a Polygon from a closed LineString, optionally with holes</text> + <rect x="100" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="116" y="266" font-size="13" fill="#333333">Input LineString</text> + <rect x="258" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="274" y="266" font-size="13" fill="#333333">Result Polygon</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Multi/ST_Multi.svg b/docs/image/ST_Multi/ST_Multi.svg new file mode 100644 index 0000000000..3b25353149 --- /dev/null +++ b/docs/image/ST_Multi/ST_Multi.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Multi</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(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="226.22" y="164.86" text-anchor="middle" font-size="16" font-weight="bold" fill="#2ecc71" font-style="italic">→ Multi*</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Converts a geometry to its Multi* type</text> + <rect x="155" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="171" y="266" font-size="13" fill="#333333">Result MultiGeometry</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Normalize/ST_Normalize.svg b/docs/image/ST_Normalize/ST_Normalize.svg new file mode 100644 index 0000000000..6a9c363a43 --- /dev/null +++ b/docs/image/ST_Normalize/ST_Normalize.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Normalize</text> + <path d="M 131.08 75.68 L 368.92 75.68 L 368.92 224.32 L 131.08 224.32 L 131.08 75.68 Z" fill="rgba(74,144,217,0.15)" stroke="#4a90d9" stroke-width="2.5" fill-rule="evenodd" stroke-dasharray="6,3" /> + <path d="M 131.08 224.32 L 131.08 75.68 L 368.92 75.68 L 368.92 224.32 L 131.08 224.32 Z" fill="rgba(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Returns the geometry in its canonical normalized form</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Polygon/ST_Polygon.svg b/docs/image/ST_Polygon/ST_Polygon.svg new file mode 100644 index 0000000000..c85edeeb60 --- /dev/null +++ b/docs/image/ST_Polygon/ST_Polygon.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Polygon</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(46,204,113,0.25)" stroke="#2ecc71" stroke-width="2.5" fill-rule="evenodd" /> + <polyline points="131.08,224.32 368.92,224.32 368.92,75.68 131.08,75.68 131.08,224.32" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="131.08" cy="224.32" r="3" fill="#4a90d9" /> + <circle cx="368.92" cy="224.32" r="3" fill="#4a90d9" /> + <circle cx="368.92" cy="75.68" r="3" fill="#4a90d9" /> + <circle cx="131.08" cy="75.68" r="3" fill="#4a90d9" /> + <circle cx="131.08" cy="224.32" r="3" fill="#4a90d9" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Creates a Polygon from a LineString and sets the SRID</text> + <rect x="100" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="116" y="266" font-size="13" fill="#333333">Input LineString</text> + <rect x="258" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="274" y="266" font-size="13" fill="#333333">Result Polygon</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Project/ST_Project.svg b/docs/image/ST_Project/ST_Project.svg new file mode 100644 index 0000000000..5a0c91c3ec --- /dev/null +++ b/docs/image/ST_Project/ST_Project.svg @@ -0,0 +1,37 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Project</text> + <polyline points="190.17,234.62 190.17,65.38" fill="none" stroke="#999999" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="4,3" /> + <circle cx="190.17" cy="234.62" r="3" fill="#999999" /> + <circle cx="190.17" cy="65.38" r="3" fill="#999999" /> + <text x="178" y="61" font-size="13" fill="#999999" font-weight="bold">N</text> + <polyline points="190.17,234.62 309.83,114.95" fill="none" stroke="#2ecc71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5,3" /> + <circle cx="190.17" cy="234.62" r="3" fill="#2ecc71" /> + <circle cx="309.83" cy="114.95" r="3" fill="#2ecc71" /> + <circle cx="190.17" cy="234.62" r="5" fill="#4a90d9" stroke="#4a90d9" stroke-width="1.5" /> + <text x="150" y="251" font-size="13" fill="#4a90d9" font-weight="bold">start</text> + <circle cx="309.83" cy="114.95" r="8" fill="white" stroke="#2ecc71" stroke-width="2.5" /> + <circle cx="309.83" cy="114.95" r="4" fill="#2ecc71" /> + <text x="320" y="105" font-size="13" fill="#2ecc71" font-weight="bold">projected</text> + <text x="260" y="175" font-size="13" fill="#2ecc71" font-style="italic">distance</text> + <path d="M 190.2 209.6 A 25 25 0 0 1 207.8 216.9" fill="none" stroke="#2ecc71" stroke-width="1.5" /> + <text x="204" y="204" text-anchor="middle" font-size="12" fill="#2ecc71" font-style="italic">azimuth</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Projects a point by distance and azimuth to a new location</text> + <rect x="140" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="156" y="266" font-size="13" fill="#333333">Start point</text> + <rect x="258" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="274" y="266" font-size="13" fill="#333333">Projected</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_RemovePoint/ST_RemovePoint.svg b/docs/image/ST_RemovePoint/ST_RemovePoint.svg new file mode 100644 index 0000000000..c42fc73678 --- /dev/null +++ b/docs/image/ST_RemovePoint/ST_RemovePoint.svg @@ -0,0 +1,38 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_RemovePoint</text> + <polyline points="96.51,213.95 198.84,137.21 250.0,86.05 301.16,188.37 403.49,111.63" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="96.51" cy="213.95" r="3" fill="#4a90d9" /> + <circle cx="198.84" cy="137.21" r="3" fill="#4a90d9" /> + <circle cx="250.0" cy="86.05" r="3" fill="#4a90d9" /> + <circle cx="301.16" cy="188.37" r="3" fill="#4a90d9" /> + <circle cx="403.49" cy="111.63" r="3" fill="#4a90d9" /> + <polyline points="96.51,213.95 198.84,137.21 301.16,188.37 403.49,111.63" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="96.51" cy="213.95" r="3" fill="#2ecc71" /> + <circle cx="198.84" cy="137.21" r="3" fill="#2ecc71" /> + <circle cx="301.16" cy="188.37" r="3" fill="#2ecc71" /> + <circle cx="403.49" cy="111.63" r="3" fill="#2ecc71" /> + <line x1="244.0" y1="80.05" x2="256.0" y2="92.05" stroke="#d94a4a" stroke-width="3" stroke-linecap="round" /> + <line x1="256.0" y1="80.05" x2="244.0" y2="92.05" stroke="#d94a4a" stroke-width="3" stroke-linecap="round" /> + <text x="260" y="78" font-size="13" fill="#d94a4a" font-weight="bold">removed</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Removes a point from a LineString at the given index</text> + <rect x="133" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="149" y="266" font-size="13" fill="#333333">Input</text> + <rect x="203" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="219" y="266" font-size="13" fill="#333333">Result</text> + <rect x="281" y="255" width="12" height="12" rx="2" fill="#d94a4a" stroke="#d94a4a" stroke-width="1" /> + <text x="297" y="266" font-size="13" fill="#333333">Removed</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_RemoveRepeatedPoints/ST_RemoveRepeatedPoints.svg b/docs/image/ST_RemoveRepeatedPoints/ST_RemoveRepeatedPoints.svg new file mode 100644 index 0000000000..35dced1906 --- /dev/null +++ b/docs/image/ST_RemoveRepeatedPoints/ST_RemoveRepeatedPoints.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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_RemoveRepeatedPoints</text> + <polyline points="102.24,215.67 200.75,117.16 200.75,117.16 299.25,182.84 299.25,182.84 299.25,182.84 397.76,84.33" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="102.24" cy="215.67" r="3" fill="#4a90d9" /> + <circle cx="200.75" cy="117.16" r="3" fill="#4a90d9" /> + <circle cx="200.75" cy="117.16" r="3" fill="#4a90d9" /> + <circle cx="299.25" cy="182.84" r="3" fill="#4a90d9" /> + <circle cx="299.25" cy="182.84" r="3" fill="#4a90d9" /> + <circle cx="299.25" cy="182.84" r="3" fill="#4a90d9" /> + <circle cx="397.76" cy="84.33" r="3" fill="#4a90d9" /> + <polyline points="102.24,215.67 200.75,117.16 299.25,182.84 397.76,84.33" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="102.24" cy="215.67" r="3" fill="#2ecc71" /> + <circle cx="200.75" cy="117.16" r="3" fill="#2ecc71" /> + <circle cx="299.25" cy="182.84" r="3" fill="#2ecc71" /> + <circle cx="397.76" cy="84.33" r="3" fill="#2ecc71" /> + <circle cx="200.75" cy="117.16" r="9" fill="none" stroke="#d94a4a" stroke-width="2" stroke-dasharray="3,2" /> + <circle cx="299.25" cy="182.84" r="9" fill="none" stroke="#d94a4a" stroke-width="2" stroke-dasharray="3,2" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Removes consecutive duplicate points from a geometry</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">Input</text> + <rect x="191" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="207" y="266" font-size="13" fill="#333333">Result</text> + <rect x="269" y="255" width="12" height="12" rx="2" fill="#d94a4a" stroke="#d94a4a" stroke-width="1" /> + <text x="285" y="266" font-size="13" fill="#333333">Duplicates</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Reverse/ST_Reverse.svg b/docs/image/ST_Reverse/ST_Reverse.svg new file mode 100644 index 0000000000..3140afdcfc --- /dev/null +++ b/docs/image/ST_Reverse/ST_Reverse.svg @@ -0,0 +1,38 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Reverse</text> + <polyline points="112.5,218.75 195.0,108.75 305.0,163.75 387.5,81.25" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="112.5" cy="218.75" r="3" fill="#4a90d9" /> + <circle cx="195.0" cy="108.75" r="3" fill="#4a90d9" /> + <circle cx="305.0" cy="163.75" r="3" fill="#4a90d9" /> + <circle cx="387.5" cy="81.25" r="3" fill="#4a90d9" /> + <line x1="157.3" y1="178.9" x2="169.3" y2="162.9" stroke="#4a90d9" stroke-width="2" marker-end="url(#arrowA)" /> + <line x1="235.7" y1="142.5" x2="253.6" y2="151.5" stroke="#4a90d9" stroke-width="2" marker-end="url(#arrowA)" /> + <line x1="347.7" y1="138.1" x2="361.8" y2="123.9" stroke="#4a90d9" stroke-width="2" marker-end="url(#arrowA)" /> + <polyline points="387.5,81.25 305.0,163.75 195.0,108.75 112.5,218.75" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="387.5" cy="81.25" r="3" fill="#2ecc71" /> + <circle cx="305.0" cy="163.75" r="3" fill="#2ecc71" /> + <circle cx="195.0" cy="108.75" r="3" fill="#2ecc71" /> + <circle cx="112.5" cy="218.75" r="3" fill="#2ecc71" /> + <line x1="361.8" y1="123.9" x2="347.7" y2="138.1" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="253.6" y1="151.5" x2="235.7" y2="142.5" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <line x1="169.3" y1="162.9" x2="157.3" y2="178.9" stroke="#2ecc71" stroke-width="2" marker-end="url(#arrowResult)" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Reverses the vertex order of the geometry</text> + <rect x="144" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="160" y="266" font-size="13" fill="#333333">Input order</text> + <rect x="262" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="278" y="266" font-size="13" fill="#333333">Reversed</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_Segmentize/ST_Segmentize.svg b/docs/image/ST_Segmentize/ST_Segmentize.svg new file mode 100644 index 0000000000..4a55344e0d --- /dev/null +++ b/docs/image/ST_Segmentize/ST_Segmentize.svg @@ -0,0 +1,37 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_Segmentize</text> + <polyline points="88.46,150.0 411.54,150.0" fill="none" stroke="#4a90d9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="88.46" cy="150.0" r="3" fill="#4a90d9" /> + <circle cx="411.54" cy="150.0" r="3" fill="#4a90d9" /> + <polyline points="88.46,150.0 169.23,150.0 250.0,150.0 330.77,150.0 411.54,150.0" fill="none" stroke="#2ecc71" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="88.46" cy="150.0" r="3" fill="#2ecc71" /> + <circle cx="169.23" cy="150.0" r="3" fill="#2ecc71" /> + <circle cx="250.0" cy="150.0" r="3" fill="#2ecc71" /> + <circle cx="330.77" cy="150.0" r="3" fill="#2ecc71" /> + <circle cx="411.54" cy="150.0" r="3" fill="#2ecc71" /> + <circle cx="88.46" cy="150.0" r="5" fill="#2ecc71" /> + <circle cx="169.23" cy="150.0" r="5" fill="#2ecc71" /> + <circle cx="250.0" cy="150.0" r="5" fill="#2ecc71" /> + <circle cx="330.77" cy="150.0" r="5" fill="#2ecc71" /> + <circle cx="411.54" cy="150.0" r="5" fill="#2ecc71" /> + <text x="129" y="136" text-anchor="middle" font-size="13" fill="#2ecc71" font-style="italic">max_length</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Splits long segments to ensure none exceeds the given length</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">Input</text> + <rect x="226" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="242" y="266" font-size="13" fill="#333333">Segmentized</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_SetPoint/ST_SetPoint.svg b/docs/image/ST_SetPoint/ST_SetPoint.svg new file mode 100644 index 0000000000..2459facfc9 --- /dev/null +++ b/docs/image/ST_SetPoint/ST_SetPoint.svg @@ -0,0 +1,37 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_SetPoint</text> + <polyline points="96.51,213.95 198.84,137.21 301.16,188.37 403.49,111.63" fill="none" stroke="#4a90d9" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="6,3" /> + <circle cx="96.51" cy="213.95" r="3" fill="#4a90d9" /> + <circle cx="198.84" cy="137.21" r="3" fill="#4a90d9" /> + <circle cx="301.16" cy="188.37" r="3" fill="#4a90d9" /> + <circle cx="403.49" cy="111.63" r="3" fill="#4a90d9" /> + <polyline points="96.51,213.95 198.84,137.21 301.16,86.05 403.49,111.63" fill="none" stroke="#2ecc71" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /> + <circle cx="96.51" cy="213.95" r="3" fill="#2ecc71" /> + <circle cx="198.84" cy="137.21" r="3" fill="#2ecc71" /> + <circle cx="301.16" cy="86.05" r="3" fill="#2ecc71" /> + <circle cx="403.49" cy="111.63" r="3" fill="#2ecc71" /> + <line x1="301.16" y1="188.37" x2="301.16" y2="86.05" stroke="#d94a4a" stroke-width="2" stroke-dasharray="4,3" marker-end="url(#arrowResult)" /> + <circle cx="301.16" cy="86.05" r="8" fill="white" stroke="#2ecc71" stroke-width="2.5" /> + <circle cx="301.16" cy="86.05" r="4" fill="#2ecc71" /> + <text x="309" y="204" font-size="13" fill="#d94a4a" font-weight="bold">old</text> + <text x="311" y="76" font-size="13" fill="#2ecc71" font-weight="bold">new</text> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Replaces a point in a LineString at the given index</text> + <rect x="176" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="192" y="266" font-size="13" fill="#333333">Input</text> + <rect x="246" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="262" y="266" font-size="13" fill="#333333">Result</text> +</svg> \ No newline at end of file diff --git a/docs/image/ST_ShiftLongitude/ST_ShiftLongitude.svg b/docs/image/ST_ShiftLongitude/ST_ShiftLongitude.svg new file mode 100644 index 0000000000..2d32b171f1 --- /dev/null +++ b/docs/image/ST_ShiftLongitude/ST_ShiftLongitude.svg @@ -0,0 +1,38 @@ +<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="arrowResult" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto"> + <path d="M0,0 L8,3 L0,6" fill="#2ecc71" /> + </marker> + <marker id="arrowA" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#4a90d9" /> + </marker> + <marker id="arrowGray" markerWidth="7" markerHeight="5" refX="7" refY="2.5" orient="auto"> + <path d="M0,0 L7,2.5 L0,5" fill="#999999" /> + </marker> + </defs> + <text x="250" y="22" text-anchor="middle" font-size="16" font-weight="bold" fill="#333333">ST_ShiftLongitude</text> + <rect x="80" y="85" width="340" height="140" fill="none" stroke="#cccccc" stroke-width="1" /> + <line x1="80" y1="85" x2="80" y2="225" stroke="#dddddd" stroke-width="1" /> + <text x="80" y="239" text-anchor="middle" font-size="11" fill="#999999">-180°</text> + <line x1="165" y1="85" x2="165" y2="225" stroke="#dddddd" stroke-width="1" /> + <text x="165" y="239" text-anchor="middle" font-size="11" fill="#999999">-90°</text> + <line x1="250" y1="85" x2="250" y2="225" stroke="#dddddd" stroke-width="1" /> + <text x="250" y="239" text-anchor="middle" font-size="11" fill="#999999">0°</text> + <line x1="335" y1="85" x2="335" y2="225" stroke="#dddddd" stroke-width="1" /> + <text x="335" y="239" text-anchor="middle" font-size="11" fill="#999999">90°</text> + <line x1="420" y1="85" x2="420" y2="225" stroke="#dddddd" stroke-width="1" /> + <text x="420" y="239" text-anchor="middle" font-size="11" fill="#999999">180°</text> + <circle cx="99" cy="155" r="5" fill="#4a90d9" /> + <text x="99" y="145" text-anchor="middle" font-size="12" fill="#4a90d9" font-weight="bold">-160°</text> + <circle cx="269" cy="155" r="5" fill="#2ecc71" /> + <text x="269" y="145" text-anchor="middle" font-size="12" fill="#2ecc71" font-weight="bold">200°</text> + <path d="M 105 159 C 184 195 184 195 263 159" fill="none" stroke="#2ecc71" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#arrowResult)" /> + <text x="250" y="292" text-anchor="middle" font-size="13" fill="#333333" font-style="italic">Shifts longitude values between -180..0 and 180..360 ranges</text> + <rect x="88" y="255" width="12" height="12" rx="2" fill="#4a90d9" stroke="#4a90d9" stroke-width="1" /> + <text x="104" y="266" font-size="13" fill="#333333">Input (-180..0)</text> + <rect x="238" y="255" width="12" height="12" rx="2" fill="#2ecc71" stroke="#2ecc71" stroke-width="1" /> + <text x="254" y="266" font-size="13" fill="#333333">Shifted (180..360)</text> +</svg> \ No newline at end of file
