atomswift_1.3.216.apk
8.1 MB
#AtomSwift ☣️
Фиксы
1. При удалении слоя не менялась настройка какой слой отображать в Shared Preferences.
2. При сбросе списка слоёв в дефолт не менялась настройка какой слой отображать в Shared Preferences.
Оптимизация производительности расчётов с EPSG:3395 (Yandex) и работы с дисковым кешем.
Фиксы
1. При удалении слоя не менялась настройка какой слой отображать в Shared Preferences.
2. При сбросе списка слоёв в дефолт не менялась настройка какой слой отображать в Shared Preferences.
Оптимизация производительности расчётов с EPSG:3395 (Yandex) и работы с дисковым кешем.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1🙏1
atomswift_1.3.217.apk
8.1 MB
#AtomSwift ☣️
Добавлен новый тип меркатора: EPSG:900913 (EPSG:3857 inverse y)
Это, по сути, тот же тип, что и у Google, Dosemap, OSM, но с инверсией широты.
P.S.
Понадобился для наложения вот этого: https://remap.jrc.ec.europa.eu/Atlas.aspx
Список провайдеров с этого ресурса добавится в общий список, который в закрепе.
Добавлен новый тип меркатора: EPSG:900913 (EPSG:3857 inverse y)
Это, по сути, тот же тип, что и у Google, Dosemap, OSM, но с инверсией широты.
P.S.
Понадобился для наложения вот этого: https://remap.jrc.ec.europa.eu/Atlas.aspx
Список провайдеров с этого ресурса добавится в общий список, который в закрепе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2👌1
Cosmic
Radon indoor
Uranium:
Thorium:
K-40:
Почва:
Bedrock Uranium:
Bedrock Thorium:
Bedrock K-40:
Проникаемость в почву:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:ECRM2006Raster3857@EPSG:900913@png/{z}/{x}/{y}.pngRadon indoor
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:IndoorAM@EPSG:900913@png/{z}/{x}/{y}.pngUranium:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Uranio_soil@EPSG:900913@png/{z}/{x}/{y}.pngThorium:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Torio_soil@EPSG:900913@png/{z}/{x}/{y}.pngK-40:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Potassio_soil@EPSG:900913@png/{z}/{x}/{y}.pngПочва:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:TGDR@EPSG:900913@png/{z}/{x}/{y}.pngBedrock Uranium:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Bedrock_Uranium@EPSG:900913@png/{z}/{x}/{y}.pngBedrock Thorium:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Bedrock_Thorium@EPSG:900913@png/{z}/{x}/{y}.pngBedrock K-40:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:Bedrock_K2O@EPSG:900913@png/{z}/{x}/{y}.pngПроникаемость в почву:
https://redata.jrc.ec.europa.eu/atlas/gwc/service/tms/1.0.0/REM:permeability_soil_LAEA@EPSG:900913@png/{z}/{x}/{y}.png🔥2
atomswift_1.3.218.apk
8.1 MB
#AtomSwift ☣️
Добавлена поддержка оффлайн карт в формате *.mbtiles
При добавлении файла из меню создания слоя производится первичная проверка содержимого, что есть таблица tiles и что она не пустая. Так же проводится ряд настроек нового тайл провайдера:
1. Высчитывается и подставляется max zoom из данных, что есть в таблице tiles
2. Выключается кеширование (нет смысла)
3. Выставляется тип меркатора EPSG:900913
Данная фича будет полезна там, где плохой интернет или интернет полностью отсутствует.
Добавлена поддержка оффлайн карт в формате *.mbtiles
При добавлении файла из меню создания слоя производится первичная проверка содержимого, что есть таблица tiles и что она не пустая. Так же проводится ряд настроек нового тайл провайдера:
1. Высчитывается и подставляется max zoom из данных, что есть в таблице tiles
2. Выключается кеширование (нет смысла)
3. Выставляется тип меркатора EPSG:900913
Данная фича будет полезна там, где плохой интернет или интернет полностью отсутствует.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать mbtiles из чего угодно самостоятельно
P.S. Снимал одним дублем без подготовки, делаю этот сценарий в первый раз. Шёл по интуиции. Zoom level лучше бы побольше, чем 12, но и сложность с объёмом растёт 2^n
P.S. Снимал одним дублем без подготовки, делаю этот сценарий в первый раз. Шёл по интуиции. Zoom level лучше бы побольше, чем 12, но и сложность с объёмом растёт 2^n
🔥2
atomswift_1.3.219.apk
8.2 MB
#AtomSwift ☣️
Небольшие изменения:
1. Добавлена опция настройки размера кэша тайл провайдеров (значение по умолчанию - 500 Мбайт)
2. Время устаревания кэша увеличено с одного года до 4-х лет 😂
Кэш, живёт "своей жизнью" и собирает статистику эффективности отданных данных. При достижении размера максимума начинает удалять самые неиспользуемые тайлы. Т.е. следить за ним нет нужды. Он сам почистится, когда достигнет разрешённого максимума. Более детально можно почитать DiskLruCache readme.
Небольшие изменения:
1. Добавлена опция настройки размера кэша тайл провайдеров (значение по умолчанию - 500 Мбайт)
2. Время устаревания кэша увеличено с одного года до 4-х лет 😂
Кэш, живёт "своей жизнью" и собирает статистику эффективности отданных данных. При достижении размера максимума начинает удалять самые неиспользуемые тайлы. Т.е. следить за ним нет нужды. Он сам почистится, когда достигнет разрешённого максимума. Более детально можно почитать DiskLruCache readme.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5🙏1
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