From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 20 五月 2025 23:48:08 +0800
Subject: [PATCH] 修改文件上传类型限制

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/LngLatUtils.java |   51 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/LngLatUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/LngLatUtils.java
index b83603c..56eec9c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/LngLatUtils.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/LngLatUtils.java
@@ -1,23 +1,21 @@
 package com.panzhihua.common.utlis;
 
-import com.panzhihua.common.model.vos.grid.LatLngVO;
-
 import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.panzhihua.common.model.vos.grid.LatLngVO;
+
 public class LngLatUtils {
 
-    public static boolean check(Point2D.Double _point, List<Point2D.Double> polygon)
-    {
+    public static boolean check(Point2D.Double _point, List<Point2D.Double> polygon) {
         java.awt.geom.GeneralPath peneralPath = new java.awt.geom.GeneralPath();
 
         Point2D.Double first = polygon.get(0);
         peneralPath.moveTo(first.x, first.y);
         polygon.remove(0);
 
-        for(Point2D.Double d : polygon)
-        {
+        for (Point2D.Double d : polygon) {
             peneralPath.lineTo(d.x, d.y);
         }
 
@@ -27,8 +25,17 @@
         return peneralPath.contains(_point);
     }
 
-    public static  boolean isInPolygon(List<LatLngVO> bound, double pointlng, double pointLat)
-    {
+    /**
+     *
+     * @param bound
+     *            经纬度数组
+     * @param pointlng
+     *            短
+     * @param pointLat
+     *            长
+     * @return
+     */
+    public static boolean isInPolygon(List<LatLngVO> bound, double pointlng, double pointLat) {
         Point2D.Double point = new Point2D.Double(pointlng, pointLat);
         List<Point2D.Double> pointList = new ArrayList<>();
         for (int i = 0; i < bound.size(); i++) {
@@ -36,4 +43,32 @@
         }
         return check(point, pointList);
     }
+
+    /**
+     * 从txt数据中获取经纬度
+     * 
+     * @param lngLatTxt
+     * @return
+     */
+    public static List<LatLngVO> getLatLngFromText(String lngLatTxt) {
+        List<LatLngVO> rtResult = new ArrayList<>();
+        String str = lngLatTxt.replace("[[", "");
+
+        str = str.replace("]]", "");
+        String[] loca = str.split("],\\[");
+        for (int i = 0; i < loca.length; i++) {
+            String[] loca1 = loca[i].split(",");
+            rtResult.add(new LatLngVO(Double.valueOf(loca1[0]), Double.valueOf(loca1[1])));
+        }
+        return rtResult;
+    }
+
+    public static void main(String[] args) {
+        String latLngTxt =
+            "[[104.066974,30.660293],[104.053394,30.658114],[104.059921,30.657076],[104.065231,30.657086]]";
+        List<LatLngVO> latLngList = getLatLngFromText(latLngTxt);
+
+        System.out.println(isInPolygon(latLngList, 104.063398, 30.657929));
+    }
+
 }

--
Gitblit v1.7.1