MapGIS 10入门程序,适合初学者
2014-08-25 15:43
134 查看
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>
相关文章推荐
- arm开发经验!(适合初学者入门)
- VB2008写的--收藏夹查看程序,适合.net初学者研究(附源码)
- iPhone开发入门(10)--- 设备上运行程序
- 白话讲反射技术 --- 适合初学者入门引导
- 软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)
- Spring 入门(一个简单的例子)--适合初学者
- 强烈推荐visual c++ 2012入门经典适合初学者入门
- 软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)
- 白话讲反射技术 --- 适合初学者入门引导
- 初涉USB,初学者USB入门总结(2) 设备固件程序
- 软实力提升之道10 ------ RPC程序入门
- GuessNumber程序具体的题目(附)适合初学者学习练习,这是我学习时老师用的一个项目
- 白话讲反射技术 --- 适合初学者入门引导
- java小程序 适合初学者
- (转)Cairngorm初学者入门教程 第二节--使用Cairngorm开发程序的步骤
- 常用ASP脚本程序集锦(适合初学者)
- 白话讲反射技术 --- 适合初学者入门引导
- Cairngorm初学者入门教程 第二节--使用Cairngorm开发程序的步骤
- 适合初学者学习的C#编程代码(最基本程序代码)
- 课程1:历经5年锤炼(史上最适合初学者入门的Java基础视频)--视频列表