Skip to main content
It works the same as ST_SubDivide but returns new rows with geometries instead of list. A minimum of 5 vertices is required for maxVertices parameter to form a closed box. ST_SubDivideExplode

Signatures

ST_SubDivideExplode(geom: Geometry, maxVertices: Integer)

Parameters

geom
Geometry
required
The input geometry.
maxVertices
Integer
required
The maximum number of vertices.

Return type

The resulting geometry.

Examples

Query:
SELECT ST_SubDivideExplode(ST_GeomFromText("LINESTRING(0 0, 85 85, 100 100, 120 120, 21 21, 10 10, 5 5)"), 5)
+-----------------------------+
|geom                         |
+-----------------------------+
|LINESTRING(0 0, 5 5)         |
|LINESTRING(5 5, 10 10)       |
|LINESTRING(10 10, 21 21)     |
|LINESTRING(21 21, 60 60)     |
|LINESTRING(60 60, 85 85)     |
|LINESTRING(85 85, 100 100)   |
|LINESTRING(100 100, 120 120) |
+-----------------------------+
Using Lateral View Table:
+-------------------------------------------------------------+
|geometry                                                     |
+-------------------------------------------------------------+
|LINESTRING(0 0, 85 85, 100 100, 120 120, 21 21, 10 10, 5 5)  |
+-------------------------------------------------------------+
Query
select geom from geometries LATERAL VIEW ST_SubdivideExplode(geometry, 5) AS geom
+-----------------------------+
|geom                         |
+-----------------------------+
|LINESTRING(0 0, 5 5)         |
|LINESTRING(5 5, 10 10)       |
|LINESTRING(10 10, 21 21)     |
|LINESTRING(21 21, 60 60)     |
|LINESTRING(60 60, 85 85)     |
|LINESTRING(85 85, 100 100)   |
|LINESTRING(100 100, 120 120) |
+-----------------------------+