/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// format, then Appends it to the writer. /// </summary> /// <param name="multiLineString">The MultiLineString to process.</param> /// <param name="level"></param> /// <param name="indentFirst"></param> /// <param name="writer">The output stream writer to Append to.</param> protected void AppendMultiLineStringText(MultiLineString multiLineString, int level, bool indentFirst, StringWriter writer) { if ( multiLineString.IsEmpty() ) { writer.Write("EMPTY"); } else { int level2 = level; bool doIndent = indentFirst; writer.Write("("); for (int i = 0; i < multiLineString.GetNumGeometries(); i++) { if (i > 0) { writer.Write(", "); level2 = level + 1; doIndent = true; } //AppendLineStringText((LineString) multiLineString.GetGeometryN(i), level2, doIndent, writer); AppendLineStringText((LineString) multiLineString.GetGeometryN(i), level2, doIndent, writer); } writer.Write(")"); } }
/// <summary> /// Converts a MultiLineString to <MultiLineString Text> /// format, then Appends it to the writer. /// </summary> /// <param name="multiLineString">The MultiLineString to process.</param> /// <param name="writer">The output stream writer to Append to.</param> protected void AppendMultiLineStringText(MultiLineString multiLineString, TextWriter writer) { if (multiLineString.IsEmpty()) { writer.Write("EMPTY"); } else { for (int i = 0; i < multiLineString.GetNumGeometries(); i++) { if (i > 0) { writer.Write(", "); } //AppendLineStringText((LineString) multiLineString.GetGeometryN(i), level2, doIndent, writer); AppendLineStringText((LineString) multiLineString.GetGeometryN(i), writer); } //writer.Write(")"); } }
/// <summary> /// Writes a multilinestring. /// </summary> /// <param name="mls">The multilinestring to be written.</param> private void WriteMultiLineString(MultiLineString mls, byte format) { //Get the number of linestrings in this multilinestring. int numLineStrings = mls.GetNumGeometries(); //Write the number of linestrings. _bWriter.Write(numLineStrings); //Loop on the number of linestrings. for(int i = 0; i < numLineStrings; i++) { //Write each linestring. WriteLineString((LineString)mls[i], format); } }