查字典logo
当前位置:查字典 >> 范文 >> 2023年GIS实训报告(5篇)

2023年GIS实训报告(5篇)

GIS实训报告篇三

《gis软件应用》实验报告

实验名称:利用r2v与arcgis制作中国政区图 专 业:资源环境与城乡规划管理 班 级:0902班 姓 名:吕婷婷 学 号:0910010214

二零一一年十月二十五日 1.重要概念

矢量数据模型:(网络查询得到)它是利用欧里几得几何中的点,线,面及其组合体来表示实体空间分布的一种数据组织方式。这种数据组织方式能最好的逼近实体的空间分布特征,数据精度高,数据存储冗余低,便于进行网络分析,但对于多层数据的叠合分析比较困难。(地理信息系统导论)用点及其x,y坐标构造空间要素的数据模型。栅格数据模型:在gis中也称格网,栅格地图,表面覆盖或影像。它由行,列,格网组成。行,列由格网左上角起始。在二维坐标系统中,行作为y坐标,列作为x坐标。网格单元由其行,列定义。地理坐标:是指用用经纬度表示地面点位的球面坐标。

地图:是指按照一定的数学法则,将地球表面上的空间信息,经综合概括,以可视化,数字或触摸的符号形式,缩小表达在一定载体上的图形模型,用以传输,模拟和认知客观世界的空间信息。

地图投影:是指按照一定的数学法则,将地球椭球体上的经纬网转化到平面上,使地面点的地理坐标与图上相应点的直角坐标建立一一对应的函数关系,并研究其变形问题。

投影变换:是指当系统使用来自不同的地球投影的图形数据时,需要将该投影的数据转换为所需要的坐标数据。

投影变形:是指用经纬度表示地面点位的球面坐标。

拓扑:研究在拉伸或弯曲等适当变换下仍维持不变的几何对象性质的数学分支。2.实验目的 掌握r2v地图矢量化方法,格式数据的创建,掌握利用arcgis进行定义投影及投影变化,掌握利用arcgis进行拓扑关系的建立,掌握对属性表的相关操作(添加字段,按属性值查询,计算面积等),掌握地图的编制、整饰及输出。3.数据来源

1:400万中华人民共和国行政区划图(.jpg格式、含地理坐标),如图1所示。4.要求

(1)利用r2v矢量化中华人民共和国行政区划图,分别建立国界、省(自治区)直辖市界、首都、省会(首府)、岛屿、主要河流6个图层,分别进行矢量化。

(2)在图中左上、左下、右上、右下分别添加4个控制点,并将屏幕坐标改为地理坐标。

(3)利用r2v的矢量输出功能输出矢量,格式数据。(4)格式数据,进行定义投影、投影转换(转换成albers等面积投影);建立拓扑关系,添加各省(自治区)直辖市、省会(首府)名称及河流名称,添加面积字段并计算各省(自治区)直辖市面积。

(5)在arcmap中进行中华人民共和国行政区划图的编制、整饰(自动标注各省(自治区)直辖市、省会(首府)名称,手动标注主要河流,地图需包含图名、图例、指北针、经纬网、比例尺、制图人、姓名、班级、学号、专业)及输出。5.步骤

(1)打开r2v并添加中华人民共和国行政区划图

(2)在r2v中对中华人民共和国区域行政图进行矢量化,添加guojie,shengshijie,shoudu,shengjishi,daoyu,heliu,6个图层,在相应的图层对各要素进行绘制(注:guojie,shengshijie,daoyu,heliu为线性要素;shoudu,shengjishi为点状要素)

(3)对矢量图添加4个控制点

(4)对绘制好的图形进行矢量输出,分别记作:,,(注:;guojie,shengshijie,daoyu,heliu为线性要素;shoudu,shengjishi为点状要素)输出线状要素的时候:

输出点状要素的时候:

(5)在arcgis中添加图层:,,

(6)对图形进行投影变换

第一步定义投影:打开arctoolbox→单击数据管理工具→单击投影 和变换→选择定义投影(分别对边界,河流,城市进行定义投影,选择合适的地理坐标系)

第二步投影:打开arctoolbox→单击数据管理工具→单击投影变换→单击要素→选择投影(分别对边界,河流,城市进行投影)

第三步要素转面:打开arctoolbox→单击数据管理工具→单击要素→选择要素转面(对边界进行要素转面操作,保存文件名为bianjie1),得到投影图形如下:

(7)对要素属性表进行编辑

第一步:(计算id值)添加图层bianjie1→打开图层bianjie1的属性表→选择id字段计算器→选择fid进行计算得到id值

