Skip to content

Valery35/qgis-isoliner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Isoliner - грид и изолинии (QGIS)

English · Русский

Install in QGIS Страница плагина

Плагин-провайдер Processing для интерполяции точечных данных и построения изолиний. Инструменты разнесены по четырём группам Processing - «Грид и изолинии», «Дополнительные инструменты анализа», «Разрез» и «Пласт и блочная модель», всего тридцать девять:

Isoliner развивается на задачах реальных предприятий. Нужна функция под ваше производство - напишите нам: страница «Предприятиям».

Нашли ошибку или есть предложение? Откройте Issue и укажите версию QGIS, что делали, и приложите данные или проект для воспроизведения - так баг легче повторить и быстрее исправить.

Группа «Грид и изолинии»

  • 1.1 2D Kriging (точки → растр) - ординарный/простой кригинг по точечному слою, точечный или блочный, со снятием тренда и опциональным логарифмированием (для лог-нормальных K, T). Ядро - GSLIB KB2D.
  • 1.2 Изолинии из растра - изолинии (линии) и контурные полигоны (пояса между изолиниями), границы которых совпадают с линиями.
  • 1.3 Вариограмма (экспериментальная) - изотропная экспериментальная вариограмма по точкам с подбором модели (наггет, порог, радиус) и HTML-отчётом. Помогает задать вариограмму по виду облака, а не на глаз.
  • 1.4 Вариограммная карта (анизотропия) - поверхность γ(h_x, h_y): анизотропия видна как эллипс. Оценивает азимут главной оси, коэффициент анизотропии и радиус для подстановки в кригинг.
  • 1.5 Кросс-валидация вариограммы - скользящий контроль (leave-one-out): проверка и подбор параметров кригинга по ошибке, а не на глаз.
  • 1.7 Создать пример скважин (демо) - генерация учебного точечного слоя с кровлей, мощностью и содержанием. Добавляет поля для смежных инструментов: напор, категориальный минтип, а отдельным выводом - поверхность дрейфа (растр) с полем dz.
  • 1.6 Профили обработки - именованные наборы «вариограмма (Структура 1) + отсев ураганных проб», которые сохраняют «Вариограмма» и «Кросс-валидация», а подставляет «2D Kriging». Глобальное хранилище, управление списком.

Группа «Дополнительные инструменты анализа»

  • 2.01 Категориальный индикаторный кригинг - по категориальному полю (минтип, литотип) строит на каждый класс индикатор 0/1, кригует ядром KB2D и нормирует вероятности. Выход: многополосный растр вероятностей, карта зон и растр уверенности.
  • 2.02 Кригинг с внешним дрейфом (External Drift) - оценка по точкам, когда поле связано со сторонней величиной, известной всюду в виде растра (структурная поверхность соседнего пласта, грубая модель, сейсмический атрибут). Дрейф снимается регрессией, кригуются остатки, дрейф возвращается из растра. Та же схема регрессия-кригинг, что и снятие тренда, только дрейф здесь не функция координат, а функция внешнего значения.
  • 2.03 Карта вероятности превышения - по растрам оценки и стандартной ошибки кригинга строит P(Z>порог) = Φ((оценка−порог)/ошибка) при нормальном локальном распределении. Постпроцессор, своего кригинга не делает. Бортовые содержания, зоны риска.
  • 2.04 Гидравлический градиент и направление потока - по растру напора строит гидравлический градиент |∇h|, азимут направления потока (вниз по градиенту) и точечный слой векторов потока (оформляется стрелками автоматически). Гидрогеология без проницаемости (с проницаемостью - 2.5).
  • 2.05 Удельный расход (закон Дарси) - по растру напора и растрам свойств пласта (K, T) считает скорость фильтрации q = K·|∇h| (м/сут) и расход через ширину Q = T·|∇h| (м²/сут). Постпроцессор, своего кригинга не делает (растры K и T - лог-кригингом).
  • 2.06 Гауссова симуляция (SGS) - последовательная гауссова симуляция: ансамбль равновероятных реализаций вместо одной сглаженной оценки. Среднее (E-type), стандартное отклонение, квантили P10/P50/P90 и карта вероятности превышения - то есть неопределённость, а не только среднее. Чистый NumPy поверх ядра кригинга.
  • 2.07 Фрактальная размерность - карта D = 3 - H вариограммным методом в скользящем окне; гладкое к 2, изрезанное к 3, перепады подчёркивают нарушения и границы блоков.
  • 2.08 Box-counting маски - одна размерность D на бинарную маску (порог по растру); контуры замещения и выработок сравниваются числом.
  • 2.09 Размерность линий и границ - D каждой линии методом циркуля; диагностика пересглаживания изолиний.
  • 2.10 Размерность Минковского (векторы) - box-counting прямо по линиям и границам полигонов, без растеризации; D_mink каждому объекту и D слоя целиком (размерность речной сети).
  • 2.11 Создать пример для фракталов (демо) - речная сеть с порядками притоков, водосбор с изрезанной границей и береговая линия.

