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 * * @author ruoyi * @date 2025-10-14 */ @Data @NoArgsConstructor @AllArgsConstructor public class ArdNoFlyZone extends BaseEntity { private static final long serialVersionUID = 1L; /** 主键 */ private String id; /** 禁飞区名称 */ @Excel(name = "禁飞区名称") private String name; /** 数据json */ @Excel(name = "数据json") private FeatureCollection geojson; /** 禁飞区外接矩形 */ private ArdNoFlyBox ardNoFlyBox; private List vertices; // 懒加载 / 动态计算 public ArdNoFlyBox getArdNoFlyBox() { if (ardNoFlyBox == null && geojson != null) { ardNoFlyBox = GeoUtils.getArdNoFlyBox(geojson); } return ardNoFlyBox; } public List getVertices() { if (vertices == null && geojson != null) { vertices = GeoUtils.toVertexes(geojson); } return vertices; } }