我想用点来提取多边形部分来切割它。 我见过ST_Dump和ST_Split,但他们似乎没有做到这一点。我应该创建更多的点来创建线段并使用st_split来剪切它们吗?我认为这太多了,但如果有必要,我会这样做:)
任何建议都会很好:) 干杯, 甲
答案 0 :(得分:0)
那么,你想要每条边的线串是多边形吗?如果这是真的,我想我有答案。
首先:我会创建一个视图,其中包含所有多边形作为线串。正如您所指出的,您可以使用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;)This question与您的类似,并使用SQL创建一个循环遍历所有几何(而不是python)的系列。