“查找现有位置”用于在分析图层中根据查询查找要素。查询由一个或多个表达式组成。存在两种类型的表达式:属性与空间。
属性表达式的一个示例为宗地必须闲置,它是宗地图层的属性(where STATUS = 'VACANT')。空间表达式的一个示例是宗地还必须位于河流的一定距离范围内(Parcels within a distance of 0.75 Miles from Rivers)。
构建查询后,单击运行分析。结果图层中将包含分析图层中满足查询条件的要素。
构建表达式
要构建表达式,请单击添加表达式按钮打开添加表达式对话框。
属性表达式
此处列出了可在表达式中使用的图层。最初,只能选择分析图层。在建立与其他图层的空间关系之后(例如,Parcels completely within City Boundaries),下拉菜单中将列出其他图层。 | |
这是表达式类型。对于属性表达式,请选择(属性查询)位置。 | |
从列表中选择要查询的字段。 | |
为表达式选择运算符。 | |
|
注:
- 如果任意图层应用了过滤器,则只有满足过滤表达式的图层才会应用到分析中。
空间表达式
空间表达式是通过选择诸如完全在其他要素范围内或相交等表达式类型(完整的列表可在下文中找到)创建的。
在选择空间表达式类型时,添加表达式对话框会根据您选择的表达式类型而有所改变。
第一个图层。最初,只能选择分析图层。在建立与其他图层的空间关系之后(例如,Parcels completely within Community Boundaries),下拉菜单中将列出其他图层。 | |
空间表达式类型。有关每种空间表达式类型的详细信息,请参阅下文。 | |
第二个图层。这些是地图中的其他图层。 |
已完成查询示例
本示例查询摘自 Understanding GIS 和 An ArcGIS Project Workbook 一书。此书的前提是假设您正在洛杉矶市寻找适合开发为公园的闲置宗地。合适的公园位置需满足以下条件:
- 宗地必须闲置。
- 其位置必须在洛杉矶的城市范围内。
- 其面积必须大于一英亩。
- 宗地中的一些部分必须距离洛杉矶河 0.75 英里以内。
- 宗地必须至少距现有的公园 0.25 英里远。
下图中的“查找现有位置”查询根据以上条件使用了名为“宗地”、“河流”和“城市边界”的图层:
注:
- 表达式顺序不会影响分析结果。
- 可通过单击分组与取消分组按钮 对表达式进行分组与取消分组。为了能够创建分组,请选择两个或两个以上表达式,然后单击分组按钮。有关分组的详细信息可在下文中找到。
- 单击 可以将运算符切换为 。单击 可以将运算符切换为 。
空间表达式类型
空间表达式可在两个图层之间建立关系。如果需要在同一图层的要素之间建立空间关系(例如,希望选择在工业用宗地某一距离范围内的闲置宗地),请复制宗地图层并将其添加到您的地图中,这样您便拥有两个使用同一宗地要素的图层。
在某一距离范围内/不在某一距离范围内
在某一距离范围内的关系使用第一个图层中要素与第二个图层中要素之间的直线距离。
- 在某一距离范围内 - 如果第一个图层中的要素的任意部分处在第二个图层中要素的特定距离范围内,则选择第一个图层中的要素(包括到输出中);例如,位于河流 100 米距离范围内的宗地将包括到输出中。
- 不在某一距离范围内 - 如果第一个图层中的要素在另一要素的某一距离范围内,则将排除第一个图层中的要素(不将其包括到输出中);例如,位于河流 100 米距离范围内的宗地将不会包括到输出中。您可将此关系视为“距离大于”。
注:
- 计算的距离为要素的最近部分之间的距离。在上面的示例中宗地必须位于洛杉矶河 0.75 英里范围内,如果宗地任意部分在 0.75 英里范围内,则选择该宗地。如果条件为整个宗地必须在 0.75 英里距离范围内,则应使用“创建缓冲区”工具在洛杉矶河 0.75 英里距离范围内创建新图层。然后,创建一个宗地完全位于缓冲图层范围内的表达式。
完全包含/不完全包含
如果第一个图层中的要素能够完全包围第二个图层中的要素,则第一个图层中的要素通过该测试。被包含的要素不得有任何部分位于包含要素之外;但允许被包含要素与包含要素相接触(即,沿边界共享公共点)。
- 完全包含 - 如果第一个图层中的要素包含第二个图层中的要素,则会将第一个图层中的要素包括到输出中。
- 不完全包含 - 如果第一个图层中的要素包含第二个图层中的要素,则不会将第一个图层中的要素包括到输出中。
示例:
- 您拥有宗地图层(第一个图层)和另一个表示井的点图层(第二个图层),您希望查找含有井的宗地。可以使用完全包含来查找含有井的宗地。
- 您拥有宗地图层和表示有毒废弃物场地的点图层。您希望查找不含有毒废弃物场地的宗地。可以使用不完全包含来查找不含有毒废弃物场地的宗地。
注:
- 可将此包含关系用于点和线。例如,您拥有街道中心线(线)图层和检修孔盖(点)图层,且您希望查找包含检修孔盖的街道。可以使用完全包含来查找包含检修孔盖的街道,但为了使线能够包含点,点必须正好位于该线上(即,在 GIS 术语中,它们互相捕捉)。如果对此存在任何疑问,请在在一定距离范围内关系中使用适当的距离值。
完全在其他要素范围内/不完全在其他要素范围内
如果第一个图层中的要素能够被第二个图层中的要素完全包围,则第一个图层中的要素通过该测试。第一个图层中的整个要素都必须位于包含要素之内;但允许这两个要素相接触(即,沿边界共享公共点)。
- 完全在其他要素范围内 - 如果第一个图层中的要素完全位于第二个图层的要素中,则会将第一个图层中的要素包括在输出中。
- 不完全在其他要素范围内 - 如果第一个图层中的要素完全位于第二个图层的要素中,则不会将第一个图层中的要素包括在输出中。
示例:
- 您拥有待售房屋(点)图层和包含特定学区的图层,并希望只查找完全在学区要素范围内的房屋。
- 您拥有闲置宗地图层(第一个图层)和另一个城市边界图层(第二个图层)。您的任务是查找城市边界以外的闲置宗地。可以使用不完全在其他要素范围内来查找不在任何城市边界以内(即在边界以外)的宗地。
注:
- 和包含关系一样,此范围内关系也可用于点和线。例如,您的第一个图层中包含表示检修孔盖的点,且您希望查找位于街道中心线上的检修孔(相对于停车场或其他非街道要素)。可以使用完全在其他要素范围内来查找街道中心线中的检修孔点,但为了使点能够包含线,点必须正好位于该线上(即,在 GIS 术语中,它们互相捕捉)。如果对此存在任何疑问,请在在一定距离范围内关系中使用适当的距离值。
相交/不相交
如果第一个图层中的要素与第二个图层中要素的任何部分相重叠,包括相接触(要素共享公共点),则第一个图层中的要素将通过此相交测试。
- 相交 - 如果第一个图层中的要素与第二个图层中的要素相交,则会将第一个图层中的要素包括到输出中。
- 不相交 - 如果第一个图层中的要素与第二个图层中的要素相交,则不会将第一个图层中的要素包括到输出中。
示例:
- 您拥有宗地图层和河流图层。您希望查找有常流河流过或与常流河相接触的宗地。可以使用相交来查找有河流流过的宗地。
- 您拥有宗地图层和 100 年一遇的洪泛区图层。要查找没有任何宗地部分位于 100 年一遇的洪泛区之内的宗地,可以使用不相交。
分组
可使用分组按钮 将两个或两个以上的连续表达式分为一组。按 Shift 键并单击表达式可选择要分组的表达式。
下面是一个需要进行分组的示例:
- 您拥有包含有毒化学物质的站点的点图层。每个点都具有属性 CHEMICAL,其中包含该站点中已知存在的有毒化学物质的名称。
- 您希望查找位于河流附近的含水银或硒的有毒站点。
- 您还希望查找位于公园附近的含苯或铅的有毒站点。
上面的示例在同一有毒站点图层中创建了两组要素:公园附近的有毒站点和河流附近的有毒站点。这两组要素彼此之间是独立的。
由于河流附近的有毒站点组与公园附近的有毒站点之间是独立的,您可能希望使用分组构建查询。图 1 显示了未进行任何分组或逻辑运算符修改(逻辑运算符均为 )的初始查询或。此查询的结果是同时位于公园及河流一千米范围内的有毒站点。这并不是我们想要的结果 - 我们希望得到一组位于河流一千米距离范围内的有毒站点,以及另一组位于公园一千米距离范围内的有毒站点。
要构建满足上述条件的查询,需要创建分组。每个分组构成一个子查询,其结果将与之前的表达式相结合。
由选择前两个属性表达式开始,如图 2 所示。
在选择这两个属性表达式后,单击分组按钮 。该组会发生缩进,如图 3 所示。
选择第二组属性表达式,如图 3 所示。
在选择第二组之后,单击分组按钮。
最后,选择第二组属性表达式及其所属的空间表达式,如图 4 所示。
单击分组按钮,查询会发生缩进,如图 5 所示。最后一步,将 切换为 ,如图 5 所示。
图 5 中显示的查询将生成所需的结果。
- 查找到具有铅或苯的有毒站点,这些要素是查找位于公园一千米距离范围内的有毒站点的子集。
- 接下来,查找到具有硒或水银的有毒站点,这些要素是查找位于河流一千米距离范围内的有毒站点的子集。
- 最后,使用逻辑 对这两组要素进行组合。
只有需要在同一图层中创建两组或两组以上不同的要素时才需要进行表达式分组。可以这样理解分组:如果不分组,则需要执行两遍“查找当前位置”,第一遍用于查找位于河流附近的站点,第二遍用于查找位于公园附近的站点,然后使用“合并”工具对这两个结果进行组合。
可单击文本按钮 以查看查询的文本表达。文本表达使用括号来表示组。