void WKTWriter::appendLineStringTaggedText(const LineString *lineString, int level, Writer *writer) { writer->write("LINESTRING "); appendLineStringText(lineString, level, false, writer); }
void WKTWriter::appendMultiLineStringText(const MultiLineString* multiLineString, int p_level, bool indentFirst, Writer* writer) { if(multiLineString->isEmpty()) { writer->write("EMPTY"); } else { int level2 = p_level; bool doIndent = indentFirst; writer->write("("); for(size_t i = 0, n = multiLineString->getNumGeometries(); i < n; ++i) { if(i > 0) { writer->write(", "); level2 = p_level + 1; doIndent = true; } const LineString* ls = dynamic_cast<const LineString*>( multiLineString->getGeometryN(i) ); appendLineStringText(ls, level2, doIndent, writer); } writer->write(")"); } }
/* * Converts a <code>LinearRing</code> to <LinearRing Tagged Text> * format, then appends it to the writer. * * @param linearRing the <code>LinearRing</code> to process * @param writer the output writer to append to */ void WKTWriter::appendLinearRingTaggedText(const LinearRing* linearRing, int p_level, Writer* writer) { writer->write("LINEARRING "); if(outputDimension == 3 && !old3D && !linearRing->isEmpty()) { writer->write("Z "); } appendLineStringText((LineString*)linearRing, p_level, false, writer); }
void WKTWriter::appendPolygonText(const Polygon *polygon, int /*level*/, bool indentFirst, Writer *writer) { if (polygon->isEmpty()) { writer->write("EMPTY"); } else { if (indentFirst) indent(level, writer); writer->write("("); appendLineStringText(polygon->getExteriorRing(), level, false, writer); for (size_t i=0, n=polygon->getNumInteriorRing(); i<n; ++i) { writer->write(", "); const LineString *ls=polygon->getInteriorRingN(i); appendLineStringText(ls, level + 1, true, writer); } writer->write(")"); } }
void WKTWriter::appendLineStringTaggedText(const LineString *lineString, int level, Writer *writer) { writer->write("LINESTRING "); if( outputDimension == 3 && !old3D && !lineString->isEmpty() ) writer->write( "Z " ); appendLineStringText(lineString, level, false, writer); }
void WKTWriter::appendMultiLineStringText(const MultiLineString *multiLineString, int level, bool indentFirst, Writer *writer) { if (multiLineString->isEmpty()) { writer->write("EMPTY"); } else { int level2=level; bool doIndent=indentFirst; writer->write("("); for (unsigned int i=0, n=multiLineString->getNumGeometries(); i<n; i++) { if (i>0) { writer->write(", "); level2=level+1; doIndent=true; } appendLineStringText((LineString *) multiLineString->getGeometryN(i), level2, doIndent, writer); } writer->write(")"); } }