Тема: Решение базовых геодезических задач

  • Вид работы: Курсовая работа (т)
  • Предмет: Информационное обеспечение, программирование

Аннотация


В отсчете к курсовой работе представлены решения некоторых геодезических задач с помощью таких программ, как MS Excel, MathCad, MatLab и Visual Basic.

summary

a report tj the course work presented for solving some surveying tasks with the help of programs like MS Excel, MathCad, MatLab and Visual Basic.


Оглавление


Введение

. Расчет неприступного расстояния

. Решение прямой угловой засечки по формулам Юнга

. Решение прямой угловой засечки по формулам Гаусса

. Решение обратной угловой засечки по формулам Пранис-Праневича

Заключение

Список литературы


Введение


Работа геодезиста всегда связанна с большим количеством расчетов, часть из которых проводится в поле или выполняется самими приборами. Однако остаются расчеты, выполнение которых в ручную занимает много сил и времени, поэтому их целесообразнее проводить на компьютере в предназначенных для этого программах.

Так, для расчетов предствленных виде таблицы, удобнее всего использовать пакет программ MS Office, а именно MS Excel. Он позволяет проделывать основные расчеты, а так же предоставить результаты в удобном табличном виде.

Для более сложных расчетов можно использовать такие программы как MathCad, MatLab, Visual Basic.


1. Расчет неприступного расстояния


В данной задаче необходимо вычислить расстояние от точки А до точки В, между которыми располагаются неприступное препятствие (рис. 1).


Рис. 1. Схема для вычисления неприступного расстояния


Для того чтобы произвести вычисления использовались следующие формулы

Теорема синусов для треугольника АВС1:


.


Среднее значение AB:


.


Решение поставленной задачи производилось в разных программных продуктах: МS Excel, MathCAD, MatLab и Visual Basic 6.0.

Сначала задача была решена средствами МS Excel. Результат представлен на рис. 2.


Рис. 2. Рабочее окно MS Excel при вычислении неприступного расстояния


Результат вычисления неприступного расстояния в МS Excel: АВ=223,399 м.

Затем решение осуществлялось средствами MathCAD [3]. В результате чего был получен следующий вид вычисления неприступного расстояния:


Рис. 3 Рабочее окно MathCad при вычислении неприступного расстояния


Результат вычисления неприступного расстояния в MathCAD АВ=223.399 м.

Далее решение выполнялось средствами MatLab. Результат представлен на рис. 3.

Программный код для вычисления неприступного расстояния выглядит так:

clc=input('AC1->');=input('AC2->');=input('AC3->');=input('AC4->');g=input('d1(grad)->');g=input('d2(grad)->');g=input('d3(grad)->');g=input('d4(grad)->');m=input('d1(min)->');m=input('d2(min)->');m=input('d3(min)->');m=input('d4(min)->');g=input('b1(grad)->');g=input('b2(grad)->');g=input('b3(grad)->');g=input('b4(grad)->');m=input('b1(min)->');m=input('b2(min)->');m=input('b3(min)->');m=input('b4(min)->');=d1g+d1m/60;=d2g+d2m/60;=d3g+d3m/60;=d4g+d4m/60;=b1g+b1m/60;=b2g+b2m/60;=b3g+b3m/60;=b4g+b4m/60;=(ac1*sin(b1*pi/180))/sin((180-d1-b1)*pi/180);=(ac2*sin(b2*pi/180))/sin((180-d2-b2)*pi/180);=(ac3*sin(b3*pi/180))/sin((180-d3-b3)*pi/180);=(ac4*sin(b4*pi/180))/sin((180-d4-b4)*pi/180);=(AB1+AB2+AB3+AB4)/4


Рис. 4 Рабочее окно MatLab при вычислении неприступного расстояния


Результат вычисления неприступного расстояния в MatLab

АВ=223.399 м.

Решение данной задачи завершалось вычислением неприступного расстояния средствами Visual Basic 6.0. Был получен следующий вид решения, результат которого представлен на рис. 4.

Программа для вычисления неприступного расстояния имеет такой вид:

Sub Command1_Click()= Val(Text1.Text): AC2 = Val(Text2.Text): AC3 = Val(Text3.Text): AC4 = Val(Text4.Text)= 3.14= Val(Text5.Text) + Val(Text9.Text) / 60= Val(Text6.Text) + Val(Text10.Text) / 60= Val(Text7.Text) + Val(Text11.Text) / 60= Val(Text8.Text) + Val(Text12.Text) / 60= Val(Text13.Text) + Val(Text17.Text) / 60= Val(Text14.Text) + Val(Text18.Text) / 60= Val(Text15.Text) + Val(Text19.Text) / 60= Val(Text16.Text) + Val(Text20.Text) / 60= AC1 * (Sin(b1 * pi / 180) / Sin((180 - d1 - b1) * pi / 180))= AC2 * (Sin(b2 * pi / 180) / Sin((180 - d2 - b2) * pi / 180))= AC3 * (Sin(b3 * pi / 180) / Sin((180 - d3 - b3) * pi / 180))= AC4 * (Sin(b4 * pi / 180) / Sin((180 - d4 - b4) * pi / 180))= (AB1 + AB2 + AB3 + AB4) / 4"AB(среднее)="; ABSub


