【ArcGIS Pro实操第三期】多模式道路网构建(Multi-model road network construction)原理及实操案例

ArcGIS Pro实操第三期:多模式道路网构建原理及实操案例

  • 1 概述
    • 1.1 原理
  • 2 GIS实操
    • 2.1 新建文件并导入数据
    • 2.2 创建网络数据集
    • 2.3 设置连接策略(Setting up connectivity policies)
    • 2.4 添加成本(Adding cost attributes)
      • 修改距离成本
      • 增加时间成本-DriveTime
      • 增加时间成本-PedestrianTime
      • 增加距离成本-DriveMeters
    • 2.5 添加限制和描述符(Adding restrictions)
    • 2.6 添加出行模式(Configuring travel modes)
      • 添加出行模式-Drive
      • 添加出行模式-Pedestrians
    • 2.7 配置方向(Configuring directions)
    • 2.8 创建和构建网络数据集(Creating and building the network dataset)
    • 2.9 基于多式联运网络寻找最快路线(Finding the quickest route based on the multimodal network)
    • 报错-ERROR 030024: Solve returned a failure.
  • 参考

多模式道路网构建(Multi-modal road network construction)是指在一个综合的交通网络中,同时考虑多种交通模式(如步行、骑行、公共交通和驾车等),并将它们集成到一个统一的道路网络模型中。这种方法旨在更好地反映真实世界中的复杂交通需求和行为,以便进行更准确的交通分析和规划。

1 概述

1.1 原理

多模式道路网构建主要涉及以下几个关键步骤:

  1. 数据收集与预处理

    • 道路数据:获取详细的道路网络数据,包括道路类型、长度、宽度、限速等信息。
    • 交通模式数据:获取不同交通模式(如公共交通路线、站点、时刻表、自行车道、人行道等)的数据。
    • 地理信息数据:获取地理信息系统(GIS)数据以便进行空间分析和匹配。
  2. 网络建模

    • 节点与边的定义:在道路网络中定义节点(如交叉口、站点)和边(道路段、轨道段等),并为不同交通模式创建相应的节点和边。
    • 模式间转换节点:定义不同交通模式之间的转换节点(如公交站点、自行车租赁点、停车场等),以便用户可以在不同模式之间切换。
  3. 网络集成

    • 网络合并:将不同交通模式的网络合并到一个综合的网络中,确保各模式之间的节点和边能够正确连接。
    • 权重和成本分配:为每条边分配相应的权重或成本(如时间、距离、费用等),并考虑不同模式之间的转换成本。
  4. 路径规划与分析

    • 多模式路径规划:使用图算法(如Dijkstra算法、A*算法等)进行多模式路径规划,计算从起点到终点的最优路径,可以考虑时间、距离、费用等多种因素。
    • 交通模拟与优化:进行交通模拟和优化分析,以评估和改进交通网络的性能。

多模式道路网构建可以帮助城市规划者和交通工程师更好地理解和优化城市交通系统,提高交通效率和便利性。

2 GIS实操

2.1 新建文件并导入数据

1、打开ArcGIS Pro,并新建文件(Start without a template):
在这里插入图片描述
新建地图(Create a new map),如下图:在这里插入图片描述
2、链接至已有数据,具体步骤如下:

2.1 在“视图”功能区的“Windows”组中,单击“编目窗格”以打开“编目”。
在这里插入图片描述
2.2 在Catalog中,右键单击Folders并选择Add Folder Connection
在这里插入图片描述
导航到包含数据的文件夹。强烈建议将所有数据存储在D:\驱动器中,以避免潜在的问题。
在目录中,展开Lab2 → Paris→Transport,界面如下:
在这里插入图片描述

或者,直接导入数据(Map→Add Data,将包含道路的数据直接导入至图层中)。
数据导入后,界面如下:
在这里插入图片描述
2.3 检查道路属性

在Contents窗格中,右键单击Streets图层,选择Attribute Table。

  • FT_Minutes、TF_Minutes、KPH和Meters等字段可用于设置成本属性,以告知网络数据集遍历每条边的成本。这些字段通常是双精度或浮点类型字段。
  • FUNC_CLASS字段是一个整数字段,用于为每条道路分配一个类别。此字段将用于在网络数据集上设置层次结构属性。同样,此字段和层次结构将在本教程的后续部分中介绍。
    在这里插入图片描述

