NovaInfo60, с.114-120, скачать PDF Опубликовано Раздел: Технические науки Просмотров за месяц: 4
Аннотация
В статье представлены возможности и алгоритм реализации вычислений на языке JavaScript с использованием веб-браузера при решении геодезических задач на эллипсоиде.
Необходимость вычисления направлений и расстояний на поверхности эллипсоида при решении прямой и обратной геодезических задач возникает в процессе реализации публичных картографических online-сервисов (например, API Яндекс.Карты), при организации образовательной деятельности (например, в рамках выполнения лабораторных или расчетно-графических работ по дисциплине "Геодезия"), при строительстве ряда инженерных сооружений [4, 5], в процессе осуществления кадастровой и иной деятельности при управлении территориями [5, 6] и в других случаях. Подобные задачи возможно решать, используя высокоточный алгоритм расчета, разработанный польским ученым Тадеушем Винсенти (Thaddeus Vincenty) [2]. В нашем случае речь пойдет о применении указанного алгоритма при выполнении вычислений в процессе образовательной деятельности.
В последние годы университеты страны обратили внимание на возможности использования компьютерных телекоммуникационных технологий для организации дистанционного обучения, которое в ряде случаев может реализовано с использованием интернет-сайтов преподавателей, кафедр университета т. д. Преподаватели, ведущие технические дисциплины, могут использовать возможности веб-серверов для реализации на своем сайте различных алгоритмов выполнения вычислений в рамках лабораторных или расчетно-графических работ. Это могут быть различные калькуляторы, расчетные формы, которые позволяют студентам быстро и без ошибок выполнять необходимые вычисления в рамках той или иной учебной работы.
При выполнении лабораторных или расчетно-графических работ по дисциплине "Геодезия" возникает необходимость решения прямой и обратной геодезических задач на поверхности эллипсоида. Решение таких задач возможно реализовать на веб-странице (в HTML-документе), например, в виде пары форм с использованием следующих функций на языке JavaScript [1], который находит широкое применение в браузерах как язык сценариев для придания интерактивности веб-страницам и является интерпретируемым языком программирования с объектно-ориентированными возможностями.
1. Функция решения обратной геодезической задачи (рисунок 1).
Вызов функции осуществляется следующей строкой:
function vo (широта_1, долгота_1, широта_2, долгота_2).
На входе имеются географические координаты (широта, долгота) для точек 1 и 2 в радианах, на выходе – расстояние между точками по поверхности эллипсоида и два азимута направления в точках 1 и 2 в радианах.
Рисунок 1. Форма решения обратной геодезической задачи
Исходный код функции решения обратной геодезической задачи:
2. Функция решения прямой геодезической задачи (рисунок 2).
Вызов функции осуществляется следующей строкой:
function vp (широта_1, долгота_1, азимут_1, расстояние).
На входе имеются географические координаты (широта, долгота) точки 1, азимут в точке 1 в радианах и расстояние между точками по поверхности эллипсоида, а на выходе – географические координаты точки 2 (широта, долгота) и азимут направления в точке 2 в радианах.
Рисунок 2. Форма решения прямой геодезической задачи
Исходный код функции решения прямой геодезической задачи:
Обычно JavaScript применяется в веб-браузерах, а расширение его возможностей за счет введения объектов позволяет организовать взаимодействие с пользователем, управлять веб-браузером и изменять содержимое документа, отображаемое в пределах окна веб-браузера. Встроенная версия JavaScript запускает сценарии, внедренные в HTML-код веб-страниц. Как правило, эта версия называется клиентским языком JavaScript, чтобы подчеркнуть, что сценарий исполняется на клиентском компьютере, а не на веб-сервере. В основе языка JavaScript и поддерживаемых им типов данных лежат международные стандарты, благодаря чему обеспечивается прекрасная совместимость между реализациями. Некоторые части клиентского JavaScript формально стандартизированы, другие части стали стандартом де-факто, но есть части, которые являются специфическими расширениями конкретной версии браузера. Совместимость реализаций JavaScript в разных браузерах зачастую приносит неудобства программистам, использующим клиентский язык JavaScript [3].
Клиентский JavaScript-код можно интегрировать в HTML-документы четырьмя основными способами: