Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вища геодезія

.pdf
Скачиваний:
31
Добавлен:
19.02.2016
Размер:
1.24 Mб
Скачать

1. Системи координат в геодезiї

1.1. Геометричнi властивостi елiпса та сфероїда

Задачею вищої геодезiї є вивчення фiгури та зовнiшнього гравiтацiйного поля Землi. Пiд фiгурою Землi розумiють фiзичну поверхню суходолу у сполученнi з незбуреною поверхнею Свiтового океану. Наближенням фiгури Землi є поверхня геоїда, тобто поверхня, яка спiвпадає iз незбуреною (припливами, вiтром, коливанням тиску) поверхнею води Свiтового океану та уявно продовжується пiд материки таким чином, що напрями лiнiй виска всюди перетинають цю поверхню пiд прямим кутом. Форма геоїда досить складна внаслiдок неоднорiдностi розподiлу мас всерединi Землi, а тому використовувати цю поверхню при математичному розв’язаннi геодезичних задач дуже незручно. Тому при розв’язаннi задач вищої геодезiї фiгура Землi замiнюється бiльш простою з математичної точки зору поверхнею — елiпсоїдом обертання або, iншими словами, сфероїдом. Ця поверхня утворюється шляхом обертанням елiпса навколо малої осi. Елiпс є алгебраїчною кривою 2-го порядку i описується рiвнянням

 

x2

+

y2

(1.1)

 

2

b

2 = 1.

 

a

 

 

 

Величини a i b називаються пiвосями елiпса — рис. 1.1 (якщо a > b,

то a називається великою пiввiссю, а b — малою). Окрiм великої та малої

пiвосей використовують такi характеристики елiпса:

 

стиснення

 

 

 

b

 

 

 

 

 

 

 

α = 1

a,

(1.2)

 

P

 

 

 

Z

 

 

 

 

 

 

 

 

 

полюс

 

b

a

 

 

 

 

 

 

 

 

 

b

F1

F2

 

 

 

Y

ae

a

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

X

екваторіальна

 

 

 

 

площина

Рис. 1.1. Елiпс

 

 

Рис. 1.2. Елiпсоїд обертання (сфероїд)

ексцентриситет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e = r1−

b2

 

 

 

,

(1.3)

 

a2

другий ексцентриситет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e= r

a2

 

 

 

−1,

(1.4)

 

b2

лiнiйний ексцентриситет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E =

 

a2 b2.

(1.5)

З цих виразiв неважко

отримати наступнi спiввiдношення мiж величи-

 

p

 

нами a, b, α, e, e:

p p e p

b = a(1−α) = a 1−e2, e = 2α−α2, e= 1−e2 , α = 1− 1−e2. (1.6)

Точки F1, F2 на рис. 1.1, розташованi на великiй осi елiпса на вiдстанi ae вiд його центру, називаються фокусами. Основною геометричною властивiстю елiпса є те, що сума вiдстаней вiд будь-якої точки елiпса до його фокусiв дорiвнює 2a.

Обертаючи елiпс навколо осi b, отримаємо сфероїд (рис. 1.2). Його рiвняння буде

x2 +y2

+

z2

= 1.

2

b

2

a

 

 

 

Величина a для земного сфероїда називається екваторiальним радiусом. При вiдомих значеннях a i b площа елiпса S та об’єм сфероїда V вира-

жаються простими формулами

 

S = πab,

V = 34 πa2b.

1.2. Характеристика загальноземних систем координат

Елiпсоїд обертання (сфероїд), який представляє земну поверхню, в геодезiї називають просто елiпсоїдом. Його пiдбирають таким чином, щоб вiн був близьким до фiгури Землi в цiлому. Такий елiпсоїд називають загальноземним; його вибирають так, щоб центр елiпсоїда спiвпадав з центром мас Землi, його екваторiальна площина спiвпадала з площиною земного екватора, вiсь симетрiї спiвпадала з вiссю обертання Землi, а сума квадратiв вiдхилень по висотi вiд поверхнi геоїда була мiнiмальною.

