From 7f6e42163928987b55894e9c3a3eb085f8a0e61c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 23 四月 2023 15:20:43 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/show/InquiryService.java | 61 +++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/InquiryService.java b/src/main/java/com/lf/server/service/show/InquiryService.java index f37172e..51a0a1a 100644 --- a/src/main/java/com/lf/server/service/show/InquiryService.java +++ b/src/main/java/com/lf/server/service/show/InquiryService.java @@ -1,5 +1,7 @@ package com.lf.server.service.show; +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.DownloadTileEntity; import com.lf.server.entity.ctrl.ShpRecordEntity; import com.lf.server.entity.data.MetaFileEntity; @@ -10,6 +12,9 @@ import com.lf.server.helper.StringHelper; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.io.File; +import java.util.ArrayList; import java.util.List; /** @@ -18,6 +23,9 @@ */ @Service public class InquiryService { + @Resource + PropertiesConfig config; + /** * 璇诲彇Shp绗竴鏉¤褰曠殑WKT */ @@ -40,11 +48,58 @@ } /** - * 涓嬭浇鐡︾墖 + * 鎵撳寘鐡︾墖 */ - public String downloadTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) { + public String zipTiles(DownloadTileEntity dt, PublishEntity pub, UserEntity ue) { + if (!TilePathExist(pub)) { + return null; + } + List<String> list = findTiles(dt, pub); + if (list.isEmpty()) { + return null; + } - return ""; + return "aaa"; + } + + /** + * 鐡︾墖璺緞鏄惁瀛樺湪 + */ + private boolean TilePathExist(PublishEntity pub) { + String tilePath = config.getTilePath().replace("2d\\tiles", "") + File.separator + pub.getPath(); + + File f = new File(tilePath); + if (!f.exists() || !f.isDirectory()) { + return false; + } + + pub.setPath(tilePath); + + return true; + } + + /** + * 鏌ユ壘鐡︾墖 + */ + private List<String> findTiles(DownloadTileEntity dt, PublishEntity pub) { + List<String> list = new ArrayList<>(); + for (int i = 0; i < StaticData.I23; i++) { + findTilesByZoom(dt, pub, i, list); + } + + return list; + } + + /** + * 鏍规嵁灞傛鏌ユ壘鐡︾墖 + */ + private void findTilesByZoom(DownloadTileEntity dt, PublishEntity pub, int zoom, List<String> list) { + File f = new File(pub.getPath() + File.separator + zoom); + if (!f.exists() || !f.isDirectory()) { + return; + } + + // } } -- Gitblit v1.9.3