DEM 的建立与应用实验报告

DEM 的建立与应用实验报告
DEM 的建立与应用实验报告

成都信息工程学院资源环境学院《GIS原理》实验报告

实验名称DEM 的建立与应用

实验时间2015.4.29

实验地点资环楼229

姓名

学号

班级遥感科学与技术131

《GIS原理》实验报告

一、实验目的及要求

1)巩固掌握格网DEM 模型及DEM 应用;

2)熟悉ArcGis中栅格数据的拼接和裁剪;

3)熟悉ArcGis中坡度、坡向等地型属性的提取操作;

4)熟悉ArcGis中地形透视图的建立;

5)了解ArcGis中等高线的提取、剖面图的创建等操作。

二、实验设备及软件平台

ArcCatalog 10.2、cMap 10.2、Scene 10.2

三、实验原理

DEM高程数据中隐含的很多立体信息,通过不同的处理手法可以得到多种不同的信息。

四、实验内容与步骤

1 DEM 数据下载及拼接

1)DEM数据拼接

(1)打开ArcMap 中,将数据框更名为“任务1”。

(2)将所有的数字高程模型文件加载到ArcMap 中(共 6 个文件)。

(3)镶嵌:用ArcToolbox中Data Management Tools(数据管理工具)/Raster( 栅格)/Raster Dataset( 栅格数据集)/Mosaic(镶嵌)或Mosaic To New Raster(镶嵌至新栅格)进行拼接。

2)栅格数据剪裁

(1)加入四川省边界图层。

(2)使用ArctoolsBox/Spatial Analyst Tools(空间分析工具)/Extraction(提取分析)/Extract By Mask(按掩膜提取)提取工具。提取的结果文件命名为四川省90米DEM。

2 地形属性的提取

1)坡度提取

(1)启动ArcMap,添加数据框,并更名为“任务2”,将四川省90 米DEM (任务1 得到的结果栅格图层)加入。

(2)使用ArcToolbox中SpatialAnalyst Tools (空间分析工具)/Surface(表

面分析)工具集中Slope(坡度)工具提取坡度。

2)坡向提取

使用ArcToolbox中Spatial Analyst Tools/Surface 工具集中Aspect(坡向)具提取坡向。

3)表面曲率提取

使用ArcToolbox中Spatial Analyst Tools 空间分析工具/Surface 表面分析工具集中Curvature 工具提取表面曲率。

3 透视图的建立

1)打开ArcScene,将场景名改为“任务3”,并将四川省90 米DEM 数据加载到视图中。并通过Properties (右键属性)中BaseHeights(基本高度)栏中,选择Obtainheights for layerfrom surface,选择DEM数据为地表抬升高度数据。转换系数设置为8,表示抬升高度(米)是实际高度的8 倍。

2)修改显示符号系统在符号系统中,选择拉伸方式显示,并设置色带为Elevation #1。

3)设置渲染,Rendering(渲染)栏中进行渲染,设置光照效果。

4)将其它图层(栅格或矢量)数据按地形高度进行抬升。将四川省地州界及四川省主要公路图层加入场景。并设置四川省地州界及四川省主要公路图层的基本高度参数。

4 建立和显示TIN

1)启动ArcMap,添加数据框,并更名为“任务4”,将四川省90 米DEM (任务1 得到的结果栅格图层)加入。

2)使用ArcToolbox中3D Analyst 工具/转换工具/栅格转TIN 进行转换。

3)修改符号系统显示方式,添加渲染器。

5 创建等高线图层

1)启动ArcMap,添加数据框,并更名为“任务5”,将四川省90 米DEM (任务1 得到的结果栅格图层)加入。

2)使用ArcToolbox中Spatial Analyst Tools 空间分析工具/Surface表面分析工具集中等值线Contour 工具提取表面等值线。也可以使用ArcToolbox中3D Analyst 工具/栅格表面/等值线工具。

3)标注等高线值,用在属性选项中标注等高线的值,选择Contour 为标注字段。

6 垂直剖面图创建

1)启动ArcMap,添加数据框,并更名为“任务6”,将四川省90 米DEM (任务1 得到的结果栅格图层)加入。

2)加入四川省主要公路图层。

3)创建剖面图

(1)打开3D Analyst 工具栏。

(2)选择3D Analyst 工具栏中的“插入线Interpolate Line”功能,使用鼠标沿一段主要公路划出创建垂直剖面图经过的点的线。

(3)使用3D Analyst 工具栏中的创建剖面图Create Profile Graph工具,创建沿划线经过点的剖面图。通过属性和高级属性修改显示样式。

7 坡度分级

1)启动ArcMap,添加数据框,并更名为“任务7”,将四川省坡度图层(任务2 提取的坡度图层)加入。

2)使用重分类功能,分为三类,将中断值改为10、20。

3)通过属性表进行计算三类中的点数。

五、实验结果与数据分析

1 DEM 数据下载及拼接

2 地形属性的提取

坡度:

坡向:

表面曲率提取:

3 透视图的建立

4 建立和显示TIN

5 创建等高线图层

