gou*_*aik 12 sql gis postgresql postgis
我在PostgreSQL/PostGIS中有一个多边形数据表.现在我需要将此Polygon数据转换为相应的线段.任何人都可以告诉我如何使用PostGIS查询转换它.
提前致谢
mlo*_*kot 20
通常,将多边形转换为直线可能并不简单,因为没有一对一的映射,并且多边形的各种元素映射到不同的线串(外环,内环等).
考虑到这一点,您需要按照这样的可能方法分别拆分每个:
SELECT ST_AsText( ST_MakeLine(sp,ep) )
FROM
-- extract the endpoints for every 2-point line segment for each linestring
(SELECT
ST_PointN(geom, generate_series(1, ST_NPoints(geom)-1)) as sp,
ST_PointN(geom, generate_series(2, ST_NPoints(geom) )) as ep
FROM
-- extract the individual linestrings
(SELECT (ST_Dump(ST_Boundary(geom))).geom
FROM mypolygontable
) AS linestrings
) AS segments;
Run Code Online (Sandbox Code Playgroud)
根据存储的多边形数据mypolygontable
,您可能不仅要转储边界(如上所述ST_Boundary
),还要转储其他元素.上面的代码更详细的概述来自postgis-users列表:将多边形拆分为N个线串
对于在PostGIS中将线串或多边形爆炸成单个矢量所解释的问题,还有一种通用的方法
归档时间: |
|
查看次数: |
9855 次 |
最近记录: |