postgresql判断建筑物在a缓冲区而不在b缓冲区
时间: 2024-05-11 07:14:37 浏览: 73
导入osm数据到postgres工具_gis postgis.
假设你已经有了一个名为a和一个名为b的缓冲区,可以使用以下SQL查询语句来判断建筑物是否在a缓冲区而不在b缓冲区:
```sql
SELECT *
FROM buildings
WHERE ST_Contains(a.geom, buildings.geom)
AND NOT ST_Contains(b.geom, buildings.geom);
```
其中,buildings是你存储建筑物信息的表,a.geom和b.geom是a和b缓冲区的几何属性。该查询语句首先使用ST_Contains函数判断建筑物是否在a缓冲区内,然后使用NOT关键字排除在b缓冲区内的建筑物。最后,该查询语句返回所有在a缓冲区内但不在b缓冲区内的建筑物信息。
阅读全文