- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
华南农业大学综合性设计性实验报告
实验项目名称:小型GIS系统开发
实验项目性质:综合性设计性实验
计划学时:32
所属课程名称:GIS软件开发实验
开设时间:2023学年第一学期
实验课指导教师:吴小芳
学号
202214310215
姓名
李宝沅
专业
地理信息科学
成绩
实验题目
小型GIS系统开发
教师评价
评价指标:
平时课堂考勤及实验演示优□良□中□差□
GIS系统设计的正确程度优□良□中□差□
GIS系统现实功能的完善程度优□良□中□差□
实验过程中的动手能力及创新能力优□良□中□差□
实验报告的质量优□良□中□差□
评语
教师签名
吴小芳
注:实验报告内容包括:实验要求、实验步骤、实验代码流程思路(不要放置过多代码),实验结果及实验心得体会
实验要求
利用ArcGISRuntimeSDK.net开发包,结合C#开发环境,设计并实现一个小型GIS系统。
1)使用控件要求:使用MapView等控件
2)系统的功能要求
1、文件管理功能:打开在线数据、打开本地数据(shp、Geodatabse)、打开Tif数据、退出。
2、视图显示功能:放大、缩小、漫游等。
3、图层的管理:图层的可见、图层的移动、图层的删除等。
4、增加图元:绘制点、线、面、文本图元、图片等,SkecthEdit图形元素编辑。
5、符号设置:点、线、面的符号界面设计与实现。
6、查询:实现由属性至图形的查询,以及由图形至属性的查询。提供查询通用界面,并将查询的结果显示出来,考虑提供通用设计界面。
7、专题图表达:实现多种专题图的表达方式,考虑提供通用设计界面。
8、空间分析:几何图形的缓冲、剪切、合并、相交等分析。
9、要素的编辑:新增、删除、修改等,考虑提供通用设计界面。
10、其他内容:
实现:鹰眼图
3)系统提供的数据
广东省地级市行政区划和中国基础地理数据等Geodatabase和shp格式数据,以及tif数据。
实验步骤和实验代码流程思路
1.通用环境设置
1.1设置MapView控件的名称为MyMapView,以便通过该名称,在编写代码时调用该控件的属性和方法
1.2鹰眼视图
1.2.1界面设计
在窗体上添加一个border控件,然后在其上再添加一个地图视图控件,并设置相关属性。
1.2.2代码编写
设置鹰眼图eagleMapView控件的底图数据
在MainWindow()构造函数中添加以下代码
eagleMapView.Map=newMap(Basemap.CreateStreets());
为窗体中的MyMapView地图控件添加ViewpointChanged事件处理代码
代码思路:
将鹰眼图上的图形元素清空
获取主视图上地图的显示范围
构建线符号
构建面符号
构建图形元素图层
构建图形元素,将元素放入图形元素图层
图形元素图层放入到鹰眼图中
1.3修改底图
1.3.1界面设计
添加Border
添加ComboBox,将其命名为BasemapChooser
1.3.2代码编写
在MainWindow主窗体中添加以下全局变量
privatereadonlyDictionarystring,Basemap_basemapOptions=new Dictionarystring,Basemap()
{
{Streets(Raster),Basemap.CreateStreets()},
{Streets(Vector),Basemap.CreateStreetsVector()},
{Streets-Night(Vector),Basemap.CreateStreetsNightVector()},
{Imagery(Raster),Basemap.CreateImagery()},
{ImagerywithLabels(Raster),Basemap.CreateImageryWithLabels()},
{ImagerywithLabels(Vector),
Basemap.CreateImageryWithLabelsVector()},
{DarkGrayCanvas(Vector),Basemap.CreateDarkGrayCanvasVector()},
{LightGrayCanvas(Raster),Basem
文档评论(0)