Skip to main content

电子围栏

class GeoFenceModel

描述: 电子围栏数据模型

public class GeoFenceModel {

private Long id;
/**
* 用户id
*/
private String userId;
/**
* 名称
*/
private String name;
/**
* 颜色
*/
private String areaColor = GeoFenceAreaType.GEO_FENCE.getColor();

/**
* 区域类型。0:可飞区;1:禁飞区;2:强制可飞区。
*/
private GeoFenceAreaType areaType = GeoFenceAreaType.GEO_FENCE;
/**
* 形状类型。0:圆形:1:多边形;
*/
private GeoFenceAreaShape areaShape = GeoFenceAreaShape.CIRCLE;
/**
* 地图层级(暂时未用到 预留)
*/
private int areaLevel;
/**
* 多边形顶点数量(多边形属性)
*/
private int polygonNum;
/**
* 中心点维度(圆形属性)
*/
private double latitude;
/**
* 中心点经度(圆形属性)
*/
private double longitude;
/**
* 半径(圆形属性)
*/
private float radius;
/**
* 高度
*/
private float height;

/**
* 高度下限
*/
private int minHeight;

/**
* 高度上限
*/
private int maxHeight;
/**
* 高度下限 高度参考类型
*/
private HeightReferenceType minHeightReferenceType;
/**
* 高度上限 高度参考类型
*/
private HeightReferenceType maxHeightReferenceType;

/**
* 高度是否有效(如果无效,表示height无限大)
*/
private boolean isHeightValid;
/**
* 多边形顶点列表(多边形属性)
*/
private ArrayList<Coordinate3D> latLngs = new ArrayList<>();
/**
* 有效时间的起始时间(UTC时间)
*/
private long effectiveTimeStart;
/**
* 有效时间的结束时间(UTC时间)
*/
private long effectiveTimeEnd;
/**
* 有效时间的起始时间(字符串)
*/
private String startDateTime; //2018-12-31T15:59:59.00Z
/**
* 有效时间的结束时间(字符串)
*/
private String endDateTime; //2018-12-31T15:59:59.00Z

/**
* 数据生成的时间(UTC时间)
*/
private long createTime;
/**
* 最后一次更新的时间(UTC时间)
*/
private long latestUpdateTime;
/**
* permanent
*/
private String permanent;
/**
* 唯一标识
*/
private String uuid;

/**
* 数据状态,用于告知服务器数据状态。
* 0:本地数据(未上传过服务器);1:未更新,不需要操作。2:数据发生更新;3:数据已被删除。
*/
private int updateStatus;
}

Coordinate3D

描述: 多边形顶点信息

public class Coordinate3D {
/**
* id
*/
private Long id;
/**
* 纬度
*/
private double latitude;
/**
* 经度
*/
private double longitude;
/**
* 高度
*/
private float altitude;
}

GeoFenceAreaType

描述: 电子围栏区域类型

public enum GeoFenceAreaType {
/**
* 未知
*/
UNKNOWN(-1, "#ff0000"),
/**
* 电子围栏
*/
GEO_FENCE(0, "#3CE171"),
/**
* 禁飞区,临时禁飞区
*/
NO_FLY(1, "#F20000"),
/**
* 强制可飞区(授权区)
*/
FORCE_FLY(2, "#3CE171");

final int value; //枚举值
final String color; //颜色
}

GeoFenceAreaShape

描述: 电子围栏区域形状

public enum GeoFenceAreaShape {
/**
* 未知
*/
UNKNOWN,
/**
* 圆形
*/
CIRCLE,
/**
* 多边形
*/
POLYGON,
}

HeightReferenceType

描述: 高度类型

public enum HeightReferenceType {
/**
* 海平面高度
*/
AMSL,
/**
* 地面高度
*/
AGL;
}