检查完毕后,关闭属性表(Attribute Table)。

2.2 创建网络数据集

在Catalog中,右键单击Transport特征数据集,然后单击New → Network dataset。
在这里插入图片描述
打开“新建网络数据集(Create Network Dataset)”向导,如下:
在这里插入图片描述

  • 网络数据集重命名:ParisMultimodal_ND
  • 单击“全选”,选择网络中作为源参与的所有特征类。
  • 由于此数据集不存在高程数据,因此在elevation Model参数中选择No elevation。
    elevation字段在网络数据集中用于细化线端点的连通性。它们包含从参与网络的特征类的字段派生的高程信息。这与基于z-坐标值建立连接不同,在z-坐标值中,物理高程信息存储在特征的每个顶点上。高程场适用于边缘和接点源。使用高程字段的边缘特征源有两个字段来描述高程(一个用于线特征的每个端点)。
  • 单击窗格底部的Run。

设定完成后,界面如下:
在这里插入图片描述
运行完成后,网络数据集(ParisMultimodal_ND)将会添加至地图(Map)图层中。
在这里插入图片描述
右键单击Contents中的ParisMultimodal_ND层,选择Remove,将网络数据集层从地图中移除。

说明: 当网络数据集图层位于地图中时,无法编辑网络数据集属性。您必须从地图中移除该图层才能继续本教程的其余部分。

在这里插入图片描述

2.3 设置连接策略(Setting up connectivity policies)

ArcGIS Network Analyst扩展中的连接性从连接性组的定义开始。每个边缘源只分配给一个连接组,每个连接源可以分配给一个或多个连接组。连通性组可以包含任意数量的源。网络元素如何连接取决于元素所在的连接组。例如,从两个不同的源特征类创建的两条边可以连接,如果它们在相同的连接组中。如果它们在单独的连接组中,则除非它们被参与两个连接组的连接点连接,否则这些边不会连接。

操作步骤如下:
1、在目录(Catalog)窗格中,右键单击ParisMultimodal_ND网络数据集并选择 属性(Properties) 以打开网络数据集属性对话框。
在这里插入图片描述
2、单击“源设置(Source setting)” → “源(Source )”。

该页面显示当前参与网络数据集的所有源要素类

在这里插入图片描述
单击“源设置(Source setting)” → “(Group Connectivity )”,设置网络的连通性模型。
在这里插入图片描述
3、为Group Count输入2,将连接组的数量增加到2。在Groups中创建第二个连接组的列。

  • 连接性组1代表地铁系统(metro system)
  • 连接性组2代表街道网络(Street network)

在这里插入图片描述

4、单击Streets行并选中Groups第二列下的复选框,将Streets源移动到连接组2。

5、单击metro_entries行并选中Groups第二列下的复选框,以在组1和组2中包含源特性类。地铁入口是街道和通往地铁站的人行道之间的换乘点。
metro_entrance的每个特征都与街道特征类的一个顶点相一致。但是,streets特性类具有端点连接策略。由于地铁入口需要连接到重合顶点的街道,您必须设置metro_entries来覆盖街道的默认端点连接。
6、将地铁入口的策略从荣誉(Honor)改为覆盖(Override)
7、确认(OK)
在这里插入图片描述

2.4 添加成本(Adding cost attributes)

这个网络数据集的一个目标是对步行时间驾驶时间进行建模。当在网络上执行分析时,这允许您在两种时间成本之间进行选择。
例如,你可以选择回答这样一个问题:对于一个可以沿着街道走路和乘坐地铁的行人来说,从a点到B点最快的路线是什么?或者对于开车的人来说,最快的路线是什么?
要做到这一点,必须设置两个时间成本属性:行人时间(PedesstrianTime)和驾驶时间(DriveTime)。