Группа «Разрез»

  • 3.01 Разрез по линии - по линии и упорядоченному сверху вниз набору поверхностей строит геологический разрез: пласты как полосы между соседними поверхностями. Два выхода - чертёж расстояние×высота (для макета) и 3D-забор PolygonZ (для 3D Map View). Несколько пластов сразу.
  • 3.02 Скважины на разрезе - проецирует скважины на линию разреза и рисует их колонками интервалов пластов поверх чертежа. Границы пластов из выбранных полей-отметок, отсев дальних коридором, подпись номером скважины.
  • 3.03 Состав пласта на разрезе - красит полосу пласта по гриду состава вдоль линии. Непрерывное содержание (KCl, HO) режется на срезы под градиент, категориальный минтип сливается в фациальные зоны (видны зоны замещения). По одному пласту за раз, выходы 2D и 3D.
  • 3.04 Пересечение поверхностей с разрезом - наносит поверхности-гриды на разрез линиями (водоносные горизонты, маркирующие поверхности, аномалии). Линия и vex из определения разреза.
  • 3.05 Пересечение векторов с разрезом - линии и полигоны на разрез по точному пересечению: линия без Z - вертикаль на всю высоту, линия с Z - точка на отметке, полигон - полоса на интервале зоны.
  • 3.06 Пересечение TIN с разрезом - режет разрезом поверхность из 3D-граней (PolygonZ) и/или меш. В отличие от грида берёт нависающее и опрокинутое: над одной станцией несколько отметок, трасса заворачивается.
  • 3.07 Проекция объектов на разрез (бета) - проецирует точки, линии и полигоны на линию разреза (отметка из 3D или из поля), отсев коридором. Обобщение проекции скважин.
  • 3.08 Спроецировать с разреза (бета) - обратная проекция: объекты, нарисованные на чертеже, возвращает в реальные координаты с отметкой Z.
  • 3.09 Развёртка стенки ствола (бета) - цилиндрический разрез: окружность вокруг оси с угловым шагом, поверхности дают линии пересечения со стенкой в осях дуга-высота.
  • 3.10 Создать пример для разреза - шесть стопкой поверхностей (пять пластов: три вмещающих и два промышленных), линия и скважины вдоль неё (поля отметок h1...h6), чтобы сразу попробовать разрез и скважины на разрез без кригинга.
  • 4.04 Поверхности в 3D (меши) - гриды поверхностей в mesh-слои 2DM для штатного 3D-вида QGIS (растровый террейн в сцене один, мешей сколько угодно), с вертикальным преобразованием Z (масштаб и смещение) и прореживанием узлов.
  • 4.05 Домены в канал пласта - полигоны зон в канал domain грида: подсчёт и фильтрация по доменам.
  • 4.06 Разность запасов (списание) - разность двух блочных моделей, сумма delta = списанный тоннаж.
  • 4.01 Собрать грид пласта - многоканальный грид по конвенции (кровля, подошва, параметры) из отдельных растров; входы приводятся к сетке кровли, имена каналов пишутся в описания.
  • 4.02 Калькулятор пласта - мощность, объём, тоннаж руды и металла, средневзвешенное содержание по гриду пласта; сводка по контуру, HTML-отчёт, каналы «мощность» и «запасы» дописываются в грид.
  • 4.03 Грид пласта в блочную модель - центроид на каждую ячейку с атрибутами top/bot/thick/vol/ore_t и всеми каналами параметров по именам; фильтры, join и калькулятор полей наращивают модель без пересоздания.

Подходит для отметок пласта, мощностей, ФМС, химии и любых числовых атрибутов.

Установка

Модули → Управление и установка модулей → Установить из ZIP, указать архив плагина. Инструменты появятся в панели Обработка (Processing): провайдер «Isoliner», группа «Грид и изолинии».

Требования: QGIS 3.16+. Используются только штатные алгоритмы Processing (GDAL/native), NumPy и GDAL из состава QGIS - внешних зависимостей нет.

Обновление и перезагрузка

Плагин корректно перезагружается «на лету», без перезапуска QGIS:

  • установка новой версии - тем же путём, Установить из ZIP поверх старой.
  • быстрая перезагрузка кода при разработке - модулем Plugin Reloader (кнопка «Reload a plugin…» на панели), выбрать «Isoliner». Провайдер Processing и все алгоритмы перерегистрируются сразу.

Отдельно чистить кэш или удалять папки не требуется.

Документация

Полное руководство по всем параметрам - в комплекте плагина: doc/Isoliner.pdf (RU) и doc/Isoliner_en.pdf (EN). Интерфейс двуязычный (RU/EN), язык определяется по локали QGIS; в диалоге каждого инструмента кнопка «Справка» открывает PDF по языку интерфейса. Правая панель показывает краткую подсказку. Руководство и история изменений доступны и из меню Модули - Isoliner (пункты О плагине и Руководство (PDF)).

Быстрый старт

  1. Вариограмма (экспериментальная) (необязательно, но полезно): подать точки и поле Z, подобрать модель (наггет, порог, радиус). Максимальное расстояние взять таким, чтобы кривая вышла на плато. Рекомендованную модель можно подставить в 2D Kriging галкой «Подставить последнюю рекомендованную модель».
  2. 2D Kriging: выбрать или создать из учебной генерации точечный слой и числовое поле Z → получить растр. Размер ячейки можно оставить 0 (авто). Чтобы убрать экстраполяцию за пределы скважин - включить «Обрезать по контуру скважин».
  3. Изолинии из растра: подать полученный растр, задать шаг или явные уровни. На выходе - линии и (по умолчанию) контурные полигоны.
  4. Кросс-валидация (необязательно, но полезно перед финальным гридом): подать те же точки и поле Z, задать вариограмму - в Журнале появятся метрики ME/RMSE/MSDR/R. Добейтесь MSDR ≈ 1 и перенесите параметры в 2D Kriging.

Параметры

2D Kriging

  • Тип кригинга - ординарный (OK) или простой (SK. Использует «Среднее»).
  • Радиус поиска (0 = вся выборка), мин./макс. число точек.
  • Размер ячейки (0 = min(охват)/50), с живым показом размера грида.
  • Охват - по умолчанию по слою.
  • Обрезка по контуру скважин - выпуклая оболочка всех точек (+ буфер), либо явный полигон-маска (приоритетнее оболочки).
  • Вариограмма (в «Дополнительно») - наггет + структура (сферическая/экспоненциальная/гауссова/степенная), азимут, анизотропия. Радиус корреляции 0 = max(охват)/3.
  • Сгладить грид (Гаусс) (по умолчанию выключено) - гауссово сглаживание выходного растра, радиус в ячейках. Сглаженный грид и есть выход кригинга.
  • Блочный кригинг (по умолчанию выключено) и Дискретизация блока, N×N на ячейку (по умолчанию 4) - оценка среднего по ячейке грида, а не значения в её центре. Ячейка разбивается на N×N точек дискретизации, ковариации усредняются по блоку (схема GSLIB KB2D). Поверхность глаже, стандартная ошибка ниже точечной - для оценки запасов и содержаний по блоку. Пробы в узлах при этом точно не воспроизводятся.
  • Загрузить профиль обработки - подставляет сохранённый профиль (наггет, структура вариограммы, отсев) поверх полей диалога. Список обновляется при открытии окна.

