Skip to content

Repository files navigation

Geodesy Calculator — геодезический калькулятор на Flutter

Flutter Dart Platform

Кроссплатформенное мобильное приложение для решения базовых геодезических задач. Написано на Flutter с чистым разделением бизнес-логики (utils/geo_math.dart) и экранов. Поддерживает светлую и тёмную темы.

Функциональность

Экран Задача
ГМС → градусы перевод угла из формата «градусы-минуты-секунды» в десятичные градусы
Градусы → ГМС обратный перевод десятичных градусов в ГМС с корректной обработкой переполнения секунд/минут
Прямая геодезическая задача (ПГЗ) по координатам точки A, расстоянию и дирекционному углу — координаты точки B
Обратная геодезическая задача (ОГЗ) по двум точкам — расстояние, румб, дирекционный угол и четверть (СВ/ЮВ/ЮЗ/СЗ)

Дополнительно: копирование результата в буфер обмена, переключатель тёмной темы, валидация ввода.

Логика расчётов

Все вычисления вынесены в статический класс GeoMath (lib/utils/geo_math.dart): gmsToDeg, degToGms, directProblem, inverseProblem. Логика полностью отделена от UI и легко тестируется.

Структура

lib/
├── main.dart              # точка входа, тема, навигация
├── utils/
│   └── geo_math.dart      # вычислительное ядро (ГМС, ПГЗ, ОГЗ)
└── screens/
    ├── home_page.dart     # главный экран с выбором инструмента
    ├── gms_page.dart      # ГМС → градусы
    ├── deg_page.dart      # градусы → ГМС
    ├── direct_page.dart   # прямая геодезическая задача
    └── round_page.dart    # округление

Запуск

git clone https://github.com/DenisDrobyshev/flutter_dev.git
cd flutter_dev
flutter pub get
flutter run

Стек

Flutter · Dart · Material 3 · url_launcher

About

Геодезический калькулятор на Flutter: перевод углов (ГМС ↔ градусы), прямая и обратная геодезические задачи, тёмная тема.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages