From da1432df263aa1aa4390f54b2635bb70e7f5207b Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 22 八月 2023 11:24:16 +0800
Subject: [PATCH] 优化实体

---
 ard-work/src/main/java/com/ruoyi/utils/tools/Point.java                                   |    9 +++++++++
 ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java                                 |   18 +++++++++---------
 ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java |    4 +---
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java    |    4 +---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java                 |    4 +---
 5 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
index 3a88178..a9d10ef 100644
--- a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -202,9 +202,7 @@
                     if (lon == null || lat == null) {
                         continue;
                     }
-                    Point point2D=new Point();
-                    point2D.setLongitude(lon);
-                    point2D.setLatitude(lat);
+                    Point point2D=new Point(lon,lat);
                     boolean inPolygon = GisTool.isInPolygon(point2D, partitionLocation);
                     if (inPolygon) {
                         Map<String, Object> params = new HashMap<>();
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
index 6e25a85..fd602a2 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -375,9 +375,7 @@
                     continue;
                 }
                 /*鍒ゆ柇鍧愭爣鏄惁鍦ㄥ杈瑰舰鑼冨洿鍐�*/
-                Point camPosition=new Point();
-                camPosition.setLongitude(camera.getLongitude());
-                camPosition.setLatitude(camera.getLatitude());
+                Point camPosition=new Point(camera.getLongitude(),camera.getLatitude());
                 boolean inPolygon = GisTool.isInPolygon(camPosition, partitionLocation);
                 if (inPolygon) {
                     /*鑾峰彇閫氶亾鍒楄〃*/
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 4cf89fa..51d7958 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -1143,9 +1143,7 @@
                 List<Map<String, Object>> carGPSMap = (List<Map<String, Object>>) carGPSTrack.get("list");
                 Double lng = Double.valueOf((String) carGPSMap.get(0).get("lng"));
                 Double lat = Double.valueOf((String) carGPSMap.get(0).get("lat"));
-                Point point = new Point();
-                point.setLongitude(lng);
-                point.setLatitude(lat);
+                Point point = new Point(lng,lat);
                 boolean inPolygon = GisTool.isInPolygon(point, partitionLocation);
                 if (inPolygon) {
                     carMap.put("longitude", lng);
diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java b/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java
index 48c156f..4682ff7 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/tools/GisTool.java
@@ -35,15 +35,15 @@
     }
 
     public static void main(String[] args) {
-//        // 琚娴嬬殑缁忕含搴︾偣
-//        Point point= new Point(126.649261,45.687377);
-//        // 鍟嗕笟鍖哄煙锛堢櫨搴﹀杈瑰舰鍖哄煙缁忕含搴﹂泦鍚堬級
-//        List<Point> partitionLocation = new ArrayList<>();
-//        partitionLocation.add(new Point(126.64459,45.688548));
-//        partitionLocation.add(new Point(126.653376,45.68938));
-//        partitionLocation.add(new Point(126.645776,45.685048));
-//        partitionLocation.add(new Point(126.654184,45.685778));
-//        System.out.println(isInPolygon(point,partitionLocation));
+        // 琚娴嬬殑缁忕含搴︾偣
+        Point point= new Point(126.649261,45.687377);
+        // 鍟嗕笟鍖哄煙锛堢櫨搴﹀杈瑰舰鍖哄煙缁忕含搴﹂泦鍚堬級
+        List<Point> partitionLocation = new ArrayList<>();
+        partitionLocation.add(new Point(126.64459,45.688548));
+        partitionLocation.add(new Point(126.653376,45.68938));
+        partitionLocation.add(new Point(126.645776,45.685048));
+        partitionLocation.add(new Point(126.654184,45.685778));
+        System.out.println(isInPolygon(point,partitionLocation));
     }
 
     /**
diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java b/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java
index eb1daf8..67f6b4a 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/tools/Point.java
@@ -1,7 +1,10 @@
 package com.ruoyi.utils.tools;
 
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 /**
  * @Description:
@@ -11,8 +14,14 @@
  * @Version: 1.0
  **/
 @Data
+@NoArgsConstructor
 public class Point{
     private static final long serialVersionUID = 1L;
     private Double longitude;
     private Double latitude;
+    @JsonCreator
+    public Point(@JsonProperty("x") Double x, @JsonProperty("y") Double y) {
+        this.longitude = x;
+        this.latitude = y;
+    }
 }

--
Gitblit v1.9.3