新增坐标系转换,在DB数据进出库时进行转换。优化DB成果展示的临时文件问题。
5 files modified
1 files renamed
1 files added
2 files deleted
550 ■■■■ changed files
pom.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java 22 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/service/impl/TbDkjbxxServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/utils/CoordinateSystemUtil.java 88 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java 12 ●●●●● patch | view | raw | blame | history
src/main/resources/template/wpmz/waylines.wpml 392 ●●●● patch | view | raw | blame | history
src/main/resources/tmp/mark.jpg patch | view | raw | blame | history
src/main/resources/tmp/tmp.jpg patch | view | raw | blame | history
pom.xml
@@ -269,6 +269,12 @@
            <artifactId>jave-core</artifactId>
            <version>3.0.0</version>
        </dependency>
        <!---坐标系转换工具-->
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-epsg-hsql</artifactId>
            <version>28.0</version>
        </dependency>
    </dependencies>
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java
@@ -27,16 +27,15 @@
import static com.dji.sample.patches.utils.FormatConversionUtil.getCentros;
import static com.dji.sample.patches.utils.MultipartFileTOFileUtil.convert;
import static com.dji.sample.patches.utils.ZipUtil.*;
import static com.dji.sample.territory.utils.CoordinateSystemUtil.*;
import static org.locationtech.jts.io.WKTConstants.POLYGON;
@Service
public class ShpToDataSourceServiceImpl implements ShpToDataSourceService {
    @Autowired
    private ShpToDataSourceMapper mapper;
    private ShpToDataSourceMapper shpToDataSourceMapper;
    @Autowired
    private IWaylineFileService service;
    private String head = POLYGON;
    private MultipartFile multipartFile;
@@ -44,6 +43,7 @@
    @Autowired
    private PatchesConfigPojo patchesConfigPojo;
    @Transactional
    public MultipartFile insertGeo(MultipartFile file, String workspaceId, String waylineName, double airportLat, double airportLon) throws Exception {
        List<LotInfo> list = new ArrayList<>();
@@ -67,7 +67,7 @@
            String[] points = end.split(",");
            lotInfo.setXzb(Double.valueOf(points[0]));
            lotInfo.setYzb(Double.valueOf(points[1]));
            mapper.insert(lotInfo);
            shpToDataSourceMapper.insert(lotInfo);
        }
        Coordinate[] coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        XMLTemplateModel xmlModel = XMLTemplateModel.init(coordinates, list);
@@ -79,40 +79,42 @@
        MultipartFileTOFileUtil.deleteFile(file1);
        return multipartFile;
    }
    @Transactional
    public void savaInMysql(List<TbDkjbxxEntity> list,String workspaceId){
        for (int i = 0; i <list.size() ; i++) {
            LotInfo lotInfo = new LotInfo();
            lotInfo.setWorkspaceId(workspaceId);
            lotInfo=dbConvertToEntity(list.get(i),workspaceId);
            mapper.insert(lotInfo);
            shpToDataSourceMapper.insert(lotInfo);
        }
    }
    /**
     * 将SQlite数据库中DKJBXX对象转换为LotInfo对象。
     *
     * @param file 需要转换的DKJBXX对象。
     * @return 返回一个构建好的LotInfo对象,包含从数据库实体中转换来的信息。
     */
    private LotInfo dbConvertToEntity(TbDkjbxxEntity file,String workspaceId) {
        double[] coordinates = extractCoordinates(pointCGCStoWGS(file.getXzb(), file.getYzb()));
        LotInfo.LotInfoBuilder builder = LotInfo.builder();
        if (file != null) {
            builder.bsm(file.getBsm())
                    .bz(file.getBz())
                    .dkmj(file.getDkmj())
                    .dkmc(file.getDkmc())
                    .dkbh(file.getDkbh())
                    .xmc(file.getXmc())
                    .xzb(file.getXzb())
                .xzb(coordinates[0])
                    .sfbhzdk(file.getSfbhzdk())
                    .sjlx(file.getSjlx())
                    .dkfw(file.getDkfw())
                .dkfw(poylonCGCStoWGS(file.getDkfw()))
                    .xzqdm(file.getXzqdm())
                    .yzb(file.getYzb())
                .yzb(coordinates[1])
                    .kzxx(file.getKzxx())
                    .dklx(file.getDklx())
                    .workspaceId(workspaceId)
                    .build();
        }
        return builder.build();
    }
}
src/main/java/com/dji/sample/territory/service/impl/TbDkjbxxServiceImpl.java
@@ -33,6 +33,8 @@
import static com.dji.sample.patches.utils.MultipartFileTOFileUtil.convert;
import static com.dji.sample.patches.utils.ZipUtil.zipFolder;
import static com.dji.sample.territory.utils.CoordinateSystemUtil.*;
/**
 * @PROJECT_NAME: drone
@@ -106,8 +108,7 @@
        String destKMZFile = patchesConfigPojo.getDestKMZFile() + waylineName + ".kmz"; // 输出的KMZ文件路径
        zipFolder(patchesConfigPojo.getSourceDir(), destKMZFile);
        // 将压缩文件转换为MultipartFile对象
        MultipartFile multipartFile = convert(new File(destKMZFile));
        return multipartFile;
        return convert(new File(destKMZFile));
    }
    /**
@@ -119,6 +120,7 @@
    private List<LotInfo> dbConvertToEntity(List<TbDkjbxxEntity> list) {
        List<LotInfo> infos = new ArrayList<>();
        for (TbDkjbxxEntity file : list) {
            double[] coordinates = extractCoordinates(pointCGCStoWGS(file.getXzb(), file.getYzb()));
            // 使用Builder模式构建LotInfo对象
            LotInfo.LotInfoBuilder builder = LotInfo.builder();
            if (file != null) {
@@ -129,12 +131,12 @@
                        .dkmc(file.getDkmc())
                        .dkbh(file.getDkbh())
                        .xmc(file.getXmc())
                        .xzb(file.getXzb())
                        .xzb(coordinates[0])
                        .sfbhzdk(file.getSfbhzdk())
                        .sjlx(file.getSjlx())
                        .dkfw(file.getDkfw())
                        .dkfw(poylonCGCStoWGS(file.getDkfw()))
                        .xzqdm(file.getXzqdm())
                        .yzb(file.getYzb())
                        .yzb(coordinates[1])
                        .kzxx(file.getKzxx())
                        .dklx(file.getDklx())
                        .build();
src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java
@@ -1,17 +1,15 @@
package com.dji.sample.territory.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.dji.sample.media.model.MediaFileEntity;
import com.dji.sample.patches.config.pojo.PatchesConfigPojo;
import com.dji.sample.patches.model.entity.LotInfo;
import com.dji.sample.patches.utils.MultipartFileTOFileUtil;
import com.dji.sample.territory.dao.ITbFjMapper;
import com.dji.sample.territory.model.entity.TbFjEntity;
import com.dji.sample.territory.service.ITbFJService;
import com.dji.sample.territory.utils.VideoZipUtil;
import com.dji.sample.territory.utils.WaterMark;
import com.dji.sample.territory.utils.WaterMarkUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +20,8 @@
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import static com.dji.sample.territory.utils.CoordinateSystemUtil.*;
@Service
@DS("sqlite-ret")
@@ -73,6 +73,9 @@
        JSONObject shootPosition = jsonObject.getJSONObject("shootPosition");
        Double lat = shootPosition.getDouble("lat");
        Double lng = shootPosition.getDouble("lng");
        double[] coordinates = extractCoordinates(pointWGStoCGCS(lng, lat));
        double x = Double.parseDouble(((formatCoordinate(coordinates[1]))));
        double y = Double.parseDouble(((formatCoordinate(coordinates[0]))));
        //本地数据库没有的数据在FJ表非空用0
        int psjd = 0;
        String fjhxz = "0";
@@ -93,7 +96,7 @@
        //对应图片和视频文件进行不同处理
        boolean endsWith = key.endsWith(".mp4");
        if (!endsWith) {
            file1 = WaterMark.addWatermark(file, patchesConfigPojo.getUnzip(), pssj, lat, lng);
            file1 = WaterMarkUtil.addWatermark(file, patchesConfigPojo.getUnzip(), pssj, lat, lng);
            FJ = fileToByteArray(file1);
        } else {
            file1 = VideoZipUtil.compressVideo(file, 800000, 128000, 1280, 720);
@@ -107,8 +110,8 @@
                    .dklx(dklx)
                    .xdgd(relativeAltitude)
                    .jdgd(absoluteAltitude)
                    .Latitude(lat)
                    .longitude(lng)
                    .Latitude(x)
                    .longitude(y)
                    .fj(FJ)
                    .fjmc(fjmc)
                    .fjlx(fjlx)
@@ -136,12 +139,11 @@
     */
    public File downloadFile(String fileUrl) {
        File downloadedFile = null;
        String localFilePath = patchesConfigPojo.getUnzip() + "tmp.jpg";
        try {
            URL url = new URL(fileUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            downloadedFile = new File(localFilePath);
            downloadedFile = new File(File.createTempFile("temp", ".jpeg").toURI());
            InputStream inputStream = connection.getInputStream();
            OutputStream outputStream = new FileOutputStream(downloadedFile);
            byte[] buffer = new byte[1024];
src/main/java/com/dji/sample/territory/utils/CoordinateSystemUtil.java
New file
@@ -0,0 +1,88 @@
package com.dji.sample.territory.utils;
import org.geotools.geometry.jts.JTS;
import org.geotools.referencing.CRS;
import org.locationtech.jts.geom.Geometry;
import org.locationtech.jts.io.WKTReader;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.crs.CRSAuthorityFactory;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.Point;
public class CoordinateSystemUtil {
    public static Geometry pointCGCStoWGS(Double lot, Double lat) {
        String wkt = "POINT (" + lot + " " + lat + ")";
        Geometry source = createGeometry(wkt, 4527);
        return coordinateTransform(source, 4326);
    }
    public static Geometry pointWGStoCGCS(Double lot, Double lat) {
        String wkt = "POINT (" + lot + " " + lat + ")";
        Geometry source = createGeometry(wkt, 4326);
        return coordinateTransform(source, 4527);
    }
    public static String poylonWGStoCGCS(String poylon) {
        Geometry source = createGeometry(poylon, 4326);
        Geometry transformedGeometry = coordinateTransform(source, 4527);
        return transformedGeometry.toText();
    }
    public static String poylonCGCStoWGS(String poylon) {
        Geometry source = createGeometry(poylon, 4527);
        Geometry transformedGeometry = coordinateTransform(source, 4326);
        return transformedGeometry.toText();
    }
    public static double[] extractCoordinates(Geometry geometry) {
        // 如果是点类型的几何对象,则直接提取坐标
        if (geometry instanceof Point) {
            Coordinate coordinate = geometry.getCoordinate();
            return new double[]{coordinate.getX(), coordinate.getY()};
        } else {
            // 如果不是点类型,则返回 null 或者根据需要处理其他几何对象类型
            return null;
        }
    }
    // 格式化坐标值,保留指定小数位数
    public static String formatCoordinate(double coordinate) {
        return String.format("%.15f", coordinate).replaceAll("\\.?0*$", "");
    }
    public static Geometry createGeometry(String wkt, int srid) {
        try {
            WKTReader reader = new WKTReader();
            Geometry geometry = reader.read(wkt);
            geometry.setSRID(srid);
            return geometry;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    public static Geometry coordinateTransform(Geometry sourceGeometry, int targetSrid) {
        if (sourceGeometry == null || sourceGeometry.getSRID() == 0 || targetSrid == 0) {
            return null;
        }
        try {
            CRSAuthorityFactory factory = CRS.getAuthorityFactory(true);
            CoordinateReferenceSystem source = factory.createCoordinateReferenceSystem("EPSG:" + sourceGeometry.getSRID());
            CoordinateReferenceSystem target = factory.createCoordinateReferenceSystem("EPSG:" + targetSrid);
            MathTransform transform = CRS.findMathTransform(source, target, true);
            Geometry res = JTS.transform(sourceGeometry, transform);
            if (res != null) {
                res.setSRID(targetSrid);
            }
            return res;
        } catch (FactoryException | TransformException e) {
            e.printStackTrace();
        }
        return null;
    }
}
src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
File was renamed from src/main/java/com/dji/sample/territory/utils/WaterMark.java
@@ -4,18 +4,14 @@
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import static com.dji.sample.territory.utils.ImgZipUtil.compressImageAndGetFile;
public class WaterMark {
public class WaterMarkUtil {
    /**
     * 将图片加上水印并压缩
     *
@@ -91,15 +87,15 @@
        // 释放 Graphics2D 对象
        g2d.dispose();
        // 保存添加水印后的图片
        File outputFile = new File(path + "mark.jpg");
        File outputFile = File.createTempFile("mark", ".jpg");
        File originalImageFiles = new File(outputFile.toURI());
        float compressionQuality = 0.5f; // 0.0 - 1.0, higher value means better quality
        File compressedImageFile = compressImageAndGetFile(originalImageFiles, compressionQuality);
        try {
            ImageIO.write(originalImage, "jpg", outputFile);
        } catch (IOException e) {
            throw new IllegalArgumentException("水印图片保存失败");
        }
        float compressionQuality = 0.5f; // 0.0 - 1.0, higher value means better quality
        File compressedImageFile = compressImageAndGetFile(originalImageFiles, compressionQuality);
        return compressedImageFile;
    }
src/main/resources/template/wpmz/waylines.wpml
@@ -27,7 +27,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.86,28.6203
              115.96365555439534,29.716475941547785
            </coordinates>
          </Point>
          <wpml:index>0</wpml:index>
@@ -58,7 +58,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh0</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH9</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -85,7 +85,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.86,28.6142
              115.96365555439534,29.713866368623894
            </coordinates>
          </Point>
          <wpml:index>1</wpml:index>
@@ -116,7 +116,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh0</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH9</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -143,7 +143,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8664,28.6142
              115.9660562906906,29.713866368623894
            </coordinates>
          </Point>
          <wpml:index>2</wpml:index>
@@ -174,7 +174,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh0</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH9</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -201,7 +201,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8664,28.6203
              115.9660562906906,29.716475941547785
            </coordinates>
          </Point>
          <wpml:index>3</wpml:index>
@@ -232,7 +232,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh0</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH9</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -259,7 +259,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8643,28.6357
              116.03519853650467,29.734985791781188
            </coordinates>
          </Point>
          <wpml:index>4</wpml:index>
@@ -290,7 +290,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh1</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH30</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -317,7 +317,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8643,28.6331
              116.03519853650467,29.734260467123622
            </coordinates>
          </Point>
          <wpml:index>5</wpml:index>
@@ -348,7 +348,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh1</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH30</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -375,7 +375,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.867,28.6331
              116.03584879735196,29.734260467123622
            </coordinates>
          </Point>
          <wpml:index>6</wpml:index>
@@ -406,7 +406,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh1</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH30</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -433,7 +433,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.867,28.6357
              116.03584879735196,29.734985791781188
            </coordinates>
          </Point>
          <wpml:index>7</wpml:index>
@@ -464,7 +464,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh1</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH30</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -491,7 +491,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.841,28.6317
              116.05430666373506,29.73297437675559
            </coordinates>
          </Point>
          <wpml:index>8</wpml:index>
@@ -522,7 +522,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh2</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH128</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -549,7 +549,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.841,28.6305
              116.05430666373506,29.73237741786269
            </coordinates>
          </Point>
          <wpml:index>9</wpml:index>
@@ -580,7 +580,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh2</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH128</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -607,7 +607,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.844,28.6305
              116.05524626576859,29.73237741786269
            </coordinates>
          </Point>
          <wpml:index>10</wpml:index>
@@ -638,7 +638,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh2</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH128</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -665,7 +665,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.844,28.6317
              116.05524626576859,29.73297437675559
            </coordinates>
          </Point>
          <wpml:index>11</wpml:index>
@@ -696,7 +696,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh2</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH128</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -723,7 +723,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8381,28.6187
              116.06053864502329,29.72938770837061
            </coordinates>
          </Point>
          <wpml:index>12</wpml:index>
@@ -754,7 +754,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh3</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH62</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -781,7 +781,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8381,28.6161
              116.06053864502329,29.72834046052801
            </coordinates>
          </Point>
          <wpml:index>13</wpml:index>
@@ -812,7 +812,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh3</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH62</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -839,7 +839,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8413,28.6161
              116.06152007665057,29.72834046052801
            </coordinates>
          </Point>
          <wpml:index>14</wpml:index>
@@ -870,7 +870,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh3</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH62</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -897,7 +897,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8413,28.6187
              116.06152007665057,29.72938770837061
            </coordinates>
          </Point>
          <wpml:index>15</wpml:index>
@@ -928,7 +928,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh3</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH62</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -955,7 +955,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8059,28.6239
              116.05896077289664,29.723607391068132
            </coordinates>
          </Point>
          <wpml:index>16</wpml:index>
@@ -986,7 +986,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh4</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH95</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1013,7 +1013,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8059,28.622
              116.05896077289664,29.723260373485036
            </coordinates>
          </Point>
          <wpml:index>17</wpml:index>
@@ -1044,7 +1044,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh4</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH95</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1071,7 +1071,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8102,28.622
              116.06024543429979,29.723260373485036
            </coordinates>
          </Point>
          <wpml:index>18</wpml:index>
@@ -1102,7 +1102,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh4</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH95</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1129,7 +1129,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8102,28.6239
              116.06024543429979,29.723607391068132
            </coordinates>
          </Point>
          <wpml:index>19</wpml:index>
@@ -1160,7 +1160,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh4</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH95</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1187,7 +1187,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8297,28.6659
              116.07328744724568,29.732003064280082
            </coordinates>
          </Point>
          <wpml:index>20</wpml:index>
@@ -1218,7 +1218,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh5</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH71</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1245,7 +1245,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8297,28.6604
              116.07328744724568,29.731482745847817
            </coordinates>
          </Point>
          <wpml:index>21</wpml:index>
@@ -1276,7 +1276,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh5</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH71</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1303,7 +1303,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.837,28.6604
              116.07475745687982,29.731482745847817
            </coordinates>
          </Point>
          <wpml:index>22</wpml:index>
@@ -1334,7 +1334,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh5</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH71</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1361,7 +1361,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.837,28.6659
              116.07475745687982,29.732003064280082
            </coordinates>
          </Point>
          <wpml:index>23</wpml:index>
@@ -1392,7 +1392,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh5</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH71</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1419,7 +1419,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8575,28.6791
              116.07472459298403,29.733154079670935
            </coordinates>
          </Point>
          <wpml:index>24</wpml:index>
@@ -1450,7 +1450,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh6</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH45</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1477,7 +1477,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8575,28.6762
              116.07472459298403,29.73282269004129
            </coordinates>
          </Point>
          <wpml:index>25</wpml:index>
@@ -1508,7 +1508,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh6</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH45</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1535,7 +1535,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8637,28.6762
              116.07543090289826,29.73282269004129
            </coordinates>
          </Point>
          <wpml:index>26</wpml:index>
@@ -1566,7 +1566,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh6</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH45</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1593,7 +1593,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8637,28.6791
              116.07543090289826,29.733154079670935
            </coordinates>
          </Point>
          <wpml:index>27</wpml:index>
@@ -1624,7 +1624,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh6</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH45</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1651,7 +1651,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.9122,28.6232
              116.05774811006198,29.747054068573668
            </coordinates>
          </Point>
          <wpml:index>28</wpml:index>
@@ -1682,7 +1682,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh7</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH58</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1709,7 +1709,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.9122,28.6212
              116.05774811006198,29.746637525892087
            </coordinates>
          </Point>
          <wpml:index>29</wpml:index>
@@ -1740,7 +1740,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh7</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH58</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1767,7 +1767,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.916,28.6212
              116.05837186812666,29.746637525892087
            </coordinates>
          </Point>
          <wpml:index>30</wpml:index>
@@ -1798,7 +1798,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh7</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH58</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1825,7 +1825,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.916,28.6232
              116.05837186812666,29.747054068573668
            </coordinates>
          </Point>
          <wpml:index>31</wpml:index>
@@ -1856,7 +1856,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh7</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH58</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1883,7 +1883,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8834,28.5772
              116.0613850080327,29.7505885618751
            </coordinates>
          </Point>
          <wpml:index>32</wpml:index>
@@ -1914,7 +1914,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh8</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH144</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1941,7 +1941,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8834,28.5721
              116.0613850080327,29.74988220476916
            </coordinates>
          </Point>
          <wpml:index>33</wpml:index>
@@ -1972,7 +1972,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh8</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH144</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -1999,7 +1999,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8875,28.5721
              116.06199884978851,29.74988220476916
            </coordinates>
          </Point>
          <wpml:index>34</wpml:index>
@@ -2030,7 +2030,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh8</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH144</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -2057,7 +2057,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8875,28.5772
              116.06199884978851,29.7505885618751
            </coordinates>
          </Point>
          <wpml:index>35</wpml:index>
@@ -2088,7 +2088,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh8</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH144</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -2115,7 +2115,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8576,28.5751
              116.05308705717263,29.74332811660386
            </coordinates>
          </Point>
          <wpml:index>36</wpml:index>
@@ -2146,7 +2146,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh9</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH8</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -2173,7 +2173,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8576,28.5729
              116.05308705717263,29.743149036452856
            </coordinates>
          </Point>
          <wpml:index>37</wpml:index>
@@ -2204,7 +2204,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh9</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH8</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -2231,7 +2231,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8591,28.5729
              116.05327607244435,29.743149036452856
            </coordinates>
          </Point>
          <wpml:index>38</wpml:index>
@@ -2262,7 +2262,7 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh9</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH8</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
@@ -2289,7 +2289,7 @@
        <Placemark>
          <Point>
            <coordinates>
              115.8591,28.5751
              116.05327607244435,29.74332811660386
            </coordinates>
          </Point>
          <wpml:index>39</wpml:index>
@@ -2320,7 +2320,239 @@
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点dkbh9</wpml:fileSuffix>
                <wpml:fileSuffix>航点P1BH8</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
            <wpml:action>
              <wpml:actionId>1</wpml:actionId>
              <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:gimbalHeadingYawBase>north</wpml:gimbalHeadingYawBase>
                <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
                <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
                <wpml:gimbalPitchRotateAngle>-83</wpml:gimbalPitchRotateAngle>
                <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
                <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
                <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
                <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
                <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
                <wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
          </wpml:actionGroup>
        </Placemark>
        <Placemark>
          <Point>
            <coordinates>
              116.04681246268414,29.749830419836638
            </coordinates>
          </Point>
          <wpml:index>40</wpml:index>
          <wpml:executeHeight>100</wpml:executeHeight>
          <wpml:waypointSpeed>10</wpml:waypointSpeed>
          <wpml:waypointHeadingParam>
            <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
            <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle>
            <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint>
            <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode>
            <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex>
          </wpml:waypointHeadingParam>
          <wpml:waypointTurnParam>
            <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
            <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist>
          </wpml:waypointTurnParam>
          <wpml:useStraightLine>1</wpml:useStraightLine>
          <wpml:actionGroup>
            <wpml:actionGroupId>40</wpml:actionGroupId>
            <wpml:actionGroupStartIndex>40</wpml:actionGroupStartIndex>
            <wpml:actionGroupEndIndex>40</wpml:actionGroupEndIndex>
            <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
            <wpml:actionTrigger>
              <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
            </wpml:actionTrigger>
            <wpml:action>
              <wpml:actionId>0</wpml:actionId>
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点P1BH18</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
            <wpml:action>
              <wpml:actionId>1</wpml:actionId>
              <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:gimbalHeadingYawBase>north</wpml:gimbalHeadingYawBase>
                <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
                <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
                <wpml:gimbalPitchRotateAngle>-83</wpml:gimbalPitchRotateAngle>
                <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
                <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
                <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
                <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
                <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
                <wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
          </wpml:actionGroup>
        </Placemark>
        <Placemark>
          <Point>
            <coordinates>
              116.04681246268414,29.74952429317054
            </coordinates>
          </Point>
          <wpml:index>41</wpml:index>
          <wpml:executeHeight>100</wpml:executeHeight>
          <wpml:waypointSpeed>10</wpml:waypointSpeed>
          <wpml:waypointHeadingParam>
            <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
            <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle>
            <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint>
            <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode>
            <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex>
          </wpml:waypointHeadingParam>
          <wpml:waypointTurnParam>
            <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
            <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist>
          </wpml:waypointTurnParam>
          <wpml:useStraightLine>1</wpml:useStraightLine>
          <wpml:actionGroup>
            <wpml:actionGroupId>41</wpml:actionGroupId>
            <wpml:actionGroupStartIndex>41</wpml:actionGroupStartIndex>
            <wpml:actionGroupEndIndex>41</wpml:actionGroupEndIndex>
            <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
            <wpml:actionTrigger>
              <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
            </wpml:actionTrigger>
            <wpml:action>
              <wpml:actionId>0</wpml:actionId>
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点P1BH18</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
            <wpml:action>
              <wpml:actionId>1</wpml:actionId>
              <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:gimbalHeadingYawBase>north</wpml:gimbalHeadingYawBase>
                <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
                <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
                <wpml:gimbalPitchRotateAngle>-83</wpml:gimbalPitchRotateAngle>
                <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
                <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
                <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
                <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
                <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
                <wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
          </wpml:actionGroup>
        </Placemark>
        <Placemark>
          <Point>
            <coordinates>
              116.04726448674698,29.74952429317054
            </coordinates>
          </Point>
          <wpml:index>42</wpml:index>
          <wpml:executeHeight>100</wpml:executeHeight>
          <wpml:waypointSpeed>10</wpml:waypointSpeed>
          <wpml:waypointHeadingParam>
            <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
            <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle>
            <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint>
            <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode>
            <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex>
          </wpml:waypointHeadingParam>
          <wpml:waypointTurnParam>
            <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
            <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist>
          </wpml:waypointTurnParam>
          <wpml:useStraightLine>1</wpml:useStraightLine>
          <wpml:actionGroup>
            <wpml:actionGroupId>42</wpml:actionGroupId>
            <wpml:actionGroupStartIndex>42</wpml:actionGroupStartIndex>
            <wpml:actionGroupEndIndex>42</wpml:actionGroupEndIndex>
            <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
            <wpml:actionTrigger>
              <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
            </wpml:actionTrigger>
            <wpml:action>
              <wpml:actionId>0</wpml:actionId>
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点P1BH18</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
            <wpml:action>
              <wpml:actionId>1</wpml:actionId>
              <wpml:actionActuatorFunc>gimbalRotate</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:gimbalHeadingYawBase>north</wpml:gimbalHeadingYawBase>
                <wpml:gimbalRotateMode>absoluteAngle</wpml:gimbalRotateMode>
                <wpml:gimbalPitchRotateEnable>1</wpml:gimbalPitchRotateEnable>
                <wpml:gimbalPitchRotateAngle>-83</wpml:gimbalPitchRotateAngle>
                <wpml:gimbalRollRotateEnable>0</wpml:gimbalRollRotateEnable>
                <wpml:gimbalRollRotateAngle>0</wpml:gimbalRollRotateAngle>
                <wpml:gimbalYawRotateEnable>0</wpml:gimbalYawRotateEnable>
                <wpml:gimbalYawRotateAngle>0</wpml:gimbalYawRotateAngle>
                <wpml:gimbalRotateTimeEnable>0</wpml:gimbalRotateTimeEnable>
                <wpml:gimbalRotateTime>0</wpml:gimbalRotateTime>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
          </wpml:actionGroup>
        </Placemark>
        <Placemark>
          <Point>
            <coordinates>
              116.04726448674698,29.749830419836638
            </coordinates>
          </Point>
          <wpml:index>43</wpml:index>
          <wpml:executeHeight>100</wpml:executeHeight>
          <wpml:waypointSpeed>10</wpml:waypointSpeed>
          <wpml:waypointHeadingParam>
            <wpml:waypointHeadingMode>followWayline</wpml:waypointHeadingMode>
            <wpml:waypointHeadingAngle>0</wpml:waypointHeadingAngle>
            <wpml:waypointPoiPoint>0.000000,0.000000,0.000000</wpml:waypointPoiPoint>
            <wpml:waypointHeadingPathMode>followBadArc</wpml:waypointHeadingPathMode>
            <wpml:waypointHeadingPoiIndex>0</wpml:waypointHeadingPoiIndex>
          </wpml:waypointHeadingParam>
          <wpml:waypointTurnParam>
            <wpml:waypointTurnMode>toPointAndStopWithDiscontinuityCurvature</wpml:waypointTurnMode>
            <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist>
          </wpml:waypointTurnParam>
          <wpml:useStraightLine>1</wpml:useStraightLine>
          <wpml:actionGroup>
            <wpml:actionGroupId>43</wpml:actionGroupId>
            <wpml:actionGroupStartIndex>43</wpml:actionGroupStartIndex>
            <wpml:actionGroupEndIndex>43</wpml:actionGroupEndIndex>
            <wpml:actionGroupMode>sequence</wpml:actionGroupMode>
            <wpml:actionTrigger>
              <wpml:actionTriggerType>reachPoint</wpml:actionTriggerType>
            </wpml:actionTrigger>
            <wpml:action>
              <wpml:actionId>0</wpml:actionId>
              <wpml:actionActuatorFunc>takePhoto</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
                <wpml:fileSuffix>航点P1BH18</wpml:fileSuffix>
                <wpml:payloadLensIndex>wide,ir</wpml:payloadLensIndex>
                <wpml:useGlobalPayloadLensIndex>1</wpml:useGlobalPayloadLensIndex>
              </wpml:actionActuatorFuncParam>
src/main/resources/tmp/mark.jpg
Binary files differ
src/main/resources/tmp/tmp.jpg
Binary files differ