Для окремих країн вводять елiпсоїди, отриманi на основi геодезичних вимiрювань, що охоплюють територiю даної країни. Такi елiпсоїди називають референц-елiпсоїдами. Референц-елiпсоїд призначений для наближеного описання не всiєї поверхнi Землi, а лише певної її дiлянки. Референц-

елiпсоїд вiдрiзняється вiд загальноземного елiпсоїда величинами екваторiального радiусу та стиснення, центр референц-елiпсоїда змiщений вiдносно центру мас Землi, але його екваторiальна площина залишається паралельною до екваторiальної площини Землi, а значить мала вiсь референцелiпсоїда паралельна до малої вiсi загальноземного елiпсоїда.

Загальноземнi та референц-елiпсоїди служать координатними поверхнями, вiдносно яких визначаються геодезичнi координати пунктiв, а тому системи координат, якi використовуються в геодезiї, зв’язанi з вiдповiдними їм елiпсоїдами.

На даний час Мiжнародний геодезичний i геофiзичний союз (IUGG

— International Union of Geodesy and Geophysics) в якостi загальноземної геодезичної системи координат використовує систему GRS-80 (Geodetic Reference System, 1980 р.)

Починаючи з 1987 року глобальна система визначення мiсцеположення NAVSTAR GPS використовує як опорну свiтову геодезичну систему WGS– 84 (World Geodetic System, 1984 р.). В нiй параметри елiпсоїда майже збiгаються з параметрами елiпсоїда системи GRS-80, а центр елiпсоїда з точнiстю ±1 м збiгається з центром мас Землi.

Система ГЛОНАСС дiє в координатнiй системi ПЗ–90 (Параметри Землi, 1990 р.).

Додаток А мiстить таблицю, в якiй наведено числовi параметри для деяких загальноземних елiпсоїдiв.

При розв’язаннi геодезичних задач в MATLAB потрiбнi значення геометричних характеристик елiпсоїда WGS–84. Папка GeodeticLib мiстить файл WGS84_data.mat, в якому зберiгаються основнi константи елiпсоїда WGS–84, та iншi файли — MATLAB-функцiї, якi будуть використовуватись в подальшому для розв’язання геодезичних задач. Щоб цi файли були доступнi в середовищi MATLAB, потрiбно через кнопку (розташована на вкладцi Home стрiчки iнструментiв) вiдкрити дiалогове вiкно Set Path (рис. 1.3), в якому натиснути кнопку Add Folder... та додати папку GeodeticLib до списку шляхiв, в яких MATLAB шукає файли; пiсля цього потрiбно натиснути кнопку Save, щоб зберегти внесенi змiни.

При виконаннi в програмi команди

load WGS84_data.mat

в робочу область з файлу WGS84_data.mat завантажується структура WGS84, поля якої мiстять характеристики елiпсоїда в системi WGS–84:

Рис. 1.3

>> WGS84 WGS84 =

a:6378137

b:6356752.314245 alpha: 0.00335281066474748

e:0.081819190842622

w:7.292115e-05 GM: 398600441800000

J2: 0.0010826298213133 Uo: 62636851.7146

g_pol: 9.8321849378 g_eq: 9.7803253359

m:0.00344978650684

Поля цiєї структури мають наступне трактування: a, b — велика i мала пiвосi елiпсоїда, м;

alpha, e — стиснення та ексцентриситет елiпсоїда;

w— кутова швидкiсть обертання Землi, рад/с;

GM — добуток гравiтацiйної сталої на масу Землi, м32; J2 — коефiцiєнт другої зональної гармонiки;

Uo — нормальний потенцiал на поверхнi елiпсоїда, м22; g_pol — прискорення вiльного падiння на полюсi, м/с2; g_eq — прискорення вiльного падiння на екваторi, м/с2.