Изолинии из растра

  • Шаг изолиний или явные уровни (через пробел. Десятичный разделитель - запятая или точка). Уровни приоритетнее шага.
  • Главная изолиния каждая N-я - флаг is_index у утолщённых.
  • Мин. длина линии и скругление линий (Chaikin, итераций. Убирает «октагоны» от грубого грида).
  • Имя поля значения для линий (по умолчанию ELEV).
  • Контурные полигоны - строятся по умолчанию во временный слой. Чтобы их не строить, очистите это поле.

Вариограмма (экспериментальная)

  • Точки и поле значения Z. Необязательное поле группировки (напр. вид разведки) - своя кривая на каждое значение, удобно сравнить совокупности разной плотности.
  • Количество лагов и максимальное расстояние (в единицах слоя. 0 = пол-диагонали). Окно подбирают так, чтобы кривая вышла на плато.
  • Подобрать модель (рекомендация) - наггет, порог, радиус и модель на чистом numpy, без сторонних зависимостей. Наложить заданную модель - сравнить свою модель с облаком.
  • Минимум точек в группе (% от выборки, пол 30) - мелкие группы не рисуются. Отсев ураганных проб (в «Дополнительно») - как в кригинге.
  • HTML-отчёт с облаком, подобранной кривой и линией дисперсии данных.
  • Сохранить профиль под именем - сохранить подобранную (изотропную) модель и текущий отсев как профиль обработки для подстановки в 2D Kriging.

Кросс-валидация вариограммы

  • Точки и поле значения Z. Необязательное поле номера скважины (попадёт в слой остатков).
  • Вариограмма и поиск - те же параметры, что в 2D Kriging (тип кригинга, наггет, структура, радиус, число точек): что проверили здесь, то и переносится в кригинг «один в один».
  • Загрузить профиль обработки - подставить сохранённый профиль (наггет, структура, отсев) поверх полей. Список обновляется при открытии окна.
  • Отсев ураганных проб (в «Дополнительно») - как в кригинге.
  • Метрики в Журнал: ME (смещение, к 0), MAE, RMSE (меньше - лучше), MSDR (к 1 - вариограмма адекватна по масштабу), R.
  • Необязательный слой остатков (точки) с полями факта, оценки (z_est), ошибки (error/abs_error) и стандартизованного остатка std_resid - видно, где модель промахивается. Слой называется по проверяемому полю, у полей заданы понятные псевдонимы.
  • HTML-отчёт (по умолчанию) - интерактивный график «оценка vs факт» и гистограмма ошибок (plotly) с таблицей метрик. Открывается в просмотрщике результатов. Без plotly - отчёт с метриками текстом.
  • Сохранить профиль под именем - сохранить проверенную модель (с заданной анизотропией) и отсев как профиль обработки.

Создать пример скважин (демо)

  • Область (экстент) - по слою, по холсту карты, координатами или рисованием.
  • Количество скважин. минимум/максимум значения X. Диапазоны кровли и мощности (по умолчанию как у КрII).
  • Гладкость (доля охвата) - радиус корреляции (больше - крупнее «пятна»).
  • Доля наггета (от дисперсии) - короткомасштабный шум (меньше предсказуемость).
  • Поля для смежных инструментов: галки напор (head) (для градиента потока) и категориальный минтип (для индикаторного кригинга), а также вывод поверхности дрейфа - растр s и связанное поле dz для внешнего дрейфа.
  • В Журнал выводится стартовая вариограмма. Данные пригодны для кригинга/CV.

Профили обработки

  • Профиль - именованный набор «вариограмма (Структура 1: наггет, тип, порог, радиус, азимут, оси) + отсев ураганных проб». Хранится глобально в QgsSettings (между проектами).
  • Сохраняют профиль «Вариограмма» (изотропный автоподбор) и «Кросс-валидация» (с анизотропией). Подставляет «2D Kriging» полем Загрузить профиль.
  • Инструмент Профили обработки: действие Показать список / Сохранить вручную (по полям) / Удалить выбранный / Очистить все.
  • Выпадающие списки профилей обновляются при открытии окна инструмента.

Выходные данные и оформление

  • Грид (растр): основной результат кригинга в GeoTIFF - оценка Z по сетке. Необязательно строится Стандартная ошибка кригинга (sqrt дисперсии ошибки) - мера надёжности оценки: мала у скважин, растёт вдали от данных.
  • Линии: поле уровня (ELEV по умолчанию) + is_index (1 у главных). Удобно стилизовать: правилом по is_index дать главным линиям бóльшую толщину. Подпись - по полю уровня.
  • Полигоны: ELEV_MIN/ELEV_MAX - диапазон пояса. Создаются с одним символом. Для заливки по диапазонам задайте градуированную символику по ELEV_MIN (или ELEV_MAX). Границы поясов совпадают с изолиниями, покрытие сплошное (без дыр).
  • Слой изолиний автоматически помещается над слоем полигонов, чтобы линии были видны поверх заливки.

Сглаживание

Сглаживание поля - операция над гридом, поэтому оно вынесено в инструмент 2D Kriging (опция «Сгладить грид (Гаусс)», по умолчанию выключена, радиус в ячейках). Сглаженный растр и есть выход кригинга, и изолинии затем строятся ровно по нему - диапазон уровней соответствует видимому растру. Гауссово сглаживание непрерывного поля надёжнее, чем сглаживание каждой линии отдельно: контуры не пересекаются даже в густых местах и плавны на углах.

В инструменте Изолинии из растра остаётся лёгкое скругление линий (Chaikin, число итераций). На грубом гриде изолинии иначе выглядят «октагонами»: gdal:contour ставит вершины по краям ячеек. Если грид крупный - увеличьте итерации скругления или уменьшите размер ячейки в кригинге. Радиальные/веерные линии в пустых углах - это экстраполяция за пределы данных. Включите «Обрезать по контуру скважин» в кригинге (или задайте полигон-маску) - изолинии и полигоны ограничатся областью данных.

Как устроены полигоны

Полигоны строятся не классификацией «ступенек» растра, а полигонизацией самих сглаженных изолиний вместе с контуром валидной области растра: концы линий притягиваются к контуру (snap только концевых точек), сеть нодируется (splitwithlines) и полигонизуется. Диапазон уровней каждого пояса определяется выборкой растра в репрезентативной точке полигона. Поэтому границы полигонов совпадают с линиями в том числе у самого края.

