1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.geojson.model;
18
19 import static org.bremersee.geojson.GeoJsonConstants.COORDINATES;
20
21 import com.fasterxml.jackson.annotation.JsonIgnore;
22 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
23 import com.fasterxml.jackson.annotation.JsonProperty;
24 import io.swagger.v3.oas.annotations.media.Schema;
25 import java.io.Serial;
26 import java.io.Serializable;
27 import lombok.Builder;
28 import lombok.EqualsAndHashCode;
29 import lombok.Getter;
30 import lombok.Setter;
31 import lombok.ToString;
32
33
34
35
36
37
38 @Schema(description = "GeoJSON Point.")
39 @JsonIgnoreProperties(ignoreUnknown = true)
40 @Getter
41 @Setter
42 @EqualsAndHashCode(callSuper = true)
43 @ToString(callSuper = true)
44 public class Point extends Geometry implements Serializable {
45
46 @Serial
47 private static final long serialVersionUID = 1L;
48
49
50
51
52 @Schema(description = "The coordinates.")
53 @JsonProperty(COORDINATES)
54 private Position coordinates = null;
55
56
57
58
59 public Point() {
60 setType(TypeEnum.POINT);
61 }
62
63
64
65
66
67
68
69 @Builder(toBuilder = true)
70 public Point(BoundingBox bbox, Position coordinates) {
71 super(bbox);
72 setType(TypeEnum.POINT);
73 this.coordinates = coordinates;
74 }
75
76 @Schema(hidden = true)
77 @JsonIgnore
78 @Override
79 Object getGeometryJsonValue() {
80 return getCoordinates();
81 }
82
83 }
84