Prev Home Next
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА ПРОЕКТА elGeo - Эллипсоиды и геометрические вычисления

Данный документ содержит сведения о назначении динамически подключаемой библиотеки elGeo - Эллипсоиды и геометрические вычисления.

Библиотека предназначена для:
- вычислений на нескольких эллипсоидах (общемировом wgs84, Красовского, ПЗ90, с задаными параметрами) и сфере. Класс Ellipsoid. Предоставляется возможность вычислять длину заданной дуги меридиана (mrdDgr2m), длину заданной дуги заданной параллели (prlDgr2m), решать прямую (directGeoDTask) и обратную геодезические задачи (inverseGeoDTask);
- пересчета из геодезических систем (общемировой эллипсоид и эллипсоид Красовского) в систему координат 42 года и наоборот (wgs2sk42);
- вычисления площадей сфероидических трапеций (trArea);
- получения отображений из реального мира в пиксели экрана (и наоборот ) - класс mapping (для отображения в целочисленные пиксели), mappingF - для отображения в пиксели, которые задаются типом Float.
- отображения треков в окно размера 600 на 800 пикселей, при помощи специального класса (для демонстрации использования класса mapping) - map800x600. Класс отображает тройку данных (широту, долготу и высоту) в виртуальный прямоугольник размером 800х600хзаданная-высота пикселей, для последующего рисования данных на экране; - выполнения элементарных математических задач: преобразования радианов в градусы, градусов в радианы, секунд в радианы. Также содержит статические синус и косинус, получающие на вход градусы.
- ввода нескольких видов CSV- файлов (предоставляемых как результатов аэрофотосъемок; компании DigSee.com; записей, извлеченных из GPX- файлов версии 1.0; с минимальным набором данных, где в каждой строчке есть только широта и долгота). Перечисленные классы есть потомки класса Rec, предназначенные для чтения нескольких значений из CSV- файлов, а именно - широты, долготы, высоты, даты и времени и еще нескольких парамеров, для которых задается имя и тип (строка, целое, вещественное);
- рисования линий на графике .Net, при помощи специального класс Line. Класс содержит некоторую список записей с координатами и некоторыми значениями, которая перед отображением на графике .Net должна отобразится в массив точек (класс Point из .Net) для рисования графики .Net - DrawLines. Под значениями понимаеются, например, скорость, рыскание, количество горючего в текущей точке линии. Этот же класс содержит метод для сохранения линий в виде CSV- файла, где на первом месте идет широта, а на втором - долгота.

Для тестирования библиотеки используется набор специальных приложений - юнит тестов:
- простое вычисление длин дуг меридианов и параллелей, смотри раздел [Длины дуг меридианов и параллелей](@ref test.d2m.Program);
- вычисление площадей трапеций на эллипсоиде, смотри раздел [Площадь трапеции](@ref test.area.Program);
- демонстрация областей видимости камеры БПЛА, смотри раздел [Область видимости](@ref test.cVw.Program);
- ввод - вывод различных треков и их параметров треков. Тестирование метода save класса Line. смотри раздел [Ввод треков](@ref test.track.Program). Этот тест юнит также содержит пример подготовки линии к рисованию в окне при помощи [отображений ](@ref geo.iMap);
- вычисление обратной геодезической задачи на всем треке. Для треков типа мини, dixi или gpx в выводной обьект добавляются поля azimuth и distance, смотри раздел [Вычисление азимута на треке](@ref test.Azimuth.Program);
- пересчет координат треков из геодезических систем координат в Систему Координат 42 года и так же пересчет координат из зоны в зону, смотри раздел [Пересчет координат](@ref test.cnv.Program);
- демонстрация областей видимости камеры БПЛА. Имя точки из обьетов типа Line выводится на экран, смотри раздел [Область видимости](@ref test.cVw.Program);
- проецирование фотоматериалов и получение координат точек интереса и областей видимости, смотри раздел [Проецирование фотоматериалов](@ref test.pap.Program);


zip архив



Prev Up Next