6 垂直剖面图创建

7 坡度分级

插入排序算法实验报告

算法设计与分析基础 实验报告 应用数学学院 二零一六年六月

实验一插入排序算法 一、实验性质设计 二、实验学时14学时 三、实验目的 1、掌握插入排序的方法和原理。 2、掌握java语言实现该算法的一般流程。 四、实验内容 1、数组的输入。 2、输入、输出的异常处理。 3、插入排序的算法流程。 4、运行结果的输出。 五、实验报告 Ⅰ、算法原理 从左到右扫描有序的子数组,直到遇到一个大于(或小于)等于A[n-1]的元素,然后就把A[n-1]插在该元素的前面(或后面)。 插入排序基于递归思想。 Ⅱ、书中源代码 算法InsertionSort(A[0..n-1]) //用插入排序对给定数组A[0..n-1]排序 //输入:n个可排序元素构成的一个数组A[0..n-1] //输出:非降序排列的数组A[0..n-1] for i ←1 to n-1 do v ← A[i] j ← i-1 while j ≥0and A[j] > v do A[j+1] ← A[j] j ← j-1 A[j+1] ← v

Ⅲ、Java算法代码: import java.util.*; public class Charu { public static void main(String[] args) { int n = 5; int a[] = new int[n]; int s = a.length; int i = 0, j = 0, v = 0; System.out.println("请输入若干个数字:"); Scanner sc = new Scanner(System.in); try { while (i < s) { a[i] = sc.nextInt(); i++; } for (i = 1; i = 0 && a[j] > v) { a[j + 1] = a[j]; j--; } a[j + 1] = v; } System.out.println("插入排序结果显示:"); for (i = 0; i < s; i++) { System.out.println(a[i]); } } catch (Exception es) { System.out.println(es); } } } Ⅳ、运行结果显示:

《数据结构》实验报告——排序.docx

《数据结构》实验报告排序实验题目: 输入十个数,从插入排序,快速排序,选择排序三类算法中各选一种编程实现。 实验所使用的数据结构内容及编程思路: 1. 插入排序:直接插入排序的基本操作是,将一个记录到已排好序的有序表中,从而得到一个新的,记录增一得有序表。 一般情况下,第i 趟直接插入排序的操作为:在含有i-1 个记录的有序子序列r[1..i-1 ]中插入一个记录r[i ]后,变成含有i 个记录的有序子序列r[1..i ];并且,和顺序查找类似,为了在查找插入位置的过程中避免数组下标出界,在r [0]处设置哨兵。在自i-1 起往前搜索的过程中,可以同时后移记录。整个排序过程为进行n-1 趟插入,即:先将序列中的第一个记录看成是一个有序的子序列,然后从第2 个记录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。 2. 快速排序:基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 假设待排序的序列为{L.r[s] ,L.r[s+1],…L.r[t]}, 首先任意选取一个记录 (通常可选第一个记录L.r[s])作为枢轴(或支点)(PiVOt ),然后按下述原则重新排列其余记录:将所有关键字较它小的记录都安置在它的位置之前,将所有关键字较大的记录都安置在它的位置之后。由此可以该“枢轴”记录最后所罗的位置i 作为界线,将序列{L.r[s] ,… ,L.r[t]} 分割成两个子序列{L.r[i+1],L.[i+2], …,L.r[t]}。这个过程称为一趟快速排序,或一次划分。 一趟快速排序的具体做法是:附设两个指针lOw 和high ,他们的初值分别为lOw 和high ,设枢轴记录的关键字为PiVOtkey ,则首先从high 所指位置起向前搜索找到第一个关键字小于PiVOtkey 的记录和枢轴记录互相交换,然后从lOw 所指位置起向后搜索,找到第一个关键字大于PiVOtkey 的记录和枢轴记录互相 交换,重复这两不直至low=high 为止。 具体实现上述算法是,每交换一对记录需进行3 次记录移动(赋值)的操作。而实际上,

排序综合实验报告

数据结构 排序算法综合实验报告 姓名: xx x x 班级: 10电信1 学号: xxx 指导老师:胡圣荣 日期: 2012.12.15~2013.1.5 华南农业大学工程学院

