atomswift_1.3.220.apk
8.2 MB
#AtomSwift ☣️
Небольшое обновление, внутренняя уборка:
- рефакторинг того, что проделано с тайлами
- оптимизация нескольких методов
- принудительный отказ использования кеширования, если источник тайла - оффлайн карты
Небольшое обновление, внутренняя уборка:
- рефакторинг того, что проделано с тайлами
- оптимизация нескольких методов
- принудительный отказ использования кеширования, если источник тайла - оффлайн карты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1🙏1
atomswift_1.4.221.apk
8.2 MB
#AtomSwift ☣️
Важное отступление. Сменил минорную версию 1.3 -> 1.4 потому, что есть повод. Приложение за всё это время (около 200 релизов) получило значительный багаж функционала и сегодняшнее изменение вывело его на абсолютно другой уровень. Функционал картирования получил мощный инструмент анализа.
Довольно знаковый и большой релиз. В функционал картирования добавлена возможность построения карт изоуровней. При построении карты используется алгоритм марширующих квадратов.
Важно! Это нужно понимать!
1. Построение карты изоуровней нужно, в первую очередь, для маркеров которые записаны на замкнутой площади. То есть, вы выходите на участок и делаете обход змейкой по нему. Карты изоуровней не годятся для треков вида: "Я ехал из точки А в точку Б по прямой".
2. Качество карт на прямую зависит от плотности посадки маркеров и их количества. Чем больше маркеров и их плотность на исследуемый участок - тем лучше и достовернее будет карта изоуровней.
3. Получение карты изоуровней происходит по ВИДИМОЙ ЧАСТИ ЭКРАНА. Маркеры, не попавшие в видимую часть экрана не участвуют в построении карты!
4. Технически, построенная карта - это статическое изображение, которое отрисовывается на подложке карты гугля. Поэтому общий принцип построения и дальнейшей работы такой: обозначили экраном маркеры, запустили создание карты изоуровней, дальше зумим и изучаем.
Всё, написанное выше важно понимать и знать. Так сказать краткая выжимка. Дальше будет TLDR.
Теперь более подробно с начала.
1. Создать карту изоуровней можно двумя способами:
- назначив "горячую кнопку" на качельку громкости в настройках приложения: поставить/удалить карту изоуровней
- выбрав соответствующий пункт из меню справа сверху (три точки).
2.При нажатии генерации карты изоуровней берутся ВСЕ текущие маркеры с открытой карты, отсеиваются те, что не попадают в видимый экран смартфона.
3.Далее эти маркеры разбиваются на сетку размером 5-50 (см настройки карты изоуровней и там же кнопка Help). При конфликте маркеров на одну и ту же ячейку используется принцип децимации для групп маркеров из настроек приложения (min/avg/max).
4.Проводится подготовка данных к построению. Пустые ячейки сетки восстанавливаются данными методом ближайших соседей с параметрами из настроек (см настройки). Это важно, чтобы карта не "рассыпалась" на швейцарский сыр или хуже.
5.Подготовленные данные проходят через апскейл (увеличение размера сетки) x8 раз методом бикубической интерполяции. В настройки не вынесено.
6.Подготавливается разбивка на пороговые значения для изоуровней, за основу берётся min/max значение текущей метрики (DR, CP2S, ALT, SPD) с учётом фильтра по метрикам (шкала на карте справа). Вообще, работа с фильтром ВАЖНА при построении карты изоуровней. Если карта получилась слишком "синей", нужно опустить верхний край фильтра немного вниз, тем самым перераспределив пороги изоуровней вниз. И наоборот - для слишком "красной" карты, нижний фильтр нужно немного задрать вверх.
7.Полученные данные по маркерам и порогам разбивки на изоуровни прогоняются через алгоритм марширующих квадратов. На выходе получаем замкнутые контуры вида android.drawable.Path[].
8.Проводим афинные преобразования контуров, чтобы вписать их в картинку разрешения текущего экрана телефона.
9.Устанавливаем статическую картинку на Ground overlay гуглекарты.
За сим - всё :)
Если смогу не кашлять хотя бы час - запишу видео с использованием.
Важное отступление. Сменил минорную версию 1.3 -> 1.4 потому, что есть повод. Приложение за всё это время (около 200 релизов) получило значительный багаж функционала и сегодняшнее изменение вывело его на абсолютно другой уровень. Функционал картирования получил мощный инструмент анализа.
Довольно знаковый и большой релиз. В функционал картирования добавлена возможность построения карт изоуровней. При построении карты используется алгоритм марширующих квадратов.
Важно! Это нужно понимать!
1. Построение карты изоуровней нужно, в первую очередь, для маркеров которые записаны на замкнутой площади. То есть, вы выходите на участок и делаете обход змейкой по нему. Карты изоуровней не годятся для треков вида: "Я ехал из точки А в точку Б по прямой".
2. Качество карт на прямую зависит от плотности посадки маркеров и их количества. Чем больше маркеров и их плотность на исследуемый участок - тем лучше и достовернее будет карта изоуровней.
3. Получение карты изоуровней происходит по ВИДИМОЙ ЧАСТИ ЭКРАНА. Маркеры, не попавшие в видимую часть экрана не участвуют в построении карты!
4. Технически, построенная карта - это статическое изображение, которое отрисовывается на подложке карты гугля. Поэтому общий принцип построения и дальнейшей работы такой: обозначили экраном маркеры, запустили создание карты изоуровней, дальше зумим и изучаем.
Всё, написанное выше важно понимать и знать. Так сказать краткая выжимка. Дальше будет TLDR.
Теперь более подробно с начала.
1. Создать карту изоуровней можно двумя способами:
- назначив "горячую кнопку" на качельку громкости в настройках приложения: поставить/удалить карту изоуровней
- выбрав соответствующий пункт из меню справа сверху (три точки).
2.При нажатии генерации карты изоуровней берутся ВСЕ текущие маркеры с открытой карты, отсеиваются те, что не попадают в видимый экран смартфона.
3.Далее эти маркеры разбиваются на сетку размером 5-50 (см настройки карты изоуровней и там же кнопка Help). При конфликте маркеров на одну и ту же ячейку используется принцип децимации для групп маркеров из настроек приложения (min/avg/max).
4.Проводится подготовка данных к построению. Пустые ячейки сетки восстанавливаются данными методом ближайших соседей с параметрами из настроек (см настройки). Это важно, чтобы карта не "рассыпалась" на швейцарский сыр или хуже.
5.Подготовленные данные проходят через апскейл (увеличение размера сетки) x8 раз методом бикубической интерполяции. В настройки не вынесено.
6.Подготавливается разбивка на пороговые значения для изоуровней, за основу берётся min/max значение текущей метрики (DR, CP2S, ALT, SPD) с учётом фильтра по метрикам (шкала на карте справа). Вообще, работа с фильтром ВАЖНА при построении карты изоуровней. Если карта получилась слишком "синей", нужно опустить верхний край фильтра немного вниз, тем самым перераспределив пороги изоуровней вниз. И наоборот - для слишком "красной" карты, нижний фильтр нужно немного задрать вверх.
7.Полученные данные по маркерам и порогам разбивки на изоуровни прогоняются через алгоритм марширующих квадратов. На выходе получаем замкнутые контуры вида android.drawable.Path[].
8.Проводим афинные преобразования контуров, чтобы вписать их в картинку разрешения текущего экрана телефона.
9.Устанавливаем статическую картинку на Ground overlay гуглекарты.
За сим - всё :)
Если смогу не кашлять хотя бы час - запишу видео с использованием.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍6❤1👏1🎉1
atomswift_1.4.222.apk
8.2 MB
#AtomSwift ☣️
Небольшие исправления:
1. Опечатка в тексте.
2. При изменении фильтра карта изоуровней обновляется автоматически.
3. Изменена палитра с 8 на 16 цветов.
Небольшие исправления:
1. Опечатка в тексте.
2. При изменении фильтра карта изоуровней обновляется автоматически.
3. Изменена палитра с 8 на 16 цветов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
atomswift_1.4.223.apk
8.4 MB
#AtomSwift ☣️
1. Добавлен экспорт карты изолиний в файл. Экспорт делается там, где обычно экспортируются карты в kml, gpx, csv.
2. Добавлена возможность сохранить локально выбранную карту из облака atomfast.net. Жмём в картах на значок облака выбираем карту жмём иконку "Сохранить".
1. Добавлен экспорт карты изолиний в файл. Экспорт делается там, где обычно экспортируются карты в kml, gpx, csv.
2. Добавлена возможность сохранить локально выбранную карту из облака atomfast.net. Жмём в картах на значок облака выбираем карту жмём иконку "Сохранить".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
atomswift_1.4.224.apk
8.4 MB
#AtomSwift ☣️
Fix экспорт изолиний в файл:
1. Уменьшен размер картинки 4000 -> 2000. Т.к. ТГ уныло жмёт картинку.
2. Добавлены маркеры на карту (забыл).
Fix экспорт изолиний в файл:
1. Уменьшен размер картинки 4000 -> 2000. Т.к. ТГ уныло жмёт картинку.
2. Добавлены маркеры на карту (забыл).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🙏1
AtomSpectra-6.6.15.113.apk
6.8 MB
#AtomSpectra
Релиз с изменениями, предоставленными для тестирования в посте: https://t.me/software_kbradar/532
Релиз с изменениями, предоставленными для тестирования в посте: https://t.me/software_kbradar/532
🔥3
AtomSpectra-6.6.15.114.apk
6.8 MB
#AtomSpectra
1) устранено "подпрыгивание" графика мощности дозы при режиме отображения менее 1024 точек (когда в настройках установлено 512 и менее)
2) исправлен расчет мощности дозы для про спектрометров (была необходимость для про спектрометра устанавливать коэффициент гамма чувствительности в 10 раз больше, чем для такого же аудио)
3) повышен в 10 раз верхний предел коэффициента гамма чувствительности при чтении файла устройства (стало 1000000)
1) устранено "подпрыгивание" графика мощности дозы при режиме отображения менее 1024 точек (когда в настройках установлено 512 и менее)
2) исправлен расчет мощности дозы для про спектрометров (была необходимость для про спектрометра устанавливать коэффициент гамма чувствительности в 10 раз больше, чем для такого же аудио)
3) повышен в 10 раз верхний предел коэффициента гамма чувствительности при чтении файла устройства (стало 1000000)
🔥4👍1
atomswift_1.4.225.apk
8.4 MB
#AtomSwift ☣️
Два фикса:
1. Сохранение карты изолиний в файл. Некорректный пересчёт маркеров из lat, long -> y, x для отрисовки.
2. Последствия некорректного merge. Пропало условие выставления флага тревоги при превышении порога cps.
Два фикса:
1. Сохранение карты изолиний в файл. Некорректный пересчёт маркеров из lat, long -> y, x для отрисовки.
2. Последствия некорректного merge. Пропало условие выставления флага тревоги при превышении порога cps.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
atomswift_1.4.226.apk
8.4 MB
#AtomSwift ☣️
Небольшой фикс, связанный с тем, что земля не плоская 😂
"Починил Австралию и США."
Если попроще - напрочь забыл, что координаты могут быть отрицательными.
Небольшой фикс, связанный с тем, что земля не плоская 😂
"Починил Австралию и США."
Если попроще - напрочь забыл, что координаты могут быть отрицательными.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9🔥5👍2
atomswift_1.4.227.apk
8.4 MB
#AtomSwift ☣️
Исправление. Улучшение производительности при необходимости создать увеличенный фрагмент от какого-либо тайла.
Исправление. Улучшение производительности при необходимости создать увеличенный фрагмент от какого-либо тайла.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🙏2
atomswift_1.4.228.apk
8.4 MB
#AtomSwift ☣️
Исправление поведения уведомлений для новых версий андроида (старше 12). При множестве (больше 1) уведомлений он автоматом группирует их принудительно. Это "принудительно" отменено :)
Исправление поведения уведомлений для новых версий андроида (старше 12). При множестве (больше 1) уведомлений он автоматом группирует их принудительно. Это "принудительно" отменено :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🙏1
atomswift_1.4.229.apk
8.4 MB
#AtomSwift ☣️
Переделан автопорог.
- Формула теперь не зависит от констант fast, medium, slow и рассчитывается из "сырых cps" согласно тому, что cps подчиняются распределению Пуассона:
где λ - мат. ожидание (в данном случае - среднее арифметическое).
- Увеличен диапазон числа сигм до [1;9] должно хватить на любые задачи
- Использовать или нет "сырые cps" в алертах вынесено в отдельную опцию в настройках приложения. Значение по умолчанию - Выключено (т.е. - НЕ использовать).
- Небольшое исправление локализации
- По просьбе @skyclam увеличена толщина крестика алерта на вкладке Архив
Переделан автопорог.
- Формула теперь не зависит от констант fast, medium, slow и рассчитывается из "сырых cps" согласно тому, что cps подчиняются распределению Пуассона:
auto_thresh_cps = λ + Nsigma * Sqrt(λ)
где λ - мат. ожидание (в данном случае - среднее арифметическое).
- Увеличен диапазон числа сигм до [1;9] должно хватить на любые задачи
- Использовать или нет "сырые cps" в алертах вынесено в отдельную опцию в настройках приложения. Значение по умолчанию - Выключено (т.е. - НЕ использовать).
- Небольшое исправление локализации
- По просьбе @skyclam увеличена толщина крестика алерта на вкладке Архив
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3🙏1
AtomSpectra- 6.6.15.115.apk
6.8 MB
#AtomSpectra
Приложение теперь запоминает между запусками последний выбранный масштаб вертикальной оси (линейный/логарифмический)
PS: автор версии приложения #MaksimBartoshik
Приложение теперь запоминает между запусками последний выбранный масштаб вертикальной оси (линейный/логарифмический)
PS: автор версии приложения #MaksimBartoshik
👍4🙏1
atomswift_1.4.230.apk
8.4 MB
#AtomSwift ☣️
ВНИМАНИЕ! СДЕЛАЙТЕ БЕКАП!
Изменён формат данных карт. Точность маркера (location accuracy) теперь не целое число (int), а с плавающей точкой (float).
Необходимо для поддержки gnss RTK, где точность решения около 4-х мм.
Fix 27.04.2025:
Исправление работы с облаком. Теперь в облако грузятся координаты с точностью float.
ВНИМАНИЕ! СДЕЛАЙТЕ БЕКАП!
Изменён формат данных карт. Точность маркера (location accuracy) теперь не целое число (int), а с плавающей точкой (float).
Необходимо для поддержки gnss RTK, где точность решения около 4-х мм.
Fix 27.04.2025:
Исправление работы с облаком. Теперь в облако грузятся координаты с точностью float.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
#BecqMoni 👾
Небольшой релиз для RadiaCode. В файл спектра добавлено поле серийный номер для отработки логики на стороне приложения RC после калибровки этого спектра в бекмони.
Небольшой релиз для RadiaCode. В файл спектра добавлено поле серийный номер для отработки логики на стороне приложения RC после калибровки этого спектра в бекмони.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Продолжение обновлений атомвифт конечно будет. Просто сейчас период пахоты. Это нужно понимать.
😁8🫡2🔥1
AtomSpectra-6.6.15.116.apk
6.8 MB
#AtomSpectra
Небольшое обновление. Так уж вышло, что для Android 14 и новее приложению обязательно нужен доступ к геолокации.
Теперь при отсутствии доступа вместо "вылета" должно выводиться сообщение с указанием о проблеме.
Небольшое обновление. Так уж вышло, что для Android 14 и новее приложению обязательно нужен доступ к геолокации.
Теперь при отсутствии доступа вместо "вылета" должно выводиться сообщение с указанием о проблеме.
🔥5
ПО КБ РАДАР ⚛️ Atom Spectra
AtomSpectra-6.6.15.116.apk
Эта версия пойдет в гуглплей?
ПО КБ РАДАР ⚛️ Atom Spectra
Эта версия пойдет в гуглплей?
Чтобы выложить в гуглплей - нужно подтверждение аккаунта разработчика, что пока провести невозможно.
👍4
#AtomSpectra
#AtomSpectraWaterfall
Несколько видео о том как записывать и просматривать спектрограммы
Для этого функционала требуется версия программы 6.6.15 и новее (из этого канала, не из google play, например https://t.me/software_kbradar/567).
Рендер спектрограмм тут - https://github.com/Maksim-Bartoshyk/atomspectra-waterfall
#AtomSpectraWaterfall
Несколько видео о том как записывать и просматривать спектрограммы
Для этого функционала требуется версия программы 6.6.15 и новее (из этого канала, не из google play, например https://t.me/software_kbradar/567).
Рендер спектрограмм тут - https://github.com/Maksim-Bartoshyk/atomspectra-waterfall
👍7