Рис. 5 Рабочее окно Visual Basic при вычислении неприступного расстояния


Результат вычисления неприступного расстояния в Basic 6.0 приблизительно АВ=223.408 м


2. Решение прямой угловой засечки по формуле Юнга


В данной задаче необходимо было рассчитать координаты , удаленной точки P, по формулам Юнга (рис. 5). Даны точки 1 и 2 с координатами и соответственно. Кроме этого с помощью угломерного инструмента измерены углы и . Стоит обратить внимание, что при решении геодезических задач в отличии от общепринятых вычислений оси координат 0x и 0y переставлены местами.


Рис. 6. Схема расчета координат по формулам Юнга


Для вычисления координат удаленной точки P использовались следующие расчетные формулы:


,

.


Сначала задача была решена средствами МS Excel. Результат представлен на рис. 7.


Рис. 7. Рабочее окно MS Excel при расчете координаты по формулам Юнга


Результат вычисления координат точки Р в МS Excel м, м.

Затем решение осуществлялось средствами MathCAD. В результате чего был получен следующий вид вычисления координат точки Р:


Рис. 8. Рабочее окно MathCad при расчете координаты по формулам Юнга


Результат вычисления координат точки Р в MathCAD м, м.

Далее решение выполнялось средствами MatLab. Результат представлен на рис. 7.

Программный код:=input('x1->');=input('y1->');=input('x2->');=input('y2->');g=input('b1(grad)->');m=input('b1(min)->');s=input('b1(sec)->');g=input('b2(grad)->');m=input('b2(min)->');s=input('b2(sec)->');=b1g+b1m/60+b1s/3600;=b2g+b2m/60+b2s/3600;=b1*pi/180;=b2*pi/180;= (x1*cot(b2)+x2*cot(b1)-y1+y2)/(cot(b1)+cot(b2))= (y1*cot(b2)+y2*cot(b1)+x1-x2)/(cot(b1)+cot(b2))


Рис. 9. Рабочее окно MatLab при расчете координаты по формулам Юнга


Результат вычисления координат точки Р в MatLab м, м.

Решение данной задачи завершалось вычислением координат точки Р средствами Visual Basic 6.0. Был получен следующий вид решения, результат которого представлен на рис. 8.

Программный код:

ctg(x)= Cos(x) / Sin(x)FunctionSub Command1_Click()= Val(Text1(0).Text): Y1 = Val(Text2.Text)= Val(Text6.Text): Y2 = Val(Text7.Text)= Val(Text3.Text) + Val(Text4.Text) / 60 + Val(Text5.Text) / 3600= Val(Text8.Text) + Val(Text9.Text) / 60 + Val(Text10.Text) / 3600= 3.1415926= b1 * pi / 180= b2 * pi / 180= (X1 * ctg(b2) + X2 * ctg(b1) - Y1 + Y2) / (ctg(b1) + ctg(b2))= (Y1 * ctg(b2) + Y2 * ctg(b1) + X1 - X2) / (ctg(b1) + ctg(b2))"xp="; xp, "yp="; ypSub


Рис. 10. Рабочее окно Visual Basic при расчете координаты по формулам Юнга


Результат вычисления координат точки Р в Basic 6.0 приблизительно м, м.

Таким образом, среднее значение координат точки Р, рассчитанных по формулам Юнга, оказались равны xp=52.225 м yp=45.559 м.


. Решение прямой угловой засечки по формулам Гаусса


В данной задаче необходимо было вычислить координаты удаленной точки P, по координатам двух заданных точек 1 и 2 и дирекционным углам и (рис. 11).


Рис. 11. Схема для вычисления координат по формулам Гаусса


Для вычисления координат удаленной точки P использовались формулы Гаусса:

,

.


Сначала задача была решена средствами МS Excel. Результат представлен на рис. 12


Рис. 12. Рабочее окно MS Excel при расчете прямой угловой засечки по формулам Гаусса


Результат вычисления координат точки Р в МS Excel м, м.

Затем решение осуществлялось средствами MathCAD. В результате чего был получен следующий вид вычисления координат точки Р:


Рис. 12. Рабочее окно MathCad при расчете прямой угловой засечки по формулам Гаусса

Результат вычисления координат точки Р в MathCAD м, м.

Далее решение выполнялось средствами MatLab. Результат представлен на рис. 11.

Программный код:

=input('x1->');=input('y1->');=input('x2->');=input('y2->');=input('a(grad)->');=input('a(min)->');=input('b(grad)->');=input('b(min)->');=ag+am/60;=bg+bm/60;=b*pi/180;=a*pi/180;= (x1*tan(a)-x2*tan(b)-y1+y2)/(tan(a)-tan(b))= y1+(xp-x1)*tan(a)


Рис. 12. Рабочее окно MatLab при расчете прямой угловой засечки по формулам Гаусса


Результат вычисления координат точки Р в MatLab м, м.

Решение данной задачи завершалось вычислением координат точки Р средствами Visual Basic 6.0. Был получен следующий вид решения, результат которого представлен на рис. 12.

