public CoursePoint(string name, JsonGeometry geometry) { this.Name = name; Coordinates = new List <GeoCoordinate>(); foreach (double[] coor in geometry.CoordinatesList) { Coordinates.Add(new GeoCoordinate(coor[1], coor[0])); } }
public static CoursePoint ReadJson(string fileName) { if (!File.Exists(fileName)) { return(null); } string jsonstring = File.ReadAllText(fileName, Encoding.GetEncoding("UTF-8")); JsonCourse json = Deserialize <JsonCourse>(jsonstring); if (json.Features.Count != 1) { throw new ArgumentOutOfRangeException("" + fileName + " は複数の線で構成されているので無効です。"); } JsonGeometry geometry = null; foreach (JsonFeatures feature in json.Features) { geometry = feature.Geometry; } return(new CoursePoint(Path.GetFileNameWithoutExtension(fileName), geometry)); }