Цими значеннями можна користуватись при обчисленнях. Нагадаємо, що звернення до полiв структури має формат 'яСтруктури.Iм'яПоля. Наприклад, обчислимо об’єм елiпсоїда:

load WGS84_data.mat

V = 4/3 * pi * WGS84.a^2 * WGS84.b;

Для зручностi значення полiв можна спочатку занести в окремi змiннi:

load WGS84_data.mat

a = WGS84.a;

b = WGS84.b;

V = 4/3 * pi * a^2 * b;

1.3. Деякi кориснi функцiї для MATLAB

Розглянемо деякi функцiї, спецiально написанi для використання при розв’язаннi задач в середовищi MATLAB; m-файли з даними функцiями мiстяться в папцi GeodeticLib.

dms2rad переводить значення кута з формату “градуси, мiнути, секунди” в радiани

Angle = dms2rad(градуси, мiнути, секунди) — це перший варiант виклику функцiї; в якостi аргументiв передаються три числа.

Angle = dms2rad([градуси, мiнути, секунди]) — iнший варiант виклику функцiї; аргумент всього один — вектор з трьох чисел.

Отже, функцiя dms2rad викликається в одному з двох варiантiв, наприклад:

%змiннiй Angle присвоюється значення кута 602030,2345′′,

%виражене в радiанах

Angle = dms2rad( 60, 20, 30.2345 );

Angle = dms2rad([60, 20, 30.2345]);

% в результатi Angle = 1.05316189636233

rad2dms виконує обернену задачу: на основi значення радiанної мiри кута повертає вектор з трьох елементiв у виглядi

[градуси, мiнути, секунди]. Наприклад, в результатi такого виклику

Angle_deg = rad2dms(1.05316189636233);

змiннiй Angle_deg присвоюється вектор [60, 20, 30.2345].

rad2str на основi кута, вираженого в радiанах, повертає символьний рядок вигляду градусимiнутисекунди′′; цю функцiю доцiльно використовувати при видачi значення кута в командне вiкно.

Result = rad2str(Angle)

Result = rad2str(Angle, N) — цей варiант виклику дозволяє задати кiлькiсть цифр N пiсля коми у значеннi секунд.

>>rad2str(1.05316189636233) ans =

60° 20' 30.23"

>>rad2str(1.05316189636233, 4) ans =

60° 20' 30.2345"

dms2str виконує те ж саме, що i функцiя rad2str, але кут задається у форматi “градуси, мiнути, секунди”. Допускаються наступнi формати виклику:

Result = dms2str( градуси, мiнути, секунди) Result = dms2str( градуси, мiнути, секунди, N) Result = dms2str([градуси, мiнути, секунди])

Result = dms2str([градуси, мiнути, секунди], N)

Кут може задаватися як три послiдовних аргумента або як один аргумент

— вектор з трьох значень. N — кiлькiсть цифр пiсля коми у значеннi.

NormalizeAngle повертає значення кута в радiанах, яке шляхом додавання або вiднiмання значення, кратного 2π, приведене до iнтервалу [0; 2π)

Angle = NormalizeAngle(x)

Наприклад,

Angle1 = NormalizeAngle(20);

% в результатi Angle1= 20−3· 2π = 1.15044407846124

Angle2 = NormalizeAngle(-1);

% в результатi Angle2= −1+2π = 5.28318530717959

Disp На вiдмiну вiд стандартної функцiї disp, яка видає в командне вiкно значення свого одного аргументу, функцiя Disp може отримувати цiлий список аргументiв, значення яких по черзi видаються в командне вiкно.

Ось приклад використання:

Angle = 1.05316189636233;

Disp( ' Angle = ' , Angle)

Disp( ' Angle = ' , rad2dms(Angle))

Disp( ' Angle = ' , rad2str(Angle,4))

В результатi в командне вiкно буде видано наступне:

Angle =

1.05316189636233

Angle =

60

20

30.2345000005573

Angle =

60° 20' 30.2345"

