List toList(GeometryCollection mgeom) { ArrayList list = new ArrayList(mgeom.getNumGeometries()); for (int i = 0; i < mgeom.getNumGeometries(); i++) { Geometry g = mgeom.getGeometryN(i); if (g instanceof Polygon) { list.add(toList((Polygon) g)); } else if (g instanceof LineString) { list.add( new CoordinateSequenceEncoder( ((LineString) g).getCoordinateSequence(), scale)); } else if (g instanceof Point) { list.add(new CoordinateSequenceEncoder(((Point) g).getCoordinateSequence(), scale)); } } return list; }
public String toJSONString() { int size = seq.size(); StringBuilder sb = new StringBuilder(); if (size > 1) { sb.append("["); } for (int i = 0; i < seq.size(); i++) { Coordinate coord = seq.getCoordinate(i); sb.append("["); formatDecimal(coord.x, sb); sb.append(","); formatDecimal(coord.y, sb); if (!Double.isNaN(coord.z)) { sb.append(","); formatDecimal(coord.z, sb); } sb.append("],"); } sb.setLength(sb.length() - 1); if (size > 1) { sb.append("]"); } return sb.toString(); }
public String toJSONString() { int size = seq.size(); StringBuilder sb = new StringBuilder(); if (size > 1) { sb.append("["); } for (int i = 0; i < seq.size(); i++) { Coordinate coord = seq.getCoordinate(i); sb.append("["); formatDecimal(coord.x, sb); sb.append(","); formatDecimal(coord.y, sb); if (!Double.isNaN(coord.z)) { sb.append(","); formatDecimal(coord.z, sb); } sb.append("],"); } sb.setLength(sb.length()-1); if (size > 1) { sb.append("]"); } return sb.toString(); }
List toList(GeometryCollection mgeom) { ArrayList list = new ArrayList(mgeom.getNumGeometries()); for (int i = 0; i < mgeom.getNumGeometries(); i++) { Geometry g = mgeom.getGeometryN(i); if (g instanceof Polygon) { list.add(toList((Polygon)g)); } else if (g instanceof LineString){ list.add(new CoordinateSequenceEncoder(((LineString)g).getCoordinateSequence(), scale)); } else if (g instanceof Point) { list.add(new CoordinateSequenceEncoder(((Point)g).getCoordinateSequence(), scale)); } } return list; } static class CoordinateSequenceEncoder implements JSONAware /*, JSONStreamAware*/ {
Map<String,Object> createPoint(Point point) { LinkedHashMap obj = new LinkedHashMap(); obj.put("type", "Point"); obj.put("coordinates", new CoordinateSequenceEncoder(point.getCoordinateSequence(), scale)); return obj; }
Map<String,Object> createLine(LineString line) { LinkedHashMap obj = new LinkedHashMap(); obj.put("type", "LineString"); obj.put("coordinates", new CoordinateSequenceEncoder(line.getCoordinateSequence(), scale)); return obj; }
List toList(Polygon poly) { ArrayList list = new ArrayList(); list.add(new CoordinateSequenceEncoder(poly.getExteriorRing().getCoordinateSequence(), scale)); for (int i = 0; i < poly.getNumInteriorRing(); i++) { list.add(new CoordinateSequenceEncoder(poly.getInteriorRingN(i).getCoordinateSequence(), scale)); } return list; }
List toList(Polygon poly) { ArrayList list = new ArrayList(); list.add( new CoordinateSequenceEncoder( poly.getExteriorRing().getCoordinateSequence(), scale)); for (int i = 0; i < poly.getNumInteriorRing(); i++) { list.add( new CoordinateSequenceEncoder( poly.getInteriorRingN(i).getCoordinateSequence(), scale)); } return list; }
Map<String, Object> createPoint(Point point) { LinkedHashMap obj = new LinkedHashMap(); obj.put("type", "Point"); obj.put("coordinates", new CoordinateSequenceEncoder(point.getCoordinateSequence(), scale)); return obj; }
Map<String, Object> createLine(LineString line) { LinkedHashMap obj = new LinkedHashMap(); obj.put("type", "LineString"); obj.put("coordinates", new CoordinateSequenceEncoder(line.getCoordinateSequence(), scale)); return obj; }