/** * Creates a new polygon. * * @param dimension Dimension of the polygon * @param srid SRID values * @param interiors List of interior rings * @param exterior Ring of exterior point */ public Polygon(final Dimension dimension, final SRID srid, final List<LineString> interiors, LineString exterior) { super(dimension, Type.POLYGON, srid); if (interiors != null) { this.interiorRings = new MultiLineString(dimension, srid, interiors); } else { this.interiorRings = null; } this.exterior = exterior; } /**
protected String toString(final MultiLineString multiLineString, final Boolean isNullable, final Integer maxLength, final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException { if (dimension != multiLineString.getDimension()) { throw new EdmPrimitiveTypeException("The value '" + multiLineString + "' is not valid."); } final StringBuilder result = toStringBuilder(multiLineString.getSrid()). append(reference.getSimpleName()). append('('); for (final Iterator<LineString> itor = multiLineString.iterator(); itor.hasNext();) { result.append('('). append(lineString(itor.next(), isNullable, maxLength, precision, scale, isUnicode)). append(')'); if (itor.hasNext()) { result.append(','); } } return result.append(")'").toString(); }
for (final Iterator<LineString> itor = ((MultiLineString) item).iterator(); itor.hasNext();) { result.append('('); appendPoints(itor.next(), isNullable, maxLength, precision, scale, isUnicode, result).
for (final Iterator<LineString> itor = ((MultiLineString) item).iterator(); itor.hasNext();) { result.append('('). append(lineString(itor.next(), isNullable, maxLength, precision, scale, isUnicode)).
private MultiLineString multiLineString(final XMLEventReader reader, final StartElement start, final EdmPrimitiveTypeKind type, final SRID srid) throws XMLStreamException { final List<LineString> lineStrings = new ArrayList<LineString>(); boolean foundEndProperty = false; while (reader.hasNext() && !foundEndProperty) { final XMLEvent event = reader.nextEvent(); if (event.isStartElement() && event.asStartElement().getName().equals(Constants.QNAME_LINESTRING)) { lineStrings.add(lineString(reader, event.asStartElement(), type, null)); } if (event.isEndElement() && start.getName().equals(event.asEndElement().getName())) { foundEndProperty = true; } } return new MultiLineString(GeoUtils.getDimension(type), srid, lineStrings); }
protected String toString(final MultiLineString multiLineString, final Boolean isNullable, final Integer maxLength, final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException { if (dimension != multiLineString.getDimension()) { throw new EdmPrimitiveTypeException("The value '" + multiLineString + "' is not valid."); } final StringBuilder result = toStringBuilder(multiLineString.getSrid()). append(reference.getSimpleName()). append('('); for (final Iterator<LineString> itor = multiLineString.iterator(); itor.hasNext();) { result.append('('); appendPoints(itor.next(), isNullable, maxLength, precision, scale, isUnicode, result). append(')'); if (itor.hasNext()) { result.append(','); } } return result.append(")'").toString(); }
private MultiLineString multiLineString(final XMLEventReader reader, final StartElement start, final EdmPrimitiveTypeKind type, final SRID srid) throws XMLStreamException { final List<LineString> lineStrings = new ArrayList<LineString>(); boolean foundEndProperty = false; while (reader.hasNext() && !foundEndProperty) { final XMLEvent event = reader.nextEvent(); if (event.isStartElement() && event.asStartElement().getName().equals(Constants.QNAME_LINESTRING)) { lineStrings.add(lineString(reader, event.asStartElement(), type, null)); } if (event.isEndElement() && start.getName().equals(event.asEndElement().getName())) { foundEndProperty = true; } } return new MultiLineString(GeoUtils.getDimension(type), srid, lineStrings); }
private MultiLineString multiLineString(final Iterator<JsonNode> itor, final EdmPrimitiveTypeKind type, final SRID srid) { final MultiLineString multiLineString; if (itor.hasNext()) { final List<LineString> lineStrings = new ArrayList<LineString>(); while (itor.hasNext()) { final Iterator<JsonNode> mlsItor = itor.next().elements(); lineStrings.add(lineString(mlsItor, type, srid)); } multiLineString = new MultiLineString(GeoUtils.getDimension(type), srid, lineStrings); } else { multiLineString = new MultiLineString(GeoUtils.getDimension(type), srid, Collections.<LineString> emptyList()); } return multiLineString; }
private MultiLineString multiLineString(final Iterator<JsonNode> itor, final EdmPrimitiveTypeKind type, final SRID srid) { final MultiLineString multiLineString; if (itor.hasNext()) { final List<LineString> lineStrings = new ArrayList<LineString>(); while (itor.hasNext()) { final Iterator<JsonNode> mlsItor = itor.next().elements(); lineStrings.add(lineString(mlsItor, type, srid)); } multiLineString = new MultiLineString(GeoUtils.getDimension(type), srid, lineStrings); } else { multiLineString = new MultiLineString(GeoUtils.getDimension(type), srid, Collections.<LineString> emptyList()); } return multiLineString; }
protected MultiLineString stringToMultiLineString(final String value, final Boolean isNullable, final Integer maxLength, final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException { final Matcher matcher = getMatcher(PATTERN, value); final List<LineString> lineStrings = new ArrayList<LineString>(); for (String coo : matcher.group(4).contains("),(") ? matcher.group(4).split("\\),\\(") : new String[] { matcher.group(4) }) { String lineString = coo; if (lineString.charAt(0) == '(') { lineString = lineString.substring(1); } if (lineString.endsWith(")")) { lineString = lineString.substring(0, lineString.length() - 1); } lineStrings.add(newLineString(null, lineString, isNullable, maxLength, precision, scale, isUnicode)); } return new MultiLineString(this.dimension, SRID.valueOf(matcher.group(2)), lineStrings); }
protected MultiLineString stringToMultiLineString(final String value, final Boolean isNullable, final Integer maxLength, final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException { final Matcher matcher = getMatcher(PATTERN, value); final List<LineString> lineStrings = new ArrayList<LineString>(); for (String coo : matcher.group(4).contains("),(") ? matcher.group(4).split("\\),\\(") : new String[] { matcher.group(4) }) { String lineString = coo; if (lineString.charAt(0) == '(') { lineString = lineString.substring(1); } if (lineString.endsWith(")")) { lineString = lineString.substring(0, lineString.length() - 1); } lineStrings.add(newLineString(null, lineString, isNullable, maxLength, precision, scale, isUnicode)); } return new MultiLineString(this.dimension, SRID.valueOf(matcher.group(2)), lineStrings); }
/** * Creates a new polygon. * * @param dimension Dimension of the polygon * @param srid SRID values * @param interior List of interior points * @param exterior List of exterior point * @deprecated */ public Polygon(final Dimension dimension, final SRID srid, final List<Point> interior, final List<Point> exterior) { super(dimension, Type.POLYGON, srid); if (interior != null) { LineString lineString = new LineString(dimension, srid, interior); this.interiorRings = new MultiLineString(dimension, srid, Arrays.asList(lineString)); } else { this.interiorRings = null; } this.exterior = new LineString(dimension, srid, exterior); }
item = new MultiLineString(this.dimension, SRID.valueOf(matcher.group(2)), lineStrings); break;
item = new MultiLineString(this.dimension, SRID.valueOf(matcher.group(2)), lineStrings); break;
return new MultiLineString(dimension, null, lines); } else if (geoDataType.equals(Polygon.class)) { return readGeoPolygon(name, dimension, topNode);
return new MultiLineString(dimension, srid, lines); } else if (geoDataType.equals(Polygon.class)) { return readGeoPolygon(name, dimension, topNode, srid);
lineStrings.add(new org.apache.olingo.commons.api.edm.geo.LineString(dimension, srid, convertLineStringToPoints(lineString.getCoordinates()))); org.apache.olingo.commons.api.edm.geo.MultiLineString result = new org.apache.olingo.commons.api.edm.geo.MultiLineString(dimension, srid, lineStrings); return result; } else if (geometry instanceof MultiPolygon) {
lineStrings.add(new org.apache.olingo.commons.api.edm.geo.LineString(dimension, srid, convertLineStringToPoints(lineString.getCoordinates()))); org.apache.olingo.commons.api.edm.geo.MultiLineString result = new org.apache.olingo.commons.api.edm.geo.MultiLineString(dimension, srid, lineStrings); return result; } else if (geometry instanceof MultiPolygon) {