/// <summary> /// 座標リストファイル読み込み /// </summary> /// <param name="coodinateListFilePath">TSVファイルパス</param> /// <returns>座標リスト </returns> public static List <CoordinateListFileData> LoadCoordinateListFileData(string coodinateListFilePath) { if (File.Exists(coodinateListFilePath) == false) { Logger.WriteLog(LogSeverity.Failed, Constants.Message.NOT_FOUND_COORDINATE_LIST, coodinateListFilePath); Environment.Exit(Constants.FAILED); } var coordinateList = new List <CoordinateListFileData>(); try { using (var sr = new StreamReader(coodinateListFilePath, Encoding.GetEncoding(Constants.SJIS))) { while (!sr.EndOfStream) { string line = sr.ReadLine(); string[] values = line.Split('\t'); var row = new CoordinateListFileData(values[0], values[1], values[2]); coordinateList.Add(row); } } } catch { Logger.WriteLog(LogSeverity.Failed, Constants.Message.NOT_OBTAINDED_COORDINATE_LIST_ITEM, coodinateListFilePath); Environment.Exit(Constants.FAILED); } return(coordinateList); }
/// <summary> /// 座標単位変換の実行 /// </summary> /// <param name="coordinateList">座標リスト</param> /// <returns>単位変換後の座標リスト</returns> public static List <CoordinateListFileData> ConvertCoordinateUnit(List <CoordinateListFileData> coordinateList) { var ret = new List <CoordinateListFileData>(); // 座標リストの件数分繰り返し foreach (CoordinateListFileData data in coordinateList) { // 度分秒形式の文字列作成 string latitude = CreateDegreeMinuteSecondFormat(decimal.Parse(data.Latitude)); string longitude = CreateDegreeMinuteSecondFormat(decimal.Parse(data.Longitude)); // 地名,緯度,経度を出力用リストに格納 var convertedCoordinateData = new CoordinateListFileData(data.Place, latitude, longitude); ret.Add(convertedCoordinateData); } return(ret); }