3.2 Постановка задачи

Обратная геодезическая засечка. Требуется определить координаты точки P по трем точкам с известными координатами и двум известным углам (каждый угол – угол между 2 соседними точками с вершиной в точке P).

 

3.3 Исходные данные

 

Табл. 3.1.

Исходные данные

Пункты Направления X Y
Хутор 0 0 0 12480.95 10219.13
Крутик 100 32 56 10241.98 12270.54
Юрьево 192 56 33 8586.56 10552.15
Локно 266 31 50 9655.10 8220.95

3.4. Алгоритм для Turbo Pascal


3.5 Текст программы

Program Zadacha3;

Uses CRT;

Var

g1,m1,s1,g2,m2,s2,g3,m3,s3,g4,m4,s4:integer;

x1,y1,x2,y2,x3,y3,x4,y4,vm1,vn1,vm2,vn2:real;

ra1,ra2,ra3,ra4,yg21,yg32,yg43,ct21,ct32,ct43:real;

Fi1,Fi2,Fi3,Fi4,De1,De2,De3,De4:real;

kipX1,kipX2,CredX,kipY1,kipY2,CredY:real;

t1,t2:text;

Begin

ClrScr;

Assign (t1,'data.txt');

Assign (t2,'result.txt');

Reset (t1);

Rewrite (t2);

{чтение из фаила исходных значений}

Readln(t1);

Readln(t1);

Readln(t1,g1,m1,s1);

Readln(t1);

Readln(t1,x1);

Readln(t1);

Readln(t1,y1);

Readln(t1);

Readln(t1);

Readln(t1,g2,m2,s2);

Readln(t1);

Readln(t1,x2);

Readln(t1);

Readln(t1,y2);

Readln(t1);

Readln(t1);

Readln(t1,g3,m3,s3);

Readln(t1);

Readln(t1,x3);

Readln(t1);

Readln(t1,y3);

Readln(t1);

Readln(t1);

Readln(t1,g4,m4,s4);

Readln(t1);

Readln(t1,x4);

Readln(t1);

Readln(t1,y4);

Writeln(t2,'Дано:');

Writeln(t2,'Пункт №1');

Writeln(t2,'Направление: ',g1,' градусов ',m1,' минут ',s1,' секунд;');

Writeln(t2,'X=',x1:6:2,'; Y=',y1:6:2,';');

Writeln(t2,'Пункт №2');

Writeln(t2,'Направление: ',g2,' градусов ',m2,' минут ',s2,' секунд;');

Writeln(t2,'X=',x2:6:2,'; Y=',y2:6:2,';');

Writeln(t2,'Пункт №3');

Writeln(t2,'Направление: ',g3,' градусов ',m3,' минут ',s3,' секунд;');

Writeln(t2,'X=',x3:6:2,' Y=',y3:6:2,';');

Writeln(t2,'Пункт №4');

Writeln(t2,'Направление: ',g4,' градусов ',m4,' минут ',s4,' секунд;');

Writeln(t2,'X=',x4:6:2,'; Y=',y4:6:2,' .');

Writeln('Dano:');

Writeln('Pynkt #1');

Writeln('Hapravlenie: ',g1,' gradysov ',m1,' minyt ',s1,' sekynd;');

Writeln('X=',x1:6:2,'; Y=',y1:6:2,';');

Writeln('Pynkt #2');

Writeln('Hapravlenie: ',g2,' gradysov ',m2,' minyt ',s2,' sekynd;');

Writeln('X=',x2:6:2,'; Y=',y2:6:2,';');

Writeln('Pynkt #3');

Writeln('Hapravlenie: ',g3,' gradysov ',m3,' minyt ',s3,' sekynd;');

Writeln('X=',x3:6:2,' Y=',y3:6:2,';');

Writeln('Pynkt #4');

Writeln('Hapravlenie: ',g4,' gradysov ',m4,' minyt ',s4,' sekynd;');

Writeln('X=',x4:6:2,'; Y=',y4:6:2,' .');

