摄影测量与遥感知识体系的全面解读

版权申诉
0 下载量 192 浏览量 更新于2024-10-05 收藏 13.28MB RAR 举报
资源摘要信息:"摄影测量与遥感概念、应用与技术解析" 摄影测量与遥感是现代测量学的重要分支,它们依托现代科技手段,通过获取地表信息,分析和解释地面特征,广泛应用于地图制作、城市规划、资源勘探、环境监测等领域。摄影测量主要是指使用摄影设备从空中或地面获得影像数据,通过摄影机的成像原理和相关几何关系,计算得到地表物体的几何形状、位置、大小等信息。遥感则是指使用传感器从远距离感知目标物体反射或发射的电磁波信息,获取地表覆盖物的性质和变化等信息。 摄影测量与遥感技术的发展,经历了从传统的光学摄影测量到数字摄影测量,再到如今的遥感卫星技术的演变。早期的摄影测量依赖于胶片相机,需要经过冲洗、扫描等步骤,而现代数字摄影测量则通过数码相机直接获取数字影像,配合计算机处理技术,大幅提高了数据处理的速度和精度。遥感技术的发展则依赖于传感器技术的进步,从早期的航空遥感到现在的卫星遥感,使得我们能够更快捷、更准确地获取大范围的地表数据。 摄影测量与遥感的基本工作流程包括影像获取、影像处理、影像分析和信息提取等步骤。影像获取包括空中摄影、卫星遥感、无人机(UAV)遥感等多种方式。影像处理涉及影像校正、增强、分类、解译等技术,是提高遥感数据应用价值的关键环节。影像分析和信息提取则是将处理后的数据转化为具体的地表信息,如提取植被覆盖度、建筑物布局、地形变化等。 随着计算机技术和空间信息技术的快速发展,摄影测量与遥感领域也不断涌现出新技术和新应用。例如,利用激光扫描技术(LiDAR)进行三维建模,应用高光谱遥感进行地物识别,以及通过无人机搭载多光谱传感器进行农业监测等。此外,地理信息系统(GIS)作为与摄影测量与遥感紧密相关的技术,其对海量空间数据的存储、管理、分析和可视化能力,极大地推动了摄影测量与遥感数据的应用和普及。 在教育和科研领域,摄影测量与遥感的知识点包括但不限于光学成像原理、数字图像处理、空间定位技术、遥感卫星原理、GIS技术、遥感数据解译以及编程和自动化处理技术等。这些内容对于培养学生和科研人员的空间思维能力、数据处理能力以及解决实际问题的能力有着重要作用。 总之,摄影测量与遥感是一门综合性的应用科学,它结合了光学、电子学、计算机科学、空间科学等多个领域的理论和技术。通过学习摄影测量与遥感的相关知识,我们可以更好地理解地球表面及其变化,为资源开发、环境保护、城乡规划等领域提供科学的决策支持。随着技术的不断进步和应用领域的不断拓展,摄影测量与遥感在未来的社会发展和科学研究中将扮演更加重要的角色。

class SpiralIterator: def init(self, source, x=810, y=500, length=None): self.source = source self.row = np.shape(self.source)[0]#第一个元素是行数 self.col = np.shape(self.source)[1]#第二个元素是列数 if length: self.length = min(length, np.size(self.source)) else: self.length = np.size(self.source) if x: self.x = x else: self.x = self.row // 2 if y: self.y = y else: self.y = self.col // 2 self.i = self.x self.j = self.y self.iteSize = 0 geo_transform = dsm_data.GetGeoTransform() self.x_origin = geo_transform[0] self.y_origin = geo_transform[3] self.pixel_width = geo_transform[1] self.pixel_height = geo_transform[5] def hasNext(self): return self.iteSize < self.length # 不能取更多值了 def get(self): if self.hasNext(): # 还能再取一个值 # 先记录当前坐标的值 —— 准备返回 i = self.i j = self.j val = self.source[i][j] # 计算下一个值的坐标 relI = self.i - self.x # 相对坐标 relJ = self.j - self.y # 相对坐标 if relJ > 0 and abs(relI) < relJ: self.i -= 1 # 上 elif relI < 0 and relJ > relI: self.j -= 1 # 左 elif relJ < 0 and abs(relJ) > relI: self.i += 1 # 下 elif relI >= 0 and relI >= relJ: self.j += 1 # 右 #判断索引是否在矩阵内 x = self.x_origin + (j + 0.5) * self.pixel_width y = self.y_origin + (i + 0.5) * self.pixel_height z = val self.iteSize += 1 return x, y, z dsm_path = 'C:\sanwei\jianmo\Productions\Production_2\Production_2_DSM_part_2_2.tif' dsm_data = gdal.Open(dsm_path) dsm_array = dsm_data.ReadAsArray() spiral_iterator = SpiralIterator(dsm_array,x=810,y=500) while spiral_iterator.hasNext(): x, y, z = spiral_iterator.get() print(f'Value at ({x},{y}):{z}')这段代码怎么改可以利用共线方程将地面点坐标反算其在原始航片的像素坐标

2023-06-02 上传