(name字段添加)打开图层bianjie1的属性表→在属性表的菜单栏中选择添加字段(添加字段name,文本型)→选择name计算器→选择name=“ ”(将对应的省市名称输入双引号中)

(面积计算)在属性表的菜单栏中选择添加字段(添加字段area,文本型)→选择计算几何(对面积进行计算,单位为平方千米)

第二步:再打开bianjie1的属性→选择符号系统→选择唯一值(值字段为id,选择添加所有值)

第三步:对城市进行要素标记(同上)(在chengshi图层点击右键点击标注要素就可以显示在地图上,如果显示的不是名称,则在chengshi图层点击右键→选择属性打开标注→将标注此图层中的要素选中并将标注字段选择为name→最后再标注要素)得到如下图

(8)河流的合并:选择图层heliu编辑要素→开始编辑→使用ctrl+shift键选中同一段河流→在编辑器菜单栏中选择合并(注:合并结束后停止编辑)

(9)河流的标注:右键单击右上角空白处→选择自定义中的绘图→在绘图菜单栏里选择新建文本中的样条化文本→沿河流绘制曲线并添加文本(长江,黄河)

(10)对地图进行布局标注

第一步添加标注:在arcmap的菜单栏中选择插入菜单→插入指北针,比例尺,图例(图例的修改:鼠标放在图例上,点击右键,选择转换为图形→再点击右键选择取消分组,然后分别对每一个图例进行属性修改→最后将图例全部选中,点击右键选择组,将其合并)及文本(根据自己的需要进行修改)→再插入标题(中华人民共和国区域行政图)

第二步添加经纬网:右键单击图层→选择属性→选择格网→新建一个格网(经纬网)(根据需要对网格的属性进行修改)

(11)导出地图:在arcmap的菜单栏中选择文件菜单→选择导出地图(注:)

6.附图

图1:中华人民共和国区域行政图

图2:白水县dem

图3:白水县等值线分布图

图4:白水县坡度等级图

图5:白水县坡向等级图

图6:西安市住房等级分布图

图7:学校选址图

GIS实训报告篇四

地理信息系统实习报告[键入文字] [键入文字] [键入文字]

目录

 第一节:实习目的......................................................................................1  第二节:实习要求......................................................................................1  第三节:实习内容......................................................................................1

3.1 初识arcgis......................................................................................................1 3.2 农田保护区域分析..........................................................................................2 3.3 度假村选址......................................................................................................4 3.4 屏幕矢量化及拓扑建库..................................................................................6 3.5 投影转换及图形裁剪........................................................................................7 3.6 注记及属性编辑与连接..................................................................................8 3.7 燕麦试验田选址..............................................................................................9 3.8 商店选址评价................................................................................................11 3.9 土壤肥沃度分析..............................................................................................12 3.10 统计图表........................................................................................................14 3.11 网络分析........................................................................................................15 3.12 arcgis中dem的应用...................................................................................17  第四节:结束语..........................................................................................21

0

地理信息系统实习报告

 第一节:实习目的

地理信息系统经过了30多年的发展历程,目前已经成为信息产业中不可或缺的重要组成部分,越来越受到世界各国和社会各界的重视,并广泛用于国民经济的许多部门,如城市规划设计、资源环境管理等领域。随着人们对空间信息认识的加深和计算机网络技术的发展,地理信息系统将成为人们科研、生产、学习直至生活中不可缺少的技术工具。

在经过一个学期的学习,我们基本掌握了其运用,本次实习就是为了进一步的提过和巩固我们的学习成果,从而达到学以自用的目的而展开的。

 第二节:实习要求

按要求完成3.0---3.12的实践操作;熟悉软件运行环境;掌握基本操作技能

 第三节:实习内容

3.1 初识arcgis

arcmap中的栅格数据操作

这一小节中主要学习了有关arcmap的启动,加载数据以及对图层的一些添加、扩大、缩小、改变颜色等操作。得到的最终图层3.1-1.图3.1-1 改变显示方式后的dsoils图层

地理信息系统实习报告

arcmap中的矢量数据操作

这一小节中我们学会对矢量数据利用arccatalog选中打开数据、更改地图显示比例添加图层,以及设置图层属性中的地图符号参数等操作。下图3.1-2是按水管直径显示的watermain_arc图层。此外我们还可以尝试着改变地图符号的颜色、分类数据、分类标准等操作。

图3.1-2按水管直径显示的watermain_arc图

通过具体实践,对比栅格与矢量数据的操作,其基本操作大致相同。这也进一步加深了我们对栅格和矢量的认识。

3.2 农田保护区域分析

