我有以下SQL代码在PostgreSQL中执行PostGIS的一些空间操作。
SELECT
ST_Dump(
ST_SymDifference(a.geom, b.geom)
)
FROM smp_areas a, smp_areas b
它以复合类型的格式返回给我,它由两部分组成:
如何仅获取第二部分(在这种情况下,该部分包含我需要的几何图形)?
Ps:我读过,可以像下面这样重新安排:
SELECT * FROM( myquery ) as alias;
我尝试过,但返回了相同的结果。 有人可以帮忙吗?
答案 0 :(得分:3)
要访问几何,需要在ST_Dump()周围加上多余的括号并添加.geom
。像这样:
SELECT
(ST_Dump(
ST_SymDifference(a.geom, b.geom)
)).geom
FROM smp_areas a, smp_areas b
答案 1 :(得分:0)
您可以用类似的方式包装该查询
Select * from (my query) as alias where geometry_dump
Like '{2}%'
P.s。以上是sql服务器格式,因此可能无法直接转换为postgres。