txt: ## dist_zef-kjpye-Geo-WellKnownText.md
  [![Actions Status](https://github.com/kjpye/Geo-WellKnownText/actions/workflows/test.yml/badge.svg)](https://github.com/kjpye/Geo-WellKnownText/actions)
  
  # TITLE
  
  Geom::WellKnownText
  
  The `Geo::WellKnownText` module contains a single function:
  
  # from-wkt
  
  `from-wkt` takes a single `Str` parameter, and returns a single `Geo::Geometry` object corresponding to the wkt specification, or a `Failure` if the contents of the string cannot be interpreted as a Geometry object.
  
  The conversion is case-insensitive, and optional whitespace may be included in various places. Thus the following strings will all produce the same object:
  
  ```
      PointZ(123 456 789)
      Point Z (123 456 789)
      Point Z(123 456 789)
      pointz (123 456 789)
  
  ```
  
  # Geo::WellKnownText::Grammar
  
  The `Geo::WellKnownText::Grammar` module contains a single grammar `Geo::WellKnownText::Grammar::WKT`.
  
  This is the same grammar used by the `Geo::WellKnownText` module, but it can be used separately to parse WKT strings.
  
  The general usage would be
  
  ```
      my $results = Geo::WellKnownText::Grammar::WKT.parse($string, actions => My::Actions);
  
  ```
  
  The actions used by `Geo::WellKnownText::from-wkt` are available in `Geo::WellKnownText::WKT-Actions`, but in that case you might as well use `from-wkt` described above.
  
  The actions class will need to include the following methods (36 in total):
  
  | Geometry type | Method | Available Parameters |
  | --- | --- | --- |
  | Point[Z][M] | point[z][m] | $<value> — an array containing the values for x, y, z and m as appropriate |
  | LineString[Z][M] | linestring[z][m]-text | $<point[z][m]> — an array of whatever the relevant point method passed to make. |
  | LinearRing[Z][M] | linearring[z][m]-text | $<point[z][m]> — and array of whatever the relevant point method passed to make. |
  | Polygon[Z][M] | polygon[z][m]-text | $<linearring[z][m]-text — an array of whatever the appropriate linearring-text method passed to make. |
  | PolyhedralSurface[Z][M] | polyhedralsurface[z][m]-text | $<polygon[z][m]-text — an array of whatever the appropriate polygon-text method passed to make. |
  | MultiPoint[Z][M] | multipoint[z][m]-text | $<point[z][m]> — an array of whatever the relevant point method passed to make. |
  | MultiLineString[Z][M] | multilinestring[z][m]-text | $<linestring[z][m]-text> — an array of whatever the relevant linestring-text method passed to make. |
  | MultiPolygon[Z][M] | multipolygon[z][m]-text | $<polygon[z][m]-text — an array of whatever the appropriate polygon-text method passed to make. |
  | GeometryCollection[Z][M] | geometrycollection[z][m]-tagged-text | $<geometry[z][m]-tagged-text> — an array of whatever the relevant geometry-text method passed to make. |
  