这一节在通过找出水坝保护的农田范围圈定这一实例,我们学会对得到的数据进行重分类、多个图层叠加相交处理来进行简单的gis分析。主要思路为:

1.首先找出洪水淹没的区域; 2.找出适合耕种的土质; 3.面积达到一定公顷的;

4.对这三个图层进行叠加相交,得到一个新图层; 5.最后进行重分类增加农田保护区域

首先连接并添加数据加载spatial analyst工具栏,设置工具目录,最后从spatial analyst下拉菜单中选择raster calculator激活栅格计算器,并在弹出的raster calculator对话框中输入表达式:“【drelief】<8”

(注:在calculation图层中,栅格中只有两个值:0和1,其中1表示满足上一条

地理信息系统实习报告

件的栅格,即高程小于8的栅格区域,其他区域为零。)

图3.2-1 提取高程低于8米的区域

再者利用栅格转换器,确定水坝保护的可耕区域为高程低于8米的粘土土质分布区域, 用布尔操作“&”就可以给出在两个层都为“真”的区域。在raster calculator对话框中输入表达式: “【calculation】&【calculation2】”。然后将栅格转为矢量图层bestarea,设置地图单位,打开bestarea图层的属性表,并为其添加area字段,最后激活arctoolbox, 计算可耕区域的面积。选取面积大于1公顷的区域,最后矢量转栅格化,重分类得到最终结果如图所示:

图3.2-2 最终效果图

在这个过程中遇到了很多困难,首先是在栅格转为矢量时,改动了存储位置,导致

地理信息系统实习报告

栅格—矢量数据转换结果出不来;其次,由于粗心,在为其area字段赋值的对话框中将大写的“i”看成是小写的“l”输入,以至于出现错误。由此,任何学习都必须认真仔细,切不可浮躁马虎。其中对于栅格转换器,操作相当便捷,只需简单的指令即可得到所需的图层。

3.3 度假村选址

分析是在之前的基础上,熟悉gis的叠置分析、缓冲区分析等操作,对度假村进行选址分析。

首先利用距离计算公式(istance tool),选取水源大于200m的地区,重分类后建立缓冲区结果如图所示。

图3.3-1hydro2的缓冲区hydrobuff 接着确定kerri森林以外的区域,添加图层,利用reclassify项重分类;利用surface analysis→slope项,在弹出的slope对话框中,设置坡度参数,在raster calculator 对话框中输入表达式:“【slope】<3”,单击evaluate按钮进行栅格计算,其结果重命名为slope2,如图所示。

图3.3-2 slope图层的柱状统计图

地理信息系统实习报告

图3.3-3slope图层的栅格计算结果slope2 利用回归方程求取平均温度分布,提取年平均温度高于16.5’c的区域,图3.3-4 temperature图层的提取结果temperature2 在弹出的raster calculator对话框中输入表达式:“【hydro3】&【forest2】&【slope2】&【temperature2】”,确定满足所有4个条件的区域,,将栅格数据转换为矢量形式的特征数据,面积在30~40公顷的区域添加标识。最后将特征图层转换为栅格图层,再确定其属性值,得到最终的度假村的选址结果,如图3.3-5所示。

地理信息系统实习报告

图3.3-5 度假村的选址结果

3.4 屏幕矢量化及拓扑建库

这一小节主要如何进行屏幕矢量化及拓扑建库。首先在工具栏中添加控制点进行图像配准,图3.4-1选择控制点

添加editer菜单栏,将cropline图层设定为编辑状态.确定编辑任务,最后进行数字化.得到的数字化多边形线.最终保存数字化结果如图3.4-2.地理信息系统实习报告

图 3.4-2数字化结果 在arccatalog中建立拓扑构建,结果如图。

图 3.4-3生成多边形要素类的croppoly

在此过程中,深深地感受到只有生成过头线数字化时,系统才会自动建立拓扑,也就是老师上课常说的,必须保证多边形闭合。

3.5 投影转换及图形裁剪

投影转换,坐标系转换;设定图层的外边界,完成图形裁剪结果如下;

地理信息系统实习报告

图3.5-1 查看cropploy_1和 soils_polygon

如图3.5-2 剪裁结果cropcov

3.6 注记及属性编辑与连接

这一小节主要是学习新建纯属性表、连接属性、修改属性等操作。最终结果如下:

地理信息系统实习报告

图3.6-1添加注记后的cropcov图层

3.7 燕麦试验田选址

这一节给出了一个选址的空间分析问题,选址的目的是找到一块试验田进行提高燕麦产量的实验。选址确定后还要根据该地块的价格制定预算。为了完成选址,进一步熟悉检索、叠加分析、缓冲区分析等操作。