算法基本思想: 1、插入排序:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中的适当位置,直到全部记录插入完毕为止。 (1)直接插入排序:在排序过程中,每次都讲无序区中第一条记录插入到有序区中适当位置,使其仍保持有序。初始时,取第一条记录为有序区,其他记录为无序区。显然,随着排序过程的进行,有序区不断扩大,无序区不断缩小。最终无序区变为空,有序区中包含了所有的记录,排序结束。 (2)希尔排序:将排序表分成若干组,所有相隔为某个“增量”的记录为一组,在各组进行直接插入排序;初始时增量d1较大,分组较多(每组的记录数少),以后增量逐渐减少,分组减少(每组的记录数增多),直到最后增量为1(d1>d2>...>dt=1),所有记录放为一组,再整体进行一次直接插入排序。 2、交换排序:每次比较两个待排序的记录,如果发现他们关键字的次序与排序要求相反时就交换两者的位置,直到没有反序的记录为止。 (1)冒泡排序:设想排序表R[1]到R[n]垂直放置,将每个记录R[i]看作是重量为R[i].key 的气泡;根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡违反本原则的轻气泡,就使其向上“漂浮”,如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。 (2)快速排序:在待排序的n个记录中任取一个作为“基准”,将其与记录分为两组,第一组中个记录的键值均小于或等于基准的键值,第二组中个记录的键值均大于或等于基准的键值,而基准就排在这两组中间(这也是该记录的最终位置),这称为一趟快速排序(或一次划分)。对所分成的两组重复上述方法,直到所有记录都排在适当位置为止。 3、选择排序:每次从待排序的记录中选出关键字最小(或最大)的记录,顺序放在已排好序的子序列的后面(或最前),直到全部记录排序完毕。 (1)直接选择排序:首先,所有记录组成初始无序区R[1]到R[n],从中选出键值最小的记录,与无序区第一个记录R[1]交换;新的无序区为R[2]到R[n],从中再选出键值最小的记录,与无序区第一个记录R[2]交换;类似,第i趟排序时R[1]到R[i-1]是有序区,无序区为R[i]到R[n],从中选出键值最小的记录,将它与无序区第一个记录R[i]交换,R[1]到R[i]变为新的有序区。因为每趟排序都使有序区中增加一个记录,所以,进行n-1趟排序后,整个排序表就全部有序了。 (2)堆排序:利用小根堆(或大根堆)来选取当前无序区中关键字最小(或最大)的记录来实现排序的。下面介绍利用大根堆来排序。首先,将初始无序区调整为一个大根堆,输出关键字最大的堆顶记录后,将剩下的n-1个记录在重建为堆,于是便得到次小值。如此反复执行,知道全部元素输出完,从而得到一个有序序列。 4、并归排序:指将若干个已排序的子表合成一个有序表。 (1)二路并归排序:开始时,将排序表R[1]到R[n]看成n个长度为1的有序子表,把这些子表两两并归,便得到n/2个有序的子表(当n为奇数时,并归后仍是有一个长度为1的子表);然后,再把这n/2个有序的子表两两并归,如此反复,直到最后得到一个程度为n的

《近景摄影测量学》课堂实验报告

河南理工大学测绘学院 《近景摄影测量学》教学实验报告 (专业必修课) 2011年月日 ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ 实验成绩: 评语: 指导老师签名: 2011年月日

实习报告一:相机的认识和使用 一、实验的目的与要求: 1.熟悉使用相机并对物体进行高清晰拍摄 2.了解相机的各功能键对拍摄景物的作用 二、实验仪器: 佳能相机一台 三、实验步骤 1.打开相机 2.阅读相机的使用说明书,了解相机的参数设置 3.用一种拍摄模式对物体进行拍摄然后观察其效果 4.换一种拍摄模式在观察相片的效果,然后与上一张相片对比,观察其图形的差别 5.修改相机参数再观察相片的成图效果。 四、实验体会与收获: 这次实习让我学会到如何使用相机对物体进行高清晰拍摄,同时认识了相机的各个功能键的作用和用法,初步掌握了拍摄的技巧,了解了相机各个功能键对拍摄景物的作用。

实习报告二:Lensphoto软件的处理过程 一、实验目的: 1.掌握Lensphoto软件的操作步骤 2.掌握Lensphoto软件对非量测相机参数的检校。 二、实验内容: 用Lensphoto软件对已有的实验数据进行处理并得出处理结果 三、实验步骤 1.相机检校 2、新建工程 (1)工程--新建--导入(导入对应要处理的工程影像数据),输入航带数,对影像进行航带分组。 3、打开工程 打开对应的工程文件*.prj。 (1)、空三匹配匹配前人工给定航带内和航带间立体像对的种子点,目的是确定匹配像对两张影像间的概略偏移量。 (2)、光束法平差只有进行了相对定向,控制点量测才具有预测功能 (3)、控制点量测 4、引入控制点 (1)把全站仪导出的三维点信息,进行编辑。整理成软件可识别的*.ctl数据格

算法排序问题实验报告

