From 1d2de0f2873c66bf7a9567eb7f2b4bee7330ff6c Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Fri, 12 Dec 2025 15:16:12 +0800
Subject: [PATCH] 优化禁飞区距离算法
---
ard-system/src/main/java/com/ard/data/noflyzone/domain/ArdNoFlyZone.java | 34 ++++++++++++++++++++++++++++++----
1 files changed, 30 insertions(+), 4 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..1b88dd3 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,17 +1,22 @@
package com.ard.data.noflyzone.domain;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
import com.ard.common.annotation.Excel;
import com.ard.common.core.domain.BaseEntity;
+import com.ard.data.noflyzone.utils.NoFlyZoneUtils;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
/**
* 禁飞区管理对象 ard_no_fly_zone
*
- * @author ruoyi
+ * @author ard
* @date 2025-10-14
*/
+@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@@ -29,4 +34,25 @@
/** 数据json */
@Excel(name = "数据json")
private FeatureCollection geojson;
+
+ /** 禁飞区外接矩形 */
+ private ArdNoFlyBox ardNoFlyBox;
+
+ private List<Vertex> vertices;
+
+ // 懒加载 / 动态计算
+ public ArdNoFlyBox getArdNoFlyBox() {
+ if (ardNoFlyBox == null && geojson != null) {
+ ardNoFlyBox = NoFlyZoneUtils.getArdNoFlyBox(geojson);
+ }
+ return ardNoFlyBox;
+ }
+
+ public List<Vertex> getVertices() {
+ if (vertices == null && geojson != null) {
+ vertices = NoFlyZoneUtils.toVertexes(geojson);
+ }
+ return vertices;
+ }
+
}
--
Gitblit v1.9.3