Замечания

  • Автозначения: ячейка = min(охват)/50, радиус корреляции = max(охват)/3, радиус поиска = диагональ охвата (вся выборка).
  • Совпадающие точки (один XY = несколько проб) усредняются по Z. Матрица кригинга регуляризируется, при неустойчивости - запас по обратным расстояниям. В узлах значения воспроизводятся точно.
  • Кригинг считает весь прямоугольный охват - вне контура скважин это экстраполяция. Обрезка по контуру её убирает (и заодно ограничивает изолинии/полигоны областью данных).
  • Введённые значения параметров (включая выбранное поле Z) запоминаются между запусками.
  • Кросс-валидация вариограммы (leave-one-out): метрики ME/RMSE/MSDR/R и слой остатков - подбор наггета/радиуса/модели по ошибке, а не на глаз.
  • Отсев ураганных проб (в «Дополнительно»): границы значения Z по абсолюту или перцентилю, с режимом «удалить» либо «срезать» (capping).
  • Опциональный выход «Стандартная ошибка кригинга» (sqrt дисперсии ошибки) - карта неопределённости: мала у скважин, растёт вдали от данных.
  • Движок kb2d.py не зависит от QGIS. Smoke-тесты - в tests/ (python grid_isolines/tests/test_kb2d.py, без QGIS).

Встраивание в свой провайдер

from .grid_isolines.algorithms import ALGORITHMS
for cls in ALGORITHMS:
    self.addAlgorithm(cls())

Лицензия

Плагин распространяется под GNU GPL v2 или новее (GPL-2.0-or-later) - та же лицензия, что и у самого QGIS. Полный текст - в файле LICENSE. © ООО «Информ++» (www.informpp.ru).

История изменений

