Skip To Content

派生新位置

“派生新位置”可用于基于查询创建新要素。查询由一个或多个表达式组成。存在两种类型的表达式:属性与空间。

注意

查找现有位置工具和派生新位置工具的主要区别在于派生新位置的结果可包含部分要素。

  • 在两种工具中,属性表达式位置和空间表达式完全在其他要素范围内完全包含会返回相同的结果。这是因为这些表达式都返回整个要素。
  • 使用相交在某一距离范围内时,派生新位置将在输出结果图层中创建新要素。

例如,属性表达式,国家公园的名称一定是黄石(where Name = 'Yellowstone NP')。例如,空间表达式,国家公园边界必须与猞猁栖息地所在图层中的要素相交(国家公园与猞猁栖息地相交)。此空间表达式的结果如下图所示。

黄石国家公园与主要猞猁栖息地相交

构建查询后,单击运行分析。结果图层将包含新派生的满足查询条件的要素。

构建表达式

要构建表达式,请单击添加表达式按钮打开添加表达式对话框。

属性表达式

添加属性表达式示例
属性表达式的“添加表达式”对话框

输入图层

此处列出了可在表达式中使用的图层。将提供内容列表中的所有图层。

表达式类型

这是表达式类型。对于属性表达式,请选择(属性查询)位置

字段

从列表中选择要查询的字段。

运算符

为表达式选择运算符。

值、字段或唯一值

  • 如果想根据特定值查找要素,请选择,然后在输入框中输入值。
  • 如果想要对一个字段中的值和另一个字段中的值进行比较,则选择字段,单击下拉箭头,然后选择表达式的字段。例如,在上图中,将查找值“POP UNDER 18”大于值“POP OVER 18”的要素。
  • 如果想要根据为表达式选择的字段中的特定值查找要素,可选择唯一值,然后从字段中选择唯一值。唯一值过滤器要求要素服务使用 ArcGIS Desktop 10.1 或更高版本进行发布。

  • 如果任意图层应用了过滤器,则只有满足过滤表达式的要素才会应用到分析中。

空间表达式

空间表达式是通过选择诸如完全在其他要素范围内相交等表达式类型(完整的列表可在下文中找到)创建的。

在选择空间表达式类型时,添加表达式对话框会根据您选择的表达式类型而有所改变。

空间表达式
空间表达式的“添加表达式”对话框

第一个图层

第一个图层。

表达式类型

空间表达式类型。有关每种空间表达式类型的详细信息,请参阅下文

第二个图层

第二个图层。这些是地图中的其他图层。

已完成查询示例

本示例查询摘自 The Esri Guide to GIS Analysis 一书。本示例旨在基于一系列条件派生新的区域作为美洲狮的主要栖息地。美洲狮的主要栖息地条件包含:

  • 美洲狮偏爱陡峭地形。
  • 地形必须覆盖有森林。
  • 该位置必须距离溪流 2,500 英尺以内。
  • 该位置必须距离高速公路 2,500 英尺以外。

下图演示了如何使用植被、坡度、溪流和高速公路等图层基于以上条件派生新位置查询:

派生新位置查询

  • 表达式顺序会影响分析结果。
  • 可通过单击分组与取消分组按钮 分组与取消分组 对表达式进行分组与取消分组。为了能够创建分组,请选择两个或两个以上表达式,然后单击分组按钮。有关分组的详细信息可在下文中找到。
  • 单击 and 可以将运算符切换为 or。单击 or 可以将运算符切换为 and

空间表达式类型

空间表达式可在两个图层之间建立关系。如果需要在同一图层的要素之间建立空间关系(例如,希望选择在工业用宗地某一距离范围内的闲置宗地),请复制宗地图层并将其添加到您的地图中,这样您便拥有两个使用同一宗地要素的图层。

在某一距离范围内/不在某一距离范围内

在某一距离范围内

在某一距离范围内的关系使用第一个图层中要素与第二个图层中要素之间的直线距离。

  • 在某一距离范围内 - 在第二个图层要素指定距离范围内的第一个图层要素部分中派生新要素;例如,只有距离河流 100 米范围内的部分宗地才包括在输出之内。
  • 不在某一距离范围内 — 不在第二个图层要素指定距离范围内的第一个图层要素部分中派生新要素;例如,距离河流 100 米范围内的宗地不会包括在输出之内。您可将此关系视为“距离大于”。

  • 计算的距离为要素的最近部分之间的距离。在以上示例中,植被需在距溪流 2,500 英尺的范围之内,将为 2,500 英尺范围之内的植被部分图层创建新区域。
    在距溪流 2,500 英尺范围内的区域

完全包含/不完全包含

完全包含

如果第一个图层中的要素能够完全包围第二个图层中的要素,则第一个图层中的要素通过该测试。被包含的要素不得有任何部分位于包含要素之外;但允许被包含要素与包含要素相接触(即,沿边界共享公共点)。

  • 完全包含 - 如果第一个图层中的要素包含第二个图层中的要素,则会将第一个图层中的要素包括到输出中。
  • 不完全包含 - 如果第一个图层中的要素包含第二个图层中的要素,则不会将第一个图层中的要素包括到输出中。

