按方位提取高程数据的方法

article/2025/7/26 16:50:22

1. 问题的描述

根据经过Lambert变换后显示的地图设置方位,以正北方向为零度,顺时针旋转的角度为相应的方位角。以站址为中心,沿相应的方位提取高程数据,形成某指定方位的随距离变化的高程数据。所获得的高程数据尚未考虑地球曲率的影响,为引入地球曲率的影响,则需要数据进行相应的坐标变换,以获得按站址坐标系描述的高程信息。

2. 沿方位的采样点坐标的选取

假设屏幕显示区域的像素数为(N_X,N_Y),所对应的距离范围为(R_X, R_Y) km,站址位于显示区域的中心。考虑方位\theta方向上的采样点的提取。

由上述参数可见,x方向上的每个像素代表的距离为r_X = R_X/N_X km/pixel,y方向上的每个像素代表的距离为r_Y = R_Y/N_Y km/pixel。根据参数r_Xr_Y\theta确定步进长度

l_s = \left\{\begin{matrix} \left | r_Y \right |, & \theta = 0^{\circ}, 180^{\circ}\\ \left | r_X \right |, & \theta = 90^{\circ}, 270^{\circ}\\ \min\left\{\left | r_X/\sin\theta \right |, \left | r_Y/\cos\theta \right |\right\}, & \mbox{otherwise} \end{matrix}\right.

所以,沿方位的第n(n=0,1,2,\cdots,\min\{N_X/2, N_Y/2 \})个点的坐标(x_n, y_n)

\left\{\begin{matrix} x_n = n\times l_s \times \sin\theta\\ y_n = n\times l_s \times \cos\theta \end{matrix}\right.

根据获得的坐标(x_n, y_n)经过逆Lambert变换可获得该点的经纬度(\lambda_n, \phi_n),再利用其经纬度(\lambda_n, \phi_n)获取SRTM3中的高程值h_n,这样就获得了坐标(x_n, y_n)所对应的大地坐标(\lambda_n, \phi_n, h_n)

3. 大地坐标到站址坐标的变换

 大地坐标到站址坐标的变换需要借助地心地固坐标系(Earth-Centered, Earth-Fixed,ECEF)的中介。ECEF坐标系是一种以地心为原点的地固坐标系,是一种笛卡儿坐标系。原点 O (0,0,0)为地球质心,z轴与地轴平行指向北极点,x轴指向本初子午线与赤道的交点,y轴垂直于xOz平面(即东经90度与赤道的交点)构成右手坐标系。

大地坐标(\lambda_n, \phi_n, h_n)到ECEF坐标系(X_n, Y_n, Z_n)的变换关系

\left\{\begin{matrix} X_n = (R+h_n)\cos\phi\cos\lambda /1000\\ Y_n = (R+h_n)\cos\phi\sin\lambda /1000\\ Z_n = [R(1-e^2)+h_n]\sin\phi /1000\end{matrix}\right.

式中,e=\sqrt{a^2 - b^2}/a=0.0818191910428为地球第一偏心率;a=6378137 m为地球长半轴;b=6356752.31414 m为地球短半轴;R = a/\sqrt{1-e^2\sin^2\phi}为卯酉圈半径。ECEF坐标系中的单位为 km。

ECEF坐标系(X_n, Y_n, Z_n)转换为站址(ENU,东北天)坐标系(E_n, N_n, H_n)。假设站址的大地坐标为(\lambda_0, \phi_0, h_0),对应的ECEF坐标(X_0, Y_0, Z_0),则变换关系为

\begin{bmatrix} N_n\\ E_n\\ U_n \end{bmatrix} = \begin{bmatrix} -\sin\phi_0\cos\lambda_0 & -\sin\lambda_0 & \cos\phi_0\cos\lambda_0 \\ -\sin\phi_0\sin\lambda_0 & \cos\lambda_0 & \cos\phi_0\sin\lambda_0 \\ \cos\phi_0 & 0 & \sin\phi_0 \end{bmatrix} \cdot \begin{bmatrix} X_n-X_0\\ Y_n - Y_0\\ Z_n - Z_0 \end{bmatrix}

ENU坐标系中的单位为 km。通常会将U_n的单位变换为 m。

4. 特定方位的高程变化曲线

  • 不考虑地球曲率的影响:横轴距离为n\times l_s,单位为km,纵轴为高程,单位m,应该是大地坐标(\lambda_n, \phi_n, h_n)中的h_n,单位为m。
  • 考虑地球曲率的影响:横轴距离为\sqrt{N_n^2 + E_n^2},单位为km,纵轴为高程,应该是ENU坐标系中(E_n, N_n, H_n)中的1000\times H_n,单位为m。


http://chatgpt.dhexx.cn/article/bdfOaNaK.shtml

相关文章

DEM高程数据的获取和应用(全国DEM数据可直接下载)

DEM是数字高程模型的英文简称(Digital Elevation Model),是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征,因此通过DEM 可提取大量的地表形态信息,可用于绘制等高线、高程图、坡度图、坡向图、…

获取高程数据并生成等高线

从地理空间数据云下载高程数据非常方便,码一波下载方法。 高级检索 选择数据集 选择数据集为DEM高程数据,你想下载的数据产品。 搜索,下载 选择地区,地区选择主要有行政区域击搜索,点击如箭头所示图标即可下载。可…

裁剪DEM高程数据

裁剪DEM高程数据方法 对DEM高程数据(tif文件)方法较多,现将使用的方法进行总结,内容主要包括三个方面: 使用ARCGIS裁剪使用globalmapper裁剪使用MATLAB裁剪 1、使用ARCGIS裁剪 Arcgis将一幅影像裁剪成一幅或多幅&a…

12.5m高程数据DEM,导入大疆精灵4RTK,M300仿地飞行

点赞及加关注,即可获得——12.5m高程数据DEM,记得私信我——回复 “12.5m高程数据DEM” 领取哦。 文末有视频教程连接。 下面进入教程正文。 全国12.5米高程数据,是ALOS卫星的测绘成果,ALOS卫星于2006年1月24日发射,同…

GlobalMapper20使用控制点对地形数据(高程数据)进行高程纠正(高程拟合/纠偏/配准)

序:为什么要对高程数据进行控制点纠正 1.经常因为拿到的地形数据非当前坐标系,高程基准也不一样,需要进行投影转换调整高程基准 此情况一般一个控制点就够了,对地形进行整体的抬升或者下降。 2.实测数据和基于卫星、航测等生成…

高精度数字高程数据1m的dem

最近一直在做一个三维场景的项目,老板一直让我下载高精度的数据,从而构建三维场景,一开始在各种网站上下载如中国科学院镜像站点下载,德国航天局的DLR数字高程数据,美国航天局NASA网站上等一些地方下载,基本…

地理高程数据SRTM3简介

1. SRTM简介 SRTM(Shuttle Radar Topography Mission,航天飞机雷达地形测绘使命)是美国太空总署(NASA)和国防部国家测绘局(NIMA)以及德国与意大利航天机构共同合作完成联合测量,由美国发射的“…

国内外高程数据介绍

目前网上有多种全球高程数据,国内在这方面也进步喜人,资源三号目前已放出来的卫片给了不少惊喜,其高程数值得期待。但资源三号的高程数据放出来还需等待,过去两三年全球高程数据发展相当迅猛,DLR放出了相当高精度的数据…

DEM高程数据下载方法

网页下载 网站上下载免费的DEM数据 地形高程数据几个比较好的下载地点: (1)http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp,从这里可以下载SRTM 90m数据,支持逐个Tile选取,或者拖拽鼠标一次选取多个,或者输入经纬度坐标选…

全球高精度5米 12.5米 30米地形(DEM)高程数据(tif格式)下载

高程数据在地形分析、坡度坡向分析、等高线分析等多个场景都需要用到,而最常见的高程数据便是数字高程模型,即DEM了。 下面便给大家罗列下几个常见的高程数据(即DEM)的下载渠道。 下载位置:图新地球 免费下载&#x…

DEM高程数据

DEM高程数据 ** DEM高程数据包括两个部分:ASTER GDEM30米分辨率高程数据和SRTM90米分辨率高程数据。ASTER GDEM数据来源于NASA,数据覆盖范围为北纬83到南纬83之间的所有陆地区域,时间范围为2000年前后;SRTM数据来源于CIAT&#x…

gis 数据框裁剪_GIS中DEM高程数据的获取/处理/等高线生成

1.高程数据的下载地址和下载方式 下载地址:地理空间数据云 点击“高级检索”——选择“GDEMDEM 30M 分辨率数字高程数据”——“地图选择”——画出自己想要的高程数据所在地我们以鹤岗为例,通过检索我们发现一共是10块,我们依次下载。 下载完成后解压是这样的

全球数字高程数据(DEM)详解,还有地形晕渲、等高线等干货

1 基本概念 DEM是数字高程模型的英文简称(Digital Elevation Model),是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征,因此通过DEM 可提取大量的地表形态信息,可用于绘制等高线、坡度图、坡向…

python isupper_Python中用于检查英文字母大写的isupper()方法

Python中用于检查英文字母大写的isupper()方法 isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写。 语法 以下是isupper()方法的语法: str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回…

isupper

原型:extern int isupper(int c);用法:#include 功能:判断字符c是否为大写英文字母说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。举例:// isupper.c#include #include main(){int c;c…

Python字符串:isspace、istitle、isupper、islower

str.isspace() 如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False 。 空白 字符是指在 Unicode 字符数据库 (参见 unicodedata) 中主要类别为 Zs (“Separator, space”) 或所属双向类为 WS, B 或 S 的字符。 str.istitle() 如果字符串中至…

python中的 isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( ) 的用法

isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( )这几个函数在算法题里面还是很有用处的。 isdigit( ) 检测字符串是否只由数字组成。 和 isnumeric( )函数类似 islower( ) 检测字符串是否由小写字母组组成 isupper( ) 检测字符串中所有的字母是否都为大写…

c语言中isupper用法,C 库函数 - isupper()

描述 C 库函数 int isupper(int c) 检查所传的字符是否是大写字母。 声明 下面是 isupper() 函数的声明。 int isupper(int c); 参数 c -- 这是要检查的字符。 返回值 如果 c 是一个大写字母,则该函数返回非零值(true),否则返回 0(false)。 实例 下面的实…

【C++常用函数】isalpha、isalnum、isdigit、islower、isupper用法

isalpha()用来判断一个字符是否为字母isalnum用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。isdigit() 用来检测一个字符是否是十进制数字0-9islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。isupper(…

python isupper_Python isupper()函数判断字符串字符是否都为大写形式

Python中的 isupper() 函数的作用是检查一个字符串中的字符是否都为大写形式,如果字符串不为空,且所有字符都为大写形式的话就返回 True ,否则返回 False 。 可以认为,Python 的 isupper() 函数的作用与 islower() 函数是相反的。后者的作用是检查一个字符串的所有字符是否…