diff --git a/src/main/java/no/nibio/vips/entity/ResultDeserializer.java b/src/main/java/no/nibio/vips/entity/ResultDeserializer.java index 931409c7863822a88d05bd3b5e92ea15dd200615..2199b80347d96ab4858db6ddceda7b87d4b51fcb 100644 --- a/src/main/java/no/nibio/vips/entity/ResultDeserializer.java +++ b/src/main/java/no/nibio/vips/entity/ResultDeserializer.java @@ -33,6 +33,7 @@ import com.vividsolutions.jts.geom.Polygon; import java.io.IOException; import java.util.Date; import java.util.Map; +import no.nibio.vips.gis.GISUtil; /** * @copyright 2018 <a href="http://www.nibio.no/">NIBIO</a> @@ -53,7 +54,9 @@ public class ResultDeserializer extends StdDeserializer<Result>{ ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(new JtsModule()); Result r = new ResultImpl(); + //System.out.println(jp.getText()); JsonNode node = jp.getCodec().readTree(jp); + //System.out.println(node); r.setValidTimeStart(objectMapper.convertValue(node.get("validTimeStart"), Date.class)); r.setValidTimeEnd(objectMapper.convertValue(node.get("validTimeEnd"), Date.class)); if(node.get("allValues") != null) @@ -63,6 +66,7 @@ public class ResultDeserializer extends StdDeserializer<Result>{ r.setWarningStatus(node.get("warningStatus").asInt()); JsonNode geomNode = node.get("validGeometry"); Geometry validGeometry = null; + //System.out.println(geomNode); if(geomNode != null && geomNode.get("type") != null) { switch(geomNode.get("type").asText()){ @@ -78,8 +82,14 @@ public class ResultDeserializer extends StdDeserializer<Result>{ default: validGeometry = null; } + if(validGeometry.getSRID() <= 0) + { + validGeometry.setSRID(GISUtil.DEFAULT_SRID); + } } + r.setValidGeometry(validGeometry); + //System.out.println(r.getValidGeometry()); return r; } diff --git a/src/main/java/no/nibio/vips/entity/ResultSerializer.java b/src/main/java/no/nibio/vips/entity/ResultSerializer.java index ec08fdbcb19b83a71b6dbda7e6c1e74241b2c442..992dbefbe0f7a402e35e91a31f694ab23f4d4102 100644 --- a/src/main/java/no/nibio/vips/entity/ResultSerializer.java +++ b/src/main/java/no/nibio/vips/entity/ResultSerializer.java @@ -61,7 +61,11 @@ class ResultSerializer extends StdSerializer<ResultImpl>{ : t.getValidGeometry().getGeometryType().equals("LineString") ? objectMapper.writeValueAsString((LineString) t.getValidGeometry()) :t.getValidGeometry().getGeometryType().equals("Polygon") ? objectMapper.writeValueAsString((Polygon) t.getValidGeometry()) : "null"; - jg.writeStringField("validGeometry", geoJSON); + + //jg.writeObjectField("validGeometry", t.getValidGeometry()); + //System.out.println(geoJSON); + jg.writeRaw(",\"validGeometry\":" + geoJSON); + // jg.writeNumberField("warningStatus", t.getWarningStatus()); jg.writeStringField("allValues", this.objectMapper.writeValueAsString(t.getAllValues())); jg.writeStringField("keys", this.objectMapper.writeValueAsString(t.getKeys())); diff --git a/src/main/java/no/nibio/vips/gis/GISUtil.java b/src/main/java/no/nibio/vips/gis/GISUtil.java index c5a938d69fdf032d3e70e80462c10c97f8305191..b50d7b0c2de77fd247b97a15d3a386739d2a0956 100644 --- a/src/main/java/no/nibio/vips/gis/GISUtil.java +++ b/src/main/java/no/nibio/vips/gis/GISUtil.java @@ -52,6 +52,8 @@ import org.wololo.jts2geojson.GeoJSONWriter; */ public class GISUtil { + public static Integer DEFAULT_SRID = 4326; + /** * Calculates the coordinates of a nearby destination * @param origin WGS84 where to start from