显示地图或场景中的要素图层时,无需作出选择或通过打开弹出窗口来影响现有选择,即可识别有关特定要素的属性信息。 要识别多个要素,可以使用浏览工具 以单击要素,或者在按下 Ctrl 键的同时拖动框。 弹出窗口窗格将显示按图层进行分组的已识别要素的列表,以及只读字段属性的格式化数组。
您可以使用弹出窗口实现以下功能:
- 在您想要始终查看有限的属性列表时简化您的工作流。
- 自定义弹出窗口的显示,从而以风格化的形式来格式化信息。
- 将弹出窗口固定到屏幕以比较要素。
- 创建并自定义弹出窗口,使其支持在 Web 图层中共享。 在 ArcGIS Online 中配置的弹出窗口可以用于 ArcGIS AllSource 并显示在打开的地图中。
注:
将多列弹出窗口发布到 ArcGIS Online 时,它们会展平为单个列。
- 当您查看单个要素的属性时,显示其坐标。 复制坐标以在其他位置使用。
- 从结果列表中选择或导航至已识别项目。
- 闪烁识别的要素。 如果要素很小或闪烁难以定位,请在工程选项的导航选项卡上打开闪烁时显示十字光标选项。
- 从结果列表中复制一个要素或一系列所选要素的记录。
- 打印弹出窗口属性部分的图像。
注:
打印弹出窗口时,不包括视频内容。
- 访问并配置相关数据的显示。
注:
前 200 条相关记录会自动加载。 要加载任何剩余的记录,请向下滚动到最后一条相关记录并单击全部加载按钮。
- 访问有关路径要素测量值的详细信息。
打开弹出窗口
弹出窗口功能内置于浏览工具 中,该工具是用于常见导航命令的主要工具。 使用浏览工具单击可识别的要素以自动打开弹出窗口窗格。 要打开多个要素的弹出窗口,请按 Ctrl 键,然后使用浏览工具拖动一个框。 要添加至已识别结果的现有列表,请按 Ctrl+Shift 并拖放矩形以采集所有附加要素。 不允许弹出窗口自定义的图层(例如栅格或 LAS 图层)不支持识别多要素结果。
默认情况下,弹出窗口窗格将作为停靠窗格显示,并显示所有已识别的结果。 将快捷菜单用于每个已识别的要素,以获取其他命令,包括导航选项、选择、固定弹出窗口、移除和打开图层属性。 固定弹出窗口适用于单个要素,且将固定在原地。 直到您将其关闭或将其返回到弹出窗口窗格并识别新要素的时候,该弹出窗口才会消失。
注:
弹出窗口与其源自的地图或场景相关联。 将焦点更改为其他地图或场景会造成其消失;但是,当恢复焦点后,打开的弹出窗口将重新显示。 如果将地图浮动起来或移动到其他显示器上,弹出窗口不会随之移动。
弹出窗口的顺序取决于浏览工具图层顺序选项。 使用地图选项卡浏览工具 下的下拉箭头选择一个选项。 可用选项如下:
- 顶部图层 - 仅绘制于地图上的顶部图层会返回弹出窗口。
- 可见图层 - 仅当前可见的图层会返回弹出窗口。
- 可选图层 - 仅标记为可选的图层会返回弹出窗口。
- 在内容中选择 - 仅当前在内容窗格中选择的图层会返回弹出窗口。
- 无弹出窗口 - 不返回任何弹出窗口。
如果不希望为图层显示弹出窗口,请右键单击该图层或在内容窗格中选择多个图层,然后单击禁用弹出窗口 。 这将移除当前图层的弹出窗口配置。 请使用同一快捷菜单重新启用弹出窗口。 您无法为禁用了弹出窗口的图层配置弹出窗口的外观。 对于要为之重新启用弹出窗口的图层,打开配置弹出窗口窗格,然后单击启用以自定义弹出窗口中的内容。
在弹出窗口窗口中查看数据属性
弹出窗口是属性信息的只读显示。 它是一种无需先选择要素即可识别要素属性的便捷方法。 请使用属性窗格或表视图编辑所选要素的属性。
结果列表
弹出窗口显示中包含一个树视图,其中每次将列出按图层进行分组的所有已识别项目以及一个要素的属性,它们由控制弹出窗口方向的灰色分隔线分隔。 展开节点,然后单击每个已识别项目,以查看单个属性内容。 各个要素和组还具有用于其他操作的快捷菜单,例如:
- 选择、排序或导航至识别的项目。
- 闪烁识别的要素。 如果要素很小或闪烁难以定位,请在工程选项的导航选项卡上打开闪烁时显示十字光标选项。
- 在 2D 地图中,将点图形放置在要素中心。
- 打开图层的属性。
- 复制一个要素或一系列要素的记录。
属性显示
可配置属性部分以显示自定义文本、字段-值对、图表、图像等。 单击图像,或在图像聚焦时按 Enter 键,以便以全分辨率查看该图像。 右键单击图像以选择是在标准图像查看器还是在 360 度图像查看器中打开该图像。 或者,要仅使用键盘在 360 度图像查看器中将其打开,请在图像聚焦时按 Ctrl+Enter。 您还可以通过在弹出窗口的列表部分中展开要素名称来查看相关数据。 对于地图中不存在的相关数据,将显示默认弹出窗口。 对于地图中的相关数据,将显示您创作的弹出窗口定义。 如果相关数据在地图中作为时间感知型或范围感知型图层,则将根据地图的当前时间和范围设置来过滤相关记录的列表。 无论是否存在选择内容,您都可以在视图中单击以显示要素、栅格、LAS 和 TIN 图层的弹出窗口。
更改弹出窗口方向
弹出窗口由灰色分隔线分为两部分。 可使用分隔线折叠一个部分或者将弹出窗口从默认垂直堆叠方向更改为并排。 将鼠标悬停在灰色分隔线上方以显示允许执行这些操作的按钮。
要隐藏树视图列表,请将鼠标悬停在灰色分隔线上,然后单击隐藏顶部按钮 。 灰色分隔线将移至弹出窗口顶部,并且要素属性将展开以填充弹出窗口。 或者,可以使用隐藏底部按钮 将分隔线移至底部。 由此将折叠要素属性,并且已标识项目的树视图列表将填充弹出窗口。
单击并拖动灰色分隔线可以更改每侧的大小以及显示隐藏的部分。
垂直分割按钮 可将弹出窗口的方向从垂直堆叠更改为水平堆叠。 如果之前已折叠某个部分,则其将展开至视图中。 如果弹出窗口采用并排配置,则可以折叠左右两侧,并将方向恢复为垂直堆叠。
固定弹出窗口
可将单个要素的弹出窗口固定到屏幕,以防单击其他要素时消失。 如果想要并排比较要素弹出窗口或者使用双显示器或大型显示器并展开应用程序显示,此功能较为有用。 可以在一个地图中固定多个弹出窗口。 要固定弹出窗口,请右键单击弹出窗口窗格列表中的弹出窗口,然后单击移至固定的弹出窗口。 弹出窗口会保持固定,直到您使用弹出窗口通栏上的移至弹出窗口窗格按钮将其返回到弹出窗口窗格或者关闭弹出窗口为止。
注:
返回弹出窗口后,不会应用在固定弹出窗口时所做的数值或日期格式更改。
可将固定的弹出窗口折叠起来,以便在视图中将其外观最小化。 仅弹出窗口通栏保留移至弹出窗口窗格、展开和关闭选项。
自定义弹出窗口
要针对要素图层构建自定义弹出窗口,请在内容窗格中右键单击该图层,然后单击配置弹出窗口 。 随即显示配置弹出窗口窗格,供您自定义外观。 可以在配置弹出窗口窗格中执行以下操作:
附件
对于包含已启用附件的图层,您可以在弹出窗口中显示一个附件列表,方法是在配置弹出窗口窗格中启用显示附件列表选项。 当一个要素包含附件且此选项已启用,弹出窗口的底部将显示一个超链接列表,其中的链接将按照从最旧到最新的顺序排序。 这些链接将打开默认文件处理程序中的附件。 不含附件的要素将显示一条消息,表示不存在附件。
您也可以使用附件来获取图像。 默认情况下,弹出窗口中会包含影像类型的所有附件。 将首先显示最近添加的图像附件。 您也可以仅显示最近附加的图像。 单击图像以全分辨率进行查看。
坐标值
要素坐标值显示在弹出窗口的底部,可以将其选中以复制并粘贴到其他应用程序中。 显示的值来自弹出列表中所选要素的几何。 如果弹出窗口包含多个已识别的要素,则当您在列表中选择其他要素时坐标值会更改。 坐标并不是在地图上所单击的位置。
提示:
要捕获单击位置的坐标,右键单击该位置,然后单击复制坐标 。 当前坐标即会复制到剪贴板。 要使用其他格式,展开转换坐标子菜单,然后单击格式。
坐标表示要素的不同空间元素,具体取决于其几何类型。 以下是返回的要素和坐标源列表:
- 点 - 要素的点位置
- 线 - 要素的中点
- 面 - 要素的质心
- 多面体 - 要素的质心
- 多点 - 要素的质心
- 注记 - 要素的质心
- 尺寸 - 要素的质心
M 感知型要素
某些要素在其几何形状中包含测量值(m 值),以支持线性参考工作流 - 例如,沿道路放置交通事故或沿管道监测腐蚀条件。 当识别了包含路径测量值的线性要素时,会在弹出窗口的“字段”元素中添加六个附加的测量值字段:Measure、Minimum Measure、Maximum Measure、Measure Values、Parts 和 All Measures Unknown。 因为这些字段是“字段”元素的一部分,所以可以修改它们的格式。
注:
这六个附加测量字段在共享后可能不会显示。
弹出窗口中 m 感知要素的坐标显示包括最接近地图或场景中单击位置的 m 值。 对于线性几何,该值通过在最近的折点之间进行插值来计算。 M 值仅在通过单击位置访问弹出窗口时才会显示。 当您从表格视图访问弹出窗口或按 Ctrl 键并拖动一个框来识别时,不会显示 M 值。
M 值坐标显示使用为工程设置的默认距离单位的数字格式,包括小数位数和用零填充的属性。 要配置工程的默认距离单位,请依次单击工程、选项,然后选择单位。 在格式列内单击以打开默认单位的数字格式对话框。
也可以使用 Arcade 表达式来收集和操作要素的 m 值信息。 例如,以下表达式可将以分钟为单位的测量值转换为以小时为单位,并以小时为单位显示所单击要素的最大 m 值。
var myLine = Geometry($feature);
var mMax = -1;
// If m-aware
if (myLine.hasM) {
var myArray = myLine.paths;
// For each path
for(var k in myArray) {
var myTmp = myArray[k];
// For each vertex
for(var p in myTmp) {
// Get the m-value
var myM = myArray[k][p].m;
// Update the max-M, if needed and divide by 60 minutes
if(mMax < myM) {
mMax = myM/60;
}
}
}
}
// If not m-aware
else {
mMax = -999;
}
// Return maximum m-value
return mMax;