Projection.parse constructor

Projection.parse(
  1. String defString
)

Creates a Projection from defString which can be valid proj4 string / ogc wkt string / esri wkt string.

Implementation

factory Projection.parse(String defString) {
  ProjParams params;
  if (defString[0] == '+') {
    params = ProjParams(defString);
  } else {
    // Parse WKT
    var projWKT = wkt_parser.parseWKT(defString);
    // Override with EPSG:3857 proj4 version if possible
    // test of spetial case, due to this being a very common and often malformed
    if (_checkMercator(projWKT)) {
      return GOOGLE;
    }

    var extensionProjStr = _checkProjStr(projWKT);
    if (extensionProjStr != null) {
      params = ProjParams(extensionProjStr);
    } else {
      params = ProjParams.fromWKT(projWKT);
    }
  }

  var projName = params.proj;
  var initializer = initializers[projName!];

  if (initializer == null) {
    throw Exception(
        'Projection initializer not found by projname: $projName');
  }

  return initializer(params);
}