《排序问题求解》实验报告 一、算法的基本思想 1、直接插入排序算法思想 直接插入排序的基本思想是将一个记录插入到已排好序的序列中,从而得到一个新的,记录数增1 的有序序列。 直接插入排序算法的伪代码称为InsertionSort,它的参数是一个数组A[1..n],包含了n 个待排序的数。用伪代码表示直接插入排序算法如下: InsertionSort (A) for i←2 to n do key←A[i] //key 表示待插入数 //Insert A[i] into the sorted sequence A[1..i-1] j←i-1 while j>0 and A[j]>key do A[j+1]←A[j] j←j-1 A[j+1]←key 2、快速排序算法思想 快速排序算法的基本思想是,通过一趟排序将待排序序列分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可对这两部分记录继续进行排序,以达到整个序列有序。 假设待排序序列为数组A[1..n],首先选取第一个数A[0],作为枢轴(pivot),然后按照下述原则重新排列其余数:将所有比A[0]大的数都排在它的位置之前,将所有比A[0] 小的数都排在它的位置之后,由此以A[0]最后所在的位置i 作为分界线,将数组A[1..n]分成两个子数组A[1..i-1]和A[i+1..n]。这个过程称作一趟快速排序。通过递归调用快速排序,对子数组A[1..i-1]和A[i+1..n]排序。 一趟快速排序算法的伪代码称为Partition,它的参数是一个数组A[1..n]和两个指针low、high,设枢轴为pivotkey,则首先从high 所指位置起向前搜索,找到第一个小于pivotkey 的数,并将其移到低端,然后从low 所指位置起向后搜索,找到第一个大于pivotkey 的数,并将其移到高端,重复这两步直至low=high。最后,将枢轴移到正确的位置上。用伪代码表示一趟快速排序算法如下: Partition ( A, low, high) A[0]←A[low] //用数组的第一个记录做枢轴记录 privotkey←A[low] //枢轴记录关键字 while low=privotkey do high←high-1 A[low]←A[high] //将比枢轴记录小的记录移到低端 while low

摄影测量坐标转换实验报告

实验一、坐标转换 一、实验背景: 解析摄影测量学通过坐标系统旋转和共线方程建立了像点坐标与对应物点坐标的严密关系。数字影像像素坐标系不同于像平面坐标系,需要通过内定向建立像素坐标系与像平面坐标系的关系,故此次实验的本质即数字影像内定向。 二、实验原理: 1.内定向通过对影像框标的量测来解决,影像内定向的实质是确定像平面坐标系。 2.进行解算的时候我们希望得到的是一个点的像平面坐标,而根据扫描所得到的相片 我们只能得到其像素坐标,它们之间存在一个转换的关系,即仿射变换: 数学模型: ,, 012 ,, 012 x a a x a y y b b x b y =++ =++ 其中x’y’分别为像素点在像素坐标值,x y为对应点像平面坐标值。根据上式我们可以通过部分控制点求得仿射变换中的系数,然后就可以根据一个像素点的像素坐标而 求得其所对应的像平面坐标。 注:当量测分别位于影像四边中央和四角的8个框标,也可采用双线性变换公式进行像 点坐标改正。 三、实验工具: MATLAB,Photoshop 四、实验步骤: 1.量测像框标的像素坐标。 通过PS打开量测其8个框标的像素坐标。 框标分布图: 具体方法:将范围拖动至框标所在处,放大框标,鼠标瞄准十字丝中心,显示出X,Y坐标。

量测完8个框标的像素坐标,同理对中的8个框标点进行量测。 2.找出两张相片上控制点所对应的像素坐标。 由找出下图中左图6个控制点像素坐标。再 由找出下图中右图6个控制点像素坐标。 具体方法:比如要找到6157的像素坐标,我们先找到其大致范围,然后放大,再与周围环 境比对,利用放大的图综合比较,找到控制点

数据结构实验报告-排序

本章共8道实验题目。 一、直接插入排序 1. 定义顺序表的存储结构 2. 初始化顺序表为空表 3. 输入10个元素创建含有10个元素的顺序表 4. 输出顺序表 5. 对顺序表进行直接插入排序(InsertSort) 6. 输出排序后的顺序表 例如: 11 938 669 507 117 261 708 343 300 602 11 938 669 507 117 261 708 343 300 602 11 117 261 300 343 507 602 669 708 938 程序: #include #include using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; #define MAXSIZE 100 typedef int KeyType; typedef char InfoType[256]; typedef struct { KeyType key; InfoType otherinfo; }RedType; typedef struct { RedType r[MAXSIZE+1]; int length; }SqList; //此处定义直接插入排序函数 int a[20]; int main()

{ int InsertSort; for (int i = 0; i < 10; ++i) { cin >> a[i]; cout << a[i] << " "; } cout << endl; sort(a, a+10); for (int i = 0; i < 10; ++i) cout << a[i] << " "; return 0; } 二、折半插入排序 1. 定义顺序表的存储结构 2. 初始化顺序表为空表 3. 输入10个元素创建含有10个元素的顺序表 4. 输出顺序表 5. 对顺序表进行折半插入排序(BInsertSort) 6. 输出排序后的顺序表 例如: 11 938 669 507 117 261 708 343 300 602 11 938 669 507 117 261 708 343 300 602 11 117 261 300 343 507 602 669 708 938 程序: #include #include using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int Status; #define MAXSIZE 100 typedef int KeyType; typedef char InfoType[256];

数字摄影测量实验报告

