private bool TryParseCoordinateArrayArrayArray(JsonArray coordinates, out Coordinate[][][] result) { result = null; if (coordinates == null) { return(false); } var valid = coordinates.All(x => x is JsonArray); if (!valid) { return(false); } var tempResult = new Coordinate[coordinates.Count][][]; for (var index = 0; index < coordinates.Count; index++) { if (!TryParseCoordinateArrayArray((JsonArray)coordinates[index], out tempResult[index])) { return(false); } } result = tempResult; return(true); }
private bool TryParseCoordinate(JsonArray coordinates, out Coordinate result) { result = null; if (coordinates == null || coordinates.Count < 2) { return(false); } var valid = coordinates.All(x => x is double || x is long); if (!valid) { return(false); } if (coordinates.Count == 2) { result = new Coordinate(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0])); } else if (coordinates.Count == 3) { result = new CoordinateZ(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0]), Convert.ToDouble(coordinates[2])); } else { result = new CoordinateZM(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0]), Convert.ToDouble(coordinates[2]), Convert.ToDouble(coordinates[3])); } return(true); }
private bool TryParseCoordinate(JsonArray coordinates, out Coordinate result) { result = null; if (coordinates == null || coordinates.Count < 2) return false; var valid = coordinates.All(x => x is double || x is long); if (!valid) return false; if (coordinates.Count == 2) result = new Coordinate(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0])); else if (coordinates.Count == 3) result = new CoordinateZ(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0]), Convert.ToDouble(coordinates[2])); else result = new CoordinateZM(Convert.ToDouble(coordinates[1]), Convert.ToDouble(coordinates[0]), Convert.ToDouble(coordinates[2]), Convert.ToDouble(coordinates[3])); return true; }
private bool TryParseCoordinateArray(JsonArray coordinates, out Coordinate[] result) { result = null; if (coordinates == null) return false; var valid = coordinates.All(x => x is JsonArray); if (!valid) return false; var tempResult = new Coordinate[coordinates.Count]; for (var index = 0; index < coordinates.Count; index++) { if (!TryParseCoordinate((JsonArray)coordinates[index], out tempResult[index])) return false; } result = tempResult; return true; }