Begin

{Данные в радианах}

ra1:=((Pi)/180)*(g1+(m1/60)+(s1/3600));

ra2:=((Pi)/180)*(g2+(m2/60)+(s2/3600));

ra3:=((Pi)/180)*(g3+(m3/60)+(s3/3600));

ra4:=((Pi)/180)*(g4+(m4/60)+(s4/3600));

End;

Writeln(t2); Writeln(t2); Writeln(t2); Writeln(t2,'Решение:'); Writeln(t2);

Writeln(t2,'Направление 1 в радианах:',ra1:6:2,';');

Writeln(t2,'Направление 2 в радианах:',ra2:6:2,';');

Writeln(t2,'Направление 3 в радианах:',ra3:6:2,';');

Writeln(t2,'Направление 4 в радианах:',ra4:6:2,' .');

Writeln; Writeln('Reshenie:'); Writeln;

Writeln('Napravlenie 1 v radianax:',ra1:6:2,';');

Writeln('Napravlenie 2 v radianax:',ra2:6:2,';');

Writeln('Napravlenie 3 v radianax:',ra3:6:2,';');

Writeln('Napravlenie 4 v radianax:',ra4:6:2,' .');

Begin

{Углы}

yg21:=ra2-ra1;

yg32:=ra3-ra2;

yg43:=ra4-ra3;

End;

Writeln(t2);

Writeln(t2,'Угол 2-1 (в радианах)=',yg21:6:2,';');

Writeln(t2,'Угол 3-2 (в радианах)=',yg32:6:2,';');

Writeln(t2,'Угол 4-3 (в радианах)=',yg43:6:2,' .');

Writeln;

Writeln('Ygol 2-1 (v radianax)=',yg21:6:2,';');

Writeln('Ygol 3-2 (v radianax)=',yg32:6:2,';');

Writeln('Ygol 4-3 (v radianax)=',yg43:6:2,' .');

Begin

{Котангенсы углов}

ct21:=(cos(yg21)/sin(yg21));

ct32:=(cos(yg32)/sin(yg32));

ct43:=(cos(yg43)/sin(yg43));

End;

Writeln(t2);

Writeln(t2,'Котангенс угла 2-1 =',ct21:6:2,';');

Writeln(t2,'Котангенс угла 3-2 =',ct32:6:2,';');

Writeln(t2,'Котангенс угла 4-3 =',ct43:6:2,' .');

Writeln;

Writeln('Kotangens ygla 2-1 =',ct21:6:2,';');

Writeln('Kotangens ygla 3-2 =',ct32:6:2,';');

Writeln('Kotangens ygla 4-3 =',ct43:6:2,' .');

 Begin

{Вспомогательные величины}

vm1:=y1*ct21+y2*(-(ct21)-(ct32))+y3*ct32+x1-x3;

vm2:=y2*ct32+y3*(-(ct32)-(ct43))+y4*ct43+x2-x4;

vn1:=x1*ct21+x2*(-(ct21)-(ct32))+x3*ct32-y1+y3;

vn2:=x2*ct32+x3*(-(ct32)-(ct43))+x4*ct43-y2+y4;

End;

Writeln(t2);

Writeln(t2,'Вспомогательная величина m1 = ',vm1:6:2,';');

Writeln(t2,'Вспомогательная величина n1 = ',vn1:6:2,';');

Writeln(t2,'Вспомогательная величина m2 = ',vm2:6:2,';');

Writeln(t2,'Вспомогательная величина n2 = ',vn2:6:2,' .');

Writeln;

Writeln('Vspomogatelnaya velichina m1 = ',vm1:6:2,';');

Writeln('Vspomogatelnaya velichina n1 = ',vn1:6:2,';');

Writeln('Vspomogatelnaya velichina m2 = ',vm2:6:2,';');

Writeln('Vspomogatelnaya velichina n2 = ',vn2:6:2,' .');

Begin

{Фи и дельта}

