From 36503d07775d54085464405cb8f35a30b29d8fe7 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 17 Oct 2025 13:43:24 +0800
Subject: [PATCH] 优化禁飞区增加缓冲区

---
 ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java b/ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java
index ea87870..477377e 100644
--- a/ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java
+++ b/ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java
@@ -1,10 +1,13 @@
 package com.ard.data.noflyzone.domain;
 
+import com.ard.data.noflyzone.utils.GeoUtils;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import com.ard.common.annotation.Excel;
 import com.ard.common.core.domain.BaseEntity;
+
+import java.util.List;
 
 /**
  * 禁飞区管理对象 ard_no_fly_zone
@@ -29,4 +32,25 @@
     /** 数据json */
     @Excel(name = "数据json")
     private FeatureCollection geojson;
+
+    /** 禁飞区外接矩形 */
+    private ArdNoFlyBox ardNoFlyBox;
+
+    private List<Vertex> vertices;
+
+    // 懒加载 / 动态计算
+    public ArdNoFlyBox getArdNoFlyBox() {
+        if (ardNoFlyBox == null && geojson != null) {
+            ardNoFlyBox = GeoUtils.getArdNoFlyBox(geojson);
+        }
+        return ardNoFlyBox;
+    }
+
+    public List<Vertex> getVertices() {
+        if (vertices == null && geojson != null) {
+            vertices = GeoUtils.toVertexes(geojson);
+        }
+        return vertices;
+    }
+
 }

--
Gitblit v1.9.3