From 8d9a2d656e4ae007590c622e5f7c228adacdca49 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 14 Jun 2024 10:11:36 +0800
Subject: [PATCH] 统一风格

---
 src/main/java/com/dji/sample/patches/utils/FormatConversionUtil.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/dji/sample/patches/utils/FormatConversionUtil.java b/src/main/java/com/dji/sample/patches/utils/FormatConversionUtil.java
index 9e8923f..288d711 100644
--- a/src/main/java/com/dji/sample/patches/utils/FormatConversionUtil.java
+++ b/src/main/java/com/dji/sample/patches/utils/FormatConversionUtil.java
@@ -1,20 +1,35 @@
 package com.dji.sample.patches.utils;
 
-import java.util.List;
+import com.dji.sample.patches.model.entity.LotInfo;
+import org.geotools.geometry.jts.JTSFactoryFinder;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
 
-import static org.locationtech.jts.io.WKTConstants.POLYGON;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
+
+import static com.dji.sample.patches.utils.GeoToolsUtil.getCentro;
+import static com.dji.sample.patches.utils.GeoToolsUtil.getExtremePoints;
 
 public class FormatConversionUtil {
+    static String str = "";
+    //优化Polygon格式
     public static String[] formatConversion(List<String> s) {
         String str = s.toString().trim();
         String ses = str.substring(1, str.length() - 2);
         String see = ses.replaceAll("\\[\\[\\[\\[", "((")
-                        .replaceAll("].\\[", " ")
-                        .replaceAll("]]]", "))");
+                .replaceAll("].\\[", " ")
+                .replaceAll("]]]", "))");
         String[] arr1 = see.split("],");
         return arr1;
     }
-
+    //优化Polygon格式
     public static String modifySpacesAndCommas(String str) {
         StringBuilder modified = new StringBuilder();
         for (char c : str.toCharArray()) {
@@ -28,4 +43,26 @@
         }
         return modified.toString();
     }
+    //获取Polygon的中心点,X轴和Y轴
+    public static String getCentros(List<LotInfo> list) {
+        List<Coordinate> centros = new ArrayList<>();
+        list.forEach(patche -> {
+            String wkt = patche.getDkfw();
+            // 解析WKT字符串为多边形
+            WKTReader wktReader = new WKTReader(JTSFactoryFinder.getGeometryFactory());
+            Geometry polygon = null;
+            try {
+                polygon = wktReader.read(wkt);
+            } catch (ParseException e) {
+                throw new RuntimeException(e);
+            }
+
+            // 开始封装中心点坐标
+            Coordinate coordinateCentro = getCentro(polygon);
+            centros.add(coordinateCentro);
+            str = coordinateCentro.toString();
+        });
+        return str;
+    }
+
 }

--
Gitblit v1.9.3