|
@@ -1,9 +1,7 @@
|
|
|
package cn.com.taiji.service.impl;
|
|
|
|
|
|
import cn.com.taiji.constants.TopicConstants;
|
|
|
-import cn.com.taiji.entity.BeidouShipTrackDTO;
|
|
|
-import cn.com.taiji.entity.HlxOneLevelTrackDTO;
|
|
|
-import cn.com.taiji.entity.Location;
|
|
|
+import cn.com.taiji.entity.*;
|
|
|
import cn.com.taiji.service.SimulationTrackService;
|
|
|
import cn.com.taiji.utils.LocationUtils;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
@@ -35,7 +33,6 @@ public class SimulationTrackImpl implements SimulationTrackService {
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
- List<Location> list = LocationUtils.generateLogLat("2023-02-03 00:00:00", "2023-02-03 00:00:50", 109.287806, 19.718716, 101.287806, 19.918716);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -53,6 +50,11 @@ public class SimulationTrackImpl implements SimulationTrackService {
|
|
|
private Integer beidouhlxOneLevelStatus;
|
|
|
|
|
|
|
|
|
+ HashSet<Thread> tianaoTherads = new HashSet<>();
|
|
|
+
|
|
|
+ private Integer tianaoStatus;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void beidouTrack(Integer status) {
|
|
|
//开始位置 109.67642971192785,18.18460507789732 三亚位置 西州
|
|
@@ -292,4 +294,109 @@ public class SimulationTrackImpl implements SimulationTrackService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void tianaoTrack(Integer status) {
|
|
|
+ tianaoStatus = status;
|
|
|
+ if (0 == tianaoStatus) {
|
|
|
+ Thread thread = new Thread(() -> {
|
|
|
+ while (true) {
|
|
|
+ if (tianaoStatus == 1) {
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
+ } else {
|
|
|
+ //开始位置1 109.09300314810106,19.671012727042697
|
|
|
+ //结束位置1 109.09690281197237,19.669125831751618
|
|
|
+ List<Location> list1 = LocationUtils.generateLogLatTianao("2023-02-19 14:00:00", "2023-02-19 14:30:00", 109.09300314810106, 19.671012727042697, 109.09690281197237, 19.669125831751618);
|
|
|
+ for (Location location : list1) {
|
|
|
+ TianaoNewRadar tianaoRadar = new TianaoNewRadar();
|
|
|
+ tianaoRadar.setId("202302191");
|
|
|
+ tianaoRadar.setShipId("202302191");
|
|
|
+ tianaoRadar.setFusionTime(DateUtil.now());
|
|
|
+ tianaoRadar.setShiptracktime(DateUtil.now());
|
|
|
+ tianaoRadar.setShipName("天奥模拟船舶1");
|
|
|
+ tianaoRadar.setFusionBatchNum("202302191");
|
|
|
+ tianaoRadar.setAltitude(15D);
|
|
|
+ tianaoRadar.setCourse(180D);
|
|
|
+ tianaoRadar.setRadarCode(202302191);
|
|
|
+ tianaoRadar.setReceiveTime(DateUtil.now());
|
|
|
+ tianaoRadar.setReliability("0.9");
|
|
|
+ tianaoRadar.setSpeed(18D);
|
|
|
+ tianaoRadar.setTargetSize(10D);
|
|
|
+ tianaoRadar.setTraceState("T");
|
|
|
+ tianaoRadar.setCollectTime(DateUtil.now());
|
|
|
+ tianaoRadar.setShipTrack("202302191");
|
|
|
+ tianaoRadar.setTargetProper(1D);
|
|
|
+
|
|
|
+ tianaoRadar.setLatitude(location.getLat());
|
|
|
+ tianaoRadar.setLongitude(location.getLog());
|
|
|
+
|
|
|
+ String data = JSONUtil.toJsonStr(tianaoRadar);
|
|
|
+ try {
|
|
|
+ Thread.sleep(2500);
|
|
|
+ kafkaTemplate.send(TopicConstants.TIANAO_TOPIC, data);
|
|
|
+ log.info(DateUtil.now() + "模拟天奥船舶:天奥模拟船舶1,FusionBatchNum为202302191完成");
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Thread thread1 = new Thread(() -> {
|
|
|
+ while (true) {
|
|
|
+ if (tianaoStatus == 1) {
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
+ } else {
|
|
|
+ //开始位置2 109.0929925146248,19.67097869991864
|
|
|
+ //结束位置2 109.0968340253979,19.66891947202822
|
|
|
+ List<Location> list2 = LocationUtils.generateLogLatTianao("2023-02-19 14:00:00", "2023-02-19 14:30:00", 109.0929925146248, 19.67097869991864, 109.0968340253979, 19.66891947202822);
|
|
|
+ for (Location location : list2) {
|
|
|
+ TianaoNewRadar tianaoRadar = new TianaoNewRadar();
|
|
|
+ tianaoRadar.setId("202302192");
|
|
|
+ tianaoRadar.setShipId("202302192");
|
|
|
+ tianaoRadar.setAltitude(15D);
|
|
|
+ tianaoRadar.setFusionTime(DateUtil.now());
|
|
|
+ tianaoRadar.setShiptracktime(DateUtil.now());
|
|
|
+ tianaoRadar.setShipName("天奥模拟船舶2");
|
|
|
+ tianaoRadar.setFusionBatchNum("202302192");
|
|
|
+ tianaoRadar.setCourse(180D);
|
|
|
+ tianaoRadar.setRadarCode(202302192);
|
|
|
+ tianaoRadar.setReceiveTime(DateUtil.now());
|
|
|
+ tianaoRadar.setReliability("0.9");
|
|
|
+ tianaoRadar.setSpeed(18D);
|
|
|
+ tianaoRadar.setTargetSize(10D);
|
|
|
+ tianaoRadar.setTraceState("T");
|
|
|
+ tianaoRadar.setCollectTime(DateUtil.now());
|
|
|
+ tianaoRadar.setShipTrack("202302192");
|
|
|
+ tianaoRadar.setTargetProper(0.9D);
|
|
|
+
|
|
|
+ tianaoRadar.setLatitude(location.getLat());
|
|
|
+ tianaoRadar.setLongitude(location.getLog());
|
|
|
+
|
|
|
+ String data = JSONUtil.toJsonStr(tianaoRadar);
|
|
|
+ try {
|
|
|
+ Thread.sleep(2500);
|
|
|
+ kafkaTemplate.send(TopicConstants.TIANAO_TOPIC, data);
|
|
|
+ log.info(DateUtil.now() + "模拟天奥船舶:天奥模拟船舶2,FusionBatchNum为202302192完成");
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ thread.start();
|
|
|
+ thread1.start();
|
|
|
+ tianaoTherads.add(thread);
|
|
|
+ tianaoTherads.add(thread1);
|
|
|
+ }
|
|
|
+ if (1 == tianaoStatus) {
|
|
|
+ for (Thread item : tianaoTherads) {
|
|
|
+ item.interrupt();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|