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

news2024/9/29 10:16:50

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.coloradmin.cn/o/2176406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源AI智能名片链动2+1模式S2B2C商城小程序的内容营销易读性策略

摘要:在数字化时代,内容营销已成为企业吸引用户、促进转化的关键手段。然而,面对“懒”这一普遍的人性弱点,如何使内容更加易读、减少用户思考负担,成为提升营销效果的重要议题。本文基于“别让我思考”的可用性设计原…

TypeScript 设计模式之【模板方法模式】

文章目录 模板方法模式:制作美味咖啡的标准流程模板方法模式的奥秘模板方法模式有什么利与弊?如何使用模板方法模式来优化你的系统代码实现案例模板方法模式的主要优点模板方法模式的主要缺点模板方法模式的适用场景总结 模板方法模式:制作美味咖啡的标…

LeetCode讲解篇之15. 三数之和

文章目录 题目描述题解思路题解代码 题目描述 题解思路 这道题如果我们直接使用三层循环暴力搜索,时间复杂度是O(n3),大概率会超时 那还有更优解吗,答案是绝对的,查询搜索想要优化,就要思考如何进行排除法加速搜索过…

【2023工业3D异常检测文献】基于混合融合的多模态工业异常检测方法Multi-3D-Memory (M3DM)

Multimodal Industrial Anomaly Detection via Hybrid Fusion 1、Background 随着3D传感器的发展,最近发布了具有2D图像和3D点云数据的MVTec-3D AD数据集,促进了多模态工业异常检测的研究。 无监督异常检测的核心思想是找出正常表示与异常之间的差异。…

爵士编曲:walking bass写法

写法 经常会出现在爵士、布鲁斯或者相关的衍生以及融合风格。 特征 1.基础形态是一拍一下顺着和弦音上行或者下行 2.和弦连接处可尝试凑级进” 3.注意和弦起始的第一拍要落在根音 4.音符可以八度跳进 5.加入半音经过音 6.加入Swing律动 还可以在一拍一下的基础上 7.加入音阶进一…

新160个crackme - 068-figugegl.3

运行分析 需破解Name和Serial有指定Name或Serial长度 PE分析 LCC-Win32编写的C语言程序,32位,无壳 静态分析&动态调试 ida找到可以字符串,双击进入 程序比较简单,直接静态分析,注释如上,逻辑如下&#…

FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存Native视频时序生成RGB转HDMI输出模块Windows版本XDMA驱动安装Linux版本XDMA驱动安装工程源…

【Python】Mininet:网络虚拟化的利器

在当今网络技术迅速发展的背景下,网络虚拟化技术得到了广泛应用。Mininet 是一个轻量级的网络虚拟化工具,它使得用户能够在一台物理主机上创建一个完整的网络环境。这对于网络研究、教学、原型设计等场景都具有重要意义。Mininet 提供了简单的命令行接口…

【Python】bilibili实现批量发送弹幕功能

首先在直播间拿到发送弹幕的请求信息: 填写这里的信息: 在这里: 输入房间号,进行爆破: 效果如下: 代码如下: import random import time import requests from tkinter import *# 弹幕…

MySQL --事务

文章目录 1.什么是事务1.1为什么会出现事务1.2 事务的版本支持1.3 事务提交方式1.4事务常见操作方式1.4.1正常演示 - 证明事务的开始与回滚1.4.2非正常演示1 - 证明未commit,客户端崩溃,MySQL自动会回滚(隔离级别设置为读未提交)1…

grafana加载缓慢解决方案

背景 目前随着数据和图表的逐渐增多,Grafana 页面加载速度明显变慢,严重影响了用户体验,几次都有骂娘的冲动.,因此我们需要对 Grafana 进行优化,以提升加载性能。 对于速度优化,我们可以从以下方面进行入…

小程序-使用npm包

小程序对 npm 的支持与限制 目前,小程序中已经支持使用 npm 安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用 npm 包有如下 3 个限制: 不支持依赖于 Node.js 内置库的包不支持依赖于浏览器内置对象的包不支持依赖…

2015年国赛高教杯数学建模B题互联网+时代的出租车资源配置解题全过程文档及程序

2015年国赛高教杯数学建模 B题 互联网时代的出租车资源配置 出租车是市民出行的重要交通工具之一,“打车难”是人们关注的一个社会热点问题。随着“互联网”时代的到来,有多家公司依托移动互联网建立了打车软件服务平台,实现了乘客与出租车司…

在VM虚拟机上进行磁盘扩容

将/dev/mapper/ol-root从100G扩容到105G 初始状态的/dev/mapper/ol-root分配了100G 在VM上新增一个5G的物理硬盘 创建PV并纳入VG 对原本的LV扩容 扩大文件系统 完成。

vue框架学习 -- 日历控件 FullCalendar 使用总结

最近在项目中要实现日期排班的功能,正好要用到日历视图的控件,经过对比发现,vue 中 使用 FullCalendar 可以实现相关需求,下面对使用过程做一个总结。 一. 引入 FullCalendar 控件 package.json 中添加相关依赖 "dependen…

无人机专业实操重要性凸显,组装、调试、改装技术详解

无人机专业的实操性在当今技术飞速发展的背景下显得尤为重要,这不仅体现在无人机的日常应用上,还贯穿于无人机的组装、调试及改装等关键环节中。以下是对这些技术环节的详细解析: 一、无人机组装技术 无人机的组装是无人机技术的基础&#x…

828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评

目录 一、Flexus X实例概述 1.1 Flexus X实例 1.2 在mysql方面的优势 二、在服务器上安装MySQL 2.1 在宝塔上安装docker 2.2 使用宝塔安装mysql 2.3 准备测试数据库和数据库表 三、安装sysbench并进行性能测试 3.1 使用yum命令sysbench 3.2 运行 sysbench 并进行性能测…

Jumpserver堡垒机应用部署案例

本案例主要讲述了如何安装Jumpserver堡垒机应用,以及使用Jumpserver堡垒机对接OpenStack平台进行管理 一、OpenStack平台对接堡垒机 案例准备 1.规划节点 IP 主机名 节点 192.168.20.21 controller OpenStack Controller节点 192.168.20.22 jumpserver O…

0基础跟德姆(dom)一起学AI 机器学习02-KNN算法

【理解】KNN算法思想 K-近邻算法(K Nearest Neighbor,简称KNN)。比如:根据你的“邻居”来推断出你的类别 KNN算法思想:如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别,则该样本也属…

从事人工智能学习Python还是学习C++?

人工智能(Artificial Intelligence,简称AI)是当今科技领域最热门的研究方向之一。AI 涉及多个学科和技术,特别是机器学习、神经网络、深度学习等技术的应用。在AI的开发过程中,编程语言的选择对于开发效率和项目实现至…