首先转化数据格式,设置空间参考,然后利用缓冲分析确定公路周围100m以及河流周围100m的区域,结果如图

图3.7—1道路缓冲区

地理信息系统实习报告

利用叠加分析的7种工具进行叠加分析,分别是:erase,identify、intersect、spatial、symmetrical、difference、union、update,各种工具结果各有千秋,根据要求具体操作结果如图所示。

图3.7—2 叠置分析结果

最后对地址进行价格预算、确定适合燕麦生长的区域,先对之前的数据进行备份后,最后得到的选址结果如图所示:

图3.7—3最终选址结果

地理信息系统实习报告

3.8 商店选址评价

本节运用属性数据和空间位置数据综合分析,对商业选址的优劣进行分析评价。首先选取盈利商店,如图:

图3.8-1盈利商店距离栅格图

利用reclassify工具设置重分类结果如图:

3.8-2置重分类边界值

分析消费者特征,对lifestyle图层重新设定显示图例,利用矢量转栅格数据,得到

地理信息系统实习报告

结果为:

图3.8-3liferast图层

浏览recldist栅格数据层区域范围内的value值分布。在arcmap的下拉菜单中选择zonal statistics项,在弹出的对话框中设定recldist,z值设为value,取值栅格设定为 liferast等,完成recldist图层的z值统计图,确定盈利商店服务范围内的潜在客户数。

3.9 土壤肥沃度分析

本节利用空间分析、地统计分析等扩展分析功能对某牧场的一组土壤样本进行分析,确定土壤中钾元素含量和土壤废物程度之间的大致关系。

首先,在view菜单下data frame properties菜单项设置地图单位,通过设置potassium 图层的显示图例来实现查看钾元素的分布

图3.9-1 改变potasiium图层的显示图例

地理信息系统实习报告

以单值符号的形式显示soil图层的土壤类型属性,再将potassium 图层的显示图例还原,利用geostatistical analyst工具对potassium图层的k_ppm属性值进行统计,得到结果:

图3.9-2频率统计图

通过对potassium 图层的k_ppm属性做分布统计图,重复在soil图层选出土壤类型为6的区域再找出potassium图层落入soil图层为6的区域的数据点步骤,在计算potassium图层的空间平均中心,在建立标准差圆。最终结果图如下:

图3.9-3 最终效果图

地理信息系统实习报告

3.10 统计图表

统计图表提供了一种属性信息的图形化对比分析的信息表达方式,可以比属性表格更加直观显示空间要素的统计特征和要素间的相互关系。arcgis提供了饼状图、线状图、柱状图、曲线图、冒泡图、玫瑰图、散点图、面状图等形式形象表达数据之间的对比关系。本节利用arcgis提供的散点图来形象表达数据之间的对比关系。

利用tool中的graphs工具制作散点图,如下图:

图3.10-1散点图

单击统计图的偏差点,查看统计偏差点,如下图:

图3.10-2统计偏差点

利用arcmap制作最佳匹配图来找出相关变量的最佳匹配关系,最终得到如下趋势线图:

地理信息系统实习报告

图3.10-3趋势线

统计图表依赖于属性表,无论是外部数据文件、还是主题数据表,都可以建立相应的统计图表。arcgis提供多种类型的图表来表达数据间对比关系。另外由性表制作的图表可以加载到输出地图模板,是输出地图更加完整。本案例中,由于arcgis不具备回归分析的功能,所以可以利用arcmap制作最佳匹配图来找到相关变量的最近匹配关系。

3.11 网络分析

本节利用arcmap完成常规的网络分析功能,如流向分析、追踪分析等,且完成最短路径分析。

利用arccatalog中地理数据库newgeodatabase工具创建一个几何网络,最终可见catalog目录树中显示结果:

图3.11-1在catalog目录树中的显示结果

地理信息系统实习报告

打开几何网络,创建源结点和终结点;利用set flow direction按钮设置网络的流向。选择属性项设置不同流向的符号表示。最后单击 utility network analyst 的flow下拉菜单,选择display arrows 项,这样就得到下图:

图3.11-2在地图中显示流向箭头

单击utility network analyst 工具栏的tool选项,选择要放置的flag类型,选择weights选项卡设置连接点的权,设置相关的网络边的权和反向权。单击slove按钮,系统标识出最短路径,结果如下图:

图3.11-3最短路径

地理信息系统实习报告

3.12 arcgis中dem的应用

