rain
2024-05-06 cbc15bffc95c486ec8fe67270d8d4e08de7b1407
src/main/java/com/dji/sample/patches/xml/mode/XMLTemplateModel.java
@@ -2,6 +2,7 @@
import com.dji.sample.patches.model.entity.LotInfo;
import com.dji.sample.patches.utils.GeoToolsUtil;
import com.dji.sample.patches.utils.PointPO;
import com.dji.sample.patches.xml.mode.share.ActionGroup;
import com.dji.sample.patches.xml.mode.share.ActionMode;
import com.dji.sample.patches.xml.mode.share.ActionTrigger;
@@ -46,14 +47,15 @@
     * @param lotInfos
     * @return
     */
    public static XMLTemplateModel init(Coordinate[] coordinates,List<LotInfo> lotInfos) {
    public static XMLTemplateModel init(List<PointPO> coordinates, List<LotInfo> lotInfos) {
        Folder folder = FolderUtils.setFloder();
        List<Placemark> placemarkList = new ArrayList<>();
        int i = 0;
        for (Coordinate c:coordinates) {
        for (PointPO pointPO:coordinates) {
            if (i != 0) {//去除第一个航点
                Coordinate c = pointPO.getCoordinate();
                Placemark placemark = PlacemarkUtils.setPlacemark(c.x + "," + c.y);
                // 增加事件组
@@ -70,16 +72,11 @@
                ActionMode actionMode = new ActionMode();
                actionMode.setActionId(0);
                actionMode.setActionActuatorFunc(CameraActionEnum.TAKE_PHOTO.getDescription());//拍照事件
                // 计算获取图斑编号
                int quotient = i / 4;
                if (i % 4 != 0) { // 检查是否有余数
                    quotient++; // 如果有余数,商加1
                }
                if (quotient == 0) quotient = 1;
//                actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto(lotInfos.get(quotient-1).getDkbh()));
                actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto("测试"));
                // 设置媒体文件名称后缀
                actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto(lotInfos.get(pointPO.getIndex()).getDkbh()));
//                actionMode.setActionActuatorFuncParam(ActionUtils.setTakePhoto("测试"));
                list.add(actionMode);
                ActionMode actionMode2 = new ActionMode();
@@ -103,7 +100,7 @@
                .author("Aix")
                .createTime(String.valueOf(System.currentTimeMillis()))
                .updateTime(String.valueOf(System.currentTimeMillis()))
                .missionConfig(MissionConfigUtils.setMissionConfig(coordinates[0].y + "," + coordinates[0].x + ",0"))
                .missionConfig(MissionConfigUtils.setMissionConfig(coordinates.get(0).getCoordinate().y + "," + coordinates.get(0).getCoordinate().x + ",0"))
                .folder(folder)
                .build();
@@ -129,7 +126,7 @@
        double airportLat = 28.624514734; // 机场纬度
        double airportLon = 115.856725497; // 机场经度
        // 解析图斑生成航点,按顺序返回
        Coordinate[] coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        List<PointPO> coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        // 初始化模板对象
        XMLTemplateModel xmlModel = XMLTemplateModel.init(coordinates, list);