操作步骤如下:
1、在“Catalog”窗格中,右键单击“ParisMultimodal_ND”网络数据集,选择“Properties”打开“network dataset Properties”对话框。
在这里插入图片描述
2、单击旅行属性(Travel Attributes)页,然后单击成本(Costs)选项卡。
在这里插入图片描述

修改距离成本

3、单击开销(Costs)的“距离(Distance)”部分中的“长度(Length)”属性。

4、在“属性”部分的“名称(Name)”文本框中输入“米(Meters)”,然后按enter键。单位应该是米。
在这里插入图片描述
在Evaluators部分中,您可以查看和编辑网络中每个源的评估器类型及其值。你可以看到结点和转弯源总是有一个相关的评估器,但是边缘源有两个:每个方向一个(沿和逆)。
在这里插入图片描述
5、在Evaluators部分,在Edges组中,对于Metro_Lines(Along)行,类型应该是字段脚本,并双击Metro_Lines(Along)的Value列,使字段脚本设置按钮可用。
然后单击字段脚本设置按钮
在这里插入图片描述
有许多类型的评估器,可以在成本、限制和描述符中使用。字段脚本求值器是最常用的,因为它们使用基于字段的单个字段或简单表达式来确定遍历边缘的成本。

6、在“结果”框中输入[METERS],单击“确定”。
在这里插入图片描述
7、对Streets (Along)行重复步骤5和6。
在这里插入图片描述
8、在Evaluators部分,在Edges组中,对于Transfer_Stations(Along)行,类型应该是字段脚本,双击Transfer_Stations(Along)的Value列,使字段脚本设置按钮可用,然后单击字段脚本设置按钮

9、在“结果”框中输入[SHAPE_LENGTH],单击“确定”
在这里插入图片描述
10、对Transfer_Street_Station(Along)行重复步骤8和9。
在这里插入图片描述

增加时间成本-DriveTime

接下来,继续增加时间成本(Add time costs)。

11、单击“菜单(Menu)”按钮并选择“新建(New)”
在这里插入图片描述
12、输入DriveTime作为新开销的名称。将单位改为分钟。将数据类型设置为Double,如下:
在这里插入图片描述
13、在Evaluators部分的Edges组中,对于Streets (Along)行,将Type从Same as Default更改为Field Script

14、双击“沿街Streets (Along)”的“值(Value)”列,使“字段脚本设置(Field Script Settings)”按钮可用,然后单击“字段脚本设置”按钮。
注意: 您可能有一个字段表示沿某条边沿任何方向移动的成本,该成本是通过将线的长度除以速度限制来计算的,该字段适用于顺方向和反方向。如果相同的字段可以用于两个方向的移动,则可以对Streets (Along)行使用字段脚本评估器。然后,不是为Streets (Against)方向设置字段脚本评估器,而是将评估器类型更改为Same As Along。
对于这个数据,有不同的字段来表示顺方向和反方向,因此您将设置两个方向

15、在“结果”框中输入[FT_MINUTES],单击“确定”。
在这里插入图片描述
16、重复步骤13和14的街道(对)(Streets (Against))行。

17、在“结果”框中输入[TF_MINUTES],单击“确定”。
在这里插入图片描述
18、对于Metro_Lines(Along)行,将Type从Same as Default更改为Constant。

19、在“Value”框中输入“-1”,按“enter”。

Network Analyst将成本值为-1的任何元素视为受限元素。因此,无论何时在网络分析中使用DriveTime属性作为阻抗,这些源都是不可遍历的。

在这里插入图片描述
20、对Transfer_Stations(Along)行重复步骤18和19。
21、对Transfer_Street_Station(Along)行重复步骤18和19。
在这里插入图片描述

22、在Evaluators部分的junction组中,对Metro_Stations行重复步骤18和19
在这里插入图片描述

增加时间成本-PedestrianTime

23、重复步骤11和12,创建一个名为 行人时间(PedestrianTime) 的新时间成本。
在这里插入图片描述
行人时间网络属性表示行人在网络上行走所需的时间。在接下来的步骤中,您将为可以乘坐地铁系统或沿着街道行走的行人分配适当的旅行时间。

