MapGIS 10入门程序,适合初学者

来源:互联网 发布:sqlserver创建视图语句 编辑:程序博客网 时间:2024/05/17 01:13
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using MapGIS.GeoMap;using MapGIS.GeoDataBase;using MapGIS.GeoObjects;using MapGIS.GeoObjects.Geometry;using MapGIS.GeoObjects.Info;namespace WindowsFormsApplication6{    public partial class Form2 : Form    {        public Form2()        {            InitializeComponent();        }        MapGIS.UI.Controls.MapWorkSpaceTree mytree;        private void Form2_Load(object sender, EventArgs e)        {            mytree = new MapGIS.UI.Controls.MapWorkSpaceTree();            splitContainer1.Panel1.Controls.Add(mytree);            mytree.Dock = DockStyle.Fill;            timer1.Enabled = false;        }        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)        {            OpenFileDialog ofd = new OpenFileDialog();            ofd.Title = "打开地图文档";            ofd.Multiselect = false;            ofd.Filter = "地图文档(*.mapx)|*.mapx";            DialogResult dia = ofd.ShowDialog();            if (dia == DialogResult.OK)            {                Document MapDoc = mytree.Document;                MapDoc.Open(ofd.FileName);                Map Mymap = MapDoc.GetMaps().GetMap(0);                mapControl1.ActiveMap = Mymap;                mapControl1.Restore();            }        }        private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)        {            //初始化地图文档对象            Document MapDoc = mytree.Document;            //初始化地图对象            Map myMap = new Map();            myMap.Name = "不认真听讲的孩子学不好编程";            if (MapDoc.Title == "")  //判断当前工作空间中是否打开地图            {                //地图文档名称                MapDoc.Title = "呵呵";                //新建地图文档                MapDoc.New();                //将初始化的地图添加到地图文档                MapDoc.GetMaps().Append(myMap);                //展开所有节点                mytree.ExpandAll();            }            else            {                //添加地图到地图文档中                MapDoc.GetMaps().Append(myMap);                //地图显示视图置空                mapControl1.ActiveMap = null;            }        }        private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)        {            Document Doc = mytree.Document;            Doc.Save();        }        private void 打开图层ToolStripMenuItem_Click(object sender, EventArgs e)        {                Server GeoServer = new Server();    // 初始化服务器对象            bool IsConn = GeoServer.Connect("MapGISLocal", "", "");  //链接服务器            if (IsConn == false) return;    //判断服务器是否打开             DataBase GeoDB = GeoServer.OpenGDB("示例数据");  //打开地理数据库            //初始化简单要素类,指向数据库中简单要素类型            SFeatureCls Sf = GeoDB.GetXClass(XClsType.SFCls) as SFeatureCls;             bool IsSuccess = Sf.Open("海洋陆地", 1);  //打开简单要素            if (IsSuccess == false) return;  //判断简单要素是否打开成功             Document doc = mytree.Document;  //初始化地图文档对象            doc.Title = "学编程要多动脑多动手";  //地图文档的名称            doc.New();  //新建地图文档              Map MyMap = new Map();   //初始化地图            MyMap.Name = "学编程不要被代码,去理解逻辑关系";              VectorLayer Mylayer = new VectorLayer(VectorLayerType.SFclsLayer);  //初始化矢量图层              Mylayer.AttachData(Sf);  //绑定简单要素类给图层             Mylayer.Name = Sf.ClsName;   //将简单要素类的名称传给图层名称呢             MyMap.Append(Mylayer);//将图层添加到地图中             doc.GetMaps().Append(MyMap);   //将地图添加到地图文档中            mapControl1.ActiveMap = MyMap; //显示地图              mapControl1.Restore();  //复位             mytree.ExpandAll();   //展开节点        }        private void 显示点ToolStripMenuItem_Click(object sender, EventArgs e)        {            Dot MyDot = new Dot();      //几何点对象            MyDot.X = 0;            MyDot.Y = 100;            PntInfo DotInfo = new PntInfo();  //参数信息            DotInfo.SymID = 34;   // 子图号            DotInfo.Width = 100;     //点宽度            DotInfo.Height = 100;     //点高度            int[] Color = new int[3] { 6, 12, 255 };            DotInfo.OutClr = Color;   //颜色            mapControl1.Display.Begin();  //开始绘制            mapControl1.Display.DispPoint(MyDot, DotInfo);   //绘制            mapControl1.Display.End();        //结束绘制        }        Dots dots = null;        PntInfo dotInfo = null;        private void 显示轨迹ToolStripMenuItem_Click(object sender, EventArgs e)        {            dots = new Dots();            SFeatureCls sf = new SFeatureCls();            sf.Open("gdbp://MapGisLocal/MapGIS大赛/sfcls/讨厌学编程");            Map mymap = new Map();            VectorLayer Mylayer = new VectorLayer(VectorLayerType.SFclsLayer);  //初始化矢量图层              Mylayer.AttachData(sf);  //绑定简单要素类给图层             Mylayer.Name = sf.ClsName;   //将简单要素类的名称传给图层名称呢             mymap.Append(Mylayer);           Mylayer.State = LayerState.UnVisible;            mapControl1.ActiveMap = mymap;            mapControl1.Restore();            GeoVarLine Myline = sf.GetGeometry(1) as GeoVarLine;            dots = Myline.Get2Dots();            dotInfo = new PntInfo();  //参数信息            dotInfo.SymID = 34;   // 子图号            dotInfo.Width = 10;     //点宽度            dotInfo.Height = 10;     //点高度            int[] Color = new int[3] { 6, 12, 255 };            dotInfo.OutClr = Color;            timer1.Enabled = true;        }        int index = 0;        private void timer1_Tick(object sender, EventArgs e)        {            if (index < dots.Count)            {                Dot tempDot = dots.GetItem(index);                mapControl1.Display.Begin();  //开始绘制                mapControl1.Display.DispPoint(tempDot, dotInfo);   //绘制                mapControl1.Display.End();             }            index++;        }    }}
工程文件下载地址:<a target=_blank href="http://download.csdn.net/detail/wujianyouhun/7815779" target="_blank">点击下载</a>
0 0
原创粉丝点击