繁体   English   中英

Postgis使用点分割多边形

[英]postgis split polygon using points

我想使用点将其提取来提取多边形部分。 我见过ST_Dump和ST_Split,但是它们似乎并没有解决问题。 我是否应该创建更多点以创建线段并使用st_split剪切它们? 我认为那太多了,但如有必要,我会做:)

任何建议都很好:)干杯,A

那么,您要从多边形的每个边得到线串吗? 如果是这样,我想我有一个答案。

首先:我将创建一个将所有多边形作为线串的视图。 如您所指出的,您可以使用ST_Boundary。 (这样第二个查询就容易写和读)

CREATE VEIW my_linestrings as 
    SELECT id,..., ST_BOUNDARY(the_geom) 
    FROM <yourtable>

第二:因为它是线串,所以您可以使用ST_POINTN获得第n个点,并使用ST_MAKELINE形成两段线。

SELECT id,..., ST_MakeLine(ST_PointN(the_geom,x),ST_PointN(the_geom,x+1))
FROM my_linestrings

ST_MakeLine将为您提供线串段。 您可以在python中进行循环以遍历所有要点。 如果您需要做很多事情,那么最好使用这些段创建一个新表。

另外,也可以通过gis.stackexchange.com加入我们;) 这个问题与您的问题相似,并且使用SQL创建了一系列遍历所有几何形状的序列(而不是python)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM