按属性和位置进行查找工具用于执行空间和属性查询,以查找满足指定条件的要素或要素部分。
运算符
“按属性和位置进行查找”会在属性和空间查询中使用运算符。
属性运算符
存在多种可用于属性查询的运算符,具体取决于您所查询的字段是分类字段还是数字字段。
如果字段为字符串,则可以使用以下运算符:
- 等于 - 与指定文本匹配的字符串。
- 不等于 - 与指定文本不匹配的字符串。
- 属于 - 与其中一个指定文本值匹配的字符串。
- 不属于 - 与任何指定文本值均不匹配的字符串。
- 包含 - 包含提供的文本的字符串。
- 不包含 - 不包含提供的文本的字符串。
- 开头是 - 开头为指定文本的字符串。
- 开头不是 - 开头不是指定文本的字符串。
- 结尾是 - 末尾为指定文本的字符串。
- 结尾不是 - 末尾不是指定文本的字符串。
- 为空 - 不含文本的非 null 字符串。
- 不为空 - 包含一些文本的非 null 字符串。
- 是空字符串 - 值为 null 或不含文本的字符串。
- 不是空字符串 - 包含一些文本或值为 null 的字符串。
如果字段为数字字段,则您可以使用以下运算符:
- 介于 - 介于两个指定值之间的数字。
- 不介于 - 不在两个指定值之间的数字。
- 等于 - 与指定值匹配的数字。
- 不等于 - 与指定值不匹配的数字。
- 属于 - 与其中一个指定值匹配的字符串。
- 不属于 - 与任何指定值均不匹配的字符串。
- 大于 - 大于指定值的数字。
- 最小为 - 等于或大于指定值的数字。
- 小于 - 小于指定值的数字。
- 最大为 - 小于或等于指定值的数字。
- 为空 - 与指定值匹配的数字。
- 不为空 - 具有一定值的数字。
如果字段为日期,则可以使用以下运算符:
- 介于 - 介于两个指定日期之间的日期。
- 不介于 - 不在两个指定日期之间的日期。
- 在 - 与指定日期相同的日期。
- 不在 - 与指定日期不同的日期。
- 早于 - 早于指定日期的日期。
- 晚于 - 晚于指定日期的日期。
- 为空 - 为 null 的日期。
- 不为空 - 不为 null 的日期。
空间运算符
空间表达式通过指定完全位于或相交等运算符进行创建。
您可以在空间查询中使用以下空间运算符:
- 相交 - 如果第一个图层中的要素与第二个图层中的要素相交,则会将第一个图层中的要素包括到输出中。
- 不相交 - 如果第一个图层中的要素与第二个图层中的要素相交,则不会将第一个图层中的要素包括到输出中。
- 在某一距离范围内 - 如果第一个图层中的要素的任意部分处在第二个图层中要素的特定距离范围内,则选择第一个图层中的要素(包括到输出中);例如,位于河流 100 米距离范围内的宗地将包括到输出中。
- 不在某一距离范围内 - 如果第一个图层中的要素在另一要素的某一距离范围内,则将排除第一个图层中的要素(不将其包括到输出中);例如,位于河流 100 米距离范围内的宗地将不会包括到输出中。 您可将此关系视为“该要素比指定距离更远”。
- 完全包含 - 如果第一个图层中的要素完全包含第二个图层中的要素,则会将第一个图层中的要素包括到输出中。
- 不完全包含 - 如果第一个图层中的要素完全包含第二个图层中的要素,则不会将第一个图层中的要素包括到输出中。
- 完全位于 - 如果第一个图层中的要素完全位于第二个图层的要素中,则会将第一个图层中的要素包括在输出中。
- 不完全位于 - 如果第一个图层中的要素完全位于第二个图层的要素中,则不会将第一个图层中的要素包括在输出中。
- 最邻近 - 如果第一个图层中的要素最邻近第二个图层的要素,则会将第一个图层中的要素包括在输出中。
查询构建器
要构建查询,单击构建新查询按钮。
首先,选择要从中查找要素的图层。 接下来,选择先使用属性表达式还是空间表达式。 每个属性查询包含一个字段名称、一个运算符以及一个值。 每个空间表达式包含一个运算符和第二个图层。 在第二个图层下,可使用 + 表达式按钮添加表达式,以进一步细化第二个图层中要在原始空间表达式中使用的要素。
例如,您可以在一个包含城市犯罪事件数据(盗窃、纵火、袭击等)的图层上创建查询,以仅显示盗窃事件点: 请按照以下步骤创建属性表达式:
- 对于字段名称,选择犯罪类型。
- 对于运算符,选择等于。
- 对于值,写入或选择 Theft。
利用另一个表示面包店的图层,可以进一步细化查询,以寻找在甜甜圈商店周围 100 米范围内发生的盗窃。 如下所示添加空间表达式:
- 对于运算符,选择在某一距离内,然后输入 100 米。
- 对于图层,选择面包店图层。
- 单击 + 表达式按钮,然后选择属性表达式。
- 在 Where 语句组中,选择 Shop Type 作为字段名称,保持运算符等于不变,然后写入或选择 Donut shops 作为值。
如果查询具有多个表达式,则必须选择一个匹配选项以连接这些表达式。 在上述示例中,将选择以下全部为真选项。 这意味着当应用表达式时,将仅返回与所有表达式匹配的要素,在此情况中为甜甜圈商店周围 100 米范围内的盗窃。
其他查询可能需要以下某一项为真选项。 例如,要显示甜甜圈商店周围 100 米范围内的所有盗窃和任意犯罪,选择以下某一项为真。
表达式组
要创建更加复杂的查询,您可以使用表达式组对多个表达式进行分组。 分组表达式的方式决定了您要查找的内容。 您最多可以创建三层分组。
例如,您可以使用表达式组进一步细化上述犯罪事件过滤器。 要显示在甜甜圈商店周围 100 米范围内报告的纵火和盗窃事件,您可以创建表达式组来查找纵火或盗窃事件。 在该组内,使用以下某一项为真选项。 然后,在组外部,添加一个空间表达式以查找甜甜圈商店 100 米范围内的要素。