Решение базовых геодезических задач
Исходя из того, что координаты двух точек даны, задают их значения. Дирекционный угол б обозначают как а. На панели программирования выбирают AddLine, для того, чтобы записать выражение для нахождения дирекционного угла, состоящее из формул (4, 5, 6) с условиями. Условие для каждого случая записывают с помощью if. Целое значение градусов угла выделяют c помощью конструкции trunc (a), а для… Читать ещё >
Решение базовых геодезических задач (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Российской Федерации НАЦИОНАЛЬНЫЙ МИНЕРАЛЬНО-СЫРЬЕВОЙ УНИВЕРСИТЕТ «ГОРНЫЙ»
КУРСОВАЯ РАБОТА по Информатике ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Тема:
Решение базовых геодезических задач Санкт-Петербург
АННОТАЦИЯ В данной курсовой работе рассматривают использование вычислительных возможностей программ общего назначения при решении базовых геодезических задач. Показаны способы организации расчетов с помощью Microsoft Excel, MathCAD, MATLAB и системы программирования Visual Basic for Applications.
Три раздела курсовой работы включают в себя рассмотрение базовых геодезических задач на темы: решение прямой угловой засечки по формулам Юнга, решение обратной геодезической задачи, решение прямой угловой засечки по формулам Гаусса.
Работа состоит из введения, трех разделов, заключения и списка использованных источников. Курсовая работа содержит 3 таблицы и 21 рисунок.
ABSTRACT
In this term paper use of computing opportunities of programs of general purpose is considered at the solution of basic geodetic tasks. Ways of the organization of calculations by means of Microsoft Excel, MathCAD, MATLAB and Visual Basic for Applications programming systems are shown.
Three sections of a term paper include consideration of basic geodetic tasks, on subjects: solution of a direct angular notch on Jung formulas, solution of the return geodetic task, and solution of a direct angular notch on Gauss formulas.
Work consists of the introduction, three sections, the conclusion and the list of the used sources. The term paper contains 3 tables and 21 drawings.
ВВЕДЕНИЕ
1. РЕШЕНИЕ ПРЯМОЙ УГЛОВОЙ ЗАСЕЧКИ ПОФОРМУЛАМ ЮНГА
1.1 Общие теоретические сведения
1.2 Решение с помощью электронных таблиц Microsoft Excel
1.3 Решение с помощью системы для математических расчетов MathCAD
1.4 Решение с помощью системы для математических расчетов MATLAB
1.5 Решение с помощью системы программирования VBA
2. РЕШЕНИЕ ОБРАТНОЙ ГЕОДЕЗИЧЕСКОЙ ЗАДАЧИ
2.1 Общие теоретические сведения
2.2 Решение с помощью электронных таблиц Microsoft Excel
2.3 Решение спомощью системы для математических расчетов MathCAD
2.4 Решение с помощью системы для математических расчетов MATLAB
2.5 Решение с помощью системы программирования VBA
3. РЕШЕНИЕ ПРЯМОЙ УГЛОВОЙ ЗАСЕЧКИ ПО ФОРМУЛАМ ГАУССА
3.1 Общие теоретические сведения
3.2 Решение с помощью электронных таблиц Microsoft Excel
3.3 Решение с помощью системы для математических расчетов MathCAD
3.4 Решение с помощью системы для математических расчетов MATLAB
3.5 Решение с помощью системы программирования VBA
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
геодезический задача вычислительный Существуют разнообразные задачи, которые необходимо рассчитать геодезисту во время своей работы. Данные расчеты можно производить с помощью калькулятора, но на нынешний день особой популярностью пользуется такое вычислительное средство, как персональный компьютер. Вычислительные возможности современных компьютеров реализованы в программных средствах общего назначения и в специализированном программном обеспечении.
Данная курсовая работа содержит описание примеров использования вычислительных возможностей программ общего назначения в проведении геодезических расчетов. Рассказывается о проведении расчетов в Microsoft Excel, MathCAD, MATLAB и с помощью системы программирования Visual Basic for Applications.
Рассматриваются основные (базовые) геодезические задачи: решение прямой угловой засечки по формулам Юнга, решение обратной геодезической задачи, решение прямой угловой засечки по формулам Гаусса.
Расчеты произведены для задач варианта № 26.
Текст курсовой работы построен так, что для каждой из задач сначала приводятся общие теоретические сведения, а затем описывается решение данной задачи с помощью названных программных средств.
1. РЕШЕНИЕ ПРЯМОЙ УГЛОВОЙ ЗАСЕЧКИ ПО ФОРМУЛАМ ЮНГА
1.1 Общие теоретические сведения Прямая угловая засечка — способ определения плановых координат точки P местности, если дано как минимум два пункта геодезической сети (1 и 2) с известными координатами и на этих точках измерены горизонтальные углы в1 и в2 (рис. 1.1).
Рис. 1.1. Расчет координат по формулам Юнга Рассмотрим расчет координат удаленной точки Р по формулам Юнга (их еще называют формулами котангенсов внутренних углов треугольника). Даны координаты точек: x1, y1 и x2, y2 соответственно. Кроме того, с помощью угломерного инструмента измерены два угла в1 и в2.
Расчет координат xP, yP точки Р выполняют по двум формулам [1]:
Исходные данные для задачи 1. Таблица 1
x1 | y1 | x2 | y2 | в1 | в2 | |||||
г | м | с | г | м | с | |||||
31,7 | 22,6 | |||||||||
1.2 Решение с помощью электронных таблиц Microsoft Excel
В ячейках задают известные координаты двух точек, затем значения градусов, минут и секунд для углов в1 и в2. Для нахождения углов в градусах необходимо сложить значения их градусов, минут и секунд, при этом для перевода минут в градусы их значение делить на 60, а значение секунд на 3600. Функцию тангенс записывают как TAN. Для перевода углов из градусов в радианы используют оператор РАДИАНЫ или умножают значение угла на р/180. Использованы оба метода. Дальше считают значения xp и yp по формулам (1, 2). В данных формулах функцию котангенс записывают как 1/tan (т.к.). Результат вычислений и формулы для вычислений показаны на рис. 1.2.
Рис. 1.2. Расчет прямой угловой засечки по формулам Юнга в MSExcel
(режим показа формул) Таким образом, была решена прямая угловая засечка по формулам Юнга в Microsoft Excel. Получены следующие ответы: координаты точки P xP=55,451, yP=45,233.
1.3 Решение с помощью системы для математических расчетов MathCAD
Исходя из того, что координаты двух точек даны, задают их значения. Углы в1 и в2 обозначают как b1 и b2 соответственно. Нахождение углов в градусах и их последующий перевод в радианы проводят так же, как в Microsoft Excel. Дальше считают значения xp и yp по формулам (1, 2). Результат вычислений приведен на рис. 1.3.
Рис. 1.3. Расчет прямой угловой засечки по формулам Юнга в MathCAD
Таким образом, была решена прямая угловая засечка по формулам Юнга в MathCAD. Получены следующие ответы: координаты точки P xP=55,451, yP=45,233. Данные значения совпадают со значениями, полученными в пункте 1.2.
1.4 Решение с помощью системы для математических расчетов MATLAB
Для очистки экрана используют оператор clc. Затем задают значения координат точки 1 с помощью конструкций: x1=input (`x1->'); y1=input (`y1->');. Аналогично для координат точки 2. Углы в1 и в2 обозначают как b1 и b2 соответственно. Их значения вводят с помощью оператора input отдельно для градусов, минут и секунд. Нахождение углов в градусах и их последующий перевод в радианы проводят так же, как в Microsoft Excel и MathCAD. Число р в MATLAB записывают как pi. Для введения функции котангенса углов в формулах координат используют cot (b1) и cot (b2). Дальше считают значения xp и yp по формулам (1, 2). Для вывода значений xp и yp записывают в конце всего решения. Результат вычислений приведен на рис. 1.4.
Рис. 1.4. Расчет прямой угловой засечки по формулам Юнга в MATLAB
Таким образом, была решена прямая угловая засечка по формулам Юнга в MATLAB. Получены следующие ответы: координаты точки P xP=55,4511, yP=45,2334. Данные значения совпадают со значениями, полученными в пунктах 1.2 и 1.3.
1.5 Решение с помощью системы Visual Basic for Applications
В окне формы создают ячейки для ввода значений x1, y1, x2, y2, в1 и в2 (для углов записывают отдельно градусы, минуты и секунды). Углы в1 и в2 обозначают как b1 и b2 соответственно. Далее создают кнопку «Расчет», которую необходимо запрограммировать. Также создают ячейки для вывода вычисленных координат точки P. Форма и результат вычислений изображены на рис. 1.5. Затем составляют программу для кнопки «Расчет». В VBA нет функции котангенс, поэтому её задают как ctg = Cos (x)/Sin (x). Для ввода координат первой вершины используют конструкцию: X1=Val (TextBox1.Text): Y1=Val (TextBox2.Text). Аналогично для второй вершины. Нахождение углов в градусах и их последующий перевод в радианы проводят так же, как в Microsoft Excel, MathCAD и MATLAB. Число р записывают как Pi=3.1 415 926. Дальше считают значения xp и yp по формулам (1, 2). Для вывода значения xр используют оператор TextBox11. Text="xp="+Str (xp). Аналогично для yp. Программа для решения приведена на рис. 1.6.
Рис. 1.5. Форма для расчета прямой угловой засечки по формулам Юнга в Visual Basic for Applications
Рис. 1.6. Программа для расчета прямой угловой засечки по формулам Юнга в Visual Basic for Applications
Таким образом, была решена прямая угловая засечка по формулам Юнга в системе Visual Basic for Applications. Получены следующие ответы: координаты точки P xP=55,4511, yP=45,2334. Данные значения совпадают со значениями, полученными в пунктах 1.2, 1.3 и 1.4.Значит, для расчета прямой угловой засечки по формулам Юнга подходят все использованные программы.
2. РЕШЕНИЕ ОБРАТНОЙ ГЕОДЕЗИЧЕСКОЙ ЗАДАЧИ
2.1 Общие теоретические сведения Если требуется установить расстояние между двумя точками S и дирекционный угол б1−2 отрезка между этими точками, прямоугольные координаты которых (x1, y1, x2, y2) известны, следует решить обратную геодезическую задачу (рис. 2.1).
Рис. 2.1. Схема для решения обратной геодезической задачи Расстояние между двумя точками вычисляют по следующей формуле [2]:
Так как дирекционный угол меняет своё значение от 0° до 360°, то значение его тангенса будет повторяться через р радиан. Дирекционный угол находят через его тангенс по формуле, в зависимости от знака приращения координат исходных точек [2]:
при x2-x1<0
при x2-x1>0; y2-y1<0
при x2-x1>0; y2-y1>0
Исходные данные для задачи 2. Таблица 2
x1 | y1 | x2 | y2 | |
9,92 | 9,51 | 3,93 | 7,11 | |
2.2 Решение с помощью электронных таблиц Microsoft Excel
В ячейках задают известные координаты двух точек и дирекционный угол б1−2. Записывают формулы (4, 5, 6) через оператор ЕСЛИ. Функцию арктангенс записывают как ATAN. Для перевода угла в градусы значение угла умножают на 180/р. Конструкция ОКРВНИЗ выделяет целое значение градусов угла. Для выделения минут из значения угла вычитают целое значение градусов и умножают на 60. Расстояние между точками S находят по формуле (3). Для нахождения корня из выражения используют оператор КОРЕНЬ. Результат вычислений и формулы для вычислений приведены на рис. 2.2.
Рис. 2.2. Решение обратной геодезической задачи в MS Excel (режим показа формул) Таким образом, была решена обратная геодезическая задача в Microsoft Excel. Получены следующие ответы: дирекционный угол заданного отрезка, расстояние между двумя точками S=6,453 м.
2.3 Решение с помощью системы для математических расчетов MathCAD
Исходя из того, что координаты двух точек даны, задают их значения. Дирекционный угол б обозначают как а. На панели программирования выбирают AddLine, для того, чтобы записать выражение для нахождения дирекционного угла, состоящее из формул (4, 5, 6) с условиями. Условие для каждого случая записывают с помощью if. Целое значение градусов угла выделяют c помощью конструкции trunc (a), а для выделения минут используют конструкцию (a — trunс (a))· 60, где умножение на 60 производят для перевода долей градуса в минуты. Расстояние между точками S находится по формуле (3). Результат вычислений приведен на рис. 2.3.
Рис. 2.3. Решение обратной геодезической задачи в MathCAD
Таким образом, была решена обратная геодезическая задача в MathCAD. Получены следующие ответы: дирекционный угол заданного отрезка, расстояние между двумя точками S=6,453 м. Данные значения совпадают со значениями, полученными в пункте 2.2.
2.4 Решение с помощью системы для математических расчетов MATLAB
Функцию арктангенс записывают как atan. Задают изначальную формулу дирекционного угла, обозначенного как al. Первое условие для расчета угла задают с помощью if. Если данные противоречат этому условию, то следующее условие записывают как elseif. Для окончания данной функции, состоящей из нескольких условий, вводят end. В формуле расстояния между двумя точками S квадратный корень задают как sqrt, квадрат некоторой величины как2. Для выделения целой части из градусов используют конструкцию fix (al). Минуты вычисляют так же, как в пункте 2.3. Результат вычислений приведен на рис. 2.4.
Рис. 2.4. Решение обратной геодезической задачи в MATLAB
Таким образом, была решена обратная геодезическая задача в MATLAB. Получены следующие ответы: дирекционный угол заданного отрезка, расстояние между двумя точками S=6,453 м. Данные значения совпадают со значениями, полученными в пунктах 2.2 и 2.3.
2.5 Решение с помощью системы Visual Basic for Applications
В окне формы создают ячейки для ввода значений x1, y1, x2, y2. Создают кнопку «Расчет», которую необходимо запрограммировать, и ячейки для вывода вычисленных дирекционного угла и расстояния между двумя точками. Форма и результат вычислений изображены на рис. 2.5. Затем составляют программу для кнопки «Расчет». Начинают составление программы с очистки формы с помощью оператора cls. Для ввода координат первой вершины используют конструкцию: x1=Val (TextBox1.Text): y1=Val (TextBox2.Text). Аналогично для второй вершины. Затем записывают выражение для нахождения дирекционного угла (его обозначают как A), состоящее из 3 формул с условиями с помощью If. Затем пишут оператор then, после которого идет формула для данного условия. Для написания следующего условия используют ElseIf. Функцию арктангенс записывают как Atn. Для выделения целой части градусов (ag) используют оператор Int. Для нахождения минут (am) вычитают из угла значение градусов (умножают на 60 для перевода градусов в минуты). Далее считают значение S (корень записывают как Sqr). Для вывода значения A и S используют операторы TextBox5. Text="A="+Str (ag)+" grad" +Str (am)+" min" и TextBox6. Text="S="+Str (S)+" m". Программа для решения приведена на рис. 2.6
Рис. 2.5. Форма для решения обратной геодезической задачи в Visual Basic for Applications
Рис. 2.6. Программа для решения обратной геодезической задачи в Visual Basic for Applications
Таким образом, была решена обратная геодезическая задача в Visual Basic for Applications. Получены следующие ответы: дирекционный угол заданного отрезка, расстояние между двумя точками S=6,453 м. Данные значения совпадают со значениями, полученными в пунктах 2.2, 2.3 и 2.4. Значит, для решения обратной геодезической задачи подходят все использованные программы.
3. РЕШЕНИЕ ПРЯМОЙ УГЛОВОЙ ЗАСЕЧКИ ПО ФОРМУЛАМ ГАУССА
3.1 Общие теоретические сведения Рассмотрим расчет координат удаленной точки Р по формулам Гаусса (их еще называют формулами тангенсов дирекционных углов). Даны координаты точек: x1, y1 и x2, y2 соответственно. Кроме того, измерены два дирекционных угла б1 и б2 (рис. 3.1).
Рис. 3.1. Расчет координат по формулам Гаусса Расчет координат xP, yP точки Р выполняют по двум формулам[1]:
Исходные данные для задачи 3. Таблица 3
x1 | y1 | x2 | y2 | б1 | б2 | |||
г | м | г | м | |||||
3.2 Решение с помощью электронных таблиц Microsoft Excel
В ячейках задают известные координаты двух точек и дирекционные углы б1 и б2. Для расчета углов в градусах складывают значения градусов и минут, при этом значения минут делятся на 60 для их перевода в градусы. Координаты точки Р рассчитывают по формулам (7, 8). Результат вычислений и формулы для вычислений приведены на рис. 3.2.
Рис. 3.2. Расчет прямой угловой засечки по формулам Гаусса в MS Excel (режим показа формул) Таким образом, была решена прямая угловая засечка по формулам Гаусса в Microsoft Excel. Получены следующие ответы: координаты точки P xP=50,3231, yP=55,4845.
3.3 Решение с помощью системы для математических расчетов MathCAD
Исходя из того, что координаты двух точек даны, задают их значения. Так же задают значения дирекционных углов б1 и б2, которые записывают как а1 и а2 соответственно. Координаты точки Р рассчитываются по формулам (7, 8). Результат вычислений приведен на рис. 3.3.
Рис. 3.3. Расчет прямой угловой засечки по формулам Гаусса в MathCAD
Таким образом, была решена прямая угловая засечка по формулам Гаусса в MathCAD. Получены следующие ответы: координаты точки P xP=50,323, yP=55,485. Данные значения совпадают со значениями, полученными в пункте 3.2.
3.4 Решение с помощью системы для математических расчетов MATLAB
Значения координат точки 1 задают с помощью конструкций: x1=input (`x1->"); y1=input (`y1->');. Аналогично для координат точки 2. Координаты углов б1 и б2 также вводят с помощью input отдельно для градусов и минут. Перевод углов в градусы из градусов и минут, а затем перевод в радианы осуществляют так же, как и в Microsoft Excel. Затем записывают формулы для расчета координат точки Р и выводят их значения с помощью использования Xp и Yp. Результат вычислений приведен на рис. 3.4.
Рис. 3.4. Расчет прямой угловой засечки по формулам Гаусса в MATLAB
Таким образом, была решена прямая угловая засечка по формулам Гаусса в MATLAB. Получены следующие ответы: координаты точки P xP=50,3231, yP=55,4845. Данные значения совпадают со значениями, полученными в пунктах 3.2 и 3.3.
3.5 Решение с помощью системы Visual Basic for Applications
В окне формы создают ячейки для ввода значений x1, y1, x2, y2, б1 и б2 (для углов записывают отдельно градусы и минуты). Углы б1 и б2 обозначают как a1 и a2 соответственно. Создают кнопку «Расчет», которую необходимо запрограммировать, и ячейки для вывода вычисленных координат точки P. Форма и результат вычислений изображены на рис. 3.5. Затем составляют программу для кнопки «Расчет». Для ввода координат первой вершины используют конструкцию: x1=Val (Text1.Text): y1=Val (Text2.Text). Аналогично для точки 2. Значения xp и yp считают по формулам (7, 8). Для вывода значения xр используют оператор TextBox9. Text="xp="+Str (xp). Аналогично для yp. Программа для решения приведена на рис. 3.6.
Рис. 3.5. Форма для расчета прямой угловой засечки по формулам Гаусса в Visual Basic for Applications
Рис. 3.6. Программа для расчета прямой угловой засечки по формулам Гаусса в Visual Basic for Applications
Таким образом, была решена прямая угловая засечка по формулам Гаусса в Visual Basic for Applications. Получены следующие ответы: координаты точки P xP=50,3231, yP=55,4845. Данные значения совпадают со значениями, полученными в пунктах 3.2, 3.3 и 3.4. Значит, для расчета прямой угловой засечки по формулам Гаусса подходят все использованные программы.
ЗАКЛЮЧЕНИЕ
В рамках данной курсовой работы были рассмотрены решения базовых геодезических задач с помощью программ Microsoft Excel, MathCAD, MATLAB и с помощью системы программирования Visual Basic for Applications. В результате проведения расчетов были получены верные и достаточно точные результаты при использовании любой из данных программ, что позволяет судить об их достоверности.
Каждую из программ для решения прямой угловой засечки по формулам Юнга и Гаусса и решения обратной геодезической задачи можно использовать с различными исходными данными, что позволяет сделать вывод об удобстве их работы.
Таким образом, исходя из проделанной работы, можно сделать вывод, что применение программ Microsoft Excel, MathCAD, MATLAB и системы программирования Visual Basic for Applications позволяет значительно упростить работу геодезиста, делая расчеты задач более удобными и быстрыми для их исполнителя.
1. Корнилов Ю. Н. Геодезия. Топографические съемки. — СПб.: Горный университет, 2012.
2.Глазков В. В., А. Б. Маховиков. Информатика. Решение базовых геодезических задач.- СПб.: Горный университет, 2013.