1.4.Геоцентричнi декартовi, сферичнi та геодезичнi елiпсоїдальнi координати

Система координат, початок якої знаходиться в центрi мас Землi або близько нього, називається геоцентричною чи квазiгеоцентричною вiдповiдно. Тому координати, зв’язанi з загальноземним елiпсоїдом, називаються загальноземними i геоцентричними, а координати, зв’язанi з вибраним референц-елiпсоїдом, — референцними i квазiгеоцентричними.

Z

 

меридіан

 

 

 

 

точки Q

P

 

 

 

 

Q

 

 

H

 

 

r

початковий

 

S

меридіан

 

Y

O

φ

 

L

 

B

 

 

R

X

Рис. 1.4. Зображено вiсi системи геоцентричних декартових координат, довгота L, геоцентрична широта ϕ, геодезична широта B.

Декартовi координати X,Y , Z вводять таким чином, щоб початок координат O збiгався з центром вибраного елiпсоїда (загальноземного або референц-елiпсоїда), вiсь Z була направлена вздовж вiсi симетрiї елiпсоїда, а вiсi X та Y лежали в екваторiальнiй площинi елiпсоїда. Меридiан, який проходить через точку перетину вiсi X та екватору елiпсоїда (точка R на рис. 1.4), приймається за початковий.

Положення точки Q в просторi можуть задавати також сферичнi координати: довгота L — це двогранний кут мiж площиною початкового меридiану та площиною меридiану точки Q (лежить в межах −180< L 6 +180

або 06 L < 360), геоцентрична широта ϕ — кут мiж радiус-вектором точки Q та екваторiальною площиною елiпсоїда (−906 ϕ 6 +90), а також вiдстань r точки Q вiд початку координат (на рис. 1.4 це довжина вiдрiзка

OQ).

Зв’язок мiж координатами X,Y , Z та r, L, ϕ виражається формулами

X = r cos L cos ϕ

Y = r sin L cos ϕ

(1.7)

Z = r sin ϕ

Обернений перехiд вiд X,Y , Z до r, L, ϕ в лiтературi традицiйно записується в формi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

Z

 

 

 

 

 

 

r = X2 +Y 2 +Z2,

 

 

tg L =

 

 

 

 

 

 

 

 

 

 

 

 

,

tg ϕ =

 

 

 

 

 

.

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

2

 

Y 2

 

 

 

p

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

+Y

 

 

 

 

З формули tg L =

 

 

знаходити

довготу

як L = arctg

 

 

 

 

не можна,

X

 

X

 

 

оскiльки функцiя arctg дає значення кута в межах вiд

 

 

 

до +90

 

90

 

 

 

π

 

 

 

 

π

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

радiанах — вiд −

 

до +

 

). Строго кажучи, довготу L потрiбно обчислю-

2

2

вати так:

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg

 

,

 

 

 

 

якщо X > 0;

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg

 

 

 

+180

 

,

якщо X < 0, Y > 0;

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg

 

 

 

 

180 ,

якщо X < 0, Y < 0;

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+90

 

 

 

 

 

якщо X = 0, Y > 0;

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

90 ,

 

 

 

 

 

 

 

якщо X = 0, Y < 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зручнiше

користуватися не

функцiєю

При практичних

обчисленнях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg, а функцiєю atan2, яка є в рiзних математичних пакетах. Вона повертає виражене в радiанах значення кута мiж вiссю x i напрямком на точку площини з координатами (x, y). Цей кут вiдраховується вiд вiсi x проти годинникової стрiлки, а його значення лежить в межах вiд −π до +π.

В системi MATLAB функцiя atan2 має формат виклику

p = atan2(y,x)

та повертає виражене в радiанах значення кута мiж вiссю x i напрямком на точку площини з координатами (x, y). Цей кут вiдраховується вiд вiсi x проти годинникової стрiлки, а його значення лежить в межах вiд −π до +π. Отже, функцiя atan2(y,x) є нiби “вдосконаленим” варiантом виклику atan(y/x). Вона повертає коректне значення кута навiть при x = 0.