24、在Evaluators部分,在Edges组中,对于Metro_Lines(Along)行,将Type从Same as Default更改为Field Script。
在这里插入图片描述
25、双击Metro_Lines的Value列,使字段脚本设置按钮可用,然后单击字段脚本设置按钮

26、在“结果”框中输入[TRANSITTIM]并单击“确定”。
在这里插入图片描述
27、对Transfer_Stations(Along)行重复步骤24-26。

28、对Transfer_Street_Station(Along)行重复步骤24-26
在这里插入图片描述
29、重复步骤24和25的街道(沿)行(Streets(Along) )。

对于Streets源,行人时间的值是步行时间。假设行人以3公里/小时的速度行走,则步行时间(分钟)为[米]* 60 / 3000,其中[米]是包含以米为单位的边缘长度的属性

30、在“结果”框中输入[METERS] * 60 / 3000,单击“确定”。
在这里插入图片描述
这个网络没有任何turn特性类,所以我们不改变Evaluators部分的turn组中的元素。

增加距离成本-DriveMeters

接下来,为开车的人增加新的距离成本。

31、单击“菜单(Menu)”按钮并选择“新建(New)”

32、为新开销的名称键入driveremeters。将单位改为米。将数据类型设置为Double。
在这里插入图片描述
33、在Evaluators部分的Edges组中,对于Streets (Along)行,将Type从Same as Default更改为Field Script。
34、双击“沿街”的“值”列,使“字段脚本设置”按钮可用,然后单击“字段脚本设置”按钮。
在这里插入图片描述
35、在“结果”框中输入[METERS],单击“确定”。
在这里插入图片描述
36、对于Metro_Lines(Along)行,将Type从Same as Default更改为Constant。

37、在“Value”框中输入“-1”,按“enter”。

说明: Network Analyst将成本值为-1的任何元素视为受限元素。因此,无论何时在网络分析中使用DriveMeters属性作为阻抗,这些源都是不可遍历的

在这里插入图片描述
38、对Transfer_Stations(Along)行重复步骤36和37。

39、对Transfer_Street_Station(Along)行重复步骤36和37。

40、在Evaluators部分的junction组中,对Metro_Stations行重复步骤36和37。
在这里插入图片描述

2.5 添加限制和描述符(Adding restrictions)

Oneway属性与DriveTime属性是松散关联的,因为它模拟了驾驶员需要遵循的单向交通限制。稍后,当您使用DriveTime作为代价执行分析时,您应该启用单向限制,以便生成的路由遵循单行道。另外,在建模行人的运动时,不应该使用单向限制,因为行人可以自由地朝他们选择的方向行走。

操作步骤如下:
1、在“Catalog”窗格中,右键单击“ParisMultimodal_ND”网络数据集,选择“Properties”打开“network dataset Properties”对话框。

2、单击旅行属性(Travel attributions)页,然后单击限制(Restrictions)选项卡。
在这里插入图片描述
3、单击Restrictions选项卡右上角的Menu按钮,然后选择New

4、输入Oneway作为新限制的名称

5、将“使用类型( Usage Type)”保留为“禁止(Prohibited)”
在这里插入图片描述
6、在Evaluators部分的Edges组中,对于Streets (Along)行,将Type从Same As Default更改为Field Script。

7、在“结果”框中输入受限制的类型,在“代码块”框中输入以下表达式:

restricted = False
Select Case UCase([Oneway])Case "N", "T": restricted = True
End Select

在这里插入图片描述
8、单击评估器设置对话框中的OK以接受更改。

9、对于Streets (Against),将评估器类型更改为Field Script。

10、现在打开街道(反对)(Streets (Against))行的评估器设置对话框:

11、在“结果”框中输入受限制的类型,在“代码块”框中输入以下表达式:

restricted = False
Select Case UCase([Oneway])Case "N", "F": restricted = True
End Select

在这里插入图片描述
12、单击评估器设置对话框中的OK以接受更改。
在这里插入图片描述
与地铁系统相关的源不需要单向限制。

13、单击“网络数据集属性”对话框中的“确定”,提交所做的更改并关闭对话框。

2.6 添加出行模式(Configuring travel modes)

