Beispiel #1
0
        /// <summary>
        /// 保持している全DEMデータ情報をKML形式のテキストデータで返す
        /// <para>ファイルへ保存する際はUTF-8で保存してください。</para>
        /// </summary>
        /// <param name="color">色情報</param>
        /// <returns>テキスト形式のKMLポリゴン情報</returns>
        public string ToStringAsKml(Color color)
        {
            Polygon polygon = new Polygon();
            polygon.name = "dummy";
            polygon.color = color;
            var arr = this.dict.Values.ToArray();

            /*
            if (arr.Length != 0)
            {
                for (int i = 1; i < arr.Length; i++)
                {
                    Polygon poly = new Polygon();
                    poly.name = arr[i].DataInfo.ID.ToString();
                    poly.AddToOuter(arr[i].DataInfo.Field.ToArray());
                    polygon.AddPolygon(poly);
                }
            }
             * */

            foreach (DemSet member in arr)
            {
                Polygon poly = new Polygon();
                poly.name = member.DataInfo.ID.ToString();
                poly.AddToOuter(member.DataInfo.Field.ToArray());
                StringBuilder sb = new StringBuilder(300);                      // 予め大きなメモリ容量を確保しておく
                sb.Append("File name: ").Append(member.FileName).Append(System.Environment.NewLine);
                sb.Append("Map Model: ").Append(member.DataInfo.MapModel.ToString()).Append(System.Environment.NewLine);
                sb.Append("Center position: ").Append(member.DataInfo.Field.Center.ToString());
                poly.description = sb.ToString();
                polygon.Add(poly);
            }
            return polygon.GetKmlCode();
        }
Beispiel #2
0
 /// <summary>
 /// RectangleFieldクラスとPolygonクラスのテスト
 /// <para>NMEAファイルからRectangleFieldオブジェクトを生成し、Polygonクラスを利用してKMLファイルを出力します。</para>
 /// <para>ダイアログを利用してファイルを開きます。</para>
 /// </summary>
 public static void ReadNmeaToRectangleField()
 {
     RectangleField field = GNSS.GnssTest.ReadNmeaToRectangleFeild();
     if (field.AreaIsZero == false)
     {
         Polygon polygon = new Polygon();
         polygon.AddToOuter(field.ToArray());                // KML出力に備え、座標をセット
         // ファイル出力
         // KML出力はUTF8で出力してください。
         using (System.IO.StreamWriter fwriter = new System.IO.StreamWriter("NMEAtoField.kml", false, Encoding.UTF8))
         {
             try
             {
                 fwriter.Write(polygon.GetKmlCode());
             }
             catch
             {
                 // エラー処理があれば記述
             }
         }
     }
     return;
 }