Newer
Older
task-bldg / src / main / java / osm / surveyor / task / util / JsonGeometryLine.java
  1. package osm.surveyor.task.util;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import com.fasterxml.jackson.databind.JsonNode;
  7.  
  8. import lombok.Getter;
  9. import lombok.Setter;
  10.  
  11. @Getter
  12. @Setter
  13. public class JsonGeometryLine extends JsonTemple {
  14. /**
  15. * {
  16. * "coordinates":[
  17. * [141.35,42.9],
  18. * [141.36249999999998,42.9],
  19. * [141.36249999999998,42.90833333333333],
  20. * [141.35,42.90833333333333],
  21. * [141.35,42.9]
  22. * ],
  23. * "type":"LineString"
  24. * }
  25. */
  26.  
  27. private List<Point> coordinates;
  28. private String type = "LineString";
  29. public String toString() {
  30. StringBuffer sb = new StringBuffer();
  31. boolean first = false;
  32. sb.append("{");
  33. if (coordinates != null) {
  34. first = true;
  35. boolean c1 = false;
  36. sb.append("[");
  37. for (JsonNumberArray arry : coordinates) {
  38. c1 = out(c1, sb, null, arry);
  39. }
  40. sb.append("]");
  41. }
  42. if (type != null) {
  43. first = outStr(first, sb, "type", getType());
  44. }
  45. sb.append("}");
  46. return sb.toString();
  47. }
  48. public void parse(JsonNode node) {
  49. JsonNode node1 = node.get("type");
  50. if (node1 != null) {
  51. this.type = node1.textValue();
  52. }
  53. node1 = node.get("coordinates");
  54. if (node1 != null) {
  55. this.coordinates = new ArrayList<Point>();
  56. for (JsonNode node2 : node1) {
  57. Point point = new Point();
  58. point.parse(node2);
  59. this.coordinates.add(point);
  60. }
  61. }
  62. }
  63. }