上机实验
课 程 名 称: GIS开发与应用 专 业 班 级 : 学 生 姓 名 : 学 号 :
指 导 教 师 : 李新广
上 机 时 间: 2016年4月22日
空间信息与数字技术 专业课程设计任务书
题 目 学生姓名 课题性质 指导教师 上机实验 李新广 实验一:快速入门 专业班级 课题来源 同组姓名 成绩 学号 课内实验 主要内容 (1)新建项目,添加控件 (2)添加引用 (3)控件的关联和断开 (4)打开与关闭工作空间 (5)打开数据集 (6)地图浏览操操作 (7)显示属性信息 (8)地图量算 任务要求 按照实验内容上机操作,过程截图后完成上机实验报告。 参考文献 1.SuperMap图书编委会. GIS工程师训练营:SuperMap Objects组件式开发 .北京:清华大学出版社,2011. 2.王兴举. C#语言环境下的SuperMapObjects组件式开发. 北京:中国铁道出版社,2013. 批改意见 审查意见 指导教师签字: 教研室主任签字: 日期 2015 年 月 日
1
一、 实践目的和要求
了解SuperMap Objects开发环境,会利用VS.net平台进行SuperMap Objects 二次开发,添加SuperMap Objects引用,打开工作空间,进行地图浏览,属性信息显示,地图量算 。
二、实验内容
(1)新建项目,添加控件 (2)添加引用
(3)控件的关联和断开 (4)打开与关闭工作空间 (5)打开数据集
(6)地图浏览操操作 (7)显示属性信息 (8)地图量算
三、实验数据
World.swmu world.udd world.udb
四、步骤和结果
(1)新建项目,添加控件:新建window窗体程序,在工具箱处添加选项卡,选择:supermap控件,superworkspace控件,SuperLegend控件,SuperWorkspaceManager控件,如下图所示
(2)控件的关联和断开,利用代码程序断开和关联工作空间。(3)打开与关闭工作空间(4)打开数据集
//********打开工作空间********
2
//设置公用打开对话框
openFileDialog1.Filter = \工作空间(*.smwu)|*.smwu\; //判断打开的结果,如果打开就执行下列操作
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
//避免连续打开空间导致程序异常
mapControl1.Map.Close(); workspace1.Close(); mapControl1.Map.Refresh(); //定义打开工作空间文件名
string fileName = openFileDialog1.FileName; //打开工作空间文件
WorkspaceConnectionInfo connectiongInfo = newWorkspaceConnectionInfo(fileName); //打开工作空间
workspace1.Open(connectiongInfo); //建立MapControl与Workspace的连接
mapControl1.Map.Workspace = workspace1; //判断工作空间中是否有地图 if (workspace1.Maps.Count == 0) {
MessageBox.Show(\当前工作空间不存在地图!\); return;
}
//通过名称打开空间中的地图
mapControl1.Map.Open(\世界地图_Day\); //刷新地图窗口
mapControl1.Map.Refresh();
} }
privatevoid FormDemo_FormClosing(object sender, FormClosingEventArgs e) {
//释放的顺序:先释放MapControl控件,后释放Workspace对象 mapControl1.Dispose(); workspace1.Close(); workspace1.Dispose(); }
(5)地图浏览操作,地图浏览操作包括漫游,放大,缩小,自由缩放,平移,全幅显示几项功能。
privatevoid toolStripPan_Click(object sender, EventArgs e) { //地图漫游、平移
mapControl1.Action = SuperMap.UI.Action.Pan;
3

