Name

ST_Segmentize — 返回线段长度不超过给定距离的修改后的几何图形/地理图形。

Synopsis

geometry ST_Segmentize(geometry geom, float max_segment_length);

geography ST_Segmentize(geography geog, float max_segment_length);

描述

返回线段长度不超过给定值的已修改几何 max_segment_length 。距离计算仅在2维时间内执行。对于几何图形,长度单位使用空间参考单位。对于地理,单位以米为单位。

可用性:1.2.2

增强:3.0.0分段几何体现在使用等长分段

增强:2.3.0分段地理现在使用等长分段

增强:2.1.0引入了对地理位置的支持。

更改:2.1.0由于引入了地理支持:构造 SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5); 将导致二义性函数错误。您需要具有正确类型的对象,例如几何/地理列,请使用ST_GeomFromText、ST_GeogFromText或 SELECT ST_Segmentize('LINESTRING(1 2, 3 4)'::geometry,0.5);

[Note]

这只会增加细分市场。它不会加长短于最大长度的线段

示例

SELECT ST_AsText(ST_Segmentize(
ST_GeomFromText('MULTILINESTRING((-29 -27,-30 -29.7,-36 -31,-45 -33),(-45 -33,-46 -32))')
                ,5)
);
st_astext
--------------------------------------------------------------------------------------------------
MULTILINESTRING((-29 -27,-30 -29.7,-34.886615700134 -30.758766735029,-36 -31,
-40.8809353009198 -32.0846522890933,-45 -33),
(-45 -33,-46 -32))
(1 row)

SELECT ST_AsText(ST_Segmentize(ST_GeomFromText('POLYGON((-29 28, -30 40, -29 28))'),10));
st_astext
-----------------------
POLYGON((-29 28,-29.8304547985374 37.9654575824488,-30 40,-29.1695452014626 30.0345424175512,-29 28))
(1 row)

                        

另请参阅

ST_LineSubstring