changeset 85:ed51eadc82c5

add polyline annotation shape.
author casties
date Mon, 26 Jan 2015 18:51:28 +0100
parents 6bf38b5e30a8
children e3f0613b2f2d
files src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java	Fri Jan 23 17:24:53 2015 +0100
+++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java	Mon Jan 26 18:51:28 2015 +0100
@@ -464,7 +464,24 @@
         		}
         	}
         	// TODO: add units/crs to wkt
+        	// assume polygon with outer ring
             fragment = String.format("wkt=POLYGON((%s))", coords);
+        } else if (type.equalsIgnoreCase("linestring")) {
+        	// linestring (polyline) shape
+        	JSONArray coordArray = geom.getJSONArray("coordinates");
+            StringBuilder coords = new StringBuilder();
+            int numCoords = coordArray.length();
+        	for (int i = 0; i < numCoords; ++i) {
+        		JSONArray coordPair = coordArray.getJSONArray(i);
+        		coords.append(coordPair.getString(0));
+        		coords.append(" ");
+        		coords.append(coordPair.getString(1));
+        		if (i < numCoords-1) {
+        			coords.append(", ");
+        		}
+        	}
+        	// TODO: add units/crs to wkt
+            fragment = String.format("wkt=LINESTRING(%s)", coords);
         } else {
             logger.severe("Unable to parse this shape: " + shape);
         }