传输模式由一组网络数据集设置组成,这些设置定义了网络上允许的操作以及如何执行这些操作。通过在网络数据集上配置一种或多种传输模式,可以简化以后的工作流程。在分析时,您可以选择想要使用的模式,而不是设置许多不同的属性。如果您对特定的旅行模式或车辆执行了许多分析,那么设置一个旅行模式可能是值得的。

操作步骤如下:
1、在“Catalog”窗格中,右键单击“ParisMultimodal_ND”网络数据集,选择“Properties”打开“network dataset Properties”对话框。

2、单击“旅行属性(Travel attributions)”页,然后单击“旅行模式(Travel Mode)”选项卡。
在这里插入图片描述
3、单击Travel Mode选项卡右上角的Menu按钮,然后选择New

添加出行模式-Drive

4、命名旅行模式驾驶时间(DriveTime)
5、将类型保留为Driving
6、在成本(Costs)部分,确保阻抗设置为驱动时间(分钟),距离成本可以是驱动里程(米)或米(米)。
7、在“限制(Restriction)”部分中,选中单向限制的复选框。
8、确保u型转弯设置为允许。
在这里插入图片描述
9、增加一个新的旅行模式(Travel Mode)叫驾驶距离(DrivingDistance)。
10、将阻抗更改为驱动仪表(仪表),将时间成本更改为驱动时间,并勾选单向限制框。
11、确保u型转弯设置为允许。
在这里插入图片描述

添加出行模式-Pedestrians

接下来,可以设置另一种旅行模式来模拟行人。

12、单击Travel Mode选项卡右上角的Menu按钮,然后选择New

13、命名出行模式为行人时间(Pedestrian Time)
14、选择类型为步行(Walking)。
15、在成本部分,确保阻抗设置为行人时间(分钟),距离成本应设置为米(米)。
16、在“限制”部分,取消选中单向限制的复选框。
行人可以去该网络上禁止车辆通行的地方,也可以在单行道上双向行走。
17、确保u型转弯设置为允许。
在这里插入图片描述
18、增加一个新的旅行模式(Travel Mode)叫做步行距离(Pedestrian Distance)。
19、选择类型为步行。
20、将阻抗改为米(米),时间成本改为行人时间(分钟)。
21、取消选中单向限制的复选框。
22、确保u型转弯设置为允许。
在这里插入图片描述
23、单击“网络数据集属性”对话框中的“确定”,提交所做的更改并关闭对话框

2.7 配置方向(Configuring directions)

当在您的网络数据集上计算路线时,您可以生成伴随结果的驾驶方向。网络数据集需要至少有一个带有文本属性(用于街道名称信息)和距离属性的边缘源,以显示在需要下一次相关操作之前它将有多远。

操作步骤如下:
1、在“Catalog”窗格中,右键单击“ParisMultimodal_ND”网络数据集,选择“Properties”打开“network dataset Properties”对话框。

2、单击“方向(Directions)”页,然后单击“常规(General)”选项卡。

3、选中“支持说明(Support Directions)”旁边的复选框。
在这里插入图片描述
“方向”页和“字段映射”选项卡将被标记为具有无效状态(红色虚线下划线)。现在不用担心这个。当您到达Field Mappings选项卡时,您将纠正这些问题。

4、单击“字段映射(Field Mappings)”选项卡。
可以为网络中的每个边缘源设置地铁线和街道名称字段。这些名字是用来报告方向的。

5、在Metro_Lines(Edge)部分,将Base Name从更改为Name。

6、在Streets (Edge)部分,将Base Name从更改为FULL_NAME。
在这里插入图片描述
7、单击“网络数据集属性”对话框中的“确定”,提交所做的更改并关闭对话框。

2.8 创建和构建网络数据集(Creating and building the network dataset)

设置好网络数据集的功能后,需要创建和构建它。

操作步骤如下:
1、在Analysis功能区的Geoprocessing组中,单击Tools以打开Geoprocessing窗格。

2、单击Geoprocessing窗格中的搜索栏并键入Build Network。

3、单击第一个结果以打开Build Network工具。