Fi1:=arctan(vm1/vn1);

Fi2:=(sin(Fi1)/cos(Fi1));

Fi3:=arctan(vm2/vn2);

Fi4:=(sin(Fi3)/cos(Fi3));

De1:=Fi1-yg21;

De2:=(sin(De1)/cos(De1));

De3:=Fi3-yg32;

De4:=(sin(De3)/cos(De3));

End;

Writeln(t2);

Writeln(t2,'Фи 1 = ',Fi1:6:2,'; Делта 1 = ',De1:6:2,';');

Writeln(t2,'Фи 2 = ',Fi2:6:2,'; Делта 2 = ',De2:6:2,';');

Writeln(t2,'Фи 3 = ',Fi3:6:2,'; Делта 3 = ',De3:6:2,';');

Writeln(t2,'Фи 4 = ',Fi4:6:2,'; Делта 4 = ',De4:6:2,' .');

Writeln;

Writeln('Fi 1 = ',Fi1:6:2,'; Delta 1 = ',De1:6:2,';');

Writeln('Fi 2 = ',Fi2:6:2,'; Delta 2 = ',De2:6:2,';');

Writeln('Fi 3 = ',Fi3:6:2,'; Delta 3 = ',De3:6:2,';');

Writeln('Fi 4 = ',Fi4:6:2,'; Delta 4 = ',De4:6:2,' .');

Begin

{Координаты искомого пункта}

kipX1:=(x1*De2-x2*Fi2+y2-y1)/(De2-Fi2);

kipX2:=(x2*De4-x3*Fi4+y3-y2)/(De4-Fi4);

{Среднее для X}

CredX:=(kipX1+kipX2)/2;

kipY1:=(kipX1-x2)*Fi2+y2;

kipY2:=(kipX2-x3)*Fi4+y3;

{Среднее для Y}

CredY:=(kipY1+kipY2)/2;

End;

Writeln(t2);

Writeln(t2,'Координата X искомого пункта 1: ',kipX1:6:2,';');

Writeln(t2,'Координата X искомого пункта 2: ',kipX2:6:2,';');

Writeln(t2,' Среднее значение X: ',CredX:6:2,';');

Writeln(t2,'Координата Y искомого пункта 1: ',kipY1:6:2,';');

Writeln(t2,'Координата Y искомого пункта 2: ',kipY2:6:2,';');

Writeln(t2,' Среднее значение Y: ',CredY:6:2,' .');

Writeln;

Writeln('Koordinata X ickomogo pynkta 1: ',kipX1:6:2,';');

Writeln('Koordinata X ickomogo pynkta 2: ',kipX2:6:2,';');

Writeln(' Srednee znachenie X: ',CredX:6:2,';');

Writeln('Koordinata Y ickomogo pynkta 1: ',kipY1:6:2,';');

Writeln('Koordinata Y ickomogo pynkta 2: ',kipY2:6:2,';');

Writeln(' Srednee znachenie Y: ',CredY:6:2,' .');

Writeln('chtenie iz faila "data.txt", zapic v "result.txt"');

Close (t1);

Close (t2);

Readkey;

End.

3.6 Содержание фаила «data.txt»

Пункт #1(Хутор)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

0 0 0

Координата X:

10798.58

Координата Y:

12689.72

Пункт #2(Крутик)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

73 15 40

Координата X:

8921.43

Координата Y:

11123.49

Пункт #3(Юрьево)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

180 17 23

Координата X:

9787.11

Координата Y:

8585.19

Пункт #4(Локно)

Направление({Градусы}пробел{Минуты}пробел{Секунды}):

282 28 14

Координата X:

12484.41

Координата Y:

10294.53

-----------------------------------------------------

 

3.7 Результат программы

 

Рис.3.3 Результаты в Turbo Pascal.

Содержание фаила «result.txt»

Дано:

Пункт №1

Направление: 0 градусов 0 минут 0 секунд;

X=10798.58; Y=12689.72;

