本文介绍如何在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)