[general]
name=Isoliner - грид и изолинии
qgisMinimumVersion=3.16
qgisMaximumVersion=4.99
description=2D kriging (GSLIB KB2D) and isoline / contour-polygon generation in QGIS. Кригинг 2D (GSLIB KB2D) и построение изолиний/контурных полигонов в QGIS.
about=A Processing toolset for point-data interpolation and isolines: 2D kriging (points to raster, GSLIB KB2D core), experimental variogram with model fitting, leave-one-out cross-validation, optional trend removal (regression kriging), isolines and contour polygons whose boundaries coincide with the lines, reusable processing profiles, and a sample-data generator. Suitable for roof elevations, thicknesses, geomechanical properties, chemistry and any numeric attribute. Bilingual (EN/RU) user manual (PDF) is bundled, opened by the language of the QGIS interface. Developed with the support of Inform++ LLC (www.informpp.ru).
    .
    Группа команд Processing для интерполяции точечных данных и построения изолиний: 2D Kriging (точки в растр, ядро GSLIB KB2D), экспериментальная вариограмма с подбором модели, кросс-валидация (leave-one-out), опциональное снятие тренда (регрессия-кригинг), изолинии и контурные полигоны с совпадающими границами, профили обработки и генератор учебных данных. Подходит для отметок пласта, мощностей, ФМС, химии и любых числовых атрибутов. Двуязычное руководство пользователя (PDF, EN/RU) в комплекте, открывается по языку интерфейса QGIS. Разработано при поддержке ООО «Информ++» (www.informpp.ru).
