From 0db692fe0e8d9dcbf5c1ca17373893e9ef09875a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 13 九月 2024 17:51:38 +0800 Subject: [PATCH] 123 --- src/main/java/com/se/simu/service/SedbService.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/se/simu/service/SedbService.java b/src/main/java/com/se/simu/service/SedbService.java index d3a5e76..9fbaca0 100644 --- a/src/main/java/com/se/simu/service/SedbService.java +++ b/src/main/java/com/se/simu/service/SedbService.java @@ -1,5 +1,6 @@ package com.se.simu.service; +import cn.hutool.core.io.FileUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -7,6 +8,7 @@ import com.se.simu.domain.SeField; import com.se.simu.domain.SeLayer; import com.se.simu.helper.RsaHelper; +import com.se.simu.helper.ShpHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -15,6 +17,7 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; +import java.io.File; import java.util.*; import java.util.stream.Collectors; @@ -28,6 +31,9 @@ @Service @SuppressWarnings("ALL") public class SedbService { + @Value("${sys.path.in}") + String inPath; + @Value("${sedb.host}") String host; @@ -54,11 +60,11 @@ String password; - @Resource RestTemplate restTemplate; - public String test() throws Exception { + public boolean test() throws Exception { + // 469538.6536261877,4416744.922022615,469853.14714664617,4417049.378602433 String bbox = "116.64388473935195,39.884315914604464,116.64754729082588,39.887069143903496"; String token = getToken(); @@ -69,7 +75,9 @@ List<SeLayer> layers = getLayers(token, db.getDbid()); queryData(token, db, layers); - return db.getDbid(); + createShps(inPath + "\\20240913", layers); + + return true; } public String getToken() throws Exception { @@ -155,7 +163,7 @@ } } - public int getCount(String token, SeDb db, SeLayer layer) { + private int getCount(String token, SeDb db, SeLayer layer) { Map<String, Object> map = new HashMap<>(6); map.put("token", token); map.put("dbid", db.getDbid()); @@ -170,7 +178,7 @@ return obj.getInt("data"); } - public JSONArray query(String token, SeDb db, SeLayer layer, int start, int count) { + private JSONArray query(String token, SeDb db, SeLayer layer, int start, int count) { Map<String, Object> map = new HashMap<>(9); map.put("token", token); map.put("start", start); @@ -189,4 +197,19 @@ return data.getJSONArray("features"); } + + public void createShps(String basePath, List<SeLayer> layers) throws Exception { + File f = new File(basePath); + if (f.exists() && f.isDirectory()) { + FileUtil.del(f); + } + f.mkdirs(); + + for (SeLayer layer : layers) { + String path = String.format("%s\\%s.shp", basePath, layer.getShpName()); + if (!ShpHelper.createShp(path, layer)) { + throw new Exception(layer.getName() + "锛屽垱寤篠hapeFile鏂囦欢澶辫触锛�"); + } + } + } } -- Gitblit v1.9.3