Пункт №2

Направление: 73 градусов 15 минут 40 секунд;

X=8921.43; Y=11123.49;

Пункт №3

Направление: 180 градусов 17 минут 23 секунд;

X=9787.11 Y=8585.19;

Пункт №4

Направление: 282 градусов 28 минут 14 секунд;

X=12484.41; Y=10294.53 .

Решение:

Направление 1 в радианах: 0.00;

Направление 2 в радианах: 1.28;

Направление 3 в радианах: 3.15;

Направление 4 в радианах: 4.93 .

Угол 2-1 (в радианах)= 1.28;

Угол 3-2 (в радианах)= 1.87;

Угол 4-3 (в радианах)= 1.78 .

Котангенс угла 2-1 = 0.30;

Котангенс угла 3-2 = -0.31;

Котангенс угла 4-3 = -0.22 .

Вспомогательная величина m1 = 2259.94;

Вспомогательная величина n1 = -3805.11;

Вспомогательная величина m2 = -4709.38;

Вспомогательная величина n2 = -1146.05 .

Фи 1 = -0.54; Делта 1 = -1.81;

Фи 2 = -0.59; Делта 2 = 4.02;

Фи 3 = 1.33; Делта 3 = -0.54;

Фи 4 = 4.11; Делта 4 = -0.59 .


Координата X искомого пункта 1: 10217.52;

Координата X искомого пункта 2: 10217.50;

 Среднее значение X: 10217.51;

Координата Y искомого пункта 1: 10353.71;

Координата Y искомого пункта 2: 10353.76;

 Среднее значение Y: 10353.73 .

 

3.8 Табличные вычисления MS Excel

 

Рис.3.4 Проверка в MS Excel.

 

Рис. 3.5 Проверка в MS Excel в режиме отображения формул.


3.9 Вычисления в MathCad

Рис. 3.6 Проверка в MathCad 14.


3.10 Анализ

Задачу №3 (обратная геодезическая засечка) была решена с помощью языка программирования Turbo Pascal и проверена с помощью табличного процессора Microsoft Excel 2007 и MathCad. Результаты решений совпали, что говорит о правильности выбранного алгоритма решения задачи.



Информация о работе «Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений»
Раздел: Информатика, программирование
Количество знаков с пробелами: 45197
Количество таблиц: 6
Количество изображений: 28

Похожие работы

Скачать
167040
3
9

... многих странах (в том числе развитых) применение компьютеров в управлении городскими территориями, ведении кадастра, анализе рыночных тенденций в рамках города весьма ограничено. В связи с этим выделим причины, по которым автоматизация решения типовых задач управления региональной недвижимостью Тульской области, как, впрочем, и других городов России, представляется весьма разумной: все материалы ...

Скачать
162762
2
2

... кадастра памятников России и привязки его к ГИС «Компас-2», я изучил возможности, функции ГИС «Компас-2», а также возможность использования его для создания различных видов природных кадастров. Компас-2 – это сетевая система для представления, моделирования и анализа географической информации Функциональные возможности системы КОМПАС 2: публикация географической информации (ГИ) в сетях ...

Скачать
223834
6
7

... информации. Набираемая информация отображается на дисплее, что позволяет контролировать ее правильность. Клавиатура и дисплей АИС должны быть независимыми от других навигационных устройств. Судовыми системами отображения АИС могут быть система отображения электронных карт (ECDIS, ECS, RCDS), РЛС, САРП или дисплей персонального компьютера. АИС и связанные с ней датчики информации питаются от ...

Скачать
55431
1
0

... де-факто, чему способствовала и их большая универсальность). Таким образом, именно Microsoft Excel был выбран мной для разработки средства автоматизации расчетов в лабораторной работе «Предварительные вычисления в триангуляции». Поэтому другие средства построения электронных таблиц здесь не рассматриваются, но зато уделяестся внимание некоторым специфичным средствам Excel. Возможности EXCEL ...

0 комментариев


Наверх