《数字摄影测量学》之“4D 产品生产”综 合实习实验报告 一、实验任务及目的 在所有专业课程结束之后,为巩固所学知识,通过毕业前的以实际生产为标准的4D 产品生产实习,进一步深入掌握摄影测量学的基础理论以及全数字摄影测图过程。包括掌握VirtuoZo 的主要模块的功能、数字高程模型(DEM)、数字正射影像(DOM)、数字栅格地图(DRG)、数字线画地图(DLG)的制作工艺与流程。并在4D产品基础上,制作出该区域虚拟现实成果。 此实习主要针对遥感科学与技术专业中摄影测量与遥感方向的本科生。 二、试验流程 设置模型参数设置 影像 参数 设置 DEM 参数 设置 正射 影像 参数 设置 等高 线参 数 模型定向 (内相对绝对) 打开工程 打 开 模 型 核线重采样 影像匹配 编辑匹 配结果 生成 DEM 生成 等高线 生成正 射影像 生成等高线叠合 正射影像 IGS编辑4D产品 将4D成果导入三维软件

三、内容和形式 ●了解掌握VirtuoZo 的主要功能模块,利用自动空中三角测量软件完 成一个区域的加密任务 ●利用空中三角测量的成果,生成DEM ●进行数字微分纠正,生成DOM,并且进行影像镶嵌 ●采用已有航空影像的调绘资料,结合等高线图完成一幅全要素矢量 DLG 制作 ●对已有的纸质地形图扫描数字化,完成DRG 制作 ●将4D成果,导入三维软件,制作虚拟现实场景; 四、实验准备 ●23×23一对数字航空影像以及相应的影像参数。例如:主距、框标距、 摄影比例尺、成图比例尺、控制点、数字高程模型的间隔参数以及正 射影像的比例尺等。 ●每个学生提供一台数字摄影测量工作站VirtuoZo 及立体观测设备

排序问题实验报告

2010级数据结构实验报告 实验名称:排序 姓名:袁彬 班级: 2009211120 班内序号: 09 学号: 09210552 日期: 2010 年12 月19 日 1.实验要求 试验目的: 通过选择试验内容中的两个题目之一,学习、实现、对比各种排序的算法,掌握各种排序算法的优缺点,以及各种算法使用的情况。 试验内容: 题目一: 使用简单数组实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②希尔排序 ③冒泡排序; ④快速排序; ⑤简单选择排序; ⑥堆排序 ⑦归并排序 ⑧基数排序 ⑨其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙。 ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 题目二: 使用链表实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②冒泡排序; ③快速排序;

④简单选择排序; ⑤其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙(选作) ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 2. 程序分析 2.1 存储结构 程序中每一个算法均是用一个类来表示的,类中有自己的构造函数、排序函数。 程序的储存结构采用数组。数组的第一个位置不存储数据。数据从第二个位置开始。数组中的相对位置为数组的下标。 2.2 关键算法分析 ㈠、关键算法: 1、插入排序函数:Insert s ort(int n) ①、从2开始做循环,依次和前面的数进行比较:for(int i=2;i<=n;i++) ②、如果后面的比前面的小,则进行前移:if(number[i]=1;d=d/2) ②、在自己的间隔中进行简单插入排序,进行循环:for(int i=d+1;i<=n;i++) ③、如果后面的数据比前面的小,进行前移:if(number[i]0;j=j-d) ⑥、大的数据后移:number[j+d]=number[j]; ⑦、哨兵归位:number[j+d]=number[0]; 3、冒泡排序函数:Bubble s ort(int n) ①、设置有序无序的边界点:int pos=n; ②、当边界点不为空进行循环:while(pos!=0) ③、边界点传递给bound:int bound=pos; ④、从开始到边界点进行循环:for(int i=1;inumber[i+1]) ⑥、交换:number[0]=number[i];number[i]=number[i+1];number[i+1]=number[0]; ⑦、从小设置边界点:pos=i; 4、一趟快速排序函数:partion(int first,int end) ①、传递设置整个数据的起点和终点:int i=first;int j=end; ②、设置中轴:number[0]=number[i]; ③、当end大于first进行循环:while(i

摄影测量实验报告

《摄影测量原理》 实 验 报 告 院系: 班级: 姓名: 指导教师: 实验一预备知识 一、实验目得 1、了解4d得基本概念。 2、了解VirtuoZo NT系统得运行环境及软件模块得操作特点。 3、了解实习工作流程,从而能对4d产品生产实习有个整体概念。 二、实验内容 1、熟悉4D得基本概念。 数字高程模型(缩写DEM)就是在某一投影平面(如高斯投影平面)上规则格网点得平面坐标(X,Y)及高程(Z)得数据集。 数字正射影像图(缩写DOM)就是利用数字高程模型(DEM)对经扫描处理得数字化航空像片,经逐像元进行投影差改正、镶嵌,按国家基本比例尺地形图图幅范围剪裁生成得数字正射影像数据集。它就是同时具有地图几何精度与影像特征得图像,具有精度高、信息丰富、直观真实等优点。 数字线划地图(缩写DLG)就是现有地形图要素得矢量数据集,保存各要素间得空间关系与相关得属性信息,全面地描述地表目标。 数字栅格地图(缩写DRG)就是现有纸质地形图经计算机处理后得到得栅格数据文件。每一幅地形图在扫描数字化后,经几何纠正,并进行内容更新与数据压缩处理,彩色地形图还应经色彩校正,使每幅图像得色彩基本一致。数字栅格地图在内容上、几何精度与色彩上与国家基本比例尺地形图保持一致。 2、了解VirtuoZo NT系统,熟悉系统得运行环境及配置,主要软件模块以及作业方式等,了解系统目录。 3、系统启动。 4、4d产品制作流程

根据VirtuoZo制作4d产品得基本工作流程如下: 三、实验方 法与步骤 通过阅读 实验指导书, 对制作DE M、DOM流 程以及基本知 识进行足够得 了解。 四、实验结 果 五、实验心得与体会 通过学习摄影测量这门课,我已经了解4D得一些知识,现在又做了这次实验,使我对4D产品又加深了了解,此外,我也接触到了一个软件VirtuoZo NT,我开始就将这个软件进行练习,不断得去了解这个软件,通过实习指导书与视频,我对这个软件得又了更进一步得了解,这个软件就是做摄影测量实验得基础,在这个界面里能够做出一个完美得数字模型,能够将整个城市或者整个地区得影像制作成地形图与正摄投影图,能够使人们更加直观得瞧出地区得整体景象,我们能够用它制作4D产品,我要理解这个软件得制作流程,能够更好得做出产品。

大数据结构实验四题目一排序实验报告材料

数据结构实验报告 实验名称:实验四——排序 学生姓名:XX 班级: 班内序号: 学号: 日期: 1.实验要求 实验目的: 通过选择实验内容中的两个题目之一,学习、实现、对比、各种排序的算法,掌握各种排序算法的优劣,以及各种算法使用的情况。 题目1: 使用简单数组实现下面各种排序算法,并进行比较。 排序算法如下: 1、插入排序; 2、希尔排序; 3、冒泡排序; 4、快速排序; 5、简单选择排序; 6、堆排序; 7、归并排序; 8、基数排序(选作); 9、其他。 具体要求如下: 1、测试数据分成三类:正序、逆序、随机数据。 2、对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关 键字交换记为3次移动)。 3、对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙。 4、对2和3的结果进行分析,验证上述各种算法的时间复杂度。 5、编写main()函数测试各种排序算法的正确性。 2. 程序分析 2.1 存储结构