示例

  • 您拥有宗地图层(第一个图层)和另一个表示井的点图层(第二个图层),您希望查找含有井的宗地。可以使用完全包含来查找含有井的宗地。
  • 您拥有宗地图层和表示有毒废弃物场地的点图层。您希望查找不含有毒废弃物场地的宗地。可以使用不完全包含来查找不含有毒废弃物场地的宗地。

  • 可将此包含关系用于点和线。例如,您拥有街道中心线(线)图层和检修孔盖(点)图层,且您希望查找包含检修孔盖的街道。可以使用完全包含来查找包含检修孔盖的街道,但为了使线能够包含点,点必须正好位于该线上(即,在 GIS 术语中,它们互相捕捉)。如果对此存在任何疑问,请在在一定距离范围内关系中使用适当的距离值。

完全在其他要素范围内/不完全在其他要素范围内

完全在其他要素范围内

如果第一个图层中的要素能够被第二个图层中的要素完全包围,则第一个图层中的要素通过该测试。第一个图层中的整个要素都必须位于包含要素之内;但允许这两个要素相接触(即,沿边界共享公共点)。

  • 完全在其他要素范围内 - 如果第一个图层中的要素完全位于第二个图层的要素中,则会将第一个图层中的要素包括在输出中。
  • 不完全在其他要素范围内 - 如果第一个图层中的要素完全位于第二个图层的要素中,则不会将第一个图层中的要素包括在输出中。

示例

  • 您拥有待售房屋(点)图层和包含特定学区的图层,并希望只查找完全在学区范围内的房屋。
  • 您拥有闲置宗地图层(第一个图层)和另一个城市边界图层(第二个图层)。您的任务是查找城市边界以外的闲置宗地。可以使用不完全在其他要素范围内来查找不在任何城市边界以内(即在边界以外)的宗地。

  • 和包含关系一样,此范围内关系也可用于点和线。例如,您的第一个图层中包含表示检修孔盖的点,且您希望查找位于街道中心线上的检修孔(相对于停车场或其他非街道要素)。可以使用完全在其他要素范围内来查找街道中心线中的检修孔点,但为了使点能够包含线,点必须正好位于该线上(即,在 GIS 术语中,它们互相捕捉)。如果对此存在任何疑问,请在在一定距离范围内关系中使用适当的距离值。

相交/不相交

相交

如果第一个图层中的要素与第二个图层中要素的任何部分相重叠,包括相接触(要素共享公共点),则第一个图层中的要素将通过此相交测试。

  • 相交 - 如果第一个图层中的某要素与第二个图层中的某要素相交,则只有叠加的那部分要素才会包括在输出之内。
  • 不相交 - 如果第一个图层中的某要素与第二个图层中的某要素相交,则叠加的那部分要素不会包括在输出之内。

示例

  • 您拥有宗地图层和 100 年一遇的洪泛区图层。您想查找洪泛区范围内的所有宗地区域。可以使用相交来为叠加洪泛区的所有宗地派生新区域。
  • 您拥有宗地图层和 100 年一遇的洪泛区图层。要查找 100 年一遇的洪泛区之外的所有宗地区域,可以使用不相交

分组

可使用分组按钮 分组 将两个或两个以上的连续表达式分为一组。按 Shift 键并单击表达式可选择要分组的表达式。

下面是一个需要进行分组的示例:

  • 您拥有包含有毒化学物质的站点的点图层。每个点都具有属性 CHEMICAL,其中包含该站点中已知存在的有毒化学物质的名称。
  • 您希望查找位于河流附近的含水银或硒的有毒站点。
  • 您还希望查找位于公园附近的含苯或铅的有毒站点。

上面的示例在同一有毒站点图层中创建了两组要素:公园附近的有毒站点和河流附近的有毒站点。这两组要素彼此之间是独立的。

由于河流附近的有毒站点组与公园附近的有毒站点之间是独立的,您可能希望使用分组构建查询。图 1 显示了未进行任何分组或逻辑运算符修改(逻辑运算符均为 and)的初始查询或。此查询的结果是同时位于公园及河流一千米范围内的有毒站点。这并不是我们想要的结果 - 我们希望得到一组位于河流一千米距离范围内的有毒站点,以及另一组位于公园一千米距离范围内的有毒站点。

初始查询
图 1:初始查询

要构建满足上述条件的查询,需要创建分组。每个分组构成一个子查询,其结果将与之前的表达式相结合。

由选择前两个属性表达式开始,如图 2 所示。

选择第一组属性表达式
图 2:选择第一组属性表达式。

在选择这两个属性表达式后,单击分组按钮 分组。该组会发生缩进,如图 3 所示。

选择第二组属性表达式,如图 3 所示。

选择下一组属性表达式
图 3:选择第二组属性表达式。

在选择第二组之后,单击分组按钮。

最后,选择第二组属性表达式及其所属的空间表达式,如图 4 所示。

选择第二组属性表达式及其所属的空间表达式
图 4:选择第二组属性选择及其所属的空间表达式。

单击分组按钮,查询会发生缩进,如图 5 所示。最后一步,将 and 切换为 or,如图 5 所示。

最终查询
图 5:最终查询

图 5 中显示的查询将生成所需的结果。

  • 查找到具有铅或苯的有毒站点,这些要素是查找位于公园一千米距离范围内的有毒站点的子集。
  • 接下来,查找到具有硒或水银的有毒站点,这些要素是查找位于河流一千米距离范围内的有毒站点的子集。
  • 最后,使用逻辑 or 对这两组要素进行组合。

只有需要在同一图层中创建两组或两组以上不同的要素时才需要进行表达式分组。可以这样理解分组:如果不分组,则需要执行两遍“查找当前位置”,第一遍用于查找位于河流附近的站点,第二遍用于查找位于公园附近的站点,然后使用“合并”工具对这两个结果进行组合。

可单击文本按钮 文本 以查看查询的文本表达。文本表达使用括号来表示组。