Example #1
0
        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);
        }