JsonNode.java
package org.heigit.ors.api.responses.export.json;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import org.heigit.ors.util.FormatUtility;
import org.locationtech.jts.geom.Coordinate;
import java.util.Map;
public class JsonNode {
protected static final int COORDINATE_DECIMAL_PLACES = 6;
@Schema(description = "Id of the corresponding node in the graph", example = "1")
@JsonProperty(value = "nodeId")
@JsonFormat(shape = JsonFormat.Shape.NUMBER)
protected Integer nodeId;
@Schema(description = "{longitude},{latitude} coordinates of the closest accessible point on the routing graph",
example = "[8.678962, 49.40783]")
@JsonProperty(value = "location")
@JsonFormat(shape = JsonFormat.Shape.ARRAY)
protected Coordinate location;
JsonNode(Map.Entry<Integer, Coordinate> location) {
this.nodeId = location.getKey();
this.location = location.getValue();
}
public Double[] getLocation() {
Double[] coord2D = new Double[2];
coord2D[0] = FormatUtility.roundToDecimals(location.x, COORDINATE_DECIMAL_PLACES);
coord2D[1] = FormatUtility.roundToDecimals(location.y, COORDINATE_DECIMAL_PLACES);
// coord2D[3] = location.z; --> example for third dimension
return coord2D;
}
}