创建实时 web 地图
创建实时应用程序的第一步就是制作具有必要实时数据的 Web 地图。 城市的公共工程局已经使用自动车辆定位 (AVL) 设备收集了其扫雪车队的实时数据。 这些设备安装在每辆扫雪车上,并将 GPS 坐标从车辆传输到城市办公室的接收器。 您可将这些数据添加到 web 地图中,并相应地对其进行符号化和标注,以向用户清晰地传达重要信息。
添加实时数据
当地政府的实时要素图层由 ArcGIS GeoEvent Server 定期更新,其将实时数据流(如每辆扫雪车中的 AVL 设备传输的数据流)连接到托管在 ArcGIS Online 和 ArcGIS Enterprise 上的要素服务。 您可将三个实时要素图层中的每一个图层添加到新的 web 地图中。
注:
本教程不会详细介绍如何使用 GeoEvent Server 创建实时要素服务。 您可以通过 ArcGIS GeoEvent Server Gallery 中提供的教程了解更多信息。
- 登录到您的 ArcGIS 组织账户。
注:
如果您没有组织账户,请参阅软件访问权限选项。
- 单击功能区上的地图选项卡。
Map Viewer 地图将打开,并显示一个专题底图。 接下来,您将搜索并添加该市包含扫雪车和街道的三个实时图层。
- 在图层窗格中,单击添加。
随即显示添加图层窗格。
- 在添加图层窗格中,单击我的内容下拉箭头并选择 ArcGIS Online。
- 在搜索对话框中,输入 Vehicles (Latest)。 然后在搜索框中输入 owner:Esri_Tutorials_GE,以将搜索范围限制到由 Esri_Tutorials_GE 管理员账户拥有的图层。
搜索结果将返回 Vehicles (Latest) 图层。 该图层包含将显示每辆扫雪车最新记录位置的点要素。 当扫雪车位置发生更改时,车载 AVL 设备会将其 GPS 坐标传输至 GeoEvent Server。 图层经过相应配置后,将自动以最新坐标更新。
- 对于 Vehicles (Latest),单击添加按钮。 放大到犹他州盐湖城附近的要素。
车辆使用彩色三角形表示。 橙色三角形表示扫雪车,蓝色三角形表示配备雪犁的皮卡车。 5 台车辆中的每台车辆在地图上都有相应符号。 目前,符号的位置不会实时更新,因为您未更改设置来启用图层的这一功能。 首先,您需要将其余图层添加到地图。 然后,您需要更新图层的刷新间隔。
- 在添加图层窗格中,将搜索字符串更改为 Vehicles (Past) owner:Esri_Tutorials_GE。
- 在搜索结果中,单击 Vehicles (Past) 图层的添加按钮。
车辆的上一个位置使用彩色圆圈表示。 与之前一样,橙色代表扫雪车,而蓝色代表皮卡车。 和其他图层一样,此图层尚未启用实时更新。 另外,大量的圆圈遮挡了代表每台车辆最近位置的三角形。 在本教程中,稍后您将更改其中一个图层的符号系统,使每个图层更加明显。 在此之前,您还需要再添加一个图层。
- 在添加图层窗格中,搜索并添加 Street Plowed Status owner:Esri_Tutorials_GE 图层。
Street Plowed Status 图层随即添加到地图。
该图层包含代表该地区主要街道的要素。 每条街道都是根据其清扫状态进行符号化的,分别以绿色(已清扫)、红色(尚未清扫)和黄色(正在清扫)表示。 虽然这些要素看起来像线,但它们实际上是面。 为了检测扫雪车是否已经进入或退出了特定街道区域,原始的街道中心线数据以选定的距离进行了缓冲。 这样一来,即使扫雪车没有位于每条街道的正中心,它仍然会显示在街道上。 向 GeoEvent Server 中添加了缓冲区作为地理围栏或者几何边界,如果进入它们的区域,就会触发响应。 在这种情况下,街道将被标记为已清扫、尚未清扫或正在清扫,具体取决于扫雪车已经穿过还是当前正在穿过地理围栏。
- 在添加图层窗格中,单击返回按钮。
图层窗格将显示您添加到地图的图层。
Street Plowed Status 图层在当前底图上没有显示出来,因此您可以将底图的配色方案更改为深色配色方案。
- 在内容(深色)工具栏上,单击底图,然后选择深灰色画布。
现在,Street Plowed Status 图层将在地图上显得更加清晰。
虽然已添加您的图层,但每个图层的时态分量处于非活动状态。 虽然这些专门准备的图层使用了 GeoEvent Server 以包含基于每辆扫雪车 AVL 设备的实时数据流,但是在设置刷新间隔之前,数据将不会在地图上进行更新。 刷新间隔是图层在地图上进行刷新的时间间隔。 当图层刷新时,将通过 GeoEvent Server 获取连接到它的实时数据流的最新数据。 在设置刷新间隔之前,图层将只显示该图层添加到地图时的当前数据。
- 在内容工具栏上,单击图层。 确保已选择 Street Plowed Status 图层。
现在可以更新此选定图层的设置,包括刷新间隔。
- 在设置(浅色)工具栏中,单击属性。
- 在刷新间隔下,开启自动刷新图层。 在刷新图层间隔文本框中,键入 0.5。
图层最小刷新间隔为 0.5 分钟,相当于 30 秒。 现在,您地图上的 Street Plowed Status 图层将每 30 秒使用 AVL 设备中的最新数据进行刷新。
- 对于 Vehicles (Past) 和 Vehicles (Latest) 图层,请按照相同步骤将刷新间隔设置为 0.5 分钟。
现在,所有三个图层都每 30 秒刷新一次。 您将重新组织图层的顺序,使车辆的最新位置显示在地图中其他内容之上。
- 在图层窗格中,将 Vehicles (Latest) 图层拖到 Street Plowed Status 图层上方。
- 将 Vehicles (Past) 图层拖动到 Vehicles (Latest) 图层与 Street Plowed Status 图层之间。
符号化和标注数据
您已经添加了实时数据图层,但默认符号系统使人难以看到地图上扫雪车的当前位置。 您将更改图层符号系统,并标注每辆扫雪车和卡车,使其显得更加清晰。
- 在图层窗格中,选择 Vehicles (Latest)。 在设置工具栏中,单击样式。
随即显示样式窗格。 该图层已经根据 vehicletype 属性进行了符号化,指示车辆是扫雪车还是皮卡车。 您不希望更改当前显示的属性,但您希望细化符号选项。
- 在选择样式下的类型(唯一符号)中,单击样式选项。
窗格随即显示符号系统选项。 其中显示两种符号:分别表示皮卡车和扫雪车。 您将保留蓝色和橙色配色方案,使符号系统与其他车辆图层保持一致,但您将对每个符号略作更改,以突出车辆的当前位置。
- 单击表示皮卡车的蓝色三角形符号。
将显示符号样式窗口,其中包含更改符号的选项。 您将把基本点更改为箭头。
- 对于当前符号,单击基本点。 对于类别,选择箭头。
- 滚动浏览箭头符号列表,然后单击黑色圆圈内指向上的白色箭头。
接下来,您将更改其大小和颜色。
- 在符号样式窗口中,单击返回。
- 在当前符号下的大小文本框中,键入 30。
- 在矢量标记下的填充颜色中,单击编辑。
- 在选择颜色窗口的 # 中,输入 71a5eb。
- 单击完成。 关闭符号样式窗口。
新符号将自动应用到地图。
新符号使用略微不同的蓝色,使其与表示皮卡车过去位置的符号有所区别。 接下来,您将对扫雪车的符号进行类似的更改。
- 在样式选项窗格中,单击表示扫雪车的橙色三角形符号。 单击基本点,然后选择相同的箭头符号。
- 将符号的大小更改为 30,填充颜色更改为 f5c056。
- 关闭选择颜色和符号样式窗口。
皮卡车和扫雪车的符号均已更新。
您将定向符号,使其指向车辆的前进方向,而不是使箭头始终指向上方。 用户将能够更好地按照符号系统追踪每辆车的路径。
- 在样式选项窗格中,展开按属性旋转。 开启基于属性值旋转符号。
随即显示符号旋转选项。
- 对于字段,选择标题。 请确认已选择地理。
地理意味着旋转将从 0 开始按顺时针方向旋转,符号将从其当前方向按顺时针方向旋转。 因此,箭头将指向车辆的前进方向。
- 在窗格的底部,单击完成。 单击完成。
注:
您可能需要等待下一个刷新间隔才能应用符号旋转。
新符号将更清晰地显示在地图上,并为用户提供更多信息。 但是,它们可以更加突出,并且可以展现更多信息。 您将对车辆进行标注,以便市政官员能够一目了然地确定特定车辆在地图上的位置。
- 在设置工具栏上,单击标注。
标注要素窗格随即显示。 标注已启用,但仍需要配置。 您将添加标注来标识车辆的编号(1 号卡车、2 号卡车等),这将帮助城市官员在地图上识别其车队中的每辆卡车。
- 在标注要素窗格中,单击添加标注类。
标注基于 vehiclename 属性添加到每辆卡车。
标注能够更清楚地指示卡车或扫雪车所对应的符号。 (如果两个标注重叠,则它们可能不会显示在地图上。)
过滤扫雪车的过去位置
了解每台扫雪车的过去位置非常有用,但目前追踪到的扫雪车位置过多,这使得很难弄清楚扫雪车所在的位置以及其到达该位置的时间。 您将利用基于时间的过滤功能,仅显示过去两分钟内车辆所到过的位置。 应用此过滤功能将简化用户的可视信息量。
- 在图层窗格中,选择 Vehicles (Past) 图层。
- 在设置工具栏中,单击过滤器。
随即显示过滤器窗格。 您将使用此窗格为 Vehicles (Past) 图层创建一个过滤器,以仅显示在过去两分钟内具有时间属性的要素。
- 在过滤器窗格中,单击新增。
该表达式将应用过滤器,对过去两分钟内(相对于当前时间)所更新的所有类型的车辆(扫雪车和皮卡车)进行过滤。
- 在条件下,设置以下内容:
- 对于字段,请选择时间。
- 对于运算符,请选择最近。
- 对于值和单位,指定 2 分钟。
- 单击保存。
对地图中的数据进行了过滤。
现在,根据由过去位置构成的痕迹即可追踪每台扫雪车。 用户可以使用过滤器更好地了解每台扫雪车所去过的每个位置,以及最近清扫的每条街道。
最后,您将保存地图。
- 在内容工具栏上,单击保存并打开。 选择另存为。
- 在保存地图窗口中,输入以下内容:
- 对于标题,输入 Snowplows in a Utah City,然后添加您的姓名或首字母缩写。
- 对于标签,输入 Snowplows, Roads, Utah
- 对于摘要,输入 This map shows the real-time location of snowplows in a city in Utah.
- 单击保存。
您的地图现已完成。 该地图显示了整个城市扫雪车的位置及其道路状况。 数据图层以 30 秒的时间间隔进行实时更新,并且要素已进行符号化,以向用户清晰地传达重要信息。
创建仪表盘
您之前使用可显示整个城市扫雪车当前位置的实时图层创建了 web 地图。 地图还表示了道路是否已清扫。 虽然地图包含市民和政府官员的重要数据,但是市政官员需要一个供内部使用的仪表盘,来监控除雪作业。 该仪表盘必须提供以下信息:
- 一个实时更新的车辆名称及其速度列表
- 实时更新车速的条形图
- 实时更新街道清扫状态比例的饼图
- 显示街道名称和清扫状态的列表
此信息会帮助当地官员组织除雪路线,并监控整个城市的除雪作业。 您将使用 ArcGIS Dashboards 创建一种仪表盘。 仪表盘完全可配置,其中可以包含显示地图、列表和图表的元素。
将您的地图添加到仪表盘
首先,您将选择一个地图,以供您的仪表盘使用。
- 如有必要,请登录您的 ArcGIS Online 账户。
- 在功能区上,单击应用程序启动器按钮并选择 Dashboards。
随即显示 ArcGIS Dashboards 主页,您可以在其中创建、编辑和查看仪表盘。
- 单击创建仪表盘。
随即显示创建新仪表盘窗格。
- 在新建仪表盘窗格中,输入以下内容:
- 对于标题,输入 Snowplows in a Utah City。
- 对于标签,输入 GeoEvent。
- 对于摘要,输入 The location of snowplows and the status of roads in a city in Utah.
- 对于文件夹,选择一个位置用于存储仪表盘。
- 单击创建仪表盘以生成新的仪表盘应用程序。
创建仪表盘后,便可添加元素。 在接下来的步骤中,您将添加以下元素:
- 地图
- 列表
- 系列图表
- 饼图
- 在侧面板上,单击添加元素按钮。
随即显示布局面板。
- 在仪表盘中,选择地图。
选择地图窗格随即显示并列出您的 ArcGIS 账户可用的 web 地图。
- 浏览至 Snowplows in a Utah City web 地图。 单击选择以将地图作为元素添加到仪表盘。
随即出现Snowplows in a Utah City 地图窗口,其中包含用于配置地图的属性。
Web 地图的内容将用作其他元素的数据源。
- 在设置选项卡中,单击切换按钮以启用以下选项:
- 搜索
- 初始视图和书签
- 图层可见性
- 底图切换器
用户可以使用这些功能更有效地导航地图,以及选择感兴趣的要素。
- 单击图层操作选项卡。
请注意,弹出窗口会自动启用。 当用户单击地图上的某个要素时,弹出窗口会提供有价值的信息,也是使仪表板具有交互性和信息性的另一种方式。
- 单击完成。
仪表盘随即显示,其中包含您刚刚配置的地图元素。
- 在地图中,单击一辆卡车,打开包含要素属性的弹出窗口。
由于弹出窗口已在仪表盘中启用,因此单击要素即访问属性的功能将自动可用。
- 关闭弹出窗口。
添加列表元素
您配置了地图元素,并利用了 Dashboards 的一些实时功能,从而使您的地图能够更加清晰地传达信息。 正如本教程开头所述,市政当局希望轻松访问与扫雪车相关的一些附加信息。 首先,您将添加一个包含每辆扫雪机信息的列表。
- 在侧面板上,单击添加元素。
接下来,您将选择添加此元素的位置。 可以将元素添加至仪表盘的任何一侧或者将其堆叠在任何现有元素的顶部。 下一个元素将添加至仪表盘的左侧。
- 在仪表盘的左侧,单击“添加”按钮,然后选择列表。
现在,您需要配置该列表,以显示车队中每台车辆(共 5 台)的速度。 此信息可用于监控正在进行清扫的车辆以及它们的行驶速度。
- 在选择图层窗格中,选择 Vehicle(Latest)。
该列表配置窗格将更改为显示 Vehicle(Latest) 图层的数据选项。
注:
您的列表可能与本教程中显示的图像略有不同,因为此要素图层是动态的,并且经常更新。
默认情况下,车辆按照 ObjectID 值顺序列出,它是用于从内部组织图层中要素的字段。 可对其进行更改以按照车辆名称顺序列出卡车。
- 在数据选项窗格中,对于排序方式,单击添加字段,然后选择 vehiclename。
- 单击排序按钮,并验证已选择升序排序。
窗口右侧的预览内容表示车辆此时按照名称顺序列出。 接下来,您将向列表中添加每台车辆的速度。 与用于创建过滤器的时间字段一样,AVL 设备还可记录每台扫雪车的车辆速度。 速度信息包括在图层中。
- 在侧窗格中,单击列表选项卡。
vehiclename 字段已添加到文本框。
- 单击 {field/vehiclename} 后,然后按 Enter 键。 单击插入下拉箭头,然后添加 speed 字段。
现在,列表预览包括每台车辆的速度(以英里/小时为单位)并显示在列表选项窗格的右侧。 接下来,您将添加单位。
- 在 {field/speed} 后,添加一个空格并键入 mph。
已添加速度值的单位。
- 单击操作选项卡。 在当选择更改时下方,单击缩放下拉箭头,并使用切换按钮为 Snowplows in a Utah City 启用缩放。
现在,当用户单击列表中的一辆车时,仪表盘将在地图上缩放到该车辆的位置。
- 单击常规选项卡。 在常规选项窗格中,对于顶部标题,单击编辑。
- 在文本框中,键入 Vehicles。 使用格式选项,将标题居中并将其设置为粗体。
- 单击完成。
列表元素已被添加至仪表盘中。
- 调整列表元素的宽度,使其占用的空间不超过必要的空间。
注:
要调整元素的大小,请将鼠标移至元素边缘,然后拖至所需大小。
添加系列图表元素
显示车辆速度是一种很好的做法,但您可以通过添加一个条形图来更清晰地显示车辆之间的速度关系,从而使信息更易于理解。
- 在侧面板上,单击添加元素。 在列表元素下,单击在此处添加元素。 选择系列图表。
- 在选择图层窗格中,选择 Vehicles(Latest)。
- 在数据选项窗格中,设置以下参数:
- 对于类别来自,选择要素。
- 对于类别字段,选择 vehiclename。
- 对于系列,单击添加系列,然后选择 speed。
- 对于排序方式,单击添加字段,选择 vehiclename,并确认选择升序排序。
预览将显示一个条形图,其中包含 5 个条柱,每个条柱对应一台车辆。 但是,轴标注不指示各个条柱所表示的值。
- 单击类别轴选项卡,对于标题,输入 Vehicle。
水平轴的标题更新为 Vehicle。
- 单击值轴选项卡,对于标题,输入 Speed (mph)。
垂直轴的标题更新为 Speed (mph)。
- 单击系列选项卡,向下滚动到条形图颜色选项,然后单击现有颜色图面。
- 将现有十六进制代码替换为 00c5ff。
- 单击常规选项卡。 对于顶部标题,单击编辑。
- 在文本框中,键入 Vehicle Speed。 居中对齐文本。
- 在文本框上方,单击段落,并选择标题 2。
- 单击完成。
该图表随即出现在列表元素下方。
- 调整元素的大小,以便清晰地显示所有信息。
添加饼图元素
接下来,您需要添加可将街道状态显示为饼图的元素。 市政当局通过该元素可以一目了然地看到已清扫街道与未清扫街道的比例。 它的作用相当于清扫作业的进度表。
- 在侧面板上,单击添加元素。 在系列图表下,单击在此处添加元素。 选择饼图。
- 在选择图层窗格中,选择 Street Plowed Status。
要显示已清扫的街道所占的百分比,您需要显示各个清扫状态的要素计数。
- 在数据选项窗格中,更改以下参数:
- 对于类别来源,确保已选中分组值。
- 对于类别字段,选择 PlowedStatus。
预览更新并显示包括两个或三个分区的饼图(可能不包括清扫状态为“正在进行中”的街道)。 接下来,您将对图表外观进行更新以添加图例。
注:
因为数据是动态的,所以您的值可能有所不同。
- 单击图表选项卡。
- 在图表选项窗格中,设置以下内容:
- 展开标注部分。 关闭可见性。
- 展开图例部分。 开启可见性。 对于格式,单击百分比。
饼图元素将更新,图例显示在图表下方。
- 单击常规选项卡。 对于顶部标题,单击编辑按钮。 在文本框中,键入 Streets Plowed Status (Percent)。
现在,您将启用包含要素操作的饼图,以便用户可以使用图表查看处于特定状态的街道。
- 单击操作选项卡。
- 在操作窗格中的选择更改后下,展开过滤器。 在 Snowplows in a Utah City 下方,开启 Street Plowed Status。
- 单击完成。
- 调整饼图、列表和条形图元素的大小,以便清晰地显示所有信息。
- 单击饼图的其中一个扇区。
地图上的路段将根据您单击的饼图扇区隐藏和显示。 这是因为您在配置饼图时启用了该操作。
添加第二个列表元素
饼图元素包含很多空白区域。 您将使用该空间来放置最后一个元素。 这将是另一个列表元素,用于显示街道名称及其清扫状态。
- 在侧面板上,单击添加元素。 在饼图的左侧,单击在此处添加元素。 选择列表。
- 在选择图层窗格中,选择 Street Plowed Status。
您希望列表显示街道的清扫状态,因此需要相应地更改列表的设置。 为了一次显示多条街道,您还需要增加列表中可显示的最大项目数量。
- 在数据选项窗格中,更改以下参数:
- 对于显示的最大要素数量,将值设置为 50。
- 对于排序方式,单击添加字段,选择 PlowedStatus,并确认选择升序排序。
预览将更新一系列街道,每条街道均使用相应的符号来表示清扫状态。
为了更清晰地显示列表,需要向每个列表项目中添加描述,以明确描述清扫状态。 您先前向卡车速度列表添加了类似描述。
- 单击列表选项卡。
- 在列表选项窗格中的 {field/StreetName} 后单击,然后按 Enter 键。 在 {field/StreetName} 下方的行中,添加 PlowedStatus 字段。
与您的饼图一样,您将为列表启用某些要素操作,以便用户可以使用它导航到感兴趣的街道。
- 单击操作选项卡。
- 在操作窗格中,展开缩放。 开启 Snowplows in a Utah City。
- 单击常规选项卡。
- 在常规选项窗格中,对于顶部标题,单击编辑。 在文本框中,键入 Streets Plowed Status (Street Name)。
- 单击完成。
- 调整元素大小以最小化空白空间。
接下来,您将为仪表盘添加页眉。
- 在侧面板上,单击添加元素按钮。 单击地图顶部的“添加”按钮,然后选择标题。
标头默认为地图的标题。
- 单击完成。
保存并共享仪表盘
您的仪表盘现在已经配置了必要的元素。 接下来,您将保存仪表盘并与相关受众共享。
- 在侧面板上,单击保存按钮,并选择保存。
- 单击仪表盘标题旁边的按钮。 从列表中,选择仪表盘项目详细信息
您可以将仪表盘与组织成员或所有人共享。 由于该操作视图专供市政当局使用,并不公开共享,因此,您只能与组织共享。
- 在 Snowplows in a Utah City 项目详细信息页面的概述选项卡中,单击共享。
- 在共享窗口中,选择组织。 单击保存。
当共享仪表盘时,将需要以相同的方式共享任何关联的地图和数据集。 您可以通过 ArcGIS Dashboards 应用程序或 ArcGIS Online 账户访问共享仪表盘。
在本教程中,您为城市官员创建了一个地图和仪表盘,该地图和仪表盘可用于监控全市的清雪作业状态。 首先,您创建了包含实时数据图层的 Web 地图。 然后,您使用该 Web 地图创建了一个仪表盘,使城市官员能够跟踪扫雪机和街道状态。 此地图和应用程序将有助于保障市民的安全,为决策者提供实时信息。
您可以在教程库中找到更多教程。