将postgis中的多边形拆分或分割为两个相等的区域

时间:2016-07-06 08:56:41

标签: postgis

我试图从postgis合并和拆分多边形。合并有效,但我不知道如何将多边形分成两部分。

我尝试过使用此查询,但未分割

insert into edited values('2','338',
 (SELECT ST_ASText(geom_part2) FROM(
WITH RECURSIVE ref(geom, env) AS (
  SELECT geom,
  ST_Envelope(geom) As env,
  ST_Area(geom)/2 As targ_area,
  1000 As nit
  FROM plots
  WHERE plot_no = 338 limit 1
),
T(n,overlap) AS (
  VALUES (CAST(0 As Float),CAST(0 As Float))
  UNION ALL
  SELECT n + nit, ST_Area(ST_Intersection(geom, ST_Translate(env, n+nit, 0)))
  FROM T CROSS JOIN ref
  WHERE ST_Area(ST_Intersection(geom, ST_Translate(env, n+nit, 0)))>      
  ref.targ_area
),  
bi(n) AS(
  SELECT n
  FROM T
  ORDER BY n DESC LIMIT 1
)  
SELECT bi.n,
ST_Difference(geom, ST_Translate(ref.env, n,0)) As geom_part1,
ST_Intersection(geom, ST_Translate(ref.env, n,0)) As geom_part2
FROM bi CROSS JOIN ref) AS TT));

0 个答案:

没有答案