存储结构:数组 2.2 关键算法分析 一、关键算法: 1、插入排序 a、取排序的第二个数据与前一个比较 b、若比前一个小,则赋值给哨兵 c、从后向前比较,将其插入在比其小的元素后 d、循环排序 2、希尔排序 a、将数组分成两份 b、将第一份数组的元素与哨兵比较 c、若其大与哨兵,其值赋给哨兵 d、哨兵与第二份数组元素比较,将较大的值赋给第二份数组 e、循环进行数组拆分 3、对数据进行编码 a、取数组元素与下一个元素比较 b、若比下一个元素大,则与其交换 c、后移,重复 d、改变总元素值,并重复上述代码 4、快速排序 a、选取标准值 b、比较高低指针指向元素,若指针保持前后顺序,且后指针元素大于标准值,后 指针前移,重新比较 c、否则后面元素赋给前面元素 d、若后指针元素小于标准值,前指针后移,重新比较 e、否则前面元素赋给后面元素 5、简单选择排序 a、从数组中选择出最小元素 b、若不为当前元素,则交换 c、后移将当前元素设为下一个元素 6、堆排序 a、生成小顶堆 b、将堆的根节点移至数组的最后 c、去掉已做过根节点的元素继续生成小顶堆

查找排序实验报告

《编程实训》 实验报告书 专业:计算机科学与技术 班级:151班 学号: 姓名: 指导教师: 日期:2016年6月30日

目录 一、需求分析 (3) 1.任务要求 (3) 2.软件功能分析 (3) 3.数据准备 (3) 二、概要设计 (3) 1.功能模块图 (4) 2.模块间调用关系 (4) 3.主程序模块 (5) 4.抽象数据类型描述 (5) 三、详细设计 (6) 1.存储结构定义 (6) 2.各功能模块的详细设计 (7) 四、实现和调试 (7) 1.主要的算法 (7) 2.主要问题及解决 (8) 3.测试执行及结果 (8) 五、改进 (9) 六、附录 (9) 1.查找源程序 (9) 2.排序源程序 (9)

目录 1 需求分析 1.1 任务要求 对于从键盘随机输入的一个序列的数据,存入计算机内,给出各种查找算法的实现; 以及各种排序算法的实现。 1.2 软件功能分析 任意输入n个正整数,该程序可以实现各类查找及排序的功能并将结果输出。 1.3 数据准备 任意输入了5个正整数如下: 12 23 45 56 78 2 概要设计(如果2,3合并可以省略2.4) 2.1 功能模块图(注:含功能说明) 2.2 模块间调用关系 2.3 主程序模块 2.4 抽象数据类型描述 存储结构:数据结构在计算机中的表示(也称映像)叫做物理结构。又称为存储结构。数据类型(data type)是一个“值”的集合和定义在此集合上的一组操作的总称。 3 详细设计 3.1 存储结构定义 查找: typedef int ElemType ; //顺序存储结构 typedef struct { ElemType *elem; //数据元素存储空间基址,建表时按实际长度分配,号单元留空 int length; //表的长度

