private object ParseMultiLineString(WktTokenQueue tokens) { tokens.Dequeue("multilinestring"); var dimensions = ParseDimensions(tokens); if (tokens.NextTokenIs("EMPTY")) { tokens.Dequeue(); return(_shapeConverter.ToMultiLineString(new CoordinateInfo[0][])); } var lineStrings = ParseLineStrings(tokens, dimensions); return(_shapeConverter.ToMultiLineString(lineStrings)); }
private bool TryParseMultiLineString(RavenJObject obj, out object result) { RavenJToken coord; if (obj.TryGetValue("coordinates", out coord)) { var coordinates = coord as RavenJArray; CoordinateInfo[][] co; if (coordinates != null && TryParseCoordinateArrayArray(coordinates, out co)) { result = _shapeConverter.ToMultiLineString(co); return(true); } } result = null; return(false); }