예제 #1
0
        /// <summary>
        /// DEM数値情報をメモリに読み出します
        /// <para>読み込み済みの場合は無視されます。</para>
        /// </summary>
        /// <returns>読み込みに成功するとtrueを返します。</returns>
        public Boolean Load()
        {
            Boolean result = false;

            if (this.IsLoaded == false)
            {
                Reader.Reader reader = new Reader.Reader();
                this.map = reader.ReadMap(this.FileName, this.info);
                if (map != null)
                    result = true;
                else
                    this.ErrorMsg = "マップの読み込みに失敗しました。ファイルが存在しない・ロックされている・壊れているのいずれかが考えられます。";
            }
            return result;
        }
예제 #2
0
 /// <summary>
 /// 読み込んだDEMファイルを一つだけビットマップファイルとして出力します
 /// <para>Readerクラスの読み込み機能及び、Mapクラスの画像出力機能のテストです。</para>
 /// <para>
 /// 出力するファイルは選べません。
 /// ファイルを全て読み込むので処理にかなりの時間がかかります。
 /// </para>
 /// <example>
 /// <code>
 /// GIS.GisTest.SaveMapAsBmp();
 /// </code>
 /// </example>
 /// </summary>
 public static void SaveMapAsBmp()
 {
     Reader reader = new Reader();
     var hoge = reader.ScanDirWithDialog(ReadMode.HeaderAndValue);
     var dem = hoge.Item1;
     if (dem.Count != 0)
     {
         if (dem[0].IsLoaded)
         {
             DemSet demst = dem[0];
             demst.DemMap.SaveAsImage("ToBmpTest.bmp", 0.0f);
         }
     }
     return;
 }
예제 #3
0
 /// <summary>
 /// ダイアログを利用してディレクトリを指定し、含まれいているDEMファイルを追加・管理下に置く
 /// <para>ヘッダ情報のみ取得されます。</para>
 /// </summary>
 /// <returns>
 /// 追加されたDEMファイルの数とディレクトリ名を一括りにしたタプル
 /// <para>格納順は「追加されたファイル数・パス」です。</para>
 /// <para>パスの中身が空である場合は、ディレクトリの選択が行われなかったことを示しています。</para>
 /// </returns>
 public Tuple<int, string> AddDirWithDialog()
 {
     Reader.Reader reader = new Reader.Reader();
     var readResult = reader.ScanDirWithDialog(ReadMode.HeaderOnly);
     var dem = readResult.Item1;
     if (dem != null)
     {
         var cnt = dem.Count;
         this.Add(dem);
         return new Tuple<int,string>(cnt, readResult.Item2);
     }
     else
         return new Tuple<int, string>(0, readResult.Item2);
 }
예제 #4
0
 /// <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;
 }
예제 #5
0
        /// <summary>
        /// ディレクトリを指定し、含まれいているDEMファイルを追加・管理下に置く
        /// <para>ヘッダ情報のみ取得されます。</para>
        /// </summary>
        /// <param name="dirName">走査したいフォルダ名</param>
        /// <returns>追加されたDEMファイルの数</returns>
        public int AddDir(string dirName)
        {
            int ans;
            Reader.Reader reader = new Reader.Reader();
            var dem = reader.ScanDir(dirName, ReadMode.HeaderOnly);
            if (dem != null)
            {
                var cnt = dem.Count;
                this.Add(dem);
                ans = cnt;
            }
            else
                ans = 0;

            return ans;
        }