Newer
Older
task-bldg / src / main / java / osm / surveyor / task / util / Point.java
  1. package osm.surveyor.task.util;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import com.fasterxml.jackson.databind.JsonNode;
  8.  
  9. import lombok.Getter;
  10. import lombok.Setter;
  11.  
  12. @Getter
  13. @Setter
  14. public class Point extends JsonNumberArray {
  15. private String lng = "0.0";
  16. private String lat = "0.0";
  17. public void setLng(String str) {
  18. this.lng = str;
  19. }
  20.  
  21. public void setLng(BigDecimal dec) {
  22. this.lng = dec.toString();
  23. }
  24.  
  25. public void setLat(String str) {
  26. this.lat = str;
  27. }
  28.  
  29. public void setLat(BigDecimal dec) {
  30. this.lat = dec.toString();
  31. }
  32. private void store() {
  33. List<String> list = new ArrayList<>();
  34. list.add(getLng());
  35. list.add(getLat());
  36. setList(list);
  37. }
  38. /*
  39. * [141.35625,42.90416666666667]
  40. */
  41. @Override
  42. public String toString() {
  43. store();
  44. return super.toString();
  45. }
  46. public void parse(JsonNode node) {
  47. if (node != null) {
  48. boolean one = false;
  49. for (JsonNode node2 : node) {
  50. if (!one) {
  51. setLng(node2.asText());
  52. one = true;
  53. }
  54. else {
  55. setLat(node2.asText());
  56. }
  57. }
  58. }
  59. }
  60. /*
  61. * {
  62. * "geometry":{
  63. * "coordinates":[141.35625,42.90416666666667],
  64. * "type":"Point"
  65. * },
  66. * "type":"Feature",
  67. * "properties":{
  68. * "path":"64412288_bldg_6697_op.zip",
  69. * "id":"64412288",
  70. * "version":"1.4.6"
  71. * }
  72. * }
  73. */
  74. public String getGeometry() {
  75. store();
  76. StringBuffer sb = new StringBuffer();
  77. sb.append("{");
  78. sb.append("\"geometry\":{");
  79. sb.append("\"type\":\"Point\"");
  80. sb.append(",\"coordinates\":"+ toString());
  81. sb.append("}");
  82. sb.append("}");
  83. return sb.toString();
  84. }
  85. }