在arcgis中利用spatial analyst 和analyst 工具栏可以进行数字地面模型的应用,除了显示空间位置的x,y坐标外还是显示第三维的数据,通常第三维为高程,可以是温度、湿度等。这一节主要学习arcgis中spatial analyst 和analyst 工具栏的三维应用。利用arcgis中的3d analyst 项,选择interpolate to raster的spline项设置,最终完成网格dem生成,得到如下图:

图3.12-1离散点生成的dem 利用arcgis中的3d analyst 项,选择create/modify tin的create tin from feature 项进行设置,可生成离散点生成tin或者等高线生成tin,可见等高线生成的tin的图如下:

图3.12-2等高线生成tin

地理信息系统实习报告

利用3d analyst的raster to tin将grid 转化为tin,最终效果如下:

图3.12-3栅网生成tin

利用arcmap的create contours 选项单击dem数据的任何点,立即产生一条过该点的等高线,如图所示:

图3.12-4 单条等高线

利用arcmap中profile graph,绘制剖面图,可得下图:

地理信息系统实习报告

图3.12-5 剖面图

通过对slope 对话框进行设置参数,可得到坡度图,在其基础上再求一次坡度,便可以得到如下的曲率图:

图3.12-6 曲率图

利用aspect项进行参数设置,可得到下图:

地理信息系统实习报告

图3.12-7 坡向图

通过对hillshade设置参数,可生成山体阴影图,如下图所示:

图3.12-8山体阴影图

在arcmap中打开tin 或raster 文件,利用create line of sight进行可视性分析,利用viewshed项进行可视域分析,可见进行可视域结果图如下:

地理信息系统实习报告

图3.12-9 可视域图效果显示

 第四节:结束语

当今信息技术突飞猛进,信息产业获得空前发展,信息资源得到爆炸式扩张。信息时代人类对信息资源采集、管理、分析提出了很高的要求。系统论、信息论、控制论的形成,计算机技术、通信技术、卫星遥感等空间技术、自动化技术的应用,为信息资源的科学管理展示了更加广阔的前景。地理信息系统是一门集计算机科学、信息科学、现代地理学、测绘遥感学、环境科学、城市科学、空间科学和管理科学为一体的新兴边缘学科。地理信息系统迅速发展不仅为地理信息现代化管理提供契机,而且有利于其他高新技术产业的发展。gis的用途十分广泛,不仅涉及国民经济的许多领域,如交通、能源、农林、水利、测绘、地矿、环境、航空、国土资源综合利用等等,而且与国防安全密切相关。在未来“数字地球”的建设中,gis将起十分重要的作用。研究gis的理论与技术,开发gis软件产品以及推进和深化gis各类应用已经成为国内外科技界和产业界的一大热点,意义十分重大。gis在地学领域发挥越来越重要的地位,学好这门课成为我们必要。

当今信息技术突飞猛进,信息产业获得空前发展,信息资源得到爆炸式扩张。信息时代人类对信息资源采集、管理、分析提出了很高的要求。系统论、信息论、控制论的形成,计算机技术、通信技术、卫星遥感等空间技术、自动化技术的应用,为信息资源的科学管理展示了更加广阔的前景。地理信息系统是一门集计算机科学、信息科学、现代地理学、测绘遥感学、环境科学、城市科学、空间科学和管理科学为一体的新兴边缘学科。地理信息系统迅速发展不仅为地理信息现代化管理提供契机,而且有利于其他高新技术产业的发展。gis的用途十分广泛,不仅涉及国民经济的许多领域,如交通、能源、农林、水利、测绘、地矿、环境、航空、国土资源综合利用等等,而且与国防安全密切相关。在未来“数字地球”的建设中,gis将起十分重要的作用。研究gis的理论与技术,开发gis软件产品以及推进和深化gis各类应用已经成为国内外科技界和产业界的一大热点,意义十分重大。gis在地学领域发挥越来越重要的地位,学好这门课成为我们

地理信息系统实习报告

必要。

通过一学期的学习,我们基本掌握了gis的入门知识。虽然学习的过程中困难不少,但通过咨询老师和同学们的相互探讨,把问题一一解决了。gis在地学领域有着广泛的利用,我们学好了gis必定会促进我们自身的发展。在此非常感谢杨乃老师,感谢您不辞辛苦的奔波于公司与学校之间为我们授课!

GIS实训报告篇五

学 号 1221030205 売徐诫產女 f 实习报告 gis 程序设计实习起止日期:

2015 年 7 月 13 日 至 2015 年 7 月 19 日 学 生 姓 名

吴馁

级 12 级地信 2 班 成绩

指导 教师(签 字)

地质与测绘学院

2015 年 7 月 20 日

