package com.example.demo.service;
import com.example.demo.pojo.DataSets;
import com.example.demo.pojo.page0.*;
import com.example.demo.pojo.page1.*;
import com.example.demo.pojo.page2.Delay;
import com.example.demo.pojo.page2.Router;
import com.example.demo.pojo.page2.SpecialData;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class GetData {
public DataSets fileInit(int id,int target) throws Exception {
String file = "C:\\OMNeT\\output\\nodes_"+id+"_data.txt";
BufferedReader br = new BufferedReader(new FileReader(file));
DataSets sets = new DataSets();
NodeInfo nodeInformation = new NodeInfo();
Frequency frequency = new Frequency();
Load load = new Load();
Pie pie = new Pie();
Resource resource = new Resource();
TimeDelay timeDelay = new TimeDelay();
Router router = new Router();
Delay delay = new Delay();
br.readLine();
nodeInformation.setId(Integer.parseInt(br.readLine()));//节点编号
br.readLine();
int identity = Integer.parseInt(br.readLine());
if(identity == 0){ //节点身份
nodeInformation.setNodeCharacter("簇头");
}
else if(identity == 1){
nodeInformation.setNodeCharacter("普通节点");
}
else {
nodeInformation.setNodeCharacter("干扰节点");
}
br.readLine();
String str = br.readLine();
nodeInformation.setLocation(StringToDouble(str.split(",")));
br.readLine();
nodeInformation.setStatus(Integer.parseInt(br.readLine()));
br.readLine();
nodeInformation.setTime(Double.parseDouble(br.readLine()));
br.readLine();
nodeInformation.setFrequency(Integer.parseInt(br.readLine()));
br.readLine();
nodeInformation.setCluster(Integer.parseInt(br.readLine()));
br.readLine();
frequency.setData1(StringToInt(br.readLine().split(",")));
br.readLine();
frequency.setData2(StringToInt(br.readLine().split(",")));
br.readLine();
frequency.setData3(Integer.parseInt(br.readLine()));
br.readLine();
load.setData1(Double.parseDouble(br.readLine()));
br.readLine();
load.setData2(Double.parseDouble(br.readLine()));
br.readLine();
pie.setData1(Double.parseDouble(br.readLine()));
br.readLine();
pie.setData2(Double.parseDouble(br.readLine()));
if(pie.getData2() <= 20){
delay.setFlash(true);
}else {
delay.setFlash(false);
}
br.readLine();
pie.setData3(Integer.parseInt(br.readLine()));
br.readLine();
resource.setData1(StringToInt(br.readLine().split(","))); //已分时隙
br.readLine();
resource.setData2(StringToInt(br.readLine().split(","))); //剩余时隙
if(Integer.parseInt(br.readLine()) != 0){
resource.setData3(StringToDouble(br.readLine().split(","))); //总投递率
}
if(Integer.parseInt(br.readLine()) != 0){
br.readLine();
// String[] temp = br.readLine().split(","); //总时延
// for(String s : temp){
// if(delay.delay.size()<12){
// delay.delay.add(Double.parseDouble(s));
// }else {
// delay.delay.remove(0);
// delay.delay.add(Double.parseDouble(s));
// }
// }
}
delay = getDelay(delay, target);
// int number = Integer.parseInt(br.readLine()); //timeDelay数据条数
//// List<Double> list = new ArrayList<>();
// for(int i = 0; i < number; i++){
// String[] string = br.readLine().split(",");
// timeDelay.init(Integer.parseInt(string[0]),Double.parseDouble(string[1]));
// }
int number = Integer.parseInt(br.readLine()); //timeDelay数据条数
if(number != 0){
List<Integer> list = new ArrayList<>();
for(int i = 0; i < number; i++){
String[] string = br.readLine().split(",");
int index = Integer.parseInt(string[0]);
timeDelay.init(index,Double.parseDouble(string[1]));
list.add(index);
}
if(list.size() != 0){
for(int i = 0; i < 9; i++){
if (!list.contains(i)){
timeDelay.init(i,0);
}
}
}
}
sets.setFrequency(frequency);
sets.setLoad(load);
sets.setNodeInfo(nodeInformation);
sets.setPie(pie);
sets.setResource(resource);
sets.setTimeDelay(timeDelay);
// for(double d : list.toArray(new Double[]{})){
// System.out.println(d);
// }
if(id == 17 && target == 6){
SpecialData specialData = seventeen_to_six();
if(delay.power.size()<12){
delay.power.add(specialData.getPower());
}else {
delay.power.remove(0);
delay.power.add(specialData.getPower());
}
if(delay.jump.size()<12){
delay.jump.add(specialData.getJump()); //跳数= 路径长度-1
}else {
delay.jump.remove(0);
delay.jump.add(specialData.getJump());
}
router.setCurrent_nodes(specialData.getRoutes());
router.setInit_nodes(specialData.getRoutes());
}else {
int route_number = Integer.parseInt(br.readLine());
for(int i = 0; i < route_number; i++){
String[] string = br.readLine().split(",");
if(Integer.parseInt(string[string.length - 2])==target){
int[] temp = new int[string.length -1];
for(int j = 0; j < string.length -1; j++){
temp[j] = Integer.parseInt(string[j]);
}
if(delay.power.size()<12){
delay.power.add(Double.parseDouble(string[string.length-1]));
}else {
delay.power.remove(0);
delay.power.add(Double.parseDouble(string[string.length-1]));
}
if(delay.jump.size()<12){
delay.jump.add(temp.length-1); //跳数= 路径长度-1
}else {
delay.jump.remove(0);
delay.jump.add(temp.length-1);
}
router.setCurrent_nodes(temp);
router.setInit_nodes(temp);
}
}
}
sets.setRouter(router);
sets.setDelay(delay);
// System.out.println(router.toString());
// System.out.println(frequency.toString());
// System.out.println(load.toString());
// System.out.println(nodeInformation.toString());
// System.out.println(resource.toString());
// System.out.println(timeDelay.toString());
// System.out.println(pie.toString());
br.close();
return sets;
}
public DataSets fileInput(int id,DataSets sets, int target) throws IOException {
String file = "C:\\OMNeT\\output\\nodes_"+id+"_data.txt";
BufferedReader br = new BufferedReader(new FileReader(file));
br.readLine();
sets.getNodeInfo().setId(Integer.parseInt(br.readLine()));//节点编号
br.readLine();
int identity = Integer.parseInt(br.readLine());
if(identity == 0){ //节点身份
sets.getNodeInfo().setNodeCharacter("簇头");
}
els
没有合适的资源?快使用搜索试试~ 我知道了~
无人机后端开发java无人机后端开发java
共32个文件
java:25个
properties:2个
xml:1个
需积分: 5 1 下载量 171 浏览量
2024-04-03
07:28:04
上传
评论
收藏 81KB ZIP 举报
温馨提示
无人机后端开发java无人机后端开发java无人机后端开发java
资源推荐
资源详情
资源评论
收起资源包目录
uav-test-master.zip (32个子文件)
uav-test-master
mvnw.cmd 7KB
pom.xml 5KB
src
test
java
com
example
demo
DemoApplicationTests.java 2KB
main
resources
application.properties 395B
java
com
example
demo
DemoApplication.java 317B
pojo
page1
Pie.java 743B
NodeInfo.java 2KB
Frequency.java 970B
Resource.java 815B
TimeDelay.java 4KB
Load.java 554B
page0
TopoNodePosition.java 923B
Links.java 462B
NewGraphData.java 889B
LineStyle.java 600B
MyLink.java 1KB
Topo.java 963B
page2
Router.java 713B
Delay.java 1KB
SpecialData.java 775B
DataSets.java 2KB
service
GetData.java 21KB
config
MessageInfoStructure.java 575B
SocketConfig.java 1KB
MyTaskPlus.java 517B
MyTask.java 596B
ServerRunner.java 777B
MessageEventHandler.java 6KB
.mvn
wrapper
maven-wrapper.properties 233B
maven-wrapper.jar 57KB
mvnw 10KB
.gitignore 395B
共 32 条
- 1
资源评论
十小大
- 粉丝: 9770
- 资源: 2556
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- xlsxhandler
- 问题1 只考虑使用A类无人机,请给出公交与无人机协同配送方案,使总费用最小;要求给出具体的飞行路径及时刻表无人机.xlsx
- NCSU PDK 45nm
- E语言 CompleteUI-窗体控件美化支持库1.0版(静态版CompleteUI.fne)
- PyQt5实现PDF预览
- VMware-ESXI7.0.2镜像
- YOLOv8绘制map曲线图,采用matlab实现
- 毕业设计基于mysql+php实现的外卖点餐系统源码+答辩PPT+项目说明文档.zip
- OCPP-2.0.1 欧洲V2G开放充电协议
- 无人机自主导航-基于强化学习实现的无人机自主导航-附项目源码-优质项目实战.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功