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
- MapGIS 10入门程序,适合初学者
- javascript 教程--适合初学者入门
- java小程序 适合初学者
- arm开发经验!(适合初学者入门)
- Linux入门——适合初学者
- Linux入门——适合初学者
- Linux入门——适合初学者
- Linux入门——适合初学者
- Linux入门——适合初学者
- Linux入门——适合初学者
- OpenGL 入门资料(适合初学者)
- Linux入门——适合初学者
- Linux入门——适合初学者
- 强烈推荐visual c++ 2012入门经典适合初学者入门
- 强烈推荐visual c++ 2012入门经典适合初学者入门
- 豆瓣电影搜索爬虫程序,爬虫小程序,适合初学者
- Spring 入门(一个简单的例子)--适合初学者
- 白话讲反射技术 --- 适合初学者入门引导
- java中异常这种技术框架是怎么工作的?
- Raphaeljs入门到精通(一)
- CListCtrl修改指定行的颜色
- FORM 个性化职位获取职务序列LOV
- 自定义仪表盘DashBoard - -kankanstyle
- MapGIS 10入门程序,适合初学者
- 约瑟夫环问题
- bochs 的安装
- best coder 第六场
- 细数隐藏在DevStore的五款开源游戏引擎
- 【程序设计】typedef与函数指针
- Windows Phone开发,引入dll出现“无法向项目中添加对较高版本或不兼容程序集的引用”
- java枚举类型enum的使用
- 转载大数据排序 很好的思想