摄影测量学实验报告

课间实验报告 2010年——2011年第 2学期 实验课程:摄影测量学 实验班级:08级地理信息系统 学生: 学号: 指导教师: 重庆交通大学测量与空间数据处理实验室

目录 实验一:单像空间后方交会算法实现 实验二:人眼立体相对观察

实验一:单像空间后方交会算法实现 一、 实验目的 通过用程序设计语言(Visual C++或者C 语言、C# 、VB 语言)编写一个完整的单片空间后方交会程序,通过对提供的一定数量的地面控制点进行计算,运用共线方程式反求输出像片的外方位元素并评定精度。本实验的目的在于让学生深入理解单片空间后方交会的原理、方法,体会在有多余观测情况下,用最小二乘平差方法实现解求影像外方位元素的过程。通过上机调试程序加强动手能力的培养,通过对实验结果的分析,增强学生综合运用所学知识解决实际问题的能力。 二、 实验器材 1. 航片坐标量测数据,控制点成果表,航片摄影参数等: ①已知航摄仪内方位元素:f=153.24㎜,000x y ==,摄影比例尺:1/50000 ②已知4对控制点的影像坐标和地面坐标 ③要求写出详细的解答过程 三、 实验原理 以单幅航空影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的 像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的外方位元素 。由于空间后方交会所采用的数学模型共线方程是非线性函数,为了方便外方位元素的求解,需要首先对共线方程进行线性化。 四、 实验步骤 运用程序设计语言编写计算过程代码,其代码编写原理为: 1. 运用空间后方交会的基本公式: 2. 误差方程式和法方程式的建立:

各种排序实验报告

【一】需求分析 课程题目是排序算法的实现,课程设计一共要设计八种排序算法。这八种算法共包括:堆排序,归并排序,希尔排序,冒泡排序,快速排序,基数排序,折半插入排序,直接插入排序。 为了运行时的方便,将八种排序方法进行编号,其中1为堆排序,2为归并排序,3为希尔排序,4为冒泡排序,5为快速排序,6为基数排序,7为折半插入排序8为直接插入排序。 【二】概要设计 1.堆排序 ⑴算法思想:堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。将序列所存储的元素A[N]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的元素均不大于(或不小于)其左右孩子(若存在)结点的元素。算法的平均时间复杂度为O(N log N)。 ⑵程序实现及核心代码的注释: for(j=2*i+1; j<=m; j=j*2+1) { if(j=su[j]) break; su[i]=su[j]; i=j; } su[i]=temp; } void dpx() //堆排序 { int i,temp; cout<<"排序之前的数组为:"<=0; i--) { head(i,N); } for(i=N-1; i>0; i--) {

temp=su[i]; su[i]=su[0]; su[0]=temp; head(0,i-1); } cout<<"排序之后的数组为:"<

摄影测量学空间后方交会实验报告测绘101徐斌

