LineString.parse constructor

LineString.parse(
  1. String text, {
  2. TextReaderFormat<SimpleGeometryContent> format = GeoJSON.geometry,
  3. CoordRefSys? crs,
  4. Map<String, dynamic>? options,
})

Parses a line string geometry from text conforming to format.

When format is not given, then the geometry format of GeoJSON is used as a default.

Use crs to give hints (like axis order, and whether x and y must be swapped when read in) about coordinate reference system in text input. When data itself have CRS information it overrides this value.

Format or decoder implementation specific options can be set by options.

Examples:

// a line string from 2D positions
LineString.parse(
  format: GeoJSON.geometry,
  '''
  {
    "type": "LineString",
    "coordinates": [
      [10.0,20.0],
      [12.5,22.5],
      [15.0,25.0]
    ]
  }
  ''',
);
LineString.parse(
  format: WKT.geometry,
  'LINESTRING (10.0 20.0,12.5 22.5,15.0 25.0)',
);

// a line string from 3D positions
LineString.parse(
  format: GeoJSON.geometry,
  '''
  {
    "type": "LineString",
    "coordinates": [
      [10.0,20.0,30.0],
      [12.5,22.5,32.5],
      [15.0,25.0,35.0]
    ]
  }
  ''',
);
LineString.parse(
  format: WKT.geometry,
  'LINESTRING Z (10.0 20.0 30.0,12.5 22.5 32.5,15.0 25.0 35.0)',
);

// a line string from measured 2D positions
LineString.parse(
  format: WKT.geometry,
  'LINESTRING M (10.0 20.0 40.0,12.5 22.5 42.5,15.0 25.0 45.0)',
);

// a line string from measured 3D positions
LineString.parse(
  format: GeoJSON.geometry,
  '''
  {
    "type": "LineString",
    "coordinates": [
      [10.0,20.0,30.0,40.0],
      [12.5,22.5,32.5,42.5],
      [15.0,25.0,35.0,45.0]
    ]
  }
  ''',
);
LineString.parse(
  format: WKT.geometry,
  '''
  LINESTRING ZM (
    10.0 20.0 30.0 40.0,
    12.5 22.5 32.5 42.5,
    15.0 25.0 35.0 45.0
  )
  ''',
);

Implementation

factory LineString.parse(
  String text, {
  TextReaderFormat<SimpleGeometryContent> format = GeoJSON.geometry,
  CoordRefSys? crs,
  Map<String, dynamic>? options,
}) =>
    GeometryBuilder.parse<LineString>(
      text,
      format: format,
      crs: crs,
      options: options,
    );