⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gk2bl.m

📁 这是国外关于卫星导航方面一书的源代码
💻 M
字号:
function [b,l]=gk2bl(R,H,ell)
% [B,L]=gk2bl(R,H)
% [B,L]=gk2bl(R,H,ELLIPS)
%
% Conversion from Gauss-Krueger coordinates (transverse mercator projection of german convention)
%            in   geodetic ellipsoidal coordinates
%
% Input:  east [m], north [m]
%         ELLIPS is a string: 'wgs84', 'grs80', oder 'bessel' (default)
% Output: latitude [deg.decimals], longitude [deg.decimals]
%
% closed formulas, no iteration
%
% (c) iapg - Zeb - 11/96

if nargin < 3, ell = 'bessel'; end	% Bessel default
ell = lower(deblank(ell));
if strcmp(ell,'bessel')			% Bessel-Ellipsoid 
   a  = 6377397.155;         		   % grosse Halbachse
   c  = 6398786.849;         		   % a*a/b
   es = 0.006719218798;     		   % (a*a-b*b)/(b*b)
   n  = 0.001674184801;      		   % (a-b)/(a+b)
elseif strcmp(ell,'wgs84') 		% WGS84-Ellipsoid
   a  = 6378137;
   c  = 6399593.626;
   es = 0.00673949674226;
   n  = 0.00167922038638;
elseif strcmp(ell,'grs80') 		% GRS80-Ellipsoid
   a  = 6378137;
   c  = 6399593.626;
   es = 0.00673949677548;
   n  = 0.00167922039463;
else
   error('Undefined Ellipsoid')
end

   rho=180 / pi;

% GK in der Bundesrepublik Deutschland

   masstab = 1;
   y0 = 500000;

% Meridianbogenlaenge

   x = H;
   g = x / masstab;

% Berechnung der Fusspunktsbreite aus Meridianbogenlaenge

   kz = floor(R * 1e-6);
   l0 = kz * 3;
   y  = R - (kz + 0.5)*1e6;

   bs  = (1+n) / a / (1 +n^2 / 4 + n^4 / 64) * g;
   bf3 = bs  + 1.5*n * (1 - n^2*9/16) * sin(2*bs);
   bf2 = bf3 + n^2/16 * ( 21 - 27.5* n^2) * sin (4*bs);
   bf1 = bf2 + 151/96 * n^3 * sin(6*bs);
   bf  = bf1 + 1097/512 * n^4 * sin(8*bs);

% Berechnung von Breite und Laenge

   eta2 = es * cos(bf).^2;
   v2 = 1 + eta2;
   v = sqrt(v2);

   ys = y / masstab / c;

   ll = v ./ cos(bf) .* sinh(ys) .* (1 - eta2.^2 ./ 6 .* ys.^2 - 0.1*es*ys.^4);
   lroh = atan(ll);

   bb = tan(bf) .* cos(v .* lroh) .* (1 - eta2 .* lroh.^4 / 6);
   broh = atan (bb);

   b = broh * rho;
   l = lroh * rho + l0;

% -------------------Ende----------------------------------Zeb,11/96--------


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -