SQL Server空间查询如何获取两形状交集并计算其面积
需求实现方法
使用SQL Server geometry类型内置的STIntersection()方法即可获取两个几何对象的重叠交集图形,搭配STArea()即可直接计算重叠区域面积,具体实现如下:
完整查询语句
SELECT -- 提取两个图形的重叠区域 b1.Shape.STIntersection(b2.Shape) AS OverlapGeom, -- 计算重叠区域面积,单位与Shape字段的空间参考单位一致 b1.Shape.STIntersection(b2.Shape).STArea() AS OverlapArea FROM dbo.BndPrimarySchoolZone b1 INNER JOIN dbo.BndPrimarySchoolZone b2 ON b1.Shape.STIntersects(b2.Shape) = 1 WHERE b1.ncessch = 250315000417 AND b2.ncessch = 250315000421;
结果说明
- 返回的
OverlapGeom字段就是两个学区重叠区域的独立geometry图形,单独查询该字段即可在「空间结果」标签中查看重叠区域 - 返回的
OverlapArea为重叠区域的面积:如果你的Shape字段使用的是投影坐标系,返回值单位为坐标系对应的长度单位的平方(常见为平方米);如果使用地理坐标系(WGS84等),返回值为球面面积,单位为平方米
内容的提问来源于stack exchange,提问作者July.Tech
相关产品推荐
相关产品推荐