Полный список - в metadata.txt (поле changelog). Кратко:

  • 2.63.3 - исправлен сбой кригинга при отсутствующем поле Z (понятное сообщение вместо KeyError); в руководство добавлено приложение «Поля демо-слоёв».

  • 2.63.2 - адаптивные имена слоёв при генерации (1.11 по режиму, демо-скважины разреза отличаются от 1.10).

  • 2.63.1 - оседания (1.11) ограничены 2 м, единый знак на выбор, строгие нули по краям.

  • 2.63.0 - инструмент 1.11 расширен: режимы электроразведки (ρк пятном, ЕП, ВП, z, rho_true) и оседаний (мульда по турам). Аномалия теперь пятно, а не полоса.

  • 2.62.0 - новый инструмент 1.11 «Создать пример геофизических профилей (демо)»: профили электроразведки с пикетами, ρк (Ом·м) и ЕП (мВ), с низкоомной аномалией.

  • 2.61.0 - фрактальные инструменты вынесены в отдельную группу «5. Фрактальный анализ» (5.01-5.05), было в группе 2. Логика не менялась.

  • 2.60.0 - веса декластеризации теперь и в кросс-валидациях (1.07, 1.08 - взвешенные метрики) и в индикаторном кригинге (2.01 - индикатор к декластеризованной доле класса).

  • 2.59.0 - веса декластеризации (поле wt из 1.01) принимают вариограмма (1.05) и вариограммная карта (1.06): пары взвешиваются, скопления не раздувают ближние лаги.

  • 2.58.1 - группа 1 упорядочена и переведена на двузначную нумерацию (1.01…1.10) для правильной сортировки в тулбоксе.

  • 2.58.0 - новый инструмент 1.0 «Декластеризация (веса)» (порт GSLIB declus): веса от плотности данных и декластеризованное среднее; поле весов подаётся в SGS для взвешенной гистограммы.

  • 2.57.0 - отчёт кросс-валидации (1.5, 1.9): на графике оценка/факт добавлена линия регрессии Best Fit и её наклон/сдвиг/угол в метриках (индикатор смещения по диапазону).

  • 2.56.1 - из встроенной копии pyqtgraph убраны неиспользуемые подпакеты (console, flowchart, multiprocess, exporters, configfile), снимает предупреждения сканера безопасности.

  • 2.56.0 - новый инструмент 1.9 «Кросс-валидация метода (LOO)»: скользящий контроль для кригинга и минимальной кривизны, слой ошибок и HTML-отчёт.

  • 2.55.0 - новый инструмент 1.8 «Минимальная кривизна (точки → растр)»: гридирование бигармонией с натяжением, детерминированная альтернатива кригингу.

  • 2.54.0 - 4.07: свита грузится отдельными слоями по пласту (управление видимостью), складки положе; отдельный пример «Складчатый пласт» убран.

  • 2.53.0 - 4.07: свита из складчатых пластов, каждый отдельным объектом и своим цветом в 3D; адаптивные имена слоёв. 3D-просмотр: кадрирование учитывает преувеличенную высоту.

  • 2.52.0 - 3D-просмотр: контур сечения тел плоскостью разреза и скважины стволами-цилиндрами с окраской интервалов по литологии.

  • 2.51.0 - инструмент 4.07: новые примеры «Складчатый пласт» (фолд-трейн) и «Свита» (стопка пластов).

  • 2.50.1 - 3D-просмотр: исправлен сбой показа тел/поверхностей без плоскости разреза, опрос сцены кликом и выбор своего цвета на новых сборках pyqtgraph (QGIS 4).

  • 2.50.0 - инструмент 4.07: размещение из охвата (окна вида), параметры «Мощность» и «Отметка залегания», диапазон Z в журнал. 3D-просмотр: вкладка «Тела» показывает полигональные слои с Z как объёмные тела.

  • 2.49.0 - инструмент 4.07 «Создать пример полиэдра (бета)»: демо PolyhedralSurface Z / TIN Z (QGIS 3.40 и новее); запасной вывод MultiPolygon Z.

  • 2.48.5 - группа 4 вышла из беты; руководство: приложение «Уроки и самопроверка» с тестом списания.

  • 2.48.4 - плотность полем dens в блочной модели; списки каналов в 4.03 и 2.03.

  • 2.48.3 - фикс: параметр «Канал плотности» вернулся из 4.02 в 4.03.

  • 2.48.2 - фикс деления по вертикали в 4.03; плотность из канала грида.

  • 2.48.1 - домены: 4.05 контуры зон в канал грида, 4.06 разность запасов (списание).

  • 2.48.0 - 3D: след разреза на поверхностях; 4.03: деление колонки по вертикали (z_from/z_to).

  • 2.47.7 - фикс: плашка «Свой цвет» падала при первом клике на слое без параметров.

  • 2.47.6 - 3D: «Свой цвет» слоя с плашкой и выбором по клику.

  • 2.47.5 - 3D: подписи скважин прореживаются, тексты не налезают.

  • 2.47.4 - руководство: семь иллюстраций из статей в главах, починен блок во введении.

  • 2.47.3 - руководство: девять новых скриншотов по свежим главам.

  • 2.47.2 - руководство: глава 3D-просмотра переписана под текущий интерфейс, раздел «Предприятиям».

  • 2.47.1 - приглашение в справках ведёт на страницу «Предприятиям».

  • 2.47.0 - 2.10: K, сдвиги сетки, фактор уплотнения и D_r2 - качество аппроксимации каждому объекту.

  • 2.46.1 - терминология: «количество» вместо «число» в подписях счётных параметров.

  • 2.46.0 - группа 2 перенумерована в 2.01-2.11: порядок в панели инструментов.

  • 2.45.0 - выбор канала растра всюду выпадающими списками с именами каналов (14 параметров в девяти инструментах).

  • 2.44.0 - 2.10 размерность Минковского по векторам, 2.11 демо (реки, водосбор, берег); 2.9 принимает полигоны.

  • 2.43.0 - фрактальные инструменты 2.7-2.9 вышли из беты; главы руководства расширены рабочими циклами.

  • 2.42.1 - 2.7: одноканальный грид D по умолчанию, готов для изолиний размерности; H по галке.

  • 2.42.0 - фрактальная пара: 2.8 box-counting маски и 2.9 размерность линий методом циркуля.

  • 2.41.0 - новый инструмент 2.7 «Фрактальная размерность»: карта D и H вариограммным методом.

  • 2.40.2 - руководство: обзорная глава «Виды кригинга: какой выбрать» со шпаргалкой.

  • 2.40.1 - приглашение к заказной разработке в подвале справки инструментов.

  • 2.40.0 - порядок в инструментах: группа «4. Пласт и блочная модель» (4.01-4.04, бета), генераторы демо последними в группах; руководство перенумеровано.

  • 2.39.0 - новый инструмент 3.14 «Грид пласта в блочную модель»: центроиды с атрибутами, выгрузка по контуру.

  • 2.38.0 - 3D-просмотр: опрос блочной модели кликом - все каналы и мощность в точке, маркер попадания.

  • 2.37.0 - новый инструмент 3.13 «Калькулятор пласта»: мощность, объём, запасы руды и металла, сводка по контуру, HTML-отчёт.

  • 2.36.1 - 3D-просмотр: подписи скважин над мачтами.

  • 2.36.0 - 3D-просмотр: единое поле «Окраска» слоя (палитра / свой канал / внешний растр).

  • 2.35.1 - 3D-просмотр: исправлено падение кнопок «Все»/«Ничего».

  • 2.35.0 - 3D-просмотр: персональные параметры каждого слоя (режим, каналы, внешний атрибут), вкладки «Слои»/«Векторы».

  • 2.34.0 - новый инструмент 3.12 «Собрать грид пласта»; 3D-просмотр: фильтр набора слоёв, каналы выпадающими списками с именами.

  • 2.33.1 - руководство: таблицы атрибутов сгенерированных слоёв (демо 1.6 и 3.10, выходы 3.01).

  • 2.33.0 - руководство: главы про 3D-просмотр и 3.11, схема грида пласта, свежие скриншоты; PDF пересобраны.

  • 2.32.4 - 3D-просмотр: мачта над устьем скважины, штанга видна и внутри тел.

  • 2.32.3 - 3D-просмотр: исправлено падение плоскости разреза на QGIS 4 (asMultiPolyline).

  • 2.32.2 - 3.01: вершины ломаной включаются в пикетаж, изломы больше не срезаются хордой на профиле, полосах и 3D-заборе.

  • 2.32.1 - демо: разлом смещён с излома линии разреза (визуально путался с определением).

  • 2.32.1 - демо: разлом смещён с излома линии разреза.

  • 2.32.0 - 3D-просмотр: плоскость разреза из определения 3.01 вертикальной полупрозрачной лентой (zmin/zmax из полей).

  • 2.31.0 - 3D-просмотр: тело пласта красится собственным каналом параметра, внешний атрибут только для одноканальных поверхностей.

  • 2.30.0 - 3D-просмотр: режим «Тела пластов» - кровля и подошва из каналов 1 и 2 замыкаются юбкой в водонепроницаемое тело; шаг к каркасной и блочной моделям.

  • 2.29.1 - конвенция грида пласта: канал 1 кровля, 2 подошва, 3+ параметры; демо выдаёт четырёхканальные гриды пластов.

  • 2.29.0 - многоканальные гриды пластов: демо выдаёт трёхканальный грид на промпласт (кровля, содержание, минтип), 3.03/3.11/3D-просмотр получили выбор канала.

  • 2.28.0 - демо 3.10: независимый стохастический состав на каждый промышленный пласт; 3D-просмотр: легенда шкалы, прозрачность, виды «Сверху»/«Сбоку», снимок PNG.

  • 2.27.5 - релиз в основной канал, снят флаг experimental; функционально идентична 2.27.4.

  • 2.27.4 - бандл pyqtgraph/PyOpenGL зачищен под сканер (убраны console/flowchart/multiprocess/exporters, отключены .ui и pickle-restore), 3D-просмотр вернулся в публикуемый пакет.

  • 2.27.3 - без pyqtgraph/PyOpenGL пункт 3D-просмотра скрыт из меню, подсказка про pip убрана.

  • 2.27.2 - публикуемый ZIP без вложенных pyqtgraph/PyOpenGL (требование сканера plugins.qgis.org); ветка помечена экспериментальной.

  • 2.27.1 - 3D-просмотр: «Применить окраску к» - атрибут на одну поверхность или на все.

  • 2.27.0 - 3D-просмотр: окраска поверхностей атрибутным гридом (содержание, мощность, ошибка) по общей цветовой шкале.

  • 2.26.4 - меню: 3D-просмотр первым пунктом, пункт «Руководство (PDF)» убран (кнопка в «О плагине» осталась).

  • 2.26.3 - 3D-просмотр: устья скважин круглыми шариками вместо квадратных спрайтов.

  • 2.26.2 - 3D-просмотр: камера охватывает и поверхности, и скважины.

  • 2.26.1 - 3D-просмотр: пустой список скважин в QGIS 4 исправлен (Qgis.GeometryType с fallback).

  • 2.26.0 - 3D-просмотр: скважины вертикальными штангами по числовым полям отметок (h1...h6 отмечаются сами); 3.11 переосмыслен как экспорт в mesh-формат 2DM (MDAL).

  • 2.25.2 - 3D-просмотр: исправлено падение на Qt6 (QGIS 4), enum-имена Qt с fallback Qt5/Qt6.

  • 2.25.1 - pyqtgraph и PyOpenGL забандлены в плагин (libs), 3D-просмотр работает без pip; системные копии в приоритете.

  • 2.25.0 - собственный «3D-просмотр поверхностей (бета)» в меню «Модули - Isoliner» на pyqtgraph.opengl: горизонты цветными мешами, преувеличение и разнос по Z в окне, без зависимости от штатного 3D (Qt3D); нужны pyqtgraph и PyOpenGL.

  • 2.24.1 - 3.11: параметр «Разнос по Z», каждый следующий грид смещается на шаг вниз, стопка горизонтов раскрывается в этажерку.

  • 2.24.0 - новый инструмент «3.11 Поверхности в 3D (меши)»: гриды в mesh-слои 2DM для штатного 3D-вида QGIS, вертикальное преобразование Z (масштаб и смещение), прореживание узлов.

  • 2.23.0 - меню «Модули - Isoliner»: «О плагине» (версия, ссылки, история изменений из metadata.txt) и «Руководство (PDF)» по языку интерфейса.

  • 2.22.7 - руководство: номера панели в заголовках инструментов, снимки окон и таблицы полей для инструментов разреза (3.04-3.06, 3.10) и гауссовой симуляции (2.6); оба PDF (RU/EN) пересобраны.

  • 2.22.1 - демо-TIN переделана в реалистичную лежачую опрокинутую складку (была закрученная узкая лента).

  • 2.22.x - демо-TIN доведена до компактной гладкой лежачей опрокинутой складки по падению пластов (итерации формы и размера).

  • 2.22.0 - новый инструмент «3.06 Пересечение TIN с разрезом»: TIN из 3D-граней режется разрезом, опрокинутые складки воспроизводятся (грид так не умеет). Номера инструментов разреза стали двузначными (3.01-3.10); в демо добавлена опрокинутая TIN.

  • 2.21.2 - «3.5 Пересечение векторов» принимает список слоёв за один прогон; поле src хранит слой-источник.

  • 2.21.1 - «3.5 Пересечение векторов»: высота рамки теперь хранится в определении разреза (для 2D-объектов чертёж подавать не нужно); пустые выходы не создаются.

  • 2.21.0 - новый инструмент «3.5 Пересечение векторов с разрезом» (линии и полигоны на разрез по точному пересечению). Беты разреза сдвинуты на 3.6-3.8, демо на 3.9, в демо добавлены разлом, маркер с Z и зона.

  • 2.20.1 - восстановлена кнопка «Справка» в диалоге «2.06 Гауссова симуляция (SGS)».

  • 2.20.0 - новый инструмент «2.06 Гауссова симуляция (SGS)»: ансамбль равновероятных реализаций вместо одной сглаженной оценки. Среднее (E-type), стандартное отклонение, квантили P10/P50/P90 и карта вероятности превышения - неопределённость, а не только оценка. Вариограмма баллов подбирается автоматически, чистый NumPy поверх ядра кригинга. Подписи «Число …» переименованы в «Количество …».

  • 2.19.1 - подписи горизонтальных осей слева от линии (надёжная привязка).

  • 2.19.0 - «Скважины на разрезе» и «Состав пласта на разрезе» берут масштаб из определения разреза (совпадение по вертикали); переименования «...на разрезе»; 3.5-3.7 помечены «(бета)»; схема в руководстве.

  • 2.18.6 - подписи горизонтальных осей слева от линии.

  • 2.18.5 - таблица углов: ячейки между угловыми точками (границы под вертикалями), строки длина и азимут отрезка, белая заливка.

  • 2.18.4 - откат: флаг «Дополнительно» не применяется к выходным слоям (стоковый диалог Processing их туда не убирает). Выходы снова в обычном порядке.

  • 2.18.2 - новый опциональный выход: таблица углов (азимут и расстояние) слоем-полигонами под разрезом, рисуется в окне вида.

  • 2.18.1 - угловые точки: подпись только X и Y (азимут и расстояние - поля для таблицы), треугольник вершиной вверх и меньше, полка симметричная, число отметок осей точнее совпадает с заданным.

  • 2.18.0 - угловые точки сверху и снизу (X, Y, расстояние, азимут, имя УГ-N, стиль треугольник/полка), горизонтальные оси с отметками высот, поля чертежа +5%, демо-линия ломаная.

  • 2.17.0 - «Разрез по линии» опционально выдаёт угловые точки и вертикали на узлах ломаной (номер узла, азимут отрезка).

  • 2.16.0 - растровые выходы создаются свёрнутыми в дереве (гриды не раздувают панель), на слой пишется история создания (версия, инструмент, дата).

  • 2.15.1 - многослойные инструменты складывают выходы в фиксированную группу дерева (повторный запуск добавляет в неё же); семейство разреза - в одну группу «Разрез».

  • 2.15.0 - линейка разреза на общем определении разреза (линия + vex, выдаёт 3.1): пересечение поверхностей с разрезом (3.4), проекция объектов (3.5), обратная проекция (3.6), развёртка стенки ствола (3.7). Разрез обрезает выклинивания, демо с выклиниванием пласта.

  • 2.14.1 - группа «Дополнительные инструменты анализа» (переименована), порядок в группе «Разрез»: разрез, скважины, состав, пример.

  • 2.14.0 - вертикальный масштаб разреза можно задавать отношением Г:В (ширина:высота), множитель считается автоматически; фактический множитель печатается в журнал. Во всех трёх инструментах разреза.

  • 2.13.2 - демо разреза стало выразительнее (падение, складка, клинья), демо-скважины прижаты к линии.

  • 2.13.1 - исправлено создание слоя скважин в демо для разреза.

  • 2.13.0 - новый инструмент Состав пласта на разрез (3.4): красит полосу пласта по гриду состава вдоль линии (непрерывное содержание градиентом, категориальный минтип фациальными зонами). Демо для разреза теперь выдаёт и гриды состава промышленных пластов.

  • 2.12.1 - демо для разреза расширено до шести поверхностей (пять пластов: три вмещающих и два промышленных).

  • 2.12.0 - новый инструмент Скважины на разрез (3.3): проецирует скважины на линию и рисует колонки интервалов пластов поверх чертежа. Генератор примера для разреза теперь выдаёт и скважины.

  • 2.11.1 - инструменты разреза вынесены в новую группу «Разрез»: «Разрез по линии» теперь 3.1, «Создать пример для разреза» 3.2.

  • 2.11.0 - новый инструмент Создать пример для разреза (1.8): готовит поверхности и линию для быстрой пробы разреза по линии.

  • 2.10.0 - новый инструмент Разрез по линии (2.6): по линии и набору поверхностей строит геологический разрез (пласты между кровлей и подошвой). Два выхода: чертёж расстояние×высота для макета и 3D-забор для 3D Map View.

  • 2.9.3 - список «Преобразование значения» (ln) в «2D Kriging» перенесён под поле Z, ближе и заметнее.

  • 2.9.2 - бергштрихи (стиль «со штрихами вниз»): исправлено направление в QGIS 4 (знак смещения линии там изменился относительно QGIS 3). В QGIS 3 без изменений.

  • 2.9.1 - демо-генерация K приведена к реалистичному диапазону (≈ 0.006…4 м/сут, подрезка хвоста), без единичных выбросов в сотни.

  • 2.9.0 - в 2D Kriging добавлено опциональное логарифмирование значения (ln/exp с дельта-методом для стандартной ошибки) - кригинг лог-нормальных K, T без ручного поля ln. Инструменты 2.3 и 2.4 поменяны местами, чтобы гидрогеология (градиент 2.4 и удельный расход 2.5) шла рядом. В генераторе примера - поля K и T.

  • 2.8.0 - новый инструмент Удельный расход (закон Дарси) (2.5): по растру напора и растрам K/T считает скорость фильтрации (м/сут) и расход через ширину (м²/сут). Гидрогеология теперь с проницаемостью.

  • 2.7.1 - в руководство добавлены иллюстрации «Карты вероятности превышения» (окно инструмента и пример карты).

  • 2.7.0 - новый инструмент Карта вероятности превышения (2.4): по растрам оценки и стандартной ошибки кригинга строит P(Z>порог) при нормальном локальном распределении. Отдельный постпроцессор, окно «2D Kriging» не меняет. Бортовые содержания, зоны риска по любому порогу.

  • 2.6.1 - группы инструментов пронумерованы («1. Грид и изолинии», «2. Дополнительные инструменты анализа») для одинакового порядка групп в русской и английской локалях; в руководство добавлены иллюстрации (окно «Кригинг с внешним дрейфом», дерево инструментов, сравнение обычного кригинга и кригинга по дрейфу).

  • 2.6.0 - новый инструмент Кригинг с внешним дрейфом (External Drift): регрессия-кригинг по внешнему растру, известному всюду (соседний пласт, грубая модель, сейсмический атрибут). Дрейф снимается регрессией, кригуются остатки, дрейф возвращается из растра. Степень 1 или 2; поиск, анизотропия, обрезка и стандартная ошибка - как у «2D Kriging». Демо-генератор умеет выдавать поверхность дрейфа (растр) и связанное поле dz для сквозной проверки. Инструменты перенумерованы составно по группам: «Грид и изолинии» 1.1-1.7, «Дополнительные инструменты анализа» 2.1-2.3 (прежняя сквозная 1-10 сортировалась как строки).

  • 2.5.0 - новый инструмент Гидравлический градиент и направление потока (гидрогеология): по растру напора строит модуль градиента |∇h|, азимут направления потока (вниз по градиенту) и точечный слой векторов потока для оформления стрелками автоматически. Геометрия поля напора без проницаемости, скорость по Дарси не считается. Опционально сглаживание напора перед расчётом. Демо-генератор скважин получил опцию поля напора (head) с региональным уклоном для сквозного учебного цикла.

  • 2.4.0 - в инструменте 2D Kriging появился блочный кригинг (галка Блочный кригинг и поле Дискретизация блока, N×N на ячейку, по умолчанию 4×4). Оценивается среднее по ячейке грида, а не значение в её центре: ячейка разбивается на N×N точек дискретизации, ковариации усредняются по блоку (схема GSLIB KB2D). Поверхность глаже, стандартная ошибка ниже точечной - для оценки запасов и содержаний по блоку. По умолчанию выключено: обычный точечный кригинг. Снятие тренда и блок работают вместе.

  • 2.3.0 - новый инструмент Категориальный индикаторный кригинг: по категориальному полю строит индикатор на каждый класс, кригует ядром KB2D и нормирует вероятности к сумме 1, на выходе многополосный растр вероятностей, карта зон и уверенность. Демо-генератор скважин получил опцию категориального поля минтипа для обучения.

  • 2.2.0 - в инструменте Изолинии из растра появился выбор Стиль изолиний с двумя встроенными пресетами (папка styles): структурный (по умолчанию) и депрессионный со штрихами вниз. Стиль накладывается на слой автоматически. Депрессионный стиль сам включает расчёт стороны склона: линии получают поле dn_sign сэмплированием исходного растра по обе стороны линии, и штрихи на главных изолиниях ложатся в сторону склона вниз. Отдельной галки нет.

  • 2.1.1 - тихие удобства. Выбранный профиль обработки запоминается между сессиями и подставляется при открытии 2D Kriging и Кросс-валидации. Параметры запуска сохраняются только при успешном завершении. В Журнал добавлены предупреждения о плохой кондиционности данных: мало точек, совпадающие координаты, одинаковые значения.

  • 2.1.0 - снятие тренда (регрессия-кригинг) в 2D Kriging и Кросс-валидации: галка «Снять полиномиальный тренд» и степень тренда (плоскость или квадратичная). Тренд снимается МНК перед кригингом, кригуются остатки, тренд возвращается к оценке; полезно для отметок пласта и мощностей с общим падением в пределах участка. В Вариограммной карте добавлено поле «Записать анизотропию в профиль»: азимут, коэффициент и радиус главной оси дописываются в выбранный профиль и при загрузке видны в подписи. Руководство и PDF (RU/EN) дополнены.

  • 2.0.0 - полное двуязычие плагина (RU/EN): язык интерфейса определяется по локали QGIS. Переведены диалоги, варианты списков, подсказки и панели справки, а также логи, предупреждения, исключения, HTML-отчёты, имена выходных слоёв и псевдонимы полей слоя остатков. Двуязычное руководство: doc/Isoliner.pdf (RU)

    • doc/Isoliner_en.pdf (EN); кнопка «Справка» открывает PDF по языку интерфейса. Движок переводов (словарный слой i18n) с тестами покрытия и импорта.
  • 1.9.1 - бикубическое сглаживание изолиний (сгущение грида ×2…×4 перед контурингом, по умолчанию выкл.) - гладкие линии без «октагонов», для линий и для полигонов; границы поясов совпадают с изолиниями. Полигонизация поясов переведена на прямые вызовы GEOS (надёжно на густой сети).

  • 1.9.0 - новый инструмент «Вариограммная карта (анизотропия)»: поверхность γ(h_x, h_y), эллипс анизотропии, оценка азимута/анизотропии/радиуса для кригинга. Если радиус упирается в макс. лаг (γ не вышла на полку) - предупреждение, что это нижняя оценка.

  • 1.8.3 - гауссова модель: принудительный минимальный наггет для устойчивости; совместимость с QGIS 4; устойчивые контурные полигоны в QGIS 4 (GEOS 3.14); уточнены формулировки руководства.

  • 1.8.2 - двуязычное описание плагина (английский и русский) в каталоге QGIS и английский README для международной аудитории.

  • 1.8.1 - в справку каждого инструмента добавлена ссылка на страницу плагина на сайте www.informpp.ru.

  • 1.8.0 - профили обработки: именованные наборы «вариограмма (Структура 1) + отсев», глобальное хранилище. «Вариограмма» и «Кросс-валидация» сохраняют профиль, «2D Kriging» подставляет (поле Загрузить профиль, заменило старую галку). Новый шестой инструмент Профили обработки (показать/сохранить/удалить/очистить). Структуры 2 и 3 вариограммы убраны (осталась одна с азимутом и анизотропией); порядок параметров единый - отсев ураганных проб в конце. Терминология: «изотропная» вместо «всенаправленная».

  • 1.7.4 - галка «Подставить последнюю рекомендованную модель» в 2D Kriging вынесена из «Дополнительно» в основные параметры (видна сразу). В руководство добавлена таблица всех параметров инструмента Вариограмма и описание полей выходной таблицы.

  • 1.7.3 - номер версии модуля показывается в трёх местах: в Журнале при запуске инструмента, в подвале HTML-отчётов и в конце встроенной справки. Читается из metadata.txt.

  • 1.7.2 - руководство дополнено разделом про инструмент Вариограмма (экспериментальная) и рабочий цикл с кросс-валидацией, PDF пересобран. Изменений в коде нет.

  • 1.7.1 - инструменты пронумерованы (1-5) для порядка в панели Processing. Вариограмма: предупреждения о радиусе у края окна (нет выхода на плато) и о слишком малом максимальном расстоянии, единицы у поля maxlag, минимум точек в группе (% от выборки с полом 30), относительный порог гауссовых «бычьих глаз». Кросс-валидация: точный приём правки MSDR (умножить наггет и вклады на MSDR). Перенос модели в 2D Kriging галкой «Подставить последнюю рекомендованную модель».

  • 1.7.0 - новый инструмент Вариограмма (экспериментальная): экспериментальная вариограмма по точкам с подбором модели (наггет, порог, радиус) на чистом numpy и HTML-отчётом. Поле группировки - сравнение совокупностей разной плотности (поверхностная и подземная разведка).

  • 1.6.0 - гауссово сглаживание поля перенесено из «Изолинии из растра» в 2D Kriging (опция «Сгладить грид (Гаусс)», по умолчанию выключена): изолинии строятся по видимому растру, без скрытого сужения диапазона уровней. Скругление линий (Chaikin) осталось в изолиниях. Руководство переработано: темы собраны в подразделы инструментов, автонумерация.

  • 1.5.0 - кросс-валидация: QQ-график ошибок, дисперсия данных в метриках, номера скважин в подсказках. Руководство дополнено схемами для новичков.

  • 1.4.0 - инструмент «Создать пример скважин (демо)». Вывод дисперсии данных в Журнал. Правки руководства.

  • 1.3.0 - кросс-валидация: HTML-отчёт с интерактивным графиком (plotly) и метриками.

  • 1.2.0 - кросс-валидация: кнопка справки, поле номера скважины в слое остатков, std_error -> std_resid.

  • 1.1.0 - инструмент «Кросс-валидация вариограммы» (leave-one-out) + раздел в руководстве.

  • 1.0.0 - первый стабильный релиз.

  • 0.6.1 - исправлено: слой изолиний мог не появляться из-за переупорядочивания слоёв (теперь переставляется только слой полигонов, безопасно).

  • 0.6.0 - руководство пользователя (PDF) в комплекте + кнопка «Справка». слой изолиний размещается над полигонами.

  • 0.5.3 - заметка в README про обновление/перезагрузку без перезапуска QGIS.

  • 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. Полигоны = пояса между изолиниями (без дыр и «ступенек»), диапазон пояса - выборкой растра.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages