本文介绍如何在The ONE仿真器批量添加静态节点,方法是将MapRouterMovement的路径设成两个相同的坐标,这样节点就移动了。

1. StationaryMovement

利用The ONE的StationaryMovement移动模型,可以设置固定的节点,如下:

Group2.groupID = B
Group2.nrofHosts = 1
Group2.movementModel = StationaryMovement
Group2.nodeLocation = 216,0

但这种方法一次只能设置一个节点坐标,如果需要批量设置很多不同坐标的节点,创建很多Group显然不现实。

2. 批量添加静态节点

使用MapRouterMovement,将移动路径设成两个相同的坐标,这样就达到了点不移动的目的,从而可以批量添加静态节点。routeFile举例如下:

LINESTRING (100 100, 100.0 100.0)  # 起点和终点的坐标一样
LINESTRING (200 200, 200.0 200.0)
LINESTRING (300 300, 300.0 300.0)
LINESTRING (400 400, 400.0 400.0)
LINESTRING (500 500, 500.0 500.0)

设置文件如下:

Group4.groupID = b
Group4.movementModel = MapRouteMovement # MapRouteMovement
Group4.routeFile = path/routFile.wkt    # routeFile
Group4.routeType = 2
Group4.nrofHosts = 5
Group4.waitTime = 0, 0
Group4.speed = 0, 0

另外,别忘了,将上述坐标做成mapFile,否则会提示地图不连通,相关内容如下:

# 设置文件
MapBasedMovement.nrofMapFiles = 1
MapBasedMovement.mapFile1 = path/mapFile.wkt

# mapFile.wkt
LINESTRING (100 100, 200.0 200.0, 300 300, 400 400, 500.0 500.0)
本文系Spark & Shine原创,转载需注明出处本文最近一次修改时间 2022-03-27 13:53

results matching ""

    No results matching ""