appendGeometryTaggedText6Args method

void appendGeometryTaggedText6Args(
  1. Geometry geometry,
  2. List<Ordinate> outputOrdinates,
  3. bool useFormatting,
  4. int level,
  5. StringBuffer writer,
  6. NumberFormat formatter,
)

Converts a Geometry to <Geometry Tagged Text> format, then appends it to the writer.

@param geometry the Geometry to process @param useFormatting flag indicating that the output should be formatted @param level the indentation level @param writer the output writer to append to @param formatter the NumberFormatter to use to convert from a precise coordinate to an external coordinate

Implementation

void appendGeometryTaggedText6Args(
    Geometry geometry,
    List<Ordinate> outputOrdinates,
    bool useFormatting,
    int level,
    StringBuffer writer,
    NumberFormat formatter) {
  indent(useFormatting, level, writer);

  if (geometry is Point) {
    appendPointTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is LinearRing) {
    appendLinearRingTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is LineString) {
    appendLineStringTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is Polygon) {
    appendPolygonTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is MultiPoint) {
    appendMultiPointTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is MultiLineString) {
    appendMultiLineStringTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is MultiPolygon) {
    appendMultiPolygonTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else if (geometry is GeometryCollection) {
    appendGeometryCollectionTaggedText(
        geometry, outputOrdinates, useFormatting, level, writer, formatter);
  } else {
    throw ArgumentError(
        "Unsupported Geometry implementation:  ${geometry.runtimeType}");
  }
}