4、对于Input Network Dataset参数,单击Browse按钮并浏览到ParisMultimodal_ND网络数据集,然后单击OK。
在这里插入图片描述
5、单击底部的Run按钮。
运行完成后,结果如下:
在这里插入图片描述

2.9 基于多式联运网络寻找最快路线(Finding the quickest route based on the multimodal network)

在构建多模式网络后,您可以使用不同的交通方式(例如步行,开车,在本实验中乘坐地铁)找到任意点之间最快的路线。

操作步骤如下:
1、将已构建的多式联运网络(Paris.gdb\Transportation\ParisMultimodal_ND)拖到Contents中。

2、在Analysistab的“工作流(Workflows)”组中,单击“网络分析(Network analysis)→路线(Route)”
注意: 要查看或更改将用于创建网络分析层的网络数据源,在“分析”选项卡上,在“工作流”组中,您可以单击“网络分析”下拉菜单并查看“网络数据源”。
在这里插入图片描述
完成后,目录(Contents)中出现以下内容:
在这里插入图片描述
3、单击“网络分析(Network analysis)→路线(Route)→ “创建功能(Create Features)”按钮
在这里插入图片描述
4、在“路线(Route):站点(Stop)”下,单击“站点(Stop)”。
在这里插入图片描述
5、使用点工具在地图上网络数据集覆盖的区域创建几个站点。
在这里插入图片描述
6、在“路线(Route)”选项卡的“旅行设置(Travel Setting)”组中,选择“驾驶时间(Driving Time)”为“模型”,选择“顺序(Sequence)”为“最佳查找(Find Best)”
在这里插入图片描述
7、在“路线(Route)”页中,单击“运行(Run)”

8、在“路线(Route)”选项卡的“方向(Directions)”组中,单击“显示方向(Show Directions)”

报错-ERROR 030024: Solve returned a failure.

报错内容:The network dataset has no edge elements. It may be unbuilt. Failed to execute (Solve).
解决方案:“The network dataset has no edge elements. It may be unbuilt.”

错误原因:

  • The feature class that acts as a feature source for the edge element has a geometry problem. For a list of geometry problems, see the following document: Check Geometry用于边缘元素的特征类存在几何问题。有关几何问题的详细列表,请参阅以下文档:检查几何体。
  • The network dataset is not rebuilt after it is edited.编辑网络数据集后未重新生成。
    在这里插入图片描述

参考

1、ArcGIS Pro-创建网络数据集
2、ESRI-解决报错-错误:网络数据集没有边元素。 可能未构建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/435018.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++报错已解决】std::ios_base::sync_with_stdio

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

java项目之作业管理系统设计与实现源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的作业管理系统设计与实现源码。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 作业管理系统…

引入的pyside2后 Lib\site-packages\PySide2中没有pyside2-uic.exe

只有uic.exe 没有pyside2-uic.exe 去Scripts目录下查看就能找到

Unity实战案例全解析:RTS游戏的框选和阵型功能(1) 基础要素

本案例来源于unity唐老狮,有兴趣的小伙伴可以去泰克在线观看该课程 【唐老狮】Unity实现 即时战略游戏 阵型功能 - 泰课在线 -- 志存高远,稳如泰山 - 国内专业的在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG - Powered…

架构师:消息队列的技术指南

1、简述 消息队列(Message Queue, MQ)是一种异步通信机制,允许系统的各个组件通过消息在彼此之间进行通信。消息队列通过解耦系统组件、缓冲高峰期请求和提高系统的可扩展性,成为分布式系统中不可或缺的一部分。 2、工作原理 消息队列的基本工作原理是生产者将消息发布到…

Wed前端--HTML基础

目录 一、开发工具 二、HTML文档结构 2.1头部head 2.1.1title标记 2.1.2元信息meta标记 具体实例 ​编辑 一、开发工具 最基础的开发工具是:HBuilder 二、HTML文档结构 HTML文档由头部head和主体body组成 头部head标记中可以定义标题样式,头部信…

初始C++模板

