package com.zy.acs.manager.common.utils;
|
|
import com.alibaba.fastjson.JSON;
|
import com.zy.acs.common.utils.GsonUtils;
|
import com.zy.acs.framework.common.Cools;
|
|
import java.util.*;
|
|
/**
|
* Created by vincent on 8/7/2024
|
*/
|
public class MapDataUtils {
|
|
public static List<String> parseWaveNode(String waveNodeStr) {
|
List<String> waveNodeList = new ArrayList<>();
|
if (Cools.isEmpty(waveNodeStr)) {
|
return waveNodeList;
|
}
|
return JSON.parseArray(waveNodeStr, String.class);
|
}
|
|
public static List<Double> parseCdaNode(String cdaNodeStr) {
|
List<Double> waveNodeList = new ArrayList<>();
|
if (Cools.isEmpty(cdaNodeStr)) {
|
return waveNodeList;
|
}
|
return JSON.parseArray(cdaNodeStr, Double.class);
|
}
|
|
public static List<String> hasOtherWave(List<String> list, String vehicle) {
|
if (Cools.isEmpty(list)) {
|
return list;
|
}
|
list.removeIf(next -> next.equals(vehicle));
|
return list;
|
}
|
|
public static String generateWaveNode(String originStr, String waveNode) {
|
List<String> originNode = GsonUtils.fromJsonToList(originStr, String.class);
|
Set<String> set = new HashSet<>(originNode);
|
set.add(waveNode);
|
return GsonUtils.toJson(set);
|
}
|
|
public static Double getVehicleWaveSafeDistance(Integer diameter, Double factor) {
|
if (Cools.isEmpty(diameter)) {
|
return 0.0D;
|
}
|
factor = Optional.ofNullable(factor).orElse(1.0D);
|
return diameter * factor;
|
}
|
|
}
|