查询属性任务
“查询属性”任务有助于用户根据数据属性选择或查看地图上的特定数据。“查询属性”任务会根据一个地图图层创建一个查询。但查询可以包含复合条件。例如,可以根据某个城市图层定义一个查询,用于选择人口数大于用户输入的值并且名称以用户输入的值开头的城市。
此外,“查询属性”任务支持关联和独立表。关联只是定义两个表之间的关系,并不会追加每个表中的关联数据。许多情况下,关联会指向缺少几何但通常包含有价值的属性信息的独立表。例如,如果发布的地图服务中包含城市宗地与宗地所有者的独立表之间的关联,则可使用“查询属性”任务在查询结果中显示宗地所有者和宗地位置。
配置“查询属性”任务时,可以创建易于理解的表单,用来引导用户完成查询创建过程。这样,应用程序的用户就不需要了解有关数据集的详细信息,也不需要通过构造结构化查询语言 (SQL) 语句来查询数据。
例如,假设您希望用户通过输入州名和家庭最低平均人口来选择美国的县。此选择对应的 SQL 表达式可能如下所示:SELECT * FROM counties.sdc.counties WHERE:"STATE_NAME" = 'Idaho' AND "AVE_HH_SZ" > 3.0。Web 应用程序的用户可能并不了解数据的字段名称,也不知道如何编写 SQL 语句。这时,您可以使用“查询属性”任务来创建易于理解的表单从而为他们提供帮助,表单中包含类似以下内容的文本:我想选择位于以下州:(用户从下拉列表中选择一个州),家庭平均人口大于或等于以下数字:(用户在文本框中输入数字)的县。
将“查询属性”任务添加到应用程序后,单击配置按钮便可显示任务配置设置。使用此对话框可以构建查询并指定在显示任务时用户所看到的文本。也可以调整结果的显示方式。
选择要在任务中显示的文本
使用常规 选项卡可以调整用户在运行属性查询任务时所看到的文本。可更改以下内容:
- 任务名称。此名称将显示在 Web 制图应用程序的顶栏中。
- 用户执行该任务时所单击的按钮上的文本。
构建查询
使用设置 选项卡可构建查询。选择要查询的地图服务和图层后,单击添加按钮便可将条件添加到查询中。可以添加多个条件,以创建复合查询。如果您是 SQL 的新用户,或者需要复习一下相关知识,那么最好从“ArcGIS Desktop 帮助”中的构建查询表达式入手。
上例中显示的查询条件允许用户输入一个值,查找人口数大于该值的县。
设置“查询属性”任务时,请记住以下几点:
- 默认情况下,“查询属性”任务将返回的结果限制为 50 个。您可以在管理器的任务配置对话框的结果 选项卡中增大或减小该值。
-
默认情况下,ArcGIS Server 地图服务将查询返回的记录数限制为 1,000 条。您可以在服务属性 对话框中增大该限值。配置该任务时记住此限值非常重要,原因是单击获取实例值按钮时,将仅扫描前 1,000 条记录来获取唯一值。
如果将此限值重置为非常高的值,则会使性能降低。例如,如果查询返回的记录数超过 2,000 条,则需要软件完成额外的工作,在系统 TEMP 目录中创建临时工作空间来管理结果记录。
- 如果在配置该任务时使用多个查询表达式,则使用 AND 运算符连接表达式。管理器不支持 OR 运算符。
- 如果表达式使用 like 运算符,则最终用户可在输入要匹配的字符串时使用通配符。%(百分号)表示其位置可以是任意数量的任何字符:一个字符、一百个字符或无字符。此外,_(下划线)用于匹配单个字符。例如,最终用户可以输入 _atherine 来匹配 Catherine 和 Katherine。
- 如果要自定义的查询字符串超出管理器的功能范围,则可在集成开发环境 (IDE)(如 Microsoft Visual Studio)中打开该应用程序,然后编辑该任务。选择与使用自定义 Where 表达式相关的选项,然后为查询输入 SQL 表达式。
-
为日期/时间字段构造 SQL 表达式时还需要额外设置格式,具体取决于存储数据的数据库。例如,如果数据存储在个人地理数据库中,则需要将日期用 # 符号括起来。
如果您希望用户在查询日期时不必输入 # 符号或进行任何其他特殊的格式设置,则可为表达式创建特殊的格式设置部分。为此,需要在 Visual Studio 中编辑该任务,并选中自定义 Where 表达式选项。以下表达式将在个人地理数据库中查询两个分别以 {0} 和 {1} 表示的日期字段:
mydate >= #{0}# AND mydate <= #{1}#
其他数据库不需要使用 # 符号,但需要其他特殊语法。为确保表达式的结构正确,请参阅“ArcGIS Desktop 帮助”中在 ArcGIS 中使用的查询表达式的 SQL 参考主题的“日期”部分。
- 如果图层列表中未显示特定图层,则原因是无法对该图层进行查询。例如,某些栅格图层没有任何属性,因此不会出现在此列表中。此外,某些地图服务不支持查询,如 WMS 服务。
- 您可能会发现,通过创建实际的应用项目来获得在管理器中创建查询的经验是非常有用的。在部署任何应用程序之前,请使用已知值来测试查询,以了解它们是否可产生预期的结果。
选择结果的显示方式
使用结果 选项卡可配置任务结果的显示方式。了解以下几点十分有用:
- 可以禁用以下默认行为:按图层对结果分组,以及显示搜索返回的记录属性。您可能需要测试不同的设置才能找到最符合您要求的显示方式。
- 如果选择启用地图提示,则用户可通过单击结果要素来查看信息性的弹出窗口。用户将鼠标指针悬停在结果要素上方时,这些要素还会高亮显示。
- 通过选择自定义格式可以更改结果在结果 面板和地图提示中的显示方式。执行此操作时,将会显示一些附加选项卡,可供您更改结果要素的颜色、要包含的信息以及文本格式。