private static string GetNextCloserOrComma(WktStreamTokenizer tokenizer) { tokenizer.NextToken(); string nextWord = tokenizer.GetStringValue(); if (nextWord == "," || nextWord == ")") { return(nextWord); } throw new Exception("Expected ')' or ',' but encountered '" + nextWord + "'"); }
private static string GetNextEmptyOrOpener(WktStreamTokenizer tokenizer) { tokenizer.NextToken(); string nextWord = tokenizer.GetStringValue(); if (nextWord == "EMPTY" || nextWord == "(") { return(nextWord); } throw new Exception("Expected 'EMPTY' or '(' but encountered '" + nextWord + "'"); }
private static GeoJSONObject ReadGeometryTaggedText(WktStreamTokenizer tokenizer) { tokenizer.NextToken(); var type = tokenizer.GetStringValue().ToUpper(); GeoJSONObject geometry = null; switch (type) { case "POINT": geometry = ReadPointText(tokenizer); break; case "LINESTRING": geometry = ReadLineStringText(tokenizer); break; /*case "MULTIPOINT": * geometry = ReadMultiPointText(tokenizer); * break;*/ /*case "MULTILINESTRING": * geometry = ReadMultiLineStringText(tokenizer); * break;*/ case "POLYGON": geometry = ReadPolygonText(tokenizer); break; case "MULTIPOLYGON": geometry = ReadMultiPolygonText(tokenizer); //geometry = ReadMultiPolygonText(tokenizer); break; /*case "GEOMETRYCOLLECTION": * geometry = ReadGeometryCollectionText(tokenizer); * break;*/ default: throw new Exception(String.Format(new CultureInfo("en-US", false).NumberFormat, "Geometrytype '{0}' is not supported.", type)); } return(geometry); }