Matlab geoidheight 函数解析

N = geoidheight(latitude, longitude, 'Custom', datafile, action)

geoidheight(latitude,longitude) calculates the geoid height using the EGM96 Geopotential Model. 

For this model, it calculates these geoid heights to an accuracy of 0.01 m. 

It interpolates an array of m geoid heights at m geocentric latitudes, latitude, and m geocentric longitudes, longitude.

Geoidheigh函数是计算大地水准面差距的标准函数。大地水准面差距即是从大地水准面上的点沿地球椭球法线到地球椭球的距离。因此该函数计算的值为EGM96(或者EGM2008)大地水准面与WGS84椭球体的差值。而大地水准面与平均海水面之前还存在垂直偏差如下图所示。

MATLAB中,你可以使用textscan函数进行GPGGA数据的解析。你需要将GPGGA数据作为一个字符串输入到textscan函数中,并指定每个字段的数据类型和分隔符。以下是一个示例代码,可以将GPGGA数据解析为一个结构体: ```matlab % GPGGA数据示例 gpgga_data = '$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47'; % 定义分隔符和数据类型 delimiter = ','; data_types = {'%s', '%f', '%f', '%c', '%f', '%c', '%d', '%d', '%f', '%f', '%c', '%f', '%c', '%s'}; % 解析GPGGA数据 gpgga_struct = textscan(gpgga_data, ['%*1s', repmat('%s',1,12)], 'delimiter', delimiter); % 将解析后的数据存储到结构体中 gpgga.fields = gpgga_struct{1}; gpgga.utc_time = gpgga_struct{2}; gpgga.latitude = gpgga_struct{3}; gpgga.lat_dir = gpgga_struct{4}; gpgga.longitude = gpgga_struct{5}; gpgga.lon_dir = gpgga_struct{6}; gpgga.fix_quality = gpgga_struct{7}; gpgga.num_sats = gpgga_struct{8}; gpgga.hdop = gpgga_struct{9}; gpgga.altitude = gpgga_struct{10}; gpgga.alt_unit = gpgga_struct{11}; gpgga.geoid_height = gpgga_struct{12}; gpgga.geoid_unit = gpgga_struct{13}; gpgga.checksum = gpgga_struct{14}; ``` 在以上代码中,我们将GPGGA数据定义为一个字符串`gpgga_data`,并定义了分隔符为逗号。`data_types`数组指定了每个字段的数据类型和格式,例如`%f`表示浮点数,`%d`表示整数,`%c`表示字符等。`textscan`函数的第一个输入参数是要解析的字符串,第二个参数是格式化字符串,使用`%*1s`表示忽略第一个字符($符号),`%s`表示字符串类型。最后,我们将解析后的数据存储到一个结构体`gpgga`中,每个字段都对应结构体中的一个成员变量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值