package com.sysu.admin.controller.aland; import com.alibaba.fastjson.annotation.JSONField; import com.sysu.admin.controller.crop.images.CropImage; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import lombok.experimental.FieldNameConstants; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.MultiPolygon; import org.locationtech.jts.geom.Point; import javax.persistence.*; import java.util.Date; import java.util.HashMap; @Data @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @FieldNameConstants(innerTypeName = "FIELDS") @Table(name = "leizhou_land") @Entity @DynamicInsert @DynamicUpdate public class Land { /* 字段信息:value——潜在产值(元) area_ha——地块面积(公顷) crop_type——作物类别 cropTypeName -- 作物类别名称 number --编号 perimeter -- 周长 elevation -- 高程 parcelTypeName -- 地块类型名称 parcelType -- 地块类型 id_card——身份证 name——姓名 aspect——坡向 slope——坡度 gdp_pop——人均gdp hupo——离水源距离 shengdao——离道路距离 quxian——离城市中心距离 Area——面积(平方米) TOC——土壤有机质 ph -- 酸碱度 c -- 碳 _2n -- 氮 p -- 磷 k -- 钾 el_sure -- 元素可信度 crop_sure -- 作物可信度 */ public Land(){ } public Land(Geometry geometry){ this.geom = (MultiPolygon)geometry; } /** * 主键 */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column private Double area; /** * 编号 */ @Column private Long number; /** * 周长 */ @Column private Double perimeter; /** * 高程 */ @Column private Double elevation; @Column private Double simpgnflag; @Column private Double toc; @Column private Double quxian; @Column private Double shengdao; @Column private Double hupo; @Column private Double gdp_pop; @Column private Double slope; @Column private Double aspect; @Column private String name; @Column private String id_card; /** * "corn","rice","other" */ @Column private String crop_type; @Transient private String cropTypeName; /** * 单产 */ @Column private Double danChan; /** * 总产 = 单产 x 面积 */ @Transient private Double zongChan; @Column private Double area_ha; @Column private Double value; @Column private Integer majority; @Column private Integer parcelType; @Transient private String parcelTypeName; @JSONField(serialize = false) @Column(columnDefinition = "geom") private MultiPolygon geom; @Transient private String wkt; @Transient private String geojson; /** * 酸碱度 */ @Column() private Double ph; /** *c -- 碳 */ @Column() private Double c; /** * _2n -- 氮 */ @Column() private Double _2n; /** *p -- 磷 */ @Column() private Double p; /** *k -- 钾 */ @Column() private Double k; /** * 元素可信度 * 0到1之间的小数 */ @Column() private Double elSure; /** * 作物类型可信度 * 0到1之间的小数 */ @Column() private Double cropSure; }