人人范文网 范文大全

二次开发实习报告

发布时间:2020-03-03 04:28:07 来源:范文大全 收藏本文 下载本文 手机版

资源环境与旅游学院

ArcGIS二次开发

实习报告

班级:地信11101 姓名: 罗

丽 学号:201114030

110、指导老师:李

巍 日期:2014年11月01日

一、实习目的

本学期通过对ArcGIS软应用以及二次开发的学习,通过使用该软件对月脊数据资料进行分析,综合应用ArcGIS软件的功能模块,按照相应的要求完成此次实验(如:计算每条月脊的长、宽、角;统计每条月脊内的撞击坑个数;统计每条月脊线的最大高差;统计月脊公测高程偏移)。

熟练地掌握Arcgis软件功能模块的各个作用,以及理解月脊相关参数的计算原理,能综合地形成相应的处理能力。 特别注意:月脊数据的保存位置以及背景环境的设置(坐标系)

二、实习要求

(1) 计算每条月脊的长、宽、角 (2) 统计每条月脊内的撞击坑个数 (3) 统计每条月脊线的最大高差 (4) 统计月脊公测高程偏移

三、实习步骤

步骤一:将提取的月脊转换成多边形。

1.打开Arcgis,点击ArcCatalog,在文件夹下面(不是在Geodatabase下面)新建一个类型为polygon的shapefile,命名无所谓,假设命名为polygon.shp,点击Edit按钮,在弹出的对话框中点击Import按钮,将其坐标系设置与ridge图层一致的其空间参考,即GCS_Moon_2000。此处contain M和contain Z复选框都不用勾选。

2.运行程序,点击

按钮添加geodatabases中的ridge和新建的

按钮,polygon.shp, ridge要排在前面(如下图左侧),然后点击将把ridge的线要素全部转成多边形,结果如下图右侧。 注意:

(1)如果ridge文件中存在圆形或其它非矩形图形的话,运行时会弹出错误消息\"not five nodes\",这时会阻断程序,需要手动点击ok才能运行完”。点击该按钮时需保证polygon.shp内记录为空,否则会重复添加;因此,为保证顺利运行,可将ridge文件中的非矩形图形删除。

(2) 这个过程可能运行较为耗时,大约15分钟(如果在Geodatabase下建立shape文件运算要快得多,但是那里建立的shape文件有两个保留性字段,难以修改);在运行过程中不要打开或者编辑ArcGIS中的polygon多边形文件,否则程序可能运行出错。

步骤二:计算月脊的宽度、长度、方位。

1.用ArcGIS新建一个工程,假设命名为proj.mxd,然后改一下地图框架的空间参考,详细过程如下:

(1)首先右击左边树形控件的layers,选择属性,出现Data Frame Properties对话框,如下图左侧所示

(2)选择Coordinate System选项卡,选下面的Projected Coordinate System,然后选择World,然后选equidistant cylindrical (world),然后点右侧的按钮modify,出现的窗口如上图右侧所示。 (3)选择Select,出现如下图所示窗口,然后依次点击:Solar System、Earth、Moon 2000.prj,然后就是点击应用、确定,这样就把ArcGIS这个框架的坐标系修改了。

2.修改完框架的坐标系之后,添加步骤一中新建后又经过程序处理的polygon文件,这时由于坐标系发生转换,图形如下所示:

3 .在这个工程中给polygon.shp文件添加5个double型的字段。分别对应宽度、长度、方位、高度、偏移、偏移2。这几个字段必须位于表的4~9列。计算值由其顺序决定。保存该工程。

注意:添加字段时必须处于非编辑状态,而且要将C#程序关掉;建立新字段过程中所点击的按钮如下图所示:

4.运行C#程序,点击

按钮打开proj.mxd。点击

,将给polygon.shp的宽度、长度、方位字段赋值。这个过程大约需要5分钟;运行结束后可以看到polygon.shp文件表格中的宽度、长度、方位都已经赋值,如下图。

注意:C#程序运行过程中不要轻易关闭,如果想判断该程序是否已经运行完,可以用鼠标点击标题栏,然后拖动,如果标题栏中显示未反应,则表示仍旧在运行,否则就已经运行完成。这个过程大约2分钟。