摄影测量学空间后方交会实验报告测绘101徐斌摄影测量学实验报告 实验一、单像空间后方交会 学院: 建测学院 班级: 测绘101 姓名: 徐斌 学号: 26 一( 实验目的 1.深入了解单像空间后方交会的计算过程; 2.加强空间后方交会基本公式和误差方程式,法线方程式的记忆; 3.通过上机调试程序加强动手能力的培养。 二(实验原理 以单幅影像为基础,从该影像所覆盖地面范围内若干控制点和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的相片外方位元素。 三(实验内容 1.程序图框图

2.实验数据 (1)已知航摄仪内方位元素f,153.24mm,Xo,Yo,0。限差0.1秒 (2)已知4对点的影像坐标和地面坐标: 影像坐标地面坐标 x(mm) y(mm) X(m) Y(m) Z(m) 1 -86.15 -68.99 36589.41 25273.32 2195.17 2 -53.40 82.21 37631.08 31324.51 728.69 3 -14.78 -76.63 39100.97 24934.98 2386.50 4 10.46 64.43 40426.54 30319.81 757.31 3.实验程序 Form1.cs 程序

using System; using System.Collections.Generic; using https://www.360docs.net/doc/7e4415109.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace 后方交会1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public double f,m, Xs, Ys, Zs, a1, a2, a3, b1, b2, b3, c1, c2, c3, q, w, k; public static int N,s; public double[] x = new double[4];

数据结构内排序实验报告

一、实验目的 1、了解内排序都是在内存中进行的。 2、为了提高数据的查找速度,需要对数据进行排序。 3、掌握内排序的方法。 二、实验内容 1、设计一个程序e xp10—1.cpp实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序 过程。 (1)源程序如下所示: //文件名:exp10-1.cpp #include #define MAXE 20 //线性表中最多元素个数 typedef int KeyType; typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType } RecType; void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序 { int i,j,k; RecType temp; for (i=1;i=0 && temp.key

摄影测量实验 立体观察

实验立体观察 一.目的 1.熟练掌握每种立体镜的使用方法,利用立体镜看出航片的立体效果。 2.了解桥式立体镜和红绿立体镜的原理。 二.要求 1.禁止大声喧哗,随意进出教室。保持课堂秩序。 2.不得随意损坏涂抹照片,不得损坏眼镜,各小组组长负责仪器和像片完好无损,损坏像片和仪器的要进行赔偿。 三.仪器 每组一套立体像对,一个桥式立体镜。 电脑一台,红绿立体镜,数字影像。 四.方法和步骤 1.拿到两张像片之后,首先观察像片上一样图案的部分,把它们按照规定的 顺序摆放好。 2.寻找同名像点,把立体镜摆放在同名像点的上方,左眼看左片的像点,右 眼看右片的像点,仔细观察,直到看出高低起伏的感觉。 用立体镜进行像对立体观察时,首先要将像片定向。像片定向是用 针刺出每张像主点O 1、O 2 ,并将其转刺于相邻像片上O′ 1 和O′ 2 ,在像 片上画出像片基线O 1O′ 2 和O′ 1 O 2 ,再在图纸上画一条直线,使两张像 片上基线O 1O′ 2 和O′ 1 O 2 与直线重合,并使基线上一对相应像点间的距 离略小于立体镜的观察基线。然后将立体镜放在像对上,使立体镜观察基线与像片基线平行。同时用左眼看左像,右眼看右像。 开始观察时,可能会有三个相同的影像(左、中、右)出现,这时要凝视中间清晰的目标(如道路、田地),如该目标在中间的影像出现双影,可适当转动像片,使影像重合,即可看出立体。 3、像对立体观察的立体效果 在满足立体观察的条件下,随着两张像片放置方式的不同,就会产生不同的立体效应。 1)正立体效应 如果把左方摄影站获得的像片放在左方用左眼观察;右方摄影站摄取的像片放在右方用右眼观察,这时获得与观察实物相似的立体效果,称为正立体效应。

摄影测量报告

1 实习目的 1.1进一步掌握摄影测量学的基础理论以及全数字摄影测图过程; 1.2 熟练掌握数字摄影测量系统VirtuoZo的使用; 1.3 掌握像控点的选刺和像片调绘的基本方法及相关要求; 1.4 掌握数字摄影测量系统主要模块的功能以及数字高程模型(DEM)、数字正射影像(DOM)、数字栅格地图(DRG)、数字线划地图(DLG)的生产流程; 1.5 在理论的基础上培养学生的动手能力。 2 实习时间及地点 1月7号至1月11号在长春工程学院东校区第二教学楼2108进行摄影测量实习 3 实习任务 3.1 DEM制作 3.2 DOM制作 3.3 数字化测图 4 实习内容 4.1 数字摄影测量系统VirtuoZo 简介 4.1.1 系统简介 全数字化摄影测量系统VirtuoZo 为用户提供了从自动空中三角测量到测绘地形图的全套整体作业流程解决方案。 VirtuoZo 可处理航空影像、近景影像、卫星影像(SPOT1-4、TM 等)、高分辨率的IKONOS、QuickBird、SPOT5 卫星影像和可量测数码相机影像。其开放的数据交换格式也可与其他测图软件、GIS 软件和图像处理软件方便的共享数据。 VirtuoZo 大部分的操作不需要人工干预,可以批处理地自动进行。用户也可以根据具体情况灵活选择作业方式。 VirtuoZo 拥有多种高效实用的测图模式以及Microstation 接口测图模块,切合测图生产的实际情况,是采集三维基础地理信息的理想平台。 VirtuoZo 已经大大的改变了我国传统的测绘模式,提高了行业的生产效率,它不仅是制作各种比例尺的4D 测绘产品的强有力的工具,也为虚拟现实和GIS 提供了基础数据,是3S 集成、

排序算法实验报告

实验课程:算法分析与设计 实验名称:几种排序算法的平均性能比较(验证型实验) 实验目标: (1)几种排序算法在平均情况下哪一个更快。 (2)加深对时间复杂度概念的理解。 实验任务: (1)实现几种排序算法(selectionsort, insertionsort,bottomupsort,quicksort, 堆排序)。对于快速分类,SPLIT中的划分元素采用三者A(low),A(high),A((low+high)/2)中其值居中者。(2)随机产生20组数据(比如n=5000i,1≤i≤20)。数据均属于范围(0,105)内的整数。对于同一组数据,运行以上几种排序算法,并记录各自的运行时间(以毫秒为单位)。(3)根据实验数据及其结果来比较这几种分类算法的平均时间和比较次数,并得出结论。 实验设备及环境: PC;C/C++等编程语言。 实验主要步骤: (1)明确实验目标和具体任务; (2)理解实验所涉及的几个分类算法; (3)编写程序实现上述分类算法; (4)设计实验数据并运行程序、记录运行的结果; (5)根据实验数据及其结果得出结论; (6)实验后的心得体会。 一:问题分析(包括问题描述、建模、算法的基本思想及程序实现的技巧等):1:随机生成n个0到100000的随机数用来排序的算法如下. for(int n=1000;n<20000;n+=1000) { int a[]=new int[n]; for(int i=0;i

相关文档
最新文档