На рис. 1.5 зображено кут α, який визначає напрямок на точку A з координатами (x, y). Очевидно, значення кута α не змiниться, якщо кожну

y

B

k y

A

y

 

- k x

k x x

x

- k y C

Рис. 1.5

з координат точки A домножити на додатне число k — отримаємо точку B з координатами (kx, ky), а якщо домножити на вiд’ємне число (−k), то отримаємо точку C з координатами (−kx, −ky), напрям на яку аж нiяк не буде α. Зi сказаного випливає, що обидва аргументи функцiї atan2 можна множити та дiлити на додатний множник, тобто atan2 (y, x), atan2 (ky, kx) та atan2 (y/k, x/k) повертають однаковий результат, якщо k > 0.

Нехай для кута α вiдомi значення sin α та cos α. Очевидно, що координати точки A будуть

p x = r cos α, y = r sin α, де r = x2 +y2, а значить,

α = atan2 (y, x) = atan2 (r sin α, r cos α) = atan2 (sin α, cos α)

Таким чином, функцiя atan2 дозволяє знаходити кут за вiдомими значеннями його синуса та косинуса.

До речi, в MATLAB функцiя atan2 коректно працює навiть тодi, коли один або обидва з її аргументiв прямують до нескiнченостi. Наприклад,

 

x = atan2(

0,

0);

% в результатi x = 0

 

 

x = atan2(

0,

inf);

% в результатi x = 0

 

 

x = atan2(

0, -inf);

% в результатi x = π

 

 

x = atan2( inf,

0);

% в результатi x = π/2

 

 

x = atan2(-inf,

0);

% в результатi x = −π/2

 

 

x = atan2( inf,

inf);

% в результатi x = π/4

 

 

x = atan2(-inf, -inf);

% в результатi x = −5π/4

 

З врахуванням сказаного, при практичних обчисленнях r, L, ϕ з формул

Y = (N +H) cos B sin L,
Z = (N(1−e2)+H) sin B,
— радiус кривизни першого вертикала.
X = (N +H) cos B cos L,

(1.7) потрiбно знаходити як

Z, pX2 +Y 2

. (1.8)

r = pX2 +Y 2 +Z2, L = atan2 (Y , X) , ϕ = atan2

В геодезичних елiпсоїдальних координатах замiсть геоцентричної широти ϕ використовується геодезична широта B — це кут мiж проведеною з точки Q нормаллю (перпендикуляром) до поверхнi елiпсоїда та екваторiальною площиною (−906 B 6 +90). На рис. 1.6 показано вiдмiннiсть мiж геоцентричною та геодезичною широтами. Висота H — це вiдстань мiж точкою Q та поверхнею елiпсоїда вздовж нормалi (на рис. 1.4 висота H дорiвнює довжинi вiдрiзка SQ). Нарештi, довгота L має той самий змiст, що i в системi сферичних координат.

Z

Q

 

 

H

O

φ

B

 

 

Рис. 1.6. Геоцентрична широта ϕ та геодезична широта B

Формули переходу вiд декартових координат X,Y , Z до геодезичних координат B, L, H вiдносно земного елiпсоїда з параметрами a, e мають такий вигляд:

(1.9)

де N = p a

1−e2 sin2 B

Для зворотного переходу вiд X,Y , Z до B, L, H iснують такi формули:

L = atan2 (Y , X) ,

 

 

 

 

 

(1.10)

tg B1 =

 

Z

,

 

 

 

 

(1.11)

 

 

 

 

 

 

X2 +Y 2

 

 

 

tg Bi+1 =

1

Z +

 

ae2 tg Bi

 

 

!, i = 1, 2, ..., n (1.12)

 

 

 

 

 

 

X2 +Y 2

2

2

 

 

 

 

 

 

q1+(1−e ) tg

 

Bi