uwmlmri 财—写 hl m2f vt*rk*wi m ; ; wg«b »

二、实习内容 利 熟悉开发环境:visual studio 2010;c#;arc en gi ne 10.1 &讥功能需求分析 j 基于组件技术开发应用型地理信息系统 组件式技术已成为当今软件技术的潮流之一。组件式 gis 软件的基本思想 是把gis 各大功能模块划分为几个控件。各个 gis 控件之间,以及 gis 控件与 其他非 gis控件之间,可以方便地通过可视化的软件开发工具集成起来,形成 最终的 gis 应用。

重点完成的工作包括:1)建立 arcgis engine 应用程序框架;2)实现对 矢量数据(shape file 格式)的访问;3)实现采用简单、唯一值、分类等多种 方式对面状矢量数据进行渲染(ren de)。

三、实习步骤:实习一:初识 arcgis engine 开发环境 1、新建一个 windows 窗体应用程序

*

¥« im

a » htadcml wr»* cuke 占筒空 ci*ud i m rs曙田黑 石序事理口 w j ■mwi* <* ^et^snsittslr-

2、在新建窗体中添加控件 在工具箱中选择添加 toolbarco ntrol , tocco ntrol , map co ntrol 控件

在解决方案资源管理器中双击 在主函数中添加 .ru ntimema nd(.productcode.e ngi ne);使得文件可以加载到 mapcontrol 中。

t iisin? syrt en: uainf sjrt u :

usinf syst :

vfuudovs..i-namespme 大董归竦 |(jts“tir cl*fs rrngrim 弓 e)/// //<宙用程帛的壬庐口点* /// [ ; uttu*ad] static void i esrj ta t ^gis,r r-ii 训卄-f r.^indc.p ndii ): 川 pl i, i— enabltvisual styl es(”, a((-pjd-iti 3r.* s»tconpai , : iblete-xieendecirg^efault(f;apulut w rnrjn 艸 5 口:

()| :

右击 toolbarcontrol 选择属性,如图选择 items 选项,添加如图控件

:鲁 arcgis 丄。一匕国曲电 ■oclbarlontrol

=[rh arc5i5 w 1 fn 斗車 n^mf:

^xtcxtc

-on t cia i ec t e n jo 口雹 t bl«t t s>s c4^e«ry 39 i edt f»

ed.t tlik^ 卩« «.lm i 5il«cti ;ga find ugg g cjl-= i i

亡 1 帀宓 g] flbe irwjul ry ■jt c tllg-hchi t ttk wl limint“k iftjlaiys.t ull im

e^rvie 电二 fw 沪匸卫严 ql 右击 mapco ntrol 属性,在 ge neral 的 map docume nt 中添加要加载的地图文件

0-met “ t«t canlrols, comcrundi u 苹 j 1

a te gis

10.1 engine tonlbarcerrtrail :韦寺 切:£厉 itll en^ne tocccr-iroll gheridl 1 —— n i-1 闻冋 4 cct5 10.1 enijrie kapccxltrol m ertfiih hmttl

| itws| | 园片 [i]

¥ ± f?

q t lsm

[^kqtate 』.认 ir«i^

* s cr

^■tscrall left

* s cralt e: gtil

f scroll v,土 j dsti

ln * t

■ *1 j

if c itu ui u

通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进 行控件绑定。分别右击 toolbarcontrol、toccontrol 控件,将 buddy 设置为 axmapcontroll。

试运行一下如图

可以看出基本框架已经搭建好了,但是还得调整一下布局 在工具箱的所有 windows 窗体下选择 —: ■ ■控件,放在窗体里,如图 褐 arrgis * too b^rcontrol 亘 ircgle 1d.1 engine a>cmapcontrol 1 分别选择窗体里 toccontrol,mapcontrol 的属性,将其 dock 值设置为 fill,如图 调整窗体布局如图 八 for ml arrgle w.l engmw tc«0fftttrol 即址| jkrcgis 10.1 fnyn ircg]s 10.l erkgir^ mdpcantiali ■l=s n^ ithq;

jmmapqinifoll 叫 fomn l

实习二:建立 arcgis engine 应用程序框架 2.1 地图浏览 1、新建项目,添加控件 新建 windows 窗体应用程序,选择工具箱中 statusstrip(状态栏),将其拖入到窗体,再选择工具箱中的 toolbarco ntrol 控件拖入窗体,修改 dock 值为 top,再将 splitc on tai ner 控件拖入窗体,dock 设置为 fill,将 tabcontrol 控件拖入 panel1,将 alignment 属性设置为 bottom,dock 属性设置为 fill。点击 tabpages 属性右边的按钮,弹出 tabpage 集合编辑器,将 tabpage1 的 name 设置为 ”layer ; “ text 设置为 图层”;将 tabpage2 的 name 设置为 “ property, text 设置为 属性”。

