ST_Segmentize — 返回线段长度不超过给定距离的修改后的几何图形/地理图形。
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);
![]() | |
这只会增加细分市场。它不会加长短于最大长度的线段 |
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)