步骤三:计算月脊高度和方位

1.用ArGIS新建一个类型为polyline的shape文件,空间参考设置跟polygon.shp一致,contain Z value复选框一定要勾选。假定取名为3dline.shp。给3dline添加一个long型字段命名为RidgeID,位于第4列,与前边其他添加的字段不同,这里除了对列的位置有要求之外,必须要求列名为RidgeID。

2.用ArcGIS在步骤二建立的工程proj.mxd中添加分别添加相应DEM文件和3dline文件。注意,这里一定要对这三个图层顺序进行更改,自上而下分别为pologon、DEM、3dline,如下图所示;然后保存该工程。

3.重新运行C#程序,在出现的程序中再次打开上面保存的ArcGIS工程,如下图所示,然后点击

,将对每个多边形生成带高程的5条采样线,其中两个短边作为最外侧的两条采样线。点击该按钮时需注意不要多次点击重复添加。这个过程比较耗时,如果DEM只有一幅,那么需要运行4分钟左右;如果DEM较多的话将会非常费时。

这个功能的原理是逐个对polygon.shp内的多边形进行判断,如果多边形的四至位于地形数据的范围内,则对多边形边长较长的一段进行四等分,然后将3条等分线以地形数据的分辨率为步长对高程进行样,采样点的数据存在每条线的矢量数据中。如此,则生成的3d线数量跟高程数据的大小和范围有关。RidgeID列用于储存每条3d线对应的多边形编号。 局部放大图如下所示:

步骤四:计算月脊高度

1.完成步骤三之后,需要对DEM进行处理,目的是出去DEM中的撞击坑所占有的DEM。首先,用ArcGIS建立一个类型为polygon的shape文件,空间参考设置与polygon.shp一致,不要框选contain z 和contain M。假定命名为LeftRightRegion,给LeftRightRegion添加一个long型字段命名为RidgeID,位于第4列,这里对列的位置与字段名都严格要求。

2.在proj.mxd中添加LeftRightRegion图层,放在3dline之后;接着添加CraterInRidge文件,放到最后,如下排列:

3.将proj.mxd保存,然后打开c#程序,将该工程打开,然后点击 清空撞击坑地形 按钮,如下:

在ArcGIS中可验证结果,如下图所示:

这里将撞击坑的直径为边长的正方形区域都设为空值。 4.接着点击

按钮,将会计算月脊高程,结果写到前面建立的polygon.shp文件中的height栏。 5.计算原理:

首先将月脊所在区域的撞击坑中的DEM数值去掉,然后判断其它区域的最大值与最小值之差。

步骤五:计算月脊偏移量 1.完成步骤四之后,接着点击月脊的山脊线,如下:

按钮,可以看到提取出了

接着点击2.计算原理:

按钮, 就得到了月脊的偏移量。

每个多边形共有5条横剖面,取出每个剖面上的最高点,将其连线作为月脊的山脊线,然后计算两侧去除撞击坑所在区域的高差,即为偏移量。

步骤六:统计月脊内的撞击坑

再给polygon.shp添加两个字段,在’offset2’字段之后,其中新添加的第一个字段用double型,暂时用不上。第二个字段设为short型用于存放撞击坑数量。

四、实习总结

本次实习通过运用arcgis软件计算月脊及其相关数据,使我们在原有基础上进一步深入的了解和熟悉了arcgis的操作。在实习过程中,我们针对各种遇到的问题请教老师,使我们的学习更有主动性,也提高了我们今后打算从事这方面的同学的学习兴趣,为我们走上工作岗位打下了基础。在学习的全过程中,同学们培养了团结互助的精神,形成了良好的学习氛围。学习理论推动实习作业,实习作业又加深理论学习。真诚感谢老师给予的帮助和支持!

监控及二次开发实习实习报告

Nutch二次开发总结

ERP二次开发工作职责

UAP报表二次开发手册

NC二次开发培训感受

Discuz二次开发基本知识总结

NCV55供应链二次开发接口红皮书

黄河故道二次开发座谈材料

AutoCAD二次开发教程复习总结

学习AutoCAD二次开发技术的体会

二次开发实习报告
《二次开发实习报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档