ST_Simplify — 与えられたジオメトリを「簡略化」したものを返します.Douglas-Peukerを使用します.
geometry ST_Simplify(
geometry geomA, float tolerance)
;
与えられたジオメトリを「簡略化」したものを返します.Douglas-Peukerを使用します. (MULTI)LINEと(MULTI)POLYGONとで実際に動作をしますが,どのような種類のジオメトリでも安全に呼ぶことができます. 簡略化はオブジェクトごとの基礎で発生するので,ジオメトリコレクションで,この関数を呼ぶことができます.
![]() | |
返されるジオメトリは単純さ(ST_IsSimple参照)を失うことがあります.トポロジを保存するにはST_SimplifyPreserveTopologyを使います. |
GEOSモジュールで実行しています
Availability: 1.2.2
簡略化をやりすぎて三角形になった円,八角形になる円です.
SELECT ST_Npoints(the_geom) As np_before, ST_NPoints(ST_Simplify(the_geom,0.1)) As np01_notbadcircle, ST_NPoints(ST_Simplify(the_geom,0.5)) As np05_notquitecircle, ST_NPoints(ST_Simplify(the_geom,1)) As np1_octagon, ST_NPoints(ST_Simplify(the_geom,10)) As np10_triangle, (ST_Simplify(the_geom,100) is null) As np100_geometrygoesaway FROM (SELECT ST_Buffer('POINT(1 3)', 10,12) As the_geom) As foo; -result np_before | np01_notbadcircle | np05_notquitecircle | np1_octagon | np10_triangle | np100_geometrygoesaway -----------+-------------------+---------------------+-------------+---------------+------------------------ 49 | 33 | 17 | 9 | 4 | t