private object ParsePolygonInner(WktTokenQueue tokens, Dimensions dimensions) { if (tokens.NextTokenIs("EMPTY")) { tokens.Dequeue(); return(_shapeConverter.FromPolygon(new CoordinateInfo[0][][])); } var linestrings = ParseLineStrings(tokens, dimensions); return(_shapeConverter.ToPolygon(linestrings)); }
private bool TryParsePolygon(RavenJObject obj, out object result) { RavenJToken coord; if (obj.TryGetValue("coordinates", out coord)) { var coordinates = coord as RavenJArray; CoordinateInfo[][] temp; if (coordinates != null && coordinates.Length > 0 && TryParseCoordinateArrayArray(coordinates, out temp)) { result = _shapeConverter.ToPolygon(temp); return(true); } } result = null; return(false); }