/// <summary> /// フォルダを指定して、走査されたDEMファイルの一覧をKMLのポリゴンとしてファイルへ出力する /// <para>ReaderクラスとManagerクラスの動作テストです。</para> /// <para>ファイル名はDEMmaps.kmlです。</para> /// <para>異種類のDEMは先読みされた方が優先して処理され、後読みされた異種のDEMはファイル出力されませんのでご注意ください。</para> /// <example> /// <code> /// GIS.GisTest.SaveDemFileInfoAsKml(Color.MediumBlue); /// </code> /// </example> /// </summary> /// <param name="color">色情報(ポリゴンの色)</param> public static void SaveDemFileInfoAsKml(System.Drawing.Color color) { Reader reader = new Reader(); var hoge = reader.ScanDirWithDialog(ReadMode.HeaderOnly); Manager man = new Manager(); man.Add(hoge.Item1); using (System.IO.StreamWriter fwriter = new System.IO.StreamWriter("DEMmaps.kml", false, Encoding.UTF8)) { try { fwriter.Write(man.ToStringAsKml(color)); // 文字列化したデータを保存する。 } catch { // エラー処理があれば記述 } } return; }
/// <summary> /// 渡されたDEM情報をマネージャへ追加する /// </summary> /// <param name="dems">追加したいDEM情報</param> private void Add(List<DemSet> dems) { if (dems != null) { try { // まずは既にあるマネージャに可能であれば格納させる foreach (Manager man in this.manager) { man.Add(dems); } // まだ残っていれば、新規にマネージャを追加する while (dems.Count != 0) // 全て格納するまでループする { Manager man = new Manager(); man.Add(dems); // 格納されると自動的にdemsは要素が削除される this.manager.Add(man); // 新メンバー追加 } } catch (SystemException e) { Console.WriteLine(e.Message); } } return; }