/// <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; }
/// <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; }
/// <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); }
/// <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ファイルを追加・管理下に置く /// <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; }