Страница 1 из 1

Интерполяция с разрывами

Добавлено: 11 ноя 2014, 17:26
Variant
По горячим следам темы http://blogs.gis-lab.info/forum/viewtop ... =56&t=5771

Стало интересно, а есть ли в R пакеты, позволяющие реализовать интерполяцию с разрывами? Интерполяцию с автоматическим выявлением разрывов? Попробовал поискать - пусто, но может всё же что-то есть?

Re: Интерполяция с разрывами

Добавлено: 11 ноя 2014, 18:14
rhot
Посмотрите [tripack], ну и [RTriangle] конечно же.

Re: Интерполяция с разрывами

Добавлено: 11 ноя 2014, 18:35
gamm
Variant писал(а):Стало интересно, а есть ли в R пакеты, позволяющие реализовать интерполяцию с разрывами?
в готовом виде нет, но собрать можно, сделав constrained triangulation (чтобы границы разломов не пересекались ребрами треугольников), и немного пошаманив с весами (нужно вычислять веса точек в зависимости от их положения относительно разлома). Но на R все это делать крайне не комфортно, не для того он заточен
Интерполяцию с автоматическим выявлением разрывов?
а это вообще непонятно что. Если я правильно понял, что имелось в виду, то нужно делать интерполяцию с весами, веса считать дистанционным преобразованием с трением, а трение брать пропорциональным оценке градиента. Работать будет долго, но примерно так во всяких петрелях и прочих роксарах пытаются делать кригинг.

P.S. такие методы - не статистика, их нужно искать в районе 3D моделирования, там их есть :-)

Re: Интерполяция с разрывами

Добавлено: 19 ноя 2014, 21:38
Variant
Спасибо, буду разбираться. Хотя мне не известно ни одной свободной программы, позволяющей решать данную задачу, почему-то был почти уверен, что уж для R что-то должно быть. Понятно, что он - вовсе не пакет геомоделирования и для подобных задач не заточен, но поскольку полноценных систем геомоделирования в мире свободных программ пока не предвидится, приходится выбирать из того что есть. Тем более, если полного моделирования и не нужно, а интересна конкретно данная задача. R, как мне показалось, тут первейший кандидат. Или есть какие-то более удобные способы?

Re: Интерполяция с разрывами

Добавлено: 19 ноя 2014, 21:47
gamm
Variant писал(а):Или есть какие-то более удобные способы?
есть, но они стоят до миллиона зеленых (типа Landmark, Petrel, ...), поскольку это в основном задачи геологического моделирования. А это дорого.

Re: Интерполяция с разрывами

Добавлено: 20 ноя 2014, 16:47
Variant
Насчёт коммерческих продуктов всё понятно, у них рекламные отделы как правило хорошо работают. Для данной задачи, кстати, Petrel не очень-то эффективен по цене-качеству, это будет как на золотой карете за картошкой ехать, тут скорее будут интереснее DV-Geo или Isoline GIS. Но это всё проприетарщина, да ещё и платная. А вот со свободными продуктами всё не так ясно. Они очень сильно отличаются по функциональности и удобству использования, их функциональность частично пресекается, а какие-то продукты удобнее использовать совместно. При этом, несмотря на то, что все они открытые, каких-то классификаторов или обзоров, какую задачу чем удобнее решать, мне не попадалось, возможно их и нет. А всё и во всех комбинациях не перепробуешь. В данном случае вот хочется понять, является ли использование R наиболее эффективным способом решения конкретной задачи, или есть какие-то альтернативы, возможно более технологичные, на основе других свободных программ?

Re: Интерполяция с разрывами

Добавлено: 20 ноя 2014, 16:55
lam
Я думаю, для решения вашей задачи, самым оптимальным вариантом, цена-качество, будет Surfer.

Re: Интерполяция с разрывами

Добавлено: 20 ноя 2014, 19:54
gamm
Variant писал(а):А вот со свободными продуктами всё не так ясно.
все ровно наоборот, поскольку здесь используемые алгоритмы известны, в отличие от. И не нужно путать функционал (алгоритмы) и "удобство использования", для решения реальных задач второе не очень неважно при наличии первого. Базовых алгоритмов не так много, оценки памяти/времени для них тоже известны, что-то новое (типа MBA) появляется редко.

R для интерполяции вообще не заточен, если среди 6000 пакетов что-то и найдется, то это будет не R , а интерфейс к какому-то существующему пакету. Большинство методов интерполяции (типа кригинга) либо не предполагают нарушений, либо используют локальную окрестность и просто считают расстояния с учетом нарушений, в последнем случае получаются разрывы при движении локального окна и смене множества точек, по которым строилась локальная модель (что приводит геологов в бешенство).

теоретически, при современных мощностях, можно посчитать все расстояния, используя дистанционное преобразование с учетом сопротивления (разрывов и их "проницаемости"), а потом использовать обычную глобальную интерполяцию, будет долго, но гладко. Опять же, это бродилки по структуре пространственных данных (fast marching), а не статистика.

поэтому искать нужно в машинной геометрии, где эту задачу давно решили с использование патчей, сплайнов Безье, и т.д. Тут нет никакой статистики. Если нужно что-то сделать на основе свободных продуктов, то можно взять какой-нибудь построитель constrained triangulation (вписать линии нарушений), и поверх использовать метод типа Renka, при этом модифицируя уравнения для ребер, на которых нет непрерывности производной, и дублируя ребра, на которых нет непрерывности функции. Должно получиться.

Re: Интерполяция с разрывами

Добавлено: 20 ноя 2014, 20:10
paleogis
gamm писал(а):Variant писал(а):
А вот со свободными продуктами всё не так ясно.
Попробуйте ГИС Saga

Re: Интерполяция с разрывами

Добавлено: 20 ноя 2014, 20:59
gamm
paleogis писал(а):Попробуйте ГИС Saga
в каком месте у нее интерполяция с нарушениями непрерывности?