rain
2024-04-10 bc2ebb48969794a75e5f13ae3b8554557c3e7dbe
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java
@@ -1,7 +1,5 @@
package com.dji.sample.patches.service.impl;
import com.dji.sample.common.error.CommonErrorEnum;
import com.dji.sample.component.mqtt.model.RequestsReply;
import com.dji.sample.patches.dao.ShpToDataSourceMapper;
import com.dji.sample.patches.model.entity.LotInfo;
import com.dji.sample.patches.service.ShpToDataSourceService;
@@ -14,6 +12,7 @@
import com.dji.sample.wayline.service.IWaylineFileService;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@@ -27,18 +26,20 @@
@Service
public class ShpToDataSourceServiceImpl implements ShpToDataSourceService {
    @Autowired
    private ShpToDataSourceMapper mapper;
    @Autowired
    private IWaylineFileService service;
    String head = POLYGON;
    String sourceDir = "/home/drone/server/template/wpmz/"; // 源文件夹路径
    @Value("${Patches.url.path.kmz.sourceDir}")
    String sourceDir ;
    @Value("${Patches.url.path.kmz.destKMZFile}")
    String outkmz;
    MultipartFile multipartFile;
    String json;
    public MultipartFile insertGeo(MultipartFile file, String workspaceId,String waylineName, double airportLat, double airportLon) throws Exception {
        List<LotInfo> list = new ArrayList<>();
        MultipartFileTOFileUtil multipartFileTOFileUtil = new MultipartFileTOFileUtil();
@@ -63,20 +64,17 @@
            lotInfo.setXzb(Double.valueOf(points[0]));
            lotInfo.setYzb(Double.valueOf(points[1]));
            mapper.insert(lotInfo);
            list.add(lotInfo);
        }
        Coordinate[] coordinates = GeoToolsUtil.getRoutePointOrder(list, airportLat, airportLon);
        XMLTemplateModel xmlModel = XMLTemplateModel.init(coordinates, list);
        CreateWaylineFileUtils.createWaylineFile(xmlModel);
        // 压缩文件夹中的内容
        String destKMZFile = "/home/drone/server/template/kmz/"+waylineName+".kmz"; // 输出的KMZ文件路径
        String destKMZFile = outkmz+waylineName+".kmz"; // 输出的KMZ文件路径
        zipFolder(sourceDir, destKMZFile);
        multipartFile = convert(new File("/home/drone/server/template/kmz/"+waylineName+".kmz"));
        multipartFile = convert(new File(destKMZFile));
        return multipartFile;
    }
}
    }