Пример #1
0
        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);
        }