雨后春笋

今天,帮一个同事写了一段测试小程序,刚好外面在下雨,就叫它“雨后春笋”吧!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Text;
using TerraExplorerX;

namespace ShowPoints
{
    public partial class Form1 : Form
    {
        public SGWorld66 sg;

        public Form1()
        {
            InitializeComponent();

            sg = new SGWorld66();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Read(Application.StartupPath + "/testdata.txt");
        }

        //从txt中读取经纬度坐标,创建三维对象
        public void Read(string path)
        {
            StreamReader sr = new StreamReader(path, Encoding.Default);
            String line;
            int i = 0;
            string gid = CreateGroup("Cones");
            while ((line = sr.ReadLine()) != null)
            {
                if (i % 2 == 0)
                {
                    string gStr = line.ToString();
                    string[] aStr = gStr.Split(new string[] { " " }, StringSplitOptions.None);
                    string Lat = line.Substring(21, 7).Trim();
                    string Long = line.Substring(28, 7).Trim();
                    if (Lat == string.Empty) continue;
                    //if (Long == string.Empty) continue;  
                    IPosition66 pos = sg.Creator.CreatePosition(Convert.ToDouble(Long), Convert.ToDouble(Lat), 0); ;
                    ITerrain3DRegBase66 obj = sg.Creator.CreateCone(pos, 5000,5000);
                    sg.ProjectTree.SetParent(obj.ID, gid);
                }
                i++;
            }
            sg.Navigate.FlyTo(sg.ProjectTree.GetNextItem(gid, ItemCode.CHILD), ActionCode.AC_JUMP); ;
        }
        private string CreateGroup(string gname)
        {
            return sg.ProjectTree.CreateGroup(gname);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.timer1.Enabled = true;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.timer1.Enabled = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                string oid = sg.ProjectTree.FindItem("Cones");
                oid = sg.ProjectTree.GetNextItem(oid, ItemCode.CHILD);
                int a = 0;
                // 遍历一个组
                while (oid != sg.ProjectTree.RootID)
                {
                    ITerrain3DRegBase66 obj = sg.ProjectTree.GetObject(oid) as ITerrain3DRegBase66;
                    obj.Height = obj.Height + 100 + a*10;
                    oid = sg.ProjectTree.GetNextItem(oid, ItemCode.NEXT);
                    a++;
                }
            }
            catch (Exception ex)
            { }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 初始化加载一个三维地形,@"C:\Users\Administrator\Desktop\a.FLY"可以换成本地的fly或者mpt文件
            sg.Open(@"C:\Users\Administrator\Desktop\a.FLY");
        }

    }
}

  

 未到清明雨纷纷,一朝天子一朝臣。快马加鞭莫等闲,再统天下平百川。

posted @ 2017-03-23 17:33  依尔根觉罗天赫  阅读(447)  评论(0)    收藏  举报