选择图层”选项卡,拖入 toccontrol 控件,设置 dock 属性为 fill,选择属性”选 项卡,拖入所有 windows 窗体|propertygrid 控件,设置 dock 属性为 fill。

拖入 tabcontrol 控件到 panel2,设置 dock 属性为 fill。

结果如图所示:

f ■ :f cei i

口 ”3 £3 t4

2、力卩 shp 数据 在工具箱中选择 menustrip 控件,添加到左上角,命名为文件,下拉选项为打开矢量数 据和打开栅格数据,如图:

选中文件控件下的加入矢量数据控件,双击事件并写入代码,在开始使用 arcgis engine 进行编码前,首先需要添加 arcgis 的引用,在解决方案管理器中右键点击 添加引用”,如 图:

usi ng .carto;usi ng .c on trols;usi ng .esrisystem;usi ng .display;usi ng .geometry;usi ng .systemui;usi ng .datasourcesraster;///////////////为 shp 数据功能 增加的类库 usi ng .datasourcesfile;usi ng .geodatabase;using syste ;

键入的代码如图:

rrivarte void 打 jf® tocist riphenliiten_c1 ick“"ot j ezt sendsr.e”jentaras e)i

|apenf^ = * sl“.apefile^l l *.shp)|*.shp”; ti select = false;dialofresult pdialngfjegul!= )ialog(“: if(pdialagfiesult == dialog?esalt,ok){ st iinf ppart 上 = jne;st i pf alder = syst em, iu, path ・ recto rywajiie [pf art h);string pifilena*e = ,fath, getfilewsme(prath): iwulkipaucfc.i.1;pwu:kipajc-fabt

□ cfi 1 cw j ikipa.j cfiut j().t” orbcpico pwockzpacs-pworkspacefcpenfrcnfi ^pfolder, q)ife^iur^wo rkrp ■-pfe ature^ sp are — rkrp ac>? ww if ta.+.lvev^crkrpi re;tf p

-.+nr^-i?pfc — pfpsrtiirpvorlz“ffpar patute 匚 1 hfm(pfi 1 ptffajie): ifeaturelayer pflayer = new feartucelayero ; ; pflavein featured lass = rfc;pflayetn name = pfc ・

al;asnanie ilaye r player-pflayer as ilayer;it tap pmap = ^kwafcantrol 1 iviap: er(player)axjiapcontroll ・

activev^ew ・

ref resh();

实习三:矢量要素符号化 1、简单渲染 选中“简单渲染”菜单,在属性框中点击事件按钮,在事件列表中双击 click 事件;或 者双击“简单渲染”菜单,在方法内输入处理代码。部分代码如下:

private void 简单渲染 toolstripmenuitem_click(object sender, eventargs e){

ifeaturelayer pflforrender = _layer(0)as ifeaturelayer;simplerender(pflforrender, @”“);} private void simplerender(ifeaturelayer pfeaturelayer, string sfieldname){

// 设置用于渲染的颜色 irgbcolor pcolor = new rgbcolor(); = 255; = 0; = 0;// 设置用于渲染的符号的基本属性(面状符号)isimplefillsymbol psfsbase = new simplefillsymbol(); = ssolid;// 设置填充方式 = 0.4;// 设置边框的宽度 = pcolor as icolor;// 设置简单渲染的相关属性 isimplerenderer psr = new simplerenderer(); = psfsbase as isymbol;// 接口转换,对渲染方式进行设置 igeofeaturelayer pgfl = pfeaturelayer as igeofeaturelayer;er = psr as ifeaturerenderer;// 地图刷新 axmapcoh();} 2、唯一值渲染 private void 唯一值渲染 toolstripmenuitem_click(object sender, eventargs e){

ifeaturelayer pflforrender = _layer(0)as ifeaturelayer defineuniquevaluerender(pflforrender, @”continen)t;“ private void defineuniquevaluerender(ifeaturelayer pfeaturelayer, string sfieldname){ // 变量声明

bool bvalfound;// 判断要素值是否存在 int ifieldindex;// 用于存储字段所在的索引值 // 设置颜色列表,用于随机生成颜色(用于填充面状要素)//设置颜色的基本属性,包括色调(h)、饱和度(s)以及亮度(v irandomcolorrampprcr = new randomcolorram(p);ue = 76; = 188;uration = 20;uration = 40;ue = 85;ue = 100;d = true; = 43;// 设置唯一值渲染的相关属性 iuniquevaluerenderer puvr = new uniquevaluerenderer();ount = 1;_field(0, sfieldname);// 遍历要素类的所有要素,并为每个要素设置基本的渲染形式 // 遍历要素类中的所有要素 ifeatureclass pfc = eclass;ifeaturecursor pfcursor = (null , false);// 通过遍历,返回要素指针(featurecursor)ifeature pfeature = ature();// 获取当前第一个要素 // 获得指定字段的索引值 ifields pfields = ;ifieldindex = eld(sfieldname);// 为不同的要素,设置不同的填充颜色 = ecount(null);// 获得应产生的颜色的数目 bool bok;ramp(out bok);// 判断随机颜色生产是否成功? // 获得随机生成的颜色列表 ienumcolors penumcolors = ;();icolor pcolorforfeature = ();// 开始遍历,为每个要素设置基本的渲染信息 while(pfeature!= null){

// 为每个要素设置基本的渲染符号 isimplefillsymbol psfsforfeature = new simplefillsymbol(); =

}

ssolid; = 0.4; = pcolorforfeature;// 获得当前要素中指定字段的名称 string sfeaturename;sfeaturename = _value(ifieldindex)as string;// 设置唯一值渲染的相关属性 ue(sfeaturename, sfieldname, psfsforfeature as isymbol);_label(sfeaturename, sfeaturename);_symbol(sfeaturename, psfsforfeature as isymbol);// 设置该值渲染 信息 // 获得下一组要素和颜色 pfeature = ature();pcolorforfeature = ();} // 接口转换,对渲染方式进行设置 igeofeaturelayer pgfl = pfeaturelayer as igeofeaturelayer;er = puvras ifeaturerenderer;// 地图刷新 axmapcoh();} 3、分级渲染 先打开 arcmap 讲要导入数据的属性表打开添加一个字段命名为 x,并进行 计算几何处理,分级渲染便以这个字段里的值分级,分为两级,最小值到 90,和 90 到最大值。代码如下:

private void 分类渲染 toolstripmenuitem_click(object sender, eventargs e){

ifeaturelayer pflforrender = _layer(0)as ifeaturelayer;classbreakrender(pflforrender, @”x“);

private void classbreakrender(ifeaturelayer pfl, string sfieldname){ irandomcolorrampprcr = new randomcolorram(p);iclassbreaksrenderer pcbr = new classbreaksrenderer();ue = 76; = 188;uration = 20;uration = 40;ue = 85;ue = 100;d = true; = 43; = sfieldname;ount = 2;ifeatureclass pfc = eclass; = 3;bool bok;ramp(out bok);if(bok == true){ ienumcolors pec = ;();icolor pcolorforfeature = ();for(int i = 0;i < ount;i++){

psfsforfeature = new simplefillsymbol();psfsforfeature1 = new simplefillsymbol();ssolid; = 0.4; = pcolorforfeature;switch(i){

case 0: _break(i, 90);_label(i,isimplefillsymbol isimplefillsymbol = ”-92-90“);

_descriptio n(i, ”-92-90“);_symbol(i, psfsforfeature as isymbol); = ;break;case 1:

_break(i, 153);_label(i, _descriptio n(i.”-90-90“);”-90-90“);_symbol(i, psfsforfeature as isymbol);break;} pcolorforfeature = ();} igeofeaturelayer pgfl = pfl as igeofeaturelayer er = pcbr as ifeaturerenderer;axmapco h();} } 四、实习结果 1、实习一结果

2、实习二结果3、实习三结果 叫-f-orml.* i — 1 口 map f m conlne^tts

k融 轻■§网 iw?7 沽”玉跖 d5 羽却価

“时 f(xe :

i-.二

立 i 丰绘屢壬

[瓯-上;-1 igl 巧? w1dm 兰严呷 mw7974 昨舁

五、实习感受通过此次实习,了解了用arc engine进行地理信息系统的二次开发的大致 流程,利用 arc engine 开发可以很好地定制自己所需的功能,而且也不是很难, 在 vs 中敲代码时很多方法和接口就自动提示出现,都不需要记住那么多方法,只要了解那些方法的功能,需要用时能够调用就行。开发的关键还是在于各种 接口以及控件方法的引用。此次实习也只是接触了皮毛,要想更好地利用其进 行地理信息系统的开发还是得熟悉和了解各种接口和方法的功能,要学会利用 帮助文档来查询所需的各种借口和方法。

上一篇: 2023年如何组建公司内网(五篇) 下一篇: 安全监理师岗位职责(四篇)

分类导航

最新范文

最新作文