Программный код:

Sub Command1_Click()= Val(Text1(0).Text): Y1 = Val(Text2.Text)= Val(Text6.Text): Y2 = Val(Text7.Text)= Val(Text3.Text) + Val(Text4.Text) / 60= Val(Text8.Text) + Val(Text9.Text) / 60= 3.1415926= a * pi / 180= b * pi / 180= (X1 * Tan(a) - X2 * Tan(b) - Y1 + Y2) / (Tan(a) - Tan(b))= Y1 + (xp - X1) * Tan(a)"xp="; xp, "yp="; ypSub


Рис. 12. Рабочее окно Visual Basic при расчете прямой угловой засечки по формулам Гаусса


Результат вычисления координат точки Р в Basic 6.0 приблизительно м, м.


. Решение обратной угловой засечки по формулам Пранис-Праневича


В данной задаче необходимо было вычислить координаты точки P, по координатам трех заданных точек 1, 2и 3 и двум углам и (рис. 13).


Рис. 13. Схема для вычисления координат по формулам Пранис-Праневича


Для вычисления координат точки P использовались формулы Пранис-Праневича:


,


где ,

,

,

,

.


Сначала задача была решена средством МS Excel. Результат представлен на рис. 14.


Рис. 14.Рабочее окно при расчете обратной угловой засечки по формулам Пранис - Праневича средствами МS Excel


Результат вычисления координат точки Р в МS Excel приблизительно м, м.

Затем решение осуществлялось средствами MathCAD. В результате чего был получен следующий вид вычисления координат точки Р:


Рис. 14.Рабочее окно при расчете обратной угловой засечки по формулам Пранис - Праневича в MathCad


Результат оказался равным м, м.

Далее решение выполнялось средствами MatLab. Результат представлен на рис. 15.

Программный код:

=input('x1->');=input('y1->');=input('x2->');=input('y2->');=input('x3->');=input('y3->');=input('a(grad)->');=input('a(min)->');=input('b(grad)->');=input('b(min)->');=ag+am/60;=bg+bm/60;=b*pi/180;=a*pi/180;=((y2-y1)/tan(a)-(y3-y2)/tan(b)+x1-x3)/((x2-x1)/tan(a)-(x3-x2)/tan(b)-y1+y3);=(y2-y1)*(1/tan(a)-tgq)-(x2-x1)*(1+1/tan(a)*tgq);=n/(1+tgq^2);=dx*tgq;=x2+dx=y2+dy


Рис. 14.Рабочее окно при расчете обратной угловой засечки по формулам Пранис - Праневича в MatLab


Результат вычисления координат точки Р в MatLab м, м.

Решение данной задачи завершалось вычислением координат точки Р средствами Visual Basic 6.0. Был получен следующий вид решения, результат которого представлен на рис. 16.

Программный код:


Function ctg(x)= Cos(x) / Sin(x)FunctionSub Command1_Click()= Val(txtx1.Text): Y1 = Val(txty1.Text)= Val(txtx2.Text): Y2 = Val(txty2.Text)= Val(txtX3.Text): y3 = Val(txty3.Text)= Val(txtag.Text) + Val(txtam.Text) / 60= Val(txtbg.Text) + Val(txtbm.Text) / 60= 3.1415926= a * pi / 180= b * pi / 180= ((Y2 - Y1) * ctg(a) - (y3 - Y2) * ctg(b) + X1 - x3) / ((X2 - X1) * ctg(a) - (x3 - X2) * ctg(b) - Y1 + y3)= (Y2 - Y1) * (ctg(a) - tgq) - (X2 - X1) * (1 + ctg(a) * tgq)= n / (1 + tgq * tgq)= dx * tgq= X2 + dx= Y2 + dy"xp="; xp, "yp="; ypSub


Рис. 14.Рабочее окно при расчете обратной угловой засечки по формулам Пранис - Праневича в Visual Basic


Результат вычисления координат точки Р в Basic 6.0 приблизительно м, м.


Заключение


Целью курсовой работы является решение базовых геодезических задач в разных программных продуктах: MS Excel, MathCAD, MatLab, Visual Basic 6.0. Результаты расчетов задач в разных программах совпали, что свидетельствует о правильности вычислений. Для окончательных результатов брались средние значения решений геодезических задач всех программных продуктов. Полученные навыки не заменимы в дальнейших работах в области геодезии.


Список литературы

геодезическая задача программа решение

1. Информатика. Решение базовых геодезических задач: Методические указания к курсовой работе / Национальный минерально-сырьевой университет «Горный». Сост.: В.В.Глазков, А.Б.Маховиков. СПб,2013. 52с.

. Серогодский В.В., Прокди Р.Г. Excel 2010. Пошаговый самоучитель + справочник пользователя. - Наука

. Штыков В.В. MathCAD. Руководство по решению задач для начинающих. - Либроком, 2013.

. Васильев А.Н. Mat lab.Самоучитель. Практический подход. - Наука и техника, 2012

. Зиборов В. Visual Basic 2012 на примерах - БХВ - Петербург, 2013.