1.泛型编程 1.1什么事泛型编程 在学习C语言时,我们时常会有这样的烦恼: 在针对每一种不同的类型变量进行函数传参或者是运算处理时,我们总是编写不同的函数或者是进行不同的处理,才能达到目的,这时,我们…

(undone) 阅读 MapReduce 论文笔记

参考:https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf 摘要:简单介绍了 MapReduce 是在大型分布式系统上工作的 Introduction 的内容总结: 1.介绍背景:为什么我们需要分布式系统?MapReduce 的意义是哪些 2.简…

2024.9.26C++作业

1. 什么是虚函数,什么是纯虚函数? 1.虚函数在基类中声明,使用virtual关键字修饰成员函数,并且允许在派生类中重写。 2.在运行时,允许基类指针或者引用调用这个函数时,根据实际对象类型调用派生类&#xff…

大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

尚硅谷vue3+TypeScript笔记大全

源码及视频:通过百度网盘分享的文件:尚硅谷vue3 链接:https://pan.baidu.com/s/19zVM5Xsr1UP7tZ4D0mhVqA?pwdgmta 提取码:gmta 1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piec…

Qualcomm AI Hub模型优化1: Whisper-Base-En导出及问题解决

1 从Qualcomm AI Hub Module中选择Whisper-Base-En模块部署 1.1 进入module虚拟环境 python3 -m venv qai_hub_models_env && source qai_hub_models_env/bin/activate1.2 使用pip安装高通音频转录包 pip install "qai_hub_models[whisper_base_en]" 1.3…

人工智能对话系统/AI助理/PC/公众号/h5/小程序

>>>系统简述: GPTCMS基于TP6UniappVUE3开发,已集成文心一言、灵犀星火、ChatGLM(清华旗下)、讯飞星火(即将)、api2d、意间AI、ChatGPT、GPT3.5、GPT4、Stable Diffusion、MidJourney-V4、MidJour…

基于Python大数据可视化的民族服饰数据分析系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

第十届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)

一.题目分析 (1).题目 (2).题目分析 1.参考配置界面 注意上限和下限的调整,上限值必须大于下限值,低于下限LD2会闪烁,低于上限LD1会闪烁 2.按键功能分析 B1:显示界面和设置界面相互切…

Java IO 和 NIO

在 Java 编程中,输入输出(IO)是不可或缺的部分,随着技术的发展,Java 的 IO 系统也经历了显著的变化。本文将深入探讨 Java IO 和 NIO 的历史、优缺点以及适用场景。 1. Java IO 的历史 Java IO 包(java.i…

Solidity智能合约中的异常处理(error、require 和 assert)

Solidity 中的三种抛出异常方法:error、require 和 assert 在 Solidity 开发中,异常处理是确保智能合约安全性和正确性的关键步骤。Solidity 提供了三种主要方法来抛出异常:error、require 和 assert。本文将详细介绍这三种方法的用途、实现方…

nginx+keepalived健康检查案例详解(解决nginx出现故障却不能快速切换到备份服务器的问题)

文章目录 简介配置过程前置环境请看创建健康检查脚本结果测试 简介 在我们通过nginxkeepalived实现高可用后,会发现nginx出现故障的时候keepalived并不会将虚拟ip切换到备份服务器上其原理就是nginx和keepalived是两个独立的服务,Nginx的故障状态不会触…

使用Docker-Compose部署SpringBoot项目的案例

Docker-Compose是Docker官方的一个开源项目,主要用于实现对Docker容器集群的快速编排和管理。该项目由Python编写,通过调用Docker服务提供的API来管理容器。只要所操作的平台支持Docker API,就可以利用Docker-Compose进行编排管理。Docker-Co…

【微服务即时通讯系统】——brpc远程过程调用、百度开源的RPC框架、brpc的介绍、brpc的安装、brpc使用和功能测试

文章目录 brpc1. brpc的介绍1.1 rpc的介绍1.2 rpc的原理1.3 grpc和brpc 2. brpc的安装3. brpc使用3.1 brpc接口介绍 4. brpc使用测试4.1 brpc同步和异步调用 brpc 1. brpc的介绍 1.1 rpc的介绍 RPC(Remote Procedure Call)远程过程调用,是一…