SQL Server 上的查询过滤器 (ArcGIS Pro)

问题描述 投票:0回答:1

目前我正在尝试将 Oracle 数据库上的旧查询过滤器升级到 SQL 服务器。旧查询如下:

select * from table.a a, table.b b WHERE sdo_relate(a.shape, b.shape, 'mask=anyinteract')='TRUE'

现在我发现 sdo_relate 不是 SQL Server 的函数。从互联网上我可以看出我需要使用 ST_Relate。但是我找不到正确的方法来查询这个。

我想要的答案: 我想要完全相同的查询,其中几何 b(多边形)边界内的表 a 中的所有矢量特征都被选择或剪切。

特别之处: 还有一个额外的问题。而表 B 专门用于我需要的边界的几何形状(多边形)。然而,这已更改为多个边界,所以现在我需要表 B 中的特殊层(选择)。

有谁可以帮助我,并请解释如何在 SQLserver 上构建此 SQL 过滤器。

查询过滤器在 ArcGIS Pro 中使用。

sql sql-server oracle arcgis
1个回答
1
投票

你只需做

someGeometryColumn.STRelate(otherColumn, ...
。我不确定掩码语法,它使用 DE9IM,我不知道这与你想要的有什么关系。

select *
from tablea a
join tableb b on a.shape.STRelate(b.shape, 'Some DE9IM pattern here') = 1;
© www.soinside.com 2019 - 2024. All rights reserved.