Version: [5421] Isoliner - грид и изолинии 5.12.4

5.12.4
- 1.12 снимает тренд плоскостью перед подгонкой. Коэффициент решётки
линеен по значению, поэтому на данных, далёких от нуля, ошибка
росла вместе с самой величиной: в дыре внутри облака точек
поверхность ныряла к нулю. На рельефе около двухсот метров с пустым
кругом посередине промах был 30 м, стал меньше метра. Числом
уровней это не лечилось.
- Тренд возвращается в коэффициенты нулевого уровня, поэтому оценка
остаётся в абсолютных значениях. Плоскость воспроизводится точно.
- Предупреждение об обрезке к границам больше не советует убавить
уровни: в случае дыры внутри облака это не помогает, там нужны
данные.
5.12.3
- Забор 3D из 4.01 больше не дырявый в сцене. Стенка пласта отдавалась
одним кольцом «верх туда, низ обратно»: оно длинное и сильно
невыпуклое, а движки сцены триангулируют такое веером от первой
вершины. Теперь стенка режется по звеньям трассы, и каждый
четырёхугольник плоский по построению - любая триангуляция верна.
На чертеже проблемы не было: там полигон плоский и рисуется заливкой.
5.12.2
- У полос разреза 4.01 появилось поле color: цвет пласта лежит прямо в
данных шестнадцатеричной строкой. Символику слоя читают не все
потребители, и трёхмерная сцена красила забор своим цветом, хотя
цвет пласта был известен. Поле переживает экспорт и передачу.
5.12.1
- Забор 3D из 4.01 красится теми же категориями пластов, что чертёж.
Стенки строились по каждому пласту, код пласта лежал в атрибутах, но
цвет вешался только на чертёжный слой: в сцене разрез выходил
одноцветным и читался как ограждение, а не как геология.
- 4.10 «Пример для разреза» сообщает о ходе работы и слушает отмену.
Раньше он молчал до конца, и долгая работа была неотличима от
зависания.
5.12.0
- Чистка модуля. Убраны неиспользуемые импорты и мёртвые присваивания
в семи файлах, включая лишнюю копию массива в 1.03 и вычисление
выборок в демо-инструменте, результат которого никуда не шёл.
- Проверка переводов чинилась дважды: она сканировала пять файлов из
тридцати и не видела вызовов вида tr(...), поэтому строки окон
«Карта плотности» и «Подоснова» проверку не проходили вовсе. Теперь
сканируется весь пакет, а имена переводимых констант собираются
сами, а не перечисляются руками.
- Из словаря убраны 13 повторов ключей (второй перевод молча затирал
первый) и 22 ключа со старой нумерацией инструментов.
5.11.2
- 1.12: у результата задаются нижняя и верхняя границы. Содержание не
бывает отрицательным, доля не бывает больше единицы, а гладкая
поверхность между замерами за диапазон проскакивает.
- В журнал пишется, сколько ячеек срезано снизу и сверху, какая это
доля площади и насколько далеко поверхность уходила. Если к границе
прижата десятая часть площади, идёт предупреждение: там поверхность
не оценена, а срезана, и лечится это решёткой, а не границами.
5.11.1
- 1.12 считал растр по перепутанным осям: точки данных идут как (x,
y),
а растр адресуется как (строка, столбец), то есть (y, x). Значения
брались не там, где стоит ячейка. Построение растра перенесено в
ядро и закрыто проверкой на неквадратной сетке.
- Слой выходил чёрным: применялся стиль, файла которого в поставке
нет.
Стиль растру больше не вешается, шкалу QGIS растягивает по данным.
Ссылки на все файлы стилей теперь проверяются тестом.
- Замеры, стоящие в одной точке с разными значениями, называются в
журнале числом пар и наибольшим расхождением. В такой точке метод
даёт среднее, невязка не исчезает при любом числе уровней и на
промежуточных может подрасти.
5.11.0
- Новый инструмент 1.12 «MBA: мультисеточные B-сплайны». Третий способ
получить поверхность из точек, рядом с кригингом и минимальной
кривизной. Система уравнений не решается вообще, работа линейна по
числу точек: миллион замеров считается там, где кригинг неприменим.
- Начальная решётка задаёт радиус влияния, разные числа ячеек по осям
дают анизотропию без модели вариограммы, число уровней управляет
гладкостью: один-два дают тренд, восемь сажают поверхность на замеры.
- Результат обрезается выпуклой оболочкой точек: за пределами облака у
решётки нет данных, и поверхность там уходит куда угодно.
- Ядро написано N-мерным: тот же код считает и объём, и это задел под
трёхмерную версию в Isoliner3D.
5.10.0
- 4.06: отрезки сечения сливаются в цепочки по источнику, и на чертёж
идёт полилиния на цепочку, а не объект на треугольник. У оболочки
треугольников десятки тысяч, и слоем из отрезков ни подписать, ни
выбрать. То же для выхода 3D.
- 4.06: отрезки сечения собираются в замкнутые кольца, отдельный выход
«Замкнутые сечения». Кольцо получается само, если цепочка
сомкнулась: у оболочки сечение замкнуто, у поверхности открыто по
построению, и хорда между её концами была бы выдуманной линией.
В журнал идут числа замкнутых и открытых цепочек и наибольший зазор.
- 4.06: поля исходного объекта переносятся в кольца. Для этого
треугольники режутся по объектам, а не общим списком слоя, иначе
принадлежность кольца объекту теряется.
- У колец есть площадь в единицах чертежа и признак замкнутости.
5.9.5
- 1.11: пустота источника передаётся при переносе на сетку результата.
Без этого служебное значение ЦМР (-32768, -9999, ноль) шло в расчёт
как настоящая отметка: подробная поверхность «покрывала» весь охват,
расхождение считалось по мусору и поправка уезжала в бессмыслицу -
на вид растр просто вставлялся без перехода. Это же чинит обрезку
подробной поверхности по рамке.
- В журнал добавлена доля ячеек с данными у каждой поверхности: по ней
сразу видно, помечена ли пустота в файле.
- У наклонной плоскости в журнал идут её крайние значения по полю.
Плоскость считается по кольцу, а применяется ко всему охвату.
5.9.4
- 1.11: охват и разрешение результата задаются. Раньше сшитая
поверхность выходила в границах подробной, и от региональной
оставался только кусок под участком. Теперь охват по умолчанию
берётся по региональной, можно взять по подробной или задать рамку.
- Ячейка результата задаётся отдельно. Подробная съёмка бывает
сантиметровой, а региональная тридцатиметровой на десятки
километров: в шаге подробной растр вышел бы в триллион ячеек.
Размер считается заранее, и при превышении предела инструмент
отказывается работать и называет подходящую ячейку.
- При укрупнении подробная поверхность осредняется, а не выбирается
по узлам: выборка потеряла бы то, ради чего съёмку и делали.
5.9.3
- 4.06 «Пересечение TIN с разрезом» больше не выглядит зависшим на
слое изоповерхности. Отмена и полоса хода работы висят на частях
геометрии, а не на объектах слоя: у оболочки объект один на
уровень, и проверка срабатывала два-три раза за всю работу.
- Части читаются по месту, без построения объекта Python на каждый
треугольник, координаты берутся прямо из кольца. У слоя оболочки
треугольников десятки тысяч в одном объекте, у вокселей из 2.04 -
до полумиллиона.
5.9.2
- Окно «Карта плотности» больше не перечитывает слой на каждое
движение ползунка. Разобранные геометрии и значения полей
складываются в память при первом проходе, дальше тик только
считает. Правка слоя и его смена сбрасывают запас, а на слое
сверх двух миллионов вершин он не строится вовсе.
5.9.1
- Окно «Карта плотности» отзывчивее под ползунками. Поворот ручки во
время пересчёта больше не теряется: предпросмотр пересчитывается ещё
раз по окончании. Вспомогательный растр не перечитывается с диска
целиком на каждое движение - выборка кэшируется по слою и сетке.
- Справки и сообщения журнала вычитаны: убраны точки с запятой в
прозе, кроме математической записи интервалов.
5.9.0
- Новый инструмент 1.11 «Врезка подробной поверхности в региональную».
Сшивает две поверхности одной величины: подробную съёмку с открытой
ЦМР, куст разведочных скважин с региональной моделью кровли,
детальный участок опробования с общей картой содержаний.
- Систематическое расхождение снимается по кольцу перекрытия вокруг
зоны врезки, медианой или наклонной плоскостью. У рельефа это разные
вертикальные системы, у геологии разные методики увязки: без снятия
вся региональная часть остаётся смещённой, и водосбор уезжает.
- Переход строится весом, а не вырезанной дыркой с интерполяцией:
внутри зоны единица, за буфером ноль, в кольце плавно. Ширина
задаётся в ячейках региональной поверхности.
- Если подробные данные обрываются ровно по зоне врезки, перекрытия
нет и поправку снять не по чему. Инструмент говорит об этом прямо и
не сшивает молча.
5.8.4
- Растеризация сторон формы в 2.03 ускорена в четыре с половиной раза:
точки вдоль сегментов считаются и укладываются в растр группами, а
не по одной. На наборе из восьмидесяти тысяч вершин время упало с
двух секунд до полусекунды, результат совпадает со старым побитово.
- Сборка тел поясов в 1.04 ускорена в полтора раза: кольцо приводится
к рабочему виду один раз на тело, а не шестью путями подряд.
- Из подписей трёх параметров убраны служебные пометки о
необязательности: в диалоге QGIS такой параметр и так помечен.
5.8.2
- Кнопка «Подоснова» на панели Isoliner: карта или космоснимок под
данные одним движением. Семь источников - OpenStreetMap,
OpenTopoMap, космоснимки, топооснова, схема, отмывка рельефа и
уклоны. Слои описаны файлами .qlr в папке basemaps, поэтому свои
источники добавляются без правки кода: настроить слой в QGIS и
сохранить как файл определения слоя.
- Окно немодальное и проверяет систему координат проекта заранее: без
датума подоснова легла бы со сдвигом молча. Добавленные слои
опускаются под остальные.
5.8.0
- Контурные полигоны 1.04 кладутся плоско, на верхнюю границу пояса,
на ту же отметку, что верхняя крышка тела пояса. Ступенчатую
поверхность даёт стопка поясов, полигоны и тела ложатся друг на
друга без зазора. Прежние отметки вдоль кольца делали его
неплоским, и трёхмерная сцена натягивала через весь пояс длинные
тонкие треугольники.
- Заполнение понижений ускорено втрое с лишним: линия пересчитывается
только когда менялись её входы, а горизонтальные проходы идут по
транспонированной копии, где строка лежит в памяти подряд.
- Направления стока, аккумуляция и сборка речной сети переписаны на
общие буферы и групповые операции вместо обхода по ячейке. Сеть
строится прыжками указателей, порядок Стралера считается явным
стеком без предела глубины рекурсии.
- На сетке 4000 на 4000 цепочка заполнение, направления, аккумуляция,
сеть занимает 15 секунд против 36 прежних. Результаты совпадают со
старыми побитово, включая счётчики поднятых ячеек и нумерацию
звеньев.
5.7.4
- Линии с отметками в 2.22 выходят направленными сверху вниз по
склону: первая вершина выше последней. Направление одно на весь
слой, поэтому стрелку падения ставят стилем, маркером по линии, и
рисовать её отдельным слоем не нужно. Число развёрнутых линий идёт
в журнал.
- У линии с равными концами решают половины: если начало в среднем
выше конца, линия и так идёт вниз. Сумма падений по ходу для этого
не годится, она телескопически равна разности концов. Кольца
полигона не разворачиваются: там порядок различает внешнее и
внутреннее.
5.7.3
- У 2.23 появился отбор по зоне зарождения: остаются только трассы, у
которых есть участок круче заданного угла и не короче заданной
длины. Так ищут сход лавины: она срывается там, где склон держит
крутизну на протяжении, а не в одной ячейке. Длина найденного
участка пишется в поле steep_m, отброшенные считаются в журнал.
- Пороги крутизны задаются в градусах, а не отношением: лавинные и
геотехнические критерии пишут в градусах, и растр уклона у
топографа тоже в градусах.
5.7.2
- У 2.23 появилась остановка на выполаживании: трасса обрывается там,
где поток теряет силу, у подножия склона, на террасе, на пойме.
Задаётся порогом уклона и длиной пологого участка. Уклон меряется
осреднённо по последним метрам пути, поэтому короткая полка внутри
крутого склона пропускается, а настоящее выполаживание режет. Режется
по началу участка, причина пишется в поле reason.
5.7.1
- Исправлено падение 2.23 при включённом заполнении впадин:
«setting an array element with a sequence». Заполнение отдаёт тройку
из грида, числа поднятых ячеек и величины подъёма, а бралось целиком
за грид. Теперь тройка разбирается, а поднятые ячейки и подъём идут
в журнал, как в остальных инструментах рельефа. На это поставлен
сторож по всему пакету.
5.7.0
- Новый инструмент 2.23 «Линии стока от точек, линий и контуров».
От каждой стартовой ячейки идёт ход вниз по склону по направлениям
D8 и рисуется линией. Стартом служит любая геометрия: точка даёт
одну ячейку, линия ячейки под собой, полигон все ячейки внутри
контура. Отвечает на вопрос, куда пойдёт вода с отвала или
площадки.
- Трасса обрывается на стоке, на краю листа, на приёмнике или при
слиянии с уже пройденной, и причина пишется в поле reason.
Приёмник задаётся слоем водоёмов и водотоков и порогом накопления,
оба способа складываются.
- Обрыв при слиянии собирает трассы в дерево: без него площадной
источник в тысячу ячеек даёт тысячу копий одного русла.
- В выходе длина пути, перепад, средний уклон, отметки концов, число
ячеек и поля исходного объекта по выбору. Трасса D8 идёт лесенкой,
для чертежа есть сглаживание.
5.6.71
- В описание плагина для каталога и в оба README добавлены ссылки на
Isoliner3D и Topoliner: показ поверхностей и тел в 3D-сцене и
чистка топологии контуров перед интерполяцией.
5.6.70
- Выбор источника отметок в 2.22 убран, а вместо него инструмент
считает расхождение и пишет о нём в журнал: сколько проб сравнил,
медиану и наибольшее расхождение. На присланных данных выходит
сравнений 7, медиана 4.58 м, наибольшее 9.15 м. Причина обычно либо
обрезки изолиний у самого контура, либо разные объекты на одной
линии: точки описывают полотно, горизонтали землю вокруг.
- Слой немых линий стал необязательным и по умолчанию не создаётся.
5.6.69
- У 2.22 появился выбор источника отметок: горизонтали и точки, только
горизонтали, только точки высот. У врезанной дороги высотные отметки
лежат на том же контуре, что и пересечения с горизонталями, но ниже
на метры: точки описывают полотно, горизонтали землю вокруг. Смесь
двух источников давала на живых данных скачок между соседними
вершинами до 6 м против 1.9 м по одним точкам.
- Умолчание прежнее, оба источника. Выбранный источник пишется в
журнал.
5.6.68
- Убран выход «Морфостворы»: он повторял профиль из общего слоя
чертежа, где тот лежит с полем kind равным profile и со всеми
характеристиками участка в атрибутах.
5.6.67
- Исправлено падение 6.01 на втором створе: «float() argument must be
a string or a real number, not tuple». Выбор наивысшего расчётного
уровня для подвала клал кортеж в переменную с именем top, а это имя
занято верхней отметкой профиля. Локальная переменная переименована,
имя охраняется тестом.
- Предупреждение при неположительном уклоне: расход по Маннингу
выходит нулевым. При счёте по цепочке створов это означает, что
отметки дна вверх по течению ниже, чем вниз.
Более ранние версии: файл CHANGELOG.md в репозитории,
https://github.com/Valery35/qgis-isoliner/blob/main/CHANGELOG.md

yes

valery

2026-08-30T18:53:41.589372+00:00

3.16.0

4.99.0

no

Version management

Plugin details