version=2.6.1
author=ООО «Информ++»
email=xbbster@gmail.com
homepage=https://github.com/Valery35/qgis-isoliner
tracker=https://github.com/Valery35/qgis-isoliner/issues
repository=https://github.com/Valery35/qgis-isoliner
tags=kriging,geostatistics,variogram,interpolation,contour,contours,isolines,cross-validation,geology,gslib,raster
category=Analysis
icon=icon.svg
experimental=False
deprecated=False
hasProcessingProvider=yes
changelog=2.6.1
    - Группы инструментов пронумерованы: «1. Грид и изолинии» и
      «2. Дополнительные инструменты». Так порядок групп в дереве Processing
      одинаков в русской и английской локалях (раньше группы сортировались
      по алфавиту имени и на разных языках шли в разном порядке).
    - В руководство добавлены иллюстрации (RU и EN): окно инструмента «Кригинг
      с внешним дрейфом», обновлённое дерево инструментов с нумерацией групп и
      сравнение обычного кригинга с кригингом по внешнему дрейфу.
    2.6.0
    - Новый инструмент «Кригинг с внешним дрейфом (External Drift)»
      (группа «Дополнительные инструменты»). Оценка по точкам, когда поле
      закономерно связано со сторонней величиной, известной всюду в виде
      растра: структурная поверхность соседнего пласта, грубая региональная
      модель, сейсмический атрибут. Дрейф снимается регрессией значения на
      растр, кригуются остатки, дрейф возвращается к оценке из того же растра.
      Та же схема регрессия-кригинг, что и у снятия полиномиального тренда,
      только дрейф здесь не функция координат, а функция внешнего значения.
      Степень дрейфа 1 (линейный) или 2 (квадратичный); поиск, анизотропия,
      обрезка и стандартная ошибка - как у «2D Kriging». Ячейки вне покрытия
      растра дрейфа остаются пустыми. Растр дрейфа и точки в одной CRS.
    - Составная нумерация инструментов по группам: «Грид и изолинии» 1.1-1.7,
      «Дополнительные инструменты» 2.1-2.3. Прежняя сквозная нумерация 1-10
      сортировалась как строки, и «10» вставал перед «8» и «9». Номер теперь
      сразу показывает группу.
    - Демо-генератор скважин умеет выдавать поверхность дрейфа (отдельный растр)
      и связанное с ней поле dz - готовая пара для проверки кригинга с внешним
      дрейфом.
    2.5.0
    - Новый инструмент «Гидравлический градиент и направление потока»
      (гидрогеология). По растру напора строит гидравлический градиент i = |∇h|
      (безразмерный, м/м), азимут направления потока (компасный, вниз по
      градиенту) и точечный слой векторов потока, который автоматически
      оформляется стрелками (пресет flow_arrows.qml: поворот по азимуту,
      размер по градиенту).
      Это геометрия поля напора без проницаемости: скорость по Дарси (минус K
      на градиент) требует коэффициента фильтрации и здесь не считается.
      Опционально сглаживание напора перед расчётом (градиент усиливает шум).
    - Демо-генератор скважин: опция добавить поле напора (head) с региональным
      уклоном - сквозной учебный цикл «демо → кригинг напора → градиент потока».
    - Инструменты разнесены по двум группам Processing: «Грид и изолинии»
      (основной поток) и «Дополнительные инструменты» (категориальный
      индикаторный кригинг и гидравлический градиент).
    2.4.0
    - В инструменте «2D Kriging» появился блочный кригинг (галка «Блочный
      кригинг» и поле «Дискретизация блока, N×N на ячейку», по умолчанию 4×4).
      Оценивается среднее по ячейке грида, а не значение в её центре: ячейка
      разбивается на N×N точек дискретизации, правые ковариации усредняются
      по блоку, дисперсионный член - блок-блок ковариация (схема GSLIB KB2D).
      Поверхность глаже, стандартная ошибка кригинга ниже точечной - подходит
      для оценки запасов и содержаний по блоку. Пробы в узлах при этом не
      воспроизводятся точно. По умолчанию выключено: обычный точечный кригинг.
    - Снятие тренда и блочный кригинг работают вместе: кригуются остатки по
      блоку, тренд добавляется обратно к оценке.
    2.3.0
    - Новый инструмент «Категориальный индикаторный кригинг». По категориальному
      полю (минтип, литотип, класс) строит на каждый класс индикатор 0/1,
      кригует ядром KB2D, нормирует вероятности к сумме 1. Выход: многополосный
      растр вероятностей (полоса на класс), карта зон (самый вероятный класс) и
      растр уверенности. Кодом класса не кригует, у категорий нет порядка.
    - Демо-генератор скважин: опция добавить категориальное поле минтипа
      (фон сильвинита с очагами замещения) для обучения и проверки нового
      инструмента.
    2.2.0
    - Инструмент «Изолинии из растра»: выбор «Стиль изолиний» с двумя
      встроенными пресетами (папка styles) - структурный (по умолчанию) и
      депрессионный со штрихами вниз. Стиль накладывается на слой
      автоматически.
    - Депрессионный стиль сам включает расчёт стороны склона: линии получают
      поле dn_sign сэмплированием исходного растра по обе стороны линии, и по
      нему штрихи на главных изолиниях ложатся в сторону склона вниз.
      Отдельной галки нет, всё решает выбор стиля.
    - Выбор языка интерфейса: русский только при русской локали QGIS,
      английский для всех остальных локалей и при неопределённой локали.
      Раньше английский включался лишь при ровно английской локали, а прочие
      языки получали русский.
    2.1.1
    - Тихие удобства. Выбранный профиль обработки запоминается между
      сессиями и подставляется при следующем открытии «2D Kriging» и
      «Кросс-валидации».
    - Параметры запуска сохраняются только при успешном завершении, поэтому
      ошибочный или прерванный запуск больше не затирает рабочие значения.
    - Предупреждения о плохой кондиционности данных в Журнал: мало точек,
      совпадающие координаты (риск вырожденной матрицы), одинаковые значения.
      Расчёт при этом не останавливается.
    2.1.0
    - Снятие тренда (регрессия-кригинг) в «2D Kriging» и «Кросс-валидации»:
      галка «Снять полиномиальный тренд» и поле «Степень тренда» (плоскость
      или квадратичная). Региональный тренд снимается методом наименьших
      квадратов перед кригингом, кригуются остатки, тренд возвращается к
      оценке. Полезно для отметок пласта и мощностей с общим падением в
      пределах участка; вариограмму после снятия тренда задают по остаткам.
      В кросс-валидации тренд переподбирается на каждом шаге leave-one-out,
      поэтому выигрыш виден прямо по RMSE. По умолчанию выключено.
    - «Вариограммная карта»: поле «Записать анизотропию в профиль». Оценённые
      азимут, коэффициент анизотропии и радиус главной оси дописываются в
      выбранный профиль поверх модели и наггета. При загрузке профиля в
      «2D Kriging» они подставляются и показываются в подписи. Если радиус
      упёрся в макс. лаг, обновляются только азимут и коэффициент.
    - Руководство дополнено разделами про снятие тренда и запись анизотропии
      в профиль; PDF (RU и EN) пересобраны.
    2.0.0
    - Полное двуязычие плагина (русский/английский): язык интерфейса
      определяется по локали QGIS. Переведены меню, диалоги, варианты
      выпадающих списков, подсказки и панели справки.
    - Переведены логи, предупреждения, исключения и HTML-отчёты
      (кросс-валидация, вариограмма, вариограммная карта), имена
      выходных слоёв и псевдонимы полей слоя остатков.
    - Двуязычное руководство пользователя: Isoliner.pdf (RU) и
      Isoliner_en.pdf (EN). Кнопка «Справка» открывает PDF по языку
      интерфейса.
    - Движок переводов - словарный слой i18n с тестами покрытия
      и импорта.
    1.9.1
    - Изолинии: бикубическое сглаживание (сгущение грида ×2..×4 перед
      контурингом, по умолчанию выкл.) - гладкие изолинии без
      «октагонов» от грубой сетки. Чистый NumPy, совместимо с QGIS 4.
      Работает и для линий, и для контурных полигонов; границы поясов
      совпадают с изолиниями.
    - Полигонизация поясов переведена на прямые вызовы GEOS
      (unaryUnion + polygonize) вместо native:splitwithlines, который
      на густой сети терял часть граней (покрытие падало вдвое).
    1.9.0
    - Новый инструмент «Вариограммная карта (анизотропия)»: поверхность
      гамма(h_x, h_y) - хитмап с эллипсом анизотропии; оценка азимута главной
      оси, коэффициента анизотропии и радиуса для подстановки в кригинг.
      Если радиус упирается в макс. лаг (гамма не вышла на полку) - в
      Журнале и отчёте предупреждение, что это нижняя оценка.
    1.8.3
    - Совместимость с QGIS 4 (qgisMaximumVersion=4.99); проверено в 4.0.
    - Гауссова модель вариограммы: принудительный минимальный наггет для
      численной устойчивости (убирает осцилляции и отрицательные веса).
    - Полигоны: устойчивое построение в QGIS 4 / GEOS 3.14 - концы открытых
      изолиний продлеваются за контур (овершут), стык нодируется чисто;
      убраны дыры в поясах.
    - Руководство: уточнены формулировки (полувариограмма, радиус, выбор
      модели, режим под тип данных, ураганные пробы, кросс-валидация).
    1.8.2
    - Двуязычное описание плагина (английский и русский) в каталоге QGIS
      и английский README для международной аудитории.
    1.8.1
    - В справку каждого инструмента добавлена ссылка на страницу плагина
      на сайте www.informpp.ru.
    1.8.0
    - Профили обработки: именованные наборы «вариограмма (наггет, тип, порог,
      радиус, азимут, оси) + отсев ураганных проб», хранятся глобально, между
      проектами. «Вариограмма» и «Кросс-валидация» получили поле «Сохранить
      профиль под именем» и «Загрузить профиль обработки», «2D Kriging» -
      «Загрузить профиль обработки» (подставляет профиль поверх полей).
      Прежняя галка «Подставить последнюю рекомендованную модель» убрана.
    - Новый шестой инструмент «Профили обработки»: показать список, сохранить
      вручную, удалить, очистить.
    - Под списком профиля показываются его параметры строкой ниже, а в
      «2D Kriging» и «Кросс-валидации» - напоминание, что расчёт пойдёт по
      профилю, а не по полям диалога (как живой показ размера грида; на QGIS
      без старого API виджетов - обычный список).
    - Структуры 2 и 3 вариограммы убраны (использовались редко) - осталась
      одна структура с азимутом и анизотропией.
    - Порядок параметров везде единый: сначала вариограмма, отсев ураганных
      проб - в самом конце.
    - Формулировка: «изотропная» вместо «всенаправленная» экспериментальная
      вариограмма.
    1.7.4
    - «2D Kriging»: галка «Подставить последнюю рекомендованную модель»
      перенесена из «Дополнительно» в основные параметры - её видно сразу,
      без разворачивания дополнительного раздела. Поведение прежнее:
      подобранная в «Вариограмме» или «Кросс-валидации» модель подставляется
      при запуске, подстановка отмечается строкой в Журнале.
    - Руководство: добавлена таблица всех параметров инструмента
      «Вариограмма» и описание полей выходной таблицы (series, lag, gamma,
      npairs). PDF пересобран. Изменений в расчётах нет.
    1.7.3
    - Номер версии модуля теперь виден в трёх местах: строкой «Isoliner
      X.Y.Z» в начале выполнения любого инструмента (Журнал), подвалом в
      HTML-отчётах (вариограмма и кросс-валидация) и в конце встроенной
      справки каждого инструмента. Версия читается из metadata.txt, отдельно
      нигде не дублируется.
    1.7.2
    - Руководство дополнено разделом про инструмент «Вариограмма
      (экспериментальная)»: зачем нужен предпросмотр, группировка по виду
      разведки, выбор максимального расстояния по выходу кривой на плато и
      рабочий цикл с кросс-валидацией. В раздел кросс-валидации добавлена
      поясняющая схема «оценка против факта». PDF пересобран. Изменений в
      коде нет.
    1.7.1
    - Инструменты пронумерованы в названиях (1-5), чтобы задать порядок в
      панели Processing (она сортирует по алфавиту имени): 1 Кригинг,
      2 Изолинии, 3 Вариограмма, 4 Кросс-валидация, 5 Демо-скважины.
    - «Вариограмма»: предупреждение, когда радиус подобранной модели
      достигает края окна (максимального расстояния) - кривая не вышла
      на плато, порог получен экстраполяцией, радиус считать нижней
      оценкой. Сообщение разведено по случаям: окно мало (увеличить),
      окно перешагивает тренд или безрудную зону (уменьшить).
    - «Вариограмма»: у поля максимального расстояния указаны единицы
      слоя, добавлено предупреждение, когда оно меньше типичного шага
      между точками (значение задаётся в метрах, не в километрах).
    - «Вариограмма»: минимум точек в группе - параметр в процентах от
      выборки (по умолчанию 2) с нижним полом 30 точек. Малочисленные
      группы пропускаются и перечисляются в журнале, общая кривая
      строится всегда.
    - Порог предупреждения о гауссовой модели с почти нулевым наггетом
      («бычьи глаза») сделан относительным (наггет менее 5 процентов от суммарного
      порога).
    - «Кросс-валидация»: рекомендация по MSDR теперь даёт точный приём -
      умножить (или разделить) наггет и вклады на MSDR, не трогая радиус
      и модель. Оценки не меняются, поправляется только карта ошибки.
    - Перенос модели в «2D Kriging»: «Вариограмма» и «Кросс-валидация»
      запоминают подобранную/проверенную модель, а в «2D Kriging»
      появилась галка «Подставить последнюю рекомендованную модель»
      (по умолчанию выключена) - числа подставляются осознанно, после
      просмотра отчёта, а не вслепую.
    - «Вариограмма»: в описании - «всенаправленная» вместо кальки
      «омнинаправленная».
    1.7.0
    - Новый инструмент «Вариограмма (экспериментальная)»: строит
      экспериментальную вариограмму по точкам и выдаёт HTML-отчёт с
      графиком. Поверх облака накладывается текущая модель, по желанию
      рассчитывается рекомендованная модель (наггет, порог, ранг) на
      чистом numpy, без сторонних зависимостей. Есть поле группировки
      (напр. вид разведки) - на каждое значение строится отдельная
      вариограмма, чтобы увидеть, общая ли структура у поверхностной и
      подземной сети при разной плотности наблюдений. Подбор не
      применяет декластеризацию, поэтому смещение по плотности отбора
      остаётся видимым, а не замаскированным. Рекомендованные числа
      переносятся в «2D Kriging» вручную.
    1.6.0
    - Гауссово сглаживание поля перенесено из «Изолинии из растра» в
      «2D Kriging»: опция «Сгладить грид (Гаусс)», по умолчанию выключена.
      Изолинии строятся ровно по видимому растру, без скрытого сужения
      диапазона уровней. Скругление линий (Chaikin) осталось в изолиниях
      отдельной опцией.
    - Руководство переработано: темы каждого инструмента собраны в его
      подразделы (вариограмма, отсев, стандартная ошибка - под 2D Kriging;
      сглаживание, полигоны, оформление, типичные ситуации - под Изолинии).
      Заголовки переведены на автоматическую нумерацию, оформление выверено.
    1.5.1
    - Руководство: разделы переставлены по порядку инструментов модуля
      (2D Kriging и его темы -> Изолинии и его темы -> Кросс-валидация ->
      Демо -> Типичные ситуации). Добавлены скриншоты окон всех четырёх
      инструментов и панели «Обработка».
    1.5.0
    - Отчёт кросс-валидации: QQ-график ошибок (по форме - z-оценка, для
      проверки нормальности и поиска второй популяции), дисперсия данных
      в таблице метрик, номера скважин в подсказках на графике
      «оценка vs факт», подписи восьми худших остатков.
    - Руководство дополнено схемами для новичков: процесс (точки → грид →
      изолинии), веса кригинга, радиус поиска, наггет крупным планом,
      анизотропия, отсев проб (до/после). Карта стандартной ошибки -
      на сгенерированном примере. В отчёт добавлен блок «Параметры
      кригинга» (только отличные от стандартных). Обновлён README.
    1.4.2
    - Обновлено руководство пользователя (формулировки) и README.
    1.4.1
    - Обновлён контактный email сопровождающего.
    1.4.0
    - Новый инструмент «Создать пример скважин (демо)»: генерация учебного
      точечного слоя с полями кровли (абс. отметка), мощности и содержания
      абстрактного компонента, имеющими пространственную структуру (диапазоны
      кровли/мощности - по образцу пласта КрII). Для обучения и проверки без
      реальных данных. Псевдонимы на демо-слое не ставятся, чтобы не было
      предупреждений при подаче слоя в кригинг/кросс-валидацию.
    1.3.0
    - Кросс-валидация: необязательный HTML-отчёт (по умолчанию) -
      интерактивный график «оценка vs факт» + гистограмма ошибок и
      таблица метрик (plotly); без plotly - отчёт с метриками текстом.
    - Кросс-валидация: в отчёт и Журнал добавлен блок рекомендаций
      (авто-интерпретация ME/MSDR/R: утвердить параметры или как
      поправить наггет/силл/радиус).
    - Кригинг и кросс-валидация: в Журнал выводится дисперсия данных
      как ориентир для силла (наггет/силл - в абсолютных единицах).
    1.2.0
    - Кросс-валидация: добавлена кнопка «Справка» в окно инструмента.
    - Кросс-валидация: необязательное «поле номера скважины» переносится
      в слой остатков; колонка факта названа по проверяемому полю.
    - Слой остатков: поле std_error переименовано в std_resid
      (стандартизованный остаток со знаком; это не дисперсия).
    - Слой остатков: у полей заданы псевдонимы (понятные названия), слой
      автоматически называется по проверяемому полю и источнику.
    1.1.0
    - Новый инструмент «Кросс-валидация вариограммы» (leave-one-out):
      метрики ME/MAE/RMSE/MSDR/R и слой остатков для подбора вариограммы.
    - Руководство дополнено разделом о кросс-валидации.
    1.0.0
    - Первый стабильный релиз (снят флаг experimental).
    - Сводно с 0.6.x-0.7.x: стандартная ошибка кригинга; отсев/срезка
      ураганных проб; журнал пропусков; руководство (PDF) и кнопка «Справка»;
      слой изолиний над полигонами; исправлена степенная модель; smoke-тесты.
    0.7.2
    - Отсев/срезка ураганных проб в 2D Kriging: границы значения Z по
      абсолюту (мин/макс) или перцентилю; режимы «удалить» и «срезать»
      (capping). В «Дополнительно».
    0.7.1
    - В журнал выводится число точек, пропущенных без значения поля
      (точки с пустым/нечисловым Z в кригинг не попадают - это уже так).
    0.7.0
    - 2D Kriging: необязательный выход «Стандартная ошибка кригинга»
      (sqrt дисперсии ошибки) - карта неопределённости оценки.
    0.6.5
    - Метаданные для публикации в репозитории QGIS (ссылки на GitHub).
    0.6.4
    - Обновлено руководство; оглавление в PDF пересчитывается автоматически.
    0.6.3
    - Исправлена степенная модель вариограммы: «радиус a» трактуется как
      показатель ω (0<ω<2), авто=max/3 к ней больше не применяется.
    - Предупреждения (pushWarning) для сомнительных параметров вариограммы.
    - Слияние совпадающих точек - относительно охвата (корректно для любых CRS).
    - Добавлен smoke-тест движка kb2d (tests/).
    0.6.2
    - Обновлён текст руководства пользователя (PDF).
    0.6.1
    - ИСПРАВЛЕНО: слой изолиний мог не появляться из-за переупорядочивания
      слоёв. Теперь переставляется только слой полигонов (под линии),
      отложенно и безопасно - узел линий не трогается.
    0.6.0
    - Руководство пользователя (PDF) в комплекте; кнопка «Справка» в обоих
      инструментах открывает его. Слой изолиний теперь над полигонами.
    0.5.3
    - Документация: заметка про обновление и перезагрузку без перезапуска
      QGIS (в т.ч. через Plugin Reloader).
    0.5.2
    - Вернул лёгкое скругление линий (Chaikin) поверх сглаженного поля -
      убирает «октагоны» от грубого грида, пересечений не создаёт.
      Отдельный параметр «Скругление линий, итераций».
    0.5.1
    - Сглаживание перенесено на уровень поля (гауссово, радиус в ячейках)
      вместо сглаживания отдельных линий: изолинии больше не пересекаются
      в густых местах и плавны на углах.
    0.5.0
    - Контурные полигоны строятся по умолчанию (во временный слой).
    - Запоминание выбранного поля Z между запусками.
    - Иконка плагина; чистка кода; расширенный README.
    0.4.4
    - Обрезка по контуру скважин без native:minimumboundinggeometry
      (dissolve + convexhull) - работает в QGIS 3.40.
    0.4.3
    - Линии и пояса из одного набора линий; границы совпадают и по краям;
      нодирование через splitwithlines.
    0.4.2
    - Переименование в Isoliner; полигоны = пояса между изолиниями (без дыр,
      без «ступенек»), диапазон пояса - выборкой растра.
